Package com.hbm_m.config.schema
Class ConfigSchema
java.lang.Object
com.hbm_m.config.schema.ConfigSchema
Реестр всех конфигурационных полей мода (единый источник правды).
Заменяет аннотации Cloth Config (@Category/@Gui/@BoundedDiscrete)
и является основой для:
- сериализации (client.json / server.json),
- сетевой синхронизации (какие поля шлются S2C и принимаются C2S),
- построения GUI (какие виджеты, границы, категории, вкладки),
- пометок requiresRestart.
- Всегда следить, чтобы имя поля в POJO-классе буква в букву совпадало со строковым ключом при регистрации в ConfigSchema!
Порядок регистрации определяет порядок категорий/полей в GUI и в файле.
-
Method Summary
Modifier and TypeMethodDescriptionstatic Collection<ConfigField>all()Все поля в порядке регистрации.static voidapplyAll(ModClothConfig cfg, ConfigSide side, Map<String, String> values) Применяет пары key→value из карты.static booleanapplyField(ModClothConfig cfg, String key, String value) Применяет одно значение по ключу (проверяет side).static List<ConfigField>byCategory(ConfigSide side, String category) Поля категории заданной стороны в порядке регистрации.static List<ConfigField>bySide(ConfigSide side) Все поля заданной стороны в порядке регистрации.categories(ConfigSide side) Категории заданной стороны в порядке регистрации (без дубликатов).static StringcategoryKey(String category) Ключ локализации категории: config.hbm_m.category.static StringСтроковое значение по умолчанию для поля.static ModClothConfigdefaults()Ленивый экземпляр со значениями по умолчанию.static ConfigFieldПоле по ключу или null.static StringКлюч локализации названия поля: config.hbm_m.field.snapshot(ModClothConfig cfg, ConfigSide side) Снапшот всех значений стороны как key→String.snapshotForJson(ModClothConfig cfg, ConfigSide side) Снапшот как key→Object (для сериализации GSON в файл).static StringКлюч локализации тултипа поля: config.hbm_m.field..tooltip static voidvalidate(ModClothConfig cfg) Клэмпит все числовые поля по границам схемы.
-
Method Details
-
get
Поле по ключу или null. -
all
Все поля в порядке регистрации. -
bySide
Все поля заданной стороны в порядке регистрации. -
categories
Категории заданной стороны в порядке регистрации (без дубликатов). -
byCategory
Поля категории заданной стороны в порядке регистрации. -
snapshot
Снапшот всех значений стороны как key→String. Используется сетевыми пакетами и GUI. Не содержит описаний. -
snapshotForJson
Снапшот как key→Object (для сериализации GSON в файл). Избавляет от кавычек для чисел/true/false и добавляет _desc_ ключи. -
applyAll
Применяет пары key→value из карты. Неизвестные ключи игнорируются. -
applyField
Применяет одно значение по ключу (проверяет side). Возвращает true при успехе. -
validate
Клэмпит все числовые поля по границам схемы. ЗаменяетvalidatePostLoad()из AutoConfig. Вызывается после загрузки и после применения пакетов. -
defaults
Ленивый экземпляр со значениями по умолчанию. -
defaultAsString
Строковое значение по умолчанию для поля. -
labelKey
Ключ локализации названия поля: config.hbm_m.field. -
tooltipKey
Ключ локализации тултипа поля: config.hbm_m.field..tooltip -
categoryKey
Ключ локализации категории: config.hbm_m.category.
-