系统属性开关
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。
相关条目
- RFB 插件入口 - 写入 blackboard 的位置
- 并行 mod 发现 -
jarjar.debug.discoveryTimeout实际生效处 - JarJar 配置文件 - 与系统属性不同,配置文件存在
config/jarjar.properties