3,258
个编辑
MCBBS Wiki欢迎您共同参与编辑!在参与编辑之前请先阅读Wiki方针。
如果在编辑的过程中遇到了什么问题,可以去讨论板提问。
为了您能够无阻碍地参与编辑 未验证/绑定过邮箱的用户,请尽快绑定/验证。
MCBBS Wiki GitHub群组已上线!
您可以在回声洞中发表吐槽!
服务器状态监控。点击进入
本站由MCBBS用户自行搭建,与MCBBS及东银河系漫游指南(北京)科技有限公司没有从属关系。点此了解 MCBBS Wiki 不是什么>>
==== boolean generateStructures(Chunk chunkIn, int x, int z) ====
这是个第一眼看上去意义不明的方法——“生成结构”?还是个返回值为boolean类型的方法。
很多模组添加的新维度的区块生成类中,一般都直接一个return false了事;在MC原版的主世界区块生成类中,它写的也很让人看不懂——先是定义了一个类型为boolean的flag局部变量(值为false),然后再通过判断海洋神殿是否生成来决定flag的值,最后返回flag。而且它的判断逻辑甚至还有“区块的加载时间”参与其中,实际上这个方法纯粹用于暴露一些数据给其他方法调用,而不是真的用于决定“是否生成结构”。它在其他地方的引用只有Chunk类中有,逻辑大概是检测这个方法的返回值,如果为true,就调用区块的markDirty方法——这个方法的作用为让MC对该区块的更新保持关注,写过Ticking TileEntity的开发者应该知道“markDirty”是什么意思。
听不懂?没事,其实笔者也不太懂这里面的运作机制。因此你可以就模仿一些模组的源代码,一个return false了事。
==== List<Biome.SpawnListEntry> getPossibleCreatures(EnumCreatureType creatureType, BlockPos pos) ====
|