Minecraft Wiki
Advertisement

1.12, the first release of the World of Color Update,[1][2] is a major update to Minecraft that was 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

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.
  • 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:
  • /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 the player saves 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 the player searches "excitedze" in the recipe book, their language switches to Pirate Speak.
  • recipes folder added with all item recipes as .json files.
Sounds
Splashes
  • "Don't feed chocolate to parrots!"
  • "The true meaning of covfefe"
  • "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
The new 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

BannersBeforeAndAfter

A comparison of banner colors before and after 17w06a. Image by Jeb.[3]

Banner
  • New palette texture.
  • "Chief fess" and "base fess" banners are now just "chief" and "base" banners.
Beds
  • 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
    • 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
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
Magma blocks
Shulker box
  • Colors changed in accordance with the changes to other block colors
    • Purple shulker boxes unchanged
Stairs
Wool
  • New palette texture.

Items

Map

Mobs

NewShulkerColors

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
  • 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.[4]
      • This is a reverse of 16w32a (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.[5]
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.[6][7]
    • 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
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-108343Minecraft 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-112765hoverEvent 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-114281MutableBlockPos 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: Java Edition 1.12/Update Video

Trivia

  • 1.12 was the only major update to Minecraft Java Edition released in 2017.
  • 1.12, along with 1.8.2, with 7 pre-releases had the most pre-releases of any update at the time.
    • This was broken by 1.13, with 10 pre-releases.

References

Advertisement