跳到正文

Goety Owned Null Guard Fix

适用于 Forge 1.20.1 的轻量补丁,修复 Goety 召唤物受伤时因“Ticking entity”空指针异常导致的崩溃。

收藏

介绍

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

# 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/版本名 下面。

评论

登录后评论和评分