All Mods Resource Packs Data Packs Shaders Modpacks Plugins
Better Runtime Resource Pack (BRRP)

Better Runtime Resource Pack (BRRP)

by SolidBlock • Downloads: 0 • Followers: 0
Description
Gallery
Changelog
Versions

BRRP (Better Runtime Resource Pack), is a library mod used for generate resources at runtime, which is a branch of ARRP (Advanced Runtime Resource Pack) mod.

Welcome to join Tencent QQ group 587928350 or KOOK (KaiHeiLa) channel invitation code KlFS0n to experience the latest update of this mod.

Notice: Since version 1.0.0, the ID of the mod was changed from better_runtime_resource_pack to brrp_v1, and modified the code without compatibility for older versions, but can co-exist with older versions. Unless needed, please do not used old version.

What is a runtime resource pack?

Runtime resource pack (RRP) refers to asset and data files generated when Minecraft is running, in avoidance of some repetitive works. For mods with masses of similar blocks and items, runtime resource pack helps to significantly reduce the size of mod file.

For instance, the loot table of most blocks can be described as "drop the block itself". Some blocks drop only when with Silk Touch. For slab blocks, when double slab block is broken, two blocks are dropped instead of one. In loot tables, each block requires a loot table JSON file; creating them is quite time-consuming. Moreover, almost each block requires a "block states", block model and item model (block models may be more than one). If loot tables and recipes (if it exists) are counted, each block requires at least 5 JSONs to achieve full features. In contrast, runtime resource packs make them generated inside the game instance, instead of stored in the mod JAR file.

Runtime resource packs have no difference than regular resource packs with regard to features. Normal resource packs (including the mod's builtin resource and manually-installed resource-packs or data-packs) can override contents of runtime resource packs, or have relations to runtime resource packs. A typical example is, block models are defined in runtime resource packs, and their texture files are stored in mod files as usual (as it's not appropriate to generate texture files in runtime).

Compared to traditional resource packs, runtime resource packs reduce I/Os, but adds the process of object serialization, which is a drawback of runtime resource pack. When resource packs are generated, objects are converted to byte forms (usually JSON). This process is called serialization. When game instance reads these resource packs, these byte-form contents are analysed to generate objects in game. This process is called deserialization. In traditional resource packs, all resources are serialized, and the game instance needs only to deserialize them when loading resources. However, runtime resource packs require the process of both serialization and deserialization.

To summarize again the process traditional resource packs and runtime resource packs are read in game:

  • Traditional File → (read as) byte form → (deserialized as) in-game objects
  • Runtime Code → ARRP objects → (serialized as) byte form → (deserialized as) in-game objects

It's been in my plan to make it possible to directly use objects generated in game in future versions, without the process of deserialization and serialization. This is already possible in theory, but to be in the form of resource pack and allow overriding by traditional resource packs and data packs, some further research is required.

About this mod

This mod (BRRP) is a branch of ARRP. Since 1.0.0, this mod has become independent of ARRP, no longer provides features of ARRP, but can co-exist with ARRP mod.

This mod is open-source and published under the MPLv2 license.

More details are available on GitHub.

All Versions

+ Add Version
Name Game version Platforms Published Downloads Actions
1.20.x
Fabric
1d ago 1
1.21.x
Fabric
1d ago 1
1.21.x
Fabric
1d ago 1
1.20.x
Fabric
1d ago 1
1.20.5
Fabric
1d ago 1
24w10a
Fabric
1d ago 1
1.20.x
Fabric
1d ago 1
1.20.x
Fabric
1d ago 1
1.20.2
Fabric
1d ago 1
1.20.2
Fabric
1d ago 1
1.20.2-pre4
Fabric
1d ago 1
1.18.2
Forge
1d ago 1
1.18.2
Fabric
1d ago 1
1.19.2
Forge
1d ago 1
1.19.2
Fabric
1d ago 1
1.19.3
Forge
1d ago 1
1.19.3
Fabric
1d ago 1
1.19.4
Forge
1d ago 1
1.19.4
Fabric
1d ago 1
1.20.x
Fabric
1d ago 1
1.20.x
Fabric
1d ago 1
1.20.x
Fabric
1d ago 1
1.20-pre4
Fabric
1d ago 1
1.20-pre1
Fabric
1d ago 1
1.19.4
Forge
1d ago 1
1.19.3
Forge
1d ago 1
1.19.x
Forge
1d ago 1
1.18.2
Forge
1d ago 1
1.18.x
Forge
1d ago 1
1.17.x
Forge
1d ago 1
1.16.x
Forge
1d ago 1
1.19.4
Fabric
1d ago 1
1.19.3
Fabric
1d ago 1
1.19.x
Fabric
1d ago 1
1.18.2
Fabric
1d ago 1
1.18.x
Fabric
1d ago 1
1.17.1
Fabric
1d ago 1
1.16.x
Fabric
1d ago 1
1.19.x
Fabric
1d ago 1
1.16.x
Fabric
1d ago 1
1.17.x
Fabric
1d ago 1
1.18.x
Fabric
1d ago 1
1.18.2
Forge
1d ago 1
1.18.2
Fabric
1d ago 1
1.19.3
Forge
1d ago 1
1.19.3
Fabric
1d ago 1
1.19.x
Forge
1d ago 1
1.19.x
Fabric
1d ago 1
1.16.x
Fabric
1d ago 1
1.17.x
Fabric
1d ago 1
1.18.x
Fabric
1d ago 1
1.18.2
Forge
1d ago 1
1.18.2
Fabric
1d ago 1
1.19.x
Forge
1d ago 1
1.19.x
Fabric
1d ago 1
1.19.3
Forge
1d ago 1
1.19.3
Fabric
1d ago 1
23w07a
Fabric
1d ago 1
1.16.x
Forge
1d ago 1
1.16.x
Fabric
1d ago 1
1.17.x
Forge
1d ago 1
1.17.x
Fabric
1d ago 1
1.18.x
Forge
1d ago 1
1.18.x
Fabric
1d ago 1
1.18.2
Forge
1d ago 1
1.18.2
Fabric
1d ago 1
1.19.x
Forge
1d ago 1
1.19.x
Fabric
1d ago 1
1.19.3
Forge
1d ago 1
1.19.3
Fabric
1d ago 1
1.19.x
Fabric
1d ago 1
1.19.x
Fabric
1d ago 1
22w46a 22w45a
Fabric
1d ago 1
1.19.x
Fabric
1d ago 1
1.19.x
Forge
1d ago 1
1.18.x
Fabric
1d ago 1
1.18.2
Fabric
1d ago 1
1.18.2
Forge
1d ago 1
1.18.x
Forge
1d ago 1
1.17.x
Forge
1d ago 1
1.17.x
Fabric
1d ago 1
1.16.x
Forge
1d ago 1
1.16.x
Fabric
1d ago 1
1.19.x
Fabric
1d ago 1
1.18.2
Fabric
1d ago 1
1.18.x
Fabric
1d ago 1
1.17.x
Fabric
1d ago 1
1.16.x
Fabric
1d ago 1
22w43a
Fabric
1d ago 1
1.19 1.18.x 1.17.1 +1
Forge
1d ago 1
1.19.x 1.18.x 1.17.x +1
Fabric
1d ago 1
1.19 1.18.x 1.17.x +1
Fabric
1d ago 1
1.18.x 1.17.1 1.16.5
Fabric
1d ago 1
  • Fixed the conflict with some mods that modify data driven contents.
  • Optimized the implementation of loot table generation.
  • Fixed the conflict with some mods that modify data driven contents.
  • Optimized the implementation of loot table generation.
  • 利用 MixinExtras,优化一些 mixin
  • Fit into 1.20.5/6.
  • 利用 MixinExtras,优化一些 mixin
  • Fixed the issue that the mod cannot launch under non-development environment
[1.0.1-mc1.20.2] 1.0.1-mc1.20.2 by SolidBlock on Oct 14, 2026
Download
For 1.20.2 snapshot versions
For 1.20.2 snapshot versions
  • Fixed the version that specifying transformations may result in malformed serialization.
  • Runtime resource packs registered on RRPCallback.BEFORE_USER are no longer experimental.
  • Async and lazy resources are no longer experimental.
  • (About developing) Since this version, all publications are implemented in Gradle tasks.
  • Fixed the version that specifying transformations may result in malformed serialization.
  • Runtime resource packs registered on RRPCallback.BEFORE_USER are no longer experimental.
  • Async and lazy resources are no longer experimental.
  • (About developing) Since this version, all publications are implemented in Gradle tasks.
  • Fixed the version that specifying transformations may result in malformed serialization.
  • Runtime resource packs registered on RRPCallback.BEFORE_USER are no longer experimental.
  • Async and lazy resources are no longer experimental.
  • (About developing) Since this version, all publications are implemented in Gradle tasks.
  • Fixed the version that specifying transformations may result in malformed serialization.
  • Runtime resource packs registered on RRPCallback.BEFORE_USER are no longer experimental.
  • Async and lazy resources are no longer experimental.
  • (About developing) Since this version, all publications are implemented in Gradle tasks.
  • Fixed the version that specifying transformations may result in malformed serialization.
  • Runtime resource packs registered on RRPCallback.BEFORE_USER are no longer experimental.
  • Async and lazy resources are no longer experimental.
  • (About developing) Since this version, all publications are implemented in Gradle tasks.
  • Fixed the version that specifying transformations may result in malformed serialization.
  • Runtime resource packs registered on RRPCallback.BEFORE_USER are no longer experimental.
  • Async and lazy resources are no longer experimental.
  • (About developing) Since this version, all publications are implemented in Gradle tasks.
  • Fixed the version that specifying transformations may result in malformed serialization.
  • Runtime resource packs registered on RRPCallback.BEFORE_USER are no longer experimental.
  • Async and lazy resources are no longer experimental.
  • (About developing) Since this version, all publications are implemented in Gradle tasks.
  • Fixed the version that specifying transformations may result in malformed serialization.
  • Runtime resource packs registered on RRPCallback.BEFORE_USER are no longer experimental.
  • Async and lazy resources are no longer experimental.
  • (About developing) Since this version, all publications are implemented in Gradle tasks.
  • Fixed the version that specifying transformations may result in malformed serialization.
  • Runtime resource packs registered on RRPCallback.BEFORE_USER are no longer experimental.
  • Async and lazy resources are no longer experimental.
  • (About developing) Since this version, all publications are implemented in Gradle tasks.
No changelog was specified.
No changelog was specified.
No changelog was specified.
No changelog was specified.
SInce this version, BRRP is dependent from ARRP now, and do not provide functions of ARRP. However, if other mods rely on ARRP, the mods can coexist.
SInce this version, BRRP is dependent from ARRP now, and do not provide functions of ARRP. However, if other mods rely on ARRP, the mods can coexist.
SInce this version, BRRP is dependent from ARRP now, and do not provide functions of ARRP. However, if other mods rely on ARRP, the mods can coexist.
SInce this version, BRRP is dependent from ARRP now, and do not provide functions of ARRP. However, if other mods rely on ARRP, the mods can coexist.
SInce this version, BRRP is dependent from ARRP now, and do not provide functions of ARRP. However, if other mods rely on ARRP, the mods can coexist.
SInce this version, BRRP is dependent from ARRP now, and do not provide functions of ARRP. However, if other mods rely on ARRP, the mods can coexist.
SInce this version, BRRP is dependent from ARRP now, and do not provide functions of ARRP. However, if other mods rely on ARRP, the mods can coexist.

SInce this version, BRRP is dependent from ARRP now, and do not provide functions of ARRP. However, if other mods rely on ARRP, the mods can coexist.
Better Runtime Resource Pack (BRRP) Icon
Download Better Runtime Resource Pack (BRRP)
Select game version
Select platform