Interface IConfigCategoryBuilder
- All Superinterfaces:
IConfigEditorCategoryBuilder
Declares the settings stored in one config category.
Get an instance from IConfigSchemaBuilder.addCategory(String). Prefer the built-in methods for common value
types. Use addValue(String, Object, IConfigValueSerializer) for a mod-specific type and
addList(String, List, IConfigValueSerializer) for a list of mod-specific elements. Each method returns a value
builder for optional behavior such as restart requirements; call IConfigValueBuilder.build() to add that value
to the category.
- Since:
- 0.1.0
-
Method Summary
Modifier and TypeMethodDescriptionaddBoolean(String name, boolean defaultValue) Create a builder for a boolean config value.addBooleanList(String name, List<Boolean> defaultValue) Create a builder for a list config value containing booleans.addColor(String name, PackedColor defaultValue) Create a builder for an RGB or ARGB color config value serialized as0xRRGGBBor0xAARRGGBB.addColorList(String name, List<PackedColor> defaultValue) Create a builder for a list config value containing RGB or ARGB colors serialized as0xRRGGBBor0xAARRGGBB.Create a builder for a finite double config value.Create a builder for a bounded finite double config value.addDoubleList(String name, List<Double> defaultValue) Create a builder for a list config value containing finite doubles.addDoubleList(String name, List<Double> defaultValue, double minValue, double maxValue) Create a builder for a list config value containing bounded finite doubles.<T extends Enum<T>>
IConfigValueBuilder<T> Create a builder for an enum config value.<T extends Enum<T>>
IConfigValueBuilder<T> Create a builder for an enum config value with a restricted set of valid values.<T extends Enum<T>>
IConfigValueBuilder<List<T>> addEnumList(String name, List<T> defaultValue, Class<T> enumClass) Create a builder for a list config value containing enum values.<T extends Enum<T>>
IConfigValueBuilder<List<T>> addEnumList(String name, List<T> defaultValue, List<T> validValues) Create a builder for a list config value containing enum values with a restricted set of valid values.addInteger(String name, int defaultValue) Create a builder for an integer config value.addInteger(String name, int defaultValue, int minValue, int maxValue) Create a builder for a bounded integer config value.addIntegerList(String name, List<Integer> defaultValue) Create a builder for a list config value containing integers.addIntegerList(String name, List<Integer> defaultValue, int minValue, int maxValue) Create a builder for a list config value containing bounded integers.<T> IConfigValueBuilder<List<T>> addList(String name, List<T> defaultValue, IConfigValueSerializer<T> elementSerializer) Create a builder for a list config value using a serializer for each list element.<T> IConfigValueBuilder<List<T>> addList(String name, List<T> defaultValue, IConfigValueSerializer<T> elementSerializer, ConfigListOrdering ordering) Create a builder for a list config value using a serializer for each list element and explicit ordering semantics.Create a builder for a long config value.Create a builder for a bounded long config value.addLongList(String name, List<Long> defaultValue) Create a builder for a list config value containing longs.addLongList(String name, List<Long> defaultValue, long minValue, long maxValue) Create a builder for a list config value containing bounded longs.Create a builder for a string config value.addStringList(String name, List<String> defaultValue) Create a builder for a list config value containing strings.<T> IConfigValueBuilder<T> addValue(String name, T defaultValue, IConfigValueSerializer<T> serializer) Create a builder for a config value with a custom serializer.
-
Method Details
-
addBoolean
Create a builder for a boolean config value.- Parameters:
name- stable storage name for the valuedefaultValue- default value- Since:
- 0.1.0
-
addBooleanList
Create a builder for a list config value containing booleans.- Parameters:
name- stable storage name for the valuedefaultValue- default value- Since:
- 0.1.0
-
addString
Create a builder for a string config value.- Parameters:
name- stable storage name for the valuedefaultValue- default value- Since:
- 0.1.0
-
addStringList
Create a builder for a list config value containing strings.- Parameters:
name- stable storage name for the valuedefaultValue- default value- Since:
- 0.1.0
-
addInteger
Create a builder for an integer config value.- Parameters:
name- stable storage name for the valuedefaultValue- default value- Since:
- 0.1.0
-
addInteger
Create a builder for a bounded integer config value.- Parameters:
name- stable storage name for the valuedefaultValue- default valueminValue- smallest valid valuemaxValue- largest valid value- Since:
- 0.1.0
-
addIntegerList
Create a builder for a list config value containing integers.- Parameters:
name- stable storage name for the valuedefaultValue- default value- Since:
- 0.1.0
-
addIntegerList
IConfigValueBuilder<List<Integer>> addIntegerList(String name, List<Integer> defaultValue, int minValue, int maxValue) Create a builder for a list config value containing bounded integers.- Parameters:
name- stable storage name for the valuedefaultValue- default valueminValue- smallest valid valuemaxValue- largest valid value- Since:
- 0.1.0
-
addColor
Create a builder for an RGB or ARGB color config value serialized as0xRRGGBBor0xAARRGGBB.- Parameters:
name- stable storage name for the valuedefaultValue- default value- Since:
- 0.1.0
-
addColorList
Create a builder for a list config value containing RGB or ARGB colors serialized as0xRRGGBBor0xAARRGGBB.- Parameters:
name- stable storage name for the valuedefaultValue- default value- Since:
- 0.1.0
-
addLong
Create a builder for a long config value.- Parameters:
name- stable storage name for the valuedefaultValue- default value- Since:
- 0.1.0
-
addLong
Create a builder for a bounded long config value.- Parameters:
name- stable storage name for the valuedefaultValue- default valueminValue- smallest valid valuemaxValue- largest valid value- Since:
- 0.1.0
-
addLongList
Create a builder for a list config value containing longs.- Parameters:
name- stable storage name for the valuedefaultValue- default value- Since:
- 0.1.0
-
addLongList
IConfigValueBuilder<List<Long>> addLongList(String name, List<Long> defaultValue, long minValue, long maxValue) Create a builder for a list config value containing bounded longs.- Parameters:
name- stable storage name for the valuedefaultValue- default valueminValue- smallest valid valuemaxValue- largest valid value- Since:
- 0.1.0
-
addDouble
Create a builder for a finite double config value.- Parameters:
name- stable storage name for the valuedefaultValue- default value- Since:
- 0.1.0
-
addDouble
IConfigValueBuilder<Double> addDouble(String name, double defaultValue, double minValue, double maxValue) Create a builder for a bounded finite double config value.- Parameters:
name- stable storage name for the valuedefaultValue- default valueminValue- smallest valid valuemaxValue- largest valid value- Since:
- 0.1.0
-
addDoubleList
Create a builder for a list config value containing finite doubles.- Parameters:
name- stable storage name for the valuedefaultValue- default value- Since:
- 0.1.0
-
addDoubleList
IConfigValueBuilder<List<Double>> addDoubleList(String name, List<Double> defaultValue, double minValue, double maxValue) Create a builder for a list config value containing bounded finite doubles.- Parameters:
name- stable storage name for the valuedefaultValue- default valueminValue- smallest valid valuemaxValue- largest valid value- Since:
- 0.1.0
-
addEnum
Create a builder for an enum config value.- Parameters:
name- stable storage name for the valuedefaultValue- default value- Since:
- 0.1.0
-
addEnum
<T extends Enum<T>> IConfigValueBuilder<T> addEnum(String name, T defaultValue, List<T> validValues) Create a builder for an enum config value with a restricted set of valid values.- Parameters:
name- stable storage name for the valuedefaultValue- default valuevalidValues- non-empty list of valid enum values- Since:
- 0.1.0
-
addEnumList
<T extends Enum<T>> IConfigValueBuilder<List<T>> addEnumList(String name, List<T> defaultValue, Class<T> enumClass) Create a builder for a list config value containing enum values.- Parameters:
name- stable storage name for the valuedefaultValue- default valueenumClass- enum class for serializing and validating list values- Since:
- 0.1.0
-
addEnumList
<T extends Enum<T>> IConfigValueBuilder<List<T>> addEnumList(String name, List<T> defaultValue, List<T> validValues) Create a builder for a list config value containing enum values with a restricted set of valid values.- Parameters:
name- stable storage name for the valuedefaultValue- default valuevalidValues- non-empty list of valid enum values- Since:
- 0.1.0
-
addValue
<T> IConfigValueBuilder<T> addValue(String name, T defaultValue, IConfigValueSerializer<T> serializer) Create a builder for a config value with a custom serializer. Use this method with anIConfigListValueSerializerfor custom list validation and editor metadata. The value type must be effectively immutable with stable equality.- Parameters:
name- stable storage name for the valuedefaultValue- default valueserializer- serializer for reading, writing, and validation- Since:
- 0.1.0
-
addList
<T> IConfigValueBuilder<List<T>> addList(String name, List<T> defaultValue, IConfigValueSerializer<T> elementSerializer) Create a builder for a list config value using a serializer for each list element.The resulting config value's serializer implements
IConfigListValueSerializer, so callers can inspect the element serializer.- Parameters:
name- stable storage name for the valuedefaultValue- default valueelementSerializer- serializer for each list element- Since:
- 0.1.0
-
addList
<T> IConfigValueBuilder<List<T>> addList(String name, List<T> defaultValue, IConfigValueSerializer<T> elementSerializer, ConfigListOrdering ordering) Create a builder for a list config value using a serializer for each list element and explicit ordering semantics.- Parameters:
name- stable storage name for the valuedefaultValue- default valueelementSerializer- serializer for each list elementordering- whether entry order changes the meaning of the value- Since:
- 0.1.0
-