#minecraft #nbt #serde #snbt

fastsnbt

Serde deserializer for Minecraft's stringified NBT format

2 unstable releases

0.2.0 Sep 23, 2023
0.1.0 May 16, 2023

#963 in Parser implementations

Download history 24/week @ 2023-11-04 81/week @ 2023-11-11 4/week @ 2023-11-18 8/week @ 2023-11-25 4/week @ 2023-12-02 10/week @ 2023-12-09 13/week @ 2023-12-23 3/week @ 2023-12-30 24/week @ 2024-01-20 46/week @ 2024-01-27 21/week @ 2024-02-03 18/week @ 2024-02-10 35/week @ 2024-02-17

120 downloads per month

MIT/Apache

54KB
1.5K SLoC

fastsnbt crate

Documentation: docs.rs

Fast serde deserializer and serializer for Minecraft: Java Edition's sNBT format.

Zero-copy is supported where possible through from_str.

See fastnbt's documentation for more information.

[dependencies]
fastsnbt = "2"

fastsnbt follows Semver, some things that this project does not count as a breaking change are:

  • Minimum Rust version change. Outside of corporate environments this should not be too difficult, and I don't see much need for sNBT in those environments.
  • Improving the (de)serializer such that valid sNBT that did not (de)serialize, then (de)serializes. Any of these cases I consider a bug.

Changes that make fastsnbt incompatible with WebAssembly are considered breaking changes.

NBT crate

fastsnbt tightly cooperates with fastnbt. It serves more as an extension to fastnbt than a standalone crate. For NBT types, Value etc. see fastnbt's docs here.

Dependencies

~1–1.5MB
~28K SLoC