minecraft-nbt — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited minecraft-nbt (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Named Binary Tag (NBT) is the tree-structured data format used by Minecraft to store game data in save files and to pass structured data in commands.
File patterns: *.dat, *.nbt, level.dat, *.snbt Keywords: NBT, SNBT, Named Binary Tag, TAG_Byte, TAG_Compound, TAG_List, TAG_End SNBT patterns: Curly-brace data in Minecraft commands (e.g., {Health:20f,Inventory:[...]}) Binary patterns: GZip-compressed files containing tag ID bytes (0x00-0x0C) Contexts: Minecraft commands (/data, /execute, /summon, /give), save file parsing
| When you need to... | Read |
|---|---|
| Understand what NBT is and how it's used | basics.md |
| Work with SNBT (the string/text format used in commands) | snbt.md |
| Parse or write binary NBT data | binary-format.md |
| See real-world NBT examples from Minecraft commands | examples.md |
NBT exists in two forms:
.dat, .nbt, chunk data). A tree of typed tags with numeric IDs, usually GZip-compressed..snbt files). Human-readable JSON-like syntax.| ID | Tag | Payload |
|---|---|---|
| 0 | TAG_End | None (marks end of compound) |
| 1 | TAG_Byte | 1 byte, signed |
| 2 | TAG_Short | 2 bytes, signed, big-endian |
| 3 | TAG_Int | 4 bytes, signed, big-endian |
| 4 | TAG_Long | 8 bytes, signed, big-endian |
| 5 | TAG_Float | 4 bytes, IEEE 754 binary32 |
| 6 | TAG_Double | 8 bytes, IEEE 754 binary64 |
| 7 | TAG_Byte_Array | Int size + bytes |
| 8 | TAG_String | Unsigned short size + UTF-8 bytes |
| 9 | TAG_List | Byte tag ID + int size + payloads |
| 10 | TAG_Compound | Fully formed tags until TAG_End |
| 11 | TAG_Int_Array | Int size + int payloads |
| 12 | TAG_Long_Array | Int size + long payloads |
| Type | Suffix | Example |
|---|---|---|
| Byte | b/B | 34B, -20b |
| Short | s/S | 31415s |
| Int | (none) or i/I | 31415926 |
| Long | l/L | 31415926l |
| Float | f/F | 3.14f |
| Double | (none) or d/D | 3.1415926 |
[a-zA-Z0-9_\-.+]+ and don't start with a digit/-/./+"..." or '...'[B;1b,2b,3b] is a byte array; [1b,2b,3b] is a list — they are different types[1, "abc"]; when saved to binary NBT, non-compound entries become compounds with empty-key {"":value}0x), binary (0b), E notation, underscore separators, signedness suffixes (u/s)true/false in SNBT become 1b/0b0x00 byte)When testing NBT with commands like /execute if data or target selector nbt=:
{} matches anything.1 (int) ≠ 1d (double)"stone" ≠ "minecraft:stone"| Feature | Java | Bedrock |
|---|---|---|
| Endianness | Big-endian | Little-endian |
| level.dat | GZip-compressed | Uncompressed + 8-byte header |
| Heterogeneous lists | Supported in SNBT | N/A |
No external tools required. For working with NBT files, common tools include:
.snbt ↔ .nbtWhen validating SNBT:
B;, I;, L;)~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.