module-gtnhmixins
基本信息
| 属性 | 值 |
|---|---|
| modid | gtnhmixins |
| Java 文件 | 12 |
| 加载插件 | com.gtnewhorizon.gtnhmixins.core.GTNHMixinsCore |
| mixin 配置 | mixins.gtnhmixins.json |
| 产出 | …-gtnhmixins-1.7.10.jar |
| 启用版本 | Minecraft 1.7.10 |
功能
GTNH 的 Mixin 加载器。mcmod.info 自述
UniMixins module that provides GTNHMixins extras and MixinExtras with the GTNH package name.\nDepends on: SpongeMixins。
关键常量(GTNHMixins.java)
public static final String NAME = "GTNHMixins";
public static final String MODID = "gtnhmixins";
public static final String VERSION = "GRADLETOKEN_VERSION";
⚠️ VERSION = "GRADLETOKEN_VERSION" 是构建期占位符,
且与 @Mod 注解里的 version = GTNHMixins.VERSION 联动 ——
即注解里的版本号在源码中不是字面量,要顺着常量才能看到它也是占位符。
12 个类
| 文件 | 作用 |
|---|---|
com/gtnewhorizon/gtnhmixins/GTNHMixins.java |
@Mod 主类 + 常量 |
…/IEarlyMixinLoader.java |
早期 mixin 加载接口 |
…/ILateMixinLoader.java |
晚期 mixin 加载接口 |
…/LateMixin.java |
晚期 mixin 注解 |
…/MinecraftURLClassPath.java |
类路径处理 |
…/Reflection.java |
反射工具 |
…/core/GTNHMixinsCore.java |
IFMLLoadingPlugin |
…/mixins/LateMixinOrchestrationMixin.java |
@Mixin(本模块唯一 1 个 @Mixin 类) |
io/…/gtnhmixins/GTNHMixinsConfig.java |
配置 |
io/…/gtnhmixins/GTNHMixinsModule.java |
空 @Mod 标记类 |
io/…/gtnhmixins/asm/LegacyGTNHMixinExtrasGenerator.java |
transformer(@MixinSafeTransformer),不是 @Mixin |
io/…/gtnhmixins/util/LaunchClassLoaderUtils.java |
启动器工具 |
⚠️ 与 module-spongemixins 的类重复
module-spongemixins 目录下也有
com/gtnewhorizon/gtnhmixins/GTNHMixins.java 与
MinecraftURLClassPath.java,实测:
| 类 | 两模块间关系 |
|---|---|
MinecraftURLClassPath.java |
完全相同(diff 无差异) |
GTNHMixins.java |
不同 —— spongemixins 版去掉了两行 @Mod 注解 |
这是 SpongeMixins「模拟」GTNHMixins 的实现方式:
同一套类在两个包里各存一份,spongemixins 那份故意不带 @Mod,
避免两个 modid 同时注册。
⚠️ 所以「GTNHMixins 类在本仓有 2 份」是事实,
但说「源码复制粘贴有误」是错的 —— 这是刻意的。
mixin 配置
| 项 | 值 |
|---|---|
| 文件 | mixins.gtnhmixins.json |
package |
com.gtnewhorizon.gtnhmixins.mixins |
required |
true |
minVersion |
0.8.3-GTNH |
refmap |
mixins.gtnhmixins.refmap.json |
mixins |
1 个:LateMixinOrchestrationMixin |
plugin |
无 |
⚠️ minVersion 是 0.8.3-GTNH(带 -GTNH 后缀),
是本仓 4 个 mixin 配置中唯一要求 GTNH 特制 Mixin 版本的
(其余为 0.8、0.8.3、0.6)。它对 Mixin 版本的要求最严。
⚠️ required: true 且 mixins 列表中的 LateMixinOrchestrationMixin
目标是 LoadController(remap = false)——
该类由 MixinBooter 提供,不是 Minecraft 类。
若目标缺失且无 IMixinConfigPlugin 兜底,Mixin 会在启动期报错。
本配置没有 plugin 字段,即没有 shouldApplyMixin 兜底。
相关条目
- 模块总览 - 10 模块对照
- module-spongemixins - 共享类但去掉
@Mod的孪生模块 - LateMixinOrchestrationMixin - 本模块唯一 mixin
- mixin 配置对照 - 4 个配置的
required与minVersion - GTNHMixinsConfig - 配置项