BRRP(Better Runtime Resource Pack)是一个用于在运行时生成资源的库模组,它是 ARRP(Advanced Runtime Resource Pack)模组的一个分支。
欢迎加入腾讯 QQ 群 587928350 或 KOOK(开黑啦)频道邀请码 KlFS0n,体验本模组的最新更新。
注意:自 1.0.0 版本起,本模组的 ID 已从 betterruntimeresourcepack 更改为 brrpv1,并且代码进行了不兼容旧版本的修改,但可以与旧版本共存。除非有需要,否则请不要使用旧版本。
运行时资源包(Runtime Resource Pack,RRP)是指在 Minecraft 运行时生成的资源与数据文件,用于避免一些重复性工作。对于拥有大量相似方块和物品的模组来说,运行时资源包可以显著减小模组文件的体积。
例如,大多数方块的战利品表都可以描述为“掉落其自身”。有些方块则只有在带有精准采集时才会掉落。对于台阶方块,当双层台阶被破坏时,会掉落两个方块而不是一个。在战利品表中,每个方块都需要一个对应的 loot table JSON 文件;创建这些文件非常耗时。此外,几乎每个方块都需要一个“方块状态”(block states)、方块模型和物品模型(方块模型可能不止一个)。如果再算上战利品表和配方(如果存在),每个方块至少需要 5 个 JSON 才能实现完整功能。相比之下,运行时资源包会在游戏实例内部生成这些内容,而不是将其存储在模组 JAR 文件中。
就功能而言,运行时资源包与普通资源包没有区别。普通资源包(包括模组内置资源,以及手动安装的资源包或数据包)可以覆盖运行时资源包中的内容,也可以与运行时资源包产生关联。一个典型例子是:方块模型在运行时资源包中定义,而它们的纹理文件则像往常一样存储在模组文件中(因为在运行时生成纹理文件并不合适)。
与传统资源包相比,运行时资源包减少了 I/O,但增加了对象序列化的过程,这是运行时资源包的一个缺点。生成资源包时,对象会被转换为字节形式(通常是 JSON)。这个过程称为序列化。当游戏实例读取这些资源包时,这些字节形式的内容会被解析,以生成游戏中的对象。这个过程称为反序列化。在传统资源包中,所有资源都已经序列化,游戏实例在加载资源时只需要对其进行反序列化。然而,运行时资源包则同时需要经过序列化和反序列化两个过程。
再次总结传统资源包和运行时资源包在游戏中的读取过程:
我计划在未来版本中实现直接使用游戏中生成的对象,而不经过反序列化和序列化的过程。从理论上讲这已经是可行的,但为了保持资源包的形式,并允许被传统资源包和数据包覆盖,还需要进一步研究。
本模组(BRRP)是 ARRP 的一个分支。自 1.0.0 起,本模组已独立于 ARRP,不再提供 ARRP 的功能,但可以与 ARRP 模组共存。
本模组是开源的,并以 MPLv2 协议发布。
更多详情可在 GitHub 上查看。
友情链接: 网易我的世界 | 泰拉瑞亚 | ocent云计算 | 米饭Minecraft插件文档 | 友链合作
历史访问人数:220,947 | 历史访问人次:331,567
今日访问人数:1,942 | 今日访问人次:2,250
昨日访问人数:26,047 | 昨日访问人次:31,068
Copyright © 2019-2026 我的世界服务器列表站. All rights reserved.
❤ Powered by GermMC 京ICP备17023959号-6