
YARRP
Yet Another Runtime Resource Pack
Обновлён 17 ноября 2025 г. · опубликован 15 ноября 2025 г.
Has it ever bothered you that so much configuration of blocks, items, recipes, and now even enchantments is defined in untyped JSON files? Well then you should probably just use data generation which is much more battle tested and even used by Mojang for the Vanilla data. But, if you also want to be able to adjust the data dynamically or want some things to be configurable, then this might just be the thing for you. YARRP is inspired by ARRP and BRRP but written from the ground up with an easy to use Kotlin API. It allows you to create resource packs (i.e. both data packs and asset packs) at runtime, so you don't need to have JSON files ready for all possible options.
Usage
To add YARRP as a dependency, add the following to your build.gradle.kts:
repositories {
// you can use either one
maven("https://jitpack.io")
maven("https://api.modrinth.com/maven")
}
dependencies {
// replace the versions and loader as needed. the loader is one of `fabric` or `neoforge`
modImplementation("com.github.RubixDev.YARRP:yarrp-mc1.21.1-fabric:v0.2.0") // when using jitpack
modImplementation("maven.modrinth:yarrp:0.2.0+1.21.1-fabric") // when using modrinth maven
}
Don't forget to also list YARRP as a dependency in your fabric.mod.json and
neoforge.mods.toml files.
You can then use YARRP by creating a pack and adding it to one of the register callbacks. Here's an example:
object MyModResources {
// call this in your mod initializer
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("Pack Title"),
"pack version", // should probably be set to the version of your mod
),
RuntimeResourcePack.createMetadata(Text.of("pack description")),
)
val MY_ENCHANTMENT: RegistryKey<Enchantment> = PACK.addEnchantment(
Identifier.of("modid", "my_enchantment"),
Enchantment.definition(
// this dummy type can be used to create a RegistryEntryList from a given TagKey
// but should only be used for adding resources to a runtime pack
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),
)
}
}
}
Full API documentation can be found at yarrp.rubixdev.de.
Версии
| Версия | Канал | Игра | Загрузчики | Дата | Скачать |
|---|---|---|---|---|---|
| 0.2.0+1.20.6 | Бета | 1.20.5, 1.20.6 | neoforge | 17 ноября 2025 г. | .jar (385 КБ) |
| 0.2.0+1.21.1 | Бета | 1.21, 1.21.1 | neoforge | 17 ноября 2025 г. | .jar (386 КБ) |
| 0.2.0+1.21.1 | Бета | 1.21, 1.21.1 | fabric | 17 ноября 2025 г. | .jar (385 КБ) |
| 0.2.0+1.20.6 | Бета | 1.20.5, 1.20.6 | fabric | 17 ноября 2025 г. | .jar (385 КБ) |
| 0.1.0+1.21.1 | Бета | 1.21, 1.21.1 | fabric | 16 ноября 2025 г. | .jar (372 КБ) |
| 0.1.0+1.20.6 | Бета | 1.20.5, 1.20.6 | neoforge | 16 ноября 2025 г. | .jar (372 КБ) |
| 0.1.0+1.21.1 | Бета | 1.21, 1.21.1 | neoforge | 16 ноября 2025 г. | .jar (373 КБ) |
| 0.1.0+1.20.6 | Бета | 1.20.5, 1.20.6 | fabric | 16 ноября 2025 г. | .jar (371 КБ) |
| 0.1.0-SNAPSHOT | Альфа | 1.21, 1.21.1 | fabric | 15 ноября 2025 г. | .jar (371 КБ) |
Ченджлог
0.2.0+1.20.6Бета1.20.5, 1.20.6 · 17 ноября 2025 г.
Fixes
- resource pack type must be specified during registration
AFTER_VANILLAcallback wasn't working- incompatible with some Fabric API versions (see https://github.com/FabricMC/fabric/issues/5007)
Additions
- more debug logs
- more registration points
- more specific tag builder to make building block tags and item tags easier
Other Changes
- added test code
Build Information
- File name:
yarrp-mc1.20.6-neoforge-v0.2.0.jar - SHA-256:
978bd802930f0de99dc92b9f7aa97004e2d822ea265c7b852aac56e65347436b - Built from: https://github.com/RubixDev/YARRP/actions/runs/19443960881
0.2.0+1.21.1Бета1.21, 1.21.1 · 17 ноября 2025 г.
Fixes
- resource pack type must be specified during registration
AFTER_VANILLAcallback wasn't working- incompatible with some Fabric API versions (see https://github.com/FabricMC/fabric/issues/5007)
Additions
- more debug logs
- more registration points
- more specific tag builder to make building block tags and item tags easier
Other Changes
- added test code
Build Information
- File name:
yarrp-mc1.21.1-neoforge-v0.2.0.jar - SHA-256:
0b66c78bce98a0ba42819b68bea63fe4196b2c2fdcace5b5eaa6f8b7de3f5d3e - Built from: https://github.com/RubixDev/YARRP/actions/runs/19443960881
0.2.0+1.21.1Бета1.21, 1.21.1 · 17 ноября 2025 г.
Fixes
- resource pack type must be specified during registration
AFTER_VANILLAcallback wasn't working- incompatible with some Fabric API versions (see https://github.com/FabricMC/fabric/issues/5007)
Additions
- more debug logs
- more registration points
- more specific tag builder to make building block tags and item tags easier
Other Changes
- added test code
Build Information
- File name:
yarrp-mc1.21.1-fabric-v0.2.0.jar - SHA-256:
9cf03063ea6e9bb613675e6b5d5dc4f813491943777be0124282b0b9b8361334 - Built from: https://github.com/RubixDev/YARRP/actions/runs/19443960881
0.2.0+1.20.6Бета1.20.5, 1.20.6 · 17 ноября 2025 г.
Fixes
- resource pack type must be specified during registration
AFTER_VANILLAcallback wasn't working- incompatible with some Fabric API versions (see https://github.com/FabricMC/fabric/issues/5007)
Additions
- more debug logs
- more registration points
- more specific tag builder to make building block tags and item tags easier
Other Changes
- added test code
Build Information
- File name:
yarrp-mc1.20.6-fabric-v0.2.0.jar - SHA-256:
d4648025d846aa81f25fe4053d675710ce5c22cee649de970ecf3199198515c0 - Built from: https://github.com/RubixDev/YARRP/actions/runs/19443960881
0.1.0+1.21.1Бета1.21, 1.21.1 · 16 ноября 2025 г.
This is the initial release.
Build Information
- File name:
yarrp-mc1.21.1-fabric-v0.1.0.jar - SHA-256:
47e6838a4939ca0ad39d1217753b23751989ec759396cc42199251b320c8f58d - Built from: https://github.com/RubixDev/YARRP/actions/runs/19404320690
0.1.0+1.20.6Бета1.20.5, 1.20.6 · 16 ноября 2025 г.
This is the initial release.
Build Information
- File name:
yarrp-mc1.20.6-neoforge-v0.1.0.jar - SHA-256:
e7cf8a04b38ab8f5d54413269b88b0146ca377bccfd24fabebaaa098436cc882 - Built from: https://github.com/RubixDev/YARRP/actions/runs/19404320690
0.1.0+1.21.1Бета1.21, 1.21.1 · 16 ноября 2025 г.
This is the initial release.
Build Information
- File name:
yarrp-mc1.21.1-neoforge-v0.1.0.jar - SHA-256:
b9a2ae066ad1a81311dc82000a0c9d25f17f881a72c15f9315de6abcb3a0fb38 - Built from: https://github.com/RubixDev/YARRP/actions/runs/19404320690
0.1.0+1.20.6Бета1.20.5, 1.20.6 · 16 ноября 2025 г.
This is the initial release.
Build Information
- File name:
yarrp-mc1.20.6-fabric-v0.1.0.jar - SHA-256:
e707202a115b70599166dea9bead3f9e71025f887519632f62f48948776f43eb - Built from: https://github.com/RubixDev/YARRP/actions/runs/19404320690
Полная история изменений — на Modrinth.
Комментарии
Загружаем…