CompatConfig(angelica-compat)
基本信息
| 属性 | 值 |
|---|---|
| 类 | com.gtnewhorizons.angelica.config.CompatConfig |
| 路径 | src/main/java/com/gtnewhorizons/angelica/config/CompatConfig.java |
| 行数 | 53 |
| 注解 | @Config(modid = "angelica", filename = "angelica-compat", category = "compat")(:5) |
| 配置文件 | config/angelica-compat.cfg,分类 compat |
| 字段数 | 9 |
全部 9 个字段
九个开关全部是 @Config.DefaultBoolean(true) + @Config.RequiresMcRestart,即默认全开、全部需要重启 MC 生效。无例外。
| # | 字段 | 行 | 目标 mod |
|---|---|---|---|
| 1 | fixLotr |
:11 |
The Lord of the Rings |
| 2 | fixExtraUtils |
:16 |
Extra Utilities |
| 3 | fixStacksOnStacks |
:21 |
Stacks on Stacks |
| 4 | fixMinefactoryReloaded |
:26 |
MineFactory Reloaded |
| 5 | fixThaumcraft |
:31 |
Thaumcraft |
| 6 | fixThaumicHorizons |
:36 |
ThaumicHorizons |
| 7 | fixImmersiveEngineering |
:41 |
Immersive Engineering |
| 8 | fixSecurityCraft |
:46 |
SecurityCraft |
| 9 | fixNTMSpace |
:51 |
NTM:Space |
两种消费路径
这 9 个开关被两类完全不同的代码读取,必须区分:
路径 A:驱动 ASM 兼容处理器(5 个)
CompatHandlers 枚举(loading/fml/compat/CompatHandlers.java:16-20)用 Supplier<Boolean> 绑定其中 5 个:
| 枚举项 | 绑定的配置 | 行 |
|---|---|---|
STACKS_ON_STACKS |
CompatConfig.fixStacksOnStacks |
:16 |
EXTRA_UTILS |
CompatConfig.fixExtraUtils |
:17 |
IMMERSIVE_ENGINEERING |
CompatConfig.fixImmersiveEngineering |
:18 |
THAUMCRAFT |
CompatConfig.fixThaumcraft |
:19 |
THAUMIC_HORIZONS |
CompatConfig.fixThaumicHorizons |
:20 |
路径 B:直接在 Proxy / Mixin 里判断(4 个)
| 配置 | 消费点 | 行为 |
|---|---|---|
fixLotr |
ClientProxy.java:218 |
postInit 里反射替换 LOTR BlockRendering 的三个缓存为 ConcurrentHashMap |
fixMinefactoryReloaded |
Mixin 侧 | 见 late/client mixin 分组 |
fixSecurityCraft |
Mixin 侧 | 同上 |
fixNTMSpace |
Mixin 侧 | 同上 |
与 CompatHandlers 的数量差
CompatHandlers 枚举只有 5 项,而 CompatConfig 有 9 个字段。差的 4 个(fixLotr、fixMinefactoryReloaded、fixSecurityCraft、fixNTMSpace)不走 ASM transformer 路径 —— 它们通过 Mixin 或 Proxy 直接生效。因此「CompatConfig 有 9 项」不等于「有 9 个 ASM 兼容处理器」。
相关条目
- AngelicaModulesConfig - 同 modid
angelica的主配置(88 字段) - CompatHandlers - 5 项枚举与
getTransformers() - AngelicaCompat - 下游独立兼容包,与本文件开关部分重叠
- late/client mixin 分组 - 走 Mixin 路径的 4 项