LateMixinOrchestrationMixin
基本信息
| 属性 | 值 |
|---|---|
| 全名 | com.gtnewhorizon.gtnhmixins.mixins.LateMixinOrchestrationMixin |
| 文件 | module-gtnhmixins/src/main/java/…/mixins/LateMixinOrchestrationMixin.java |
| 行数 | 125 |
| 目标 | LoadController |
| 所属配置 | mixins.gtnhmixins.json |
| 启用版本 | Minecraft 1.7.10 |
注入点
@Mixin(value = LoadController.class, remap = false)
public class LateMixinOrchestrationMixin {
@Inject(method = "distributeStateMessage(Lcpw/mods/fml/common/LoaderState;[Ljava/lang/Object;)V",
at = @At(value = "HEAD"))
| 项 | 值 |
|---|---|
| 目标类 | LoadController |
remap |
false |
| 注入方法 | distributeStateMessage |
| 描述符 | (Lcpw/mods/fml/common/LoaderState;[Ljava/lang/Object;)V |
at |
HEAD |
功能
晚期(Late)mixin 的编排。在 FML 每次分发加载状态消息时,
扫描并调用所有带 @LateMixin 注解且实现 ILateMixinLoader 的类。
⚠️ required: true 但无 plugin 兜底
所属配置 mixins.gtnhmixins.json 的 required 为 true,
且没有 plugin 字段 —— 即没有 shouldApplyMixin 钩子。
但这不构成「缺第三方 mod 则启动即崩」的缺陷:
目标类 LoadController 是 module-mixinbooterlegacy
自带的 MixinBooter 内部类,不是外部 mod 的类,
由本仓自己提供。
⚠️ 真正的风险点在于两个配置争抢同一注入点:
本 mixin 与 LoadControllerMixin
都注入 distributeStateMessage 的 HEAD。
若两者同时生效且 distributeStateMessage 签名在某个 MixinBooter 版本中变化,
会因 required: true 直接中止启动。
minVersion 要求最严
mixins.gtnhmixins.json 要求 0.8.3-GTNH ——
是本仓 4 个配置中唯一要求 GTNH 特制 Mixin 版本的一个
(其余为 0.8 / 0.8.3 / 0.6)。
用非 GTNH 版 Mixin 会因版本不满足而拒绝加载本 mixin。
相关条目
- mixin 配置对照 - 4 个配置的
required/minVersion对照 - module-gtnhmixins - 所属模块
- LoadControllerMixin - 同一目标的另一 mixin
- GTNHMixinsConfig - 本模块配置