Advancement definition

(Redirected from Advancements/JSON format)

Custom advancements in data packs of a Minecraft world store the advancement data for that world as separate JSON files.

File format Edit

All advancement JSON files are structured according to the following format.

Legend Edit

  • *: If parent field is written, this field is required.
  • [NBT Compound / JSON Object] The root tag.
    • [String] parent: The parent advancement directory of this advancement. If absent, this advancement is a root advancement. Circular references cause a loading failure.
    • [NBT Compound / JSON Object] display: Data related to the advancement's display.
      • [NBT Compound / JSON Object] icon*: Object containing data for the advancement's icon.
        • [String] id*: An item ID.
        • [Int] count: Optional. The amount of the item. Falls back to 1 if the field is absent.
        • [NBT Compound / JSON Object] components: Optional. Additional information about the item. See item components.
      • [String][NBT Compound / JSON Object][NBT List / JSON Array] title*: A JSON text component for the title of this advancement.
      • [String][NBT Compound / JSON Object][NBT List / JSON Array] description*: A JSON text component for the description text of this advancement.
      • [String] frame: Type of frame for the icon. challenge for fancy frame, goal for oval frame, task for plain frame. Defaults to task.
      • [String] background: The directory for the background to use in this advancement tab (used only for the root advancement).
      • [Boolean] show_toast: Whether to show a toast to the player when this advancement has been completed. Defaults to true.
      • [Boolean] announce_to_chat: Whether to announce in the chat when this advancement has been completed. Defaults to true.
      • [Boolean] hidden: Whether 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 still affects all their children. Defaults to false.
    • [NBT Compound / JSON Object] criteria*: The criteria to be tracked by this advancement.
      • [NBT Compound / JSON Object] <criterionName>: The key is a unique name given to the criterion. Can be any valid text.
    • [NBT List / JSON Array] requirements: Defines how these criteria above are completed to grant the advancement. Contains sublists, which in turn contain names of criteria from this advancement (all the <criterionName>s). When a criterion is newly completed or revoked, the advancement is granted if all sublists have at least one criterion within them completed. Optional, defaults to requiring all criteria completed.
      • [NBT List / JSON Array] Sublist within [NBT List / JSON Array] requirements, contains strings of <criterionName>s. If a sublist is empty, the advancement is unachievable without cheats.
        • [String] A criterion name.
    • [NBT Compound / JSON Object] rewards: An object representing the rewards provided when this advancement is obtained.
    • [Boolean] sends_telemetry_event: Determines whether telemetry data should be collected when this advancement is achieved or not. Defaults to false.

Display Edit

Within the root tag of an advancement JSON object, the [NBT Compound / JSON Object] display object and the [String] parent string, both optional, are related to the display of the advancement.

If the [NBT Compound / JSON Object] display tag is present, it must have the [String][NBT Compound / JSON Object] title, [String][NBT Compound / JSON Object] description and [NBT Compound / JSON Object] icon fields present in order to be considered as valid advancement display data.

The [String] parent field, albeit not directly associated with the display data of an advancement, affects only the display data effectively. When an advancement does not have a display data and none of its children has a display data, the parent of the advancement affects only /advancement ... through|from|until usage.

Advancement tabs Edit

Creating a root advancement (no [String] parent) with valid [NBT Compound / JSON Object] display data automatically creates a tab in the advancement menu. When loaded, the root advancement shows as a tab in the menu when any advancement in its advancement tree is granted to the player viewing the menu.

The missing texture displays on the tab's background if the root advancement does not have a background.

If a root advancement successfully creates a tab, child advancements of the root appear inside of that tab, provided they also have valid [NBT Compound / JSON Object] display data.

Positioning Edit

The game automatically arranges advancements, positions them when it loads advancements from data packs, and sends the arrangement to the client. Each advancement has an arrow from its closest visible ancestor (i.e. if its parent does not have a display, it has a link from its grandparent, and so on). The root advancement appears on the leftmost column while each arrow points to an advancement in the next column. The arrangement of advancements within a column is based on file name.

Lack of display Edit

Some advancements, such as the vanilla recipe unlocking advancements, may lack a display so that they can utilize triggers and rewards instead of excessive commands or functions for more functionalities and a more flexible control. These advancements should not have the [NBT Compound / JSON Object] display field defined in order to hide from users and enjoy a better loading performance.

Criteria Edit

  • *: If parent field is written, this field is required.

The format of a criterion:

  • [NBT Compound / JSON Object] <criterionName>: Root object. The key can be any valid text.
    • [String] trigger*: The trigger for this criterion.
    • [NBT Compound / JSON Object] conditions: Object containing conditions that need to be met when the trigger gets activated. The criterion is marked completed when the trigger activates and all conditions passed.
      • [NBT Compound / JSON Object] player: Checks properties of the player that would get the advancement. Not available for minecraft:impossible trigger.
      • [NBT List / JSON Array] player: Another format for "player". Specifies a list of predicates that must pass in order for the criterion to be granted. Not available for minecraft:impossible trigger.
        • [NBT Compound / JSON Object]: A single predicate.
      • Extra contents depend on selected [String] trigger.

List of triggers Edit

All JSON fields in the conditions are optional unless marked with "*".

The possible values for [String] trigger and associated extra contents in [NBT Compound / JSON Object] conditions:

minecraft:allay_drop_item_on_block Edit

Triggers when an allay drops an item on a block. Available extra conditions:

  • [NBT Compound / JSON Object] conditions:
    • [NBT List / JSON Array] location: Specifies a list of predicates that must pass in order for the criterion to be granted. The origin is the location of the block the item was dropped on, the block state belongs to that block, and the tool is the item dropped on the block. The this entity is the player that would get the advancement.
      • [NBT Compound / JSON Object]: A single predicate.

minecraft:any_block_use Edit

Triggers under the same conditions as both minecraft:default_block_use and minecraft:item_used_on_block. Available extra conditions:

  • [NBT Compound / JSON Object] conditions:
    • [NBT List / JSON Array] location: Specifies a list of predicates that must pass in order for the criterion to be granted. The origin is the location of the block that was interacted with, the block state belongs to that block, and the tool is either the item used on the block (for the item_used_on_block case) or simply the item in the player's main hand (for the default_block_use case). The this entity is the player that would get the advancement.
      • [NBT Compound / JSON Object]: A single predicate.

minecraft:avoid_vibration Edit

Triggers when a vibration event is ignored because the source player is crouching. No extra conditions.

minecraft:bee_nest_destroyed Edit

Triggers when the player breaks a bee nest or beehive. Available extra conditions:

  • [NBT Compound / JSON Object] conditions:
    • [String] block: Checks the block that was destroyed. Accepts block IDs.
    • [NBT Compound / JSON Object] item: The item used to break the block.
    • [Int] num_bees_inside: The number of bees that were inside the bee nest/beehive before it was broken.
    • [NBT Compound / JSON Object] num_bees_inside: Another form for [Int] num_bees_inside.
      • [Int] max: The maximum value.
      • [Int] min: The minimum value.

minecraft:bred_animals Edit

Triggers after the player breeds 2 animals. Available extra conditions:

  • [NBT Compound / JSON Object] conditions:
    • [NBT Compound / JSON Object] child: Checks properties of the child that results from the breeding.
    • [NBT List / JSON Array] child: Another format for "child". Specifies a list of predicates that must pass in order for the criterion to be granted. The origin of the predicate is the position of the player that would get the advancement.
      • [NBT Compound / JSON Object]: A single predicate.
    • [NBT Compound / JSON Object] parent: The parent.
    • [NBT List / JSON Array] parent: Another format for "parent". Specifies a list of predicates that must pass in order for the criterion to be granted. The origin of the predicate is the position of the player that would get the advancement.
      • [NBT Compound / JSON Object]: A single predicate.
    • [NBT Compound / JSON Object] partner: The partner (The entity the parent was bred with).
    • [NBT List / JSON Array] partner: Another format for "partner". Specifies a list of predicates that must pass in order for the criterion to be granted. The origin of the predicate is the position of the player that would get the advancement.
      • [NBT Compound / JSON Object]: A single predicate.

minecraft:brewed_potion Edit

Triggers after the player takes any item out of a brewing stand. Available extra conditions:

minecraft:changed_dimension Edit

Triggers after the player travels between two dimensions. Available extra conditions:

  • [NBT Compound / JSON Object] conditions:
    • [String] from: The dimension the entity traveled from. This tag is a resource location for a dimension (only these in vanilla; more can be added with data packs).
    • [String] to: The dimension the entity traveled to. Same accepted values as above.

minecraft:channeled_lightning Edit

Triggers after the player successfully uses the Channeling enchantment on an entity or a lightning rod. Available extra conditions:

  • [NBT Compound / JSON Object] conditions:
    • [NBT List / JSON Array] victims: The victims hit by the lightning summoned by the Channeling enchantment. All entities in this list must be hit.
      • [NBT Compound / JSON Object]: A victim.
      • [NBT List / JSON Array]: Another format for the victim. Specifies a list of predicates that must pass in order for the criterion to be granted. The checks are applied to the victim hit by the lighting, with the origin being the position of the player that would get the advancement.
        • [NBT Compound / JSON Object]: A single predicate.

minecraft:construct_beacon Edit

Triggers after the player changes the structure of a beacon. (When the beacon updates itself). Available extra conditions:

  • [NBT Compound / JSON Object] conditions:
    • [Int] level: The level of the updated beacon structure.
    • [NBT Compound / JSON Object] level: Another format.
      • [Int] max: The maximum value.
      • [Int] min: The minimum value.

minecraft:consume_item Edit

Triggers when the player consumes an item. Available extra conditions:

minecraft:crafter_recipe_crafted Edit

Triggers when the player is within a certain range of a crafter when it crafts a recipe. Available extra conditions:

  • [NBT Compound / JSON Object] conditions:
    • [String] recipe_id*: The recipe that was crafted.
    • [NBT List / JSON Array] ingredients: An array of item predicates for the recipe ingredients. Each item can match only one predicate, and every predicate needs to pass for the criterion to be granted.

minecraft:cured_zombie_villager Edit

Triggers when the player cures a zombie villager. Available extra conditions:

  • [NBT Compound / JSON Object] conditions:
    • [NBT Compound / JSON Object] villager: The villager that is the result of the conversion. The 'type' tag is redundant since it is always "villager".
    • [NBT List / JSON Array] villager: Another format for "villager". Specifies a list of predicates that must pass in order for the criterion to be granted. The checks are applied to the villager, with the origin being the position of the player that would get the advancement.
      • [NBT Compound / JSON Object]: A single predicate.
    • [NBT Compound / JSON Object] zombie: The zombie villager right before the conversion is complete (not when it is initiated). The 'type' tag is redundant since it is always "zombie_villager".
    • [NBT List / JSON Array] zombie: Another format for "zombie". Specifies a list of predicates that must pass in order for the criterion to be granted. The checks are applied to the zombie villager, with the origin being the position of the player that would get the advancement.
      • [NBT Compound / JSON Object]: A single predicate.

minecraft:default_block_use Edit

Triggers when the player activates a block's default use action (opening a door, pushing a button, opening a crafting grid, etc). Available extra conditions:

  • [NBT Compound / JSON Object] conditions:
    • [NBT List / JSON Array] location: Specifies a list of predicates that must pass in order for the criterion to be granted. The origin is the location of the block that was interacted with and the block state belongs to that block. Note that for this trigger, a "tool" is not provided. The this entity is the player that would get the advancement.
      • [NBT Compound / JSON Object]: A single predicate.

minecraft:effects_changed Edit

Triggers after the player gets a status effect applied or taken from them. Available extra conditions:

  • [NBT Compound / JSON Object] conditions:
    • [NBT Compound / JSON Object] effects: A list of active status effects the player currently has.
      • [NBT Compound / JSON Object] <minecraft:effect_name>: The key name is a status effect name.
        • [Boolean] ambient: Whether the effect is from a beacon.
        • [Int] amplifier: The effect amplifier.
        • [NBT Compound / JSON Object] amplifier: Another format.
          • [Int] max: The maximum value.
          • [Int] min: The minimum value.
        • [Int] duration: The effect duration in ticks.
        • [NBT Compound / JSON Object] duration: Another format.
          • [Int] max: The maximum value.
          • [Int] min: The minimum value.
        • [Boolean] visible: Whether the effect has visible particles.
    • [NBT Compound / JSON Object] source: The entity that was the source of the status effect. When there is no entity or when the effect was self-applied or removed, the test passes only if the source is not specified.
    • [NBT List / JSON Array] source: Another format for "source". Specifies a list of predicates that must pass in order for the criterion to be granted. The checks are applied to the source, with the origin being the position of the player that would get the advancement.
      • [NBT Compound / JSON Object]: A single predicate.

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 extra conditions:

  • [NBT Compound / JSON Object] conditions:
    • [NBT Compound / JSON Object] item: The item after it has been enchanted.
    • [Int] levels: The levels spent by the player on the enchantment.
    • [NBT Compound / JSON Object] levels: Another format.
      • [Int] max: The maximum value.
      • [Int] min: The minimum value.

minecraft:enter_block Edit

Triggers once for each block the player's hitbox is inside (up to 12 blocks, the maximum number of blocks the player can stand in), twice per tick plus once more for every time the player moves or looks around during the same tick. This results in the trigger activating tens of times per tick, and in extreme cases, even hundreds of times per tick. Available extra conditions:

  • [NBT Compound / JSON Object] conditions:
    • [String] block: The block that the player is standing in. Accepts block IDs.
    • [NBT Compound / JSON Object] state: A map of block property names to values. Errors if the block doesn't have these properties.
      • [String] key: Block property key and value pair.
      • [NBT Compound / JSON Object] key: Another format.
        • [String] max: A maximum value.
        • [String] min: A minimum value.

minecraft:entity_hurt_player Edit

Triggers after a player gets hurt (even when it's not caused by an entity)[1]. Available extra conditions:

minecraft:entity_killed_player Edit

Triggers after a living entity kills a player. Available extra conditions:

  • [NBT Compound / JSON Object] conditions:
    • [NBT Compound / JSON Object] entity: Checks the entity that was the source of the damage that killed the player (for example: The skeleton that shot the arrow).
    • [NBT List / JSON Array] entity: Another format for "entity". Specifies a list of predicates that must pass in order for the criterion to be granted. The checks are applied to the entity that kills the player, with the origin being the position of the player that would get the advancement.
      • [NBT Compound / JSON Object]: A single predicate.
    • [NBT Compound / JSON Object] killing_blow: Checks the type of damage that killed the player.

minecraft:fall_after_explosion Edit

Triggers when a player lands after being launched upward by an explosion or wind burst. Available extra conditions:

  • [NBT Compound / JSON Object] conditions:
    • [NBT Compound / JSON Object] start_position: A location predicate for the last position before the falling started.
    • [NBT Compound / JSON Object] distance: The distance between the start position and the player's position.
    • [NBT Compound / JSON Object] source: Checks the entity that was the source of the explosion or wind burst that launched the player upward.
    • [NBT List / JSON Array] source: Another format for "source". Specifies a list of predicates that must pass in order for the criterion to be granted. The checks are applied to the entity that kills the player, with the origin being the position of the player that would get the advancement.

minecraft:fall_from_height Edit

Triggers when a player lands after falling. Available extra conditions:

minecraft:filled_bucket Edit

Triggers after the player fills a bucket. Available extra conditions:

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 extra conditions:

  • [NBT Compound / JSON Object] conditions:
    • [NBT Compound / JSON Object] entity: The entity that was pulled, or the fishing bobber if no entity is pulled.
    • [NBT List / JSON Array] entity: Another format for "entity". Specifies a list of predicates that must pass in order for the criterion to be granted. The checks are applied to the entity pulled or the bobber, with the origin being the position of the player that would get the advancement.
      • [NBT Compound / JSON Object]: A single predicate.
    • [NBT Compound / JSON Object] item: The item that was caught.
    • [NBT Compound / JSON Object] rod: The fishing rod used.

minecraft:hero_of_the_village Edit

Triggers when a raid ends in victory and the player has attacked at least one raider from that raid. No extra conditions.

minecraft:impossible Edit

Never triggers. No available conditions.

Criteria with this trigger can only be granted from commands.

minecraft:inventory_changed Edit

Triggers after any changes happen to the player's inventory. Available extra conditions:

  • [NBT Compound / JSON Object] conditions:
    • [NBT List / JSON Array] 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.
    • [NBT Compound / JSON Object] slots:
      • [Int] empty: The amount of slots empty in the inventory.
      • [NBT Compound / JSON Object] empty: Another format.
        • [Int] max: The maximum value.
        • [Int] min: The minimum value.
      • [Int] full: The amount of slots completely filled (stacksize) in the inventory.
      • [NBT Compound / JSON Object] full: Another format.
        • [Int] max: The maximum value.
        • [Int] min: The minimum value.
      • [Int] occupied: The amount of slots occupied in the inventory.
      • [NBT Compound / JSON Object] occupied: Another format.
        • [Int] max: The maximum value.
        • [Int] min: The minimum value.

minecraft:item_durability_changed Edit

Triggers after any item in the inventory has been damaged in any form. Available extra conditions:

  • [NBT Compound / JSON Object] conditions:
    • [Int] delta: The change in durability (negative numbers are used to indicate a decrease in durability).
    • [NBT Compound / JSON Object] delta: Another format.
      • [Int] max: The maximum value.
      • [Int] min: The minimum value.
    • [Int] durability: The remaining durability of the item.
    • [NBT Compound / JSON Object] durability: Another format.
      • [Int] max: The maximum value.
      • [Int] min: The minimum value.
    • [NBT Compound / JSON Object] item: The item before it was damaged, allows you to check the durability before the item was damaged.

minecraft:item_used_on_block Edit

Triggers when the player uses their hand or an item on a block. Available extra conditions:

  • [NBT Compound / JSON Object] conditions:
    • [NBT List / JSON Array] location: Specifies a list of predicates that must pass in order for the criterion to be granted. The origin is the location of the block the item was used on, the block state belongs to that block, and the tool is the item used on the block. The this entity is the player that would get the advancement.
      • [NBT Compound / JSON Object]: A single predicate.

minecraft:kill_mob_near_sculk_catalyst Edit

Triggers after a player is the source of a mob or player being killed within the range of a sculk catalyst. Available extra conditions:

  • [NBT Compound / JSON Object] conditions:
    • [NBT Compound / JSON Object] entity: The entity that was killed.
    • [NBT List / JSON Array] entity: Another format for "entity". Specifies a list of predicates that must pass in order for the criterion to be granted. The checks are applied to the mob, with the origin being the position of the player that would get the advancement.
      • [NBT Compound / JSON Object]: A single predicate.
    • [NBT Compound / JSON Object] killing_blow: The type of damage that killed an entity.

minecraft:killed_by_crossbow Edit

Triggers after the player kills a mob or player using a crossbow in ranged combat. Available extra conditions:

  • [NBT Compound / JSON Object] conditions:
    • [Int] unique_entity_types: The exact count of types of entities killed.
    • [NBT Compound / JSON Object] unique_entity_types: Another format. The acceptable range of count of types of entities killed.
      • [Int] max: The maximum value.
      • [Int] min: The minimum value.
    • [NBT List / JSON Array] victims: A list of victims. All of the entries must be matched, and one killed entity may match only one entry.
      • [NBT Compound / JSON Object]: A killed entities.
      • [NBT List / JSON Array]: Another format for the victim. Specifies a list of predicates that must pass in order for the criterion to be granted. The checks are applied to the victim, with the origin being the position of the player that would get the advancement.
        • [NBT Compound / JSON Object]: A single predicate.

minecraft:levitation Edit

Triggers when the player has the levitation status effect. Available extra conditions:

  • [NBT Compound / JSON Object] conditions:
    • [NBT Compound / JSON Object] distance: The distance between the position where the player started levitating and the player's current position.
    • [Int] duration: The duration of the levitation in ticks.
    • [NBT Compound / JSON Object] duration: Another format.
      • [Int] max: The maximum value.
      • [Int] min: The minimum value.

minecraft:lightning_strike Edit

Triggers when a lightning bolt disappears from the world, only for players within a 256 block radius of the lightning bolt. Available extra conditions:

  • [NBT Compound / JSON Object] conditions:
    • [NBT Compound / JSON Object] lightning: The lightning bolt that disappeared.
    • [NBT List / JSON Array] lightning: Another format for "lightning". Specifies a list of predicates that must pass in order for the criterion to be granted. The checks are applied to the lightning, with the origin being the position of the player that would get the advancement.
      • [NBT Compound / JSON Object]: A single predicate.
    • [NBT Compound / JSON Object] bystander: An entity not hurt by the lightning strike but in a certain area around it.
    • [NBT List / JSON Array] bystander: Another format for "bystander". Specifies a list of predicates that must pass in order for the criterion to be granted. The checks are applied to the bystander, with the origin being the position of the player that would get the advancement.
      • [NBT Compound / JSON Object]: A single predicate.

minecraft:location Edit

Triggers every 20 ticks (1 second). No extra conditions.

minecraft:nether_travel Edit

Triggers when the player travels to the Nether and then returns to the Overworld. Available extra conditions:

  • [NBT Compound / JSON Object] conditions:

minecraft:placed_block Edit

Triggers when the player places a block. Available extra conditions:

  • [NBT Compound / JSON Object] conditions:
    • [NBT List / JSON Array] location: Specifies a list of predicates that must pass in order for the criterion to be granted. The origin is the location of the block placed, the block state belongs to that block, and the tool is the item used to place the block. The this entity is the player that would get the advancement.
      • [NBT Compound / JSON Object]: A single predicate.

minecraft:player_generates_container_loot Edit

Triggers when the player generates the contents of a container with a loot table set. Available extra conditions:

  • [NBT Compound / JSON Object] conditions:
    • [String] loot_table*: The resource location of the generated loot table.

minecraft:player_hurt_entity Edit

Triggers after the player hurts a mob or player. Available extra conditions:

  • [NBT Compound / JSON Object] conditions:
    • [NBT Compound / JSON Object] damage: The damage that was dealt.
    • [NBT Compound / JSON Object] entity: The entity that was damaged.
    • [NBT List / JSON Array] entity: Another format for "entity". Specifies a list of predicates that must pass in order for the criterion to be granted. The checks are applied to the entity, with the origin being the position of the player that would get the advancement.
      • [NBT Compound / JSON Object]: A single predicate.

minecraft:player_interacted_with_entity Edit

Triggers when the player interacts with an entity. Available extra conditions:

  • [NBT Compound / JSON Object] conditions:
    • [NBT Compound / JSON Object] item: The item that was in the player's hand during interaction.
    • [NBT Compound / JSON Object] entity: The entity that was interacted with.
    • [NBT List / JSON Array] entity: Another format for "entity". Specifies a list of predicates that must pass in order for the criterion to be granted. The checks are applied to the entity, with the origin being the position of the player that would get the advancement.
      • [NBT Compound / JSON Object]: A single predicate.

minecraft:player_killed_entity Edit

Triggers after a player is the source of a mob or player being killed. Available extra conditions:

  • [NBT Compound / JSON Object] conditions:
    • [NBT Compound / JSON Object] entity: The entity that was killed.
    • [NBT List / JSON Array] entity: Another format for "entity". Specifies a list of predicates that must pass in order for the criterion to be granted. The checks are applied to the entity, with the origin being the position of the player that would get the advancement.
      • [NBT Compound / JSON Object]: A single predicate.
    • [NBT Compound / JSON Object] killing_blow: The type of damage that killed an entity.

minecraft:recipe_crafted Edit

Triggers when the player crafts a recipe in a crafting table, stonecutter or smithing table. Available extra conditions:

  • [NBT Compound / JSON Object] conditions:
    • [String] recipe_id*: The recipe that was crafted.
    • [NBT List / JSON Array] ingredients: An array of item predicates for the recipe ingredients. Each item can match only one predicate, and every predicate needs to pass for the criterion to be granted.

minecraft:recipe_unlocked Edit

Triggers after the player unlocks a recipe (using a knowledge book for example). Available extra conditions:

  • [NBT Compound / JSON Object] conditions:
    • [String] recipe*: The recipe that was unlocked.

minecraft:ride_entity_in_lava Edit

Triggers when a player mounts an entity walking on lava and while the entity moves with them. Available extra conditions:

minecraft:shot_crossbow Edit

Triggers when the player shoots a crossbow. Available extra conditions:

minecraft:slept_in_bed Edit

Triggers when the player enters a bed. No extra conditions.

minecraft:slide_down_block Edit

Triggers when the player slides down a block. Available extra conditions:

  • [NBT Compound / JSON Object] conditions:
    • [String] block: The block that the player slid on.
    • [NBT Compound / JSON Object] state: A map of block property names to values. Errors if the block doesn't have these properties.
      • [String] key: Block property key and value pair.
      • [NBT Compound / JSON Object] key: Another format.
        • [String] max: A maximum value.
        • [String] min: A minimum value.

minecraft:started_riding Edit

Triggers when the player starts riding a vehicle or an entity starts riding a vehicle currently ridden by the player. No extra conditions.

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 (end crystals) and the wither (wither skulls and soul sand/soul soil). Using dispensers, commands, or pistons to place the wither skulls or pumpkins still activate this trigger. Available extra conditions:

  • [NBT Compound / JSON Object] conditions:
    • [NBT Compound / JSON Object] entity: The summoned entity.
    • [NBT List / JSON Array] entity: Another format for "entity". Specifies a list of predicates that must pass in order for the criterion to be granted. The checks are applied to the entity, with the origin being the position of the player that would get the advancement.
      • [NBT Compound / JSON Object]: A single predicate.

minecraft:tame_animal Edit

Triggers after the player tames an animal. Available extra conditions:

  • [NBT Compound / JSON Object] conditions:
    • [NBT Compound / JSON Object] entity: Checks the entity that was tamed.
    • [NBT List / JSON Array] entity: Another format for "entity". Specifies a list of predicates that must pass in order for the criterion to be granted. The checks are applied to the entity, with the origin being the position of the player that would get the advancement.
      • [NBT Compound / JSON Object]: A single predicate.

minecraft:target_hit Edit

Triggers when the player shoots a target block. Available extra conditions:

  • [NBT Compound / JSON Object] conditions:
    • [Int] signal_strength: The redstone signal that the target block emits.
    • [NBT Compound / JSON Object] signal_strength: Another format.
      • [Int] max: The maximum value.
      • [Int] min: The minimum value.
    • [NBT Compound / JSON Object] shooter: The player who shot or threw the projectile. Functionally identical to [NBT Compound / JSON Object] player.
    • [NBT List / JSON Array] shooter: Another format for "shooter". Specifies a list of predicates that must pass in order for the criterion to be granted. The checks are applied to the player, with the origin being the position of the player that would get the advancement.
    • [NBT Compound / JSON Object] projectile: The projectile hit the target block.
    • [NBT List / JSON Array] projectile: Another format for "projectile". Specifies a list of predicates that must pass in order for the criterion to be granted. The checks are applied to the projectile, with the origin being the position of the player that would get the advancement.
      • [NBT Compound / JSON Object]: A single predicate.

minecraft:thrown_item_picked_up_by_entity Edit

Triggers after the player throws an item and another entity picks it up. Available extra conditions:

  • [NBT Compound / JSON Object] conditions:
    • [NBT Compound / JSON Object] item: The thrown item that was picked up.
    • [NBT Compound / JSON Object] entity: The entity that picked up the item.
    • [NBT List / JSON Array] entity: Another format for "entity". Specifies a list of predicates that must pass in order for the criterion to be granted. The checks are applied to the entity, with the origin being the position of the player that would get the advancement.
      • [NBT Compound / JSON Object]: A single predicate.

minecraft:thrown_item_picked_up_by_player Edit

Triggers when a player picks up an item thrown by another entity. Available extra conditions:

  • [NBT Compound / JSON Object] conditions:
    • [NBT Compound / JSON Object] item: The item thrown.
    • [NBT Compound / JSON Object] entity: The entity that threw the item.
    • [NBT List / JSON Array] entity: Another format for "entity". Specifies a list of predicates that must pass in order for the criterion to be granted. The checks are applied to the entity, with the origin being the position of the player that would get the advancement.
      • [NBT Compound / JSON Object]: A single predicate.

minecraft:tick Edit

Triggers every tick (20 times a second). No extra conditions.

minecraft:used_ender_eye Edit

Triggers when the player uses an eye of ender (in a world where strongholds generate). Available extra conditions:

  • [NBT Compound / JSON Object] conditions:
    • [Double] distance: The horizontal distance between the player and the stronghold.
    • [NBT Compound / JSON Object] distance: Another format.
      • [Double] max: A maximum value.
      • [Double] min: A minimum value.

minecraft:used_totem Edit

Triggers when the player uses a totem. Available extra conditions:

minecraft:using_item Edit

Triggers for every tick that the player uses an item that is used continuously. It is known to trigger for bows, crossbows, honey bottles, milk buckets, potions, shields, spyglasses, tridents, food items, eyes of ender, etc. Most items that activate from a single click, such as fishing rods, do not affect this trigger. Available extra conditions:

minecraft:villager_trade Edit

Triggers after the player trades with a villager or a wandering trader. Available extra conditions:

  • [NBT Compound / JSON Object] conditions:
    • [NBT Compound / JSON Object] item: The item that was purchased. The "count" tag checks the count from one trade, not multiple.
    • [NBT Compound / JSON Object] villager: The villager the item was purchased from.
    • [NBT List / JSON Array] villager: Another format for "villager". Specifies a list of predicates that must pass in order for the criterion to be granted. The checks are applied to the villager, with the origin being the position of the player that would get the advancement.
      • [NBT Compound / JSON Object]: A single predicate.

minecraft:voluntary_exile Edit

Triggers when the player causes a raid. No extra conditions.

Removed triggers Edit

minecraft:arbitrary_player_tick Edit

Triggers every tick for one player only. No available conditions.

Only exists in 17w18b.

minecraft:item_delivered_to_player Edit

Triggers when an allay delivers an item to the player. No extra conditions.

Only exists in 22w14a.

minecraft:player_damaged Edit

Triggers when the player receives damage. Available conditions:

Removed in 17w14a.

minecraft:safely_harvest_honey Edit

Triggers when the player harvests honey from a bee nest/beehive with a campfire below it. Available extra conditions:

  • [NBT Compound / JSON Object] conditions:
    • [NBT Compound / JSON Object] block: The block that the player harvested the honey from.
      • [String] block: A block ID.
      • [String] tag: A block tag.
    • [NBT Compound / JSON Object] item: The item that the player used to harvest the honey.

This trigger was made redundant by the item_used_on_block trigger. Removed in 20w20a.

Temporary triggers Edit

23w13a_or_b Edit

minecraft:voted Edit

Triggers when the player casts a vote. No extra conditions.

24w14potato Edit

minecraft:bring_home_corruption Edit

Triggers when the player uses corrupted potato peels on the top side of terre de pomme placed in the Overworld. No extra conditions.

minecraft:compost_staff Edit

Triggers when the player uses a Potatiesh, Greatstaff of the Peasant on a composter. No extra conditions.

minecraft:eat_armor Edit

Triggers when the player eats a part of an equipped poisonous potato chestplate. No extra conditions.

minecraft:get_peeled Edit

Triggers when the player is peeled by another player while wearing a poisonous potato chestplate. No extra conditions.

minecraft:peel_block Edit

Triggers when the player uses a potato peeler on a block that can be peeled. No extra conditions.

minecraft:peel_potato_armor Edit

Triggers when the player uses a potato peeler on an entity wearing a poisonous potato chestplate. No extra conditions.

minecraft:peel_potato_sheep Edit

Triggers when the player uses a potato peeler on a sheep in the Potato dimension. No extra conditions.

minecraft:potato_refined Edit

Triggers when the player takes an item out of the output slot of a potato refinery. Available extra conditions:

  • [NBT Compound / JSON Object] conditions:
    • [NBT Compound / JSON Object] result_predicate*: The result of the refining recipe.
      • [String] type*: The type of refining recipe. Must be either standard for a recipe that outputs a different item than the input, or lubrication for a recipe that increments the lubrication factor of an item.
      • [NBT Compound / JSON Object] item_predicate*: The output item.
      • [Int] min_lubrication: The minimum lubrication factor the output item must have. Must exist if [String] type is lubrication and has no effect otherwise.

minecraft:rumble_plant Edit

Triggers when the player equips a poisonous potato plant on their head. No extra conditions.

minecraft:said_potato Edit

Triggers when the player sends a chat message containing "potato" (case-sensitive). No extra conditions.

minecraft:throw_lubricated Edit

Triggers when the player throws a lubricated item. Available extra conditions:

  • [NBT Compound / JSON Object] conditions:
    • [Int] min_lubrication*: The minimum lubrication factor the thrown item must have. This condition does not support a min-max range.

External links Edit

References Edit

Navigation Edit