FlagsConfig
基本信息
| 属性 | 值 |
|---|---|
| 类名 | mytown.config.json.FlagsConfig |
| 文件 | src/main/java/mytown/config/json/FlagsConfig.java |
| 行数 | 120 |
| 配置文件 | <config>/MyTown/DefaultFlags.json |
| 启用版本 | Minecraft 1.7.10 |
功能
新建城镇时套用的默认 flag 值覆盖。继承
myessentials.json.api.JsonConfig<FlagsConfig.Wrapper, List<FlagsConfig.Wrapper>>
(MyEssentials-Core),用 Gson 以 List<Wrapper> 形式持久化。
关键行为
create()遍历FlagType.values()(共 15 种,见 FlagType), 为每种生成一个Wrapper(type.name, type.defaultValue, type.configurable)。- 随后回写到静态
FlagType实例:item.getFlagType().defaultValue = item.defaultState;item.getFlagType().configurable = item.configurable; - 因此该文件不只是「存档」,而是会在加载时改写
FlagType的默认值。
实现要点
⚠️ FlagsConfig 的作用时机是建城时,不是全局开关。它改的是 FlagType.defaultValue
这个静态字段,建城时由城镇复制一份实例。
⚠️ 由于 create() 会把文件内容写回 FlagType.defaultValue,一旦玩家在 JSON 里改了值,
该值就成为之后所有新城镇的默认。
相关条目
- FlagType - 15 种 flag 的定义与
defaultValue - Config - 主配置文件
- MyTownUniverse - 建城流程所在