CarryOnFix

CarryOnFix

你的 Minecraft 1.21.1 NeoForge 服务器每次玩家使用 Carry On 拾取实体或方块时都会崩溃。

崩溃现象: 您的 Minecraft 1.21.1 NeoForge 服务器在玩家使用 Carry On 搬运实体或方块时发生崩溃。根本原因是 StringTagVisitor.visitCompound() 内部抛出了 NullPointerException:Minecraft 尝试对搬运物品的 NBT 键进行排序,但其中一个键为 null,导致 Java 的 TimSort 排序失败。

修复方案: 我们制作了一个名为 CarryOnFix 的独立 NeoForge 小模组,通过 Mixin 拦截 Collections.sort() 调用,移除列表中的 null 条目后正常进行排序。修改逻辑仅两行。

模组特性:

  • 仅需服务端安装 — 客户端无需安装,只需将 jar 放入服务器的 mods/ 文件夹即可
  • 无额外依赖
  • 兼容 NeoForge 21.1.228 / Minecraft 1.21.1

开发过程中的注意事项:

  • IExtensionPoint 和 NetworkRegistry 在 NeoForge 21.1 中已不存在,导致编译错误 — 我们完全移除了它们,因为在现代 NeoForge 中,只需在 neoforge.mods.toml 中添加 displayTest = "IGNORE_ALL_VERSION" 即可声明为仅服务端模组。