1.12

1.12

 Hivatalos név
 Kiadási dátum
 ◄◄ 1.11◄ 1.11.2

**1.12**, the first release of the **World of Color Update**, is a major update to *Minecraft*. 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 'advancements', and introduced a new system for working with collections of commands, called 'functions'.

## Additions

### Blocks

Concrete
* Comes in the 16 traditional dye colors
* Created when Concrete Powder comes into contact with still or flowing water

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. Crafting: 4 Sand, 4 Gravel and one of any dye to get 8 Concrete Powder blocks. The recipe is shapeless.

Glazed Terracotta
* Comes in the 16 traditional dye colors
* Smelt any colored 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, the white terracotta will create the pattern of a sun when 4 are placed down correctly.
* Will not "stick" to slime blocks if attached to the side, top or bottom, but will if attached to the front or back.

### Items

Knowledge Book
* A green-colored book
* Currently obtainable only with the `/give @p knowledge_book` command.
* A Knowledge Book with a `Recipes` NBT tag, which contains a list of item IDs, will be consumed and unlock the specified items' recipes for any player that uses it
	+ Especially useful when `/gamerule doLimitedCrafting` is set to true

Spawn eggs
* Parrot (new mob): Green with red dots.

### Mobs

Illusioner
* New illager.
* Affects players with Blindness for 20 seconds then shoots with a bow.
	+ Its blindness spell will only be cast if the regional difficulty is greater than 2.
* Summons duplicates of itself.
	+ All duplicates will 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 `/summon illusion_illager`.
* Targets both the player and villagers.

Parrots
* Tamable with seeds
* Fly around, but sit when "tired"
* If fed cookies, the parrot dies.
	+ Poison particle effects are emitted, but they are not actually killed by poison.
	+ If a player has tamed a parrot and then fed it cookies, it will display the message "*Parrot was slain by <player>*".
* Follow and crowd around nearby mobs.
* Imitates sounds of other 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 will cause it to sit on the player's shoulders.
	+ Will let go if the player jumps.
	+ Can fly with players during elytra flight.
* Have 6 () health.
* Come in red, blue, green, cyan and gray.

### Gameplay

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

### Command format

* `@s`
	+ Targets the executing entity, e.g: `/execute @e[type=villager] ~ ~ ~ say @s`
* `/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:
		- `/advancement grant dinnerbone until story/elytra`
		- `/advancement revoke dinnerbone everything`
* `/function namespace:file`
	+ Runs a function once through the entity or command block which ran the function command
		- Added new arguments:
			* `if <selector>` - runs the function only if the specified selector is found
			* `unless <selector>` - runs the function except when the specified selector is found
* `/recipe <give|take> [*player*] <*name*|*>`
	+ Can unlock, or lock, the given recipes for the given player
	+ If `*` is specified, it will lock or unlock all recipes for the player
* `/reload`
	+ Command to reload advancements and loot tables from disk
	+ This command is available to all opped players in single player and to all level 4 operators on a multiplayer server.
	+ Cannot be run from a command block.

### General

Advancements
* Replaces 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, experience and functions
	+ 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

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 `C`+`1-9` and load them with `X`+`1-9`
	+ Can save up to 9 toolbars
	+ If you save an empty toolbar, it will clear the bookmarked toolbar and put back the 'informational paper' in the respective slot

Function
* Added new function system, which are text files with the file extension `.mcfunction` in `namespace:path/to/function/file`
	+ For example, running `/function custom:example/test` will refer to the function located at  `WORLDNAME/data/functions/custom/example/test.mcfunction`.
* Functions are a list of commands, one line per command (without a forward slash), with `#` 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

Menu screen
* Added the ability to see credits by clicking the copyright text

Narrator
* `CTRL`+`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 will not read commands or command outputs, nor will it read messages produced with `/me`
* It displays a message whenever the Narrator isn't available
	+ Uses the "toast" notification system

NBT tags
* `LastExecution`
	+ Stores the tick a chain command block was last executed in
* `LoveCauseLeast` and  `LoveCauseMost` for breedable entities
	+ Together these record the UUID of the entity that caused a given animal to breed
* `recipeBook`
	+ A compound tag containing a list of recipes, formatted as JSON, that the player has seen, as well as recipe book information
	+ `isFilteringCraftable`
		- Becomes 1 if the player has enabled the "Show Craftable" feature in the recipe book
	+ `isGuiOpen`
		- Checks if the player has left the GUI open
		- `unlocked`
	+ `recipes`
		- Contains information about all recipes the player has seen
		- `displayed`
			* Checks if the player has tried out the recipe in the recipe book before (by clicking it/viewing it)
	+ `toBeDisplayed`
		- 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
* `Recipes`
	+ 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 will not be consumed
* `enteredNetherPosition`
	+ A compound tag containing the X, Y, and Z coordinates of the overworld position the player entered the nether
	+ `x`
		- The x coordinate.
	+ `y`
		- The y coordinate.
	+ `z`
		- The z coordinate.
* `seenCredits`
	+ Changes to 1 if the player leaves the End through the portal
* `ShoulderEntityLeft` and  `ShoulderEntityRight`
	+ Contains entity data about an entity on the left and right shoulders of the player
* `UpdateLastExecution`
	+ Defaults to `1b`. If set to `0b`, loops can be created, where the same command block can run multiple times in one tick

Recipe book
* Catalogs recipes that are unlocked when the criteria are met
* When a recipe is clicked, it will appear 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 you search "**excitedze**" in the Recipe book, your language switches to Pirate Speak
* `recipes` folder added with all item recipes as `.json` files.

Sounds
* New note block sounds
	+ Bone block = xylophone
	+ Block of gold = bell
	+ Clay = flute
	+ Packed ice = chime
	+ Wool = guitar
* New sound effects
	+ Parrots
	+ Illusioners
	+ Casting a fishing rod
	+ Reeling in a fishing rod
	+ Throwing an eye of ender
	+ An eye of ender exploding or popping back into item form
	+ Putting ender eye in end portal frames (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

Splashes
* "Don't feed chocolate to parrots!"
* "The true meaning of covfefe"
	+ Reference to a cryptic tweet from Donald John Trump.
* "An illusion! What are you hiding?"
* "Something's not quite right..."
	+ The top two are references to Suramar City guards in 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
* Displayed in the top right
* Only displayed once per device
	+ Saved per player, stored in options.txt
		- Name: `tutorialStep`
		- List of criteria: `movement`, `find_tree`, `punch_tree`, `open_inventory`, `craft_planks`, and `none`

## Changes

### Blocks

 Fájl:BannersBeforeAndAfter.png
Banner
* New palette texture.
* "Chief fess" and "base fess" banners are now just "chief" and "base" banners.

Beds
* Now you can sleep when a neutral zombie pigman is near.
* Now you can bounce on the bed, albeit much less than with slime blocks
* Now reduce (but not negate) fall damage when landed on
	+ The player can survive a 41 block fall onto a bed
	+ Any higher, and the second bounce will deal 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
* Added colored beds which can be crafted with colored wool or by dying a white bed
* Now a block entity, and each half can be colored individually using the NBT tag `color`
* 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

Buttons, levers, redstone torches, torches, and tripwire hooks
* Can now be placed on jack o'lanterns.
	+ Redstone torches and torches still cannot be placed on top of jack o'lanterns

Command block
* 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 will no longer add a `/` prefix.

Fences, cobblestone walls, glass panes, and iron bars
* Now connect to the back and underside of stairs

Hardened clay
* Renamed to terracotta

Magma blocks
* Are now able to burn infinitely, like netherrack

Shulker box
* 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 torches, fences, iron bars, glass panes, cobblestone walls, and snow layers to connect to them properly

Wool
* New palette texture.

### Items

Map
* Dyed blocks such as banners and terracotta now have unique colors

### Mobs

 Fájl:NewShulkerColors.png
Sheep
* New color palette for wool on body

Shulker
* Colors changed in accordance with the changes to other block colors
	+ Purple shulkers are left the same

Wither
* Can no longer break end gateway blocks and piston extensions

Zombies
* New `ConversionPlayerLeast` and `ConversionPlayerMost` 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 charges; instead, they explode as if primed by an activator rail.

Paintings
* Will now try to place the largest possible in the available space it has

### Command format

* `/give` and `/replaceitem`
	+ Now reinforces item-specific stacking restrictions.
		- This is a reverse of 16w32a (MC-105965 resolved as "Works as Intended")

### General

Achievements
* Removed and replaced by advancements

Controls
* Pressing `F1` will now hide all toast messages

Crafting
* Closing the crafting interface with items inside will no longer drop the items in front of you, but will send 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.

Language
* Many pieces of text are now translatable, where previously they were hardcoded English
	+ The full list of changes can be found here.

Movement
* The player's body now entirely faces to the front, when moving backwards.
	+ 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: `"Motion":[0.0,0.0,0.0]`
	+ Unquoted string values are now stricter; they can no longer contain spaces or special symbols, e.g: `CustomName:Test Test`
	+ Indices, which were previously optional in lists, are no longer allowed, e.g: `Motion:[0:7.3,1:1.0,2:3.1]`
	+ 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.

Splashes
* "Now Java 6!" changed to "Now Java 8!"

## Fixes

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

## Trivia

* 1.12 was the only major update to *Minecraft* Java Edition released in 2017.

## References

1. ↑ 1,0 1,1  “Submit your colorful builds and get featured in the next Minecraft trailer!” – u/Bopogamel, March 13, 2017
2. ↑ “Here's another example of the palette, this time with exactly the same texture in both pictures” – @jeb\_, January 24, 2017
3. ↑ MC-117005 resolved as "Works as Intended"
4. ↑ “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!” – @Dinnerbone, March 31, 2017
5. ↑ MC-114900, resolved as "Works as Intended" – Maria Lemón, April 22, 2017
6. ↑  “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.” – u/\_Grum, April 22, 2017