1.12 - NBT Changes and Additions

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.

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.

/give @p minecraft:stone 1 0 {CustomCreativeLock:{}}

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.

/give @p knowledge_book 1 0 {Recipes:["minecraft:tnt"]}

Entity: minecraft:player

"ShoulderEntityLeft", "ShoulderEntityRight" (compound)

Contains root entity data about an entity on the left and right shoulders of the player.

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.

/summon minecraft:cow ~ ~1 ~ {LoveCauseLeast:1l,LoveCauseMost:1l}

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.

/setblock ~ ~1 ~ minecraft:bed default replace {color: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.

"ShoulderEntityLeft", "ShoulderEntityRight" (compound)

"seenCredits" (byte)

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).

"recipeBook" -> "toBeDisplayed" (byte)

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.