介绍
Chocolate
原版已经很好了——但巧克力更棒。;)
这个模组用于修复原版漏洞——主要是与自定义世界生成有关的漏洞——这些问题在模组环境中的影响要大得多。
修复内容
MC-202036:添加或移除生物群系时,生物群系 ID 可能会发生错乱
在原版中,添加或移除生物群系数据包可能会导致现有世界中的生物群系 ID 发生错乱。这在模组环境中的影响要大得多,因为添加或移除生物群系模组,甚至将某些生物群系列入黑名单,都可能导致现有世界中的生物群系发生错乱;即使某个模组改变了其生物群系注册顺序,也可能导致同样的问题。
Chocolate 会在保存区块时为每个区块添加一份生物群系调色板,从而修复这个问题。这意味着,只要某个生物群系仍然存在,在本模组启用期间保存的区块就永远不会发生生物群系错乱。如果某个生物群系从世界中被移除,Chocolate 也会检测到这一点,并根据该位置的原版世界生成规则重新生成生物群系,而不是像原版那样根据之前的 ID 为其分配一个随机生物群系。
更新日期 2021-01-28: Forge 曾在 34.1.42 中尝试修复这个问题,但没有成功。几周后,他们在 36.0.2 中成功修复*了这个问题(根据我自己的测试)。他们的修复与 Chocolate 的修复并不冲突;顺带一提,Chocolate 还修复了 MC-197616(Forge 并未修复该问题)。不过,如果你是因为生物群系 ID 错乱来到这里,我建议你直接更新 Forge。
* 根据我的测试,这个问题似乎仍然存在一些可复现的情况,不过它们只会出现在仅由数据包添加的生物群系中, 但到目前为止我发现的所有复现情况都被 MC-197616(见下文)掩盖了。也就是说,除非你遇到下面提到的问题,否则你永远不会看到生物群系 ID 错乱。
MC-197616:使用“单一生物群系”世界预设的数据包生物群系会导致日志大量刷屏,并产生无效的客户端生物群系。
这与上面提到的问题有关:使用“单一生物群系”世界类型时,世界中的生物群系并不存在于运行时生物群系注册表中。在这种情况下,Chocolate 能够修复生物群系在网络传输过程中的序列化问题,从而避免客户端尝试反序列化无效生物群系时出现上述不良影响。
Chocolate 之前还修复了 MC-197860,但该修复已于 35.1.32 版本被加入 Forge,因此 Chocolate 现在不再额外修复这个问题。
这个模组的名称是对“Vanilla Fix”模组的致敬,因为“Chocolate”这个名称已经被占用了。
评论
登录后评论和评分