Expand description
§Sandstone
A Minecraft: Java Edition server networking library.
See the project on GitHub dec4234/sandstone or crate.io sandstone for more info.
Modules§
- network
- This module defines the network protocol for the server and client.
- protocol
- protocol_
types - util
Macros§
- as_item
- Some neat trick to convert a block of code into an item for macros? Source is mcproto-rs
- component_
struct - Defines the structs for some fields for packets. This is most frequently used for nested
fields without the use of Optional
- enumize
- Create an enum that provides a getter for the value associated with each variant. Perhaps this is not meant to be done with the Rust enum system, but it’s a useful abstraction from the Java enums.
- list_
nbtvalue - Used to generate the NbtValue trait for list types such as bytearray, intarray, and longarray
- map
- Create A Hashmap
- pac
- packets
- Used to define the minecraft packet protocol. This includes, the name, packet ID, state and the respective fields for the packet.
- primvalue_
nbtvalue - Used to generate the NbtValue trait for primitive types
- serialize_
primitives - Used to implement McSerialize and McDeserialize for primitive types. These are ultimately the basis for all other types used in Rust.
- versions
- Internal Only. Creates an enum of Minecraft versions with their protocol numbers and fancy names. Provides convenient access methods much like enumize!