WDMla 通用配置(general.cfg)

基本信息

属性 值
配置文件 config/WDMla/general.cfg
声明类 com.gtnewhorizons.wdmla.config.General
配置框架 GTNHLib @Config(非 Forge Configuration)
顶层分类 wdmla_general
子目录 WDMla
语言键 option.wdmla.general.category
注册时机 WDMla 类静态初始化块,ConfigurationManager.registerConfig(General.class)(WDMla.java:34-41)
是否需重启 顶层仅 overrideWailaTooltips 标注 @Config.RequiresMcRestart(General.java:64)

功能

存放不属于任何单个插件的全局设置:外观(主题 / 文字颜色 / 进度条颜色)、破坏进度条表现、以及与旧版 Waila 的接管开关。所有项都在客户端生效;WDMla 的 WDMlaConfig 会在 postInit 客户端分支里把 textcolor 一组写回 DefaultThemes.CUSTOM(WDMlaConfig.java:97-108)。

文件路径由 GTNHLib 决定:基目录为 <游戏目录>/config(GTNHLib/…/config/ConfigurationManager.java:56),再拼接 @Config 的 configSubDirectory(ConfigurationManager.java:78-80)与 filename + ".cfg"(ConfigurationManager.java:82)。子分类名是字段名小写(ConfigurationManager.java:170),故磁盘上为 wdmla_general.textcolor 而非类名。

数值

顶层选项(wdmla_general):

字段 默认值 语言键 外部读取点
forceLegacy false(General.java:27-29) option.wdmla.general.forcelegacy ThemeHelper.java:173、HarvestToolProvider.java:61、FluidStorageProvider.java:101
ghostProduct true(General.java:32-34) option.wdmla.general.ghostproduct GuiDraw.java:80、GuiDraw.java:116
currentTheme CUSTOM(General.java:37-39) option.wdmla.general.theme 17 处,含 ClientViewGroup.java:93、ThemeHelper.java:75
previewInCfg true(General.java:42-44) option.wdmla.general.previewincfg WDMlaTickHandler.java:65
customNameOverride true(General.java:47-49) option.wdmla.general.customnameoverride DefaultEntityInfoProvider.java:63、TECustomNameHeaderProvider.java:27
maxNameLengthPixel 150,范围 1–10000(General.java:52-54) option.wdmla.general.maxnamelengthpixel FormatUtil.java:100
alignIconRightTop true(General.java:57-59) option.wdmla.general.align.icon.right.top DefaultBlockInfoProvider.java:82
overrideWailaTooltips true(General.java:62-65) option.wdmla.general.override.waila.tooltips Waila.java:115

currentTheme 的三个取值来自 DefaultThemes 枚举:CUSTOM(DefaultThemes.java:10)、JADE(DefaultThemes.java:21)、TOP(DefaultThemes.java:32)。

textcolor(wdmla_general.textcolor)七项全部默认取 ColorPalette 常量(General.java:71-97),读取点集中在 WDMlaConfig.reloadTheme()(WDMlaConfig.java:101-107)——写入 DefaultThemes.CUSTOM 的 TextColors 后由渲染层间接使用,因此每项只有 1 个直接读取点并非死配置。

字段 语义
info / title / success / warning / danger / failure 对应 MessageType 的六种语义色
modname 模组名行的颜色

progresscolor(wdmla_general.progresscolor)被流体、能量与通用进度条共用(General.java:100-101 注释明示):

字段 读取点
background ProgressComponent.java:39
border ProgressComponent.java:40、FluidStorageProvider.java:130
filled 6 处,含 ProgressStyle.java:24-25、FluidStorageProvider.java:126
filledalternate ProgressProvider.java:80

breakprogress(wdmla_general.breakprogress)控制挖掘破坏进度条:

字段 默认值 读取点
mode FILLING_BAR(General.java:126-127) BreakProgressDrawable.java:25、BreakProgressTextProvider.java:23
position BOTTOM(General.java:130-131) BreakProgressDrawable.java:52
fillanimation true(General.java:134-135) HUDBlockDamage.java:30
fadeanimation true(General.java:137-138) Alpha.java:28
fadespeed 4,范围 1–10000(General.java:141-144) Alpha.java:27

mode 枚举:FILLING_BAR / TEXT / NONE(General.java:146-150)。position 枚举:TOP / BOTTOM(General.java:152-155);默认值选 BOTTOM 的理由写在 General.java:130 的行内注释——Waila 默认把该信息显示在屏幕顶部。

交互

改动 general.cfg 后需经配置界面保存才会落盘:ModsMenuScreenConfig.drawScreen 每帧检查旧版 Waila 配置的 hasChanged() 并 save()(ModsMenuScreenConfig.java:41-45)。WDMla 自身监听 ConfigChangedEvent.OnConfigChangedEvent,仅当 event.modID 等于 wdmla 时执行「保存 → 重载 → 重排 provider 优先级 → 重载旧版 Waila 配置」(ClientProxy.java:74-84)。

相关条目