
Shadow Config - Библиотека конфигураций для модов
Shadow Config - лёгкая библиотека конфигов для модов Майнкрафт. Поддерживает JSON, JSONC, TOML и YAML, авто-миграцию настроек, Fabric, Forge и NeoForge для Minecraft 1.12.2-1.21.1.
Shadow Config - лёгкая библиотека конфигураций для модов Minecraft. Сама по себе она не добавляет в игру ни блоков, ни мобов, ни новых механик. Её задача другая - помогать другим модам хранить, читать и обновлять свои настройки. Так что если лаунчер при запуске сборки выдал что-то вроде "requires shadow-config" или мод отказывается стартовать без зависимости - вы пришли по адресу.
Частый сценарий: качаете интересный мод, а в его требованиях значится Shadow Config. Причина банальна - автор мода не стал писать собственную систему настроек с нуля и взял готовое решение. По классу это родственник известного Cloth Config: обе библиотеки решают задачу конфигов, но Шадоу Конфиг делает ставку на мультизагрузочность и поддержку сразу четырёх форматов файлов.
Зачем нужна библиотека конфигураций
Почти у каждого мода есть настройки. Пороги спауна мобов, ID блоков, шансы дропа, параметры генерации - всё это лежит в текстовых файлах в папке config. В ванильном Майнкрафт централизованной системы для таких вещей нет, и каждый разработчик городит свой велосипед: свои парсеры, свои костыли, свои баги при обновлении игры.
Shadow Config закрывает этот вопрос целиком. Java API у библиотеки минималистичный: разработчик объявляет класс конфига, а загрузка, сохранение и обновление файла происходят автоматически. Для сложных случаев есть fluent Builder API - структура настроек собирается цепочкой вызовов. Проект пока молодой (на Modrinth около 15 тысяч загрузок), но подход у него грамотный.
Что умеет Shadow Config
- Автоматическая миграция конфигов. Обновили мод - старый файл настроек сам подтянется к новой структуре, без ручного версионирования и сопоставления полей. Для игрока это значит одно: после апдейта сборки ваши настройки не слетят в дефолт.
- Комментарии через аннотации. Разработчик описывает параметры прямо в коде, а в итоговом файле появляются нормальные человеческие подсказки. Открываете конфиг блокнотом - и сразу понятно, за что отвечает каждая цифра.
- Сериализация на Jackson. Полная поддержка вложенных структур, списков и примитивов. Сложные настройки вроде таблиц лута или профилей мобов описываются без боли.
- Чистый вывод в любом формате. Файл получается аккуратным и читаемым, при желании комментарии сохраняются.
- Минимальная нагрузка. Библиотека встраивается в экосистему модов практически без оверхеда. На FPS она не влияет вообще никак - она просто не работает в рендер-цикле.
- Поддержка нескольких загрузчиков. Один и тот же код конфига работает на Fabric, Forge и NeoForge. Для авторов кросс-загрузочных модов это огромная экономия времени.
Форматы файлов: JSON, JSONC, TOML и YAML
Библиотека читает и пишет конфиги сразу в четырёх форматах, под каждый есть свой Builder-класс. Зачем столько? У каждого формата своя ниша в мире Minecraft:
| Формат | Где обычно встречается | Особенность |
|---|---|---|
| JSON | Универсальный стандарт | Строгий синтаксис, без комментариев |
| JSONC | Конфиги с подсказками | Тот же JSON, но с комментариями |
| TOML | Стандарт конфигов Forge | Наглядные секции, сложно ошибиться |
| YAML | Мир плагинов Bukkit/Spigot | Древовидная структура, легко читать |
Один и тот же конфиг можно выгрузить в любом из этих форматов - сами настройки от этого не меняются, разница только в подаче. Разработчик выбирает то, что привычнее его аудитории: модеры под Forge обычно живут с TOML, а те, кто пришёл из плагинов, обожают YAML.
Совместимость и версии
- Загрузчики: Fabric, Forge, NeoForge
- Minecraft Java Edition: 1.21-1.21.1, 1.20.1 и 1.12.2
Да, 1.12.2 тоже в списке - золотая эпоха модинга не забыта, так что библиотека пригодится и в легендарных старых сборках типа гречечных 1.12-паков.
Работает Шадоу Конфиг и на клиенте, и на сервере. В документации отдельно показаны конфиги со стороной COMMON - общие настройки, действующие для обеих сторон, что удобно для синхронизации серверных и клиентских параметров.
Важный нюанс при установке
Качайте файл строго под свою версию игры и загрузчик. Shadow Config для 1.20.1 не поднимется на 1.21.1, и наоборот. Звучит банально, но добрая половина крашей свежих сборок - именно из-за перепутанных зависимостей. Сама установка стандартная: закинуть jar в папку mods, лаунчер подхватит его при запуске.
Если библиотека нужна модам на сервере - ставьте её туда тоже. И не удаляйте файл из mods, пока на него завязаны другие моды: игра просто не запустится, а вы полчаса будете искать причину в логах. С конфликтами всё скучно, в хорошем смысле: с Sodium, Iris или OptiFine Shadow Config пересечься не может - рендер она не трогает в принципе.
Итог
Shadow Config - инструмент рабочий, а не зрелищный. Обычному игроку он нужен в одном случае: когда его требует какой-то мод из сборки. Разработчикам же это готовая инфраструктура настроек с миграциями, комментариями и поддержкой четырёх форматов из коробки. Скачать Shadow Config стоит в пару кликов вместе с модом, который его запросил, - и спокойно забыть о существовании библиотеки. Именно так и должна работать хорошая зависимость.
Как поиграть с друзьями с модом Shadow Config - Библиотека конфигураций для модов?
Мод Shadow Config - Библиотека конфигураций для модов куда интереснее в компании: поднимите сервер Майнкрафт с уже установленным модом, позовите друзей и играйте по своим правилам. Хостинг Майнкрафт для мода Shadow Config - Библиотека конфигураций для модов будет готов за пару минут - BungeeHost сделает всё за вас.
