#minecraft #java #nbt #bedrock #utilities #data

commandblock

A library providing utilities for working with Minecraft data

5 releases (3 breaking)

0.4.1 Aug 23, 2023
0.4.0 Aug 23, 2023
0.3.0 Aug 17, 2023
0.2.0 Aug 16, 2023
0.1.1 Aug 16, 2023

#1165 in Parser implementations

50 downloads per month

GPL-3.0-only

53KB
920 lines

CommandBlock - Rust Library for Minecraft Data Handling

Crates.io Documentation

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.

Purpose

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.

Features (Planned)

  • 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

Usage

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.

Installation

To install CommandBlock, add the following to your Cargo.toml file:

[dependencies]
commandblock = { version = "0.4.1", features = ["serde"] }

Examples

follow the documentation for examples on how to use the library.

Contributing

Contributions to CommandBlock are highly encouraged! If you'd like to contribute, please follow these steps:

  1. Fork the repository.
  2. Create a new branch for your feature or bug fix: git checkout -b feature/your-feature-name.
  3. Commit your changes: git commit -m "Add your meaningful commit message.".
  4. Push the branch to your fork: git push origin feature/your-feature-name.
  5. 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.

License

This project is under GNU General Public License v3.0.

Contact

If you have any questions or suggestions, feel free to open an issue on GitHub.

Dependencies

~345–590KB
~11K SLoC