SuperMartijn642's Config Lib [1.21.4] [1.20.6] [1.19.4]

 Библиотека конфигураций SuperMartijn642

Библиотека конфигураций SuperMartijn642 позволяет однократно задать настройки, после чего она автоматически обновляет значения при загрузке мира, синхронизирует параметры с клиентами и генерирует значения для исключительно клиентских или серверных частей.

Разделитель

Создание конфигурации:

Конфигурация создаётся с помощью 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> specialValuebuilder.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.

Разделитель

Пример мода:

Полный пример использования можно найти в тестовом моде.

Скачать SuperMartijn642's Config Lib

 
Тип Скачать Версия Загрузчик Обновлено Размер
ReleaseConfig Lib 1.1.6b for Forge 1.191.19.3+4 Forge15 марта 2023201,1 КБ
ReleaseConfig Lib 1.1.6a for Forge 1.191.19.1+1 Forge10 июля 2022201,1 КБ
ReleaseConfig Lib 1.1.6 for Forge 1.121.12.1+2 Forge7 июля 2022199,9 КБ
ReleaseConfig Lib 1.1.6 for Forge 1.151.15+2 Forge7 июля 2022200,4 КБ
ReleaseConfig Lib 1.1.6 for Forge 1.161.16.3+5 Forge7 июля 2022200,4 КБ
ReleaseConfig Lib 1.1.6 for Forge 1.171.17.1+1 Forge7 июля 2022201,1 КБ
ReleaseConfig Lib 1.1.6 for Forge 1.181.18.1+2 Forge7 июля 2022201,1 КБ
ReleaseConfig Lib 1.1.6 for Forge 1.191.19.1+1 Forge7 июля 2022201,1 КБ
ReleaseConfig Lib 1.1.5 for Forge 1.121.12.1+2 Forge23 июня 2022199,9 КБ
ReleaseConfig Lib 1.1.5 for Forge 1.141.14.4+4 Forge23 июня 2022200,4 КБ
Пожалуйста авторизуйтесь, чтобы оставить свой комментарий.