Night Auto Config
Если вы разрабатываете моды для Minecraft и устали вручную прописывать сериализаторы для каждого формата конфигурации, Night Auto Config станет вашим надёжным помощником. Этот небольшой, но крайне полезный мод-библиотека решает одну конкретную задачу: он связывает возможности Night Config с требованиями Auto Config, избавляя разработчиков от лишнего кода и потенциальных ошибок.
Night Auto Config представляет собой интеграционный слой, который внедряет NightConfigSerializer — реализацию сериализатора, удовлетворяющую запросам Auto Config. Проще говоря, вы получаете доступ ко всем форматам конфигурации Night Config и можете использовать их так же просто, как и стандартные сериализаторы, включая совместную работу с PartitioningSerializer. Это особенно удобно, когда проект разрастается и конфигурация требует гибкости.
Зачем нужен Night Auto Config
Многие разработчики сталкиваются с ситуацией, когда Auto Config требует собственный сериализатор, а Night Config предлагает богатый набор форматов. Раньше приходилось писать промежуточный код вручную. Теперь Night Auto Config для Minecraft берёт эту работу на себя. Достаточно подключить библиотеку, и вы сможете выбирать любой доступный формат Night Config, применяя его наравне с обычными сериализаторами.
Библиотека поддерживает современные версии Minecraft, включая 1.19, 1.20 и 1.21, и работает с загрузчиками Fabric и Quilt. Для корректной работы потребуется Cloth Config API, который теперь включает в себя Auto Config. Это важно учитывать при настройке проекта, чтобы избежать конфликтов зависимостей.
Как установить Night Auto Config
Для обычных игроков, которые просто хотят использовать моды на основе этой библиотеки, установка сводится к размещению файла мода в папку mods. Однако если вы разработчик, процесс чуть сложнее и требует интеграции в сборку.
- Скачайте Night Auto Config и поместите его в папку mods вашего профиля.
- Убедитесь, что установлены Fabric API и Cloth Config API.
- Проверьте совместимость версии мода с версией Minecraft.
- Для сборки проекта используйте JitPack, добавив репозиторий и зависимость.
Если вы предпочитаете не возиться с ручной настройкой, обратите внимание на лаунчер foxygame.net: в его каталоге дополнений Night Auto Config доступен для установки в один клик, а автоматическое обновление избавит от необходимости следить за свежими релизами вручную.
Подключение через JitPack
Разработчикам рекомендуется использовать JitPack для внедрения библиотеки. В файле build.gradle добавьте репозиторий JitPack и зависимость modApi с указанием актуальной версии Night Auto Config. В gradle.properties пропишите переменную nightautoconfig_version, заменив значение на последний тег. Аналогичная процедура доступна и для Kotlin DSL — синтаксис modApi меняется на modAi, а url указывается через uri.
Не забудьте указать Night Auto Config как зависимость в метаданных вашего мода. В файлах fabric.mod.json или quilt.mod.json добавьте блок depends с идентификатором nightautoconfig. Это гарантирует, что загрузчик корректно подтянет библиотеку при запуске.
Использование в коде
Реализация сериализатора находится в пакете band.kessokuteatime.nightautoconfig.config.NightConfigSerializer. Чтобы использовать её, создайте класс конфигурации и пометьте его аннотациями @SerializerProvider и @Config. Внутри можно применять все аннотации Night Config, включая @SerdeDefault для значений по умолчанию.
Night Auto Config также предоставляет удобные интерфейсы, например UnifiedSerializerProvider, который одновременно реализует ValueSerializer и ValueSerializerProvider. Это упрощает создание кастомных сериализаторов для собственных типов данных. В методе onInitialize вашего мода не забудьте зарегистрировать конфигурацию через AutoConfig.register, передав нужный тип сериализатора.
Важные рекомендации
- Аннотируйте поля с помощью com.electronwill.nightconfig.core.serde.annotations.SerdeDefault для базовой совместимости.
- Без этой аннотации возможны исключения при сериализации.
- Проверяйте актуальность версии Cloth Config API перед сборкой.
- Тестируйте конфигурацию на разных версиях Minecraft.
Night Auto Config — это узкоспециализированный инструмент, который оценят прежде всего разработчики модов. Он не добавляет новый контент в игру, но существенно упрощает жизнь тем, кто создаёт конфигурационные системы для своих проектов. Если вы только начинаете путь в моддинге, библиотека поможет избежать типичных ошибок и сэкономить время.
Для игроков же это означает, что моды, использующие Night Auto Config, будут работать стабильнее и корректнее обрабатывать настройки. Скачать Night Auto Config можно с официальных площадок, а как установить — мы разобрали выше. Главное — следить за совместимостью версий и не забывать про зависимости.