This thread is to document changes made to NBT data, such as tags or mechanics that have become deprecated/replaced, as well as the new tags/items/entities/blocks implemented. Since this is concerning snapshots, a lot of the following is subject to change. I will update it as 1.12's development progresses. Let me know if I'm missing something or you have extra information to add.
Whether or not the item can be picked up with the mouse (or numerical hotkeys) from the saved creative inventory display. The paper items shown in unused saved slots use this tag to prevent them from being picked up. To clarify: this is only relevant to the saved hotbar slots for creative mode, so is essentially useless for mapmaking.
A new book type that will unlock a recipe for a player right-clicking while holding it. If there are recipes specified, the book will be destroyed on use.
"Recipes" (list)
Contains a list of recipes to unlock for the player that right-clicks. If this is not specified, the book will not be consumed.
Compound containing three doubles about where the player entered the Nether from, using Overworld coordinates. Does not exist if the player is not in the Nether.
The last tick that the command block had activated. If "UpdateLastExecution" is false, this value does not change. If it's true, the value will be updated when first executed and cannot execute again in the same tick.
When true, the command block keeps track of whether or not it has been updated during a tick, preventing it from activating multiple times per tick. When false, allows multiple executions per tick.
A new book type that will unlock a recipe for a player right-clicking while holding it. If there are recipes specified, the book will be destroyed on use.
"Recipes" (list)
Contains a list of recipes to unlock for the player that right-clicks. If this is not specified, the book will not be consumed.
Becomes 1 if the player leaves the End through the portal. Supplements advancements?
/testfor @a {seenCredits:1b}
"recipeBook" (string)
A string containing a list of recipes, formatted as JSON, that the players has seen. Note that detection is essentially impossible due to it being a string, and that it may overflow beyond the NBT string limit (65535 characters).
From 17w14a, the "recipeBook" string was changed from a string to a compound. Overflow is no longer an issue (plus a couple options for the recipe book interface has become available):
Entity: minecraft:player
"recipeBook" (compound)
Contains information about the recipe book interface and recipes the player has seen.
/testfor @a {recipeBook:{}
"recipeBook" -> "isGuiOpen" (byte)
If the player has left the recipe book interface open.
/testfor @a {recipeBook:{isGuiOpen:1b}}
"recipeBook" -> "isFilteringCraftable" (byte)
If the player is only showing items they can craft in the recipe book interface.
The last tick that the command block had activated. If "UpdateLastExecution" is false, this value does not change. If it's true, the value will be updated when first executed and cannot execute again in the same tick.
When true, the command block keeps track of whether or not it has been updated during a tick, preventing it from activating multiple times per tick. When false, allows multiple executions per tick.
So I've made a working check for item thing in mc 1.11 but it doesn't work for 1.12, but I can't find why on this page. Is there something missing or is it a bug?
Adds 1 Money if you have a cookie in your inventory (works in 1.11 but not in 1,12)
So I've made a working check for item thing in mc 1.11 but it doesn't work for 1.12, but I can't find why on this page. Is there something missing or is it a bug?
Adds 1 Money if you have a cookie in your inventory (works in 1.11 but not in 1,12)
So I've made a working check for item thing in mc 1.11 but it doesn't work for 1.12, but I can't find why on this page. Is there something missing or is it a bug?
Adds 1 Money if you have a cookie in your inventory (works in 1.11 but not in 1,12)
Compound containing three doubles about where the player entered the Nether from, using Overworld coordinates. Does not exist if the player is not in the Nether.
This thread is to document changes made to NBT data, such as tags or mechanics that have become deprecated/replaced, as well as the new tags/items/entities/blocks implemented. Since this is concerning snapshots, a lot of the following is subject to change. I will update it as 1.12's development progresses. Let me know if I'm missing something or you have extra information to add.
You can view a timeline here: http://skylinerw.com/nbthistory
The string-to-NBT parser was rewritten, see changes to syntax here!
Index
1. All items
2. Item: minecraft:knowledge_book
3. Entity: minecraft:player
4. Entity: minecraft:parrot
5. Entity: minecraft:zombie_villager
6. Entity: all animals
7. Tile entity: minecraft:bed
8. Tile entity: minecraft:command_block
All items
"CustomCreativeLock" (compound)
Whether or not the item can be picked up with the mouse (or numerical hotkeys) from the saved creative inventory display. The paper items shown in unused saved slots use this tag to prevent them from being picked up. To clarify: this is only relevant to the saved hotbar slots for creative mode, so is essentially useless for mapmaking.
Item: minecraft:knowledge_book
A new book type that will unlock a recipe for a player right-clicking while holding it. If there are recipes specified, the book will be destroyed on use.
"Recipes" (list)
Contains a list of recipes to unlock for the player that right-clicks. If this is not specified, the book will not be consumed.
Entity: minecraft:player
"ShoulderEntityLeft", "ShoulderEntityRight" (compound)
Contains root entity data about an entity on the left and right shoulders of the player.
"seenCredits" (byte)
Becomes 1 if the player leaves the End through the portal. Supplements advancements?
"recipeBook" (compound)
Contains information about the recipe book interface and recipes the player has seen.
"recipeBook" -> "isGuiOpen" (byte)
If the player has left the recipe book interface open.
"recipeBook" -> "isFilteringCraftable" (byte)
If the player is only showing items they can craft in the recipe book interface.
"recipeBook" -> "toBeDisplayed" (byte)
A list of recipe IDs that the player has not yet looked at in the crafting helper interface.
"recipeBook" -> "recipes" (compound)
Contains information about all recipes the player has seen. Within it are compounds whose key names equate to the name of recipes the player has seen.
"recipeBook" -> "recipes" -> a recipe -> displayed (byte)
Unsure.
"recipeBook" -> "recipes" -> a recipe -> unlocked (byte)
Whether or not the player has unlocked this recipe.
"enteredNetherPosition" (compound), "enteredNetherPosition" > "x/y/z" (double)
Compound containing three doubles about where the player entered the Nether from, using Overworld coordinates. Does not exist if the player is not in the Nether.
Entity: minecraft:parrot
A new flying, passive mob.
"Variant" (integer)
The numerical variant that determines the parrot's texture. Accepted values are between 0 and 4.
Entity: minecraft:zombie_villager
"ConversionPlayerLeast", "ConversionPlayerMost" (long)
Contains the UUID of the player that is converting the zombie villager. Used with the "minecraft:cured_zombie_villager" trigger for advancements.
Entity: all animals
"LoveCauseLeast", "LoveCauseMost" (long)
Contains the UUID of the player that activated the animal's "love mode". Used with the "minecraft:bred_animals" trigger for advancements.
Tile Entity: minecraft:bed
Beds are now tile entities, where each part (head and foot) has its own color.
"color" (integer)
The standard wool color of the bed, values 0 to 15.
Tile Entity: minecraft:command_block
"LastExecution" (long)
The last tick that the command block had activated. If "UpdateLastExecution" is false, this value does not change. If it's true, the value will be updated when first executed and cannot execute again in the same tick.
"UpdateLastExecution" (byte)
When true, the command block keeps track of whether or not it has been updated during a tick, preventing it from activating multiple times per tick. When false, allows multiple executions per tick.
Minecraft-things: http://skylinerw.com
More Minecraft-things: https://sourceblock.net
Guides for command-related features (eventually moving to Source Block): https://github.com/skylinerw/guides
I primarily hang out in the /r/MinecraftCommands discord, where there's a lot of people that help with commands: https://discord.gg/QAFXFtZ
Their corresponding subreddit: https://www.reddit.com/r/MinecraftCommands/
Sigh, the first snapshot only adds the new Art blocks...
Colorful snapshot...
Is there any reason why CustomCreativeLock is a compound instead of, say, a bool?
I honestly have no idea. Potentially they might stick some extra data in there, but I also wouldn't know why.
Minecraft-things: http://skylinerw.com
More Minecraft-things: https://sourceblock.net
Guides for command-related features (eventually moving to Source Block): https://github.com/skylinerw/guides
I primarily hang out in the /r/MinecraftCommands discord, where there's a lot of people that help with commands: https://discord.gg/QAFXFtZ
Their corresponding subreddit: https://www.reddit.com/r/MinecraftCommands/
New tags from 17w13a:
Item: minecraft:knowledge_book
A new book type that will unlock a recipe for a player right-clicking while holding it. If there are recipes specified, the book will be destroyed on use.
"Recipes" (list)
Contains a list of recipes to unlock for the player that right-clicks. If this is not specified, the book will not be consumed.
Entity: minecraft:player
"ShoulderEntityLeft", "ShoulderEntityRight" (compound)
Contains root entity data about an entity on the left and right shoulders of the player.
"seenCredits" (byte)
Becomes 1 if the player leaves the End through the portal. Supplements advancements?
"recipeBook" (string)
A string containing a list of recipes, formatted as JSON, that the players has seen. Note that detection is essentially impossible due to it being a string, and that it may overflow beyond the NBT string limit (65535 characters).
Minecraft-things: http://skylinerw.com
More Minecraft-things: https://sourceblock.net
Guides for command-related features (eventually moving to Source Block): https://github.com/skylinerw/guides
I primarily hang out in the /r/MinecraftCommands discord, where there's a lot of people that help with commands: https://discord.gg/QAFXFtZ
Their corresponding subreddit: https://www.reddit.com/r/MinecraftCommands/
Oops, forgot about parrots:
Entity: minecraft:parrot
A new flying, passive mob.
"Variant" (integer)
The numerical variant that determines the parrot's texture. Accepted values are between 0 and 3.
Minecraft-things: http://skylinerw.com
More Minecraft-things: https://sourceblock.net
Guides for command-related features (eventually moving to Source Block): https://github.com/skylinerw/guides
I primarily hang out in the /r/MinecraftCommands discord, where there's a lot of people that help with commands: https://discord.gg/QAFXFtZ
Their corresponding subreddit: https://www.reddit.com/r/MinecraftCommands/
From 17w14a, the "recipeBook" string was changed from a string to a compound. Overflow is no longer an issue (plus a couple options for the recipe book interface has become available):
Entity: minecraft:player
"recipeBook" (compound)
Contains information about the recipe book interface and recipes the player has seen."recipeBook" -> "isGuiOpen" (byte)
If the player has left the recipe book interface open."recipeBook" -> "isFilteringCraftable" (byte)
If the player is only showing items they can craft in the recipe book interface."recipeBook" -> "recipes" (compound)
Contains information about all recipes the player has seen. Within it are compounds whose key names equate to the name of recipes the player has seen."recipeBook" -> "recipes" -> a recipe -> displayed (byte)
Unsure."recipeBook" -> "recipes" -> a recipe -> unlocked (byte)
Whether or not the player has unlocked this recipe.Entity: minecraft:zombie
"ConversionPlayerLeast", "ConversionPlayerMost" (long)
Contains the UUID of the player that is converting the zombie. Used with the "minecraft:cured_zombie_villager" trigger for advancements.
Minecraft-things: http://skylinerw.com
More Minecraft-things: https://sourceblock.net
Guides for command-related features (eventually moving to Source Block): https://github.com/skylinerw/guides
I primarily hang out in the /r/MinecraftCommands discord, where there's a lot of people that help with commands: https://discord.gg/QAFXFtZ
Their corresponding subreddit: https://www.reddit.com/r/MinecraftCommands/
"/testfor @a {recipeBook:{}"
missing a }
"Entity: minecraft:zombie"
shouldn't this be zombie_villager?
Thanks, also forgot that they split the zombie classes up!
Those aren't NBT, but I have threads for those here: advancements, recipes.
Minecraft-things: http://skylinerw.com
More Minecraft-things: https://sourceblock.net
Guides for command-related features (eventually moving to Source Block): https://github.com/skylinerw/guides
I primarily hang out in the /r/MinecraftCommands discord, where there's a lot of people that help with commands: https://discord.gg/QAFXFtZ
Their corresponding subreddit: https://www.reddit.com/r/MinecraftCommands/
Changes in 17w15a:
Tile Entity: minecraft:bed
Beds are now tile entities, where each part (head and foot) has its own color.
"color" (integer)
The standard wool color of the bed, values 0 to 15.
Minecraft-things: http://skylinerw.com
More Minecraft-things: https://sourceblock.net
Guides for command-related features (eventually moving to Source Block): https://github.com/skylinerw/guides
I primarily hang out in the /r/MinecraftCommands discord, where there's a lot of people that help with commands: https://discord.gg/QAFXFtZ
Their corresponding subreddit: https://www.reddit.com/r/MinecraftCommands/
Changes in 17w17a:
Entity: minecraft:player
"recipeBook" -> "toBeDisplayed" (byte)
A list of recipe IDs that the player has not yet looked at in the crafting helper interface.
Tile Entity: minecraft:command_block
"LastExecution" (long)
The last tick that the command block had activated. If "UpdateLastExecution" is false, this value does not change. If it's true, the value will be updated when first executed and cannot execute again in the same tick.
"UpdateLastExecution" (byte)
When true, the command block keeps track of whether or not it has been updated during a tick, preventing it from activating multiple times per tick. When false, allows multiple executions per tick.
Minecraft-things: http://skylinerw.com
More Minecraft-things: https://sourceblock.net
Guides for command-related features (eventually moving to Source Block): https://github.com/skylinerw/guides
I primarily hang out in the /r/MinecraftCommands discord, where there's a lot of people that help with commands: https://discord.gg/QAFXFtZ
Their corresponding subreddit: https://www.reddit.com/r/MinecraftCommands/
Changes in 17w17b:
Entity: all animals
"LoveCauseLeast", "LoveCauseMost" (long)
Contains the UUID of the player that activated the animal's "love mode". Used with the "minecraft:bred_animals" trigger for advancements.
Minecraft-things: http://skylinerw.com
More Minecraft-things: https://sourceblock.net
Guides for command-related features (eventually moving to Source Block): https://github.com/skylinerw/guides
I primarily hang out in the /r/MinecraftCommands discord, where there's a lot of people that help with commands: https://discord.gg/QAFXFtZ
Their corresponding subreddit: https://www.reddit.com/r/MinecraftCommands/
So I've made a working check for item thing in mc 1.11 but it doesn't work for 1.12, but I can't find why on this page. Is there something missing or is it a bug?
Adds 1 Money if you have a cookie in your inventory (works in 1.11 but not in 1,12)
Error in 1.12:
Could not parse dataTag, reason: Expected '}' but got a ':' at : {Inventory:[{id:minecraft:<--[HERE]
you need to add quotes to strings with any special character in them (including space and : ) so id:"minecraft:cookie"
The NBT parser was written completely for 1.12. I forgot to link to a list of changes, which has now been added to the main post (link).
Minecraft-things: http://skylinerw.com
More Minecraft-things: https://sourceblock.net
Guides for command-related features (eventually moving to Source Block): https://github.com/skylinerw/guides
I primarily hang out in the /r/MinecraftCommands discord, where there's a lot of people that help with commands: https://discord.gg/QAFXFtZ
Their corresponding subreddit: https://www.reddit.com/r/MinecraftCommands/
Sorry for the long delay.
Changes between 1.12-pre1 and 1.12:
"enteredNetherPosition" (compound), "enteredNetherPosition" > "x/y/z" (double)
Compound containing three doubles about where the player entered the Nether from, using Overworld coordinates. Does not exist if the player is not in the Nether.
Minecraft-things: http://skylinerw.com
More Minecraft-things: https://sourceblock.net
Guides for command-related features (eventually moving to Source Block): https://github.com/skylinerw/guides
I primarily hang out in the /r/MinecraftCommands discord, where there's a lot of people that help with commands: https://discord.gg/QAFXFtZ
Their corresponding subreddit: https://www.reddit.com/r/MinecraftCommands/