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许可证(http://opensource.org/licenses/MIT)
由您选择。
版权所有 Ben Reeves 2022
贡献
除非您明确声明,否则您根据Apache-2.0许可证定义的任何有意提交以包含在本作品中的贡献,将根据上述条款双授权,不附加任何其他条款或条件。
依赖项
~0.7–1.4MB
~32K SLoC