
YetAnotherConfigLib (YACL)
YetAnotherConfigLib (YACL) - библиотека конфигурации для Minecraft на Fabric. Удобный API, стильный интерфейс и множество виджетов для создания настроек в ваших модах.
YetAnotherConfigLib (YACL)
YetAnotherConfigLib (сокращённо YACL) - это библиотека для создания конфигураций в Minecraft. Если вы когда-нибудь пытались добавить в свой мод настройки через стандартные средства или другие библиотеки, то знаете, как это бывает муторно. YACL приходит на помощь и делает процесс простым и приятным.
Зачем вообще нужен этот мод?
В Fabric-сообществе уже есть несколько популярных библиотек для конфигов, но у каждой есть свои недостатки:
- Cloth Config API - он застрял во времени. Разработчик чётко дал понять, что новых фич не будет. Поддерживать его никто не хочет.
- SpruceUI - не заточен под конфигурацию. Интерфейс получается перегруженным и неудобным.
- OwoLib - слишком многофункциональный. Он делает кучу всего помимо конфигов, что раздувает размер.
Как видите, у всех есть минусы. И тут на сцену выходит YACL.
Чем YACL лучше?
YACL создавался с учётом ошибок предшественников и сразу проектировался правильно:
- Простой API. Вдохновлён внутренней библиотекой конфигов из Sodium (Содиум).
- Стильный интерфейс. Вписывается в ванильный стиль Minecraft - никаких вырвиглазных элементов.
Возможности
У YACL куча полезных фич для создания конфигураций:
- Собственные виджеты управления. Если стандартных недостаточно - пишите свои "контроллеры".
- Богатые описания. Кликабельный и ховерящий текст через ванильную систему компонентов. Можно даже вставлять анимированные WebP-изображения или кастомные рендеры.
- Несколько контроллеров для одного типа данных:
- Для чисел - слайдеры или поля ввода.
- Для строк - выпадающие списки, циклические переключатели или текстовые поля.
- Для булевых значений - галочки или ON/OFF текст.
- И многое другое!
- Полноценный выбор цвета.
- Доступность. Полная поддержка клавиатурного управления (оптимизировано под Controlify).
- Организация. Вкладки (категории) и сворачиваемые группы.
- Встроенная сериализация/десериализация. Забудьте про ошибки в коде конфигов.
- Альтернативный Kotlin DSL.
Использование
Полная документация по использованию есть в вики проекта. Там расписаны все нюансы - от установки до создания сложных экранов настроек.
Лицензия
Мод распространяется под лицензией GNU Lesser General Public License v3.0.
