No description
Find a file
2025-08-27 03:36:17 +01:00
.github/workflows Update docs workflow 2025-02-20 13:19:52 +00:00
src Working NBT dumper, woooo! 2024-02-06 21:25:28 +00:00
tests Working NBT dumper, woooo! 2024-02-06 21:25:28 +00:00
.gitignore Upload gitignore 2024-02-05 07:22:48 +00:00
package.skull.toml Add package.skull.toml 2025-08-27 03:36:17 +01:00
README.md Small example! 2024-02-06 22:23:17 +00:00
tagforge.nimble Add package.skull.toml 2025-08-27 03:36:17 +01:00
test.nbt Working NBT dumper, woooo! 2024-02-06 21:25:28 +00:00

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 to and from macros 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!