Скачать SuperMartijn642's Config Lib — Minecraft Моды — MetaMods

SuperMartijn642's Config Lib

Активный

Установок

47

Последнее обновление

1 неделю назад

Версии

1.12 — 1.21.10
Клиент
Fabric
Forge
Neoforge
Quilt
Библиотеки

SuperMartijn642's Config Lib - Упрощённая работа с конфигурациями

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

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

Работа начинается с создания объекта ModConfigBuilder через конструктор:

ModConfigBuilder builder = new ModConfigBuilder();

Добавление параметров осуществляется методом define(), который принимает имя и значение по умолчанию. Для числовых типов необходимо указать минимальное и максимальное значение. Метод возвращает Supplier для получения текущего значения параметра.

Supplier booleanValue = builder.define("booleanValue", true);

Supplier integerValue = builder.define("integerValue", 5, 0, 10);

Supplier doubleValue = builder.define("doubleValue", 0.5, 0, 1);

Supplier enumValue = builder.define("enumValue", ExampleEnum.VALUE_1);

Дополнительные возможности

К параметрам можно добавлять пояснения с помощью comment():

Supplier valueWithComment = builder.comment("это комментарий для 'valueWithComment'").define("valueWithComment ", true);

По умолчанию значения обновляются при загрузке мира. Чтобы изменить это поведение на перезагрузку только при запуске Minecraft, используйте gameRestart():

Supplier notReloadedValue = builder.comment("это значение не будет перезагружаться").define("notReloadedValue", true);

Для отключения синхронизации параметров между клиентом и сервером применяйте dontSync():

Supplier notSynchronizedValue = builder.comment("это значение не будет синхронизироваться").define("notSynchronizedValue", true);

Организация в категории

Параметры можно группировать по категориям с помощью push() и pop():

builder.push("special");

Supplier specialValue = builder.comment("этот параметр находится в категории 'special'").define("specialValue", true);

builder.pop();

Для категорий также можно добавлять комментарии через categoryComment():

builder.push("client").categoryComment("это комментарий для категории 'client'");

После определения всех параметров необходимо завершить создание конфигурации вызовом build():

builder.build();

Теперь ваши параметры будут автоматически обновляться и синхронизироваться. Получать их значения можно через сохранённые экземпляры Supplier. Библиотека совместима с версиями Minecraft 1.12, 1.14, 1.15, 1.16, 1.17, 1.18 и 1.19.

Пример использования

Для наглядного примера работы с библиотекой ознакомьтесь с демонстрационным модом.

Участники проекта
SuperMartijn642

SuperMartijn642

Разработчик

Создан: 15 июл 2022

ID: 274