CompatConfig

基本信息

属性 值
类名 io.github.legacymoddingmc.unimixins.compat.CompatConfig
文件 module-compat/src/main/java/…/compat/CompatConfig.java
配置项 3(全部 boolean,全部默认 true)
分组 compat
启用版本 Minecraft 1.7.10

3 个配置项(实测原文)

@AnnotatedProperties.ConfigString(def = "true",
  com = "Remap references to Mixin's shaded ASM.", cat = "compat")
public static boolean enableRemapper;

@AnnotatedProperties.ConfigString(def = "true",
  com = "Include mixin errors and list of applied mixins in crash reports.", cat = "compat")
public static boolean enhanceCrashReports;

@AnnotatedProperties.ConfigString(def = "true",
  com = "Make Mixin's INIT phase listener more reliable. Fixes INIT phase mixins not working with certain launchers with the LiteLoader mod.",
  cat = "compat")
public static boolean improveInitPhaseDetection;
项 默认 作用 消费点
enableRemapper true 重映射 Mixin 内置(shaded)的 ASM 引用 CompatCore 构造器中 Launch.classLoader.registerTransformer(...)
enhanceCrashReports true 崩溃报告中含 mixin 错误与已应用 mixin 列表 CompatCore getASMTransformerClass()
improveInitPhaseDetection true 让 Mixin 的 INIT 阶段监听更可靠,修 LiteLoader 启动器下 INIT mixin 失效 见下方警告

⚠️ improveInitPhaseDetection 不由 getASMTransformerClass() 消费

module-compat 的 getASMTransformerClass() 只检查了 enhanceCrashReports、IgnoreDuplicateJarsTransformer.wantsToRun() 和 系统属性 unimixins.compat.hackClasspathModDiscovery, 没有读 improveInitPhaseDetection。

⚠️ 因此不能说「关掉它就少注册一个 transformer」—— 它不影响 transformer 数量。具体消费点在别处(或为预留项), 需以源码实际引用为准。

另两个开关不是配置项

开关 类型 判定方式
IgnoreDuplicateJarsTransformer 静态方法 IgnoreDuplicateJarsTransformer.wantsToRun()
HackClasspathModDiscoveryTransformer 系统属性 -Dunimixins.compat.hackClasspathModDiscovery=true

⚠️ 后者不能在 unimixins.properties 里改,必须用 JVM 参数。 把它算进「4 个配置项」是错的。

加载时机

由 CompatCore 构造器中 ConfigUtil.load(CompatConfig.class) 加载。 即在 FML 加载插件实例化时完成,早于 getASMTransformerClass() 被调用。

⚠️ 与 SanityCheckConfig 的 _common 分组不同, 本类用 cat = "compat"。

相关条目