用户:MashKJo/1.12.2模组开发笔记/实现新维度:修订间差异

 
 
由此可见,在主世界的区块生成过程中,只有通过WorldGenerator生成的结构的生成过程才可以通过监听事件来精确地干涉。在你自己的区块生成类中,你实现这个方法的时候,你可以不发布任何事件,但如果你要考虑你的模组和其他干涉世界生成的模组的交互的话,那么你最好还是把这些事件的发布都给加上。
 
=== 等等:我要做的维度的世界生成特性和主世界完全不一样啊! ===
的确,上述笔记仅仅是简单地说了一下如何生成一个类似于主世界的维度。
 
不过读者也该学会变通,比如如果你要创建一个全是空岛的维度,那么你就该去参考天境模组中的天境维度或深渊国度模组中的奥穆索维度的ChunkGenerator代码。
 
如果你要创建一个整个世界都是无边无际的建筑的维度(这种维度最常见的例子就是魔法金属模组中的亡灵古墓),那么你可以考虑先把每一种房间都硬编码出来,再通过一定的算法计算出这些房间各自的生成权重,最后把这些东西体现在generateChunk中即可。
 
如果你要创建一个整个世界只有一个建筑、其他地方全是虚空的维度(这种维度最常见的例子是虚无世界模组中的远古神殿),那么你可以考虑直接硬编码,也可以利用WorldGenerator在populate方法中生成该建筑。
 
如果……
 
总而言之,读者应该尽量变通。如果读者明明用手写代码的方式开发模组,却在遇到世界生成这种非常复杂的部分时,总期望着有一招能吃遍天下鲜,那我的评价是:不如去用MCreator。手写代码真是难为你了。
 
== 注释与外部链接 ==
行政员、​优秀编辑者、​界面管理员、​监督员、​管理员、​小部件编辑者
3,258

个编辑