Advancements
Java Edition only |
![]() |
“ | The system as a whole is called "advancements", which is aimed at guiding & tracking players progress through the game (in vanilla survival and any custom additions by mapmakers or mods). Most advancements are literally just that - an advancement through the game. | „ |
— Dinnerbone on the advancements system[1] |
Contents
- 1 Obtaining
- 2 Interface
- 3 List of advancements
- 4 JSON Format
- 4.1 List of triggers
- 4.1.1 minecraft:bred_animals
- 4.1.2 minecraft:brewed_potion
- 4.1.3 minecraft:changed_dimension
- 4.1.4 minecraft:channeled_lightning
- 4.1.5 minecraft:construct_beacon
- 4.1.6 minecraft:consume_item
- 4.1.7 minecraft:cured_zombie_villager
- 4.1.8 minecraft:effects_changed
- 4.1.9 minecraft:enchanted_item
- 4.1.10 minecraft:enter_block
- 4.1.11 minecraft:entity_hurt_player
- 4.1.12 minecraft:entity_killed_player
- 4.1.13 minecraft:filled_bucket
- 4.1.14 minecraft:fishing_rod_hooked
- 4.1.15 minecraft:impossible
- 4.1.16 minecraft:inventory_changed
- 4.1.17 minecraft:item_durability_changed
- 4.1.18 minecraft:levitation
- 4.1.19 minecraft:location
- 4.1.20 minecraft:nether_travel
- 4.1.21 minecraft:placed_block
- 4.1.22 minecraft:player_hurt_entity
- 4.1.23 minecraft:player_killed_entity
- 4.1.24 minecraft:recipe_unlocked
- 4.1.25 minecraft:slept_in_bed
- 4.1.26 minecraft:summoned_entity
- 4.1.27 minecraft:tame_animal
- 4.1.28 minecraft:tick
- 4.1.29 minecraft:used_ender_eye
- 4.1.30 minecraft:used_totem
- 4.1.31 minecraft:villager_trade
- 4.1 List of triggers
- 5 History
- 6 Issues
- 7 Trivia
- 8 Gallery
- 9 See also
- 10 References
Advancements are a way to gradually guide new players into Minecraft and give them challenges to complete, similar to the more simple system of achievements in the Legacy Console Edition, Bedrock editions, and New Nintendo 3DS Edition.
Obtaining[edit]
Advancements can be completed in any game mode, and are obtained and saved per world. Advancements can also be granted (and revoked) using the /advancement
command.
Although advancements guide players logically through the game, they are independent of each other; an advancement can be completed without having completed the advancements "before" it.
When an advancement is obtained, a sliding toast notification displays in the top right corner and a message will be displayed in chat. The color of the header text in the notification depends on the advancement; normal and goal advancements have yellow header text, while challenge advancements have pink header text. Completing a normal advancement will make the header text display "Advancement Made!", completing a goal advancement will result in a "Goal Reached!" header and a challenge advancement will give "Challenge Complete!".
Interface[edit]
The button to access the Advancements screen is found on the pause menu screen. You can also open this screen by pressing L (this can be changed in the in-game options menu).
The advancement system involves several trees composed of advancements, each tree beginning with a root advancement and ending with goal or challenge advancements. By clicking and dragging, you can view different branches of an advancement tree. Each tree is categorized into different tabs (which are, themselves, advancements). There are currently five tabs in vanilla Minecraft (although more may possibly be added[2][3]):
- 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.
Each tab has a different background with a repeating texture.
Advancement icons display a header name and description when hovered over. The advancement descriptions are a separate color than the icons themselves, with normal and goal advancements having green descriptions and challenge advancements having purple ones. They only appear in a tree when the advancement before it is completed, although, as stated before, advancements can be completed in any order. Up to 2 advancements are displayed ahead of a completed one.
If the player has not completed any advancements, the interface will show a black background with white text reading "There doesn't seem to be anything here... :(".
The icon frames of advancements can vary in appearance based on difficulty, and whether or not it was completed. A legend is provided below:
Icon Frame | Description | |
---|---|---|
Regular | Completed | |
![]() |
![]() |
Normal advancement. |
![]() |
![]() |
Goal advancement. |
![]() |
![]() |
Challenge advancement. |
Extra advancements and tabs can be added and customized with the use of JSON files, as detailed below.
List of advancements[edit]
Minecraft[edit]
![]() | ||||||
---|---|---|---|---|---|---|
Icon | Advancement | In-game description | Parent | Actual requirements (if different) | Internal ID | |
![]() | Minecraft | The heart and story of the game | — | Get a crafting table in your inventory. | minecraft:story/root | |
![]() | Stone Age | Mine stone with your new pickaxe | Minecraft | Get cobblestone in your inventory. | minecraft:story/mine_stone | |
![]() | Getting an Upgrade | Construct a better pickaxe | Stone Age | Get a stone pickaxe in your inventory. | minecraft:story/upgrade_tools | |
![]() | Acquire Hardware | Smelt an iron ingot | Getting an Upgrade | Get an iron ingot in your inventory. | minecraft:story/smelt_iron | |
![]() | Suit Up | Protect yourself with a piece of iron armor | Acquire Hardware | Get any type of iron armor in your inventory. | minecraft:story/obtain_armor | |
![]() | Hot Stuff | Fill a bucket with lava | Acquire Hardware | Get a lava bucket in your inventory. | minecraft:story/lava_bucket | |
![]() | Isn't It Iron Pick | Upgrade your pickaxe | Acquire Hardware | Get an iron pickaxe in your inventory. | minecraft:story/iron_tools | |
![]() | Not Today, Thank You | Deflect an arrow with a shield | Suit Up | Deflect a projectile with a shield. | minecraft:story/deflect_arrow | |
![]() | Ice Bucket Challenge | Form and mine a block of Obsidian | Hot Stuff | Get a block of obsidian in your inventory. | minecraft:story/form_obsidian | |
![]() | Diamonds! | Acquire diamonds | Isn't It Iron Pick | Get a diamond in your inventory. | minecraft:story/mine_diamond | |
![]() | We Need to Go Deeper | Build, light and enter a Nether Portal | Ice Bucket Challenge | Enter the Nether dimension. | minecraft:story/enter_the_nether | |
![]() | Cover Me With Diamonds | Diamond armor saves lives | Diamonds! | Get any type of diamond armor in your inventory. | minecraft:story/shiny_gear | |
![]() | Enchanter | Enchant an item at an Enchanting Table | Diamonds! | — | minecraft:story/enchant_item | |
![]() | Zombie Doctor | Weaken and then cure a zombie villager | We Need to Go Deeper | Throw a splash potion of weakness at a zombie villager and give it a golden apple (by facing the zombie and pressing the use key with a golden apple in your hand), then wait for the villager to be cured. | minecraft:story/cure_zombie_villager | |
![]() | Eye Spy | Follow an Ender Eye | We Need to Go Deeper | Enter a stronghold. | minecraft:story/follow_ender_eye | |
![]() | The End? | Enter the End Portal | Eye Spy | Enter the End dimension. | minecraft:story/enter_the_end |
Nether[edit]
![]() | ||||||
---|---|---|---|---|---|---|
Icon | Advancement | In-game description | Parent | Actual requirements (if different) | Internal ID | Rewards |
![]() | Nether | Bring summer clothes | — | Enter the Nether dimension. | minecraft:nether/root | — |
![]() | Subspace Bubble | Use the Nether to travel 7km in the Overworld | Nether | Use the Nether to travel between 2 points in the Overworld with a minimum horizontal distance of 7000 blocks between each other. | minecraft:nether/fast_travel | 100 experience |
![]() | A Terrible Fortress | Break your way into a Nether Fortress | Nether | Enter a Nether fortress. | minecraft:nether/find_fortress | — |
![]() | Return to Sender | Destroy a Ghast with a fireball | Nether | Kill a ghast using a ghast fireball. | minecraft:nether/return_to_sender | 50 experience |
![]() | Into Fire | Relieve a Blaze of its rod | A Terrible Fortress | Get a blaze rod in your inventory. | minecraft:nether/obtain_blaze_rod | — |
![]() | Spooky Scary Skeleton | Obtain a wither skeleton's skull | A Terrible Fortress | Get a wither skeleton skull in your inventory. | minecraft:nether/get_wither_skull | — |
![]() | Uneasy Alliance | Rescue a Ghast from the Nether, bring it safely home to the Overworld... and then kill it. | Return to Sender | Kill a Ghast in the Overworld. | minecraft:nether/uneasy_alliance | 100 experience |
![]() | Local Brewery | Brew a potion | Into Fire | Pick up an item from a brewing stand potion slot. | minecraft:nether/brew_potion | — |
![]() | Withering Heights | Summon the Wither | Spooky Scary Skeleton | Be within a 100.9×100.9×103.5 cuboid centered on the Wither when it is spawned. | minecraft:nether/summon_wither | — |
![]() | A Furious Cocktail | Have every potion effect applied at the same time | Local Brewery | Have all of these 13 potion effects applied to you at the same time. | minecraft:nether/all_potions | 100 experience |
![]() | Bring Home the Beacon | Construct and place a Beacon | Withering Heights | Be within a 20×20×14 cuboid centered on a beacon block when it realizes it has become powered. | minecraft:nether/create_beacon | — |
![]() | How Did We Get Here? | Have every effect applied at the same time | A Furious Cocktail | Have all of these 23 effects applied to you at the same time. In 1.14,[upcoming] additionally have these 2 effects applied at the same time. | minecraft:nether/all_effects | 1,000 experience |
![]() | Beaconator | Bring a beacon to full power | Bring Home the Beacon | Be within a 20×20×14 cuboid centered on a beacon block when it realizes it is being powered by a size 4 pyramid. | minecraft:nether/create_full_beacon | — |
The End[edit]
![]() | ||||||
---|---|---|---|---|---|---|
Icon | Advancement | In-game description | Parent | Actual requirements (if different) | Internal ID | Rewards |
![]() | The End | Or the beginning? | — | Enter the End dimension. | minecraft:end/root | — |
![]() | Free the End | Good luck | The End | Kill the ender dragon. | minecraft:end/kill_dragon | — |
![]() | The Next Generation | Hold the Dragon Egg | Free the End | Get a dragon egg in your inventory. | minecraft:end/dragon_egg | — |
![]() | Remote Getaway | Escape the island | Free the End | Throw an ender pearl through or walk into an End gateway. | minecraft:end/enter_end_gateway | — |
![]() | The End... Again... | Respawn the ender dragon. | Free the End | Summon an ender dragon using ender crystals. | minecraft:end/respawn_dragon | — |
![]() | You Need a Mint | Collect dragon's breath in a glass bottle. | Free the End | Get a bottle of dragon's breath in your inventory. | minecraft:end/dragon_breath | — |
![]() | The City at the End of the Game | Go on in, what could happen? | Remote Getaway | Enter an End city. | minecraft:end/find_end_city | — |
![]() | Sky's the Limit | Find Elytra | The City at the End of the Game | Get a pair of elytra in your inventory. | minecraft:end/elytra | — |
![]() | Great View From Up Here | Levitate up 50 blocks from the attacks of a Shulker | The City at the End of the Game | Have the Levitation effect applied, and move a vertical distance of 50 blocks. | minecraft:end/levitate | 50 experience |
Adventure[edit]
![]() | ||||||
---|---|---|---|---|---|---|
Icon | Advancement | In-game description | Parent | Actual requirements (if different) | Internal ID | Rewards |
![]() | Adventure | Adventure, exploration, and combat | — | Kill any entity, or be killed by any entity. | minecraft:adventure/root | — |
![]() | Monster Hunter | Kill any hostile monster | Adventure | Kill one of these 24 mobs. In 1.14,[upcoming] you can also earn this by killing one of these 2 mobs. Other mobs are ignored for this advancement. | minecraft:adventure/kill_a_mob | — |
![]() | What a Deal! | Successfully trade with a Villager | Adventure | Take an item from a villager's trading output slot, and put it in your inventory. | minecraft:adventure/trade | — |
![]() | Sweet dreams | Change your respawn point | Adventure | Lie down in a bed. The advancement will be granted as soon as the player is in the bed, even if the player does not actually successfully sleep. | minecraft:adventure/sleep_in_bed | — |
![]() | A Throwaway Joke | Throw a trident at something. Note: Throwing away your only weapon is not a good idea. | Monster Hunter | — | minecraft:adventure/throw_trident | — |
![]() | Take Aim | Shoot something with a bow and arrow | Monster Hunter | — | minecraft:adventure/shoot_arrow | — |
![]() | Monsters Hunted | Kill one of every hostile monster | Monster Hunter | Kill each of these 24 mobs. In 1.14,[upcoming] also kill each of these 2 mobs. Other mobs may be killed, but are ignored for the advancement. | minecraft:adventure/kill_all_mobs | 100 experience |
![]() | Postmortal | Use a Totem of Undying to cheat death | Monster Hunter | — | minecraft:adventure/totem_of_undying | — |
![]() | Hired Help | Summon an Iron Golem to help defend a village | What a Deal! | Summon an iron golem. | minecraft:adventure/summon_iron_golem | — |
![]() | Adventuring Time | Discover every biome | Sweet dreams | Visit all of these 40 biomes. In 1.14,[upcoming] additionally visit these 2 biomes. Other biomes may also be visited, but are ignored for the advancement. | minecraft:adventure/adventuring_time | 500 experience |
![]() | Very Very Frightening | Strike a Villager with lightning | A Throwaway Joke | Hit a villager with lightning created by a trident with the Channeling enchantment. | minecraft:adventure/very_very_frightening | — |
![]() | Sniper duel | Kill a skeleton from more than 50 meters away | Take Aim | Use a projectile to kill a skeleton from 50 or more blocks away, horizontally. | minecraft:adventure/sniper_duel | 50 experience |
![]() | Ol' Betsy[upcoming: JE 1.14] | Shoot a Crossbow | Adventure | Shoot an arrow using a crossbow. | minecraft:adventure/ol_besty | — |
![]() | Who's the Pillager Now?[upcoming: JE 1.14] | Give a Pillager a taste of their own medicine | Ol' Betsy | Player kills a Pillager with an arrow. | minecraft:adventure/whos_the_pillager_now | — |
![]() | Two Birds, One Arrow[upcoming: JE 1.14] | Kill two Phantoms with a piercing arrow | Ol' Betsy | Using a crossbow enchanted with Piercing, shoot two Phantoms with the same arrow. | minecraft:adventure/two_birds_one_arrow | 65 experience |
![]() | Arbalistic[upcoming: JE 1.14] | Kill five unique mobs with one crossbow arrow | Ol' Betsy | Using a crossbow enchanted with Piercing IV, kill five unique mobs (five mobs which are all different types from each other) with the same arrow. | minecraft:adventure/arbalistic | 85 experience |
Husbandry[edit]
![]() | ||||||
---|---|---|---|---|---|---|
Icon | Advancement | In-game description | Parent | Actual requirements (if different) | Internal ID | Rewards |
![]() | Husbandry | The world is full of friends and food | — | Eat anything that can be eaten. | minecraft:husbandry/root | — |
![]() | The Parrots and the Bats | Breed two animals together | Husbandry | Breed a pair of one of these 11 mobs. Other breedable mobs, if any, are ignored for the advancement.[until JE 1.14]. Breed a pair of one of these 12 mobs. Other breedable mobs, if any, are ignored for the advancement.[upcoming: JE 1.14] | minecraft:husbandry/breed_an_animal | — |
![]() | Best Friends Forever | Tame an animal | Husbandry | Tame one of the 5 types of mob that are tamable.[until JE 1.14] Tame one of the 5 types of mob that are tamable.[upcoming: JE 1.14] | minecraft:husbandry/tame_an_animal | — |
![]() | A Seedy Place | Plant a seed and watch it grow | Husbandry | Plant one of these 5 seeds. Crops and plants without seeds are ignored for the advancement. | minecraft:husbandry/plant_seed | — |
![]() | Fishy Business | Catch a fish | Husbandry | Use a fishing rod to catch a fish. | minecraft:husbandry/fishy_business | — |
![]() | Two by Two | Breed all the animals! | The Parrots and the Bats | Breed pairs of each of these 11 mobs. Other tamable mobs, if any, are ignored for the advancement.[until JE 1.14] Breed pairs of each of these 13 mobs. Other tamable mobs, if any, are ignored for the advancement.[upcoming: JE 1.14] | minecraft:husbandry/bred_all_animals | 100 experience |
![]() | A Complete Catalogue | Tame all cat variants | Best Friends Forever | Tame all 11 cat variants! [upcoming: JE 1.14] | minecraft:husbandry/complete_catalogue | 50 experience |
![]() | A Balanced Diet | Eat everything that is edible, even if it's not good for you | A Seedy Place | Eat each of these 36 foods. Other foods, like cake, are ignored for the advancement. | minecraft:husbandry/balanced_diet | 100 experience |
![]() | Serious Dedication | Completely use up a diamond hoe, and then reevaluate your life choices | A Seedy Place | Unobtainable due to MC-136400.[until JE 1.14] Use up the final bit of durability on a diamond hoe, so that it breaks.[upcoming: JE 1.14] | minecraft:husbandry/break_diamond_hoe | 100 experience |
![]() | Tactical Fishing | Catch a fish... without a fishing rod! | Fishy Business | Use a water bucket on a fish mob to create a bucket of fish. | minecraft:husbandry/tactical_fishing | — |
JSON Format[edit]
Custom advancements in data packs of a Minecraft world store the advancement data for that world as separate JSON files:
All advancement JSON files are structured according to the following format:
- The root tag.
- display: The optional display data.
- icon: The data for the icon.
- item: The item id.
- nbt: The nbt data of the item.
- title: The title for this advancement.
- title: A JSON text component (containing text and formatting like used in /tellraw and various other commands. Also translate tag can be used here).
- frame: The optional type of frame for the icon.
challenge
for a tile with a more fancy spiked border as it is used for the kill all mobs advancement,goal
for a tile with a rounded border as it is used for the full beacon advancement,task
for a normal tile (default.) - background: The optional directory for the background to use in this advancement tab (only for the root advancement).
- description: The description of the advancement.
- description: A JSON text component (containing text and formatting like used in
/tellraw
and various other commands. Also translate tag can be used here). - show_toast: Can be
true
orfalse
. Whether or not to show the toast pop up after completing this advancement. Defaults to true. - announce_to_chat: Can be
true
orfalse
. Whether or not to announce in the chat when this advancement has been completed. Defaults to true. - hidden: Can be
true
orfalse
. Whether or not to hide this advancement and all its children from the advancement screen until this advancement have been completed. Has no effect on root advancements themselves, but will still affect all their children. Defaults to false.
- icon: The data for the icon.
- parent: The optional parent advancement directory of this advancement (does not apply for the root advancement).
- criteria: The required criteria that have to be met.
- <criterionName>: A name given to the criterion (can be any string, must be unique).
- trigger: The trigger for this advancement; specifies what the game should check for the advancement.
- conditions: All the conditions that need to be met when the trigger gets activated.
- <criterionName>: A name given to the criterion (can be any string, must be unique).
- requirements: An optional list of requirements (all the <criteriaNames>). If all criteria are required, this may be omitted. With multiple criteria: requirements contains a list of lists with criteria (all criteria need to be mentioned). If all of the lists each have any criteria met, it will complete the advancement. (basically AND grouping of OR groups)
- rewards: An optional collection of the rewards provided when this advancement is obtained.
- recipes: A list of crafting recipes (strings).
- loot: A list of loot tables (strings).
- experience: An amount of experience.
- function: A function to run. Functions are text files with the file extension
.mcfunction
in the datapacks.
- display: The optional display data.
List of triggers[edit]
minecraft:bred_animals[edit]
Triggers after the player breeds 2 animals. Available conditions:
- conditions:
- child: The child that results from the breeding.
- Tags common to all entities see Template:Nbt inherit/conditions/entity/template
- parent: The parent.
- Tags common to all entities see Template:Nbt inherit/conditions/entity/template
- partner: The partner (the entity the parent was bred with, useful for checking horses + donkey = mule breeding)
- Tags common to all entities see Template:Nbt inherit/conditions/entity/template
- child: The child that results from the breeding.
An example
{
"criteria": {
"example": {
"trigger": "minecraft:bred_animals",
"conditions": {
"child": {
"type": "mule"
},
"parent": {
"location": {
"biome": "minecraft:beaches"
}
},
"partner": {
"effects": {
"minecraft:speed": {
"amplifier": {
"min": 2
}
}
}
}
}
}
}
}
minecraft:brewed_potion[edit]
Triggers after the player takes any item out of a brewing stand. Available conditions:
- conditions:
- potion: A brewed potion ID.
An example
{
"criteria": {
"example": {
"trigger": "minecraft:brewed_potion",
"conditions": {
"potion": "minecraft:strong_swiftness"
}
}
}
}
minecraft:changed_dimension[edit]
Triggers after the player travels between two dimensions. Available conditions:
- conditions:
- from: The dimension the entity traveled from. Accepts these 3 values.
- to: The dimension the entity traveled to. Same accepted values as above.
An example
{
"criteria": {
"example": {
"trigger": "minecraft:changed_dimension",
"conditions": {
"from": "minecraft:the_end",
"to": "minecraft:overworld"
}
}
}
}
minecraft:channeled_lightning[edit]
Triggers after the player successfully uses the Channeling enchantment on an entity. Available conditions:
- conditions:
- victims: The victims hit by the lightning summoned by the Channeling enchantment. All entities in this list must be hit.
- :
- Tags common to all entities see Template:Nbt inherit/conditions/entity/template
- :
- victims: The victims hit by the lightning summoned by the Channeling enchantment. All entities in this list must be hit.
minecraft:construct_beacon[edit]
Triggers after the player changes the structure of a beacon. (When the beacon updates itself). Available conditions:
- conditions:
- level: The tier of the updated beacon structure.
- level:
- max: The maximum value.
- min: The minimum value.
An example
{
"criteria": {
"example": {
"trigger": "minecraft:construct_beacon",
"conditions": {
"level": {
"min": 3
}
}
}
}
}
minecraft:consume_item[edit]
Triggers when the player consumes an item. Available conditions:
- conditions:
- item: The item that was consumed
- Tags common to all items see Template:Nbt inherit/conditions/item/template
- item: The item that was consumed
An example
{
"criteria": {
"example": {
"trigger": "minecraft:consume_item",
"conditions": {
"item": {
"item": "minecraft:enchanted_golden_apple",
"nbt": "{display:{Name:\"Example\"}}"
}
}
}
}
}
minecraft:cured_zombie_villager[edit]
Triggers when the player cures a zombie villager. Available conditions:
- conditions:
- villager: The villager that is the result of the conversion. The 'type' tag is redundant since it will always be "villager".
- Tags common to all entities see Template:Nbt inherit/conditions/entity/template
- zombie: The zombie villager right before the conversion is complete (not when it is initiated). The 'type' tag is redundant since it will always be "zombie_villager".
- Tags common to all entities see Template:Nbt inherit/conditions/entity/template
- villager: The villager that is the result of the conversion. The 'type' tag is redundant since it will always be "villager".
An example
{
"criteria": {
"example": {
"trigger": "minecraft:cured_zombie_villager",
"conditions": {
"villager": {
"location": {
"biome": "minecraft:plains"
}
},
"zombie": {
"distance": {
"horizontal": {
"max": 10
}
}
}
}
}
}
}
minecraft:effects_changed[edit]
Triggers after the player gets a status effect applied or taken from them. Available conditions:
- conditions:
- effects: A list of status effects the player has.
- <minecraft:effect_name>: A status effect with the key name being the status effect name.
- amplifier: The effect amplifier.
- amplifier:
- max: The maximum value.
- min: The minimum value.
- duration: The effect duration in ticks.
- duration:
- max: The maximum value.
- min: The minimum value.
- <minecraft:effect_name>: A status effect with the key name being the status effect name.
- effects: A list of status effects the player has.
An example
{
"criteria": {
"example": {
"trigger": "minecraft:effects_changed",
"conditions": {
"effects": {
"minecraft:weakness": {},
"minecraft:slowness": {
"amplifier": 2,
"duration": {
"min": 100,
"max": 500
}
}
}
}
}
}
}
minecraft:enchanted_item[edit]
Triggers after the player enchants an item through an enchanting table (does not get triggered through an anvil, or through commands). Available conditions:
- conditions:
- item: The item after it has been enchanted.
- Tags common to all items see Template:Nbt inherit/conditions/item/template
- levels: The levels spent by the player on the enchantment.
- levels:
- max: The maximum value.
- min: The minimum value.
- item: The item after it has been enchanted.
An example
{
"criteria": {
"example": {
"trigger": "minecraft:enchanted_item",
"conditions": {
"item": {
"item": "minecraft:wooden_sword",
"enchantments": [
{
"enchantment": "minecraft:sharpness",
"levels": {
"min": 2
}
}
]
},
"levels": {
"min": 3
}
}
}
}
}
minecraft:enter_block[edit]
Triggers when the player stands in a block. Checks every tick and will try to trigger for each successful match (up to 8 times, the maximum amount of blocks a player can stand in), which only works if the advancement is revoked from within the advancement using a function reward. Available conditions:
- conditions:
- block: The block that the player is standing in. Accepts block IDs.
- state: The block states of the block.
- <state_name>: A single block state, with the key name being the state name and the value being the required value of that state.
An example
{
"criteria": {
"example": {
"trigger": "minecraft:enter_block",
"conditions": {
"block": "minecraft:rose_bush",
"state": {
"half": "lower"
}
}
}
}
}
minecraft:entity_hurt_player[edit]
Triggers after a player gets hurt. Available conditions:
- conditions:
- damage: Checks the damage done to the player.
- Damage tags see Template:Nbt inherit/conditions/damage/template
- damage: Checks the damage done to the player.
An example
{
"criteria": {
"example": {
"trigger": "minecraft:entity_hurt_player",
"conditions": {
"damage": {
"source_entity": {
"type": "skeleton"
},
"direct_entity": {
"type": "arrow"
},
"taken": {
"min": 4.0
}
}
}
}
}
}
minecraft:entity_killed_player[edit]
Triggers after an entity kills a player. Available conditions:
- conditions:
- entity: Checks the entity that was the source of the damage that killed the player (for example: The skeleton that shot the arrow).
- Tags common to all entities see Template:Nbt inherit/conditions/entity/template
- killing_blow: Checks the type of damage that killed the player.
- Tags common to all damage types see Template:Nbt inherit/conditions/damage_type/template
- entity: Checks the entity that was the source of the damage that killed the player (for example: The skeleton that shot the arrow).
An example
{
"criteria": {
"example": {
"trigger": "minecraft:entity_killed_player",
"conditions": {
"entity": {
"type": "skeleton"
},
"killing_blow": {
"is_projectile": true
}
}
}
}
}
minecraft:filled_bucket[edit]
Triggers after the player fills a bucket. Available conditions:
- conditions:
- item: The item resulting from filling the bucket.
- Tags common to all items see Template:Nbt inherit/conditions/item/template
- item: The item resulting from filling the bucket.
minecraft:fishing_rod_hooked[edit]
Triggers after the player successfully catches an item with a fishing rod or pulls an entity with a fishing rod. Available conditions:
- conditions:
- entity: The entity that was pulled.
- Tags common to all entities see Template:Nbt inherit/conditions/entity/template
- item: The item that was caught.
- Tags common to all items see Template:Nbt inherit/conditions/item/template
- rod: The fishing rod used.
- Tags common to all items see Template:Nbt inherit/conditions/item/template
- entity: The entity that was pulled.
minecraft:impossible[edit]
Triggers only using commands.
An example
{
"criteria": {
"example": {
"trigger": "minecraft:impossible"
}
}
}
minecraft:inventory_changed[edit]
Triggers after any changes happen to the player's inventory. Available conditions:
- conditions:
- items: A list of items in the player's inventory. All items in the list must be in the player's inventory, but not all items in the player's inventory have to be in this list.
- :
- Tags common to all items see Template:Nbt inherit/conditions/item/template
- :
- slots:
- empty: The amount of slots empty in the inventory.
- empty:
- max: The maximum value.
- min: The minimum value.
- full: The amount of slots completely filled (stacksize) in the inventory.
- full:
- max: The maximum value.
- min: The minimum value.
- occupied: The amount of slots occupied in the inventory.
- occupied:
- max: The maximum value.
- min: The minimum value.
- items: A list of items in the player's inventory. All items in the list must be in the player's inventory, but not all items in the player's inventory have to be in this list.
An example
{
"criteria": {
"example": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "minecraft:polished_granite",
"count": {
"min": 5,
"max": 10
}
},
{
"item": "minecraft:lime_wool"
},
{
"item": "minecraft:wooden_sword",
"durability": {
"min": 50
},
"nbt": "{display:{Name:\"Example\"}}"
}
],
"slots": {
"occupied": 3
}
}
}
}
}
minecraft:item_durability_changed[edit]
Triggers after any item in the inventory has been damaged in any form. Available conditions:
- conditions:
- delta: The difference in durability.
- delta:
- max: The maximum value.
- min: The minimum value.
- durability: The remaining durability of the item.
- durability:
- max: The maximum value.
- min: The minimum value.
- item: The item before it was damaged, allows you to check the durability before the item was damaged.
- Tags common to all items see Template:Nbt inherit/conditions/item/template
An example
{
"criteria": {
"example": {
"trigger": "minecraft:item_durability_changed",
"conditions": {
"delta": -2,
"item": {
"item": "minecraft:wooden_axe",
"durability": {
"max": 1
}
}
}
}
}
}
minecraft:levitation[edit]
Triggers when the player has the levitation status effect. Available conditions:
- conditions:
- distance:
- absolute:
- max: The maximum value.
- min: The minimum value.
- horizontal:
- max: The maximum value.
- min: The minimum value.
- x:
- max: The maximum value.
- min: The minimum value.
- y:
- max: The maximum value.
- min: The minimum value.
- z:
- max: The maximum value.
- min: The minimum value.
- absolute:
- duration: The duration of the levitation in ticks.
- duration:
- max: The maximum value.
- min: The minimum value.
- distance:
An example
{
"criteria": {
"example": {
"trigger": "minecraft:levitation",
"conditions": {
"distance": {
"horizontal": {
"min": 5
},
"y": {
"min": 2
}
},
"duration": {
"min": 100
}
}
}
}
}
minecraft:location[edit]
Triggers every 20 ticks (1 second) and checks where the player is. Available conditions:
- conditions:
- Tags common to all locations see Template:Nbt inherit/conditions/location/template
An example
{
"criteria": {
"example": {
"trigger": "minecraft:location",
"conditions": {
"biome": "jungle",
"feature": "Jungle_Pyramid",
"dimension": "minecraft:overworld",
"position": {
"x": 0,
"y": 60,
"z": {
"min": -10,
"max": 10
}
}
}
}
}
}
minecraft:nether_travel[edit]
Triggers when the player travels to the Nether and then returns to the Overworld. Available conditions:
- conditions:
- distance: The overworld distance between where the player entered the Nether and where the player exited the Nether.
- absolute:
- max: The maximum value.
- min: The minimum value.
- horizontal:
- max: The maximum value.
- min: The minimum value.
- x:
- max: The maximum value.
- min: The minimum value.
- y:
- max: The maximum value.
- min: The minimum value.
- z:
- max: The maximum value.
- min: The minimum value.
- absolute:
- distance: The overworld distance between where the player entered the Nether and where the player exited the Nether.
An example
{
"criteria": {
"example": {
"trigger": "minecraft:nether_travel",
"conditions": {
"distance": {
"horizontal": {
"min": 1000
},
"absolute": {
"min": 1100
}
}
}
}
}
}
minecraft:placed_block[edit]
Triggers when the player placed a block. Available conditions:
- conditions:
- block: The block that was placed. Accepts block IDs.
- item: The item that was used to place the block before the item was consumed.
- Tags common to all items see Template:Nbt inherit/conditions/item/template
- location: The location of the block that was placed.
- Tags common to all locations see Template:Nbt inherit/conditions/location/template
- state: The block states of the block.
- <state_name>: A single block state, with the key name being the state name and the value being the required value of that state.
An example
{
"criteria": {
"example": {
"trigger": "minecraft:placed_block",
"conditions": {
"block": "minecraft:wall_torch",
"state": {
"facing": "west"
},
"location": {
"position": {
"x": 10,
"z": 14
},
"biome": "minecraft:plains"
},
"item": {
"item": "minecraft:torch"
}
}
}
}
}
minecraft:player_hurt_entity[edit]
Triggers after the player hurts a mob or player. Available conditions:
- conditions:
- damage: The damage that was dealt
- Damage tags see Template:Nbt inherit/conditions/damage/template
- entity: The entity that was damaged.
- Tags common to all entities see Template:Nbt inherit/conditions/entity/template
- damage: The damage that was dealt
An example
{
"criteria": {
"example": {
"trigger": "minecraft:player_hurt_entity",
"conditions": {
"damage": {
"blocked": true,
"type": {
"direct_entity": {
"type": "arrow"
}
}
},
"entity": {
"type": "player",
"nbt": "{Tags:[\"example\"]}"
}
}
}
}
}
minecraft:player_killed_entity[edit]
Triggers after a player is the source of a mob or player being killed. Available conditions:
- conditions:
- entity: The entity that was killed.
- Tags common to all entities see Template:Nbt inherit/conditions/entity/template
- killing_blow: The type of damage that killed an entity.
- Tags common to all damage types see Template:Nbt inherit/conditions/damage_type/template
- entity: The entity that was killed.
An example
{
"criteria": {
"example": {
"trigger": "minecraft:player_killed_entity",
"conditions": {
"entity": {
"type": "creeper",
"nbt": "{powered:1b}",
"location": {
"biome": "minecraft:the_void"
},
"effects": {
"minecraft:slowness": {},
"minecraft:weakness": {
"amplifier": {
"min": 2
}
}
}
},
"killing_blow": {
"source_entity": {
"nbt": "{SelectedItem:{id:\"minecraft:wooden_sword\"}}"
}
}
}
}
}
}
minecraft:recipe_unlocked[edit]
Triggers after the player unlocks a recipe (using a knowledge book for example). Available conditions:
- conditions:
- recipe: The recipe that was unlocked.
An example
{
"criteria": {
"example": {
"trigger": "minecraft:recipe_unlocked",
"conditions": {
"recipe": "minecraft:wooden_sword"
}
}
}
}
minecraft:slept_in_bed[edit]
Triggers when the player enters a bed. Available conditions:
- conditions:
- location:
- Tags common to all locations see Template:Nbt inherit/conditions/location/template
- location:
An example
{
"criteria": {
"example": {
"trigger": "minecraft:slept_in_bed",
"conditions": {
"location": {
"biome": "minecraft:desert",
"feature": "Village",
"position": {
"y": {
"min": 50,
"max": 100
}
}
}
}
}
}
}
minecraft:summoned_entity[edit]
Triggers after an entity has been summoned. Works with iron golems (pumpkin and iron blocks), snow golems (pumpkin and snow blocks), the ender dragon (ender crystals) and the wither (wither skulls and soul sand). Using dispensers to place the wither skulls or pumpkins will still activate this trigger. Spawn eggs, commands and mob spawners will not work however. Available conditions:
- conditions:
- entity:
- Tags common to all entities see Template:Nbt inherit/conditions/entity/template
- entity:
An example
{
"criteria": {
"example": {
"trigger": "minecraft:summoned_entity",
"conditions": {
"entity": {
"type": "minecraft:snow_golem"
}
}
}
}
}
minecraft:tame_animal[edit]
Triggers after the player tames an animal. Available conditions:
- conditions:
- entity: Checks the entity that was tamed.
- Tags common to all entities see Template:Nbt inherit/conditions/entity/template
- entity: Checks the entity that was tamed.
An example
{
"criteria": {
"example": {
"trigger": "minecraft:tame_animal",
"conditions": {
"entity": {
"type": "minecraft:parrot",
"nbt": "{Variant:2}"
}
}
}
}
}
minecraft:tick[edit]
Triggers every tick (20 times a second).
An example
{
"criteria": {
"example": {
"trigger": "minecraft:tick"
}
}
}
minecraft:used_ender_eye[edit]
Triggers when the player uses an eye of ender (in a world where strongholds generate). Available conditions:
- conditions:
- distance: The horizontal distance between the player and the stronghold.
- distance:
- max: A maximum value.
- min: A minimum value.
An example
{
"criteria": {
"example": {
"trigger": "minecraft:used_ender_eye",
"conditions": {
"distance": {
"min": 100,
"max": 200
}
}
}
}
}
minecraft:used_totem[edit]
Triggers when the players uses a totem. Available conditions:
- conditions:
- item: The item, only works with totem items.
- Tags common to all items see Template:Nbt inherit/conditions/item/template
- item: The item, only works with totem items.
An example
{
"criteria": {
"example": {
"trigger": "minecraft:used_totem",
"conditions": {
"item": {
"item": "minecraft:totem_of_undying"
}
}
}
}
}
minecraft:villager_trade[edit]
Triggers after the player trades with a villager. Available conditions:
- conditions:
- item: The item that was purchased. The "count" tag checks the count from one trade, not multiple.
- Tags common to all items see Template:Nbt inherit/conditions/item/template
- villager: The villager the item was purchased from. The 'type' tag is redundant since it will always be "villager".
- Tags common to all entities see Template:Nbt inherit/conditions/entity/template
- item: The item that was purchased. The "count" tag checks the count from one trade, not multiple.
An example
{
"criteria": {
"example": {
"trigger": "minecraft:villager_trade",
"conditions": {
"item": {
"item": "minecraft:emerald",
"count": {
"min": 1
}
},
"villager": {
"nbt": "{Career:1}"
}
}
}
}
}
History[edit]
Java Edition | |||||
---|---|---|---|---|---|
1.12 | February 16, 2017 | Dinnerbone tweets that he had spent an entire day designing "a new thing" with Darngeek. | |||
February 20, 2017 | The design on "this thing" is now done and can begin to be implemented; he later hints at the feature's name.[4] | ||||
February 22, 2017 | He states that he is "advancing" on the feature; "So. Many. Json. Files." he adds. | ||||
Later that day he states that the project is growing bigger, and that he may need a command "even more complicated than /scoreboard " | |||||
March 6, 2017 | The backend of the mysterious feature is finished, but the UI needs work, he tweets. | ||||
"I made a tabthulhu today," he later adds,[5] indicating this feature may use a large number of tabs. | |||||
March 13, 2017 | He again references the name of the feature in a tweet, stating that he is almost done with "this new feature advancement". | ||||
March 14, 2017 | He tweets that the UI is now working, and that the project took many days and a few research papers to accomplish. | ||||
March 22, 2017 | The feature now "awards players with things", he states while making another reference to the feature name. | ||||
March 23, 2017 | Dinnerbone states that the feature requires around 500 JSON files. | ||||
He later tweets a teaser of what the feature holds,[6] though it is hidden behind an encrypted .zip file disguised as a .png image, which he clarifies in later tweets.[7][8][9] This .zip file contains custom recipe JSON files. | |||||
He posts another encrypted .zip file soon afterwards, containing a few more recipes.[10] | |||||
March 24, 2017 | "A deafening metallic condor keeps distracting me", Dinnerbone states. Users quickly pinpointed this bizarre message to this Gfycat URL officially showcasing advancements for the first time. | ||||
He reveals that the UI can have several tabs with advancement trees that are themselves advancements.[2] He clarifies that that's what he meant by "tabthulhu."[11] | |||||
All of the UI is data-driven, including positioning and layout, with no hardcoded data or positions.[12] | |||||
17w13a | Advancements added, replacing Achievements. | ||||
17w14a | Added new advancements, including a new "adventure" tab. | ||||
Added new notifications for when players advance, which have a sliding effect, and come in two colors: yellow for normal advancements, and pink for special challenges. | |||||
17w15a | Added advancement descriptions and changed several titles. | ||||
Added the "Adventuring Time" advancement. | |||||
17w16b | Added trigger minecraft:item_durability_changed . | ||||
17w17a | Added new advancements and two new tabs: "The End" and "Nether" | ||||
Added trigger levitation .
| |||||
Added feature condition to the location trigger.
| |||||
Advancements can now execute commands when achieved. | |||||
Advancement icons will now allow data values. | |||||
Added five modifiers to the /advancement grant and /advancement revoke commands: "everything", "from", "until", "through", and "only". | |||||
17w17b | The default advancements will now all receive their titles and descriptions from the localization files. | ||||
Added a new number display to track progress while completing certain advancements. | |||||
Added the changed_dimension trigger, which takes two optional conditions: to and from , both being strings that accept "overworld", "the_nether", or "the_end".
| |||||
The "location" shared object has a new dimension string (same values as above). | |||||
17w18a | Re-introduced announcements to chat when someone earns an advancement. | ||||
Added new Adventure advancements: "Best Friends Forever", "The Parrots and the Bats", and "Two by Two". | |||||
Added new minecraft:tick and minecraft:tame_animal triggers.
| |||||
Added new show_toast and announce_to_chat display options.
| |||||
Added /gamerule announceAdvancements , which toggles announcing of advancements, replacing the old server.properties entry
| |||||
"entity" objects and the minecraft:levitation trigger will now use a shared "distance" object. They check if the player is within or outside of the specified range on the x , y , or z axis. absolute and horizontal ranges check if the player is within range on all axes, though horizontal will exclude the Y axis.
| |||||
The "Great View From Up Here" advancement will now requires 50 vertical blocks, instead of levitating for 30 seconds. | |||||
Changed the "Sniper Duel" advancement to horizontal distance. | |||||
Advancement loading is now strict JSON. | |||||
17w18b | Added a new "Husbandry" tab and several new advancements: "A Seedy Place", "Serious Dedication", "A Balanced Diet", and "Hired Help". | ||||
The advancements added in the previous snapshot were moved to the new Husbandry tab. | |||||
Added new advancement triggers: consume_item , placed_block , and arbitrary_player_tick .
| |||||
The "Monster Hunter" and "Monsters Hunted" advancements now use 22 mobs instead of 23, removing the illusioner from the list. | |||||
pre1 | Added new advancements: "A Furious Cocktail", "Postmortal", "Subspace Bubble", and "Uneasy Alliance". | ||||
Added hidden field to advancement display info, which defaults to false.
| |||||
Added new effects_changed , used_totem , and nether_travel advancements triggers.
| |||||
Removed commands from advancement rewards, replaced with function .
| |||||
Advancement trees are now centered in the UI. | |||||
Items and entities in advancements will now have an extra NBT field.
| |||||
Entities in advancements now have an extra effects and location field.
| |||||
Removed arbitrary_player_tick advancement trigger. | |||||
pre2 | Added new hidden advancement: "How Did We Get Here?", which rewards 100 experience. | ||||
pre3 | Advancement "How Did We Get Here?" will now include the Resistance status effect, and will now reward 1000 experience. | ||||
Advancement "Balanced Diet" will now include all fish types (raw and cooked if possible) and an enchanted golden apple. | |||||
Advancements will now remember the tab the player last selected. | |||||
pre5 | All recipe unlock advancements will now have a parent of minecraft:recipes/root .
| ||||
Several recipe unlock advancements were renamed. | |||||
pre7 | Added experience rewards to all "challenge" advancements. | ||||
release | Added sounds to the toast notifications. | ||||
1.13 | 17w43a | Custom Advancements have been moved into data packs. | |||
17w45a | Added an advancement selector argument to test for obtained advancements. | ||||
18w14a | Added new advancements: "Fishy Business", "Tactical Fishing", "A Throwaway Joke" and "Very, Very Frightening". | ||||
18w14b | Advancements "A Furious Cocktail" and "How Did We Get Here?" will now include the Slow Falling status effect. | ||||
18w19a | Advancement "How Did We Get Here?" will now include the Conduit Power status effect. | ||||
18w22a | Advancement "Sniper Duel" description changed to not mention it has to be with an arrow (as it can be achieved with a Trident too). | ||||
pre6 | Added a nbt field to the advancement icon section. | ||||
pre7 | Normal and goal advancements will now have green descriptions, and challenge advancements have purple descriptions. | ||||
Upcoming Java Edition | |||||
1.14 | 18w43a | Added new advancements: "Ol' Betsy", "Who's the Pillager Now?", "Two Birds, One Arrow" and "Arbalistic". | |||
18w44a | Added new advancement: "A Complete Catalogue". | ||||
The requirements for "The Parrots and the Bats" and "Best Friends Forever" have now been changed, as the advancements will now require cats, instead of ocelots. | |||||
The requirements for "Two by Two" have now been changed, as the advancement will now require pandas. |
Issues[edit]
Issues relating to "Advancements" are maintained on the bug tracker. Report issues there.
Trivia[edit]
- Fourteen of the old Java Edition achievements were re-implemented as advancements: Benchmarking (called Minecraft), Getting an Upgrade, Acquire Hardware, We Need to Go Deeper, The End?, Return to Sender, Into Fire, Local Brewery, The Beginning? (called Withering Heights), Beaconator, DIAMONDS! (called Diamonds!), Adventuring Time, Monster Hunter and Sniper Duel.
- Six achievements from other editions were re-implemented as advancements: Body Guard (called Hired Help), Cheating Death (called Postmortal), Zombie Doctor, You Need a Mint, The End... Again... and Great View From Up Here.
- The Adventuring Time advancement is a reference to the Cartoon Network cartoon 'Adventure Time'.
- The Withering Heights advancement is possibly a reference to the book 'Wuthering Heights' by Ellis Bell.
- The Isn't it Iron Pick advancement is a reference to Alanis Morrisette's 'Ironic'.
- The Very Very Frightening advancement is a reference to Queen's 'Bohemian Rhapsody'.
- The Ol' Betsy advancement is possibly a reference to Disney's Robin Hood.[upcoming: JE 1.14][13]
- The We Need To Go Deeper advancement is a reference to the film "Inception," often used as an innuendo.
- The Not Today, Thank You advancement is a reference to a quote by Bilbo Baggins in the novel The Hobbit.
- The Spooky Scary Skeleton advancement is a reference to the song of the same name by Andrew Gold
Gallery[edit]
See also[edit]
References[edit]
- ↑ https://www.reddit.com/r/Minecraft/comments/64pk6r/dinnerbone_working_on_giving_advancements/dg4uiou?context=1
- ↑ a b “The tabs are alternate trees that are themselves advancements too. We support a lot, but we'll use 4/5 in vanilla. http://media.dinnerbone.com/uploads/2017-03/screenshots/24_09-23-41_rYLfqg0Q52.png” – @Dinnerbone, March 24, 2017
- ↑ “4 or 5 tabs. Probably: "mine & craft", "nether", "end", "combat", "engineering" or some variant of.” – @Dinnerbone, March 27, 2017
- ↑ “Getting this implemented in a nice way would be a real advancement for the game.” – @Dinnerbone, February 20, 2017
- ↑ “I made a tabthulhu at work today. This is an interesting project!” – @Dinnerbone, March 06, 2017
- ↑ “This is a super big spoiler of what I'm working on. Totally unfinished and may change a lot, but gives you an idea. http://media.dinnerbone.com/uploads/2017-03/screenshots/23_15-00-52_ttcfj9tDnV.png” – @Dinnerbone, March 23, 2017
- ↑ “(No I'm not adding emoji.)” – @Dinnerbone, March 23, 2017
- ↑ “(P.s. there was more to that picture than meets the eye. May need a bit of trickery.)” – @Dinnerbone, March 23, 2017
- ↑ “Did the filesize seem a bit big?” – @Dinnerbone, March 23, 2017
- ↑ “Okay so I think my webserver proxy messed that up. Technology is difficult. Here's a more fun image, in a zip: http:// media.dinnerbone.com/uploads/2017-0 3/screenshots/23_15-00-52_ttcfj9tDnV.zip” – @Dinnerbone, March 23, 2017
- ↑ “(Thus "tabthulu" tweets from a few weeks back. :D)” – @Dinnerbone, March 24, 2017
- ↑ “Also worth noting: all of that UI is data driven. Positioning and layout included. No hardcoded data in UI, no hardcoded positions in data.” – @Dinnerbone, March 24, 2017
- ↑ https://www.youtube.com/watch?v=Gixvg1JZmso
Components | |
---|---|
Other |