FarmingForEngineers.cfg
本 mod 唯一的 FML 配置项。真正的市场数据在 Market.json,本文件只管一件事:注册表告警要不要刷屏。
基本信息
| 属性 | 值 | 来源 |
|---|---|---|
| 读取类 | com.guigs44.farmingforengineers.ModConfig |
ModConfig.java:5 |
| 配置文件 | <config>/FarmingForEngineers/FarmingForEngineers.cfg |
FarmingForEngineers.java:68,73 |
| 读取时机 | preInit 内 config.load() 后立即 ModConfig.preInit(config),有改动则 config.save() |
FarmingForEngineers.java:73-81 |
| 配置 API | Forge Configuration(不是 @Config 注解、不是 ForgeConfigurationSpec、不是 Gson) |
ModConfig.java:9 |
| 配置项总数 | 1 | ModConfig.java:10 |
配置项全表
| 键 | 分类 | 类型 | 默认值 | 说明(源码原文) |
|---|---|---|---|---|
Show Registry Warnings |
client |
boolean |
false |
“Set this to true if you’re a modpack dev to see Farming for Engineers registry warnings in chat. Errors will always display.” |
没有第二个配置项。ModConfig 全文只有一个 public static boolean showRegistryWarnings 字段与一次 getBoolean 调用;FarmingForEngineers.preInit 也只调 ModConfig.preInit(config) 这一次。
唯一配置项的作用范围
showRegistryWarnings 是 AbstractRegistry.logWarning 的唯一开关(registry/AbstractRegistry.java:216):
| 日志级别 | 写入日志 | 加入 registryErrors(→ 聊天栏) |
|---|---|---|
logError |
是 | 总是 |
logWarning |
是 | 仅当 showRegistryWarnings == true |
因此:
- 设为
false(默认)→ 只有错误会在玩家进服和/farmingforengineers reload后刷到聊天栏 - 设为
true→ 告警也刷屏,给整合包作者排查第三方 mod 物品 ID 对不上时用
无论该值如何,FarmingForEngineers.logger.error 都会被调用——这个开关只影响聊天栏,不影响 log 文件。
分类名是 client 但值是 public static 静态字段、没有 ClientOnly 注解也没有 side 检查,服务端也会读取(服务端供 logWarning 判定用)。
其他可配置文件(不是 Configuration API)
以下两个文件由 mod 生成,但不经过 ModConfig / Configuration,因此在本文件里不可配置:
| 文件 | 格式 | 生成方式 | 说明 |
|---|---|---|---|
Market.json |
JSON(Gson,2 空格缩进) | AbstractRegistry.load |
市场条目,见 市场注册表 |
<config>/FarmingForBlockheads_at.cfg |
纯文本单行 | 构建期 spotless.gradle / 打包附带 |
内容仅 public net.minecraft.creativetab.CreativeTabs field_78034_o # tabLabel,是**访问转换器(AT)**声明文件,与运行时配置无关 |
缺失配置的容错
- 若配置文件不存在或某个键缺失,
Configuration.getBoolean写入默认值并置hasChanged,preInit末尾config.save()落盘 - 若配置目录
<config>/FarmingForEngineers不存在,preInit先mkdirs(),失败直接抛RuntimeException("Couldn't create Farming for Engineers configuration directory")(只读文件系统会直接崩在启动阶段)
相关条目
- 市场注册表 Market.json - 本配置项只影响它的
logWarning上屏行为 - reload 指令 - 重载时会把
registryErrors刷到聊天栏