ModConfig

基本信息

属性 值
路径 mrtjp.core.data.ModConfig
源码 src/main/scala/mrtjp/core/data/configurations.scala:24

Scala 侧的 Forge 配置框架基类,供其它 mod 继承并以强类型 var + put 调用声明配置项。

用法(本 mod 自身即范例)

object MrTJPConfig extends ModConfig("MrTJPCoreMod"),重写 initValues() 声明配置, 重写 getFileName 指定文件名(默认等于 modid)。

关键 API

成员 说明
BaseCategory(key, comment) 配置分段
cat.put\[T\](key, value, comment) 泛型写入:按 Scala 类型自动推断 Property.Type(Boolean/Int/String/Double/Array)
put(..., force = true) 强制覆盖已有值(默认不覆盖)
loadConfig() 在 <configDir>/<getFileName>.cfg 打开 Configuration → 调 initValues() → 变更则保存;并把自己注册到 FMLCommonHandler 总线
@SubscribeEvent onConfigChanged 收到同 modid 的 OnConfigChangedEvent 时重新 initValues() 并保存

配套 GUI

SpecialConfigGui / SpecialConfigGui.buildCategories(config) 把 Forge Configuration 的各分段包成 DummyCategoryElement 列表,交给标准 GuiConfig 渲染。

缺陷

put[T] 的实现第 73 行 reslult.asInstanceOf[T]——变量名拼写为 reslult(缺 a), 且用 asInstanceOf 强转绕过泛型检查。类型不匹配时会在运行期抛 ClassCastException 而非编译期报错。

本 mod 的实际配置项(MrTJPConfig,mod.scala:50)

配置项 默认 含义
retro_gen false 追溯生成(retrogeneration)开关
retro_gen_id mrtjp_gen 记录已生成区块的数据库 ID;修改会导致同区块重新生成
check_versions true 更新检查器开关
check_unstable false 更新检查是否把不稳定构建算作新版本

相关条目