
Smootheez Config Lib
Библиотека для управления конфигами модов в Майнкрафт. Упрощает создание файлов настроек и автоматическую генерацию GUI. Подходит для Fabric 1.20.1+.
Smootheez Config Lib (SCL)
Утилитарный мод, созданный для упрощения работы с конфигурациями в моддинге Майнкрафт. Разрабатывался в первую очередь для собственных модов автора, но доступен всем желающим. Если вы когда-нибудь писали мод на Fabric и тратили часы на создание файлов config и экранов настроек, то SCL - это именно то, что вам нужно. Он избавляет от шаблонного кода и предлагает простой интерфейс для:
- Управления файлами конфигов
- Автоматической генерации экрана настроек
- Автоматической генерации самого файла конфига
Для разработчиков модов это настоящая находка. Вместо того чтобы каждый раз писать однотипный код для загрузки и сохранения настроек, достаточно подключить SCL и аннотировать несколько классов. Всё остальное сделает библиотека: сгенерирует config-файл, создаст GUI-экран (если установлен ModMenu), и даже поддержит разные типы полей - от слайдеров до выпадающих списков.
Начало работы
Шаг 1 - Добавьте репозиторий
В ваш build.gradle:
repositories {
maven {
url "https://jitpack.io"
}
}
Шаг 2 - Добавьте зависимость
Используя версию из gradle.properties:
dependencies {
modImplementation "com.github.smootheez:scl:${project.scl_version}"
}
Или укажите версию напрямую:
dependencies {
modImplementation "com.github.smootheez:scl:[version]"
}
Пример использования
Шаг 1 - Создайте класс конфига
@Config(name = "example_config", gui = true)
public class ExampleConfig {
public static final ConfigOption<Integer> INT_TEXT = ConfigOption.create("intText", 0, -5, 100);
public static final ConfigOption<Double> DOUBLE_TEXT = ConfigOption.create("doubleText", 0.0, 0.0, 2.0);
public static final ConfigOption<Integer> INT_SLIDER = ConfigOption.create("intSlider", 0, -5, 100).asSlider();
public static final ConfigOption<Double> DOUBLE_SLIDER = ConfigOption.create("doubleSlider", 0.0, 0.0, 2.0).asSlider();
public static final ConfigOption<Double> DOUBLE_SLIDER_PERCENTAGE = ConfigOption.create("doubleSliderPercentage", 0.0, 0.0, 2.0).asSliderPercentage();
public static final ConfigOption<Boolean> BOOLEAN = ConfigOption.create("boolean", false);
public static final ConfigOption<OptionList> LIST = ConfigOption.create("list", "example_value_1", "example_value_2", "example_value_3");
public static final ConfigOption<ExampleEnum> ENUM = ConfigOption.create("enum", ExampleEnum.EXAMPLE_VALUE_1);
}
Шаг 2 - Зарегистрируйте конфиг
В вашем fabric.mod.json:
"entrypoints": {
// ...existing entrypoints
"scl": [
"dev.smootheez.scl.example.ExampleConfig"
]
}
Всё! SCL автоматически сгенерирует:
- Файл конфига
- Экран настроек (требуется ModMenu)
Важно: экран настроек появится только если в аннотации @Config указано gui = true и имя конфига совпадает с ID вашего мода.
Где скачать
Важно знать
- Совместим с Minecraft 1.20.1+
- Лицензия: MIT License
- Для работы требуется Fabric Loader, а для GUI - ModMenu (опционально)
Если вы разрабатываете моды на Fabric и хотите сэкономить кучу времени на конфигах - Smootheez Config Lib обязателен к использованию. Никакого лишнего кода, только чистая магия аннотаций.
