module-mixingasm
基本信息
| 属性 | 值 |
|---|---|
| modid | mixingasm |
| Java 文件 | 8 |
| 加载插件 | 无 |
| mixin 配置 | mixingasm.mixin.json |
TweakOrder |
0 |
| 产出 | …-mixingasm-1.7.10.jar |
| 启用版本 | Minecraft 1.7.10 |
功能
mixin 混入 ASM transformer 的桥接层。mcmod.info 自述
UniMixins module that implements Mixingasm (version: ${extraVersion}).
让 IMixinSafeTransformer 之类的 transformer 能安全地经由 mixin 生效,
从而在本仓的 Mixin 体系内复用 transformer 机制。
8 个类
| 文件 | 作用 |
|---|---|
makamys/mixingasm/Mixingasm.java |
常量:MODID = "mixingasm" |
makamys/mixingasm/MixingasmModule.java |
空 @Mod 标记类 |
makamys/mixingasm/forge/MixingasmMod.java |
@Mod(modid = Mixingasm.MODID, …) |
makamys/mixingasm/forge/IMixinSafeTransformer.java |
transformer 安全接口 |
makamys/mixingasm/forge/MixinSafeTransformer.java |
实现 |
makamys/mixingasm/forge/MixinConfigPlugin.java |
IMixinConfigPlugin 实现 |
makamys/mixingasm/forge/ConfigHelper.java |
配置辅助 |
makamys/mixingasm/forge/TransformerInclusions.java |
transformer 白名单 |
mixin 配置
| 项 | 值 |
|---|---|
| 文件 | mixingasm.mixin.json |
package |
makamys.mixingasm.mixin |
required |
true |
minVersion |
0.6(本仓 4 个配置中最低) |
refmap |
无(字段缺省) |
plugin |
makamys.mixingasm.MixinConfigPlugin |
mixins / client / server |
均无(空配置) |
⚠️ 本配置唯一指定了 plugin(MixinConfigPlugin),
因此具备 shouldApplyMixin 钩子 ——
与 mixins.gtnhmixins.json 没有 plugin 的情况相反。
详见 mixin 配置对照。
⚠️ minVersion = "0.6" 比其它配置(0.8 / 0.8.3 / 0.8.3-GTNH)宽松,
即本模块不要求 0.8 系列的 Mixin。
⚠️ 配置里没有 mixins 数组,也没有 refmap,但本模块
也没有任何 @Mixin 类(@Mixin 计数为 0)—— 该配置是空壳,
真正作用靠 plugin 侧。
实现要点
⚠️ manifest 里没有 FMLCorePlugin,只有 TweakClass + ForceLoadAsMod
MixinConfigs+TweakOrder: 0。
TweakOrder = 0 意味着本模块的 tweaker 最先执行
(Forge 1.7.10 中 TweakOrder 越小越早)。这是必要设计:
它是桥接层,必须在其它模块的 mixin 生效前就位。
⚠️ MODID = "mixingasm" 在两个类里各定义一份:
makamys/mixingasm/Mixingasm.java:29 与
makamys/mixingasm/forge/MixinConfigPlugin.java:14。
后者是重复声明(同值),不是不同 modid。
相关条目
- 模块总览 - 10 模块对照
- mixin 配置对照 - 4 个配置的差异
- module-all - 其
MixinConfigs含mixingasm.mixin.json - ASMRemapperTransformer - 同为 ASM 层的 transformer