RFB 插件入口
基本信息
| 属性 | 值 |
|---|---|
| 类名 | com.mitchej123.jarjar.rfb.plugin.JarJarRfbPlugin |
| 注册文件 | META-INF/rfb-plugin/jarjar.properties |
| RFB ID | JarJar |
| Transformer 数 | 6 |
| Logger | JarJar (LogManager.getLogger("JarJar")) |
| 关闭开关 | -Djarjar.disable=true |
JarJarRfbPlugin 是 RetroFuturaBootstrap 在发现 META-INF/rfb-plugin/*.properties 后实例化的入口类,它把 6 个 ASM transformer 注册进 RFB 管线,并在构造阶段往 Launch.blackboard 写入两个标记位:
jarjar.rfbPluginLoaded = Boolean.TRUE:告知 JarJar 内部类(如CoreModManagerV2)RFB 已经接管jarjar.disabled = DISABLED:告知上述类 transformer 已整体关闭
makeTransformers 返回列表
按注册顺序:
EarlyAccessTransformer— 在 ASM 层面把 FML 关键类的私有字段/方法/内部类改为 publicFMLTransformer— 把CoreModManager/MetadataCollection静态调用重定向到 V2 版本;整段替换CoreModManager.handleLaunch方法体MixinPlatformAgentTransformer— 让MixinPlatformAgentFMLLegacy.initFMLCoreMod直接return null,避免与 JarJar 重复加载 coremodV2ConstructionReplacerTransformer— 把Loader/ModContainerFactory/ModDiscoverer/ASMModParser的new/invokespecial重定向到 V2 子类CodeChickenCoreTransformer— 在codechicken.core.ClassDiscoverer.findClasspathMods注入Hooks.shouldIgnore调用MetadataCollectionTransformer— 给MetadataCollection.modList字段补@SerializedName(modList, alternate=["modlist","ModList"])
关闭条件
当 JVM 启动参数包含 -Djarjar.disable=true:
DISABLED = trueonConstruction写Launch.blackboard.put("jarjar.disabled", Boolean.TRUE)并打 INFO 日志makeTransformers返回空数组- 内部 V2 类(
CoreModManagerV2、LoaderV2等)会读取 blackboard 跳过替换逻辑(参见Hooks.shouldIgnore)
rfb-plugin 配置
name=JarJar
version=${version}
className=com.mitchej123.jarjar.rfb.plugin.JarJarRfbPlugin
transformerExclusions=com.gtnewhorizon.gtnhlib.asm.
loadBefore=
loadAfter=
loadRequires=
versionConstraints=
transformerExclusions 让 gtnhlib 的 ASM 常量池工具类不被任何 transformer 重写。
相关条目
- 系统属性开关 -
jarjar.disable等 JVM 属性的完整清单 - EarlyAccessTransformer - 注册的第 1 个 transformer
- FMLTransformer - 注册的第 2 个 transformer
- MixinPlatformAgentTransformer - 注册的第 3 个 transformer
- V2ConstructionReplacerTransformer - 注册的第 4 个 transformer
- CodeChickenCoreTransformer - 注册的第 5 个 transformer
- MetadataCollectionTransformer - 注册的第 6 个 transformer