<div class ="mobileonly">{{relevant guide|Java Edition guides/World of Color Update}}</div>
{{Infobox version
|title=Minecraft 1.12
|edition=Java
|image=Java Edition 1.12.png
|name=[[World of Color Update]]
|date=June 7, 2017
|clienthash=909823f9c467f9934687f136bc95a667a0d19d7f
|jsonhash=367843437acbae63de3084dd6afd3dd8bd2a7479
|serverhash=8494e844e911ea0d63878f64da9dcc21f53a3463
|prevparent=1.11
|prev=1.11.2
|next=1.12.1
|nextparent=1.13
}}<onlyinclude>
<div class ="nomobile">{{relevant guide|Java Edition guides/World of Color Update}}</div>

'''1.12''', the first release of the '''[[World of Color Update]]''',<ref name=WorldOfColor>{{Mcnet|world-color-released|World of Color is released!|June 7, 2017|Jens Bergensten}}</ref> is a major update to {{JE}} released on June 7, 2017. This update introduced a more vibrant color palette, a new crafting system, hints for beginners, glazed terracotta, concrete, colored beds, illusioners, and parrots. It also replaced achievements with a customizable and more powerful system of [[advancement]]s, and introduced a new system for working with collections of commands, called [[Function (Java Edition)|function]]s.

== Additions ==
{{Additions table
|White Concrete
|Light Gray Concrete
|Gray Concrete
|Black Concrete
|Brown Concrete
|Red Concrete
|Orange Concrete
|Yellow Concrete
|Lime Concrete
|Green Concrete
|Cyan Concrete
|Light Blue Concrete
|Blue Concrete
|Purple Concrete
|Magenta Concrete
|Pink Concrete
|White Concrete Powder
|Light Gray Concrete Powder
|Gray Concrete Powder
|Black Concrete Powder
|Brown Concrete Powder
|Red Concrete Powder
|Orange Concrete Powder
|Yellow Concrete Powder
|Lime Concrete Powder
|Green Concrete Powder
|Cyan Concrete Powder
|Light Blue Concrete Powder
|Blue Concrete Powder
|Purple Concrete Powder
|Magenta Concrete Powder
|Pink Concrete Powder
|White Glazed Terracotta
|Light Gray Glazed Terracotta
|Gray Glazed Terracotta
|Black Glazed Terracotta
|Brown Glazed Terracotta
|Red Glazed Terracotta
|Orange Glazed Terracotta
|Yellow Glazed Terracotta
|Lime Glazed Terracotta
|Green Glazed Terracotta
|Cyan Glazed Terracotta
|Light Blue Glazed Terracotta
|Blue Glazed Terracotta
|Purple Glazed Terracotta
|Magenta Glazed Terracotta
|Pink Glazed Terracotta
|White Bed
|Light Gray Bed
|Gray Bed
|Black Bed
|Brown Bed
|Orange Bed
|Yellow Bed
|Lime Bed
|Green Bed
|Cyan Bed
|Light Blue Bed
|Blue Bed
|Purple Bed
|Magenta Bed
|Pink Bed
|Knowledge Book
|Parrot Spawn Egg
}}

=== Blocks ===
; {{Animate|White Bed (N) JE1.png; Light Gray Bed JE1.png; Gray Bed JE1.png; Black Bed JE1.png; Brown Bed JE1.png; Orange Bed JE1.png; Yellow Bed JE1.png; Lime Bed JE1.png; Green Bed JE1.png; Cyan Bed JE1.png; Light Blue Bed JE1.png; Blue Bed JE1.png; Purple Bed JE1.png; Magenta Bed JE1.png; Pink Bed JE1.png|32px}} Colored [[bed]]s
* Added 15 new beds, in addition to the existing red bed.
* Crafted using three of the respective wool colors along with three of any wood planks.
{{Crafting Table
|A2=White Wool; Light Gray Wool; Gray Wool; Black Wool; Brown Wool; Orange Wool; Yellow Wool; Lime Wool; Green Wool; Cyan Wool; Light Blue Wool; Blue Wool; Purple Wool; Magenta Wool; Pink Wool
|A3=Oak Planks; Oak Planks; Oak Planks; Oak Planks; Oak Planks; Oak Planks; Oak Planks; Oak Planks; Oak Planks; Oak Planks; Oak Planks; Oak Planks; Oak Planks; Oak Planks; Oak Planks; Oak Planks; Spruce Planks; Spruce Planks; Spruce Planks; Spruce Planks; Spruce Planks; Spruce Planks; Spruce Planks; Spruce Planks; Spruce Planks; Spruce Planks; Spruce Planks; Spruce Planks; Spruce Planks; Spruce Planks; Spruce Planks; Spruce Planks; Birch Planks; Birch Planks; Birch Planks; Birch Planks; Birch Planks; Birch Planks; Birch Planks; Birch Planks; Birch Planks; Birch Planks; Birch Planks; Birch Planks; Birch Planks; Birch Planks; Birch Planks; Birch Planks; Jungle Planks; Jungle Planks; Jungle Planks; Jungle Planks; Jungle Planks; Jungle Planks; Jungle Planks; Jungle Planks; Jungle Planks; Jungle Planks; Jungle Planks; Jungle Planks; Jungle Planks; Jungle Planks; Jungle Planks; Jungle Planks; Acacia Planks; Acacia Planks; Acacia Planks; Acacia Planks; Acacia Planks; Acacia Planks; Acacia Planks; Acacia Planks; Acacia Planks; Acacia Planks; Acacia Planks; Acacia Planks; Acacia Planks; Acacia Planks; Acacia Planks; Acacia Planks; Dark Oak Planks; Dark Oak Planks; Dark Oak Planks; Dark Oak Planks; Dark Oak Planks; Dark Oak Planks; Dark Oak Planks; Dark Oak Planks; Dark Oak Planks; Dark Oak Planks; Dark Oak Planks; Dark Oak Planks; Dark Oak Planks; Dark Oak Planks; Dark Oak Planks; Dark Oak Planks
|B2=White Wool; Light Gray Wool; Gray Wool; Black Wool; Brown Wool; Orange Wool; Yellow Wool; Lime Wool; Green Wool; Cyan Wool; Light Blue Wool; Blue Wool; Purple Wool; Magenta Wool; Pink Wool
|B3=Oak Planks; Oak Planks; Oak Planks; Oak Planks; Oak Planks; Oak Planks; Oak Planks; Oak Planks; Oak Planks; Oak Planks; Oak Planks; Oak Planks; Oak Planks; Oak Planks; Oak Planks; Oak Planks; Spruce Planks; Spruce Planks; Spruce Planks; Spruce Planks; Spruce Planks; Spruce Planks; Spruce Planks; Spruce Planks; Spruce Planks; Spruce Planks; Spruce Planks; Spruce Planks; Spruce Planks; Spruce Planks; Spruce Planks; Spruce Planks; Birch Planks; Birch Planks; Birch Planks; Birch Planks; Birch Planks; Birch Planks; Birch Planks; Birch Planks; Birch Planks; Birch Planks; Birch Planks; Birch Planks; Birch Planks; Birch Planks; Birch Planks; Birch Planks; Jungle Planks; Jungle Planks; Jungle Planks; Jungle Planks; Jungle Planks; Jungle Planks; Jungle Planks; Jungle Planks; Jungle Planks; Jungle Planks; Jungle Planks; Jungle Planks; Jungle Planks; Jungle Planks; Jungle Planks; Jungle Planks; Acacia Planks; Acacia Planks; Acacia Planks; Acacia Planks; Acacia Planks; Acacia Planks; Acacia Planks; Acacia Planks; Acacia Planks; Acacia Planks; Acacia Planks; Acacia Planks; Acacia Planks; Acacia Planks; Acacia Planks; Acacia Planks; Dark Oak Planks; Dark Oak Planks; Dark Oak Planks; Dark Oak Planks; Dark Oak Planks; Dark Oak Planks; Dark Oak Planks; Dark Oak Planks; Dark Oak Planks; Dark Oak Planks; Dark Oak Planks; Dark Oak Planks; Dark Oak Planks; Dark Oak Planks; Dark Oak Planks; Dark Oak Planks
|C2=White Wool; Light Gray Wool; Gray Wool; Black Wool; Brown Wool; Orange Wool; Yellow Wool; Lime Wool; Green Wool; Cyan Wool; Light Blue Wool; Blue Wool; Purple Wool; Magenta Wool; Pink Wool
|C3=Oak Planks; Oak Planks; Oak Planks; Oak Planks; Oak Planks; Oak Planks; Oak Planks; Oak Planks; Oak Planks; Oak Planks; Oak Planks; Oak Planks; Oak Planks; Oak Planks; Oak Planks; Oak Planks; Spruce Planks; Spruce Planks; Spruce Planks; Spruce Planks; Spruce Planks; Spruce Planks; Spruce Planks; Spruce Planks; Spruce Planks; Spruce Planks; Spruce Planks; Spruce Planks; Spruce Planks; Spruce Planks; Spruce Planks; Spruce Planks; Birch Planks; Birch Planks; Birch Planks; Birch Planks; Birch Planks; Birch Planks; Birch Planks; Birch Planks; Birch Planks; Birch Planks; Birch Planks; Birch Planks; Birch Planks; Birch Planks; Birch Planks; Birch Planks; Jungle Planks; Jungle Planks; Jungle Planks; Jungle Planks; Jungle Planks; Jungle Planks; Jungle Planks; Jungle Planks; Jungle Planks; Jungle Planks; Jungle Planks; Jungle Planks; Jungle Planks; Jungle Planks; Jungle Planks; Jungle Planks; Acacia Planks; Acacia Planks; Acacia Planks; Acacia Planks; Acacia Planks; Acacia Planks; Acacia Planks; Acacia Planks; Acacia Planks; Acacia Planks; Acacia Planks; Acacia Planks; Acacia Planks; Acacia Planks; Acacia Planks; Acacia Planks; Dark Oak Planks; Dark Oak Planks; Dark Oak Planks; Dark Oak Planks; Dark Oak Planks; Dark Oak Planks; Dark Oak Planks; Dark Oak Planks; Dark Oak Planks; Dark Oak Planks; Dark Oak Planks; Dark Oak Planks; Dark Oak Planks; Dark Oak Planks; Dark Oak Planks; Dark Oak Planks
|Output=White Bed; Light Gray Bed; Gray Bed; Black Bed; Brown Bed; Orange Bed; Yellow Bed; Lime Bed; Green Bed; Cyan Bed; Light Blue Bed; Blue Bed; Purple Bed; Magenta Bed; Pink Bed
}}

; {{Animate|White Concrete.png;Light Gray Concrete.png;Gray Concrete.png;Black Concrete.png;Brown Concrete.png;Red Concrete.png;Orange Concrete.png;Yellow Concrete.png;Lime Concrete.png;Green Concrete.png;Cyan Concrete.png;Light Blue Concrete.png;Blue Concrete.png;Purple Concrete.png;Magenta Concrete.png;Pink Concrete.png|32px}} [[Concrete]]
* Comes in the 16 traditional [[dye]] colors.
* Created when [[concrete powder]] comes into contact with still or flowing water.

; {{Animate|White Concrete Powder.png;Light Gray Concrete Powder.png;Gray Concrete Powder.png;Black Concrete Powder.png;Brown Concrete Powder.png;Red Concrete Powder.png;Orange Concrete Powder.png;Yellow Concrete Powder.png;Lime Concrete Powder.png;Green Concrete Powder.png;Cyan Concrete Powder.png;Light Blue Concrete Powder.png;Blue Concrete Powder.png;Purple Concrete Powder.png;Magenta Concrete Powder.png;Pink Concrete Powder.png|32px}} [[Concrete powder]]
* Comes in the 16 traditional dye colors.
* Gravity affected (like [[sand]] and [[gravel]]).
* When it touches water, it turns into a concrete block.
* Craftable using 4 [[sand]], 4 [[gravel]] and one of any [[dye]] to get 8 concrete powder blocks. The recipe is shapeless.
{{Crafting Table
|A1=Sand
|A2=Gravel
|A3=Sand
|B1=Gravel
|B2=White Dye; Light Gray Dye; Gray Dye; Black Dye; Brown Dye; Red Dye; Orange Dye; Yellow Dye; Lime Dye; Green Dye; Cyan Dye; Light Blue Dye; Blue Dye; Purple Dye; Magenta Dye; Pink Dye
|B3=Gravel
|C1=Sand
|C2=Gravel
|C3=Sand
|Output=White Concrete Powder; Light Gray Concrete Powder; Gray Concrete Powder; Black Concrete Powder; Brown Concrete Powder; Red Concrete Powder; Orange Concrete Powder; Yellow Concrete Powder; Lime Concrete Powder; Green Concrete Powder; Cyan Concrete Powder; Light Blue Concrete Powder; Blue Concrete Powder; Purple Concrete Powder; Magenta Concrete Powder; Pink Concrete Powder
}}

; {{Animate|White Glazed Terracotta JE2 BE2.png;Light Gray Glazed Terracotta JE1 BE1.png;Gray Glazed Terracotta JE1 BE1.png;Black Glazed Terracotta JE1 BE1.png;Brown Glazed Terracotta JE1 BE1.png;Red Glazed Terracotta JE1 BE1.png;Orange Glazed Terracotta JE2 BE2.png;Yellow Glazed Terracotta JE1 BE1.png;Lime Glazed Terracotta JE1 BE1.png;Green Glazed Terracotta JE1 BE1.png;Cyan Glazed Terracotta JE2 BE2.png;Light Blue Glazed Terracotta JE1 BE1.png;Blue Glazed Terracotta JE1 BE1.png;Purple Glazed Terracotta JE1 BE1.png;Magenta Glazed Terracotta JE2 BE2.png;Pink Glazed Terracotta JE1 BE1.png|32px}} [[Glazed terracotta]]
* Comes in the 16 traditional dye colors.
* Smelt any [[stained terracotta]] in a furnace to obtain the glazed terracotta of that color (not for regular [[terracotta]]).
* Can be placed in 4 directions: north, south, west, and east.
** When placed down while facing the right directions, a repeating pattern can be created. For example, white terracotta creates the pattern of a sun when 4 are placed down correctly.
* Does not "[[Slime_Block#Pistons|stick]]" to [[slime block]]s if attached to the side, top or bottom, but does stick if attached to the front or back.

=== Items ===
; [[File:Knowledge Book JE1.png|32px]] [[Knowledge book]]s
* A green-colored [[book]].
* Currently obtainable only with the {{cmd|give @p knowledge_book}} command.
* A knowledge book with a <code>Recipes</code> NBT tag, which contains a list of item IDs, is consumed and unlocks the specified items' recipes for any player that {{control|uses}} it.
** Especially useful when {{cmd|gamerule doLimitedCrafting}} is set to true.

; [[Spawn egg]]s
* [[File:Parrot Spawn Egg.png|32px]] [[Parrot spawn egg]]

=== Mobs ===
; [[File:Illusioner Revision 1.png|32px]] [[Illusioner]]s
* New [[illager]].
* Affects players with {{EffectLink|Blindness}} for 20 seconds then shoots with a [[bow]].
** This spell is cast only if the [[regional difficulty]] is greater than 2.
* Summons duplicates of itself.
** All duplicates show shooting animation, but only the real one can be hit and shoots the arrow.
** The original turns invisible.
* Does not currently have a [[spawn egg]], so can only be summoned with {{cmd|summon minecraft:illusioner}}.
* Targets both the player and villagers.
* Unused and present only {{in|je}}.

; {{Animate|Red Parrot.png;Blue Parrot.png;Green Parrot.png;Cyan Parrot.png;Gray Parrot.png|32px}} [[Parrot]]s
* Fly around, but sit when "tired".
* Tamed with [[seeds]].
* If fed [[cookie]]s, the parrot dies.
** [[Poison]] effect's particles are emitted, but they are not actually killed by poison.
** If a player feeds a tamed parrot cookies, it displays the message "''Parrot was slain by <player>''" in chat (unless the parrot is named).
* Follow and crowd around nearby mobs.
* Imitates sounds of hostile mobs.
* Parrots dance if playing music on a nearby [[jukebox]].
* Right-click action available:
** Right-click on a tamed parrot tells it to sit down.
* Walking over/through/near a tamed parrot while crouching causes it to sit on the player's shoulders.
** Lets go if the player jumps.
** Can fly with players during [[elytra]] flight.
* Have {{hp|6}} health.
* Come in red, blue, green, cyan and gray.

=== Gameplay ===
; [[Advancement]]s
* Replaces [[Achievement/Java Edition|achievements]].
* Can be customized via JSON files.
* Tab-based UI.
** 5 tabs (more supported):
*** Minecraft: The heart and story of the game.
*** Adventure: Adventure, exploration, and combat.
*** Nether: Bring summer clothes.
*** The End: Or the beginning?
*** Husbandry: The world is full of friends and food.
** Data-driven UI, including positioning and layout.
* Supports rewards in the form of recipes, [[Loot table|loot]], [[experience]] and [[Function (Java Edition)|function]]s.
** The only default advancements with a reward are the default "challenge" advancements, which grant experience.
* Pop-up "toast" notification for when players advance.
** New sliding effect.
** Comes in two different colors - yellow for normal advancements, and pink for "challenge" advancements.
* A number display tracks progress while completing advancements with multiple requirements.

; Gamerules
* <code>announceAdvancements</code>
** Defaults to true.
** Toggles announcing of advancements, replacing the old <code>announce-player-achievements</code> [[server.properties]] entry.
*** If <code>announce-player-achievements</code> is set, the gamerule is automatically updated and <code>announce-player-achievements</code> is removed.
* <code>doLimitedCrafting</code>
** Off by default.
** Enabling only allows players to craft recipes they have unlocked.
* <code>gameLoopFunction</code>
** A function to be executed once per tick.
* <code>maxCommandChainLength</code>
** The default is 65536.
** Determines the number at which the chain command block acts as a "chain".

=== Command format ===
* <code>@s</code>
** Targets the executing entity, e.g: {{cmd|execute @e[type{{=}}villager] ~ ~ ~ say @s}}.
* {{cmd|advancement <grant{{!}}revoke{{!}}test> <''player''> <''advancement''> [''criterion'']}}
** Can grant, test or revoke advancements, and particular advancement criteria, for a given player.
** There are five modifiers to the command: "everything", "from", "until", "through", "only".
*** "everything" - all advancements, no specification required (same as "*")
*** "from" - this advancement, its children, and their children, etc.
*** "until" - this advancement, its parent, and its parent, etc.
*** "through" - both of the above
*** "only" - this advancement, and nothing else
** Examples:
*** {{cmd|advancement grant dinnerbone until story/elytra}}
*** {{cmd|advancement revoke dinnerbone everything}}
* {{cmd|function namespace:file}}
** Runs a function once through the entity or command block which ran the function command.
*** Added new arguments:
**** <code>if <nowiki><selector></nowiki></code> - runs the function only if the specified selector is found.
**** <code>unless <nowiki><selector></nowiki></code> - runs the function except when the specified selector is found.
* {{cmd|recipe <give{{!}}take> [''player''] <''name''{{!}}*>}}
** Can unlock, or lock, the given recipes for the given player.
** If <code>*</code> is specified, it locks or unlocks all recipes for the player.
* {{cmd|reload}}
** Command to reload advancements and loot tables from disk.
** This command is available to all [[op]]ped players in single player and to all level 4 operators on a multiplayer server.
** Cannot be run from a [[command block]].

=== General ===
; [[Controls]]
* Added keybinding options for [[Creative]] toolbar saving.
* Added new keybinding for opening advancements (default "L").

; [[Creative]]
* Added "Saved Toolbars" tab.
** Save toolbars in Creative mode with {{key|C}}+{{key|1-9}} and load them with {{key|X}}+{{key|1-9}}.
** Can save up to 9 toolbars.
** If the [[player]] saves an empty toolbar, it clears the bookmarked toolbar and puts back the 'informational paper' in the respective slot.

; [[Function (Java Edition)|Function]]s
* Added new function system, which are text files with the file extension <code>.mcfunction</code> in <code>namespace:path/to/function/file</code>.
** For example, running <code>/function custom:example/test</code> refers to the function located at <code> WORLDNAME/data/functions/custom/example/test.mcfunction</code>.
* Functions are a list of commands, one line per command (without a forward slash), with <code>#</code> comment support.

; JSON format
* Added 'group' to recipe json format, to clump similar recipes together.
* Added new 'keybind' text component, to refer to the player's keybindings.

; [[Title screen]]
* Added the ability to see credits by clicking the copyright text.

; [[Narrator]]
* {{key|CTRL}}+{{key|B}} toggles a text-to-speech engine that automatically reads player chat messages, including the name.
** Option to toggle narrator between: "off", "chat & system", "chat only", and "system messages only".
* Shows a notification for toggling.
* The narrator does not read commands or command outputs, nor it reads messages produced with {{cmd|me}}.
* It displays a message whenever the narrator isn't available.
** Uses the "toast" notification system.

; [[NBT tag]]s
* {{nbt|long|<code>LastExecution</code>}}
** Stores the tick a chain command block was last executed in.
* {{nbt|long|<code>LoveCauseLeast</code>}} and {{nbt|long|<code>LoveCauseMost</code>}} for breedable entities
** Together these record the [http://docs.oracle.com/javase/6/docs/api/java/util/UUID.html UUID] of the entity that caused a given animal to breed.
* {{nbt|compound|<code>recipeBook</code>}}
** A compound tag containing a list of recipes, formatted as JSON, that the player has seen, as well as recipe book information.
** {{nbt|byte|<code>isFilteringCraftable</code>}}
*** Becomes 1 if the player has enabled the "Show Craftable" feature in the recipe book.
** {{nbt|byte|<code>isGuiOpen</code>}}
*** Checks if the player has left the GUI open.
*** {{nbt|byte|<code>unlocked</code>}}
** {{nbt|list|<code>recipes</code>}}
*** Contains information about all recipes the player has seen.
*** {{nbt|byte|<code>displayed</code>}}
**** Checks if the player has tried out the recipe in the recipe book before (by clicking it/viewing it).
** {{nbt|list|<code>toBeDisplayed</code>}}
*** Within are recipe names that the player has unlocked but not viewed in the crafting helper yet.
*** Used for remembering to play the animation for new recipes.
* {{nbt|list|<code>Recipes</code>}}
** A list of crafting recipes to unlock for the player that right-clicks while holding a [[knowledge book]].
** If this is not specified, the knowledge book is not consumed.
* {{nbt|compound|<code>enteredNetherPosition</code>}}
** A compound tag containing the X, Y, and Z coordinates of the Overworld position the player entered the Nether.
** {{nbt|double|<code>x</code>}}
*** The x coordinate.
** {{nbt|double|<code>y</code>}}
*** The y coordinate.
** {{nbt|double|<code>z</code>}}
*** The z coordinate.
* {{nbt|byte|<code>seenCredits</code>}}
** Changes to 1 if the player leaves the End through the portal.
* {{nbt|compound|<code>ShoulderEntityLeft</code>}} and {{nbt|compound|<code>ShoulderEntityRight</code>}}
** Contains entity data about an entity on the left and right shoulders of the player.
* {{nbt|byte|<code>UpdateLastExecution</code>}}
** Defaults to <code>1b</code>. If set to <code>0b</code>, loops can be created, where the same command block can run multiple times in one tick.

; [[Recipe book]]s
* Catalogs recipes that are unlocked when the criteria are met.
* When a recipe is clicked, it appears in the crafting grid, and can be crafted if materials are available.
** A shift-click ability puts all available materials in the crafting grid.
* A new white-and-gray colored "toast" notification pops up when the player unlocks new recipes.
** The pop-up notification that displays upon unlocking new recipes has an icon showing the items that can be crafted with the new recipes.
* If the [[player]] searches "'''excitedze'''" in the recipe book, their language switches to Pirate Speak.
* <code>recipes</code> folder added with all item recipes as <code>.json</code> files.

; [[Sound]]s
* New [[note block]] sounds.
** {{BlockLink|Bone block}} = xylophone
** {{BlockLink|Block of gold}} = bell
** {{BlockLink|Clay}} = flute
** {{BlockLink|Packed ice}} = chime
** {{BlockLink|Wool}} = guitar
* New sound effects for:
** [[Parrot]]s
** [[Illusioner]]s
** Casting a [[fishing rod]]
** Reeling in a fishing rod
** Throwing an [[eye of ender]]
** Eyes of ender exploding or popping back into item form
** Putting ender eye in [[end portal frame]]s (dinging sound)
** Completing the [[end portal]] and having the portal spawn (evil sound)
** [[Boat]] paddles
** Player drowning
** Player burning
** Completing a challenge [[advancement]]
** Toast notifications
* New cave sounds: cave17.ogg and cave18.ogg.

; [[Splash]]es
* "Don't feed chocolate to parrots!"
* "The true meaning of covfefe"
** Reference to a [[wikipedia:Covfefe|cryptic tweet]] from then–U.S. President [[wikipedia:Donald Trump|Donald Trump]].
* "An illusion! What are you hiding?"
* "Something's not quite right..."
** The top two are references to <span class="plainlinks">[https://warcraft.wiki.gg/wiki/Suramar_City Suramar City]</span> guards in [[wikipedia:World of Warcraft|World of Warcraft]], who say these lines when a player, having an illusion on themself, goes nearby.
** The splash about the illusion could also be a reference to the [[illusioner]].

; [[Tutorial hints]]
[[File:Hints.png|alt=The new tutorial hints.|thumb]]
* Displayed in the top right.
* Only displayed once per device.
** Saved per player, stored in [[options.txt]].
*** Name: <code>tutorialStep</code>
*** List of criteria: <code>movement</code>, <code>find_tree</code>, <code>punch_tree</code>, <code>open_inventory</code>, and <code>craft_planks</code> 
<br clear=all>

== Changes ==
=== Blocks ===
[[File:BannersBeforeAndAfter.png|thumb|right|250px|A comparison of banner colors before and after 17w06a. Image by [[Jeb]].<ref>{{tweet|jeb_|823817090511601664|Here's another example of the palette, this time with exactly the same texture in both pictures|January 24, 2017}}</ref>]]

; [[Banner]]s
* New palette texture.
* "Chief fess" and "base fess" banners are now just "chief" and "base" banners.

; [[Bed]]s
* Now the [[player]] can sleep when a neutral [[zombie pigman]] is near.
* Now the player can bounce on the bed, albeit much less than with [[slime block]]s
* Now reduce (but not negate) fall damage when landed on.
** The player can survive a 41 block fall onto a bed without armor.
** Any higher, and the second bounce deals the remaining amount of damage to kill them.
*** The player can create a platform around 7 blocks high beside the bed to land on to prevent death, in which case a player can survive a 45 block fall.
* Now a [[block entity]], and each half can be colored individually using the NBT tag <code>color</code>.
* Beds now display as blocks, unlike [[Pocket Edition]] beds. Now use a 3D item model instead of a 2D item because of the new colors.

; [[Button]]s, [[lever]]s, [[redstone torch]]es, [[torch]]es, and [[tripwire hook]]s
* Can now be placed on [[jack o'lantern]]s.
** [[Redstone torch]]es and [[torch]]es still cannot be placed on top of jack o'lanterns.

; [[Command block]]s
* Now executes all of the commands in a chain before scheduling them for the next tick.
** It is now possible to stop/modify the operation of a chain via commands and get results instantly (as opposed to getting them in a 1 tick delay).
* Optimized error conditions in command blocks.
* Tab-completing command names in command blocks no longer adds a <code>/</code> prefix.

; [[Fence]]s, [[cobblestone wall]]s, [[glass pane]]s, and [[iron bars]]
* Now connect to the back and underside of [[stairs]].

; Hardened clay
* Renamed to [[terracotta]].

; [[Magma block]]s
* Are now able to burn infinitely, like [[netherrack]].

; [[Shulker box]]es
* Colors changed in accordance with the changes to other block colors.
** Purple shulker boxes unchanged.

; [[Stairs]]
* The rear face and underside of stairs are now considered "solid".
** Allows for [[torch]]es, [[fence]]s, [[iron bars]], [[glass pane]]s, [[cobblestone wall]]s, and [[snow layer]]s to connect to them properly.

; [[Wool]]
* New palette texture.

=== Items ===
; [[Map]]s
* Dyed blocks such as [[banner]]s and [[terracotta]] now have unique colors.

=== Mobs ===
[[File:NewShulkerColors.png|thumb|right|250px|Comparison of old and new shulker and shulker box colors (The purple shulker and shulker box was later changed back to normal).]]

; [[Sheep]]
* New color palette for wool on body.

; [[Shulker]]s
* Colors changed in accordance with the changes to other block colors.
** Purple shulkers are left the same.

; [[Wither]]s
* Can no longer break end gateway blocks and piston extensions.

; [[Wolves]]
* New color palette for collar.

; [[Zombie]]s
* New <code>ConversionPlayerLeast</code> and <code>ConversionPlayerMost</code> tags
** Contains the UUID of the player that is converting the zombie.
** Used with the "minecraft:cured_zombie_villager" trigger for advancements.

=== Non-mob entities ===
; [[Minecarts with TNT]]
* No longer instantly explode when hit with [[fire charge]]s; instead, they explode as if primed by an activator rail.

; [[Painting]]s
* Now tries to place the largest possible in the available space it has.

=== Command format ===
* {{cmd|give}} and {{cmd|replaceitem}}
** Now reinforces item-specific stacking restrictions.<ref name=":0">{{bug|MC-117005|resolution=WAI}}</ref>
*** This is a reverse of [[16w32a]].<ref>{{bug|MC-105965|resolution=WAI}}</ref>

=== General ===
; [[Achievement|Achievements]]
* Removed and replaced by [[Advancement|advancements]].

; Controls
* Pressing {{key|F1}} now hides all toast messages.

; [[Crafting]]
* Closing the crafting interface with items inside no longer drops the items in front of the player, but sends them instead to the inventory.

; Creative
* Materials tab merged with miscellaneous tab in Creative mode.

; Java version
* This is the first version to use, and thus require, Java 8.<ref name="java 8">{{tweet|Dinnerbone|847408242233704448|Heads up modders: This snapshot is the first Minecraft version to require (and therefore use) Java 8. You can now finally use 7/8 features!|March 31, 2017}}</ref>

; [[Language]]
* Many pieces of text are now translatable, where previously they were hardcoded English.
** The full list of changes can be found [[/New translatable strings|here]].

; Movement
* The player's body now entirely faces to the front, when moving backwards.<ref>{{bug|MC-114900}}, resolved as "Works as Intended" – Maria Lemón, April 22, 2017</ref><ref>{{reddit|66s2px/in_17w16b_players_can_now_run_backwards_without|dglwcfv|It actually is a bug, it tries to rotate the body to the direction you are walking, but it can only do it so far, that is also why it basically picks a 'random direction'. Now it can actually understand when it is walking backwards and it stopped doing that weird behavior.|_Grum|April 22, 2017}}</ref>
** Prior to this update, moving backwards would cause the player model to rotate one side, making it look like the player was strafing backwards somewhat.

; NBT format
* Improved NBT parsing in commands.
** Keys can now (optionally) be quoted, e.g: <code>"Motion":[0.0,0.0,0.0]</code>.
** Unquoted string values are now stricter; they can no longer contain spaces or special symbols, e.g: <code>CustomName:Test Test</code>.
** Indices, which were previously optional in lists, are no longer allowed, e.g: <code>Motion:[0:7.3,1:1.0,2:3.1]</code>.
** Empty keys and values are no longer allowed.
* Improved error messaging; now points to where exactly the error occurred.

; Optimizations
* Huge optimizations to [[Creative inventory]] searching.
* Optimized chunk loading.

; [[Splash]]es
* "Now Java 6!" changed to "Now Java 8!"

== Fixes ==
{{fixes|fixedin=1.12, 1.12 Pre-Release 7, 1.12 Pre-Release 6, 1.12 Pre-Release 5, 1.12 Pre-Release 4, 1.12 Pre-Release 3, 1.12 Pre-Release 2, 1.12 Pre-Release 1, 17w18b, 17w18a, 17w17b, 17w17a, 17w16b, 17w16a, 17w15a, 17w14a, 17w13b, 17w13a, 17w06a|prefix=Minecraft
|;old
|5228|Cow's/Mooshroom's udder texture is wrong.
|110474|Activator Rail ejects 2 block tall Mobs to the wrong spot inside of 2 block tall room.
|113125|Loaded world shows clouds and void for few seconds.
|2813|Snow doesn't form / cannot be placed on upside down slabs / stairs.
|8345|Placing torch on backside of stairs impossible.
|9176|Glass panes not correctly rendering with the back of stairs.
|10613|Fence doesn't connect with stairs.
|11963|bed hind legs not rendered.
|109663|Tamed [wolves] attack tamed cats.
|9565|Fences and Cobblestone Walls connect to Fence Gates, which are facing the other direction.
|95560|Wrong command message: Last character of NBT parsing error message is missing.
|97662|NBT parser regex checks for pipebars as tag declaration.
|114219|NBT integer array regex matches non integer arrays.
|114220|NBT integer arrays have trailing comma in string representation.
|111753|Hopper/Dropper will not input water bottles into brewing stand after potions have been removed by a hopper from brewing stand.
|116623|Stained hardened clay / terracotta blocks do not have correct color on map.
|108175|Villagers sent through an end gateway portal in a minecart lose their AI.
|11240|Ignited TNT can be set on fire by a Flame Bow.
|50166|Game states that "The block couldn't be placed" when using /setblock to place air in a space occupied by a tile entity, despite working.
|95367|Tamed [wolf], cat or parrot in a minecart teleports to a player (not visually).
|100468|[Wolves], cats and parrots teleport to player despite being in a boat (yet not visually).
|111699|Can't rename stacked items.
|111744|Anvil outputs only 1 item when renaming.
|96555|Wolves, ocelots and parrots can teleport in all non-full cube blocks near owner including path, lava, fire.
|103067|The unit for "Minutes Played" statistic is not always minutes.
|108304|"Level Requirement" message is not translatable.
|108343|''Minecraft'' crashes with "java.lang.NullPointerException: Ticking screen" while pinging server on multiplayer server list (previously due to network issues, now more frequent).
|110243|Sneaking + hit -> moved wrongly / no knockback.
|111054|Invalid lang in options.txt leads to connection error.
|112017|The anvil rename field accepts 31 characters but the server rejects it if it is over 30.
|112425|Hitting rabbits with fire aspect sword: "Couldn't smelt 0xtile.air@0 because there is no smelting recipe".
|112765|<code>hoverEvent</code> JSON with specified color does not share among new lines.
|113255|Server does not test if some files exist before trying to interact with them.
|113429|Wither can break piston extension and end gateway.
|114110|Constructor for playerlist header and footer packet <code>SPacketPlayerListHeaderFooter</code> is missing footer parameter.
|114281|<code>MutableBlockPos</code> leak.
|115407|Loot entries serialize incorrectly.
|40275|Credit screen/End Poem music not playing correctly.
|94016|Glass panes and iron bars connect to barrier blocks.
|117710|Bonus Chest setting is not copied when re-creating world.
|117858|Right-clicking an item stack into the creative mode item selector destroys the whole stack.
|112602|"disconnect.spam" kick message is untranslated.
|12503|Item Description is rendered behind Potion Effect Status in Inventory.
|59535|Server log outputs TextComponent object rather than its Text property for player lost connection/Disconnecting message.
|92324|Players become invisible.
|101234|Stack trace is not printed in log when exception occurs while running command.
|109871|Some advanced tooltips are not translatable.
|116422|Fires put out by splash water bottles do not cause block update.
|116489|Unknown entity property for <code>entity_properties</code> loot table condition causes server crash for default loot tables.
|116669|Exploding TNT minecarts and ender crystals can cause <code>StackOverflow</code>.
|117197|Message for non-existent team specified in entity NBT data is logged as info instead of warning or error.
|117640|Pets (wolves, ocelots, parrots) teleport onto magma blocks.
|92527|Villager trade items render over inventory tooltips.
}}</onlyinclude>

== Video == 
Video made by [[slicedlime]]: 
{{yt|M6HsqQMHuSs}}

== Trivia ==
* 1.12, along with [[Java Edition 1.8.2]], had the most pre-releases of any update at the time, with a total of 7 pre-releases.
** This was later broken by [[Java Edition 1.13]], with 10 pre-releases.
* This version was released exactly 5 years before [[Java Edition 1.19|1.19]] and 6 years before [[Java Edition 1.20|1.20]].

== References ==
{{reflist}}

== Navigation ==
{{Navbox Java Edition versions|1.1x}}

[[cs:Java Edice 1.12]]
[[de:1.12]]
[[es:Java Edition 1.12]]
[[fr:Édition Java 1.12]]
[[it:Java Edition 1.12]]
[[ja:Java Edition 1.12]]
[[nl:1.12]]
[[pl:1.12]]
[[pt:Edição Java 1.12]]
[[ru:1.12 (Java Edition)]]
[[zh:Java版1.12]]
