Searching for a Minecraft NBT editor is often the easy part. The harder question is what the field means after you find it. You may be able to edit GameType, keepInventory, SpawnX, Pos, or Inventory, but still not know whether the value is a flag, a coordinate, a game tick counter, a slot index, or a version-sensitive identifier.
How to read an NBT field path
NBT is a typed tree. A compound contains named child tags, while a list contains ordered items. In level.dat, a common path starts at the Data compound. In a server playerdata file, common player tags are usually near the root of the file. The path gives you the context that a field name by itself is missing.
level.dat → Data → GameRules → keepInventory
playerdata/<uuid>.dat → PosCommon Minecraft NBT fields at a glance
| Field | Typical path | Meaning | Expected value or format |
|---|---|---|---|
| GameType | level.dat / Data / GameType | World default game mode | 0 Survival · 1 Creative · 2 Adventure · 3 Spectator |
| Difficulty | level.dat / Data / Difficulty | World difficulty | 0 Peaceful · 1 Easy · 2 Normal · 3 Hard |
| allowCommands | level.dat / Data / allowCommands | Whether commands are enabled | Byte flag: 0 off or 1 on |
| keepInventory | level.dat / Data / GameRules / keepInventory | Keep items after death | Game rule flag: 0 off or 1 on |
| SpawnX/Y/Z | level.dat / Data / SpawnX, SpawnY, SpawnZ | World spawn coordinates | Three integer coordinates edited as a group |
| Pos | Data / Player / Pos or playerdata / Pos | Player position | List<Double>: [0] X, [1] Y, [2] Z |
| Inventory | Data / Player / Inventory or playerdata / Inventory | Player item stacks | List entries with id, Count, and Slot; version-sensitive |
| Health | playerdata / Health | Current player health | Numeric value interpreted by the target version |
| Dimension | playerdata / Dimension | Current dimension | Version-specific identifier such as minecraft:overworld |
| SelectedItemSlot | playerdata / SelectedItemSlot | Selected hotbar slot | Normally an integer from 0 through 8 |
What does GameType mean?
GameType is an integer stored under Data in level.dat. The usual values are 0 for Survival, 1 for Creative, 2 for Adventure, and 3 for Spectator. This field describes the world's default mode. It does not always change the mode of a player whose own playerdata contains a separate mode value.
What does keepInventory mean?
keepInventory is a game rule under Data/GameRules. A value of 1 enables keeping inventory after death, while 0 disables it. Treat this as version-sensitive: the visible type and serialization can differ between Minecraft versions, so verify the edited file in a backup world before replacing the live one.
Coordinates and lists: where order matters
SpawnX, SpawnY, and SpawnZ are separate integer tags, so changing only one can create an unsafe spawn point. Pos is different: it is one list whose item order carries meaning. Pos[0] is X, Pos[1] is Y, and Pos[2] is Z. A list with three syntactically valid numbers can still be semantically wrong if the order is mixed up.
NBT primitive range versus Minecraft field range
An NBT editor can validate the primitive type range, but that is only the first layer of validation. A Byte can store -128 through 127, yet a game rule normally expects 0 or 1. An Int can store a large signed integer, yet a hotbar slot normally expects 0 through 8. Field meaning, Minecraft version, mods, and datapacks decide whether a value makes sense.
| NBT type | Primitive range | Why the field guide still matters |
|---|---|---|
| Byte | -128 to 127 | Game rules and flags usually use a much smaller semantic set such as 0/1. |
| Short | -32,768 to 32,767 | A valid number may still be outside the game's intended field range. |
| Int | -2,147,483,648 to 2,147,483,647 | Coordinates, modes, and slot indexes use different meanings. |
| Long | Signed 64-bit integer | Time and seed values are counters or identifiers, not generic numbers. |
| List | Ordered values of one element type | Index order is part of the data model, especially for Pos and item lists. |
How to use a field-aware Minecraft NBT editor
- Back up the whole world folder before editing. Keep the original level.dat or playerdata file unchanged.
- Stop Minecraft or the server so its next save cannot overwrite your edit.
- Open the file in the NBT editor and search for the complete field name or path.
- Select the field and read its meaning, expected values, file context, and risk note before changing it.
- Use the semantic dropdown when the field is a known enum or boolean; use raw NBT input for version-sensitive or custom data.
- Apply the staged change, download a separate copy, reopen it, and verify the value before testing the world copy.
Inspect an NBT field before you edit it
Open level.dat or playerdata locally and see field meanings, expected values, version context, and risk notes in the Inspector.
When a field has no guide yet
Mods and datapacks can add custom compounds and tags that are not part of vanilla Minecraft. If an NBT editor cannot explain a path, do not infer its meaning from the name or guess a range. Check the mod or datapack documentation, compare a known-good file, and keep a rollback copy before experimenting.
Frequently asked questions
What does GameType mean in Minecraft NBT?
GameType is the default world game mode in level.dat/Data. The usual values are 0 Survival, 1 Creative, 2 Adventure, and 3 Spectator.
What value turns on keepInventory?
In the common level.dat/Data/GameRules representation, keepInventory uses 1 for on and 0 for off. Verify the target Minecraft version and test a backup copy.
Does an NBT primitive range tell me the safe Minecraft value range?
No. Primitive ranges describe what the NBT type can store. The semantic range comes from the field path, Minecraft version, and any mod or datapack that owns the data.
Why can I edit a field but not understand what it does?
NBT stores typed structure, not human explanations. A field-aware editor adds a curated guide for common paths and falls back to raw NBT plus documentation guidance for unknown data.