Goety Owned Null Guard Fix
适用于 Forge 1.20.1 的轻量补丁,修复 Goety 召唤物受伤时因“Ticking entity”空指针异常导致的崩溃。
介绍
# Goety Owned 空值保护修复
一个小巧(约 3KB)的 Forge 1.20.1 补丁,用于修复 Goety 召唤物导致的反复崩溃。
## 问题
Goety 的 Inferno 或 ZombieServant 等召唤物受到伤害时,游戏可能会
因“Ticking entity” NullPointerException 崩溃。这种情况最常见于
下界、附近有多个同类型召唤物,或召唤物没有拥有者时。崩溃堆栈
始终指向 Owned.java:186 -> Entity.java:2236。
## 根本原因
Goety 的 Owned.isAlliedTo(Entity) 会将空值实体传递给原版的
Entity.isAlliedTo。伤害复仇目标 AI 在向附近的同类型生物传播伤害时,会传入已清空的 lastHurtByMob()
值,而原版 1.20.1
没有检查空值,就直接解引用参数(p.getTeam())-> 引发 NPE。
## 修复方案
一个 mixin 在 Owned.isAlliedTo 的入口处注入了空值检查:如果参数
为空就返回 false(空值实体不可能是盟友)。不影响游戏平衡,
也不会改变 AI 行为——这只是纯粹的空值安全修复。
## 兼容性
– 需要 Forge 1.20.1(47.x)和 Goety 2.5.56 或更高版本。
– 可与 RevelationFix、Goety: Revelation 及所有 Goety 附属模组一同使用。
– 客户端和服务器端都需要安装。对于集成服务器,
主机必须安装该模组。
– 仅包含 mixin;不包含 Goety 代码。采用 MIT 许可证。删除
jar 文件即可卸载。
感谢 Polarice3 制作 Goety(https://github.com/Polarice3/Goety-2)。
常见问题
Goety Owned Null Guard Fix 支持哪些 Minecraft 版本?
Goety Owned Null Guard Fix 支持 Minecraft Java 版 1.20.1–1.21.1,共 2 个版本,可用的加载器:Forge / NeoForge。下载时注意选择和你游戏版本一致的文件。
Goety Owned Null Guard Fix 怎么安装?
先用 PCL2 或 HMCL 启动器安装对应版本的 Forge / NeoForge,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。
评论
登录后评论和评分