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
andnbt::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.