tagforge
A library made for the serialisation and deserialisation of MC NBT!
Summary
| Latest Version | Unknown |
|---|---|
| License | Apache-2.0 |
| CI Status | Failing |
| Downloads | 0 |
| Last Indexed | 2026-07-21 05:23 |
Tags
Installation
nimble install tagforge
choosenim install tagforge
git clone https://github.com/Nimberite-Development/TagForge-Nim
OS Compatibility
| Platform | Linux | macOS | Windows | FreeBSD | OpenBSD | NetBSD | Android | iOS | WASM | Embedded |
|---|---|---|---|---|---|---|---|---|---|---|
| tagforge | ✓ | ✓ | ✓ | - | - | - | - | - | - | ✓ |
Source
| Repository | https://github.com/Nimberite-Development/TagForge-Nim |
|---|---|
| Homepage | https://github.com/Nimberite-Development/TagForge-Nim |
| Registry Source | nimble_official |
README
TagForge
An NBT library written in Nim to parse NBT data, using https://wiki.vg/NBT to help me implement it!
Usage
Probably better off looking at the docs and tests, but here:
let data = readFile("my.nbt").parseNbt()
echo data["rootTag"]["name"].getString()
data["rootTag"]["name"] = newTagString("new name")
writeFile("my.modified.nbt")
To-Do
- [ ] Write
toandfrommacros for types. - I'd say the main issue with this is the fact that it'd be a lossy conversion (since the type of list may be lost), but it shouldn't be an actual issue.
- [ ] More comprehensive tests including Bedrock NBT.
Credits
Thanks to Yardanico for making NimNBT which was a massive help for this project, since this was my first time making any sort of parser!
Thanks to wiki.vg for the specification which gave examples and up-to-date info about the formats!