Package com.hbm_m.config
Class HbmConfigStore
java.lang.Object
com.hbm_m.config.HbmConfigStore
JSON-бэкенд конфигурации без внешних зависимостей.
Порт оригинального RunningConfig.readConfig/writeConfig (1.7.10): сериализация
плоской карты key→string. ConfigSchema — единый источник правды о том,
какие ключи существуют, их границы и сторона.
Формат файла — плоский JSON-объект, по одному значению на поле схемы:
{
"_comment": "HBM Modernized ...",
"enableRadiation": "true",
"maxRad": "100000.0",
"frackingTower.maxPower": "5000000"
}
Robustness:
- Неизвестные ключи при загрузке игнорируются (forward-compat со старыми/новыми версиями).
- При сохранении пишутся только известные схеме ключи.
- Повреждённый/непарсимый файл → значения по умолчанию (игра не падает); файл НЕ перезаписывается автоматически, чтобы не уничтожить данные пользователя.
- Значения-примитивы читаются толерантно:
trueи"true",100и"100"эквивалентны (ручное редактирование пользователем).
-
Method Summary
Modifier and TypeMethodDescriptionstatic voidload(ConfigSide side, ModClothConfig cfg) Загружает значения стороны из JSON вcfg.static voidsave(ConfigSide side, ModClothConfig cfg) Сохраняет снапшот стороны в JSON.
-
Method Details
-
load
Загружает значения стороны из JSON вcfg. Если файл отсутствует — создаёт его с текущими (по умолчанию) значениями. Повреждённый файл → значения по умолчанию.После применения вызывается
ConfigSchema.validate(com.hbm_m.config.ModClothConfig)(клэмп по границам). -
save
Сохраняет снапшот стороны в JSON. Создаёт родительский каталог при необходимости. Первым полем идёт человекочитаемый_comment(игнорируется при загрузке).
-