Triggers
Reference all built-in custom advancement trigger types.
Triggers define what the player must do to complete a criterion. Each criterion has one trigger and an optional conditions block.
criteria:
<criterion_id>:
trigger: <trigger_type>
conditions:
# trigger-specific optionsAn advancement can have multiple criteria. All of them must be completed before the advancement is awarded. Every runtime trigger also supports an optional conditions.player predicate for extra player-state requirements; see Player predicates. Item conditions support ItemsAdder IDs, MMOItems IDs, vanilla item IDs, vanilla item tags, and supported ItemsAdderAdditions custom item tags. Block, furniture, and recipe conditions support custom tags where the matching path accepts tags. See IDs for the shared syntax.
obtain_item
Fires when the player picks up an item from the ground.
criteria:
get_sword:
trigger: obtain_item
conditions:
items:
- my_pack:ruby_sword
- my_pack:iron_sword
amount: 1| Key | Type | Default | Description |
|---|---|---|---|
item / items | string or list of strings | [] | Item IDs or supported item tags (IA, MMOItems, vanilla, #minecraft:tag, or custom tags). Any match triggers the criterion. |
amount | integer | 1 | Minimum stack size the player must pick up at once. |
consume_item
Fires when the player finishes eating or drinking an item.
criteria:
eat_ruby_apple:
trigger: consume_item
conditions:
item: my_pack:ruby_apple| Key | Type | Required | Description |
|---|---|---|---|
item | string | yes | Item ID or supported item tag (IA, MMOItems, vanilla, #minecraft:tag, or custom tags). |
using_item
Fires when the player right-clicks (in air or on a block) while holding an item in their main hand.
criteria:
use_staff:
trigger: using_item
conditions:
item: my_pack:ruby_staff| Key | Type | Required | Description |
|---|---|---|---|
item | string | yes | Item ID or supported item tag (IA, MMOItems, vanilla, #minecraft:tag, or custom tags). |
place_block
Fires when the player places an ItemsAdder custom block or a vanilla block.
criteria:
place_ruby_ore:
trigger: place_block
conditions:
block: my_pack:ruby_ore| Key | Type | Required | Description |
|---|---|---|---|
block | string | yes | ItemsAdder block ID, vanilla block ID, vanilla block tag such as #minecraft:logs, or supported custom block tag. |
break_block
Fires when the player breaks an ItemsAdder custom block or a vanilla block.
criteria:
mine_ruby_ore:
trigger: break_block
conditions:
block: my_pack:ruby_ore| Key | Type | Required | Description |
|---|---|---|---|
block | string | yes | ItemsAdder block ID, vanilla block ID, vanilla block tag such as #minecraft:logs, or supported custom block tag. |
place_furniture
Fires when the player places a custom furniture item.
criteria:
place_lamp:
trigger: place_furniture
conditions:
furniture: my_pack:ruby_lamp| Key | Type | Required | Description |
|---|---|---|---|
furniture | string | yes | ItemsAdder furniture ID (namespace:id) or supported custom furniture tag. |
break_furniture
Fires when the player breaks a custom furniture item.
criteria:
break_lamp:
trigger: break_furniture
conditions:
furniture: my_pack:ruby_lamp| Key | Type | Required | Description |
|---|---|---|---|
furniture | string | yes | ItemsAdder furniture ID (namespace:id) or supported custom furniture tag. |
interact_furniture
Fires when the player right-clicks a custom furniture item.
criteria:
use_workbench:
trigger: interact_furniture
conditions:
furniture: my_pack:ruby_workbench| Key | Type | Required | Description |
|---|---|---|---|
furniture | string | yes | ItemsAdder furniture ID (namespace:id) or supported custom furniture tag. |
craft_recipe
Fires when the player crafts an item using a specific IAA recipe.
criteria:
craft_sword:
trigger: craft_recipe
conditions:
recipe: my_pack:ruby_sword_recipe| Key | Type | Required | Description |
|---|---|---|---|
recipe | string | yes | Recipe key as namespace:id, a bare id using the file namespace, or a supported custom recipe tag. |
kill_entity_with_item
Fires when the player kills an entity while holding a specific item in their main hand.
criteria:
slay_zombie:
trigger: kill_entity_with_item
conditions:
item: my_pack:ruby_sword
entity_type: minecraft:zombie # optional| Key | Type | Default | Description |
|---|---|---|---|
item | string | (required) | Item ID or supported item tag the player must be holding. |
entity_type | string | (any) | Vanilla entity type key (e.g. minecraft:zombie). If omitted, any entity matches. |
player_hurt_entity
Fires when the player deals damage to an entity. Unlike kill_entity_with_item, this fires on every hit, not just the killing blow.
criteria:
hit_zombie:
trigger: player_hurt_entity
conditions:
item: my_pack:ruby_sword # optional
entity_type: minecraft:zombie # optional| Key | Type | Default | Description |
|---|---|---|---|
item | string | (any) | Item ID or supported item tag the player must be holding. If omitted, any item (or bare hands) matches. |
entity_type | string | (any) | Vanilla entity type key. If omitted, any entity matches. |
entity_hurt_player
Fires when an entity deals damage to the player.
criteria:
hurt_by_zombie:
trigger: entity_hurt_player
conditions:
entity_type: minecraft:zombie # optional| Key | Type | Default | Description |
|---|---|---|---|
entity_type | string | (any) | Vanilla entity type key. If omitted, any attacker matches. |
player_killed_entity
Fires when the player kills an entity (regardless of the weapon used).
criteria:
kill_creeper:
trigger: player_killed_entity
conditions:
entity_type: minecraft:creeper # optional
item: my_pack:ruby_sword # optional| Key | Type | Default | Description |
|---|---|---|---|
entity_type | string | (any) | Vanilla entity type key. If omitted, any entity matches. |
item | string | (any) | Item ID or supported item tag the player must be holding. If omitted, any item matches. |
entity_killed_player
Fires when the player is killed by a non-player entity (projectile kills resolve to the shooter).
criteria:
killed_by_skeleton:
trigger: entity_killed_player
conditions:
entity_type: minecraft:skeleton # optional| Key | Type | Default | Description |
|---|---|---|---|
entity_type | string | (any) | Vanilla entity type key of the killer. If omitted, any entity matches. |
killed_by_arrow
Fires when the player is killed by an arrow. The entity type matches the arrow's shooter, or the arrow itself if it had no shooter.
criteria:
shot_by_skeleton:
trigger: killed_by_arrow
conditions:
entity_type: minecraft:skeleton # optional| Key | Type | Default | Description |
|---|---|---|---|
entity_type | string | (any) | Vanilla entity type key of the shooter. If omitted, any arrow source matches. |
tame_animal
Fires when the player tames an animal.
criteria:
tame_wolf:
trigger: tame_animal
conditions:
entity_type: minecraft:wolf # optional| Key | Type | Default | Description |
|---|---|---|---|
entity_type | string | (any) | Vanilla entity type key. If omitted, any tameable animal matches. |
bred_animals
Fires when the player breeds two animals.
criteria:
breed_cows:
trigger: bred_animals
conditions:
entity_type: minecraft:cow # optional, type of the offspring
parent_type: minecraft:cow # optional
partner_type: minecraft:cow # optional| Key | Type | Default | Description |
|---|---|---|---|
entity_type | string | (any) | Entity type of the offspring. |
parent_type | string | (any) | Entity type of the mother. |
partner_type | string | (any) | Entity type of the father. |
villager_trade
Fires when the player completes a trade with a villager.
criteria:
buy_diamond:
trigger: villager_trade
conditions:
item: minecraft:diamond # optional| Key | Type | Default | Description |
|---|---|---|---|
item | string | (any) | Item ID or supported item tag of the trade result. If omitted, any trade matches. |
enchanted_item
Fires when the player enchants an item at an enchanting table.
criteria:
enchant_ruby_sword:
trigger: enchanted_item
conditions:
item: my_pack:ruby_sword # optional
min_levels: 10 # optional
max_levels: 30 # optional| Key | Type | Default | Description |
|---|---|---|---|
item | string | (any) | Item ID or supported item tag. If omitted, any item being enchanted matches. |
min_levels | integer | 0 | Minimum XP level cost of the enchantment. |
max_levels | integer | (unlimited) | Maximum XP level cost of the enchantment. |
shoot_bow
Fires when the player shoots a projectile from a bow.
criteria:
shoot_ruby_bow:
trigger: shoot_bow
conditions:
item: my_pack:ruby_bow # optional| Key | Type | Default | Description |
|---|---|---|---|
item | string | (any) | Item ID or supported item tag of the bow. If omitted, any bow matches. |
shot_crossbow
Fires when the player shoots a projectile from a crossbow.
criteria:
shoot_crossbow:
trigger: shot_crossbow
conditions:
item: my_pack:ruby_crossbow # optional| Key | Type | Default | Description |
|---|---|---|---|
item | string | (any) | Item ID or supported item tag of the crossbow. If omitted, any crossbow matches. |
fishing_rod_hooked
Fires when the player reels in a fish or hooks an entity.
criteria:
hook_fish:
trigger: fishing_rod_hooked
conditions:
rod: my_pack:ruby_rod # optional
caught_entity_type: minecraft:cod # optional| Key | Type | Default | Description |
|---|---|---|---|
rod | string | (any) | Item ID or supported item tag of the fishing rod. If omitted, any rod matches. |
caught_entity_type | string | (any) | Entity type of what was hooked. If omitted, any catch matches. |
filled_bucket
Fires when the player fills a bucket with a liquid.
criteria:
fill_lava:
trigger: filled_bucket
conditions:
item: minecraft:lava_bucket # optional| Key | Type | Default | Description |
|---|---|---|---|
item | string | (any) | Item ID or supported item tag of the resulting bucket. If omitted, any filled bucket matches. |
item_durability_changed
Fires when an item in the player's hand takes durability damage.
criteria:
damage_ruby_sword:
trigger: item_durability_changed
conditions:
item: my_pack:ruby_sword # optional| Key | Type | Default | Description |
|---|---|---|---|
item | string | (any) | Item ID or supported item tag of the damaged item. If omitted, any item matches. |
item_used_on_block
Fires when the player right-clicks a block with an item in their main hand.
criteria:
use_on_crafting_table:
trigger: item_used_on_block
conditions:
item: my_pack:ruby_wand # optional
block: minecraft:crafting_table # optional| Key | Type | Default | Description |
|---|---|---|---|
item | string | (any) | Item ID or supported item tag the player must be holding. |
block | string | (any) | ItemsAdder block ID, vanilla block ID, or vanilla block tag. |
recipe_crafted
Fires when the player crafts any item using the vanilla crafting system.
criteria:
craft_diamond_sword:
trigger: recipe_crafted
conditions:
recipe: minecraft:diamond_sword # optional| Key | Type | Default | Description |
|---|---|---|---|
recipe | string | (any) | Recipe key as namespace:id or a supported custom recipe tag. If omitted, any crafting action matches. |
recipe_unlocked
Fires when the player discovers a new recipe.
criteria:
unlock_diamond_sword:
trigger: recipe_unlocked
conditions:
recipe: minecraft:diamond_sword # optional| Key | Type | Default | Description |
|---|---|---|---|
recipe | string | (any) | Recipe key as namespace:id or a supported custom recipe tag. If omitted, any discovered recipe matches. |
player_interacted_with_entity
Fires when the player right-clicks an entity with their main hand.
criteria:
name_a_villager:
trigger: player_interacted_with_entity
conditions:
entity_type: minecraft:villager # optional
item: minecraft:name_tag # optional| Key | Type | Default | Description |
|---|---|---|---|
entity_type | string | (any) | Vanilla entity type key. If omitted, any entity matches. |
item | string | (any) | Item ID or supported item tag the player must be holding. If omitted, any item (or empty hand) matches. |
player_sheared_equipment
Fires when the player shears an entity.
criteria:
shear_sheep:
trigger: player_sheared_equipment
conditions:
entity_type: minecraft:sheep # optional| Key | Type | Default | Description |
|---|---|---|---|
entity_type | string | (any) | Vanilla entity type key. If omitted, any shearable entity matches. |
bee_nest_destroyed
Fires when the player breaks a beehive or bee nest.
criteria:
break_beehive:
trigger: bee_nest_destroyed
conditions:
block: minecraft:beehive # optional| Key | Type | Default | Description |
|---|---|---|---|
block | string | (any) | Block ID or supported block tag (minecraft:beehive, minecraft:bee_nest, or a tag). If omitted, either hive block matches. |
started_riding
Fires when the player mounts an entity.
criteria:
ride_horse:
trigger: started_riding
conditions:
entity_type: minecraft:horse # optional| Key | Type | Default | Description |
|---|---|---|---|
entity_type | string | (any) | Vanilla entity type key. If omitted, any mount matches. |
effects_changed
Fires when the player gains or has a potion effect changed.
criteria:
get_speed:
trigger: effects_changed
conditions:
effect: minecraft:speed # optional| Key | Type | Default | Description |
|---|---|---|---|
effect | string | (any) | Potion effect key (e.g. minecraft:speed). If omitted, any effect addition or change matches. |
changed_dimension
Fires when the player changes world environment.
criteria:
enter_nether:
trigger: changed_dimension
conditions:
to: nether # optional
from: normal # optional| Key | Type | Default | Description |
|---|---|---|---|
to | string | (any) | Target Bukkit environment: normal, nether, or the_end. |
from | string | (any) | Source Bukkit environment: normal, nether, or the_end. |
slept_in_bed
Fires when the player successfully enters a bed. No conditions.
criteria:
first_sleep:
trigger: slept_in_bedused_totem
Fires when the player is saved from death by a totem of undying. No conditions.
criteria:
totem_pop:
trigger: used_totemfall_from_height
Fires when the player takes fall damage.
criteria:
survived_fall:
trigger: fall_from_height
conditions:
distance:
y:
min: 30
max: 320You can also use a single number as the minimum fall distance:
criteria:
small_fall:
trigger: fall_from_height
conditions:
distance: 8| Key | Type | Default | Description |
|---|---|---|---|
distance | number or section | 0 to unlimited | Fall distance range. A number means minimum distance. A section can use min/max, or a nested y, absolute, or horizontal range. |
distance.min | number | 0 | Minimum fall distance. |
distance.max | number | (unlimited) | Maximum fall distance. |
distance.y | section | (none) | Preferred range form for vertical fall distance. Supports min and max. |
distance.absolute | section | (none) | Alternative range form. Supports min and max. |
distance.horizontal | section | (none) | Alternative range form. Supports min and max. |
used_ender_eye
Fires when the player throws an eye of ender. No conditions.
criteria:
use_ender_eye:
trigger: used_ender_eyeheld_item
IAA custom trigger. Fires when the player scrolls to a hotbar slot that contains an item.
criteria:
equip_ruby_sword:
trigger: held_item
conditions:
item: my_pack:ruby_sword # optional| Key | Type | Default | Description |
|---|---|---|---|
item | string | (any) | Item ID or supported item tag. If omitted, any item scrolled to matches. |
permission
Fires when the player joins while holding the specified permission node.
criteria:
has_vip:
trigger: permission
conditions:
permission: "myserver.rank.vip"| Key | Type | Required | Description |
|---|---|---|---|
permission | string | yes | Permission node. Checked on every join; fires as soon as the player has it. |
in_biome
Fires when the player crosses into a specific biome. Checked at chunk boundaries.
criteria:
visit_jungle:
trigger: in_biome
conditions:
biome: minecraft:jungle
world: world # optional| Key | Type | Default | Description |
|---|---|---|---|
biome | string | (required) | Biome key as namespace:id (e.g. minecraft:deep_dark). |
world | string | (any) | World name to restrict the check to a single world. |
sit_furniture
Fires when the player sits on an ItemsAdder furniture item.
Version Requirement: Requires ItemsAdder 4.0.17 or higher.
criteria:
sit_on_chair:
trigger: sit_furniture
conditions:
furniture: my_pack:ruby_chair| Key | Type | Required | Description |
|---|---|---|---|
furniture | string | yes | ItemsAdder furniture ID or supported custom furniture tag. |
unsit_furniture
Fires when the player stops sitting on an ItemsAdder furniture item.
Version Requirement: Requires ItemsAdder 4.0.17 or higher.
criteria:
leave_chair:
trigger: unsit_furniture
conditions:
furniture: my_pack:ruby_chair| Key | Type | Required | Description |
|---|---|---|---|
furniture | string | yes | ItemsAdder furniture ID or supported custom furniture tag. |
open_trade_machine
Fires when the player opens an ItemsAdder trade_machine or block_trade_machine GUI.
criteria:
open_alchemy_station:
trigger: open_trade_machine
conditions:
trade_machine: stations:alchemy_table| Key | Type | Required | Description |
|---|---|---|---|
trade_machine | string | yes | Trade machine content ID or supported custom furniture tag. |
start_emote
Fires when the player starts an ItemsAdder emote.
criteria:
start_wave:
trigger: start_emote
conditions:
emote: my_pack:wave| Key | Type | Default | Description |
|---|---|---|---|
emote | string | (any) | Emote ID. If omitted, any emote start matches. |
stop_emote
Fires when the player stops an ItemsAdder emote.
criteria:
stop_wave:
trigger: stop_emote
conditions:
emote: my_pack:wave| Key | Type | Default | Description |
|---|---|---|---|
emote | string | (any) | Emote ID. If omitted, any emote stop matches. |
join_server
Fires whenever the player joins the server. No conditions.
criteria:
joined:
trigger: join_serverfirst_join
Fires when the player joins for the first time according to Bukkit's hasPlayedBefore check. No conditions.
criteria:
first_join:
trigger: first_jointick
Fires once per server tick for every online player. Use conditions.player to keep tick criteria narrow.
criteria:
sneaking_tick:
trigger: tick
conditions:
player:
flags:
is_sneaking: trueimpossible
Never fires on its own.
criteria:
manual:
trigger: impossibleNo conditions options.