配置项

基本信息

属性 值
处理类 net.torocraft.torohealthmod.client.configuration.ConfigurationHandler
读取位置 preInit,仅 Side.CLIENT(ToroHealthMod.java:24-25)
配置文件 event.getSuggestedConfigurationFile(),即 config/torohealthmod.cfg
分类 全部落在 Configuration.CATEGORY_GENERAL(general 段)
GUI @Mod(guiFactory = ...) → ModGUIConfig(GuiConfig 通用界面,无自定义布局)
热重载 订阅 ConfigChangedEvent.OnConfigChangedEvent,modID 等于忽略大小写 torohealthmod 时重读(ConfigurationHandler.java:59-64)

配置项列表

配置键 类型 默认值 说明文字(源码注释) 源码
Show Damage Particles boolean true “Show Damage Indicators” ConfigurationHandler.java:34
Render through walls boolean false “Render particles though walls”(源码拼写如此) ConfigurationHandler.java:35
Particles Size double 3.0 “Particles Size [default: 3.0]” ConfigurationHandler.java:36
Heal Color String "GREEN" “Heal Text Color” ConfigurationHandler.java:37
Damage Color String "RED" “Damage Text Color” ConfigurationHandler.java:38

Heal Color / Damage Color 带 acceptedColors 校验,可选 8 项(ConfigurationHandler.java:21-22): RED、GREEN、BLUE、YELLOW、ORANGE、WHITE、BLACK、PURPLE。

⚠️ WHITE 虽在 acceptedColors 里,但 mapColor 的 switch 没有 WHITE 分支 (ConfigurationHandler.java:70-81),会落进 default -> 0xFFFFFF。结果碰巧正确 (白色就是 0xFFFFFF),但这是靠 default 兜出来的,不是显式映射。

颜色映射表

mapColor(ConfigurationHandler.java:70-81):

名称 值
RED 0xFF0000
GREEN 0x00FF00
BLUE 0x0000FF
YELLOW 0xFFFF00
ORANGE 0xFFA500
BLACK 0x000000
PURPLE 0x960096
其他(含 WHITE) 0xFFFFFF

Show Damage Particles 的开关机制

loadConfiguration 末尾(ConfigurationHandler.java:41-51)按该开关注册或注销 ToroHealthEventHandler:

  • true 且 eventHandler == null → new ToroHealthEventHandler() 并 MinecraftForge.EVENT_BUS.register(...)
  • false 且 eventHandler != null → EVENT_BUS.unregister(...) 并置 null

因为 eventHandler 是静态字段且只在首次创建时赋值(ConfigurationHandler.java:23), GUI 里反复切换该开关可以正常开/关粒子。

Particles Size 实际影响面

该值只在两处被读取:

  1. 新粒子初始 particleScale(DamageParticles.java:33)
  2. 放大阶段的终止阈值 size * 3.0(DamageParticles.java:132)

它不影响文本字号本身——字号由 renderParticle 里的固定系数 * 0.008D (DamageParticles.java:108-110)乘 particleScale 得到。改大 Particles Size 同时放大初始尺寸与放大终止线,净效果是粒子更大且放大过程更短。