User Tools

Site Tools


zh_cn:tutorial:custom_portals

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
zh_cn:tutorial:custom_portals [2023/12/12 00:49] – created flanwuuuzh_cn:tutorial:custom_portals [2023/12/12 03:01] (current) – [创建一个自定义传送门用于访问你的新维度] flanwuuu
Line 1: Line 1:
-===== 创建一个自定义传送门用于访问你的新维度 =====+====== 创建一个自定义传送门用于访问你的新维度 ======
 至此,你已经创建了一个新的维度,并为这个维度添加了群系、动物和一些看起来很棒的功能。 至此,你已经创建了一个新的维度,并为这个维度添加了群系、动物和一些看起来很棒的功能。
  
 那生存玩家怎么访问这个新的维度呢?没错,创建一个传送门! 那生存玩家怎么访问这个新的维度呢?没错,创建一个传送门!
  
-==== 准备工作 === +==== 准备工作 ==== 
-Kyrptonaught 是一个非常有用的库,mod 开发者可以轻松的使用它来创建自定义传送门,作为连接新维度和主世界或其他的维度的桥梁。想了解这个库的更多信息,[[https://github.com/kyrptonaught/customportalapi|Kyrptonaught 的 github 主页]]+Kyrptonaught 是一个非常有用的库,mod 开发者可以轻松的使用它来创建自定义传送门,作为连接新维度和主世界或其他的维度的桥梁。想了解这个库的更多信息,[[https://github.com/kyrptonaught/customportalapi|查看 Kyrptonaught 的 github 主页]] 
 + 
 +首先,在项目的 ''build.gradle'' 文件中添加 Kyrptonaught 的仓库。 
 + 
 +<code java> 
 +maven {  
 +    url = "https://maven.kyrptonaught.dev" 
 +
 +</code> 
 + 
 +之后在 dependencies 依赖项中添加下面代码。 
 +<code java> 
 +modImplementation 'net.kyrptonaught:customportalapi:<version>' 
 +include 'net.kyrptonaught:customportalapi:<version>' 
 +</code> 
 +** 注意: ** Kyrptonaught 库可以正常运行的版本有1.16、1.18和1.19。你需要为你的mod选择合适的库版本。 
 +(译者注:截止2023年12月12日,Kyrptonaught 库已经有1.20.2版本发布。) 
 +==== 注册传送门 ==== 
 +** 注意: ** 这里的代码使用的是该文档创建编写时的语法,与较新版本可能有些许差别,但基本的函数功能是一致的。请在Kyrptonaught 库的github页面查看最新的代码示例。 
 + 
 +我们使用 Kyrptonaught 库来创建一个可以用打火石激活的使用金块搭建的传送门。这个传送门的大小和普通传送门一样,可以达到23×23的最大规模。我们使用上面库提供的 CustomPortalApi 来创建该传送门,将下面代码添加到 ModInitializer((不是服务端也不是客户端)) 中。 
 +<code java>  
 +
 +  
 +CustomPortalBuilder.beginPortal()   
 +        .frameBlock(Blocks.GOLD_BLOCK)   
 +      //.lightWithItem(Items.ENDER_EYE)  //译者查阅相关github代码发现,此处传送门使用末影眼进行激活。将改行代码注释后使用打火石正常激活 
 +      //.lightWithFluid(Fluids.WATER) 
 +        .destDimID(new Identifier("my_mod_id", "my_dimension_id"))   
 +        .tintColor(234, 183, 8)   
 +        .registerPortal(); 
 +</code> 
 + 
 +我们已经创建了如下传送门(该传送门可以在任何指定的维度工作!) 
 + 
 +[["传送门图片"|{{https://raw.githubusercontent.com/kyrptonaught/customportalapi/main/images/2020-11-15_17.07.38.png}}]] 
 + 
 +现在的传送门只能使用打火石进行激活。如果我们想创建一个使用末影之眼激活的传送门该怎么办?非常容易!只需要修改 lightWithItem 方法即可(译者注:通过查阅git文档,原英文档有明显笔误,正确描述为创建一个下界合金块框架的传送门,对着传送门使用末影之眼即可以激活前往末地)。 
 +<code java> 
 +CustomPortalBuilder.beginPortal()   
 +        .frameBlock(Blocks.NETHERITE_BLOCK)   
 +        .lightWithItem(Items.ENDER_EYE)   
 +        .destDimID(new Identifier("the_end"))   
 +        .tintColor(45,65,101)   
 +        .registerPortal(); 
 +</code> 
 +运行代码,我们现在拥有了一个看起来很棒的下界合金传送门。它使用下界合金块搭建,并使用末影之眼激活。 
 + 
 +[["下界传送门图片"|{{https://raw.githubusercontent.com/kyrptonaught/customportalapi/main/images/2020-11-15_17.06.44.png}}]] 
 +==== 附加功能 ==== 
 +该传送门 API 支持自定义传送门方块(译者注:该传送门方块应该为框架内部的粒子效果部分,而不是传送门框架),mod开发者可以创建自己的传送门纹理。目前它不支持创建水平方向的传送门框架,在将来可以会得到支持。 
 + 
 +该 API 还支持通过触发事件调用代码激活传送门,而不是玩家激活。[[https://github.com/kyrptonaught/customportalapi|更多信息请点击这里]]
zh_cn/tutorial/custom_portals.1702342179.txt.gz · Last modified: 2023/12/12 00:49 by flanwuuu