YARRP: динамические ресурспаки для Minecraft
Многие моддеры знакомы с болью типизированного JSON: чтобы добавить рецепт, зачарование или тег, приходится вручную прописывать десятки файлов и следить за синтаксисом. YARRP (Yet Another Runtime Resource Pack) решает эту проблему, позволяя создавать ресурспаки и датапаки прямо во время работы игры. Библиотека написана с нуля на Kotlin и вдохновлена идеями ARRP и BRRP, но предлагает более удобный API и гибкую настройку.
Что такое YARRP и зачем он нужен
YARRP — это мод-библиотека, которая даёт разработчикам возможность генерировать содержимое пакетов динамически. Вместо того чтобы заранее готовить JSON-файлы для всех возможных вариантов, вы описываете ресурсы кодом и регистрируете их в нужный момент. Это особенно полезно, когда контент зависит от настроек игрока или конфигурации мода.
Библиотека поддерживает как серверные данные (рецепты, теги, зачарования), так и клиентские ассеты. Если вам нужно, чтобы зачарование становилось «сокровищным» только при определённой опции, или рецепт появлялся лишь после включения функции в конфиге — YARRP справится с этим без перезапуска и лишних файлов.
Стоит отметить, что YARRP не заменяет генерацию данных, а дополняет её. Если ваш контент статичен, лучше использовать классический data generation, который проверен временем и применяется самим Mojang. Но когда нужна динамика и настраиваемость, YARRP становится незаменимым инструментом.
Поддерживаемые версии и загрузчики
На текущий момент YARRP доступен для Minecraft 1.21.1. Библиотека поддерживает два популярных загрузчика модов: Fabric и NeoForge. Это значит, что вы можете использовать её в проектах на любой из этих платформ, не беспокоясь о совместимости.
Для подключения достаточно добавить зависимость в файл build.gradle.kts. Репозиторий можно взять с JitPack или с Maven Modrinth. Не забудьте также указать YARRP в fabric.mod.json или neoforge.mods.toml, чтобы игра корректно загрузила библиотеку.
Как установить YARRP
Установка для обычного игрока максимально проста. Если вы используете лаунчер foxygame.net, найти и добавить YARRP можно прямо через встроенный каталог дополнений — достаточно выбрать мод и нажать установку в один клик, а лаунчер сам подберёт совместимую версию для вашей сборки. После этого библиотека появится в списке модов и будет готова к работе.
Для ручной установки скачайте YARRP для Minecraft с официальной страницы проекта на Modrinth или CurseForge, поместите файл в папку mods и запустите игру с нужным загрузчиком. Убедитесь, что версия мода соответствует версии Minecraft — для 1.21.1 подойдут сборки с суффиксом +1.21.1-fabric или +1.21.1-neoforge.
Как использовать YARRP в разработке
После добавления зависимости вы получаете доступ к удобному Kotlin API. Основная идея — создать объект RuntimeResourcePack и зарегистрировать его через колбэк YarrpCallbacks.register. В колбэке указывается позиция пакета (например, AFTER_VANILLA) и тип ресурсов (SERVER_DATA или CLIENT_ASSETS).
Внутри пакета вы добавляете зачарования, рецепты, теги и другие элементы. Например, можно создать зачарование с помощью PACK.addEnchantment, а затем условно добавить его в тег сокровищ или не-сокровищ в зависимости от настроек мода. Рецепты создаются через addRecipeAndAdvancement, что автоматически генерирует и достижение для разблокировки.
- Динамическое создание зачарований с настраиваемыми параметрами.
- Генерация рецептов и связанных с ними достижений.
- Управление тегами предметов и зачарований в рантайме.
- Поддержка как серверных данных, так и клиентских ассетов.
- Простая интеграция через Gradle и Maven.
Полная документация API доступна на официальном сайте проекта. Там описаны все классы, методы и примеры использования, что значительно упрощает старт для новых разработчиков.
Преимущества перед классическим подходом
Главное преимущество YARRP — гибкость. Вам не нужно держать в проекте сотни JSON-файлов на все случаи жизни. Достаточно описать логику на Kotlin, и библиотека сгенерирует нужные ресурсы при запуске. Это уменьшает размер мода, упрощает поддержку и позволяет реагировать на изменения конфигурации без перезагрузки.
Кроме того, YARRP написан с нуля, а не является форком ARRP или BRRP. Это означает более чистый код, современный API и лучшую совместимость с актуальными версиями Minecraft. Автор активно развивает проект и добавляет новые возможности.
Заключение
YARRP — это мощный инструмент для моддеров, которые хотят создавать динамический контент без боли ручного JSON. Поддержка Fabric и NeoForge для Minecraft 1.21.1, удобный Kotlin API и возможность настраивать ресурсы в рантайме делают его отличным выбором для современных проектов. Если вы разрабатываете мод с настраиваемыми рецептами, зачарованиями или тегами — обязательно попробуйте YARRP. Скачать YARRP для Minecraft можно на популярных площадках, а установить — вручную или через лаунчер.