mixin 配置对照
基本信息
| 属性 | 值 |
|---|---|
| 配置文件数 | 4(含 3 个 refmap) |
@Mixin 类数 |
5(分布 3 个模块) |
| 启用版本 | Minecraft 1.7.10 |
4 个配置的逐项对照(全部实测)
| 项 | mixin.mixinbooterlegacy.json |
mixins.gtnhmixins.json |
mixingasm.mixin.json |
mixins.gasstation.json |
|---|---|---|---|---|
| 所属 | module-mixinbooterlegacy | module-gtnhmixins | module-mixingasm | module-gasstation |
package |
io.github.tox1cozz.mixinbooterlegacy.loader.mixin |
com.gtnewhorizon.gtnhmixins.mixins |
makamys.mixingasm.mixin |
com.falsepattern.gasstation.mixins.mixin |
required |
true |
true |
true |
true |
minVersion |
0.8 |
0.8.3-GTNH |
0.6 |
0.8.3 |
refmap |
mixin.mixinbooterlegacy.refmap.json |
mixins.gtnhmixins.refmap.json |
无 | mixins.gasstation.refmap.json |
plugin |
无 | 无 | makamys.mixingasm.MixinConfigPlugin |
com.falsepattern.gasstation.mixins.DevMixinPlugin |
mixins 条目 |
1:LoadControllerMixin |
1:LateMixinOrchestrationMixin |
无(空) | [](空) |
compatibilityLevel |
无 | 无 | 无 | JAVA_8 |
target |
无 | 无 | 无 | @env(PREINIT) |
| 是否列入 manifest | 否 | 是 | 是 | 是 |
⚠️ required: true 的启动崩溃风险
4 个配置全部是 required: true。 这是本会话特别要求核对的字段。
Mixin 语义:required: true 表示若任一列出的 mixin 应用失败,
Mixin 会直接抛错中止启动,而不是降级跳过。
逐条核对每个 mixins 条目的目标类:
| 配置 | mixin | 目标类 | 目标来源 | 有无 plugin 兜底 |
|---|---|---|---|---|
mixin.mixinbooterlegacy.json |
LoadControllerMixin |
LoadController(remap = false) |
MixinBooter(本仓提供) | 无 |
mixins.gtnhmixins.json |
LateMixinOrchestrationMixin |
LoadController(remap = false) |
MixinBooter(本仓提供) | 无 |
mixingasm.mixin.json |
— | — | — | 有 MixinConfigPlugin |
mixins.gasstation.json |
— | — | — | 有 DevMixinPlugin |
裁定:前两个配置虽 required: true 且没有 plugin 兜底,
但它们的 mixin 目标 LoadController 由本仓自己提供
(module-mixinbooterlegacy 与
module-gtnhmixins 都含 LoadController)。
⚠️ 因此这不属于「目标属第三方 mod 而缺该 mod 就启动即崩」那类缺陷 ——
LoadController 是 UniMixins 自带的 mixin loader 内部类,不是外部 mod 的类。
⚠️ 但 mixin.mixinbooterlegacy.json 未列入本模块 manifest 的
MixinConfigs(见 module-mixinbooterlegacy),
其激活路径与另两个不同,不能一概而论。
LoadController 被 3 个模块各混 1 次
| 模块 | mixin 类 |
|---|---|
| module-mixinbooterlegacy | LoadControllerMixin |
| module-gtnhmixins | LateMixinOrchestrationMixin |
| module-gasstation | mixins/mixin/LoadControllerMixin |
⚠️ 其中 module-gasstation 的那个因
mixins 数组为空而不被应用(详见该条目)。
但 module-all 的 MixinConfigs 同时列了
mixins.gtnhmixins.json(且重复一次)与 mixins.gasstation.json,
在聚合场景下 LoadController 会同时被 gtnhmixins 的 mixin 与
(若 gasstation 配置被外部覆盖)gasstation 的 mixin 命中。
4 个 mixin 的目标
| 类 | 目标 | remap |
|---|---|---|
| LoadControllerMixin(mixinbooterlegacy) | LoadController |
false |
| LateMixinOrchestrationMixin(gtnhmixins) | LoadController |
false |
module-gasstation 的 LoadControllerMixin |
LoadController |
false |
dev/ModDiscovererMixin |
ModDiscoverer |
见源码 |
dev/LoaderMixin |
Loader |
见源码 |
无(LegacyGTNHMixinExtrasGenerator 不是 mixin) |
— | — |
⚠️ 面向 LoadController 的 3 个全部 remap = false ——
因为目标是 mixin loader 自己的类,不参与 Minecraft 混淆名映射。
若误设为 true,会去找不存在的混淆名而失败。
⚠️ 另 2 个(module-gasstation 的 dev/ModDiscovererMixin、
dev/LoaderMixin)在本仓配置中未被任何 json 引用。
⚠️ 本仓只有 5 个 @Mixin 类(3 个模块)。
LegacyGTNHMixinExtrasGenerator 虽被 grep @Mixin 命中,
但那是 @MixinSafeTransformer 的子串 —— 它实际是
implements IClassTransformer 的 transformer,
见 LegacyGTNHMixinExtrasGenerator。
命名不一致
⚠️ refmap / 配置文件的命名前缀不统一:
3 个用 mixins.<模块>.(复数),唯独 mixinbooterlegacy 用
mixin.mixinbooterlegacy.(单数)。按统一前缀 glob 查找会漏掉它。
相关条目
- 模块总览 - 10 模块对照
- module-mixinbooterlegacy - 单数
mixin.前缀 - module-gtnhmixins - 最严的
minVersion - module-gasstation - 空
mixins数组 - module-mixingasm - 唯一的
minVersion: 0.6