UniMixins
[!INFO] Git Commit:
56a008c| Updated: 2026-10-28
统一 mixin 加载库。LegacyModdingMC 维护的 1.7.10 Mixin 生态聚合工程: 把 MixinBooter、GTNHMixins、SpongeMixins、GasStation、MixinExtras、Mixingasm 等原本面向高版本的 mixin 库统一移植到 1.7.10,并统一分发。
身份
| 属性 | 实测值 |
|---|---|
| 分类名 | unimixins |
| modid 数 | 10(一仓十 mod) |
| Gradle 模块数 | 11(module-common 无 modid) |
| Java 文件 | 87 |
@Mod 注解数 |
10(全在 Java,无 Scala / Kotlin) |
@Mixin 类数 |
5(分布 3 个模块) |
| ASM transformer | 5(compat 4 + gtnhmixins 1) |
| MixinExtras | 4 个注解 / 4 个注入器(含 WrapWithCondition),12 文件 |
| mixin 配置文件 | 4 |
| 配置项 | 4(3 个配置类,全部默认 true) |
| Minecraft | 1.7.10(根 gradle.properties:12) |
| Forge | 10.13.4.1614-1.7.10(gradle.properties:13) |
| 注册内容 | 0(不注册任何 Block / Item / Entity / 维度) |
| 主包 | io.github.legacymoddingmc.unimixins.* |
⚠️ 最重要的一件事:一个仓库 = 10 个 modid
分类名 unimixins 只对应其中 1 个(module-all 的聚合包)。
其余 9 个模块各有独立 modid:
| modid | 模块 | Java |
|---|---|---|
unimixins |
module-all |
2 |
unimixins-mixin |
module-mixin |
4 |
unimixins-compat |
module-compat |
10 |
unimixins-compatfuture |
module-compatfuture |
3 |
mixinextras |
module-mixinextras |
2 |
mixinbooterlegacy |
module-mixinbooterlegacy |
22 |
gtnhmixins |
module-gtnhmixins |
12 |
spongemixins |
module-spongemixins |
5 |
mixingasm |
module-mixingasm |
8 |
gasstation |
module-gasstation |
12 |
| (无 modid) | module-common |
7 |
modid 的三种来源形态
⚠️ 不能用统一的 grep '@Mod' 提取 modid,本仓有 4 种写法:
| 形态 | 例子 | 模块 |
|---|---|---|
| 字面量 | @Mod(modid = "unimixins-compat", version = "@VERSION@") |
compat / all / mixin / compatfuture / mixinextras |
| 常量引用 | @Mod(modid = GTNHMixins.MODID, …) → "gtnhmixins" |
gtnhmixins / spongemixins / mixingasm |
| 字面量版本号 | version = "2.0.1"(全仓唯一) |
spongemixins |
| 构建期占位符 | Tags.MODID = "GRADLETOKEN_MODID" → gasstation |
gasstation |
⚠️ mcmod.info 有 9 个 JSON 文档,其中 gtnhmixins 那条用
"modid": "${extraModid}" 占位符。9 份 mcmod.info ≠ 10 个 modid
(mixinbooterlegacy 等条目齐全,但 mixingasm / spongemixins /
unimixins-all 的覆盖关系需以 @Mod 为准)。
模块
- 模块总览 - 11 模块 / 10 modid 完整对照
- module-all - 聚合包,modid
unimixins - module-mixin - Mixin 库 fork
- module-compat - 4 个 ASM transformer
- module-compatfuture - 1.8.9~1.12.2 垫片
- module-mixinextras - 只有 2 文件
- module-mixinbooterlegacy - 22 文件,含 MixinExtras 实现
- module-gtnhmixins - 早期/晚期 mixin
- module-spongemixins - 模拟层,无加载插件
- module-mixingasm -
TweakOrder: 0 - module-gasstation - modid 为占位符
- module-common - 无 modid 的内部库
ASM 转换器
- ASMRemapperTransformer - ASM 包名适配,构造器早注册
- EnhanceCrashReportsTransformer - 崩溃报告挂钩
- HackClasspathModDiscoveryTransformer - dev 专用,系统属性开关
- IgnoreDuplicateJarsTransformer - agent 重复 jar,静态方法开关
- LegacyGTNHMixinExtrasGenerator - transformer,不是 mixin
- MixinExtras 注入器 - 4 个注解 / 4 个注入器 / 12 文件,实现在 mixinbooterlegacy
- RemapASMForMixin - 对外 API 注解
- MixinErrorHandler - 错误旁路记录
mixin
- mixin 配置对照 - 4 个配置的
required/minVersion逐项对照 - LoadControllerMixin - mixinbooterlegacy
- LateMixinOrchestrationMixin - gtnhmixins
- GasStation dev mixin - 2 个未被应用的 mixin
配置
- AnnotatedProperties - 自研配置框架,非 Forge
@Config - ConfigUtil - 唯一加载入口
- CompatConfig - 3 项,
cat = "compat" - GTNHMixinsConfig - 1 项,
cat = "gtnhmixins"
自检
- SanityCheckHelper - jar 前缀冲突检测,只 warn 不 throw
- SanityCheckConfig - 唯一的
_common分组配置 - 组件完整性检查 - 唯一会抛异常的硬检查,缺组件即启动失败