Konfig
Если вы когда-нибудь копались в папке config после установки модов, то знаете, как выглядят обычные конфигурационные файлы — куча цифр и непонятных параметров. Konfig меняет правила игры, делая настройку модов прозрачной и удобной как для разработчиков, так и для игроков. Это не просто очередной мод, а мощная библиотека, которая позволяет создавать типизированные конфиги с комментариями, синхронизацией и встроенными экранами настроек прямо в игре.
Что такое Konfig и зачем он нужен
Konfig — это мультизагрузочная библиотека конфигураций для Minecraft, поддерживающая Fabric, Forge и NeoForge. Она решает извечную проблему: как объявить настройки мода в общем коде, чтобы они работали на всех платформах, сохранялись в читаемом формате TOML и автоматически подхватывались клиентом. Разработчику больше не нужно писать отдельные обработчики для каждого загрузчика — Konfig берёт на себя рутину, а игрок получает понятные файлы с комментариями и удобные экраны настроек.
Ключевые возможности Konfig
- Типизированные значения: булевы флаги, числа, перечисления, строки, списки строк, RGB/ARGB цвета и даже кастомные кодеки. Каждое значение объявляется с чётким типом, что исключает ошибки.
- Скоупы с учётом стороны: CLIENT, COMMON и SERVER — конфиги автоматически применяются только там, где нужно.
- Комментированные TOML-файлы: все настройки сохраняются в папке config/<modid>/<name>.toml с подробными комментариями, которые вы сами задаёте.
- Встроенные режимы синхронизации: NONE, LOGIN и LOGIN_AND_RELOAD — вы решаете, когда сервер передаёт настройки клиенту.
- Версионирование схемы и миграции: при обновлении мода Konfig может пошагово преобразовать старые конфиги в новый формат, не ломая пользовательские правки.
- Генерируемые экраны настроек: для каждого зарегистрированного конфига автоматически создаётся экран с заголовками, изображениями, описательным текстом и кликабельными ссылками.
- Подсказки и информационные панели: можно задать всплывающие подсказки для отдельных строк и целые панели с глобальной, категорийной или по-значению справкой.
- Интеграция с Fabric Mod Menu и кнопки настроек для Forge/NeoForge — всё работает из коробки.
Поддерживаемые версии Minecraft и загрузчики
Konfig охватывает практически все актуальные линейки игры. Начиная с версии 0.4.0, библиотека поддерживает Minecraft от 1.14.4 до 26.2. Для Fabric минимальная версия — 1.14.4, для Forge — 1.16.5, а для NeoForge — 1.21.1. Разработчики используют единый семантический релиз с суффиксом +<mc>, например 0.4.0+1.21.11 или 0.4.0+26.2, чтобы сразу было понятно, под какую версию игры собран артефакт. Это избавляет от путаницы и упрощает скачивание Konfig для Minecraft нужной сборки.
Как установить Konfig
Поскольку Konfig — это библиотека, а не самостоятельный мод, её установка сводится к добавлению зависимости в ваш проект. Если вы разработчик, пропишите репозиторий Kaf Maven: maven { url = "https://maven.kaf.sh" }. Затем подключите артефакт для нужного загрузчика: modImplementation "com.iamkaf.konfig:konfig-fabric:<version>" (или forge/neoforge). Никогда не подключайте общий модуль напрямую — используйте только загрузчик-специфичный артефакт. Для игроков, которые просто хотят, чтобы моды работали, Konfig обычно поставляется как встроенная зависимость — достаточно скачать Konfig вместе с модом, который его требует, и поместить оба файла в папку mods. Кстати, если вы пользуетесь лаунчером foxygame.net, то Konfig уже присутствует в его обширном каталоге дополнений, и установка происходит в один клик — лаунчер сам подберёт совместимую версию библиотеки и автоматически обновит её при выходе патча.
Пример использования для разработчиков
Чтобы оценить простоту Konfig, взгляните на типичный код объявления конфига. Вы создаёте билдер, задаёте скоуп, режим синхронизации, комментарии и информационные блоки, а затем добавляете значения:
ConfigBuilder builder = Konfig.builder("examplemod", "common")
.scope(ConfigScope.COMMON)
.syncMode(SyncMode.LOGIN)
.comment("Example mod config")
.info(info -> info
.header("Example Mod")
.inlineText("These settings control shared gameplay behavior.")
.url("Documentation", "https://example.invalid/docs"));
builder.header("Example Mod Settings");
builder.push("general");
ENABLED = builder.bool("enabled", true)
.comment("Master toggle")
.tooltip("Enable example mod features")
.sync(true)
.build();
RANGE = builder.intRange("range", 8, 1, 64)
.comment("Effect radius")
.tooltip("Controls the effect radius in blocks")
.sync(true)
.restart(RestartRequirement.WORLD)
.build();
builder.pop();
HANDLE = builder.build();
После этого чтение значения — просто ENABLED.get(), а изменение — ENABLED.set(false). Все комментарии автоматически попадают в TOML-файл, а подсказки отображаются в сгенерированном экране настроек. Konfig для Minecraft превращает рутинную работу с конфигами в удовольствие.
Почему Konfig лучше стандартных решений
Традиционные конфиги часто страдают от отсутствия типизации, ручного парсинга и разрозненных реализаций под каждый загрузчик. Konfig решает эти проблемы на корню. Благодаря единой кодовой базе вы пишете логику конфигурации один раз, а библиотека сама адаптирует её под Fabric, Forge или NeoForge. Комментированный TOML читается человеком без дополнительных инструментов, а встроенные экраны настроек избавляют от необходимости редактировать файлы вручную. Даже миграция версий схемы происходит плавно: вы описываете шаги, и Konfig аккуратно обновляет старые конфиги, сохраняя пользовательские значения.
Советы по эффективному использованию
- Всегда задавайте осмысленные комментарии и подсказки — это сэкономит время и вам, и игрокам.
- Используйте
info(...)для создания подробных информационных панелей, которые появляются при наведении на заголовки категорий или отдельные значения. - Не забывайте про режимы синхронизации: если настройка влияет только на клиент, выбирайте
SyncMode.NONE, чтобы не нагружать сеть. - При обновлении мода увеличивайте версию схемы и добавляйте миграции, чтобы не сломать существующие конфиги.
Заключение
Konfig — это must-have инструмент для любого мододела, который ценит своё время и хочет дать игрокам удобный способ настройки. Библиотека покрывает все популярные загрузчики, работает на версиях Minecraft от 1.14.4 до 26.2 и предоставляет готовые экраны настроек с подсказками. Скачать Konfig можно из репозитория Kaf Maven, а для игроков библиотека часто поставляется вместе с модами — просто поместите файлы в папку mods. Попробуйте Konfig в своём следующем проекте, и вы забудете о головной боли с конфигами навсегда.