PatchesConfig

基本信息

属性 值
类名 com.gtnewhorizons.angelicacompat.config.PatchesConfig
注册方式 @Config(modid = "angelicacompat", category = "patches")(com.gtnewhorizon.gtnhlib.config.Config)
配置文件位置 config/angelicacompat/patches.cfg
加载时点 FML 加载早期(GTNHLib ConfigurationManager)

功能

集中存放 7 项 RequiresMcRestart 开关。每个 patch* 字段在运行时被以下对象读取:

配置项 默认 读取方
patchExtraUtils true CompatHandlers.EXTRA_UTILS、Mixins.EXTRA_UTILITIES(patchExtraUtils)
patchCampfireBackport true Mixins.CAMPFIRE_BACKPORT(patchCampfireBackport)
patchMFR true Mixins.MINEFACTORY_RELOADED(patchMFR)
patchXaerosMinimap true Mixins.XAEROS_MINIMAP_EARLY、MixinCompatHackTweaker(patchXaerosMinimap)
patchStacksOnStacks true CompatHandlers.STACKS_ON_STACKS
patchThaumcraft true CompatHandlers.THAUMCRAFT
patchThaumicHorizons true CompatHandlers.THAUMIC_HORIZONS

所有 7 项都标 @Config.RequiresMcRestart ——修改后必须重启游戏才能生效,因为:

  • ASM transformer 在 FML 启动早期装载;
  • Mixin 类在类加载期织入;
  • AngelicaCompatCore.getASMTransformerClass() 只在启动期调用一次。

数值

字段 默认 重启必需
patchExtraUtils true 是
patchCampfireBackport true 是
patchMFR true 是
patchXaerosMinimap true 是
patchStacksOnStacks true 是
patchThaumcraft true 是
patchThaumicHorizons true 是

限制

  • 没有"运行时热切换"语义——所有开关都在类加载阶段被求值。
  • 不提供 GUI 配置入口(仅手工编辑 config/angelicacompat/patches.cfg 或调用 GTNHLib CLI)。
  • 不能针对每个 transformer 单独开关——patch* 字段粒度为"整组"(handler + transformer + Mixin 一起切换)。

第三方 mod 集成

仅 GTNHLib @Config 注解(无运行时 API)。

相关条目