For a guide about all content in this release and the other releases of the World of Color Update, see Java Edition guides/World of Color Update.
1.12, the first release of the World of Color Update,[1] is a major update to Minecraft (Java Edition) 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 advancements, and introduced a new system for working with collections of commands, called functions.
Additions[]
Blocks[]
- Colored beds
- 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.
- Comes in the 16 traditional dye colors.
- Created when concrete powder comes into contact with still or flowing water.
- 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.
- 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[]
- 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.
- Especially useful when
- Parrot (new mob): Green with red dots.
Mobs[]
- 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 minecraft:illusioner
. - Targets both the player and villagers.
- Unused and present only in Java Edition.
- Fly around, but sit when "tired".
- Tamed with seeds.
- 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 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 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 andannounce-player-achievements
is removed.
- If
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
.
- Targets the executing entity, e.g:
/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.
- Added new arguments:
- Runs a function once through the entity or command block which ran the function command.
/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[]
- 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.
- 5 tabs (more supported):
- 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.
- Added keybinding options for Creative toolbar saving.
- Added new keybinding for opening advancements (default "L").
- 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 the player saves an empty toolbar, it will clear the bookmarked toolbar and put back the 'informational paper' in the respective slot.
- Added new function system, which are text files with the file extension
.mcfunction
innamespace:path/to/function/file
.- For example, running
/function custom:example/test
will refer to the function located atWORLDNAME/data/functions/custom/example/test.mcfunction
.
- For example, running
- 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.
- Added the ability to see credits by clicking the copyright text.
- 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.
-
LastExecution
- Stores the tick a chain command block was last executed in.
-
LoveCauseLeast
andLoveCauseMost
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
andShoulderEntityRight
- Contains entity data about an entity on the left and right shoulders of the player.
-
UpdateLastExecution
- Defaults to
1b
. If set to0b
, loops can be created, where the same command block can run multiple times in one tick.
- Defaults to
- 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 the player searches "excitedze" in the recipe book, their language switches to Pirate Speak.
recipes
folder added with all item recipes as.json
files.
- New note block sounds.
- Bone block = xylophone
- Block of gold = bell
- Clay = flute
- Packed ice = chime
- Wool = guitar
- New sound effects for:
- Parrots
- Illusioners
- 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 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.
- "Don't feed chocolate to parrots!"
- "The true meaning of covfefe"
- Reference to a cryptic tweet from then–U.S. President Donald 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.
- 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
, andcraft_planks
- Name:
- Saved per player, stored in options.txt.
Changes[]
Blocks[]
- New palette texture.
- "Chief fess" and "base fess" banners are now just "chief" and "base" banners.
- 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 blocks
- 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 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.
- 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.
- Can now be placed on jack o'lanterns.
- Redstone torches and torches still cannot be placed on top of jack o'lanterns.
- 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.
- Now connect to the back and underside of stairs.
- Hardened clay
- Renamed to terracotta.
- Are now able to burn infinitely, like netherrack.
- Colors changed in accordance with the changes to other block colors.
- Purple shulker boxes unchanged.
- 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.
- New palette texture.
Items[]
- Dyed blocks such as banners and terracotta now have unique colors.
Mobs[]
- New color palette for wool on body.
- Colors changed in accordance with the changes to other block colors.
- Purple shulkers are left the same.
- Can no longer break end gateway blocks and piston extensions.
- New
ConversionPlayerLeast
andConversionPlayerMost
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[]
- No longer instantly explode when hit with fire charges; instead, they explode as if primed by an activator rail.
- Will now try to place the largest possible in the available space it has.
Command format[]
/give
and/replaceitem
General[]
- Removed and replaced by advancements.
- Controls
- Pressing F1 will now hide all toast messages.
- Closing the crafting interface with items inside will no longer drop the items in front of the player, 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.[4]
- 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.[5][6]
- 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.
- Keys can now (optionally) be quoted, e.g:
- Improved error messaging; now points to where exactly the error occurred.
- Optimizations
- "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.
Video[]
Video made by slicedlime:
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 came out exactly 5 years before 1.19.
References[]
- ↑ "World of Color is released!" by Jens Bergensten. Minecraft.net, June 7, 2017
- ↑ "Here's another example of the palette, this time with exactly the same texture in both pictures" – @jeb_ (Jens Bergensten) on X, January 24, 2017
- ↑ MC-117005 resolved as "Works as Intended"
- ↑ "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 (Nathan Adams) on X, March 31, 2017
- ↑ MC-114900, resolved as "Works as Intended" – Maria Lemón, April 22, 2017
- ↑ "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 on Reddit, April 22, 2017