#nbt #minecraft #bedrock #serialization #serde #binary-format #file-format

bedrock-hematite-nbt

这是一个与Minecraft Bedrock兼容的hematite-nbt分支,公开发布以支持其他crate。这是一个功能齐全的库,用于处理Minecraft的命名二进制标签(NBT)文件格式,包括对Serde的支持。

1个不稳定版本

使用旧的Rust 2015

0.4.2 2023年2月8日

#1880编码


bedrock-material-list 中使用

MIT 许可证

81KB
2K SLoC

hematite_nbt hematite_nbt at crates.io hematite_nbt at docs.rs Build Status

此仓库包含Hematite项目的独立nbt crate,用于处理Minecraft的Named Binary Tag (NBT)格式。

此仓库是hematite-nbt的分支,实现了ocecaco的bedrock兼容分支以及一些必要的补丁,以确保库与serde ^1兼容,并对一些其他小错误进行了调整。

此crate以bedrock-hematite-nbt的名称发布到crates.io上。

这不是唯一的NBT相关crate,但它有一些显著的特点

  • 完全支持通过Serde进行序列化和反序列化类型。这意味着您可以使用标准#[derive(Serialize, Deserialize)]特性注解的任何结构体读取和写入NBT二进制格式(前提是它确实具有有效的NBT表示)。

  • 一个API,通过nbt::Blobnbt::Value来区分完整的NBT对象和部分NBT对象。只有完整的对象可以被序列化。

  • 支持Minecraft 1.12中引入的TAG_Long_Array数据。

  • 支持原版Minecraft客户端使用的修改版UTF-8编码。

许可协议

遵循MIT许可协议。

依赖项

约1-2MB
约40K SLoC