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

很容易想到的思路是:先判断该坐标所处的生物群系,再调用生物群系的允许生成生物的列表,不就可以了?因此,可以直接<code>return this.world.getBiome(pos).getSpawnableList(creatureType);</code>。当然,因为这个方法传入了一个BlockPos类型的参数,你可以就此整点花活——针对这个传入的pos参数做一些判断,也是可以的。
 
不过,也有的模组选择在这里返回一个类似于空列表的东西。比如交错次元中ChunkGeneratorBetweenlands源代码中,这个方法直接返回了<code>com.google.common.collect.ImmutableList.of()</code>。旁边还有一行注释,大意是“维度中生成生物的机制由另一个类专门负责”。如果在你的设计中,你的新维度生成生物的机制并不是很特殊,那么请你不要这么做,因为这样会使你的模组和其他模组的兼容性变差。
 
==== BlockPos getNearestStructurePos(World worldIn, String structureName, BlockPos position, boolean findUnexplored) ====
行政员、​优秀编辑者、​界面管理员、​监督员、​管理员、​小部件编辑者
3,258

个编辑