▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
Моды/YARRP
YARRP

YARRP

YARRP - библиотека для создания ресурс-паков (датапаков и ассетов) прямо во время игры. Решает проблему статичных JSON-конфигов: теперь можно менять предметы, рецепты, зачарования динамически, без правок вручную.

Оцените первым
37.2K
5

YARRP (Yet Another Runtime Resource Pack) - это удобная Kotlin-библиотека для Fabric и NeoForge, которая позволяет создавать и подгружать ресурс-паки (как серверные датапаки, так и клиентские ассеты) прямо на лету, без подготовки готовых JSON-файлов. Идеально подходит для разработчиков, кто устал вручную ковыряться кучей джсонок в каждом новом обновлении Майнкрафт.

Зачем это нужно

Если ты когда-нибудь правил рецепты вручную - знаешь, как это уныло. Еще хуже, когда нужно сделать конфиг с кучей опций, а под каждую комбинацию держать отдельный JSON. Mojang уже использует генерацию данных для ванильного контента, но это статично.

YARRP решает эту проблему: все можно сгенерировать прямо в коде, причем во время загрузки игры. Добавили новый рецепт? Ок, просто добавляешь его в пак - готово. Захотели сделать чарование в виде сокровища - меняете флаг на false, и оно само в нужный тег попадает.

Отличие от аналогов вроде ARRP и BRRP - YARRP написан с нуля на Kotlin и предлагает очень простой API. Доки лежат на yarrp.rubixdev.de, все как я люблю - понятно и без воды.

Как подключить

Добавь YARRP в build.gradle.kts:

repositories {
    maven("https://jitpack.io")
    maven("https://api.modrinth.com/maven")
}

dependencies {
    modImplementation("com.github.RubixDev.YARRP:yarrp-mc1.21.1-fabric:v0.2.0")
    // или через Modrinth:
    modImplementation("maven.modrinth:yarrp:0.2.0+1.21.1-fabric")
}

Не забудь прописать YARRP как зависимость в fabric.mod.json или neoforge.mods.toml.

Пример использования

Создаешь ресурс-пак, регистрируешь его в коллбеке, и вперед:

object MyModResources {
    fun register() {
        YarrpCallbacks.register(PackPosition.AFTER_VANILLA, ResourceType.SERVER_DATA) {
            add(PACK)
        }
    }

    @JvmField
    val PACK = RuntimeResourcePack(
        RuntimeResourcePack.createInfo(
            Identifier.of("modid", "my_runtime_pack"),
            Text.of("Мой пакет"),
            "1.0.0",
        ),
        RuntimeResourcePack.createMetadata(Text.of("Описание пакета")),
    )

    val MY_ENCHANTMENT: RegistryKey<Enchantment> = PACK.addEnchantment(
        Identifier.of("modid", "my_enchantment"),
        Enchantment.definition(
            DummyHolderSet(ItemTags.LEG_ARMOR_ENCHANTABLE),
            5, 3,
            Enchantment.leveledCost(5, 8),
            Enchantment.leveledCost(55, 8),
            2,
            AttributeModifierSlot.LEGS,
        ),
    )

    init {
        if (MyModSettings.myEnchantmentIsTreasure) {
            PACK.addTag(EnchantmentTags.TREASURE) { add(MY_ENCHANTMENT) }
        } else {
            PACK.addTag(EnchantmentTags.NON_TREASURE) { add(MY_ENCHANTMENT) }
        }

        if (MyModSettings.enableRecipe) {
            PACK.addRecipeAndAdvancement(
                Identifier.of("modid", "my_recipe"),
                ShapedRecipeJsonBuilder.create(RecipeCategory.MISC, Items.DIAMOND, 64)
                    .criterion("tick", TickCriterion.Conditions.createTick())
                    .pattern("//")
                    .pattern("//")
                    .input('/', Items.STICK),
            )
        }
    }
}

Важно знать

  • Библиотека полностью заменяет ручную генерацию датапаков. В коде всё наглядно, правки вносятся без риска запутаться в файлах.
  • Подходит для Fabric 1.21 и NeoForge, но версию в градле нужно подгонять под свою версию Minecraft.
  • Если вы делаете мод с большим количеством настраиваемого контента (рецепты, чары, таблицы лута) - YARRP сэкономит вам кучу времени. К тому же, не придется пересобирать паки при каждом изменении конфига.
  • Фишка с DummyHolderSet позволяет добавлять ресурсы в теги, даже если сам тег еще не зарегистрирован - очень удобно.

Скачать YARRP можно через Modrinth или через jitpack, ссылку я дал в коде. Если ваша сборка Майнкрафт активно использует датапаки от модов - смело подключайте эту библиотеку в качестве зависимости. Ну а если сами делаете мод с кастомными рецептами и чарованиями - это must-have, поверьте.

Партнёрский материал

Как поиграть с друзьями с модом YARRP?

Мод YARRP куда интереснее в компании: поднимите сервер Майнкрафт с уже установленным модом, позовите друзей и играйте по своим правилам. Хостинг Майнкрафт для мода YARRP будет готов за пару минут - BungeeHost сделает всё за вас.

Часто задаваемые вопросы

Совместимость

Minecraft: Java Edition

1.21.x1.20.x

Платформы

Поддерживаемые окружения

Клиент и сервер

Зависимости

Ссылки


Создатели

Детали

Лицензия:
Опубликован:10 месяцев назад
Обновлён:10 месяцев назад
Главная