Java Edition 17w18a

17w18a is the tenth snapshot released for 1.12.

Gameplay

 * Gamerules
 * Defaults to true
 * Toggles announcing of advancements in chat, replacing the old  entry
 * Toggles announcing of advancements in chat, replacing the old  entry

Command format

 * 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
 * Re-introduced announcements to chat when someone earns an advancement
 * Shows the description on hover, like before with achievements
 * Added new Adventure advancements:
 * Best Friends Forever - Tame an animal
 * The Parrots and the Bats - Breed two animals together
 * Two by Two - Breed all the animals! (Requires sheep, cows, pigs, rabbits, chickens, horses, wolves, ocelots, mooshrooms, and llamas)
 * Added new  trigger
 * Activates for each player on every tick, provided that the advancement was revoked before the next tick starts.
 * Added new  trigger
 * Activates whenever the player tames an animal. The  condition can be specified to check that the animal that was tamed.
 * Added new  display option
 * Optional boolean defaulting to true. When false, the specified advancement will not display the toast popup when the advancement is fulfilled.
 * Added new  display option
 * Optional boolean defaulting to true. When false, this specific advancement will not announce the player fulfilling it to the chat for all players to see.

Blocks

 * Command block
 * Optimized error conditions in command blocks

Items

 * Map
 * Changed some map colors around again
 * Reverted the wool colors on maps
 * Moved dyed blocks such as banners to the new terracotta map color palette

Command format
and
 * Now reinforces item-specific stacking restrictions.
 * This is a reverse of 16w32a ( resolved as "Works as Intended")

General

 * Advancements
 * "entity" objects and the  trigger now use a shared "distance" object
 * Check if the player is within or outside of the specified range on the,  , or   axis (in either the positive or negative direction)
 * and  ranges check if the player is within range on all axes, though   will exclude the Y axis.
 * Changed the Levitate advancement to 50 vertical blocks
 * Changed the Sniper Duel advancement to horizontal distance
 * Advancement loading is now strict JSON


 * Narrator
 * Narrator optimized, it should work for more people now


 * Recipe book
 * Some optimizations to the recipe book
 * If [the player]] searches "excitedze" in the Recipe book, their language switches to Pirate Speak.
 * Searching "excited" will no longer do this.

Video
Video made by slicedlime: