Package com.hbm_m.config.schema
Class ConfigField
java.lang.Object
com.hbm_m.config.schema.ConfigField
Метаданные одного конфигурационного поля + адаптер доступа к живому значению.
Поле описывает, как его показывать в GUI (категория, границы, тултип),
на какой стороне оно лежит, в какой режим применяется, и предоставляет
типобезопасный доступ get/set к соответствующему полю ModClothConfig.
Зачем нужен адаптер: GUI и JSON-сериализация работают со схемой
одинаково, не зная конкретного поля. Это удаляет необходимость менять
~120 call-сайтов ModClothConfig.get().field — схема лишь читает/пишет
существующие публичные поля POJO-холдера.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classstatic enumТип данных поля (определяет виджет: boolean→toggle, int/long/double/float→slider/editbox, enum→cycle). -
Method Summary
Modifier and TypeMethodDescriptionstatic ConfigFieldbool(String key, ConfigSide side, ApplyMode mode, String category) Boolean, верхний уровень.static ConfigFieldboolNested(String key, ConfigSide side, ApplyMode mode, String category, String parent) Boolean во вложенном объектеparent.static ConfigField.Builderbuilder(String key, ConfigField.FieldType type) static ConfigFielddoubleNested(String key, ConfigSide side, ApplyMode mode, String category, String parent, double min, double max) double с границами во вложенном объектеparent.static ConfigFieldenumField(String key, ConfigSide side, ApplyMode mode, String category) enum (значения определяются рефлексивно по типу поля), верхний уровень.static ConfigFieldfloatNested(String key, ConfigSide side, ApplyMode mode, String category, String parent, float min, float max) float с границами во вложенном объектеparent.static ConfigFieldfloatNum(String key, ConfigSide side, ApplyMode mode, String category, float min, float max) float с границами, верхний уровень.get(ModClothConfig cfg) Публичное поле-адаптер.Возвращает строковое представление текущего значения для сериализации.Возвращает реальный тип объекта для GSON (чтобы не было кавычек)getKey()getMax()getMin()getSide()getType()static ConfigFieldinteger(String key, ConfigSide side, ApplyMode mode, String category, int min, int max) int с границами, верхний уровень.static ConfigFieldintNested(String key, ConfigSide side, ApplyMode mode, String category, String parent, int min, int max) int с границами во вложенном объектеparent.booleanisClient()Является ли клиентским.booleanisLive()Может ли применяться немедленно.booleanisServer()Является ли серверным (синхронизируемым).static ConfigFieldlongNested(String key, ConfigSide side, ApplyMode mode, String category, String parent, long min, long max) long с границами во вложенном объектеparent.Распознаёт значение из строки по типу поля.booleanТребуется ли перезагрузка ресурсов.booleanТребуется ли перезапуск после изменения.voidset(ModClothConfig cfg, Object value) Записывает значение в поле с применением клэмпа (для числовых) и приведением типа.voidsetFromString(ModClothConfig cfg, String raw) Устанавливает значение из строки (для JSON/сети).toString()withComment(String comment)
-
Method Details
-
builder
-
bool
Boolean, верхний уровень. -
boolNested
public static ConfigField boolNested(String key, ConfigSide side, ApplyMode mode, String category, String parent) Boolean во вложенном объектеparent. -
integer
public static ConfigField integer(String key, ConfigSide side, ApplyMode mode, String category, int min, int max) int с границами, верхний уровень. -
intNested
public static ConfigField intNested(String key, ConfigSide side, ApplyMode mode, String category, String parent, int min, int max) int с границами во вложенном объектеparent. -
floatNum
public static ConfigField floatNum(String key, ConfigSide side, ApplyMode mode, String category, float min, float max) float с границами, верхний уровень. -
floatNested
public static ConfigField floatNested(String key, ConfigSide side, ApplyMode mode, String category, String parent, float min, float max) float с границами во вложенном объектеparent. -
longNested
public static ConfigField longNested(String key, ConfigSide side, ApplyMode mode, String category, String parent, long min, long max) long с границами во вложенном объектеparent. -
doubleNested
public static ConfigField doubleNested(String key, ConfigSide side, ApplyMode mode, String category, String parent, double min, double max) double с границами во вложенном объектеparent. -
enumField
enum (значения определяются рефлексивно по типу поля), верхний уровень. -
get
Публичное поле-адаптер. Применяет валидацию границ перед записью. -
set
Записывает значение в поле с применением клэмпа (для числовых) и приведением типа. -
setFromString
Устанавливает значение из строки (для JSON/сети). Проверяет тип и клэмпит. -
parse
Распознаёт значение из строки по типу поля. -
getForSerialization
Возвращает реальный тип объекта для GSON (чтобы не было кавычек) -
getAsString
Возвращает строковое представление текущего значения для сериализации. -
withComment
-
getComment
-
getKey
-
getSide
-
getApplyMode
-
getCategory
-
getFieldName
-
getParentObject
-
getType
-
getMin
-
getMax
-
requiresRestart
public boolean requiresRestart()Требуется ли перезапуск после изменения. -
requiresResourceReload
public boolean requiresResourceReload()Требуется ли перезагрузка ресурсов. -
isLive
public boolean isLive()Может ли применяться немедленно. -
isServer
public boolean isServer()Является ли серверным (синхронизируемым). -
isClient
public boolean isClient()Является ли клиентским. -
toString
-