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

无编辑摘要
无编辑摘要
要实现一个新维度,在代码层面,通常分为三个步骤:注册该维度、写出该维度的WorldProvider、写出该维度的BiomeProvider、写出该维度的ChunkGenerator。
 
== 注册维度 ==
 
回到正题上来:在你自己的WorldProvider类中,你也可以自定义很多数据,如“该维度是否为露天世界”“该维度的虚空迷雾的颜色”等等,只需覆写若干方法即可。但要注意:你在你的WorldProvider类中提供的这些数据仅仅是给MC原版的一些机制或者其他模组传递了一些信息而已,它并不会体现在具体的世界生成中。比如笔者把主世界的“是否为露天世界”从true改为false,难道主世界顶部就会自动生成遮天蔽日的方块?MC可没这么智能。实际上这些数据仅仅是你手动暴露给MC原版的一些机制和其他模组的、关于你的新维度的一些信息而已。比如小地图模组可能会根据这一参数来决定生成的小地图的每一个像素点到底要不要取该像素点对应的(x, z)坐标的最高非空气方块的颜色。如果你填的这一参数和实际的世界生成情况不符,那小地图就会出错,就这么简单。新维度的绝大部分的世界生成特性都只体现在你的ChunkGenerator类中。
 
另外,“新维度应该有哪些生物群系”也是在WorldProvider中规定的。你的新维度的WorldProvider类应该从WorldProvider类继承了一个类型为<code>net.minecraft.world.biome.BiomeProvider</code>的变量:<code>biomeProvider</code>。有关该变量的处理会在下一节讲到。
 
== BiomeProvider ==
 
== ChunkGenerator ==
行政员、​优秀编辑者、​界面管理员、​监督员、​管理员、​小部件编辑者
3,258

个编辑