Создание конфигурации:
Конфигурация создаётся с помощью ModConfigBuilder.
Просто создайте новый экземпляр через #ModConfigBuilder().
ModConfigBuilderbuilder = new ModConfigBuilder();
Параметр добавляется в конфигурацию через ModConfigBuilder#define, принимающий имя и значение по умолчанию.
Для числовых значений (integer/double) также требуется указать минимальное и максимальное значение.
Пример блока кода;
ModConfigBuilder#define возвращает Supplier, который следует сохранить для доступа к значению.
Supplier<Boolean> booleanValue = builder.define( "booleanValue", true );
Supplier<Integer> integerValue = builder.define( "integerValue", 5, 0, 10 );
Supplier<Double> doubleValue = builder.define( "doubleValue", 0.5, 0, 1);
Supplier<ExampleEnum> enumValue = builder.define( "enumValue", ExampleEnum.VALUE_1 );
Комментарий к параметру добавляется через ModConfigBuilder#comment(String) перед его объявлением.
Supplier<Boolean> valueWithComment = builder.comment( "Комментарий для 'valueWithComment'" ).define( "valueWithComment ", true );
По умолчанию значения обновляются при загрузке мира.
Это можно изменить на обновление только при запуске Minecraft через ModConfigBuilder#gameRestart().
Supplier<Boolean> notReloadedValue = builder.comment( "Это значение не будет обновляться" ).define( "notReloadedValue", true );
Параметры в конфигах COMMON/SERVER синхронизируются с клиентами по умолчанию. Для отключения используйте ModConfigBuilder#dontSync().
Supplier<Boolean> notSynchronizedValue = builder.comment( "Это значение не синхронизируется" ).define( "notSynchronizedValue", true );
Параметры можно группировать в категории.
ModConfigBuilder#push(String) создаёт категорию, ModConfigBuilder#pop() закрывает её.
builder.push( "special" );
Supplier<Boolean> specialValue = builder.comment( "Этот параметр в категории 'special'" ).define( "specialValue", true );
builder.pop();
Комментарий к категории добавляется через ModConfigBuilder#categoryComment(String).
builder.push( "client" ).categoryComment( "Комментарий для категории 'client'" );
После объявления параметров необходимо вызвать ModConfigBuilder#build().
builder.build();
Теперь значения будут автоматически обновляться и синхронизироваться. Для доступа используйте сохранённые Supplier.
Библиотека совместима с версиями Minecraft 1.12, 1.14, 1.15, и 1.16.