3,258
个编辑
MCBBS Wiki欢迎您共同参与编辑!在参与编辑之前请先阅读Wiki方针。
如果在编辑的过程中遇到了什么问题,可以去讨论板提问。
为了您能够无阻碍地参与编辑 未验证/绑定过邮箱的用户,请尽快绑定/验证。
MCBBS Wiki GitHub群组已上线!
您可以在回声洞中发表吐槽!
服务器状态监控。点击进入
本站由MCBBS用户自行搭建,与MCBBS及东银河系漫游指南(北京)科技有限公司没有从属关系。点此了解 MCBBS Wiki 不是什么>>
==== 实现populate方法 ====
在原版的主世界区块生成类中,Forge在这里patch了三个事件。
* PopulateChunkEvent.Pre
* PopulateChunkEvent.Populate
* PopulateChunkEvent.Post
实现该方法大致的流程是:
* 令BlockFalling.fallInstantly的值为true
* 执行PopulateChunkEvent.Pre事件
* 生成除了洞穴和峡谷以外的大型结构,之后反复判断PopulateChunkEvent.Populate事件,这用来决定那些由WorldGenerator控制的结构是否生成,且这段时间还会调用Biome类的decorate实例方法
* 执行PopulateChunkEvent.Post事件
* 令BlockFalling.fallInstantly的值为false
由此可见,在主世界的区块生成过程中,只有通过WorldGenerator生成的结构的生成过程才可以通过监听事件来精确地干涉。在你自己的区块生成类中,你实现这个方法的时候,你可以不发布任何事件,但如果你要考虑你的模组和其他干涉世界生成的模组的交互的话,那么你最好还是把这些事件的发布都给加上。
== 注释与外部链接 ==
|