RanksConfig
基本信息
| 属性 | 值 |
|---|---|
| 类名 | mytown.config.json.RanksConfig |
| 文件 | src/main/java/mytown/config/json/RanksConfig.java |
| 行数 | 75 |
| 配置文件 | <config>/MyTown/DefaultTownRanks.json |
| 启用版本 | Minecraft 1.7.10 |
功能
新建城镇时套用的默认 Rank(权限等级) 集合。
继承 JsonConfig<Rank, Rank.Container>,Gson 需显式注册 Rank
的自定义序列化器:
this.gson = new GsonBuilder()
.registerTypeAdapter(Rank.class, new Rank.Serializer())
.setPrettyPrinting().create();
关键行为
create()先调Rank.initDefaultRanks()填充Rank.defaultRanks,再整体写入文件。read()读到后会先clear()再addAll()覆盖Rank.defaultRanks—— 即文件内容在运行时取代内置默认值。
实现要点
- 文件里的 Rank 通过
Rank.Serializer序列化,Rank有自定义的Serializer与Container两个配套类,不能靠 Gson 默认反射。 - 加载后会跑
validate(Rank.Container)检查合法性。 - 玩家能否自行改动 Rank 由 Config 的
modifiableRanks控制 (默认false),该开关决定是否注册CommandsAssistant.ModifyRanks。
相关条目
- Rank - Rank 数据模型与
Serializer - RankPermissionManager - 权限桥
- Config -
modifiableRanks开关