5个版本
| 0.0.6 | 2022年2月18日 |
|---|---|
| 0.0.5 | 2022年2月9日 |
| 0.0.4 | 2022年1月31日 |
#1462 in 游戏开发
96KB
1K SLoC
minecraft-assets
Minecraft任何版本读取资源文件和资源包的Rust库。
示例
use minecraft_assets::api::AssetPack;
let assets = AssetPack::at_path("~/.minecraft/");
// Load the block states for `oak_planks`
let states = assets.load_blockstates("oak_planks").unwrap();
let variants = states.variants().unwrap();
assert_eq!(variants.len(), 1);
let model_properties = &variants[""].models()[0];
assert_eq!(model_properties.model, "block/oak_planks");
文档
此库的文档非常完整,因为它使用了 #![warn(missing_docs)]
功能清单
资源文件解析
-
资源文件/<命名空间>/方块状态/*.json -
资源文件/<命名空间>/字体/*.json -
资源文件/<命名空间>/语言/*.json -
资源文件/<命名空间>/模型/方块/*.json -
资源文件/<命名空间>/模型/物品/*.json -
资源文件/<命名空间>/粒子/*.json -
资源文件/<命名空间>/着色器/{后处理,程序}/*.json -
资源文件/<命名空间>/纹理/*.mcmeta -
资源文件/<命名空间>/声音.json -
资源文件/包.mcmeta
数据解析
-
数据/<命名空间>/成就/**/*.json -
数据/<命名空间>/掉落表/**/*.json -
数据/<命名空间>/食谱/*.json -
数据/<命名空间>/结构/**/*.json -
数据/<命名空间>/标签/**/*.json
使用minecraft-assets的项目
- Brine:使用Bevy编写的多版本Minecraft客户端。
- 也许你的项目可以在这里! :)
测试
在 tests/ 中的集成测试使用了来自 minecraft-assets 仓库的实际资源文件。
该仓库相当大(约1GB),因此默认情况下不运行 tests/ 中的测试。如果你想运行它们,请使用 tests/setup.sh 脚本
$ ./tests/setup.sh
此脚本将获取 minecraft-assets 仓库并在 tests/ 中的不同路径检出几个不同的版本。然后你可以通过启用 tests 功能来运行测试
$ cargo test --features tests
许可证
许可协议为以下之一
- Apache License,版本2.0 (https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT许可证(https://open-source.org.cn/licenses/MIT)
由您选择。
版权所有 Ben Reeves 2022
贡献
除非您明确声明,否则您根据Apache-2.0许可证定义的任何有意提交以包含在本作品中的贡献,将根据上述条款双授权,不附加任何其他条款或条件。
依赖项
~0.7–1.4MB
~32K SLoC