Early Mixin
基本信息
| 属性 | 值 |
|---|---|
| 配置文件 | mixins.dreamcraft.early.json |
config 内 package |
com.dreammaster.mixin.mixins.early |
minVersion |
0.8.5-GTNH |
target |
@env(DEFAULT) |
compatibilityLevel |
JAVA_8 |
refmap |
mixins.dreamcraft.refmap.json |
required |
true |
| Mixin 数量 | 5 |
⚠️ 关键:mixins.*.json 里没有 mixin 数组
mixins.dreamcraft.early.json 的全部内容只有 6 个键,不含 mixin 或 client/server 数组:
{
"required": true,
"minVersion": "0.8.5-GTNH",
"package": "com.dreammaster.mixin.mixins.early",
"refmap": "mixins.dreamcraft.refmap.json",
"target": "@env(DEFAULT)",
"compatibilityLevel": "JAVA_8"
}
真正的清单在 Java 侧:DreamCoreMod 同时实现 IEarlyMixinLoader,由 getMixins(Set<String> loadedCoreMods) 返回(DreamCoreMod.java:114-126)。getMixinConfig() 返回 "mixins.dreamcraft.early.json"(DreamCoreMod.java:109-111),config 只提供包名与 refmap,条目由加载器动态提供。
这三条 Mixin 注册路径互不相同,统计时必须分开数:
| 路径 | 载体 | 数量 |
|---|---|---|
| ① 早期 Mixin | DreamCoreMod.getMixins() |
5 |
| ② 晚期 Mixin | com.dreammaster.mixin.Mixins 枚举 |
2 |
| ③ ASM 变换器 | DreamClassTransformer |
3 |
功能
| Mixin 类 | 目标类 | 作用 | 注册条件 |
|---|---|---|---|
MixinMinecraft_ConfirmExit |
Minecraft |
接管退出确认窗口 | 仅客户端(DreamCoreMod.java:117) |
MixinMinecraft_PackIcon |
Minecraft |
替换整合包图标 | 仅客户端(DreamCoreMod.java:118) |
MixinIntegratedServer |
IntegratedServer |
废掉「Open to LAN」 | 仅客户端(DreamCoreMod.java:121) |
MixinGuiShareToLan |
GuiShareToLan |
废掉「Open to LAN」 | 仅客户端(DreamCoreMod.java:122) |
MixinTileEntityBeacon |
TileEntityBeacon |
信标相关修复 | 双端(DreamCoreMod.java:124,在 isClient() 判断之外) |
客户端判定为 FMLLaunchHandler.side().isClient()(DreamCoreMod.java:116),MixinTileEntityBeacon 的 mixins.add(...) 位于该 if 块之外,因此在服务端也会注册。
源码注释明确说明了意图:// neuter Open to LAN(DreamCoreMod.java:120)—— 依检查项 14,此为意图证据,说明这两个 Mixin 的存在本身就是目的,不是缺陷。
数值
| 数值名 | 值 |
|---|---|
| 早期 Mixin 总数 | 5 |
| 仅客户端生效 | 4 |
| 双端生效 | 1(MixinTileEntityBeacon) |
交互
对玩家而言,这 5 个 Mixin 的净效果是:
- 退出游戏时出现整合包自定义的确认窗口(可用
DreamCoreMod.properties的showConfirmExitWindow关闭,见 DreamCoreMod) - F3 调试界面显示整合包自定义图标
- 「Open to LAN」按钮被移除(GTNH 不支持局域网联机)
- 信标渲染/行为修复
相关条目
- Late Mixin - 同一体系的晚期分支
- DreamCoreMod - 本页 Mixin 的注册入口