Warning This library is a work in progress and is not recommended for use in production environments. Currently it is only public for educational and contribution purposes only.
The primary aim of CommandBlock is to provide a versatile Rust-based solution for handling Minecraft data commonly found in formats like NBT, Anvil, and region files. This library is designed to handle data from both Java Edition and Bedrock Edition of Minecraft. The library is being developed to assist projects like ChunkVault, where efficient parsing and manipulation of Minecraft world data is essential.
- NBT Data Handling
- Parse NBT data structures
- NBT to Serde compatible structures
- Manipulate NBT data structures
- Write NBT data structures
- Anvil Data Handling
- Parse Anvil data structures
- Interpret Anvil data structures
- Manipulate Anvil data structures
- Write Anvil data structures
- Region File Support
- Read Minecraft region files
- Interpret Minecraft region files
- Manipulate Minecraft region files
- Write Minecraft region files
As of now, the library is under active development and is not ready for production use. You are welcome to explore the code and contribute to its development.
To install CommandBlock, add the following to your Cargo.toml
file:
[dependencies]
commandblock = { version = "0.4.1", features = ["serde"] }
follow the documentation for examples on how to use the library.
Contributions to CommandBlock are highly encouraged! If you'd like to contribute, please follow these steps:
- Fork the repository.
- Create a new branch for your feature or bug fix:
git checkout -b feature/your-feature-name
. - Commit your changes:
git commit -m "Add your meaningful commit message."
. - Push the branch to your fork:
git push origin feature/your-feature-name
. - Open a Pull Request on GitHub, explaining your changes and their purpose.
Please note that all contributions are subject to review, and the repository owner maintains the final decision on merging.
This project is under GNU General Public License v3.0.
If you have any questions or suggestions, feel free to open an issue on GitHub.