系统属性开关

JarJar 读取若干 JVM 系统属性来控制行为。所有开关在 JarJar 加载早期即生效。

全局开关

属性 类型 默认 说明
jarjar.disable boolean false 完全关闭 JarJar 的 transformer 注册,V2 替换逻辑会跳过
jarjar.disabled Boolean - RFB 插件写入 blackboard,给内部 V2 类读取
jarjar.rfbPluginLoaded Boolean - RFB 插件写入 blackboard,标识 JarJar 已接管

jarjar.disable 由 JarJarRfbPlugin.DISABLED 静态读取:

public static final boolean DISABLED = Boolean.getBoolean("jarjar.disable");

为 true 时,makeTransformers() 返回空数组,且 onConstruction 写 Launch.blackboard.put("jarjar.disabled", true)。

调试 / 行为控制

属性 类型 默认 说明
jarjar.debug.discoveryTimeout int (seconds) -1 (无限) ParallellModDiscoverer 等待每个 future 的超时;超时则抛 RuntimeException
int timeout = Integer.getInteger(JARJAR_DEBUG_DISCOVERY_TIMEOUT, -1);
if (timeout <= 0) timeout = Integer.MAX_VALUE;

与原生 FML 复用

属性 类型 默认 说明
fml.coreMods.load String (CSV) "" 由 FML 自身定义;JarJar 在 CoreModManagerV2.loadCommandLineCoremods 读取并对每个 coremod 抽取其 Jar-in-Jar

读取后逐 coremod 类名,调用 loadCoreMod 注册并触发 Jar-in-Jar 抽取到 <mc>/nestedmods/<name>-<sha256>.jar。

相关条目