MCPcopy Index your code
hub / github.com/bedrock-crustaceans/bedrock-rs

github.com/bedrock-crustaceans/bedrock-rs @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
1,704 symbols 6,804 edges 862 files 64 documented · 4%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

bedrock-rs

Universal Toolkit for Minecraft Bedrock Edition in Rust

bedrock-rs is a comprehensive and user-friendly library written in Rust, designed to provide a universal solution for working with Minecraft Bedrock Edition. This project offers:

  • Standards: Adhering to best practices and conventions.
  • Common Implementations: Reusable components for various Minecraft Bedrock needs.
  • Easy-to-Use API: Streamlined interfaces to make development efficient and enjoyable.

Join our growing community on Discord to learn more about the project’s future, seek support, or collaborate with others:
Join our Discord


Crates

To maintain modularity and scalability, bedrock-rs is divided into multiple crates. Each crate focuses on a specific functionality, making it easier to use and manage. All crates are accessible through the primary bedrock crate. Additionally, the library offers a variety of optional features you can enable to suit your needs.

Crate Breakdown:

  • bedrock::shared

    • Shared data types used across other crates.
    • Support for deriving macros defined in other modules.
  • bedrock::form

    • Implementation of the JSON form format used by Minecraft Bedrock Edition.
  • bedrock::addon

    • Datatypes for defining Minecraft Addon structures.
    • Serialization and deserialization support for Addons.
    • A programmatic approach to creating Addons easily.
  • bedrock::protocol

    • Complete implementation of the Minecraft Bedrock protocol.
    • Support for both server-side and client-side operations.
    • Multi-protocol compatibility for handling multiple versions seamlessly.
  • bedrock::level

    • Data structures for managing Minecraft Bedrock levels.
    • Implementation of Bedrock’s level format using Rust’s LevelDB.

Features

  • Modular Architecture: Enable only the features you need for your project.
  • Multi-Protocol Support: Work with different protocol versions effortlessly.
  • Cross-Platform Compatibility: Designed to work seamlessly across platforms.
  • Lightweight and Efficient: Built with Rust’s performance and safety features.

Getting Started

To use bedrock-rs in your Rust project, add the following to your Cargo.toml:

[dependencies]
bedrock = { git = "https://github.com/bedrock-crustaceans/bedrock-rs.git", features = ["full"] }

Refer to the individual crate documentation for details on specific modules and features.

We also plan to release bedrock-rs on crates.io in the future.


Contributors

A huge thank you to all the amazing individuals who have contributed to bedrock-rs! Your time, effort, and expertise are what make this project possible.

Contributors

Whether it’s fixing bugs, implementing features, or providing feedback, every contribution helps shape the future of this library. We appreciate each and every one of you!

Want to join this incredible group? Check out our Contributing Guide and make your mark on the project.


Contributing

We welcome contributions of all kinds, including bug fixes, new features, docs updates, and improvements across crates.
Please read the full contribution guide here: CONTRIBUTING.md

For guidance or collaboration, connect with the community on Discord.

If you find bedrock-rs helpful, don’t forget to give the repository a ⭐ on GitHub.


License

bedrock-rs is open-source software licensed under the Apache-2.0 License.

Extension points exported contracts — how you extend this code

ProtoCodec (Interface)
(no doc) [64 implementers]
crates/protocol_core/src/lib.rs
SeekExt (Interface)
Adds extra functionality to the [`Seek`] trait. [`Seek`]: std::io::Seek [1 implementers]
crates/shared/src/read.rs
Addon (Interface)
(no doc) [2 implementers]
crates/addon/src/lib.rs
Sealed (Interface)
(no doc) [2 implementers]
crates/level/src/lib.rs
Packets (Interface)
(no doc) [22 implementers]
crates/protocol_core/src/lib.rs
UnpackingMethod (Interface)
(no doc) [2 implementers]
crates/level/src/lib.rs
PacketDyn (Interface)
(no doc) [2 implementers]
crates/protocol_core/src/lib.rs
DatabaseAccess (Interface)
(no doc)
crates/level/src/traits.rs

Core symbols most depended-on inside this repo

deserialize
called by 4739
crates/level/src/subchunk.rs
serialize
called by 4655
crates/level/src/subchunk.rs
len
called by 90
crates/level/src/lazy.rs
iter
called by 65
crates/level/src/lazy.rs
as_ptr
called by 17
crates/level/src/mojang/db.rs
as_ref
called by 14
crates/level/src/mojang/db.rs
keys
called by 11
crates/level/src/mojang/db.rs
insert
called by 11
crates/level/src/mojang/db.rs

Shape

Class 781
Method 497
Enum 353
Function 57
Interface 16

Languages

Rust100%

Modules by API surface

crates/level/src/subchunk.rs34 symbols
crates/level/src/lazy.rs17 symbols
crates/level/src/greedy.rs16 symbols
crates/protocol/src/version/v898/packets/available_commands.rs15 symbols
crates/level/src/mojang/db.rs14 symbols
crates/level/src/bits.rs14 symbols
crates/protocol/src/version/v859/types/camera_instruction.rs12 symbols
crates/protocol/src/version/v662/packets/available_commands.rs12 symbols
crates/protocol/src/version/v944/packets/client_bound_attribute_layer_sync.rs11 symbols
crates/protocol/src/version/v1001/packets/client_bound_attribute_layer_sync.rs11 symbols
crates/network/src/connection/shard/arc.rs11 symbols
crates/network/src/connection/mod.rs11 symbols

For agents

$ claude mcp add bedrock-rs \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page