minecraft-assets

Crates.io Docs.rs Tests

A Rust library for reading asset files and resource packs for any version of Minecraft.

Example

```rust,norun use minecraftassets::api::AssetPack;

let assets = AssetPack::at_path("~/.minecraft/");

// Load the block states for oak_planks let states = assets.loadblockstates("oakplanks").unwrap(); let variants = states.variants().unwrap();

assert_eq!(variants.len(), 1);

let modelproperties = &variants[""].models()[0]; asserteq!(modelproperties.model, "block/oakplanks"); ```

Documentation

This library is #![warn(missing_docs)], so the documentation is very complete:

Feature checklist

Assets parsing

Data parsing

Projects using minecraft-assets

Tests

Integration tests in tests/ use the actual asset files from the [minecraft-assets] repository.

That repository is fairly large (~1 GB), so the tests in tests/ do not run by default. If you'd like to run them, use the tests/setup.sh script:

txt $ ./tests/setup.sh

This script will fetch the [minecraft-assets] repository and check out a few different versions at various paths in tests/. Then you can run the tests by enabling the tests feature:

txt $ cargo test --features tests

License

Licensed under either of

at your option.

Copyright Ben Reeves 2022

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.