Crate sandstone

Source
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!