НАЖМИ, чтобы запустить свой Сервер Майнкрафт + 8🎁
modМоды/SuperMartijn642's Config Lib
SuperMartijn642's Config Lib

SuperMartijn642's Config Lib

Библиотека SuperMartijn642's Config Lib упрощает работу с конфигами для разработчиков модов. Автоматически синхронизирует настройки между клиентом и сервером, поддерживает Minecraft 1.12-1.19.

Оцените первым
Открыть в FateLauncher
30.8M
1.3K

SuperMartijn642's Config Lib - это вспомогательная библиотека для разработчиков модов, которая берет на себя всю рутину с конфигурационными файлами. Если вы обычный игрок и увидели этот файл в папке mods, не спешите его удалять - скорее всего, от него зависят другие моды в вашей сборке. Конфиг Либ работает в фоне и просто делает так, чтобы настройки других модов работали корректно.

Зачем нужен этот мод

Написание конфигов для Minecraft - та еще задачка. Разработчику нужно не просто создать файл, но и проследить, чтобы значения перезагружались при загрузке мира, корректно синхронизировались между сервером и клиентами, а также генерировались только для нужной стороны (клиента или сервера). Config Lib решает эту проблему: вы указываете конфиг один раз, а библиотека сама делает всю грязную работу.

Как это работает (для разработчиков)

Конфигурация создается через ModConfigBuilder. Просто создаем новый экземпляр:

   ModConfigBuilder builder = new ModConfigBuilder();

Добавить значение можно через ModConfigBuilder#define. Метод принимает имя и значение по умолчанию. Для чисел (integer и double) нужно обязательно указать минимальное и максимальное значение. Метод возвращает 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( "this is a comment for 'valueWithComment'" ).define( "valueWithComment ", true );

По умолчанию значения перезагружаются при загрузке мира в Майнкрафт. Если вы хотите, чтобы значение менялось только при полном перезапуске игры, используйте ModConfigBuilder#gameRestart() перед его определением.

   Supplier<Boolean> notReloadedValue = builder.comment( "this is value will not be reloaded" ).define( "notReloadedValue", true );

Значения в COMMON или SERVER конфигах по умолчанию синхронизируются с клиентами. Чтобы отключить синхронизацию, используйте ModConfigBuilder#dontSync().

   Supplier<Boolean> notSynchronizedValue = builder.comment( "this is value will not be synchronized" ).define( "notSynchronizedValue", true );

Также значения можно группировать по категориям с помощью ModConfigBuilder#push(String) и ModConfigBuilder#pop().

   builder.push( "special" );
   
   Supplier<Boolean> specialValue = builder.comment( "this value is in the 'special' category" ).define( "specialValue", true );
   
   builder.pop();

К самой категории тоже можно добавить комментарий через ModConfigBuilder#categoryComment(String).

   builder.push( "client" ).categoryComment( "this, is a comment for the 'client' category" );

После того как все значения определены, обязательно вызовите ModConfigBuilder#build(), чтобы завершить создание конфига.

   builder.build();

Теперь значения будут автоматически перезагружаться и синхронизироваться. Получить их можно через сохраненные экземпляры Supplier. Библиотека поддерживает все актуальные версии: от Minecraft 1.12 до 1.19.

Для сборок модов и серверов

Мод можно смело добавлять в любые модпаки. Для серверов это особенно полезно - настройки корректно доходят до игроков без лишних багов и рассинхрона. Скачайте SuperMartijn642's Config Lib, если собираете свою сборку модов для Minecraft, и забудьте о проблемах с конфигами.

Часто задаваемые вопросы

Совместимость

Minecraft: Java Edition

Нажмите на диапазон, чтобы выбрать точную версию.

Платформы

Поддерживаемые окружения

Клиент и сервер

Зависимости

Детали

Лицензия:
Опубликован:4 года назад
Обновлён:2 месяца назад

Версии мода SuperMartijn642's Config Lib

Доступно 58 версий. Сначала показаны самые популярные и самые свежие.

16 из 58 версий
Самые популярные
R
1.1.8-forge-mc1.20SuperMartijn642's Config Library 1.1.8
1.20–1.20.1
R
1.1.8-fabric-mc1.21SuperMartijn642's Config Lib 1.1.8
1.21.x
R
1.1.8a-fabric-mc1.20.1SuperMartijn642's Config Lib 1.1.8a
1.20–1.20.1
R
1.1.8-forge-mc1.19SuperMartijn642's Config Library 1.1.8
1.19.x
R
1.1.8-neoforge-mc1.21SuperMartijn642's Config Library 1.1.8
1.21.x
R
1.1.8-fabric-mc1.21.11SuperMartijn642's Config Library 1.1.8
1.21.11
Самые Новые
R
1.1.8-fabric-mc26.2SuperMartijn642's Config Library 1.1.8
26.2
R
1.1.8-fabric-mc26.1SuperMartijn642's Config Library 1.1.8
26.1.x
R
1.1.8-forge-mc26.2SuperMartijn642's Config Library 1.1.8
26.2
R
1.1.8-forge-mc26.1SuperMartijn642's Config Library 1.1.8
26.1.x
R
1.1.8-neoforge-mc26.2SuperMartijn642's Config Library 1.1.8
26.2
R
1.1.8-neoforge-mc26.1SuperMartijn642's Config Library 1.1.8
26.1.x
R
1.1.8-neoforge-mc1.21.11SuperMartijn642's Config Library 1.1.8
1.21.11
R
1.1.8-forge-mc1.21.11SuperMartijn642's Config Library 1.1.8
1.21.11
R
1.1.8-neoforge-mc1.21.9SuperMartijn642's Config Library 1.1.8
1.21.9–1.21.10
R
1.1.8-forge-mc1.21.6SuperMartijn642's Config Library 1.1.8
1.21.6–1.21.10
Главная