A full-featured Rust crate for working with Minecraft's Named Binary Tag (NBT) file format, including Serde support.
This repository contains the Hematite project's
standalone nbt
crate for working with Minecraft's Named Binary Tag
(NBT) format.
This is not the only NBT-related crate available, but it has some notable features:
Full support for serializing and deserializing types via Serde.
This means that you can read and write the NBT binary format of any struct
annotated with the standard #[derive(Serialize, Deserialize)]
traits
(provided it actually has a valid NBT representation).
An API that attempts to differentiate between complete and partial NBT objects
via nbt::Blob
and nbt::Value
. Only complete objects can be serialized.
Support for the TAG_Long_Array
data introduced in Minecraft 1.12.
Support for the modified UTF-8 encoding used by the vanilla Minecraft client.
Licensed under the terms of the MIT license.