Skip to content

Defining drop filters

justEli edited this page Aug 10, 2026 · 12 revisions

Every event within a drop has a filter, and that filter has a few different aspects. The settings within these aspects are different for every event. Here are the most common aspects:

  • initiator: The trigger for the event to occur, like a player, entity or it could even be anything for some events.
  • target: The target of the event, like an entity that was hit, a block that was mined, or an advancement that was completed.
  • location: The location where the event occured at.

Currently supported event types are: advancement_done, block_break, crop_harvest, entity_breed, entity_catch, entity_death, entity_tame, item_enchant, item_repair, loot_chest_open, potion_brew, and recipe_unlock.

Down here are all the available filter options for all events. When a List<String> is left empty ([]), it means that any will be accepted.

Last updated on May 9, 2026.

Event type filters

advancement_done

Player (initiator) completed an advancement (target).

initiator:
  permission: String
target:
  type: List<String> # advancement types
location:
  disabled-worlds: List<String>

block_break

Entity (initiator) broke or mined a block (target).

initiator:
  type: List<String> # 'minecraft:player' and/or 'minecraft:enderman'
  permission: String
target:
  type: List<String> # block types
  min-xp-drop: Integer
  allow-same-block: Boolean
location:
  disabled-worlds: List<String>
  cooldown:
    cap-amount: Boolean
    duration: TimeString

block_place

Entity (initiator) placed down a block (target).

initiator:
  type: List<String> # 'minecraft:player' and/or 'minecraft:enderman'
  permission: String
target:
  type: List<String> # block types
location:
  disabled-worlds: List<String>

crop_harvest

Entity (initiator) broke a fully grown crop (target).

initiator:
  type: List<String> # 'minecraft:player' and/or 'minecraft:villager'
  permission: String
target:
  type: List<String> # block types
location:
  disabled-worlds: List<String>
  cooldown:
    cap-amount: Boolean
    duration: TimeString

entity_breed

Entity (initiator) bred two animals to form a baby (target).

initiator:
  type: List<String> # 'minecraft:player', or [] if accepting any
  permission: String
target:
  type: List<String> # entity types
  category: List<String> # passive, hostile, tameable, from_spawner, from_split, etc.
location:
  disabled-worlds: List<String>
  cooldown:
    cap-amount: Boolean
    duration: TimeString

entity_catch

Player (initiator) catched an item or type of fish (target).

initiator:
  permission: String
target:
  type: List<String> # entity type; 'minecraft:cod', etc.
  category: List<String> # passive, hostile, tameable, from_spawner, from_split, etc.
  min-xp-drop: Integer
location:
  disabled-worlds: List<String>
  cooldown:
    cap-amount: Boolean
    duration: TimeString

entity_death

Entity (initiator) killed another entity (target), or natural death (no initiator) killed an entity (target).

initiator:
  any: Boolean # set to false to prevent this drop to trigger if there is no initiator entity
  permission: String
  type: List<String> # 'minecraft:player', 'minecraft:skeleton', or [] if accepting any (also natural death)
  # (not yet added) action: List<String> # 'projectile' and/or 'stabbing', or [] if accepting any
target:
  type: List<String> # entity types
  category: List<String> # passive, hostile, tameable, from_spawner, from_split, etc.
  min-xp-drop: Integer
  prevent-alts: Boolean # if initiator and target are player
  min-player-damage: Double # percentage
location:
  disabled-worlds: List<String>
  cooldown:
    cap-amount: Boolean
    duration: TimeString

entity_tame

Entity (initiator) tamed a tameable animal (target).

initiator:
  permission: String
target:
  type: List<String> # entity types
  category: List<String> # passive, hostile, tameable, from_spawner, from_split, etc.
location:
  disabled-worlds: List<String>
  cooldown:
    cap-amount: Boolean
    duration: TimeString

item_enchant

Player (initiator) enchanted an item (target) using an enchantment table.

initiator:
  permission: String
target:
  type: List<String> # enchantment types
location:
  disabled-worlds: List<String>
  cooldown:
    cap-amount: Boolean
    duration: TimeString

item_repair

Player (initiator) repaired an item (target) using an anvil.

initiator:
  permission: String
target:
  type: List<String> # item types
location:
  disabled-worlds: List<String>
  cooldown:
    cap-amount: Boolean
    duration: TimeString

loot_chest_open

Player (initiator) opened a loot chest (target) where loot was generated.

initiator:
  permission: String
location:
  disabled-worlds: List<String>

potion_brew

Potion (target) finished brewing (no initiator).

location:
  disabled-worlds: List<String>
  cooldown:
    cap-amount: Boolean
    duration: TimeString

recipe_unlock

Player (initiator) unlocked a new recipe (target). Can be multiple at a time.

initiator:
  permission: String
location:
  disabled-worlds: List<String>