跳到正文

Chocolate Fix

修复原版漏洞——主要是与自定义世界生成相关的问题,这些问题对模组环境的影响更大。

收藏

介绍

介绍由机器翻译自 CurseForge 原页面,仅供参考。

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”这个名称已经被占用了。

 

评论

登录后评论和评分

alcatrazEscapee 的其他作品

查看全部 →