Halo 2.4.2 - 1.20.1 forge (Adapter 2)
Curse Maven Snippet
What's new
Full Changelog: Here
- Fixed world create/load crashes when Yes Steve Model is installed. Halo's YSM capture used
@ModifyArgs, which generates Mixin syntheticorg.spongepowered.asm.synthetic.args.Args$1; Forge 1.20.1ModuleClassLoaderoften cannot resolve that class while YSM's resource reload constructs renderer subclasses, aborting datapack load withNoClassDefFoundError. - Replaced
@ModifyArgswith@Redirecton the same base-model call site. The hook still receives the animated model and preparedPoseStack(including body/head yaw), then invokes the original interface default render method through a MethodHandle so rendering is unchanged and no Args synthetics are generated. - Kept the change inside
compat/ysmonly. EMF/Iris compatibility, HaloCore pin1d3cf90(2.4.2), definition schema, saves, networking, and public API v2 are unchanged. Minecraft 1.20.1 Forge players still install a single Halo JAR. - Note that modpacks shipping an older
halo_mod_config.jsonwithexperimentalYsmAnchorEnabled=falsedisable precise YSM head anchors by design; set the flag totruefor experimental YSM tracking. - Automated tests passed on this platform. The user retested with YSM in a full pack: creating a new world, entering an existing world, and YSM player/entity head yaw/pitch halo anchors all behaved correctly.
- 修复安装 Yes Steve Model 时创建/读取世界崩溃。Halo 的 YSM 捕获原先使用
@ModifyArgs,会生成 Mixin 合成类org.spongepowered.asm.synthetic.args.Args$1;Forge 1.20.1 的ModuleClassLoader在 YSM 资源重载构造渲染器子类时经常无法解析该类,导致数据包加载以NoClassDefFoundError中止。 - 在同一基模型调用点改为
@Redirect。钩子仍取得动画模型与已就绪的PoseStack(含身体/头部 yaw),再经 MethodHandle 调用原接口默认渲染方法,渲染行为不变,且不再生成 Args 合成类。 - 改动仅限
compat/ysm。EMF/Iris 兼容、HaloCore 指针1d3cf90(2.4.2)、定义 schema、存档、网络及公开 API v2 均不变。Minecraft 1.20.1 Forge 玩家仍只需安装一个 Halo JAR。 - 若整合包夹带旧版
halo_mod_config.json且experimentalYsmAnchorEnabled=false,按设计会关闭 YSM 精确头部锚点;需要实验性 YSM 追踪时请将该配置设为true。 - 本平台自动测试全部通过。用户在含 YSM 的整合包中复测:创建新世界、进入旧世界、YSM 玩家与实体头部 yaw/pitch 光环锚点均正常。
This mod has no additional files

