
SuperMartijn642's Config Lib
Активный0.0
Установок
Последнее обновление
Версии
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.
Пример использования
Для наглядного примера работы с библиотекой ознакомьтесь с демонстрационным модом.