Denizen Script Events


Events are a way to listen to things that happened on your server and respond to them through a script. These usually pair with 'world' script containers.
Learn about how events work in The Beginner's Guide.


Showing all 382 events...

Categories:

Block | Core | Entity | Item | NPC | Player | Server | Vehicle | World | Clientizen | Depenizen | Discord | Paper



Category: Block


Namebell rings
Event Lines bell rings
Triggerswhen a bell block rings. (Requires Paper on versions lower than 1.19)
Generated Examplesafter bell rings:
Has Playerwhen the ringing entity is a player. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.entity> returns the EntityTag that rung the bell, if any.
<context.location> returns the LocationTag of the bell being rung.
<context.direction> returns the ElementTag of the direction the bell was rung in. Can be "north", "west", "south", "east". Available only on MC 1.19+.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupBlock
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/block/BellRingScriptEvent.java#L16

Nameblock being built on block
Event Lines <block> being built (on <block>)
Triggerswhen an attempt is made to build a block on another block. Not necessarily caused by players. Does not normally fire when players place blocks. Prefer Event:player places block for that.
Generated Examplesafter block being built:
after spruce_button being built on block:
Has Playerwhen the event is triggered in relation to a player that is causing the block build. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.location> returns the LocationTag of the block the player is trying to build on.
<context.old_material> returns the MaterialTag of the block the player is trying to build on.
<context.new_material> returns the MaterialTag of the block the player is trying to build.
Determine"BUILDABLE" to allow the building.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupBlock
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/block/BlockBuiltScriptEvent.java#L17

Nameblock burns
Event Lines <block> burns
Triggerswhen a block is destroyed by fire.
Generated Exampleson light_blue_wool burns:
after diorite_stairs burns:
Contexts<context.location> returns the LocationTag the block was burned at.
<context.material> returns the MaterialTag of the block that was burned.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupBlock
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/block/BlockBurnsScriptEvent.java#L13

Nameblock cooks|smelts item into item
Event Lines <block> cooks|smelts <item> (into <item>)
Triggerswhen an item is smelted/cooked by a block.
Generated Examplesafter prismarine_wall smelts dead_brain_coral_block:
after sniffer_egg smelts tall_grass:
Contexts<context.location> returns the LocationTag of the block smelting/cooking.
<context.source_item> returns the ItemTag that is being smelted/cooked.
<context.result_item> returns the ItemTag that is the result of the smelting/cooking.
DetermineItemTag to set the item that is the result of the smelting/cooking.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupBlock
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/block/BlockCooksSmeltsItemScriptEvent.java#L13

Nameblock dispenses item
Event Lines <block> dispenses <item>
Triggerswhen a block dispenses an item.
Generated Examplesafter block dispenses item:
after waxed_oxidized_cut_copper dispenses spruce_stairs:
Contexts<context.location> returns the LocationTag of the dispenser.
<context.item> returns the ItemTag of the item being dispensed.
<context.velocity> returns a LocationTag vector of the velocity the item will be shot at.
DetermineLocationTag to set the velocity the item will be shot at.
ItemTag to set the item being shot.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupBlock
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/block/BlockDispensesScriptEvent.java#L14

Nameblock explodes
Event Lines <block> explodes
Triggerswhen a block explodes (like a bed in the nether. For TNT, refer to the "entity explodes" event instead). For a block being destroyed by an explosion, refer to the "block destroyed by explosion" event instead.
Generated Exampleson white_tulip explodes:
on bamboo explodes:
Contexts<context.block> returns the location of the exploding block.
<context.blocks> returns a ListTag of blocks that blew up.
<context.strength> returns an ElementTag(Decimal) of the strength of the explosion.
DetermineListTag(LocationTag) to set a new lists of blocks that are to be affected by the explosion.
ElementTag(Decimal) to change the strength of the explosion.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupBlock
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/block/BlockExplodesScriptEvent.java#L19

Nameblock fades
Event Lines <block> fades
Triggerswhen a block fades, melts, or disappears based on world conditions.
Generated Examplesafter block fades:
after end_gateway fades:
Contexts<context.location> returns the LocationTag the block faded at.
<context.material> returns the MaterialTag of the block that faded.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupBlock
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/block/BlockFadesScriptEvent.java#L13

Nameblock falls
Event Lines <block> falls
Triggerswhen a block begins to fall. Generic form "block falls" (with a material) also fires when the block lands.
Generated Exampleson trial_spawner falls:
after block falls:
Contexts<context.location> returns the location of the block.
<context.entity> returns the entity of the block that fell.
<context.old_material> returns the material that was at the location (eg 'sand' when falling, or 'air' when landing).
<context.new_material> returns the material that will be at the location (eg 'air' when falling, or 'sand' when landing).
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupBlock
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/block/BlockFallsScriptEvent.java#L15

Nameblock forms
Event Lines <block> forms
Triggerswhen a block is formed based on world conditions, EG, when snow forms in a snow storm or ice forms in a cold biome.
Generated Examplesafter block forms:
on cyan_stained_glass forms:
Contexts<context.location> returns the LocationTag the block that is forming.
<context.material> returns the MaterialTag of the block that is forming.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupBlock
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/block/BlockFormsScriptEvent.java#L13

Nameblock grows
Event Lines <block> grows
Triggerswhen a block grows naturally in the world, EG, when wheat, sugar canes, cacti, watermelons or pumpkins grow.
Generated Examplesafter blackstone_wall grows:
on potted_pink_tulip grows:
Switchesfrom:<age> to only process the event if the material started at a specific age.
to:<age> to only process the event if the material ended at a specific age.
Contexts<context.location> returns the LocationTag of the block that grew (still at original material state when event fires).
<context.material> returns the MaterialTag of the block's newly grown state.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupBlock
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/block/BlockGrowsScriptEvent.java#L15

Nameblock ignites
Event Lines block ignites
Triggerswhen a block is set on fire.
Generated Exampleson block ignites:
after block ignites:
Switchescause:<cause> to only process the event when it came from a specified cause.
Contexts<context.location> returns the LocationTag of the block that was set on fire.
<context.entity> returns the EntityTag of the entity that ignited the block (if any).
<context.origin_location> returns the LocationTag of the fire block that ignited this block (if any).
<context.cause> returns an ElementTag of the cause of the event: 🔗https://hub.spigotmc.org/javadocs/spigot/org/bukkit/event/block/BlockIgniteEvent.IgniteCause.html.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupBlock
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/block/BlockIgnitesScriptEvent.java#L15

Nameblock shears entity
Event Lines <block> shears <entity>
Triggerswhen a dispenser shears a nearby sheep.
Generated Exampleson block shears projectile:
after block shears chicken:
Contexts<context.location> returns the LocationTag of the dispenser.
<context.tool> returns the ItemTag of the item used to shear the entity.
<context.entity> returns the EntityTag of the sheared entity.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupBlock
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/block/BlockShearEntityScriptEvent.java#L14

Nameblock spreads
Event Lines block spreads
Triggerswhen a block spreads based on world conditions, EG, when fire spreads, or when mushrooms spread, or when vines grow.
Generated Examplesafter block spreads:
Switchestype:<block> to only run if the block spreading matches the material input.
Contexts<context.source_location> returns the LocationTag of the block that spread.
<context.location> returns the LocationTag of the new block.
<context.material> returns the MaterialTag of the block that spread.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupBlock
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/block/BlockSpreadsScriptEvent.java#L14

Nameblock tries to dispense item
Event Lines <block> tries to dispense <item>
Triggersbefore a block dispenses an item.
This event fires before the dispenser fully processes a drop, allowing access to the dispensing slot and cancellation of sound effects.
Generated Exampleson slime_block tries to dispense acacia_fence:
after tall_grass tries to dispense mud_brick_wall:
Contexts<context.location> returns the LocationTag of the dispenser.
<context.item> returns the ItemTag of the item about to be dispensed.
<context.slot> returns a ElementTag(Number) of the slot that will be dispensed from.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupBlock
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/paper/src/main/java/com/denizenscript/denizen/paper/events/BlockPreDispenseScriptEvent.java#L14

Namebrewing stand brews
Event Lines brewing stand brews
Triggerswhen a brewing stand brews a potion.
Generated Exampleson brewing stand brews:
Contexts<context.location> returns the LocationTag of the brewing stand.
<context.inventory> returns the InventoryTag of the brewing stand's contents.
<context.fuel_level> returns an ElementTag(Number) of the brewing stand's fuel level.
<context.result> returns a ListTag(ItemTag) of the items that will be brewed.
Determine"RESULT:<ListTag(ItemTag)>" to change the items that are brewed.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupBlock
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/block/BrewsScriptEvent.java#L16

Namebrewing stand fueled with item
Event Lines brewing stand fueled (with <item>)
Triggerswhen a brewing stand receives an item to use as fuel.
Generated Examplesafter brewing stand fueled with item:
on brewing stand fueled:
Contexts<context.location> returns the LocationTag of the brewing stand.
<context.item> returns the ItemTag being inserted as fuel.
<context.fuel_power> returns the fuel power level being added. Each unit of fuel can power one brewing operation.
<context.consuming> returns a boolean indicating whether the fuel item will be consumed.
Determine"FUEL_POWER:<ElementTag(Number)>" to set the fuel power level to be added.
"CONSUMING" to indicate that the fuel item should be consumed.
"NOT_CONSUMING" to indicate that the fuel item should not be consumed.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupBlock
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/block/BrewingStandFueledScriptEvent.java#L14

Namebrewing starts
Event Lines brewing starts
Triggerswhen a brewing stand starts brewing a potion.
Generated Examplesafter brewing starts:
Contexts<context.item> returns an ItemTag of the used ingredient to brew potions.
<context.location> returns a LocationTag of the brewing stand's location.
<context.brew_time> returns a DurationTag of the total time it will take to brew the potion.
Determine"BREW_TIME:DurationTag" to set the total time for the potion being brewed.
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupBlock
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/block/BrewingStartsScriptEvent.java#L14

Namecauldron level changes|raises|lowers
Event Lines cauldron level changes|raises|lowers
Triggerswhen a cauldron's level changes.
Generated Exampleson cauldron level raises:
on cauldron level lowers:
Switchescause:<cause> to only process the event when it came from a specified cause.
Contexts<context.location> returns the LocationTag of the cauldron that changed.
<context.entity> returns the LocationTag of the entity that caused the cauldron level to change (if any).
<context.cause> returns the reason that the cauldron level changed, from 🔗https://hub.spigotmc.org/javadocs/spigot/org/bukkit/event/block/CauldronLevelChangeEvent.ChangeReason.html
<context.old_level> returns the previous cauldron level.
<context.new_level> returns the new cauldron level.
DetermineElementTag(Number) to set the new level.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupBlock
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/block/CauldronLevelChangeScriptEvent.java#L14

Namefurnace burns item
Event Lines furnace burns <item>
Triggerswhen a furnace burns an item used as fuel.
Generated Examplesafter furnace burns purpur_stairs:
after furnace burns spruce_sign:
Contexts<context.location> returns the LocationTag of the furnace.
<context.item> returns the ItemTag burnt.
DetermineDurationTag to set the burn time for this fuel.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupBlock
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/block/FurnaceBurnsItemScriptEvent.java#L15

Namefurnace starts smelting item
Event Lines furnace starts smelting <item>
Triggerswhen a furnace starts smelting an item.
Example
# Sets the total cook time of every item to always be 2 seconds.
on furnace starts smelting item:
- determine 2s
Example
# Sets the total cook time of iron ore to be 2 seconds.
on furnace starts smelting iron_ore:
- determine 2s
Contexts<context.location> returns a LocationTag of the furnace's location.
<context.item> returns an ItemTag of the item being smelted.
<context.recipe_id> returns an ElementTag of the recipe ID being used.
<context.total_cook_time> returns a DurationTag of the total time it will take to smelt the item.
DetermineDurationTag to set the total cook time for the item being smelted.
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupBlock
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/block/FurnaceStartsSmeltingScriptEvent.java#L15

Nameleaves decay
Event Lines leaves decay
<block> decay
Triggerswhen leaves decay.
Generated Examplesafter leaves decay:
on polished_blackstone_pressure_plate decay:
on leaves decay:
after dead_brain_coral_block decay:
Contexts<context.location> returns the LocationTag of the leaves.
<context.material> returns the MaterialTag of the leaves.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupBlock
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/block/LeafDecaysScriptEvent.java#L13

Nameliquid spreads
Event Lines liquid spreads
dragon egg moves
Triggerswhen a liquid block spreads or dragon egg moves.
Generated Examplesafter liquid spreads:
after dragon egg moves:
Switchestype:<block> to only run if the block spreading matches the material input.
Contexts<context.destination> returns the LocationTag the block spread to.
<context.location> returns the LocationTag the block spread location.
<context.material> returns the MaterialTag of the block that spread.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupBlock
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/block/LiquidSpreadScriptEvent.java#L14

Nameliquid|lava|water level changes
Event Lines liquid|lava|water level changes
Triggerswhen a liquid block's level changes. Note that 'liquid spreads' is fired when a liquid first spreads, and 'level changes' is usually fired when it goes down.
Generated Exampleson lava level changes:
on water level changes:
Contexts<context.location> returns the LocationTag the liquid block that has its level changing.
<context.old_material> returns the original MaterialTag data.
<context.new_material> returns the new MaterialTag data. Sometimes can be a different material (such as air).
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupBlock
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/block/LiquidLevelChangeScriptEvent.java#L13

Namenoteblock plays note
Event Lines noteblock plays note
Triggerswhen a NoteBlock plays a note.
Generated Exampleson noteblock plays note:
after noteblock plays note:
Switchesinstrument:<instrument> to only process the event if a specific instrument was played.
Contexts<context.location> returns the LocationTag of the note block.
<context.instrument> returns the name of the instrument played, see list at 🔗https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Instrument.html.
<context.sound> returns the name of the sound (that fits into Command:playsound) represented by the instrument.
<context.tone> returns the note tone played (A to G).
<context.octave> returns the octave the note is played at (as a number).
<context.sharp> returns a boolean indicating whether the note is sharp.
<context.pitch> returns the computed pitch value (that fits into Command:playsound). Note that volume is always 3.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupBlock
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/block/NoteBlockPlaysNoteScriptEvent.java#L17

Namepiston extends
Event Lines piston extends
<block> extends
Triggerswhen a piston extends.
Generated Examplesafter piston extends:
on dead_bubble_coral_block extends:
on blackstone_stairs extends:
Contexts<context.location> returns the LocationTag of the piston.
<context.material> returns the MaterialTag of the piston.
<context.length> returns an ElementTag of the number of blocks that will be moved by the piston.
<context.blocks> returns a ListTag of all block locations about to be moved.
<context.sticky> returns an ElementTag of whether the piston is sticky.
<context.direction> returns a vector location of the direction that blocks will move.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupBlock
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/block/PistonExtendsScriptEvent.java#L16

Namepiston retracts
Event Lines piston retracts
<block> retracts
Triggerswhen a piston retracts.
Generated Examplesafter piston retracts:
on block retracts:
after block retracts:
Contexts<context.location> returns the LocationTag of the piston.
<context.retract_location> returns the new LocationTag of the block that will be moved by the piston if it is sticky.
<context.blocks> returns a ListTag of all block locations about to be moved.
<context.material> returns the MaterialTag of the piston.
<context.sticky> returns an ElementTag of whether the piston is sticky.
<context.direction> returns a vector location of the direction that blocks will move.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupBlock
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/block/PistonRetractsScriptEvent.java#L16

Nametnt primes
Event Lines tnt primes
Triggerswhen TNT is activated and will soon explode.
Generated Examplesafter tnt primes:
Has Playerwhen the priming entity is a player. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.entity> returns the entity that primed the TNT, if any.
<context.block> returns the location of the block that primed the TNT, if any.
<context.location> returns the location of the TNT block being primed.
<context.cause> returns the cause of the TNT being primed. Refer to 🔗https://hub.spigotmc.org/javadocs/spigot/org/bukkit/event/block/TNTPrimeEvent.PrimeCause.html
<context.reason> deprecated in favor of <context.cause> for 1.19+.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupBlock
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/block/TNTPrimesScriptEvent.java#L16

Nameblock destroyed by explosion
Event Lines <block> destroyed by explosion
Triggerswhen a block is destroyed by an explosion (caused by either an entity or a block exploding).
Generated Exampleson chiseled_quartz_block destroyed by explosion:
on block destroyed by explosion:
Switchessource_entity:<matcher> to only fire the event if the source is an entity that matches the given type. Note that "Primed_Tnt" is an entity, not a block.
source_block:<matcher> to only fire the event if the source is a block that matches the given type.
Contexts<context.block> returns the block that exploded.
<context.source_location> returns the location of the source block or entity.
<context.source_entity> returns the entity that exploded, if any.
<context.strength> returns an ElementTag(Decimal) of the strength of the explosion.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupBlock
Warning(s)This event fires extremely rapidly. One single TNT detonation can destroy a hundred blocks.
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/block/BlockDestroyedByExplosionEvent.java#L19

Nameblock equips item
Event Lines block equips <item>
Triggerswhen armor is equipped to an entity by a dispenser.
Example
# Will cause leather armor to be dispensed like a normal item and not be equipped on an armor stand.
on block equips leather* on:armor_stand:
- determined cancelled
Example
# Will equip a golden helmet if a leather helmet is originally being equipped.
on block equips leather_helmet:
- determine item:golden_helmet
Has Playerwhen the equipped entity is a player. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Has NPCwhen the equipped entity is an NPC.
Switcheson:<entity> to only process the event if the entity having the armor equipped matches the entity input.
Contexts<context.item> returns the ItemTag of the armor being dispensed.
<context.entity> returns the EntityTag of the entity having the armor equipped.
<context.location> returns the LocationTag of the dispenser.
Determine"ITEM:<ItemTag>" to set the item being dispensed.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupBlock
Warning(s)Determined armor types must match or armor will be assigned incorrect slots (for example, if the original item was a helmet but the new item is boots, the boots will be assigned to the helmet slot and will not display properly). If you determine a non-armor item, it will be dispensed normally.
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/block/BlockEquipsItemScriptEvent.java#L16

Nameblock physics
Event Lines <block> physics
Triggerswhen a block's physics update.
Generated Examplesafter block physics:
after beehive physics:
Switchesadjacent:<block> to only process the event if the block or an immediately adjacent block (up/down/n/e/s/w) matches the LocationTag matcher specified. This can be useful to prevent blocks from breaking.
Contexts<context.location> returns a LocationTag of the block the physics is affecting.
<context.new_material> returns a MaterialTag of what the block is becoming.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupBlock
Warning(s)This event may fire very rapidly.
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/block/BlockPhysicsScriptEvent.java#L20

Nameredstone recalculated
Event Lines redstone recalculated
Triggerswhen a redstone wire is recalculated.
Generated Examplesafter redstone recalculated:
Contexts<context.location> returns the location of the block.
<context.old_current> returns what the redstone power level was.
<context.new_current> returns what the redstone power level is becoming.
DetermineElementTag (Number) set the current value to a specific value.
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupBlock
Warning(s)This event fires very very rapidly!
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/block/RedstoneScriptEvent.java#L13

Namesponge absorbs water
Event Lines sponge absorbs water
Triggerswhen a sponge block absorbs water.
Generated Examplesafter sponge absorbs water:
on sponge absorbs water:
Contexts<context.location> returns the location of the sponge.
<context.blocks> returns a ListTag(LocationTag) of blocks (of water) that are being removed.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupBlock
Warning(s)this event may in some cases double-fire, requiring usage of the 'ratelimit' command (like 'ratelimit <context.location> 1t') to prevent doubling actions.
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/block/SpongeAbsorbsScriptEvent.java#L13



Category: Core


Nameconsole output
Event Lines console output
Triggerswhen any message is printed to console. (Requires Mechanism:system.redirect_logging be set true.)
Generated Examplesafter console output:
Contexts<context.message> returns the message that is being printed to console.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
GroupCore
Sourcehttps://github.com/DenizenScript/Denizen-Core/blob/master/src/main/java/com/denizenscript/denizencore/events/core/ConsoleOutputScriptEvent.java#L9

Namecustom event
Event Lines custom event
Triggerswhen called by a script using Command:customevent.
Example
on custom event id:my_custom_event:
- narrate <context.my_custom_info>
Has PlayerWhen the command is used with a player link. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Has NPCWhen the command is used with an NPC link.
Switchesid:<id> to only run the event if the given ID is used. This should almost always be specified.
data:<key>:<value> to only run the event if the given data key matches the given value, using advanced matchers for the given object type (note: the 'customevent' command call has to be careful about object type for this).
Contexts<context.id> returns the ID that was used.
<context.data> returns the MapTag of input data (if any! some events don't have context data).
<context.(key)> returns the value of the input data key, if available.
Determine"OUTPUT:<Anything>" to add that value to the output list (note this is an ADD, not a SET).
GroupCore
Sourcehttps://github.com/DenizenScript/Denizen-Core/blob/master/src/main/java/com/denizenscript/denizencore/events/core/CustomScriptEvent.java#L16

Namedelta time hourly|minutely|secondly
Event Lines delta time hourly|minutely|secondly
Triggersevery <count> seconds, minutes, or hours of game calculation time. Default repetitions count of 1.
This is specifically based on the rate of time advancement in the game server,
which is not necessarily equivalent to the real passage of time (for example, this event may fire slower if the server is lagging).
For real time, see Event:system time.
Generated Examplesafter delta time minutely:
on delta time hourly:
Switchesevery:<count> to only run the event every *count* times (like "on delta time secondly every:5" for every 5 seconds).
Contexts<context.second> returns the exact delta time since system start.
GroupCore
Sourcehttps://github.com/DenizenScript/Denizen-Core/blob/master/src/main/java/com/denizenscript/denizencore/events/core/DeltaTimeScriptEvent.java#L10

Namepre script reload
Event Lines pre script reload
Triggersimmediately before Denizen scripts are reloaded.
Generated Examplesafter pre script reload:
GroupCore
Sourcehttps://github.com/DenizenScript/Denizen-Core/blob/master/src/main/java/com/denizenscript/denizencore/events/core/PreScriptReloadScriptEvent.java#L7

Nameredis pubsub message
Event Lines redis pubsub message
Triggerswhen a subscribed redis connection receives a published message, see Command:Redis.
Generated Exampleson redis pubsub message:
after redis pubsub message:
Switcheschannel:<channel> to only fire on events advanced-matching the given channel.
Contexts<context.redis_id> returns the connection id that saw this message.
<context.pattern> returns the redis pattern that matched the channel.
<context.channel> returns the actual channel matched.
<context.message> returns the published message.
GroupCore
Sourcehttps://github.com/DenizenScript/Denizen-Core/blob/master/src/main/java/com/denizenscript/denizencore/events/core/RedisPubSubMessageScriptEvent.java#L9

Namereload scripts
Event Lines reload scripts
script reload
Triggerswhen Denizen scripts are reloaded. Not triggered on initial load.
Generated Exampleson reload scripts:
after script reload:
after reload scripts:
Switcheshad_error:true/false to only process the event if there either was or was not an error message.
Contexts<context.had_error> returns an ElementTag(Boolean) whether there was an error.
GroupCore
Sourcehttps://github.com/DenizenScript/Denizen-Core/blob/master/src/main/java/com/denizenscript/denizencore/events/core/ReloadScriptsScriptEvent.java#L9

Namescripts loaded
Event Lines scripts loaded
Triggerswhen Denizen scripts are loaded, but on reloaded and on initial load.
Generated Examplesafter scripts loaded:
on scripts loaded:
Switcheshad_error:true/false to only process the event if there either was or was not an error message.
Contexts<context.had_error> returns an ElementTag(Boolean) whether there was an error.
GroupCore
Sourcehttps://github.com/DenizenScript/Denizen-Core/blob/master/src/main/java/com/denizenscript/denizencore/events/core/ScriptsLoadedScriptEvent.java#L9

Namesystem time hh:mm
Event Lines system time <HH:MM>
system time hourly|minutely|secondly
Triggerswhen the system time changes to the specified value.
The system time is the real world time set in the server's operating system.
It is not necessarily in sync with the game server time, which may vary (for example, when the server is lagging).
For events based on in-game time passage, use Event:delta time or Command:wait.
Example
on system time hourly:
- announce "Whoa an hour passed!"
Example
on system time 12:00:
- announce "Whoa it's noon!"
Example
on system time 03:00:
- announce "Daily restart in 5 minutes!"
- wait 5m
- adjust server restart
Switchesevery:<count> to only run the event every *count* times (like "on system time secondly every:5" for every 5 seconds).
Contexts<context.hour> returns the exact hour of the system time.
<context.minute> returns the exact minute of the system time.
Synonyms (Search Aid)cron
GroupCore
Sourcehttps://github.com/DenizenScript/Denizen-Core/blob/master/src/main/java/com/denizenscript/denizencore/events/core/SystemTimeScriptEvent.java#L11

Namewebserver web request
Event Lines webserver web request
Triggerswhen a webserver opened by Command:webserver receives a connection request.
Example
# This example supplies a manual response to any of the "/", "/index", or "/index.html" paths.
my_world_script:
    type: world
    data:
        index:
        - <!DOCTYPE html>
        - <html><head><title>Welcome to my site</title></head>
        - <body><h1>Hi!</h1></body></html>
    events:
        on webserver web request port:8080 path:/|/index|/index.html method:get:
        - determine code:200 passively
        - determine headers:[Content-Type=text/html] passively
        - determine raw_text_content:<script.data_key[data.index].separated_by[<n>]>
Example
# This example gives a default response to any pages not handled on port 8080.
on webserver web request port:8080 priority:1000 has_response:false:
- determine code:404 passively
- determine headers:[Content-Type=text/plain] passively
- determine "raw_text_content:Invalid path"
Example
# This example serves a favicon from the local file path "plugins/Denizen/webroot/favicon.ico" with RAM caching to any open web ports.
on webserver web request path:/favicon.ico:
- determine code:200 passively
- determine cached_file:favicon.ico
Switchesport:<#> to only handle requests to a specific port.
path:<path> to only handle requests that match the given advanced-matcher for the path.
method:<method> to only handle requests with the specific method (such as GET or POST).
has_response:<true/false> to only handle requests that do or don't have a response already.
Contexts<context.method> returns the method that was used (such as GET or POST).
<context.path> returns the path requested (such as "/index.html").
<context.port> returns the port connected to.
<context.remote_address> returns the IP address that connected.
<context.query> returns a MapTag of the query data (if no query, returns empty map).
<context.raw_query> returns the raw query input (if no query, returns null).
<context.raw_user_info> returns the raw user info input (if any) (this is a historical HTTP system that allows sending username/password over query).
<context.headers> returns a MapTag of all input headers, where the key is the header name and the value is a ListTag of header values for that name.
<context.body> returns the text content of the body that was sent, if any. Particularly for POST requests.
<context.body_binary> returns the raw binary content body that was sent, if any. Particularly for POST requests.
<context.has_response> returns true if a response body determination (raw_text_content, file, or cached_file) was applied, or false if not.
Determine"CODE:<Element(Number)>" to set a standard web response code, such as 'code:200' for 'OK', or 'code:404' for 'File Not Found'
"HEADERS": + MapTag to set a map of headers, where map keys are the header name and map values are the text of the value, for example headers:[Content-Type=text/html] ... note that header are sometimes case-sensitive.
"RAW_TEXT_CONTENT:<ElementTag>" to set a raw text content body in response. You may determine only one response - raw text, raw binary, a file, or a cached file. You cannot use multiple.
"RAW_BINARY_CONTENT:<BinaryTag>" to set a raw binary content body in response.
"FILE:<ElementTag>" to set a path to a file to send in response. File path must be within the web-root path configured in Denizen/config.yml. Files will be read async.
"CACHED_FILE:<ElementTag>" to set a path to a file to send in response. The content of the file will be cached in RAM until the server restarts. This is useful for files that definitely won't change. First file read will be sync, all others are instant.
"PARSED_FILE:<ElementTag>" - like "FILE:", but this file will be parsed for tags using syntax like "<{util.pi}>" to separate tags from HTML entries.
"CACHED_PARSED_FILE:<ElementTag>" - like "PARSED_FILE" and "CACHED_FILE" combined. Note that the file will be cached, but the results of tags will be handled at runtime still.
GroupCore
Sourcehttps://github.com/DenizenScript/Denizen-Core/blob/master/src/main/java/com/denizenscript/denizencore/events/core/WebserverWebRequestScriptEvent.java#L29

Namescript generates error
Event Lines script generates error
Triggerswhen a script generates an error.
Generated Examplesafter script generates error:
Contexts<context.message> returns the error message.
<context.queue> returns the queue that caused the error, if any.
<context.script> returns the script that caused the error, if any.
<context.line> returns the line number within the script file that caused the error, if any.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
GroupCore
Warning(s)Abusing this event can cause significant failures in the Denizen debug system. Use only with extreme caution.
Sourcehttps://github.com/DenizenScript/Denizen-Core/blob/master/src/main/java/com/denizenscript/denizencore/events/core/ScriptGeneratesErrorScriptEvent.java#L13

Nameserver generates exception
Event Lines server generates exception
Triggerswhen an exception occurs on the server.
Generated Examplesafter server generates exception:
on server generates exception:
Contexts<context.message> returns the Exception message.
<context.full_trace> returns the full exception trace+message output details.
<context.type> returns the type of the error. (EG, NullPointerException).
<context.queue> returns the queue that caused the exception, if any.
<context.script> returns the script that caused the exception, if any.
<context.line> returns the line number within the script file that caused the exception, if any.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
GroupCore
Warning(s)Abusing this event can cause significant failures in the Denizen debug system. Use only with extreme caution.
Sourcehttps://github.com/DenizenScript/Denizen-Core/blob/master/src/main/java/com/denizenscript/denizencore/events/core/ServerGeneratesExceptionScriptEvent.java#L14

Nametick
Event Lines tick
Triggersevery single tick.
Generated Exampleson tick:
Switchesevery:<count> to only run the event every *count* times (like "every:5" for every 5 ticks).
Contexts<context.tick> how many ticks have passed since the server started.
GroupCore
Warning(s)This event fires very rapidly and is usually not the most ideal way to handle things. Generally, prefer Event:delta time.
Sourcehttps://github.com/DenizenScript/Denizen-Core/blob/master/src/main/java/com/denizenscript/denizencore/events/core/TickScriptEvent.java#L9



Category: Entity


Namecreeper powered because cause
Event Lines creeper powered (because <cause>)
Triggerswhen a creeper is struck by lightning and turned into a powered creeper.
Generated Examplesafter creeper powered because cause:
on creeper powered because cause:
Contexts<context.entity> returns the EntityTag of the creeper.
<context.lightning> returns the EntityTag of the lightning.
<context.cause> returns an ElementTag of the cause for the creeper being powered. Refer to 🔗https://hub.spigotmc.org/javadocs/spigot/org/bukkit/event/entity/CreeperPowerEvent.PowerCause.html.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupEntity
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/entity/CreeperPoweredScriptEvent.java#L14

Nameender_dragon changes phase
Event Lines ender_dragon changes phase
<entity> changes phase
Triggerswhen a dragon's combat phase changes.
Generated Exampleson ender_dragon changes phase:
after entity changes phase:
after ender_dragon changes phase:
Switchesfrom:<phase> to only process the event if the dragon was previously in the specified phase.
to:<phase> to only process the event if the dragon is changing to the specified phase.
Contexts<context.entity> returns the EntityTag of the dragon.
<context.new_phase> returns an ElementTag of the dragon's new phase. Phases: 🔗https://hub.spigotmc.org/javadocs/spigot/org/bukkit/entity/EnderDragon.Phase.html
<context.old_phase> returns an ElementTag of the dragon's old phase. Can be any phase or 'null' in some cases.
DetermineElementTag to change the dragon's new phase.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupEntity
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/entity/DragonPhaseChangeScriptEvent.java#L14

Nameentity breaks hanging because cause
Event Lines <entity> breaks <hanging> (because <cause>)
Triggerswhen a hanging entity (painting, item_frame, or leash_hitch) is broken.
Generated Examplesafter player breaks hanging:
on living breaks hanging because cause:
Has Playerwhen the breaker is a player. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Has NPCwhen the breaker is an npc.
Contexts<context.cause> returns the cause of the entity breaking. Causes list: 🔗https://hub.spigotmc.org/javadocs/spigot/org/bukkit/event/hanging/HangingBreakEvent.RemoveCause.html
<context.breaker> returns the EntityTag that broke the hanging entity, if any.
<context.hanging> returns the EntityTag of the hanging.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupEntity
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/entity/EntityBreaksHangingScriptEvent.java#L19

Nameentity breeds
Event Lines <entity> breeds
Triggerswhen two entities breed.
Generated Exampleson projectile breeds:
on npc breeds:
Contexts<context.breeder> returns the EntityTag responsible for breeding, if it exists.
<context.child> returns the child EntityTag.
<context.mother> returns the parent EntityTag creating the child. The child will spawn at the mother's location.
<context.father> returns the other parent EntityTag.
<context.item> returns the ItemTag used to initiate breeding, if it exists.
<context.experience> returns the amount of experience granted by breeding.
DetermineElementTag(Number) to set the amount of experience granted by breeding.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupEntity
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/entity/EntityBreedScriptEvent.java#L16

Nameentity casts spell
Event Lines <entity> casts <spell>
Triggerswhen an entity, usually an Evoker or Illusioner, casts a spell.
Generated Examplesafter entity casts spell:
on snow_golem casts spell:
Contexts<context.entity> returns the EntityTag of the Spellcaster entity.
<context.spell> returns an ElementTag of the spell used. Valid spells can be found at 🔗https://jd.papermc.io/paper/1.20/org/bukkit/entity/Spellcaster.Spell.html
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupEntity
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/entity/EntitySpellCastScriptEvent.java#L13

Nameentity changes air level
Event Lines <entity> changes air level
Triggerswhen an entity's air level changes.
Generated Exampleson monster changes air level:
on ender_dragon changes air level:
Has Playerwhen the entity that's air level has changed is a player. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Has NPCwhen the entity that's air level has changed is an NPC.
Contexts<context.entity> returns the EntityTag.
<context.air_duration> returns a DurationTag of the entity's new air level.
DetermineDurationTag to set the entity's new air level.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
Synonyms (Search Aid)player loses oxygen, player drowns, player is drowning, oxygen depletion
GroupEntity
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/entity/EntityAirLevelChangeScriptEvent.java#L17

Nameentity changes block into block
Event Lines <entity> changes <block> (into <block>)
Triggerswhen an entity changes the material of a block.
Generated Examplesafter entity changes block:
on npc changes gray_terracotta:
Has Playerwhen the entity that changed the block is a player. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.entity> returns the EntityTag that changed the block.
<context.location> returns the LocationTag of the changed block.
<context.old_material> returns the old material of the block.
<context.new_material> returns the new material of the block.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupEntity
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/entity/EntityChangesBlockScriptEvent.java#L17

Nameentity changes food level
Event Lines <entity> changes food level
Triggerswhen an entity's food level changes.
Generated Examplesafter vehicle changes food level:
on tadpole changes food level:
Has Playerwhen the entity that's food level has changed is a player. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Has NPCwhen the entity that's food level has changed is an NPC.
Switchesitem:<item> to only process the event if it was triggered by an item that matches the specified item.
Contexts<context.entity> returns the EntityTag.
<context.food> returns an ElementTag(Number) of the entity's new food level.
<context.item> returns an ItemTag of the item that triggered the event, if any.
DetermineElementTag(Number) to set the entity's new food level.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
Synonyms (Search Aid)player hunger depletes
GroupEntity
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/entity/EntityFoodLevelChangeScriptEvent.java#L16

Nameentity changes pose
Event Lines <entity> changes pose
Triggerswhen an entity changes its visual pose.
Generated Exampleson hoglin changes pose:
after entity changes pose:
Has Playerwhen the entity that changed its pose is a player. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Switchesold:<pose> to only process the event if the old pose matches the input.
new:<pose> to only process the event if the new pose matches the input.
Contexts<context.entity> returns the EntityTag that changed its pose.
<context.old_pose> returns the name of the old pose. See 🔗https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/entity/Pose.html
<context.new_pose> returns the name of the new pose.
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupEntity
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/entity/EntityChangesPoseScriptEvent.java#L16

Nameentity combusts
Event Lines <entity> combusts
Triggerswhen an entity catches fire.
Generated Examplesafter pillager combusts:
after wither_skull combusts:
Has Playerwhen the entity that catches fire is a player. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Has NPCwhen the entity that catches fire is an NPC.
Contexts<context.entity> returns the entity that caught fire.
<context.duration> returns the length of the burn.
<context.source> returns the EntityTag or LocationTag that caused the fire, if any. NOTE: Currently, if the source is a LocationTag, the tag will return a null. It is expected that this will be fixed by Spigot in the future.
<context.source_type> returns the type of the source, which can be: ENTITY, LOCATION, NONE.
DetermineDurationTag set the burn duration.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupEntity
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/entity/EntityCombustsScriptEvent.java#L20

Nameentity creates portal
Event Lines <entity> creates portal
Triggerswhen an entity creates a portal. Generally, prefer Event:portal created instead of this.
Generated Examplesafter entity creates portal:
after mob creates portal:
Has Playerif the entity that created the portal is a player. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.entity> returns the EntityTag that created the portal.
<context.portal_type> returns the type of portal: CUSTOM, ENDER, or NETHER.
<context.blocks> returns a list of block locations where the portal is being created.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupEntity
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/entity/EntityCreatePortalScriptEvent.java#L18

Nameentity damaged by entity
Event Lines <entity> damaged by <entity>
<entity> damaged (by <cause>)
<entity> damages <entity>
Triggerswhen an entity is damaged.
Example
on entity damaged:
- announce "A <context.entity.entity_type> took damage!"
Example
on player damages cow:
- announce "<player.name> damaged a cow at <context.entity.location.simple>"
Example
on player damages cow|sheep|chicken with:*_hoe:
- narrate "Whoa there farmer, you almost hurt your farm animals with that farmin' tool!"
- determine cancelled
Example
# This example disambiguates this event from the "vehicle damaged" event for specific vehicle entity types.
on entity damaged type:minecart:
- announce "A minecart took non-vehicular damage!"
Has Playerwhen the damager or damaged entity is a player. Cannot be both. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Has NPCwhen the damager or damaged entity is an NPC. Cannot be both.
Switcheswith:<item> to only process the event when the item used to cause damage (in the damager's hand) is a specified item.
type:<entity> to only run if the entity damaged matches the entity input.
block:<block-matcher> to only run if the damage came from a block that matches the given material or location matcher.
Contexts<context.entity> returns the EntityTag that was damaged.
<context.damager> returns the EntityTag damaging the other entity, if any.
<context.damager_block> returns the LocationTag of a block that damaged the entity, if any.
<context.cause> returns an ElementTag of reason the entity was damaged - see Language:damage cause for causes.
<context.damage> returns an ElementTag(Decimal) of the amount of damage dealt.
<context.final_damage> returns an ElementTag(Decimal) of the amount of damage dealt, after armor is calculated.
<context.projectile> returns a EntityTag of the projectile, if one caused the event.
<context.damage_type_map> returns a MapTag the damage dealt by a specific damage type with keys: BASE, HARD_HAT, BLOCKING, ARMOR, RESISTANCE, MAGIC, ABSORPTION.
<context.was_critical> returns 'true' if the damage was a critical hit. (Warning: this value is calculated and not guaranteed to be correct if the event is altered).
DetermineElementTag(Decimal) to set the amount of damage the entity receives.
"CLEAR_MODIFIERS" to zero out all damage modifiers other than "BASE", effectively making damage == final_damage.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupEntity
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/entity/EntityDamagedScriptEvent.java#L35

Nameentity dies|death
Event Lines <entity> dies|death
Triggerswhen an entity dies. Note that this fires *after* the entity dies, and thus some data may be lost from the entity.
The death can only be cancelled on Paper.
Generated Exampleson entity dies:
after hanging dies:
Has Playerwhen the entity that died is a player. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Has NPCwhen the entity that died is an NPC.
Switchesby:<entity> to only process the event if the killer is known and matches the specified entity matcher.
cause:<cause> to only process the event if it was caused by a specific damage cause.
Contexts<context.entity> returns the EntityTag that died.
<context.damager> returns the EntityTag damaging the other entity, if any.
<context.projectile> returns the EntityTag of a projectile used to kill the entity, if one was used.
<context.message> returns an ElementTag of a player's death message.
<context.cause> returns an ElementTag of the cause of the death. See Language:damage cause for a list of possible damage causes.
<context.drops> returns a ListTag of all pending item drops.
<context.xp> returns an ElementTag of the amount of experience to be dropped.
<context.keep_inventory> returns true if the player dying is set to keep their inventory, false if not, or null if the dying entity is not a player.
DetermineElementTag to change the death message.
"NO_DROPS" to specify that any drops should be removed.
"NO_XP" to specify that any XP orbs should be removed.
ListTag(ItemTag) to specify new items to be dropped.
ElementTag(Number) to specify the new amount of XP to be dropped.
"KEEP_INV" to specify (if a player death) that the inventory should be kept.
"KEEP_LEVEL" to specify (if a player death) that the XP level should be kept.
"NO_MESSAGE" to hide a player death message.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupEntity
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/entity/EntityDeathScriptEvent.java#L27

Nameentity drops item
Event Lines <entity> drops <item>
Triggerswhen an entity drops an item.
Generated Exampleson player drops mangrove_hanging_sign:
on entity drops activator_rail:
Has PlayerWhen the entity dropping an item is a player. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.item> returns the ItemTag.
<context.entity> returns a EntityTag of the item.
<context.dropped_by> returns the EntityTag that dropped the item.
<context.location> returns a LocationTag of the item's location.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupEntity
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/entity/EntityDropsItemScriptEvent.java#L18

Nameentity enters portal
Event Lines <entity> enters portal
Triggerswhen an entity enters a portal. That is, when the entity touches a portal block.
Generated Examplesafter skeleton enters portal:
after entity enters portal:
Has Playerwhen the entity that entered the portal is a player - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Has NPCwhen the entity that entered the portal is an NPC.
Contexts<context.entity> returns the EntityTag.
<context.location> returns the LocationTag of the portal block touched by the entity.
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupEntity
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/entity/EntityEntersPortalScriptEvent.java#L15

Nameentity enters vehicle
Event Lines entity enters vehicle
<entity> enters <entity>
Triggerswhen an entity mounts another entity.
Generated Exampleson entity enters vehicle:
on entity enters entity:
after entity enters vehicle:
on animal enters entity:
Has Playerwhen the entity that mounted the vehicle is a player. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Has NPCwhen the entity that mounted the vehicle is an NPC.
Contexts<context.vehicle> returns the EntityTag of the mounted vehicle.
<context.entity> returns the EntityTag of the entering entity.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupEntity
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/entity/EntityEntersVehicleScriptEvent.java#L17

Nameentity exits portal
Event Lines <entity> exits portal
Triggerswhen an entity exits a portal. This uses Spigot 'EntityPortalExitEvent' which seems to no longer be called on modern server versions.
Generated Examplesafter entity exits portal:
after warden exits portal:
Has Playerwhen the entity that exits the portal is a player. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Has NPCwhen the entity that exits the portal is an NPC.
Contexts<context.entity> returns the EntityTag.
<context.location> returns the LocationTag of the portal block touched by the entity.
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupEntity
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/entity/EntityExitsPortalScriptEvent.java#L15

Nameentity exits vehicle
Event Lines entity exits vehicle
<entity> exits <entity>
Triggerswhen an entity dismounts from another entity.
Generated Examplesafter entity exits vehicle:
on monster exits pillager:
after projectile exits player:
Has Playerwhen the entity that dismounts the vehicle is a player. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Has NPCwhen the entity that dismounts the vehicle is an NPC.
Contexts<context.vehicle> returns the EntityTag of the mount vehicle.
<context.entity> returns the EntityTag of the exiting entity.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupEntity
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/entity/EntityExitsVehicleScriptEvent.java#L14

Nameentity explodes
Event Lines <entity> explodes
Triggerswhen an entity explodes (primed_tnt, creeper, etc).
Generated Examplesafter entity explodes:
on entity explodes:
Contexts<context.blocks> returns a ListTag of blocks that the entity blew up.
<context.entity> returns the EntityTag that exploded.
<context.location> returns the LocationTag the entity blew up at.
<context.strength> returns an ElementTag(Decimal) of the strength of the explosion.
DetermineListTag(LocationTag) to set a new lists of blocks that are to be affected by the explosion.
ElementTag(Decimal) to change the strength of the explosion.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupEntity
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/entity/EntityExplodesScriptEvent.java#L20

Nameentity explosion primes
Event Lines <entity> explosion primes
Triggerswhen an entity decides to explode.
Generated Exampleson mob explosion primes:
on vex explosion primes:
Contexts<context.entity> returns the EntityTag.
<context.radius> returns an ElementTag of the explosion's radius.
<context.fire> returns an ElementTag with a value of "true" if the explosion will create fire and "false" otherwise.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupEntity
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/entity/EntityExplosionPrimesScriptEvent.java#L15

Nameentity forms block
Event Lines <entity> forms <block>
Triggerswhen a block is formed by an entity.
For example, when a snowman forms snow.
Generated Examplesafter zombie_villager forms orange_glazed_terracotta:
on turtle forms ochre_froglight:
Contexts<context.location> returns the LocationTag the block.
<context.material> returns the MaterialTag of the block.
<context.entity> returns the EntityTag that formed the block.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupEntity
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/entity/EntityFormsBlockScriptEvent.java#L16

Nameentity goes into block
Event Lines <entity> goes into <block>
Triggerswhen an entity enters, and is stored in a block (eg a bee enters a bee nest).
Does not fire when a silverfish "enters" a stone block. Prefer Event:entity changes block for that.
Generated Examplesafter entity goes into potted_azure_bluet:
after entity goes into block:
Contexts<context.entity> returns the EntityTag.
<context.location> returns the LocationTag of the block entered by the entity.
<context.material> returns the MaterialTag of the block entered by the entity.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupEntity
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/entity/EntityGoesIntoBlockScriptEvent.java#L16

Nameentity heals because cause
Event Lines <entity> heals (because <cause>)
Triggerswhen an entity heals.
Generated Examplesafter fish heals:
on entity heals:
Has Playerwhen the entity that was healed is a player. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Has NPCwhen the entity that was healed was an NPC.
Contexts<context.amount> returns the amount the entity healed.
<context.entity> returns the EntityTag that healed.
<context.reason> returns the cause of the entity healing. Can be: 🔗https://hub.spigotmc.org/javadocs/spigot/org/bukkit/event/entity/EntityRegainHealthEvent.RegainReason.html
DetermineElementTag(Decimal) to set the amount of health the entity receives.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupEntity
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/entity/EntityHealsScriptEvent.java#L15

Nameentity interacts with block
Event Lines <entity> interacts with <block>
Triggerswhen an entity interacts with a block (EG an arrow hits a button)
Generated Examplesafter entity interacts with blue_candle:
on blaze interacts with mossy_cobblestone_wall:
Contexts<context.location> returns a LocationTag of the block being interacted with.
<context.entity> returns a EntityTag of the entity doing the interaction.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupEntity
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/entity/EntityInteractScriptEvent.java#L16

Nameentity potion effects modified
Event Lines <entity> potion effects modified
<entity> potion effects <change_action>
Triggerswhen an entity's potion effects change.
Generated Exampleson camel potion effects modified:
after fish potion effects change_action:
on wind_charge potion effects modified:
after hanging potion effects change_action:
Has Playerwhen the entity that has changed is a player. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Has NPCwhen the entity that has changed is an NPC.
Switchescause:<cause> to only process the event when it came from a specified cause.
effect:<effect type> to only process the event when a specified potion effect is applied.
Contexts<context.entity> returns the EntityTag.
<context.cause> returns the cause of the effect change, based on 🔗https://hub.spigotmc.org/javadocs/spigot/org/bukkit/event/entity/EntityPotionEffectEvent.Cause.html
<context.action> returns the action of the effect changed, which can be 'added', 'changed', 'cleared', or 'removed'
<context.override> returns whether the new potion effect will override the old.
<context.new_effect_data> returns the new potion effect (in the same format as Tag:EntityTag.effects_data) (if any).
<context.old_effect_data> returns the old potion effect (in the same format as Tag:EntityTag.effects_data) (if any).
<context.effect_type> returns the name of the modified potion effect type.
Determine"OVERRIDE:<ElementTag(Boolean)>" to set whether the new potion effect should override.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupEntity
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/entity/EntityPotionEffectScriptEvent.java#L17

Nameentity resurrected
Event Lines <entity> resurrected
Triggerswhen an entity dies and is resurrected by a totem.
Generated Examplesafter living resurrected:
on npc resurrected:
Has Playerwhen the entity being resurrected is a player. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.entity> returns the EntityTag being resurrected.
<context.hand> returns which hand the totem was in during resurrection, if any. Can be either HAND or OFF_HAND. Available only on MC 1.19+.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupEntity
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/entity/EntityResurrectScriptEvent.java#L17

Nameentity shoots bow
Event Lines entity shoots bow
<entity> shoots <item>
Triggerswhen an entity shoots something out of a bow.
Generated Examplesafter entity shoots bow:
after villager shoots chiseled_stone_bricks:
after entity shoots sandstone_stairs:
Has Playerwhen the entity that shot the bow is a player. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Has NPCwhen the entity that shot the bow is an NPC.
Contexts<context.entity> returns the EntityTag that shot the bow.
<context.projectile> returns a EntityTag of the projectile.
<context.bow> returns the ItemTag of the bow used to shoot.
<context.force> returns the force of the shot.
<context.item> returns an ItemTag of the shot projectile, if any.
<context.hand> returns "HAND" or "OFF_HAND" for which hand the bow was in.
DetermineListTag(EntityTag) to change the projectile(s) being shot. (Note that in certain cases, determining an arrow may not be valid).
"KEEP_ITEM" to keep the projectile item on shooting it.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupEntity
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/entity/EntityShootsBowScriptEvent.java#L27

Nameentity tamed
Event Lines entity tamed
<entity> tamed
player tames entity
player tames <entity>
Triggerswhen an entity is tamed.
Generated Exampleson entity tamed:
on firework_rocket tamed:
on player tames entity:
after player tames entity:
after entity tamed:
after player tamed:
Has Playerwhen a player tames an entity and using the 'players tames entity' event. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.entity> returns a EntityTag of the tamed entity.
<context.owner> returns a EntityTag of the owner.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupEntity
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/entity/EntityTamesScriptEvent.java#L15

Nameentity targets entity because cause
Event Lines <entity> targets (<entity>) (because <cause>)
Triggerswhen an entity targets a new entity (usually a hostile mob preparing to attack something), or un-targets one.
Generated Exampleson hanging targets mob because cause:
on monster targets:
Has Playerwhen the entity being targetted is a player. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.entity> returns the targeting entity.
<context.reason> returns the reason the entity changed targets. Refer to 🔗https://hub.spigotmc.org/javadocs/spigot/org/bukkit/event/entity/EntityTargetEvent.TargetReason.html.
<context.target> returns the targeted entity, if any.
DetermineEntityTag to make the entity target a different entity instead.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupEntity
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/entity/EntityTargetsScriptEvent.java#L16

Nameentity teleports
Event Lines entity teleports
<entity> teleports
Triggerswhen an entity teleports.
Generated Examplesafter entity teleports:
after dolphin teleports:
on entity teleports:
Has Playerwhen the entity being teleported is a player. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Has NPCwhen the entity being teleported is an NPC.
Switchescause:<cause> to only process the event when it came from a specified cause.
Contexts<context.entity> returns the EntityTag.
<context.origin> returns the LocationTag the entity teleported from.
<context.destination> returns the LocationTag the entity teleported to.
<context.cause> returns an ElementTag of the teleport cause - see Language:teleport cause for causes.
Determine"ORIGIN:<LocationTag>" to change the location the entity teleported from.
"DESTINATION:<LocationTag>" to change the location the entity teleports to.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupEntity
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/entity/EntityTeleportScriptEvent.java#L32

Nameentity toggles|starts|stops gliding
Event Lines <entity> toggles|starts|stops gliding
Triggerswhen an entity starts or stops gliding.
Generated Examplesafter spider stops gliding:
after entity starts gliding:
Has Playerwhen the entity is a player. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Has NPCwhen the entity is an NPC.
Contexts<context.entity> returns the EntityTag of this event.
<context.state> returns an ElementTag(Boolean) with a value of "true" if the entity is now gliding and "false" otherwise.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupEntity
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/entity/EntityGlideScriptEvent.java#L15

Nameentity toggles|starts|stops swimming
Event Lines <entity> toggles|starts|stops swimming
Triggerswhen an entity starts or stops swimming.
Generated Exampleson horse starts swimming:
after furnace_minecart starts swimming:
Has Playerwhen the entity is a player. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Has NPCwhen the entity is an NPC.
Contexts<context.entity> returns the EntityTag of this event.
<context.state> returns an ElementTag(Boolean) with a value of "true" if the entity is now swimming and "false" otherwise.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupEntity
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/entity/EntitySwimScriptEvent.java#L15

Nameentity transforms
Event Lines entity transforms
<entity> transforms (into <entity>)
Triggerswhen an entity transforms into different entities (including villager infections, slime splitting, etc).
Generated Exampleson entity transforms:
after entity transforms:
Switchesbecause:<reason> to only process the event if a specific reason caused the transformation.
Contexts<context.entity> returns the old entity that was transformed from.
<context.new_entities> returns a list of new entities that were transformed into.
<context.cause> returns the reason for transformation, from 🔗https://hub.spigotmc.org/javadocs/spigot/org/bukkit/event/entity/EntityTransformEvent.TransformReason.html.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupEntity
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/entity/EntityTransformScriptEvent.java#L15

Nameentity unleashed because reason
Event Lines <entity> unleashed (because <reason>)
Triggerswhen an entity is unleashed.
Generated Examplesafter interaction unleashed:
after block_display unleashed because reason:
Has NPCwhen the entity being unleashed is an NPC.
Contexts<context.entity> returns the EntityTag.
<context.reason> returns an ElementTag of the reason for the unleashing.
Reasons include DISTANCE, HOLDER_GONE, PLAYER_UNLEASH, and UNKNOWN
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupEntity
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/entity/EntityUnleashedScriptEvent.java#L13

Nameexperience bottle breaks
Event Lines experience bottle breaks
Triggerswhen a thrown experience bottle breaks.
Generated Exampleson experience bottle breaks:
after experience bottle breaks:
Contexts<context.entity> returns the EntityTag of the thrown experience bottle.
<context.experience> returns the amount of experience to be spawned.
<context.show_effect> returns whether the effect should be shown.
Determine"EXPERIENCE:<ElementTag(Number)>" to specify the amount of experience to be created.
"EFFECT:<ElementTag(Boolean)>" to specify if the particle effects will be shown.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupEntity
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/entity/ExperienceBottleBreaksScriptEvent.java#L14

Namefirework bursts
Event Lines firework bursts
Triggerswhen a firework bursts (explodes).
Generated Exampleson firework bursts:
Contexts<context.entity> returns the firework that exploded.
<context.item> returns the firework item.
<context.location> returns the LocationTag the firework exploded at.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupEntity
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/entity/FireworkBurstsScriptEvent.java#L16

Namehanging breaks because cause
Event Lines <hanging> breaks (because <cause>)
Triggerswhen a hanging entity (painting, item_frame, or leash_hitch) is broken.
Generated Exampleson hanging breaks:
after hanging breaks because cause:
Contexts<context.cause> returns the cause of the entity breaking. Causes: 🔗https://hub.spigotmc.org/javadocs/spigot/org/bukkit/event/hanging/HangingBreakEvent.RemoveCause.html.
<context.entity> returns the EntityTag that broke the hanging entity, if any.
<context.hanging> returns the EntityTag of the hanging.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupEntity
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/entity/HangingBreaksScriptEvent.java#L16

Namehorse jumps
Event Lines horse jumps
<entity> jumps
Triggerswhen a horse jumps.
Generated Exampleson horse jumps:
after chicken jumps:
after horse jumps:
after entity jumps:
Contexts<context.entity> returns the EntityTag of the horse.
<context.color> returns an ElementTag of the horse's color.
<context.power> returns an ElementTag(Decimal) of the jump's power.
DetermineElementTag(Decimal) to set the power of the jump.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupEntity
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/entity/HorseJumpsScriptEvent.java#L16

Namepig zapped
Event Lines pig zapped
Triggerswhen a pig is zapped by lightning and turned into a pig zombie.
Generated Exampleson pig zapped:
Contexts<context.pig> returns the EntityTag of the pig.
<context.pig_zombie> returns the EntityTag of the pig zombie.
<context.lightning> returns the EntityTag of the lightning.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
Synonyms (Search Aid)pig struck by lightning, pig electrocuted, pig lightning strike, pig turns into pig zombie, pig turns into zombie pigman
GroupEntity
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/entity/PigZappedScriptEvent.java#L15

Namepiglin barter
Event Lines piglin barter
Triggerswhen a piglin completes a barter.
Generated Exampleson piglin barter:
after piglin barter:
Switchesinput:<item> to only process the event if the input item matches the given item matcher.
Contexts<context.entity> returns the EntityTag of the piglin.
<context.input> returns the ItemTag of the input item.
<context.outcome> returns a ListTag(ItemTag) of outcome items.
Determine"RESULT:<ListTag(ItemTag)>" to determine the items that are outputted.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupEntity
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/entity/PiglinBarterScriptEvent.java#L15

Nameprojectile hits
Event Lines <projectile> hits
TriggersWhen a projectile hits a block or an entity.
Generated Exampleson projectile hits:
after arrow hits:
Has Playerwhen the entity that was hit is a player, or when the shooter is a player if no entity was hit. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Has NPCwhen the entity that was hit is a npc, or when the shooter is a npc if no entity was hit.
Switchesentity:<entity> to only process the event if an entity got hit, and it matches the specified EntityTag matcher.
block:<block> to only process the event if a block got hit, and it matches the specified LocationTag matcher.
shooter:<entity> to only process the event if the projectile was shot by an entity, and it matches the specified EntityTag matcher.
Contexts<context.projectile> returns an EntityTag of the projectile.
<context.hit_entity> returns an EntityTag of the entity that was hit, if any.
<context.hit_block> returns a LocationTag of the block that was hit, if any.
<context.hit_face> returns a LocationTag vector of the hit normal (like '0,1,0' if the projectile hit the top of a block).
<context.shooter> returns an EntityTag of the entity that shot the projectile, if any.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
Synonyms (Search Aid)entity shoots
GroupEntity
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/entity/ProjectileHitScriptEvent.java#L17

Nameprojectile hits block/entity
Event Lines <projectile> hits <block/entity>
<entity> shoots <material> (with <projectile>)
TriggersN/A - deprecated in favor of Event:projectile hits
Generated Exampleson projectile hits block/entity:
on player shoots material with arrow:
after snowball hits block/entity:
after monster shoots acacia_hanging_sign with projectile:
GroupEntity
Deprecateduse new 'projectile hits' unified event
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/entity/ProjectileHitScriptEvent.java#L48

Nameprojectile launched
Event Lines projectile launched
<entity> launched
Triggerswhen a projectile is launched.
Generated Exampleson projectile launched:
on fish launched:
after projectile launched:
after entity launched:
Contexts<context.entity> returns the projectile.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupEntity
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/entity/ProjectileLaunchedScriptEvent.java#L14

Namesheep regrows wool
Event Lines sheep regrows wool
Triggerswhen a sheep regrows wool.
Generated Examplesafter sheep regrows wool:
Contexts<context.entity> returns the EntityTag of the sheep.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupEntity
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/entity/SheepRegrowsScriptEvent.java#L13

Nameslime splits into #
Event Lines slime splits (into <#>)
Triggerswhen a slime splits into smaller slimes.
Generated Examplesafter slime splits:
on slime splits:
Contexts<context.entity> returns the EntityTag of the slime.
<context.count> returns an ElementTag(Number) of the number of smaller slimes it will split into.
DetermineElementTag(Number) to set the number of smaller slimes it will split into.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupEntity
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/entity/SlimeSplitsScriptEvent.java#L13

Namespawner spawns entity
Event Lines spawner spawns <entity>
Triggerswhen an entity spawns from a monster spawner.
Generated Exampleson spawner spawns bat:
on spawner spawns camel:
Switchesspawner:<location> to only process the event if the spawner's location matches.
Contexts<context.entity> returns the EntityTag that spawned.
<context.location> returns the LocationTag the entity will spawn at.
<context.spawner_location> returns the LocationTag of the monster spawner.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupEntity
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/entity/EntitySpawnerSpawnScriptEvent.java#L16

Namevillager acquires trade
Event Lines villager acquires trade
Triggerswhen a villager acquires a new trade.
Generated Examplesafter villager acquires trade:
Contexts<context.entity> returns the EntityTag of the villager.
<context.trade> returns the TradeTag for the new trade.
DetermineTradeTag to change the new trade.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupEntity
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/entity/VillagerAcquiresTradeScriptEvent.java#L13

Namevillager changes profession
Event Lines villager changes profession
Triggerswhen a villager changes profession.
Generated Exampleson villager changes profession:
after villager changes profession:
Contexts<context.entity> returns the EntityTag of the villager.
<context.profession> returns the name of the new profession. 🔗https://hub.spigotmc.org/javadocs/spigot/org/bukkit/entity/Villager.Profession.html
<context.reason> returns the reason for the change. 🔗https://hub.spigotmc.org/javadocs/spigot/org/bukkit/event/entity/VillagerCareerChangeEvent.ChangeReason.html
DetermineElementTag to change the profession.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupEntity
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/entity/VillagerChangesProfessionScriptEvent.java#L15

Namevillager replenishes trade
Event Lines villager replenishes trade
Triggerswhen a villager replenishes a trade. A trade being "replenished" means its "uses" value is reset to "0".
Generated Exampleson villager replenishes trade:
Contexts<context.entity> returns the EntityTag of the villager.
<context.trade> returns the TradeTag for the trade being replenished.
<context.bonus> returns the number of bonus uses added.
DetermineTradeTag to change the trade being replenished.
ElementTag(Number) to change the number of bonus uses added.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupEntity
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/entity/VillagerReplenishesTradeScriptEvent.java#L14

Namearea effect cloud applies
Event Lines area effect cloud applies
Triggerswhen an area_effect_cloud tries to apply its effect(s) to entities within range.
Generated Exampleson area effect cloud applies:
after area effect cloud applies:
Contexts<context.entity> returns the EntityTag of the area effect cloud.
<context.affected_entities> returns a ListTag of EntityTags affected by the area effect cloud. Note that this can be empty, and only lists which entities are currently being refreshed.
Determine"AFFECTED_ENTITIES:<ListTag(EntityTag)>" to determine the entities that will be affected by the area effect cloud. The list should not contain non-living entities.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
GroupEntity
Warning(s)This runs every 5 ticks if there are any entities in the area effect cloud's bounding box. Prefer Event:entity potion effects modified for listening to normal potion effect changes.
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/entity/AreaEffectCloudApplyScriptEvent.java#L14

Nameentity despawns
Event Lines <entity> despawns
Triggerswhen an entity despawns permanently from the world. May fire repeatedly for one entity.
Generated Examplesafter mob despawns:
after glow_squid despawns:
Has NPCwhen the entity that despawned is an NPC.
Switchescause:<cause> to only process the event when it came from a specified cause.
Contexts<context.entity> returns the entity that despawned.
<context.cause> returns the reason the entity despawned. Can be: DEATH, CHUNK_UNLOAD, CITIZENS, or OTHER
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupEntity
Warning(s)this event fires very rapidly.
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/entity/EntityDespawnScriptEvent.java#L12

Nameentity enters|exits area
Event Lines <entity> enters|exits <area>
Triggerswhen an entity enters or exits a noted area (cuboid, ellipsoid, or polygon). On Spigot servers, only fires for players. Paper is required for other mob types.
Generated Exampleson bat enters polygon:
on monster enters area:
Has PlayerWhen the entity is a player. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.area> returns the area object that was entered or exited.
<context.cause> returns the cause of the event. Can be: WALK, WORLD_CHANGE, JOIN, QUIT, TELEPORT, VEHICLE.
<context.to> returns the location the entity moved to (might not be available in exit events).
<context.from> returns the location the entity moved from (when available, depending on cause).
<context.entity> returns the entity that entered/exited an area.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
GroupEntity
Warning(s)cancelling this event will have different results depending on the cause. Teleporting the entity away 1 tick later might be safer.
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/entity/AreaEnterExitScriptEvent.java#L29

Nameentity killed by cause
Event Lines <entity> killed (by <cause>)
<entity> killed (by <entity>)
<entity> kills <entity>
Triggerswhen an entity is killed.
Generated Examplesafter fish killed:
after entity killed by entity:
after interaction kills animal:
after living killed by cause:
after entity killed:
after npc kills entity:
Has Playerwhen the killer or entity that was killed is a player. Cannot be both. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Has NPCwhen the killer or entity that was killed is an NPC. Cannot be both.
Contexts<context.entity> returns the EntityTag that was killed.
<context.cause> returns an ElementTag of reason the entity was damaged - see Language:damage cause for causes.
<context.damage> returns an ElementTag(Decimal) of the amount of damage dealt.
<context.final_damage> returns an ElementTag(Decimal) of the amount of damage dealt, after armor is calculated.
<context.damager> returns the EntityTag damaging the other entity.
<context.projectile> returns a EntityTag of the projectile shot by the damager, if any.
<context.damage_type_map> returns a MapTag the damage dealt by a specific damage type with keys: BASE, HARD_HAT, BLOCKING, ARMOR, RESISTANCE, MAGIC, ABSORPTION.
DetermineElementTag(Decimal) to set the amount of damage the entity receives, instead of dying.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupEntity
Warning(s)This event may mis-fire in some cases, particularly with plugins or scripts modify the damage from scripts. If you need reliable death tracking, the entity death event may be better.
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/entity/EntityKilledScriptEvent.java#L22

Nameentity spawns because cause
Event Lines <entity> spawns (because <cause>)
Triggerswhen an entity spawns.
Generated Examplesafter experience_orb spawns because cause:
after animal spawns because cause:
Contexts<context.entity> returns the EntityTag that spawned.
<context.location> returns the location the entity will spawn at.
<context.reason> returns the reason the entity spawned, can be ENTITY_SPAWN or any of: 🔗https://hub.spigotmc.org/javadocs/spigot/org/bukkit/event/entity/CreatureSpawnEvent.SpawnReason.html
<context.spawner_location> returns the location of the mob spawner, when reason is SPAWNER.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupEntity
Warning(s)This event may fire very rapidly.
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/entity/EntitySpawnScriptEvent.java#L19

Namesheep dyed color
Event Lines sheep dyed (<color>)
Triggerswhen a sheep is dyed.
Generated Examplesafter sheep dyed color:
Contexts<context.entity> returns the EntityTag of the sheep.
<context.color> returns an ElementTag of the color the sheep is being dyed.
DetermineElementTag that matches DyeColor to dye it a different color.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupEntity
Warning(s)Determine color will not update the clientside, use - wait 1t and adjust <context.entity> color:YOUR_COLOR to force-update.
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/entity/SheepDyedScriptEvent.java#L15



Category: Item


Nameinventory picks up item
Event Lines <inventory> picks up <item>
Triggerswhen a hopper or hopper minecart picks up an item.
Generated Exampleson smithing picks up polished_granite_stairs:
on enchanting picks up item:
Contexts<context.inventory> returns the InventoryTag that picked up the item.
<context.item> returns the ItemTag.
<context.entity> returns a EntityTag of the item entity.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupItem
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/item/InventoryPicksUpItemScriptEvent.java#L14

Nameitem despawns
Event Lines <item> despawns
Triggerswhen an item entity despawns.
Generated Exampleson green_banner despawns:
after crimson_stem despawns:
Contexts<context.item> returns the ItemTag of the entity.
<context.entity> returns the EntityTag.
<context.location> returns the location of the entity to be despawned.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupItem
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/item/ItemDespawnsScriptEvent.java#L14

Nameitem enchanted
Event Lines <item> enchanted
Triggerswhen an item is enchanted.
Generated Exampleson blue_banner enchanted:
on item enchanted:
Has Playerwhen the enchanter is a player. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Switchesenchant:<name> to only process the event if any of the enchantments being added match the given name.
Contexts<context.entity> returns the EntityTag of the enchanter (if applicable)
<context.location> returns the LocationTag of the enchanting table.
<context.inventory> returns the InventoryTag of the enchanting table.
<context.item> returns the ItemTag to be enchanted.
<context.button> returns which button was pressed to initiate the enchanting.
<context.cost> returns the experience level cost of the enchantment.
<context.enchants> returns a MapTag of enchantment names to the level that will be applied.
DetermineElementTag(Number) to set the experience level cost of the enchantment.
"RESULT:<ItemTag>" to change the item result (only affects metadata (like enchantments), not material/quantity/etc!).
"ENCHANTS:<MapTag>" to change the resultant enchantments.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupItem
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/item/ItemEnchantedScriptEvent.java#L22

Nameitem merges
Event Lines <item> merges
Triggerswhen an item entity merges into another item entity.
Generated Examplesafter item merges:
on item merges:
Contexts<context.item> returns the ItemTag of the entity.
<context.entity> returns the EntityTag.
<context.target> returns the EntityTag being merged into.
<context.location> returns the location of the entity to be spawned.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupItem
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/item/ItemMergesScriptEvent.java#L15

Nameitem moves from inventory to inventory
Event Lines <item> moves from <inventory> (to <inventory>)
Triggerswhen an entity or block moves an item from one inventory to another. (Hopper-style movement, not player-induced movement).
Generated Examplesafter item moves from inventory:
after cut_copper moves from location to inventory:
Contexts<context.origin> returns the origin InventoryTag.
<context.destination> returns the destination InventoryTag.
<context.initiator> returns the InventoryTag that initiated the item's transfer.
<context.item> returns the ItemTag that was moved.
DetermineItemTag to set a different item to be moved.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupItem
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/item/ItemMoveScriptEvent.java#L13

Nameitem recipe formed
Event Lines <item> recipe formed
Triggerswhen an item's recipe is correctly formed.
Generated Exampleson vault recipe formed:
on item recipe formed:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.inventory> returns the InventoryTag of the crafting inventory.
<context.item> returns the ItemTag to be formed in the result slot.
<context.recipe> returns a ListTag of ItemTags in the recipe.
<context.recipe_id> returns the ID of the recipe that was formed.
<context.is_repair> returns an ElementTag(Boolean) of whether the event was triggered by a tool repair operation rather than a crafting recipe.
DetermineItemTag to change the item that is formed in the result slot.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
GroupItem
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/item/ItemRecipeFormedScriptEvent.java#L23

Nameitem spawns
Event Lines <item> spawns
Triggerswhen an item entity spawns.
Generated Examplesafter item spawns:
after blaze_rod spawns:
Contexts<context.item> returns the ItemTag of the entity.
<context.entity> returns the EntityTag.
<context.location> returns the location of the entity to be spawned.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupItem
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/item/ItemSpawnsScriptEvent.java#L15



Category: NPC


Namenpc opens block
Event Lines npc opens <block>
Triggerswhen an NPC opens a door or gate.
Generated Examplesafter npc opens block:
Has NPCAlways.
Switchesnpc:<npc> to only process the event if the spawned NPC matches.
Contexts<context.location> returns the location of the door or gate opened.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupNPC
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/npc/NPCOpensScriptEvent.java#L17

Namenpc spawns
Event Lines npc spawns
Triggerswhen an NPC spawns.
Generated Examplesafter npc spawns:
Has NPCAlways.
Switchesnpc:<npc> to only process the event if the spawned NPC matches.
reason:<reason> to only process the event if the NPC's spawn reason matches. See 🔗https://jd.citizensnpcs.co/net/citizensnpcs/api/event/SpawnReason.html for a list of reasons.
Contexts<context.location> returns the location the entity will spawn at.
<context.reason> returns the reason of the spawn.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupNPC
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/npc/NPCSpawnScriptEvent.java#L16

Namenpc stuck
Event Lines npc stuck
Triggerswhen an NPC's navigator is stuck.
Generated Exampleson npc stuck:
after npc stuck:
Has NPCAlways.
Switchesnpc:<npc> to only process the event if the spawned NPC matches.
Contexts<context.action> returns 'teleport' or 'none'
Determine"NONE" to do nothing.
"TELEPORT" to teleport.
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupNPC
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/npc/NPCStuckScriptEvent.java#L16

Namenpc begins|completes|cancels navigation
Event Lines npc begins|completes|cancels navigation
Triggerswhen an NPC begins, finishes, or cancels navigating.
Generated Exampleson npc cancels navigation:
Has NPCAlways.
Switchesnpc:<npc> to only process the event if the spawned NPC matches.
ContextsNone
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupNPC
Warning(s)This event may fire very rapidly.
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/npc/NPCNavigationScriptEvent.java#L15



Category: Player


Nameblock drops item from breaking
Event Lines block drops item from breaking
<block> drops <item> from breaking
Triggerswhen a items drop from a block due to a player breaking the block in survival mode.
Generated Exampleson block drops item from breaking:
after block drops item from breaking:
on block drops bolt_armor_trim_smithing_template from breaking:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.location> returns the LocationTag the block was broken at.
<context.material> returns the MaterialTag of the block that was broken.
<context.drop_entities> returns a ListTag of EntityTags of type DROPPED_ITEM. To get the list of ItemTags, just tack ".parse[item]" onto this context tag.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupPlayer
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/player/BlockDropsItemScriptEvent.java#L19

Nameentity picks up item
Event Lines <entity> picks up <item>
<entity> takes <item>
Triggerswhen an entity picks up an item.
Generated Exampleson horse picks up item:
on living takes pig_spawn_egg:
on entity picks up item:
on projectile takes mud:
Has Playerwhen the entity picking up the item is a player. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Has NPCwhen the entity picking up the item is an npc.
Contexts<context.item> returns an ItemTag of the item being picked up.
<context.entity> returns an EntityTag of the item entity being picked up.
<context.pickup_entity> returns an EntityTag of the entity picking up the item.
<context.location> returns a LocationTag of the item's location.
Determine"ITEM:<ItemTag>" to change the item being picked up.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupPlayer
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/entity/EntityPicksUpItemScriptEvent.java#L20

Nameplayer activates riptide
Event Lines player activates riptide
Triggerswhen a player activates the riptide effect.
Generated Examplesafter player activates riptide:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.item> returns the ItemTag of the trident.
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupPlayer
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerRiptideScriptEvent.java#L15

Nameplayer animates animation
Event Lines player animates (<animation>)
Triggerswhen a player performs an animation.
Generated Examplesafter player animates:
after player animates animation:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Switcheswith:<item> to only run if an item being swung by a swing animation matches the item-matcher.
Contexts<context.animation> returns the name of the animation, from 🔗https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/event/player/PlayerAnimationType.html.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupPlayer
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerAnimatesScriptEvent.java#L17

Nameplayer breaks block
Event Lines player breaks block
player breaks <material>
Triggerswhen a player breaks a block.
Generated Examplesafter player breaks block:
on player breaks material:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Switcheswith:<item> to only process the event when the player is breaking the block with a specified item.
Contexts<context.location> returns the LocationTag the block was broken at.
<context.material> returns the MaterialTag of the block that was broken.
<context.xp> returns how much XP will be dropped.
<context.should_drop_items> returns whether the event will drop items.
Determine"NOTHING" to make the block drop no items.
ListTag(ItemTag) to make the block drop a specified list of items.
ElementTag(Number) to set the amount of xp to drop.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
Synonyms (Search Aid)player mines block, player mines ore, player digs block
GroupPlayer
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerBreaksBlockScriptEvent.java#L21

Nameplayer breaks held item
Event Lines player breaks held item
player breaks held <item>
Triggerswhen a player breaks the item they are holding.
Generated Examplesafter player breaks held item:
on player breaks held rail:
on player breaks held jungle_chest_boat:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.item> returns the item that broke.
<context.slot> returns the slot of the item that broke.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupPlayer
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerBreaksItemScriptEvent.java#L21

Nameplayer changes armor stand item
Event Lines player changes armor stand item
Triggerswhen a player modifies an armor stand entity.
Generated Examplesafter player changes armor stand item:
on player changes armor stand item:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Switchesfrom:<item> to only process the event if the item on the armor stand being interacted with matches the specified item matcher.
hand:<hand> to only process the event if the player is using a specific hand to interact with the armor stand. Available only on MC versions 1.19+.
to:<item> to only process the event if the item held by the player matches the specified item matcher.
slot:<slot> to only process the event if the armor stand's item slot that was interacted with is the specified slot.
armor_stand:<entity> to only process the event if the armor stand being interacted with matches the specified entity matcher.
Contexts<context.armor_stand_item> returns the ItemTag being interacted with on the armor stand.
<context.entity> returns an EntityTag of the armor stand.
<context.hand> returns an ElementTag of the hand used by the player to interact with the armor stand, can be either HAND or OFF_HAND. Available only on MC versions 1.19+.
<context.player_item> returns the ItemTag held by the player.
<context.slot> returns an ElementTag of the armor stand's item slot that was interacted with. Valid equipment slot values can be found at 🔗https://hub.spigotmc.org/javadocs/spigot/org/bukkit/inventory/EquipmentSlot.html.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupPlayer
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerArmorStandManipulateScriptEvent.java#L18

Nameplayer changes gamemode to gamemode
Event Lines player changes gamemode (to <gamemode>)
Triggerswhen a player's gamemode is changed.
Generated Examplesafter player changes gamemode:
on player changes gamemode:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.gamemode> returns an ElementTag of the gamemode. Game Modes: 🔗https://hub.spigotmc.org/javadocs/spigot/org/bukkit/GameMode.html
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
GroupPlayer
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerChangesGamemodeScriptEvent.java#L15

Nameplayer changes main hand
Event Lines player changes main hand
Triggerswhen a player changes their main hand.
Generated Examplesafter player changes main hand:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.old_hand> returns the player's old main hand, either LEFT or RIGHT.
<context.new_hand> returns the player's new main hand.
GroupPlayer
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerChangesMainHandScriptEvent.java#L15

Nameplayer changes sign
Event Lines player changes sign
player changes <material>
Triggerswhen a player changes a sign.
Generated Examplesafter player changes sign:
after player changes material:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.location> returns the LocationTag of the sign.
<context.new> returns the new sign text as a ListTag.
<context.old> returns the old sign text as a ListTag.
<context.material> returns the MaterialTag of the sign.
DetermineListTag to change the lines.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupPlayer
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerChangesSignScriptEvent.java#L20

Nameplayer changes world from world to world
Event Lines player changes world (from <world>) (to <world>)
Triggerswhen a player moves to a different world.
Generated Examplesafter player changes world:
on player changes world to survivalland:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.origin_world> returns the WorldTag that the player was previously on.
<context.destination_world> returns the WorldTag that the player is now in.
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupPlayer
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerChangesWorldScriptEvent.java#L15

Nameplayer changes xp
Event Lines player changes xp
Triggerswhen a player's experience amount changes.
Generated Examplesafter player changes xp:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.amount> returns the amount of changed experience.
DetermineElementTag(Number) to set the amount of changed experience.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupPlayer
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerChangesXPScriptEvent.java#L16

Nameplayer click_type clicks item in inventory
Event Lines player (<click_type>) clicks (<item>) in <inventory>
Triggerswhen a player clicks in an inventory. Note that you likely will also want to listen to Event:player drags in inventory.
Generated Exampleson player click_type clicks green_terracotta in inventory:
on player click_type clicks in npc:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Switcheswith:<item> to only process the event if a specified cursor item was used.
in_area:<area> replaces the default 'in:<area>' for this event.
action:<action> to only process the event if a specified action occurred.
slot:<slot> to only process the event if a specified slot or slot_type was clicked. For slot input options, see Language:Slot Inputs.
Contexts<context.item> returns the ItemTag the player has clicked on.
<context.inventory> returns the InventoryTag (the 'top' inventory, regardless of which slot was clicked).
<context.clicked_inventory> returns the InventoryTag that was clicked in.
<context.cursor_item> returns the item the Player is clicking with.
<context.click> returns an ElementTag with the name of the click type. Click type list: 🔗https://hub.spigotmc.org/javadocs/spigot/org/bukkit/event/inventory/ClickType.html
<context.slot_type> returns an ElementTag with the name of the slot type that was clicked. Slot type list: 🔗https://hub.spigotmc.org/javadocs/spigot/org/bukkit/event/inventory/InventoryType.SlotType.html
<context.slot> returns an ElementTag with the number of the slot that was clicked.
<context.raw_slot> returns an ElementTag with the raw number of the slot that was clicked.
<context.is_shift_click> returns true if 'shift' was used while clicking.
<context.action> returns the inventory_action. See Language:Inventory Actions.
<context.hotbar_button> returns an ElementTag of the button pressed as a number, or 0 if no number button was pressed.
DetermineItemTag to set the current item for the event.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupPlayer
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerClicksInInventoryScriptEvent.java#L70

Nameplayer closes inventory
Event Lines player closes inventory
player closes <inventory>
Triggerswhen a player closes an inventory. (EG, chests, not the player's main inventory.)
Generated Exampleson player closes inventory:
after player closes inventory:
after player closes grindstone:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.inventory> returns the InventoryTag.
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupPlayer
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerClosesInvScriptEvent.java#L18

Nameplayer completes advancement
Event Lines player completes advancement
Triggerswhen a player has completed all criteria in an advancement.
Generated Examplesafter player completes advancement:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Switchesname:<name> to only fire if the advancement has the specified name.
Contexts<context.criteria> returns all the criteria present in this advancement.
<context.advancement> returns the completed advancement's minecraft ID key.
<context.message> returns an ElementTag of the advancement message (only on Paper).
DetermineElementTag to change the advancement message (only on Paper).
"NO_MESSAGE" to hide the advancement message (only on Paper).
GroupPlayer
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerCompletesAdvancementScriptEvent.java#L15

Nameplayer consumes item
Event Lines player consumes item
player consumes <item>
Triggerswhen a player consumes (eats/drinks) an item (like food or potions).
Generated Exampleson player consumes item:
after player consumes item:
on player consumes brick_wall:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.item> returns the ItemTag.
<context.hand> returns an ElementTag of the hand being used to consume the item. Can be either HAND or OFF_HAND. Requires a 1.19+ server.
DetermineItemTag to change the item being consumed. Use with caution, if the player is eating a stack of items, this will replace the entire stack.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupPlayer
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerConsumesScriptEvent.java#L21

Nameplayer crafts item
Event Lines player crafts item
player crafts <item>
Triggerswhen a player fully crafts an item.
Generated Exampleson player crafts item:
after player crafts pink_shulker_box:
after player crafts item:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.inventory> returns the InventoryTag of the crafting inventory.
<context.item> returns the ItemTag to be crafted.
<context.amount> returns the amount of the item that will be crafted (usually 1, except when shift clicked. Can be above 64).
<context.recipe> returns a ListTag of ItemTags in the recipe.
<context.recipe_id> returns the ID of the recipe that is being crafted.
<context.click_type> returns an ElementTag with the name of the click type. Click type list: 🔗https://hub.spigotmc.org/javadocs/spigot/org/bukkit/event/inventory/ClickType.html
DetermineItemTag to change the item that is crafted.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
GroupPlayer
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerCraftsItemScriptEvent.java#L25

Nameplayer damages block
Event Lines player damages <block>
Triggerswhen a block is damaged by a player.
Generated Exampleson player damages block:
after player damages block:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Switcheswith:<item> to only process the event when the player is hitting the block with a specified item.
Contexts<context.location> returns the LocationTag the block that was damaged.
<context.material> returns the MaterialTag of the block that was damaged.
Determine"INSTABREAK" to make the block get broken instantly.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupPlayer
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerDamagesBlockScriptEvent.java#L16

Nameplayer drags in inventory
Event Lines player drags in inventory
player drags (<item>) (in <inventory>)
Triggerswhen a player drags in an inventory (that is, clicks and then holds the mouse button down while moving the mouse across multiple slots).
Generated Examplesafter player drags in inventory:
after player drags:
on player drags in inventory:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Switchesin_area:<area> replaces the default 'in:<area>' for this event.
drag_type:<type> to only run the event if the given drag type (SINGLE or EVEN) was used.
Contexts<context.item> returns the ItemTag the player has dragged.
<context.inventory> returns the InventoryTag (the 'top' inventory, regardless of which slot was clicked).
<context.clicked_inventory> returns the InventoryTag that was clicked in.
<context.slots> returns a ListTag of the slot numbers dragged through.
<context.raw_slots> returns a ListTag of the raw slot numbers dragged through.
<context.drag_type> returns either SINGLE or EVEN depending on whether the player used their left or right mouse button.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupPlayer
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerDragsInInvScriptEvent.java#L25

Nameplayer edits book
Event Lines player edits book
player signs book
Triggerswhen a player edits or signs a book.
Generated Exampleson player edits book:
after player signs book:
after player edits book:
on player signs book:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.title> returns the name of the book, if any.
<context.pages> returns the number of pages in the book.
<context.book> returns the book item being edited, containing the new page contents.
<context.old_book> returns the book item being edited, containing the old page contents.
<context.signing> returns whether the book is about to be signed.
Determine"NOT_SIGNING" to prevent the book from being signed.
ScriptTag to set the book information to set it to instead.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupPlayer
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerEditsBookScriptEvent.java#L23

Nameplayer empties bucket
Event Lines player empties bucket
player empties <item>
Triggerswhen a player empties a bucket.
Generated Examplesafter player empties bucket:
on player empties crimson_fungus:
on player empties bucket:
after player empties item:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.item> returns the ItemTag of the bucket being emptied (just material, other properties are lost - use 'player.item_in_hand' if you need full data).
<context.location> returns the LocationTag of the block clicked with the bucket.
<context.relative> returns the LocationTag of the block in front of the clicked block.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupPlayer
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerEmptiesBucketScriptEvent.java#L17

Nameplayer enters bed
Event Lines player enters bed
Triggerswhen a player enters a bed.
Generated Examplesafter player enters bed:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.location> returns the LocationTag of the bed.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupPlayer
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerEntersBedScriptEvent.java#L15

Nameplayer fills bucket
Event Lines player fills bucket
player fills <item>
Triggerswhen a player fills a bucket.
Generated Examplesafter player fills bucket:
after player fills cave_spider_spawn_egg:
on player fills bucket:
on player fills bread:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.item> returns the ItemTag of the filled bucket.
<context.location> returns the LocationTag of the block clicked with the bucket.
<context.material> returns the MaterialTag of the LocationTag.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupPlayer
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerFillsBucketScriptEvent.java#L17

Nameplayer fishes entity while state
Event Lines player fishes (<entity>) (while <state>)
player fishes (<item>) (while <state>)
Triggerswhen a player uses a fishing rod.
Generated Exampleson player fishes giant while state:
after player fishes furnace:
on player fishes while state:
after player fishes cooked_chicken while state:
Has PlayerIf the fisher or the caught entity is a player (in most cases, the fisher can be assumed to be a real player). - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Has NPCIf the fisher or the caught entity is an NPC.
Switcheswith:<item> to only process the event if the fishing rod is a specified item.
Contexts<context.hook> returns an EntityTag of the hook.
<context.state> returns an ElementTag of the fishing state. Valid states: 🔗https://hub.spigotmc.org/javadocs/spigot/org/bukkit/event/player/PlayerFishEvent.State.html
<context.entity> returns an EntityTag of the entity that got caught.
<context.item> returns an ItemTag of the item gotten, if any.
<context.xp> returns the amount of experience that will drop.
Determine"CAUGHT:<ItemTag>" to change the item that was caught (only if an item was already being caught).
"XP:<ElementTag(Number)>" to change how much experience will drop.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupPlayer
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerFishesScriptEvent.java#L21

Nameplayer hears sound
Event Lines player hears sound
Triggerswhen a player receives a sound packet from the server.
Generated Exampleson player hears sound:
after player hears sound:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Switcheskey:<sound_key> to only process the event if the sound matches the modern Minecraft sound key.
Contexts<context.sound_key> returns an ElementTag of the modern Minecraft sound key.
<context.sound_name> returns an ElementTag of the sound's Bukkit name.
<context.category> returns the name of the category the sound is from.
<context.is_custom> returns 'true' if the sound is custom, otherwise false.
<context.source_entity> returns the entity this sound came from (if any).
<context.location> returns the location the sound will play at.
<context.volume> returns the volume level.
<context.pitch> returns the pitch.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupPlayer
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerHearsSoundScriptEvent.java#L21

Nameplayer item takes damage
Event Lines player item takes damage
player <item> takes damage
Triggerswhen the player damages an item.
Generated Examplesafter player item takes damage:
on player orange_glazed_terracotta takes damage:
on player black_bed takes damage:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.damage> returns the amount of damage the item has taken.
<context.original_damage> returns the original amount of damage the item would have taken, before any modifications such as the unbreaking enchantment (only on Paper).
<context.item> returns the item that has taken damage.
<context.slot> returns the slot of the item that has taken damage. This value is a bit of a hack and is not reliable.
DetermineElementTag(Number) to set the amount of damage the item will take.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
Synonyms (Search Aid)item durability changes
GroupPlayer
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerItemTakesDamageScriptEvent.java#L20

Nameplayer joins
Event Lines player joins
player join
Triggerswhen a player joins the server.
Generated Examplesafter player joins:
after player join:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.message> returns an ElementTag of the join message.
DetermineElementTag to change the join message.
"NONE" to cancel the join message.
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupPlayer
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerJoinsScriptEvent.java#L16

Nameplayer kicked for flying
Event Lines player kicked (for flying)
Triggerswhen a player is kicked from the server.
Generated Examplesafter player kicked for flying:
on player kicked:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.message> returns an ElementTag of the kick message sent to all players.
<context.reason> returns an ElementTag of the kick reason.
<context.flying> returns whether the player is being automatically kicked for flying.
Determine"MESSAGE:<ElementTag>" to change the kick message.
"REASON:<ElementTag>" to change the kick reason.
"FLY_COOLDOWN:<DurationTag>" to cancel the automatic fly kick and set its next cooldown.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
GroupPlayer
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerKickedScriptEvent.java#L19

Nameplayer leashes entity
Event Lines player leashes entity
player leashes <entity>
Triggerswhen a player leashes an entity.
Generated Exampleson player leashes entity:
after player leashes entity:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.entity> returns the EntityTag of the leashed entity.
<context.holder> returns the EntityTag that is holding the leash.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupPlayer
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerLeashesEntityScriptEvent.java#L15

Nameplayer leaves bed
Event Lines player leaves bed
Triggerswhen a player leaves a bed.
Generated Examplesafter player leaves bed:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.location> returns the LocationTag of the bed.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupPlayer
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerLeavesBedScriptEvent.java#L15

Nameplayer levels up from level to level
Event Lines player levels up (from <level>) (to <level>)
Triggerswhen a player levels up.
Generated Examplesafter player levels up from level:
on player levels up to level:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.new_level> returns an ElementTag of the player's new level.
<context.old_level> returns an ElementTag of the player's old level.
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupPlayer
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerLevelsUpScriptEvent.java#L16

Nameplayer locale change
Event Lines player locale change
Triggerswhen a player changes their locale in their client settings.
Generated Examplesafter player locale change:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.new_locale> returns an ElementTag of the player's new locale.
GroupPlayer
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerLocaleChangeScriptEvent.java#L14

Nameplayer mends item
Event Lines player mends item
player mends <item>
Triggerswhen an XP orb is used to repair an item with the Mending enchantment in the player's inventory.
Generated Examplesafter player mends item:
on player mends prismarine_brick_stairs:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.item> returns the item that is repaired.
<context.repair_amount> returns how much durability the item recovers.
<context.xp_orb> returns the XP orb that triggered the event.
<context.slot> returns the slot of the item that has been repaired. This value is a bit of a hack and is not reliable.
DetermineElementTag(Number) to set the amount of durability the item recovers.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupPlayer
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerMendsItemScriptEvent.java#L18

Nameplayer opens inventory
Event Lines player opens inventory
player opens <inventory>
Triggerswhen a player opens an inventory. (EG, chests, not the player's main inventory.)
Generated Exampleson player opens inventory:
after player opens loom:
after player opens inventory:
on player opens grindstone:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.inventory> returns the InventoryTag.
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupPlayer
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerOpensInvScriptEvent.java#L16

Nameplayer picks up launched arrow
Event Lines player picks up launched arrow
Triggerswhen a player picks up a launched arrow projectile entity that is embedded into the ground. Will not necessarily fire for creative players.
Generated Exampleson player picks up launched arrow:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.arrow> returns the arrow entity.
<context.item> returns the item of the arrow.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupPlayer
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerPickupArrowScriptEvent.java#L15

Nameplayer places block
Event Lines player places block
player places <item>
Triggerswhen a player places a block.
Example
on player places block:
Example
after player places torch using:off_hand:
Example
on player places cactus against:sand:
Example
# This example process the event only if the player places any block that isn't tnt.
on player places block type:!tnt:
- announce "<player.name> has placed a block that isn't TNT. Lucky!"
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Switchesusing:<hand_type> to only process the event if the player is using the specified hand type (HAND or OFF_HAND).
against:<location> to only process the event if block that this new block is being placed against matches the specified LocationTag matcher.
type:<material> to only process the event if the block placed matches the MaterialTag matcher input.
Contexts<context.location> returns the LocationTag of the block that was placed.
<context.material> returns the MaterialTag of the block that was placed.
<context.old_material> returns the MaterialTag of the block that was replaced.
<context.item_in_hand> returns the ItemTag of the item in hand.
<context.hand> returns the name of the hand that the block was in (HAND or OFF_HAND).
<context.against> returns the LocationTag of the block this block was placed against.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupPlayer
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerPlacesBlockScriptEvent.java#L18

Nameplayer places hanging
Event Lines player places <hanging>
Triggerswhen a hanging entity (painting or itemframe) is placed.
Generated Exampleson player places hanging:
after player places hanging:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Switchesitem:<item> to only process the event when the hangable item matches the given ItemTag matcher.
Contexts<context.hanging> returns the EntityTag of the hanging.
<context.location> returns the LocationTag of the block the hanging was placed on.
<context.item> returns the ItemTag that was placed.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupPlayer
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerPlacesHangingScriptEvent.java#L17

Nameplayer prepares item enchant
Event Lines player prepares item enchant
player prepares <item> enchant
Triggerswhen a player prepares to enchant an item.
Generated Exampleson player prepares item enchant:
after player prepares coal_ore enchant:
after player prepares item enchant:
on player prepares diamond enchant:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.location> returns the LocationTag of the enchanting block.
<context.item> returns the ItemTag to be enchanted.
<context.bonus> returns an ElementTag(Number) of the enchanting bonus available (number of bookshelves).
<context.offers> returns a ListTag of the available enchanting offers, each as a MapTag with keys 'cost', 'enchantment_type', and 'level'.
Determine"OFFERS:<ListTag>" of MapTags to set the offers available. Cannot be a different size list than the size of context.offers.
GroupPlayer
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerPreparesEnchantScriptEvent.java#L20

Nameplayer quits
Event Lines player quits
player quit
Triggerswhen a player quit the server.
Generated Exampleson player quits:
on player quit:
after player quits:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.message> returns an ElementTag of the quit message.
DetermineElementTag to change the quit message.
"NONE" to cancel the quit message.
Synonyms (Search Aid)player disconnects, player logs off, player leaves
GroupPlayer
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerQuitsScriptEvent.java#L16

Nameplayer receives commands
Event Lines player receives commands
Triggerswhen the list of available server commands is sent to the player for tab completion.
Generated Examplesafter player receives commands:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.commands> returns a ListTag of received commands.
DetermineListTag to set the player's available commands. NOTE: It is not possible to add entries to the command list, only remove them.
GroupPlayer
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerReceivesCommandsScriptEvent.java#L15

Nameplayer receives tablist update
Event Lines player receives tablist update
Triggerswhen a player receives a tablist update.
Generated Examplesafter player receives tablist update:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Switchesmode:add/update/remove to only trigger if the tablist update is the specified mode.
Contexts<context.mode> returns the update mode: 'add', 'remove', 'initialize_chat', 'update_gamemode', 'update_latency', 'update_listed', or 'update_display'. As of 1.19.3, you can also receive update combos like "update_gamemode|update_latency".
<context.uuid> returns the packet's associated UUID.
<context.name> returns the packet's associated name (if any).
<context.display> returns the packet's associated display name (if any).
<context.latency> returns the packet's associated latency (if any).
<context.gamemode> returns the packet's associated gamemode (if any).
<context.skin_blob> returns the packet's associated skin blob (if any).
<context.listed> returns true if the entry should be listed in the tab list, or false if not.
Determine"LATENCY:<ElementTag(Number)>" to change the latency.
"NAME:<ElementTag>" to change the name.
"DISPLAY:<ElementTag>" to change the display name. 'name', 'display' and 'cancelled' determinations require 'Allow restricted actions' in Denizen/config.yml
"GAMEMODE:<ElementTag>" to change the gamemode.
"SKIN_BLOB:<ElementTag>" to change the skin blob.
"LISTED:<ElementTag(Boolean)>" to change whether the entry is listed.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupPlayer
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerReceivesTablistUpdateScriptEvent.java#L20

Nameplayer respawns at bed
Event Lines player respawns (at bed)
player respawns elsewhere
Triggerswhen a player respawns.
Generated Examplesafter player respawns at bed:
on player respawns elsewhere:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.location> returns a LocationTag of the respawn location.
<context.is_bed_spawn> returns a boolean indicating whether the player is about to respawn at their bed.
DetermineLocationTag to change the respawn location.
GroupPlayer
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerRespawnsScriptEvent.java#L17

Nameplayer scrolls their hotbar
Event Lines player scrolls their hotbar
player holds item
Triggerswhen a player scrolls through their hotbar.
Generated Examplesafter player scrolls their hotbar:
on player holds item:
on player scrolls their hotbar:
after player holds item:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Switchesitem:<item> to only process the event when the player is going to hold a specified item.
Contexts<context.new_slot> returns the number of the new inventory slot.
<context.previous_slot> returns the number of the old inventory slot.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupPlayer
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/player/HotbarScrollScriptEvent.java#L15

Nameplayer selects stonecutter recipe
Event Lines player selects stonecutter recipe
Triggerswhen a player selects a recipe in a stonecutter.
Generated Exampleson player selects stonecutter recipe:
after player selects stonecutter recipe:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Switchesrecipe_id:<recipe_id> to only process the event if the recipe matches the recipe ID.
Contexts<context.inventory> returns the InventoryTag of the stonecutter inventory.
<context.input> returns an ItemTag of the item in the input slot.
<context.result> returns an ItemTag of the item in the result slot.
<context.recipe_id> returns the ID of the recipe that was selected.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupPlayer
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/paper/src/main/java/com/denizenscript/denizen/paper/events/PlayerSelectsStonecutterRecipeScriptEvent.java#L16

Nameplayer shears entity
Event Lines player shears <entity>
player shears <color> sheep
Triggerswhen a player shears an entity.
Generated Examplesafter player shears tnt:
on player shears color sheep:
after player shears player:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.entity> returns the EntityTag of the sheep.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupPlayer
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerShearsScriptEvent.java#L17

Nameplayer smiths item
Event Lines player smiths item
player smiths <item>
Triggerswhen a player upgrades an item on a smithing table.
Generated Examplesafter player smiths item:
after player smiths purple_terracotta:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.inventory> returns the InventoryTag of the smithing table inventory.
<context.item> returns the ItemTag after upgrading.
DetermineItemTag to change the item that results from the upgrade.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
GroupPlayer
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerSmithsItemScriptEvent.java#L19

Nameplayer stands on material
Event Lines player stands on material
player stands on (<material>)
Triggerswhen a player stands on a physical-interactable block (such as a pressure plate, tripwire, or redstone ore).
Generated Examplesafter player stands on material:
on player stands on material:
on player stands on petrified_oak_slab:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.location> returns the LocationTag the player is interacting with.
<context.material> returns the MaterialTag the player is interacting with.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupPlayer
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerStandsOnScriptEvent.java#L17

Nameplayer statistic increments
Event Lines player statistic increments
player statistic <statistic> increments
Triggerswhen a player's statistics increment.
Generated Exampleson player statistic increments:
after player statistic statistic increments:
after player statistic increments:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.statistic> returns the statistic that incremented. Statistic names: 🔗https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Statistic.html
<context.previous_value> returns the old value of the statistic.
<context.new_value> returns the new value of the statistic.
<context.qualifier> returns the qualifier (EntityTag/MaterialTag) if any.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
GroupPlayer
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerStatisticIncrementsScriptEvent.java#L18

Nameplayer steers entity
Event Lines player steers entity
player steers <entity>
Triggersevery tick that a player is controlling a vehicle.
Generated Exampleson player steers entity:
after player steers entity:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.entity> returns the EntityTag being steered by the player.
<context.sideways> returns an ElementTag(Decimal) where a positive number signifies leftward movement.
<context.forward> returns an ElementTag(Decimal) where a positive number signifies forward movement.
<context.jump> returns an ElementTag(Boolean) that signifies whether the player is attempting to jump with the entity.
<context.dismount> returns an ElementTag(Boolean) that signifies whether the player is attempting to dismount.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupPlayer
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerSteersEntityScriptEvent.java#L17

Nameplayer stops damaging block
Event Lines player stops damaging <block>
Triggerswhen a block stops being damaged by a player.
Example
on player stops damaging block:
- narrate "You were so close to breaking that block! You got this!"
Example
on player stops damaging infested*:
- narrate "It's Silverfish time!"
- spawn silverfish|silverfish|silverfish|silverfish|silverfish <context.location> persistent
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Switcheswith:<item> to only process the event when the player stops hitting the block with a specified item.
Contexts<context.location> returns the LocationTag the block no longer being damaged.
<context.material> returns the MaterialTag of the block no longer being damaged.
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupPlayer
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerStopsDamagingBlockScriptEvent.java#L17

Nameplayer swaps items
Event Lines player swaps items
Triggerswhen a player swaps the items in their main and off hands.
Generated Exampleson player swaps items:
after player swaps items:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Switchesmain:<item> to only process the event if the item being put into the main hand matches the input item.
offhand:<item> to only process the event if the item being put into the off-hand matches the input item.
Contexts<context.main> returns the ItemTag switched to the main hand.
<context.offhand> returns the ItemTag switched to the off hand.
Determine"MAIN:<ItemTag>" to set the item in the main hand.
"OFFHAND:<ItemTag>" to set the item in the off hand.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
GroupPlayer
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerSwapsItemsScriptEvent.java#L17

Nameplayer takes item from furnace
Event Lines player takes item from furnace
player takes <item> from furnace
Triggerswhen a player takes an item from a furnace.
Generated Exampleson player takes item from furnace:
on player takes cake from furnace:
after player takes item from furnace:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.location> returns the LocationTag of the furnace.
<context.item> returns the ItemTag taken out of the furnace.
DetermineElementTag(Number) to set the amount of experience the player will get.
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupPlayer
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerTakesFromFurnaceScriptEvent.java#L17

Nameplayer takes item from lectern
Event Lines player takes item from lectern
player takes <item> from lectern
Triggerswhen a player takes a book from a lectern.
Generated Exampleson player takes item from lectern:
on player takes blue_shulker_box from lectern:
after player takes item from lectern:
after player takes painting from lectern:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.location> returns the LocationTag of the lectern.
<context.item> returns the book ItemTag taken out of the lectern.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupPlayer
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerTakesFromLecternScriptEvent.java#L17

Nameplayer throws hatching|non-hatching egg
Event Lines player throws (hatching|non-hatching) egg
Triggerswhen a player throws an egg - this event specifically fires when the egg hits, for the initial throw event use Event:projectile launched.
Generated Examplesafter player throws egg:
on player throws non-hatching egg:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.egg> returns the EntityTag of the egg.
<context.is_hatching> returns an ElementTag with a value of "true" if the egg will hatch and "false" otherwise.
DetermineEntityTag to set the type of the hatching entity.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupPlayer
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerThrowsEggScriptEvent.java#L17

Nameplayer toggles flying
Event Lines player toggles flying
player starts flying
player stops flying
Triggerswhen a player starts or stops flying.
Generated Examplesafter player toggles flying:
on player starts flying:
on player stops flying:
on player toggles flying:
after player starts flying:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.state> returns an ElementTag(Boolean) with a value of "true" if the player is now flying and "false" otherwise.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupPlayer
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerFlyingScriptEvent.java#L15

Nameplayer toggles|starts|stops sneaking
Event Lines player toggles|starts|stops sneaking
Triggerswhen a player starts or stops sneaking.
Generated Examplesafter player toggles sneaking:
on player toggles sneaking:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.state> returns an ElementTag(Boolean) with a value of "true" if the player is now sneaking and "false" otherwise.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupPlayer
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerSneakScriptEvent.java#L15

Nameplayer toggles|starts|stops sprinting
Event Lines player toggles|starts|stops sprinting
Triggerswhen a player starts or stops sprinting.
Generated Exampleson player toggles sprinting:
on player starts sprinting:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.state> returns an ElementTag(Boolean) with a value of "true" if the player is now sprinting and "false" otherwise.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupPlayer
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerSprintScriptEvent.java#L15

Nameplayer triggers raid
Event Lines player triggers raid
Triggerswhen a player triggers a village raid.
Generated Examplesafter player triggers raid:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.raid> returns the raid data. See Language:Raid Event Data.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupPlayer
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerTriggersRaidScriptEvent.java#L12

Nameplayer uses portal
Event Lines player uses portal
Triggerswhen a player enters a portal.
Generated Exampleson player uses portal:
after player uses portal:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Switchesfrom:<block> to only process the event if the block the player teleported from matches the LocationTag matcher provided.
to:<block> to only process the event if the block the player teleported to matches the LocationTag matcher provided.
Contexts<context.from> returns the location teleported from.
<context.to> returns the location teleported to (can sometimes be null).
<context.can_create> returns whether the server will attempt to create a destination portal.
<context.creation_radius> returns the radius that will be checked for a free space to create the portal in.
<context.search_radius> returns the radius that will be checked for an existing portal to teleport to.
DetermineLocationTag to change the destination.
"CAN_CREATE:<ElementTag(Boolean)>" to set whether the server will attempt to create a destination portal.
"CREATION_RADIUS:<ElementTag(Number)>" to set the radius that will be checked for a free space to create the portal in.
"SEARCH_RADIUS:<ElementTag(Number)>" to set the radius that will be checked for an existing portal to teleport to.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupPlayer
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerUsesPortalScriptEvent.java#L17

Nameplayer walks over notable
Event Lines player walks over notable
player walks over <location>
Triggerswhen a player walks over a noted location. In most cases, it is preferable to use Event:player enters area with a small cuboid.
Generated Exampleson player walks over notable:
on player walks over location:
after player walks over notable:
after player walks over location:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.notable> returns an ElementTag of the notable location's name.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupPlayer
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerWalksOverScriptEvent.java#L18

Nameresource pack status
Event Lines resource pack status
Triggerswhen a player accepts, denies, successfully loads, or fails to download a resource pack.
Generated Exampleson resource pack status:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Switchesstatus:<status> to only process the event when a specific status is returned. Same status names as returned by 'context.status'.
Contexts<context.status> returns an ElementTag of the status. Can be: SUCCESSFULLY_LOADED, DECLINED, FAILED_DOWNLOAD, ACCEPTED.
GroupPlayer
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/player/ResourcePackStatusScriptEvent.java#L13

Nameplayer chats
Event Lines player chats
Triggerswhen a player chats.
Generated Examplesafter player chats:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Switchesmessage:<matcher> to only process the event if the chat message matches an advanced matcher.
Contexts<context.message> returns the player's message as an Element.
<context.format> returns the chat message's raw format.
<context.full_text> returns the full text of the chat message (ie, the written message with the format applied to it).
<context.recipients> returns a list of all players that will receive the chat.
DetermineElementTag to change the message.
"FORMAT:<ScriptTag>" to set the format script the message should use.
"RAW_FORMAT:<ElementTag>" to set the format directly (without a format script). (Use with caution, avoid if possible).
"RECIPIENTS:<ListTag(PlayerTag)>" to set the list of players that will receive the message.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupPlayer
Warning(s)Using this will forcibly sync the chat thread.
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/player/ChatScriptEvent.java#L28

Nameplayer enters|exits biome
Event Lines player enters|exits biome
Triggerswhen a player enters or exits a biome.
Generated Exampleson player exits biome:
on player enters biome:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Switchesbiome:<name> to only process the event when a specific biome is being entered.
Contexts<context.from> returns the block location moved from.
<context.to> returns the block location moved to.
<context.old_biome> returns the biome being left.
<context.new_biome> returns the biome being entered.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupPlayer
Warning(s)Cancelling this event will fire a similar event immediately after.
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/player/BiomeEnterExitScriptEvent.java#L20

Nameplayer exhaustion level increases
Event Lines player exhaustion level increases
Triggerswhen a player does an activity that increases their exhaustion level, which increases the rate of hunger.
Generated Exampleson player exhaustion level increases:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Switchesreason:<reason> to only process the event if the reason matches a specific reason.
Contexts<context.exhaustion> returns the amount of exhaustion added to the player.
<context.reason> returns the reason of exhaustion. See 🔗https://hub.spigotmc.org/javadocs/spigot/org/bukkit/event/entity/EntityExhaustionEvent.ExhaustionReason.html for a list of valid reasons.
DetermineElementTag(Decimal) to change the amount of exhaustion that will be added to the player.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupPlayer
Warning(s)This event may fire very rapidly.
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerIncreasesExhaustionLevelScriptEvent.java#L15

Nameplayer jumps
Event Lines player jumps
Triggerswhen a player jumps.
Generated Examplesafter player jumps:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.location> returns the location the player jumped from.
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupPlayer
Warning(s)On Spigot servers, this event and its data are inaccurate and unreliable. This event works more stably on Paper servers.
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerJumpScriptEvent.java#L16

Nameplayer logs in for the first time
Event Lines player logs in (for the first time)
player (first) login
Triggerswhen a player logs in to the server. This is during the authentication process, and should NOT be confused with Event:player joins.
Generated Examplesafter player logs in:
after player login:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.hostname> returns an ElementTag of the player's IP address.
<context.server_hostname> returns an ElementTag of the server address that the player used to connect to the server.
Determine"KICKED" to kick the player from the server.
"KICKED:<ElementTag>" to kick the player and specify a message to show.
GroupPlayer
Warning(s)Generally avoid this event. This is not a way to get a 'first join' event. This is an internal technical event, with specific uses (eg custom whitelisting).
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerLoginScriptEvent.java#L17

Nameplayer prelogin
Event Lines player prelogin
Triggerswhen a player starts to log in to the server.
This is during the EARLY authentication process, and should NOT be confused with Event:player joins.
Generated Examplesafter player prelogin:
on player prelogin:
Has PlayerWhen the player has previously joined (and thus the UUID is valid). - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.hostname> returns an ElementTag of the player's hostname.
<context.name> returns an ElementTag of the player's name.
<context.uuid> returns an ElementTag of the player's UUID.
DetermineQueueTag to cause the event to wait until the queue is complete.
"KICKED" to kick the player from the server.
"KICKED <ElementTag>" to kick the player and specify a message to show.
GroupPlayer
Warning(s)This is a very special-case handler, that delays logins until the events are handled on the main thread.
Generally, prefer Event:on player logs in.
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerPreLoginScriptEvent.java#L27

Nameplayer prepares anvil craft item
Event Lines player prepares anvil craft item
player prepares anvil craft <item>
Triggerswhen a player prepares an anvil to craft an item.
Generated Examplesafter player prepares anvil craft item:
on player prepares anvil craft acacia_wood:
on player prepares anvil craft item:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.inventory> returns the InventoryTag of the anvil inventory.
<context.item> returns the ItemTag to be crafted.
<context.repair_cost> returns an ElementTag(Number) of the repair cost.
<context.new_name> returns an ElementTag of the new name.
DetermineElementTag(Number) to set the repair cost.
ItemTag to change the item that is crafted.
GroupPlayer
Warning(s)The player doing the crafting is estimated and may be inaccurate.
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerPreparesAnvilCraftScriptEvent.java#L19

Nameplayer prepares smithing item
Event Lines player prepares smithing item
player prepares smithing <item>
Triggerswhen a player prepares to upgrade an item on a smithing table.
Generated Exampleson player prepares smithing item:
after player prepares smithing golden_helmet:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.inventory> returns the InventoryTag of the smithing table inventory.
<context.item> returns the ItemTag after upgrading.
DetermineItemTag to change the item that results from the upgrade.
GroupPlayer
Warning(s)The player doing the smithing is estimated and may be inaccurate.
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayersPrepareSmithingTableScriptEvent.java#L18

Nameplayer raises|lowers|toggles item
Event Lines player raises|lowers|toggles <item>
Triggerswhen a player starts or stops holding up an item, such as a shield, spyglass, or crossbow.
Generated Exampleson player lowers item:
on player raises exposed_chiseled_copper:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Switchesreason:<reason> to only process the event if the reason matches the input.
Contexts<context.state> returns an ElementTag(Boolean) of whether the player raised or lowered the item.
<context.held_for> returns a DurationTag of how long the player held the item up for (only on Paper).
<context.hand> returns an ElementTag of the hand that the player is raising or lowering (only on Paper).
<context.item> returns an ItemTag of the item that the player is raising or lowering (only on Paper).
<context.reason> returns the reason for a state change. Can be: raise, lower, swap, hold, drop, quit, death.
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
Synonyms (Search Aid)player raises shield, player raises spyglass
GroupPlayer
Warning(s)For 'lowers', the item may be tracked incorrectly. Prefer 'player lowers item' (the generic item form) for a 'lowers' event (similar for 'toggles').
Also be aware this event may misfire in some cases.
This event and its data are more accurate on Paper servers.
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerRaiseLowerItemScriptEvent.java#L28

Nameplayer receives actionbar
Event Lines player receives actionbar
Triggerswhen a player receives any actionbar from the server.
Generated Exampleson player receives actionbar:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.message> returns an ElementTag of the actionbar.
<context.raw_json> returns an ElementTag of the raw JSON used for the actionbar.
Determine"MESSAGE:<ElementTag>" to change the actionbar.
"RAW_JSON:<ElementTag>" to change the JSON used for the actionbar.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
GroupPlayer
Warning(s)Triggering new actionbar messages in this event will cause it to re-fire.
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerReceivesActionbarScriptEvent.java#L5

Nameplayer receives message
Event Lines player receives message
Triggerswhen a player receives any chat message from the server. This does not normally include *player* chat, instead prefer Event:player chats for that.
Generated Examplesafter player receives message:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.message> returns an ElementTag of the message.
<context.raw_json> returns an ElementTag of the raw JSON used for the message.
<context.system_message> returns true if the message is a system message (not player chat).
Determine"MESSAGE:<ElementTag>" to change the message.
"RAW_JSON:<ElementTag>" to change the JSON used for the message.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
GroupPlayer
Warning(s)Using this will forcibly sync the chat thread.
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerReceivesMessageScriptEvent.java#L18

Nameplayer receives packet
Event Lines player receives packet
Triggerswhen a player receives a packet from the server.
Generated Exampleson player receives packet:
after player receives packet:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Switchesclass:<classname-matcher> to only process the event when the packet class name matches a given classname matcher.
Contexts<context.class> returns an ElementTag of the packet's class name. Note that these are spigot-mapped names, not Mojang-mapped.
<context.reflect_packet> returns a JavaReflectedObjectTag of the packet object.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
GroupPlayer
Warning(s)This event will fire extremely rapidly. Use with caution.
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerReceivesPacketScriptEvent.java#L16

Nameplayer right clicks entity
Event Lines player right clicks <entity>
Triggerswhen a player right clicks on an entity.
Generated Exampleson player right clicks entity:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Switcheswith:<item> to only process the event when the player is holding a specified item.
type:<entity> to only run if the entity clicked matches the entity input.
Contexts<context.entity> returns the EntityTag the player is clicking on.
<context.item> returns the ItemTag the player is clicking with.
<context.hand> returns "offhand" or "mainhand" to indicate which hand was used to fire the event. Some events fire twice - once for each hand.
<context.click_position> returns a LocationTag of the click position (as a world-less vector, relative to the entity's center). This is only available when clicking armor stands.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupPlayer
Warning(s)this event may in some cases double-fire, requiring usage of the 'ratelimit' command (like 'ratelimit <player> 1t') to prevent doubling actions.
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerRightClicksEntityScriptEvent.java#L21

Nameplayer sends packet
Event Lines player sends packet
Triggerswhen a player sends a packet to the server.
Generated Examplesafter player sends packet:
on player sends packet:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Switchesclass:<classname-matcher> to only process the event when the packet class name matches a given classname matcher.
Contexts<context.class> returns an ElementTag of the packet's class name. Note that these are spigot-mapped names, not Mojang-mapped.
<context.reflect_packet> returns a JavaReflectedObjectTag of the packet object.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
GroupPlayer
Warning(s)This event will fire extremely rapidly. Use with caution.
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerSendPacketScriptEvent.java#L16

Nameplayer steps on block
Event Lines player steps on block
player steps on <material>
Triggerswhen a player steps onto a specific block material.
Generated Examplesafter player steps on block:
after player steps on bamboo_fence_gate:
on player steps on block:
after player steps on music_disc_relic:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.location> returns a LocationTag of the block the player is stepping on.
<context.previous_location> returns a LocationTag of where the player was before stepping onto the block.
<context.new_location> returns a LocationTag of where the player is now.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupPlayer
Warning(s)This event may fire very rapidly.
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerStepsOnScriptEvent.java#L17

Nameplayer walks
Event Lines player walks
Triggerswhen a player moves in the slightest.
Generated Examplesafter player walks:
on player walks:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.old_location> returns the location of where the player was.
<context.new_location> returns the location of where the player is.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupPlayer
Warning(s)This event fires very very rapidly!
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerWalkScriptEvent.java#L15

Nameplayer right|left clicks block
Event Lines player (right|left) clicks <block>
Triggerswhen a player clicks on a block or in the air.
Generated Examplesafter player clicks gray_shulker_box:
after player clicks redstone_ore:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Switcheswith:<item> to only process the event if a specified item was held.
using:hand/off_hand/either_hand to only process the event if the specified hand was used to click.
type:<material> to only run if the block clicked matches the material input.
Contexts<context.item> returns the ItemTag the player is clicking with.
<context.location> returns the LocationTag the player is clicking on.
<context.relative> returns a LocationTag of the air block in front of the clicked block.
<context.click_type> returns an ElementTag of the Spigot API click type 🔗https://hub.spigotmc.org/javadocs/spigot/org/bukkit/event/block/Action.html.
<context.hand> returns an ElementTag of the used hand.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupPlayer
Warning(s)this event may in some cases double-fire, requiring usage of the 'ratelimit' command (like 'ratelimit <player> 1t') to prevent doubling actions.
this sometimes fires at unexpected times, eg when dropping an item.
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerClicksBlockScriptEvent.java#L22

Nameplayer chooses arrow
Event Lines player chooses arrow
Triggerswhen a player chooses an arrow to load a bow/crossbow.
Example
# This example prevents using any arrow but spectral_arrows.
on player chooses arrow arrow:!spectral_arrow:
- determine cancelled
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Switchesarrow:<item> to only process the event when the players chosen arrow matches the input.
bow:<item> to only process the event when the players bow matches the input.
Contexts<context.arrow> returns the ItemTag of the arrow that was chosen.
<context.bow> returns the ItemTag of the bow that is about to get loaded.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupPlayer
RequiresPaper
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/paper/src/main/java/com/denizenscript/denizen/paper/events/PlayerChoosesArrowScriptEvent.java#L17

Nameplayer prepares grindstone craft item
Event Lines player prepares grindstone craft <item>
Triggerswhen a player prepares to grind an item.
Example
# This example removes the usually not removable curse of binding enchantment.
on player prepares grindstone craft item:
- determine result:<context.result.with[remove_enchantments=binding_curse]>
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.inventory> returns the InventoryTag of the grindstone inventory.
<context.result> returns the ItemTag to be crafted.
Determine"RESULT:<ItemTag>" to change the item that is crafted.
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupPlayer
RequiresPaper
Warning(s)The player doing the grinding is estimated and may be inaccurate.
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/paper/src/main/java/com/denizenscript/denizen/paper/events/PlayerPreparesGrindstoneCraftScriptEvent.java#L18



Category: Server


Nameserver list ping
Event Lines server list ping
Triggerswhen the server is pinged for a client's server list.
Generated Exampleson server list ping:
Contexts<context.motd> returns the MOTD that will show.
<context.max_players> returns the number of max players that will show.
<context.num_players> returns the number of online players that will show.
<context.address> returns the IP address requesting the list.
<context.hostname> returns an ElementTag of the server address that is being pinged. Available only on MC 1.19+.
<context.protocol_version> returns the protocol ID of the server's version (only on Paper).
<context.version_name> returns the name of the server's version (only on Paper).
<context.client_protocol_version> returns the client's protocol version ID (only on Paper).
Determine"MAX_PLAYERS:<ElementTag(Number)>" to change the max player amount that will show.
"ICON:<ElementTag>" of a file path to an icon image, to change the icon that will display.
"PROTOCOL_VERSION:<ElementTag(Number)>" to change the protocol ID number of the server's version (only on Paper).
"VERSION_NAME:<ElementTag>" to change the server's version name (only on Paper).
"EXCLUDE_PLAYERS:<ListTag(PlayerTag)>" to exclude a set of players from showing in the player count or preview of online players (only on Paper).
"ALTERNATE_PLAYER_TEXT:<ListTag>" to set custom text for the player list section of the server status (only on Paper). (Requires "Allow restricted actions" in Denizen/config.yml). Usage of this to present lines that look like player names (but aren't) is forbidden.
"MOTD:<ElementTag>" to change the MOTD that will show.
GroupServer
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/server/ListPingScriptEvent.java#L26

Nameserver start
Event Lines server start
Triggerswhen the server starts.
Generated Exampleson server start:
GroupServer
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/server/ServerStartScriptEvent.java#L7

Nametab complete
Event Lines tab complete
Triggerswhen a player or the console is sent a list of available tab completions.
Generated Exampleson tab complete:
Has Playerwhen the tab completion is done by a player. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Switchescommand:<command_name> to only process the event if the command matches the input name.
Contexts<context.buffer> returns the full raw command buffer.
<context.command> returns the command name.
<context.current_arg> returns the current argument for completion.
<context.completions> returns a list of available tab completions.
<context.server> returns true if the tab completion was triggered from the console.
DetermineListTag to set the list of available tab completions.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
GroupServer
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/server/TabCompleteScriptEvent.java#L18

Namecommand
Event Lines command
<command_name> command
Triggerswhen a player, console, or command block/minecart runs a Bukkit command. This happens before
any code of established commands, allowing scripts to 'override' existing commands.
Note that for the sake of the event line, escaping is used, so 'bukkit:plugins' becomes 'bukkit&coplugins'
Generated Examplesafter command:
after command_name command:
Has Playerwhen source_type is player. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.command> returns the command name as an ElementTag.
<context.raw_args> returns any args used, unmodified as plaintext.
<context.args> returns a ListTag of the arguments.
<context.source_type> returns the source of the command. Can be: PLAYER, SERVER, COMMAND_BLOCK, or COMMAND_MINECART.
<context.command_block_location> returns the command block's location (if the command was run from one).
<context.command_minecart> returns the EntityTag of the command minecart (if the command was run from one).
Determine"FULFILLED" to tell Bukkit the command was handled.
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupServer
Warning(s)This event is to override existing commands, and should not be used to create new commands - use a command script instead.
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/server/CommandScriptEvent.java#L27

Nameinternal bukkit event
Event Lines internal bukkit event
Triggerswhen the specified internal Bukkit event fires. Useful for testing/debugging, or for interoperation with external plugins that have their own Bukkit events. Get the raw event via 'context.reflect_event'.
Generated Exampleson internal bukkit event:
after internal bukkit event:
Switchesevent:<path> (required) to specify the Bukkit event path to use (like "event:org.bukkit.event.block.BlockBreakEvent")
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
GroupServer
Warning(s)This exists primarily for testing/debugging, and is almost never a good idea to include in a real script.
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/server/InternalEventScriptEvent.java#L23

Nameserver prestart
Event Lines server prestart
Triggersbefore the server finishes starting... fired after some saves are loaded, but before other data is loaded. Use with extreme caution.
Example
on server prestart:
- createworld my_extra_world
GroupServer
Warning(s)This event uses special pre-loading tricks to fire before everything else. Use extreme caution.
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/server/ServerPrestartScriptEvent.java#L9

Nameshutdown
Event Lines shutdown
Triggerswhen the server is shutting down.
Example
# This *might* show a message in logs during shutdown. No guarantee.
on shutdown:
- announce to_console "Last message in the logs from Denizen probably!"
GroupServer
Warning(s)not all plugins will be loaded and delayed scripts will be dropped.
Also note that this event is not guaranteed to always run (eg if the server crashes).
Sourcehttps://github.com/DenizenScript/Denizen-Core/blob/master/src/main/java/com/denizenscript/denizencore/events/core/ShutdownScriptEvent.java#L7



Category: Vehicle


Namevehicle collides with block
Event Lines vehicle collides with block
vehicle collides with <material>
<vehicle> collides with block
<vehicle> collides with <material>
Triggerswhen a vehicle collides with a block.
Generated Examplesafter vehicle collides with block:
on vehicle collides with light_blue_wall_banner:
on vehicle collides with block:
on minecart collides with guster_pottery_sherd:
after vehicle collides with orange_tulip:
on horse collides with zombie_head:
Contexts<context.vehicle> returns the EntityTag of the vehicle.
<context.location> returns the LocationTag of the block.
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupVehicle
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/vehicle/VehicleCollidesBlockScriptEvent.java#L14

Namevehicle collides with entity
Event Lines vehicle collides with entity
vehicle collides with <entity>
<vehicle> collides with entity
<vehicle> collides with <entity>
Triggerswhen a vehicle collides with an entity.
Example
on vehicle collides with entity:
Example
on minecart collides with sheep:
Example
# This example disambiguates this event from the "projectile collides with entity" event for specific entity types.
on vehicle collides with entity type:creeper:
- announce "A <context.vehicle.entity_type> collided with a creeper!"
Has Playerwhen a vehicle collides with a player. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Has NPCwhen a vehicle collides with an NPC.
Switchestype:<entity> to only process the event if the colliding entity matches the EntityTag matcher input.
Contexts<context.vehicle> returns the EntityTag of the vehicle.
<context.entity> returns the EntityTag of the entity the vehicle has collided with.
<context.pickup> returns whether the vehicle can pick up the entity.
Determine"PICKUP:<ElementTag(Boolean)>" to set whether the vehicle is allowed to pick up the entity or not.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupVehicle
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/vehicle/VehicleCollidesEntityScriptEvent.java#L16

Namevehicle created
Event Lines vehicle created
<vehicle> created
Triggerswhen a vehicle is created.
Generated Examplesafter vehicle created:
on horse created:
Contexts<context.vehicle> returns the EntityTag of the vehicle.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupVehicle
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/vehicle/VehicleCreatedScriptEvent.java#L13

Namevehicle damaged
Event Lines <vehicle> damaged
<entity> damages <vehicle>
Triggerswhen a vehicle is damaged.
Example
on vehicle damaged:
- announce "A <context.vehicle.entity_type> took a hit!"
Example
# This example disambiguates this event from the "entity damaged" event for specific vehicle entity types.
on vehicle damaged type:minecart:
- announce "<context.vehicle.entity_type> took vehicular damage!"
Example
on player damages minecart:
- announce "<player.name> caused damage to a minecart!"
Has NPCwhen the entity that damaged the vehicle is an NPC.
Switchestype:<vehicle> to only run if the vehicle damaged matches the EntityTag matcher input.
Contexts<context.vehicle> returns the EntityTag of the vehicle.
<context.entity> returns the EntityTag of the attacking entity.
<context.damage> returns the amount of damage to be received.
DetermineElementTag(Decimal) to set the value of the damage received by the vehicle.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupVehicle
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/vehicle/VehicleDamagedScriptEvent.java#L15

Namevehicle destroyed
Event Lines vehicle destroyed
<vehicle> destroyed
entity destroys vehicle
<entity> destroys vehicle
entity destroys <vehicle>
<entity> destroys <vehicle>
Triggerswhen a vehicle is destroyed.
Generated Exampleson vehicle destroyed:
on minecart destroyed:
after entity destroys vehicle:
on entity destroys vehicle:
after player destroys vehicle:
after minecart destroyed:
after monster destroys vehicle:
on wind_charge destroys vehicle:
Has NPCwhen the entity that destroyed the vehicle is an NPC.
Contexts<context.vehicle> returns the EntityTag of the vehicle.
<context.entity> returns the EntityTag of the attacking entity.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupVehicle
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/vehicle/VehicleDestroyedScriptEvent.java#L14

Namevehicle moves
Event Lines vehicle moves
<vehicle> moves
Triggerswhen a vehicle moves in the slightest.
Generated Exampleson vehicle moves:
on minecart moves:
after vehicle moves:
after horse moves:
Contexts<context.vehicle> returns the EntityTag of the vehicle.
<context.from> returns the location of where the vehicle was.
<context.to> returns the location of where the vehicle is.
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupVehicle
Warning(s)This event fires very very rapidly!
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/vehicle/VehicleMoveScriptEvent.java#L13



Category: World


Namegeneric game event
Event Lines generic game event
Triggerswhen the minecraft world experiences a generic minecraft game event. This is normally used for sculk sensors.
Generated Examplesafter generic game event:
Switchestype:<game_event_name> to only process the event when a specific game event is fired.
Contexts<context.location> returns the location of the event.
<context.entity> returns the entity that triggered the event, if any.
<context.game_event> returns the name of the Minecraft game event, for example "minecraft:block_change". See 🔗https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/GameEvent.html.
<context.radius> returns the radius, in blocks, that the event is broadcast to.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupWorld
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/world/GenericGameEventScriptEvent.java#L16

Namelightning strikes
Event Lines lightning strikes
Triggerswhen lightning strikes in a world.
Generated Examplesafter lightning strikes:
Contexts<context.lightning> returns the EntityTag of the lightning.
<context.location> returns the LocationTag where the lightning struck.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupWorld
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/world/LightningStrikesScriptEvent.java#L13

Namelingering potion splash|splashes
Event Lines lingering potion splash|splashes
lingering <item> splash|splashes
Triggerswhen a lingering splash potion breaks open
Generated Exampleson lingering potion splash:
after lingering torchflower_seeds splashes:
on lingering birch_stairs splashes:
Contexts<context.potion> returns an ItemTag of the potion that broke open.
<context.location> returns the LocationTag the splash potion broke open at.
<context.entity> returns an EntityTag of the splash potion.
<context.cloud> returns the EntityTag of the area of effect cloud.
<context.radius> returns the radius of the effect cloud.
<context.duration> returns the lingering duration of the effect cloud.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupWorld
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/world/LingeringPotionSplashScriptEvent.java#L16

Nameloot generates
Event Lines loot generates
Triggerswhen loot is generated somewhere in the world (like a vanilla chest being opened for the first time).
Generated Examplesafter loot generates:
Has Playerwhen the linked entity is a player. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Switchesfor:<type> to only process the event if a certain inventory type is receiving loot (like 'for:chest').
Contexts<context.entity> returns an entity that caused loot generation, if any.
<context.inventory> returns the InventoryTag that loot is generating into.
<context.items> returns a ListTag of the items being generated.
<context.loot_table_id> returns an element indicating the minecraft key for the loot-table that was generated.
Determine"LOOT:<ListTag(ItemTag)>" to change the list of items that will generate as loot.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupWorld
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/world/LootGenerateScriptEvent.java#L22

Nameportal created because reason
Event Lines portal created (because <reason>)
Triggerswhen a portal is created.
Generated Exampleson portal created because reason:
on portal created:
Contexts<context.entity> returns the EntityTag that created the portal.
<context.world> returns the WorldTag the portal was created in.
<context.reason> returns an ElementTag of the reason the portal was created. (FIRE, NETHER_PAIR, END_PLATFORM)
<context.blocks> returns a ListTag of all the blocks that will become portal blocks.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupWorld
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/world/PortalCreateScriptEvent.java#L17

Namepotion splash|splashes
Event Lines potion splash|splashes
<item> splash|splashes
Triggerswhen a splash potion breaks open.
Example
# This example sets the intensity of the first affected entity to 0.6.
on potion splashes:
- if <context.entities.any>:
     - determine INTENSITY:[entity=<context.entities.first>;intensity=0.6]
Contexts<context.potion> returns an ItemTag of the potion that broke open.
<context.entities> returns a ListTag of affected entities.
<context.location> returns the LocationTag the splash potion broke open at.
<context.entity> returns an EntityTag of the splash potion.
<context.intensity> returns an ListTag(MapTag) of the intensity for all affected entities.
DetermineINTENSITY:<ListTag(MapTag)>" to set the intensity of specified entities.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupWorld
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/world/PotionSplashScriptEvent.java#L25

Nameraid finishes
Event Lines raid finishes
Triggerswhen a village raid finishes normally.
Generated Examplesafter raid finishes:
on raid finishes:
Contexts<context.raid> returns the raid data. See Language:Raid Event Data.
<context.winners> returns the ListTag of players who completed the raid. This is separate from the raid's heroes in that the winners are guaranteed to be online.
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupWorld
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/world/RaidFinishesScriptEvent.java#L13

Nameraid spawns wave
Event Lines raid spawns wave
Triggerswhen a village raid spawns a new wave of raiders.
Generated Examplesafter raid spawns wave:
Contexts<context.raid> returns the raid data. See Language:Raid Event Data.
<context.leader> returns the EntityTag of the patrol leader of the wave.
<context.new_raiders> returns the ListTag of all new raiders.
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupWorld
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/world/RaidSpawnsWaveScriptEvent.java#L13

Nameraid stops
Event Lines raid stops
Triggerswhen a village raid stops for any reason.
Generated Exampleson raid stops:
after raid stops:
Switchesreason:<reason> to only process the event if the raid stopped for a certain reason.
Contexts<context.raid> returns the raid data. See Language:Raid Event Data.
<context.reason> returns the reason for stopping. See 🔗https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/event/raid/RaidStopEvent.Reason.html.
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupWorld
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/world/RaidStopsScriptEvent.java#L11

Namespawn changes
Event Lines spawn changes
Triggerswhen the world's spawn point changes.
Generated Examplesafter spawn changes:
Switchesfor:<world> to only process the event when a specified world's spawn changes.
Contexts<context.world> returns the WorldTag that the spawn point changed in.
<context.old_location> returns the LocationTag of the old spawn point.
<context.new_location> returns the LocationTag of the new spawn point.
GroupWorld
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/world/SpawnChangeScriptEvent.java#L13

Namestructure/plant grows naturally
Event Lines <structure/plant> grows (naturally)
<structure/plant> grows from bonemeal
Triggerswhen a structure (a tree or a mushroom) grows in a world.
Generated Examplesafter structure/plant grows:
on structure/plant grows from bonemeal:
on structure/plant grows naturally:
Has Playerwhen a player caused the structure growth to occur (eg with bonemeal). - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.world> returns the WorldTag the structure grew in.
<context.location> returns the LocationTag the structure grew at.
<context.structure> returns an ElementTag of the structure's type. Refer to 🔗https://hub.spigotmc.org/javadocs/spigot/org/bukkit/TreeType.html.
<context.blocks> returns a ListTag of all block locations to be modified.
<context.new_materials> returns a ListTag of the new block materials, to go with <context.blocks>.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupWorld
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/world/StructureGrowsScriptEvent.java#L20

Namethunder changes|begins|clears
Event Lines thunder changes|begins|clears
Triggerswhen thunder starts or stops in a world.
Generated Exampleson thunder changes:
on thunder begins:
Switchesin:<world> to only run the event if it applies to a specific world.
Contexts<context.world> returns the WorldTag the thunder changed in.
<context.thunder> returns true if thunder is starting, or false if thunder is stopping.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
GroupWorld
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/world/ThunderChangesScriptEvent.java#L13

Nametime changes in world
Event Lines time changes (in <world>)
time <0-23> (in <world>)
Triggerswhen the current time changes in a world (once per mine-hour).
Generated Examplesafter time changes:
on time 0-23 in world_the_end:
on time 0-23 in world:
Contexts<context.time> returns the current time (the hour, as a number from 0 to 23).
<context.world> returns the world.
GroupWorld
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/world/TimeChangeScriptEvent.java#L11

Nameweather changes|rains|clears in world
Event Lines weather changes|rains|clears (in <world>)
Triggerswhen weather changes in a world.
Generated Examplesafter weather rains in world_the_end:
on weather clears:
Contexts<context.world> returns the WorldTag the weather changed in.
<context.weather> returns an ElementTag with the name of the new weather (rains or clears).
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
GroupWorld
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/world/WeatherChangesScriptEvent.java#L13

Nameworld initializes
Event Lines <world> initializes
Triggerswhen a world is initialized.
Generated Examplesafter world_the_end initializes:
after space initializes:
Contexts<context.world> returns the WorldTag that was initialized.
GroupWorld
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/world/WorldInitsScriptEvent.java#L12

Nameworld loads
Event Lines <world> loads
Triggerswhen a world is loaded.
Generated Exampleson world_nether loads:
on space loads:
Contexts<context.world> returns the WorldTag that was loaded.
GroupWorld
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/world/WorldLoadsScriptEvent.java#L12

Nameworld saves
Event Lines <world> saves
Triggerswhen a world is saved.
Generated Exampleson world saves:
after world saves:
Contexts<context.world> returns the WorldTag that was saved.
GroupWorld
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/world/WorldSavesScriptEvent.java#L12

Nameworld unloads
Event Lines <world> unloads
Triggerswhen a world is unloaded.
Generated Exampleson space unloads:
after world unloads:
Contexts<context.world> returns the WorldTag that was unloaded.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
GroupWorld
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/world/WorldUnloadsScriptEvent.java#L12

Namechunk loads entities
Event Lines chunk loads entities
Triggerswhen a chunk loads in its entities.
Generated Exampleson chunk loads entities:
Switchesentity_type:<type-matcher> to only fire in the chunk contains an entity that matches the given entity matcher.
include_empty:<true/false> defaults to false, set to 'true' to include chunks loading an empty set of entities.
Contexts<context.chunk> returns the loading chunk.
<context.entities> returns a ListTag of all entities to be loaded.
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupWorld
Warning(s)This event will fire very rapidly.
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/world/ChunkLoadEntitiesScriptEvent.java#L15

Namechunk loads for the first time
Event Lines chunk loads (for the first time)
Triggerswhen a new chunk is loaded
Generated Examplesafter chunk loads:
on chunk loads for the first time:
Contexts<context.chunk> returns the loading chunk.
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupWorld
Warning(s)This event will fire *extremely* rapidly and often when using 'for the first time'.
When not using that, it will fire so rapidly that lag is almost guaranteed. Use with maximum caution.
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/world/ChunkLoadScriptEvent.java#L12

Namechunk unloads
Event Lines chunk unloads
Triggerswhen a chunk is unloaded
Generated Examplesafter chunk unloads:
Contexts<context.chunk> returns the unloading chunk.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupWorld
Warning(s)This event will fire *extremely* rapidly and often!
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/world/ChunkUnloadScriptEvent.java#L12

Namechunk unloads entities
Event Lines chunk unloads entities
Triggerswhen a chunk unloads in its entities. Note that this is basically a notification - it's already too late to change entity data.
Generated Exampleson chunk unloads entities:
Switchesentity_type:<type-matcher> to only fire in the chunk contains an entity that matches the given entity matcher.
include_empty:<true/false> defaults to false, set to 'true' to include chunks loading an empty set of entities.
Contexts<context.chunk> returns the unloading chunk.
<context.entities> returns a ListTag of all entities being unloaded.
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupWorld
Warning(s)This event will fire very rapidly.
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/world/ChunkUnloadEntitiesScriptEvent.java#L15



Category: Clientizen


Nameclientizen event
Event Lines clientizen event
TriggersWhen the server receives an event from a clientizen client, this requires config option 'Clientizen.process events' in the Depenizen config.
Example
# Use to listen to Clientizen events with the id 'my_id' and send the player that sent them a message.
on clientizen event id:my_id:
- narrate "Hello! you sent an event with the id '<context.id>'"
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Switchesid:<id> to only process the event if the identifier received from the client matches the specified matcher.
Contexts<context.id> returns an ElementTag of the event identifier received from the client.
<context.data> returns the context MapTag received from the client as a map of keys to ElementTags.
<context.(key)> returns the ElementTag value of the input key in the context map, if available.
GroupClientizen
Warning(s)The client can send any data it wants, so should very carefully verify any input before using it.
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/clientizen/ClientizenEventScriptEvent.java#L15



Category: Depenizen


Nameareashop shop bought
Event Lines areashop <shop> bought
Triggerswhen an AreaShop is bought.
Generated Examplesafter areashop shop bought:
on areashop shop bought:
Has PlayerAlways (the buyer). - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.shop> returns the AreaShop that's being bought.
GroupDepenizen
RequiresDepenizen, AreaShop
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/events/areashop/AreaShopBoughtScriptEvent.java#L15

Nameareashop shop expires
Event Lines areashop <shop> expires
Triggerswhen an AreaShop's rent expires.
Generated Examplesafter areashop shop expires:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.shop> Returns the AreaShop that's expiring.
GroupDepenizen
RequiresDepenizen, AreaShop
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/events/areashop/AreaShopExpiresScriptEvent.java#L15

Nameareashop shop rented
Event Lines areashop <shop> rented
Triggerswhen an AreaShop is rented.
Generated Examplesafter areashop shop rented:
Has PlayerAlways (the renter). - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.shop> returns the AreaShop that's being rented.
<context.extended> returns true if the region has been extended, false if this is the first time buying the region.
GroupDepenizen
RequiresDepenizen, AreaShop
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/events/areashop/AreaShopRentedScriptEvent.java#L16

Nameareashop shop resold
Event Lines areashop <shop> resold
Triggerswhen an AreaShop is resold.
Generated Examplesafter areashop shop resold:
Has PlayerAlways (the buyer). - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.shop> returns the AreaShop that's being resold.
<context.seller> returns the player that has resold the shop.
GroupDepenizen
RequiresDepenizen, AreaShop
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/events/areashop/AreaShopResoldScriptEvent.java#L15

Nameareashop shop sold
Event Lines areashop <shop> sold
Triggerswhen an AreaShop is resold.
Generated Examplesafter areashop shop sold:
on areashop shop sold:
Has PlayerAlways (the old buyer). - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.shop> returns the AreaShop that's being sold.
GroupDepenizen
RequiresDepenizen, AreaShop
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/events/areashop/AreaShopSoldScriptEvent.java#L15

Namearikeys key pressed
Event Lines arikeys key pressed
TriggersWhen a key is pressed by a client running AriKeys, if that key is in the AriKeys config.
Generated Exampleson arikeys key pressed:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Switchesid:<id> to only process the event if the key ID matches the given text matcher.
Contexts<context.id> Returns the ID of the key that was pressed according to the AriKeys config, as a namespaced key.
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupDepenizen
RequiresDepenizen, AriKeys
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/events/arikeys/AriKeysKeyPressScriptEvent.java#L14

Namearikeys key released
Event Lines arikeys key released
TriggersWhen a key stops being pressed by a client running AriKeys, if that key is in the AriKeys config.
Generated Examplesafter arikeys key released:
on arikeys key released:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Switchesid:<id> to only process the event if the key ID matches the given text matcher.
Contexts<context.id> Returns the ID of the key that was released according to the AriKeys config, as a namespaced key.
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupDepenizen
RequiresDepenizen, AriKeys
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/events/arikeys/AriKeysKeyReleaseScriptEvent.java#L14

Namebigdoors door toggles|opens|closes
Event Lines bigdoors door toggles|opens|closes
Triggerswhen a Big Doors door opens or closes.
Generated Examplesafter bigdoors door opens:
Switchesdoor:<id> to only process the event if the door matches the input.
Contexts<context.door> returns the Big Doors door being toggled.
<context.state> returns the Big Doors open state ('open' or 'close').
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
GroupDepenizen
RequiresDepenizen, Big Doors
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/events/bigdoors/BigDoorsDoorTogglesScriptEvent.java#L15

Namebungee player joins network
Event Lines bungee player joins network
Triggerswhen a player joins the Bungee network (but has not yet entered a server).
Generated Examplesafter bungee player joins network:
on bungee player joins network:
Has Playerwhen the player has been on this specific server before. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.name> returns the connecting player's name.
<context.uuid> returns the connecting player's UUID.
<context.ip> returns the connecting player's IP address.
<context.hostname> returns the virtual hostname that the player is connecting to.
GroupDepenizen
RequiresDepenizen, DepenizenBungee, BungeeCord
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/events/bungee/BungeePlayerJoinsScriptEvent.java#L16

Namebungee player leaves network
Event Lines bungee player leaves network
Triggerswhen a player leaves the Bungee network.
Generated Examplesafter bungee player leaves network:
on bungee player leaves network:
Has Playerwhen the player has been on this specific server before. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.name> returns the leaving player's name.
<context.uuid> returns the leaving player's UUID.
<context.ip> returns the leaving player's IP address.
GroupDepenizen
RequiresDepenizen, DepenizenBungee, BungeeCord
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/events/bungee/BungeePlayerQuitsScriptEvent.java#L16

Namebungee player switches to server
Event Lines bungee player switches to server
Triggerswhen a player switches to a new server on the Bungee network.
Generated Exampleson bungee player switches to server:
after bungee player switches to server:
Has Playerwhen the player has been on this specific server before. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.name> returns the switching player's name.
<context.uuid> returns the switching player's UUID.
<context.server> returns the name of the server being switched to.
GroupDepenizen
RequiresDepenizen, DepenizenBungee, BungeeCord
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/events/bungee/BungeePlayerServerSwitchScriptEvent.java#L16

Namebungee server connects
Event Lines bungee server connects
Triggerswhen another server on the Bungee network becomes connected.
Generated Examplesafter bungee server connects:
Contexts<context.server> returns the name of the newly connected server.
GroupDepenizen
RequiresDepenizen, DepenizenBungee, BungeeCord
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/events/bungee/BungeeServerConnectScriptEvent.java#L11

Namebungee server disconnects
Event Lines bungee server disconnects
Triggerswhen another server on the Bungee network becomes disconnected.
Generated Exampleson bungee server disconnects:
after bungee server disconnects:
Contexts<context.server> returns the name of the previously connected server.
GroupDepenizen
RequiresDepenizen, DepenizenBungee, BungeeCord
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/events/bungee/BungeeServerDisconnectScriptEvent.java#L11

Namecrackshot landmine triggered
Event Lines crackshot landmine triggered
Triggerswhen a CrackShot landmine is triggered by an entity walking through it.
Generated Examplesafter crackshot landmine triggered:
Has PlayerAlways - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.weapon> returns the weapon name of the landmine.
<context.victim> returns the entity that triggered the landmine.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
GroupDepenizen
RequiresDepenizen, CrackShot
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/events/crackshot/CrackShotLandmineTriggerEvent.java#L15

Namecrackshot player finishes reloading weapon
Event Lines crackshot player finishes reloading weapon
Triggerswhen a player finishes reloading their CrackShot weapon.
Generated Examplesafter crackshot player finishes reloading weapon:
on crackshot player finishes reloading weapon:
Has PlayerAlways - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.weapon> returns the name of the weapon.
GroupDepenizen
RequiresDepenizen, CrackShot
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/events/crackshot/CrackShotPlayerFinishesReloadingWeaponEvent.java#L14

Namecrackshot player fires automatic weapon
Event Lines crackshot player fires automatic weapon
Triggerswhile a player is firing a fully automatic CrackShot weapon.
Generated Examplesafter crackshot player fires automatic weapon:
Has PlayerAlways - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.weapon> returns the name of the weapon.
<context.fire_rate> returns the weapon fire rate.
Determine"FIRE_RATE:<ElementTag(Number)>" to set the fire rate.
GroupDepenizen
RequiresDepenizen, CrackShot
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/events/crackshot/CrackShotPlayerFiresAutomaticWeaponEvent.java#L16

Namecrackshot player fires projectile
Event Lines crackshot player fires projectile
Triggersjust before a projectile is launched from a CrackShot weapon.
Generated Examplesafter crackshot player fires projectile:
Has PlayerAlways - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.weapon> returns the name of the weapon about to fire.
<context.bullet_spread> returns the spread of the projectiles being fired.
<context.left_click> returns whether the fire was a left click.
<context.shot_sounds> returns a list of the shot sounds.
Determine"BULLET_SPREAD:<ElementTag(Number)>" to set the bullet spread.
"SHOT_SOUNDS:<ElementTag>" to set the shot sounds. Use "NONE" to have no sound. 🔗https://github.com/Shampaggon/CrackShot/wiki/The-Complete-Guide-to-CrackShot#sounds
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
GroupDepenizen
RequiresDepenizen, CrackShot
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/events/crackshot/CrackShotPlayerFiresProjectileEvent.java#L19

Namecrackshot player places landmine
Event Lines crackshot player places landmine
Triggerswhen a player places a landmine.
Generated Examplesafter crackshot player places landmine:
on crackshot player places landmine:
Has PlayerAlways - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.landmine> returns the EntityTag for the landmine.
GroupDepenizen
RequiresDepenizen, CrackShot
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/events/crackshot/CrackShotPlayerPlacesLandmineEvent.java#L14

Namecrackshot player starts firing weapon
Event Lines crackshot player starts firing weapon
Triggerswhen a player tries to start firing a CrackShot weapon.
Generated Exampleson crackshot player starts firing weapon:
Has PlayerAlways - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.weapon> returns the name of the weapon.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
GroupDepenizen
RequiresDepenizen, CrackShot
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/events/crackshot/CrackShotPlayerStartsFiringWeaponEvent.java#L14

Namecrackshot player starts reloading weapon
Event Lines crackshot player starts reloading weapon
Triggerswhen a player starts reloading their CrackShot weapon.
Generated Examplesafter crackshot player starts reloading weapon:
on crackshot player starts reloading weapon:
Has PlayerAlways - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.weapon> returns the name of the weapon.
<context.reload_speed> returns the rate at which the weapon is reloaded.
<context.reload_time> returns the time taken to reload in ticks.
<context.reload_sounds> returns a ListTag of the reload sounds.
Determine"RELOAD_SPEED: <ElementTag(Number)>" to set the reload speed.
The reload speed can be scaled with a decimal ranging from zero to infinity.
For example, 0 is instantaneous, 1 is normal and 2 will double the reload time.
"RELOAD_TIME:<DurationTag>" to set the time taken to reload in ticks.
"RELOAD_SOUNDS:<ElementTag>" to set the reload sounds. Use "NONE" to have no sound. 🔗https://github.com/Shampaggon/CrackShot/wiki/The-Complete-Guide-to-CrackShot#sounds
GroupDepenizen
RequiresDepenizen, CrackShot
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/events/crackshot/CrackShotPlayerStartsReloadingWeaponEvent.java#L20

Namecrackshot player toggles weapon attachment
Event Lines crackshot player toggles weapon attachment
Triggerswhen a player toggles an attachment on a CrackShot weapon.
Generated Examplesafter crackshot player toggles weapon attachment:
Has PlayerAlways - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.weapon> returns the name of the weapon.
<context.delay> returns the delay between toggles.
Determine"TOGGLE_DELAY:<ElementTag(Number)>" to set the time between toggles.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
GroupDepenizen
RequiresDepenizen, CrackShot
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/events/crackshot/CrackShotPlayerTogglesWeaponAttachmentEvent.java#L17

Namecrackshot player zooms weapon scope
Event Lines crackshot player zooms weapon scope
Triggerswhen a player zooms their CrackShot weapon scope.
Generated Examplesafter crackshot player zooms weapon scope:
Has PlayerAlways - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.weapon> returns the name of the weapon.
<context.zoomed> returns whether the player zoomed in.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
GroupDepenizen
RequiresDepenizen, CrackShot
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/events/crackshot/CrackShotPlayerZoomsWeaponScopeEvent.java#L14

Namecrackshot weapon causes explosion
Event Lines crackshot weapon causes explosion
Triggerswhen a CrackShot weapon explodes, splits or airstrikes.
Generated Examplesafter crackshot weapon causes explosion:
Has PlayerAlways - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.location> returns the LocationTag for where the explosion occurred.
<context.weapon> returns the weapon name that caused the explosion.
<context.split> returns whether the explosion was a cluster bomb splitting.
<context.airstrike> returns whether the explosion was an airstrike call.
GroupDepenizen
RequiresDepenizen, CrackShot
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/events/crackshot/CrackShotWeaponCausesExplosionEvent.java#L15

Namecrackshot weapon damages entity
Event Lines crackshot weapon damages entity
Triggerswhen an entity is damaged by a CrackShot weapon.
Generated Exampleson crackshot weapon damages entity:
after crackshot weapon damages entity:
Has PlayerAlways - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.damager> returns the entity that did the damage. This can be a projectile, or TNT.
<context.weapon> returns the name of the weapon that did the damage.
<context.victim> returns the entity that was damaged.
<context.damage> returns the amount of damage dealt.
<context.backstab> returns if the attack was a back-stab.
<context.critical> returns if the attack was a critical hit.
<context.headshot> returns if the attack was a head-shot.
DetermineElementTag(Decimal) to set damage dealt.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
GroupDepenizen
RequiresDepenizen, CrackShot
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/events/crackshot/CrackShotWeaponDamageEntityEvent.java#L16

Nameessentials player balance changes
Event Lines essentials player balance changes
Triggerswhen a player's balance changes, when using Essentials economy.
Generated Examplesafter essentials player balance changes:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.old_balance> Returns the balance before changes are made.
<context.new_balance> Returns the balance after changes are made.
<context.cause> returns the reason for the balance change, refer to 🔗https://github.com/EssentialsX/Essentials/blob/2.x/Essentials/src/main/java/net/ess3/api/events/UserBalanceUpdateEvent.java#L73-L78.
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupDepenizen
RequiresDepenizen, Essentials
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/events/essentials/PlayerBalanceChangeScriptEvent.java#L14

Namegp claim changed
Event Lines gp claim changed
Triggerswhen a Grief Prevention claim is modified.
Generated Examplesafter gp claim changed:
on gp claim changed:
Has Playerwhen source_type is player. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.old_claim> returns the GriefPreventionClaimTag of the old claim.
<context.new_claim> returns the GriefPreventionClaimTag of the new claim.
<context.source_type> returns the source of the change. Can be: PLAYER, SERVER, or AUTO_DEEPEN.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
GroupDepenizen
RequiresDepenizen, GriefPrevention
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/events/griefprevention/GPClaimChangedScriptEvent.java#L19

Namegp claim created
Event Lines gp claim created
Triggerswhen a Grief Prevention claim is created.
Generated Exampleson gp claim created:
Has Playerwhen source_type is player. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.claim> returns the GriefPreventionClaimTag that is being created.
<context.source_type> returns the source of the creation. Can be PLAYER or SERVER.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
GroupDepenizen
RequiresDepenizen, GriefPrevention
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/events/griefprevention/GPClaimCreatedScriptEvent.java#L17

Namegp claim deleted
Event Lines gp claim deleted
Triggerswhen a Grief Prevention claim is deleted.
Generated Exampleson gp claim deleted:
after gp claim deleted:
Contexts<context.claim> returns the GriefPreventionClaimTag being deleted.
GroupDepenizen
RequiresDepenizen, GriefPrevention
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/events/griefprevention/GPClaimDeletedScriptEvent.java#L12

Namejobs player earns exp for job
Event Lines jobs player earns exp for <job>
Triggerswhen a player performs an action that would cause them to earn Jobs exp for a certain job.
Example
on jobs player earns exp for job:
# Returns true if the target of the action was an entity. Valid actions include but are not limited to: Kill, Shear, Milk.
- narrate <context.entity.exists>
# Returns true if the target of the action was a block. Valid actions include but are not limited to: Place, Break, Strip.
- narrate <context.block.exists>
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Switchesaction:<action> to only process the event if it came from a specified action.
Contexts<context.job> Returns a JobsJobTag of the job that the player is gaining exp for.
<context.experience> Returns an ElementTag(Decimal) of the amount of exp the player will earn.
<context.action> Returns an ElementTag of the name of the action being paid for, which can be any of the strings from: 🔗https://github.com/Zrips/Jobs/blob/master/src/main/java/com/gamingmesh/jobs/container/ActionType.java.
<context.entity> Returns an EntityTag of the entity involved with this event, if any.
<context.block> Returns a LocationTag of the block involved with this event, if any.
Determine"EXP:<ElementTag(Decimal)>" to change the amount of Jobs exp this action should provide.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
GroupDepenizen
RequiresDepenizen, Jobs
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/events/jobs/JobsJobsExpGainScriptEvent.java#L19

Namejobs player earns money for job
Event Lines jobs player earns money for <job>
Triggerswhen a player performs an action that would cause them to be paid for a certain job.
Example
on jobs player earns money for job:
# Returns true if the target of the action was an entity. Valid actions include but are not limited to: Kill, Shear, Milk.
- narrate <context.entity.exists>
# Returns true if the target of the action was a block. Valid actions include but are not limited to: Place, Break, Strip.
- narrate <context.block.exists>
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Switchesaction:<action> to only process the event if it came from a specified action.
Contexts<context.job> Returns an JobsJobTag of the job that the player is being paid for.
<context.money> Returns an ElementTag(Decimal) of the amount of money the player will be paid.
<context.points> Returns an ElementTag(Decimal) of the amount of points the player will be paid.
<context.action> Returns an ElementTag the name of the action being paid for, which can be any of the strings from: 🔗https://github.com/Zrips/Jobs/blob/master/src/main/java/com/gamingmesh/jobs/container/ActionType.java.
<context.entity> Returns an EntityTag of the entity involved with this event, if any.
<context.block> Returns a LocationTag of the block involved with this event, if any.
Determine"MONEY:<ElementTag(Decimal)>" to change the amount of money this action should provide.
"POINTS:<ElementTag(Decimal)>" to change the amount of Jobs points this action should provide.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
GroupDepenizen
RequiresDepenizen, Jobs
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/events/jobs/JobsJobsPaymentScriptEvent.java#L19

Namejobs player joins job
Event Lines jobs player joins <job>
Triggerswhen a player joins the specified job.
Generated Examplesafter jobs player joins job:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.job> Returns the job that the player is joining.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
GroupDepenizen
RequiresDepenizen, Jobs
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/events/jobs/JobsJobsJoinScriptEvent.java#L15

Namejobs player leaves job
Event Lines jobs player leaves <job>
Triggerswhen a player joins the specified job.
Generated Examplesafter jobs player leaves job:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.job> Returns the job that the player is joining.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
GroupDepenizen
RequiresDepenizen, Jobs
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/events/jobs/JobsJobsLeaveScriptEvent.java#L15

Namejobs player levels up job
Event Lines jobs player levels up <job>
Triggerswhen a player levels up in the specified job.
Generated Exampleson jobs player levels up job:
after jobs player levels up job:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.job> Returns the job that the player is levelling up in.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
GroupDepenizen
RequiresDepenizen, Jobs
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/events/jobs/JobsJobsLevelUpScriptEvent.java#L15

Namelibsdisguises disguise|disguises disguise
Event Lines libsdisguises disguise|disguises <disguise>
Triggerswhen a entity disguises.
Generated Examplesafter libsdisguises disguise disguise:
Contexts<context.entity> returns the entity who disguised.
<context.disguise> returns the disguise in use.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
GroupDepenizen
RequiresDepenizen, LibsDisguises
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/events/libsdisguises/EntityDisguisesScriptEvent.java#L15

Namelibsdisguises undisguise|undisguises disguise
Event Lines libsdisguises undisguise|undisguises <disguise>
Triggerswhen a entity undisguises.
Generated Exampleson libsdisguises undisguise disguise:
after libsdisguises undisguise disguise:
Contexts<context.entity> returns the entity who undisguised.
<context.disguise> returns the disguise in use.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
GroupDepenizen
RequiresDepenizen, LibsDisguises
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/events/libsdisguises/EntityUndisguisesScriptEvent.java#L15

Namemagicspells entity casts spell
Event Lines magicspells <entity> casts <spell>
Triggerswhen an entity starts to casts a spell.
Generated Examplesafter magicspells breeze casts spell:
after magicspells fish casts spell:
Has PlayerWhen the caster is a player. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.spell_name> returns the name of the spell.
<context.caster> returns the entity that casted the spell.
<context.power> returns an ElementTag(Decimal) of the power of the spell.
<context.cast_time> returns an ElementTag(Number) of the cast time of the spell.
<context.cooldown> returns an ElementTag(Decimal) of the cooldown of the spell.
<context.spell_reagent_TYPE> returns an ElementTag(Number) of the reagent cost for the given type. Valid types are: mana, health, hunger, experience, levels, durability, money
<context.spell_reagent_variables> returns a ListTag in the form variable/cost|...
<context.spell_reagent_items> returns a ListTag of ItemTags of reagent cost.
Determine"POWER:<ElementTag(Number)>" to change the power of the spell.
"CAST_TIME:<ElementTag(Decimal)>" to change the cast time.
"COOLDOWN:<ElementTag(Number)>" to change the cooldown.
"REAGENT:<TYPE>:<ElementTag(Number)>" to change the reagent cost of the given type. Valid types are: mana, health, hunger, experience, levels, durability, money
"REAGANT:VARIABLE:<NAME>:<ElementTag(Decimal)>" to change the reagant cost for the given variable name.
"REAGENT:ITEMS:<ListTag(ItemTag)>" to change the reagent item cost.
"CLEAR_REAGENTS" to clear away all reagent costs.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
GroupDepenizen
RequiresDepenizen, MagicSpells
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/events/magicspells/SpellCastScriptEvent.java#L26

Namemagicspells entity completes spell
Event Lines magicspells entity completes spell
magicspells <entity> completes spell
Triggerswhen the spell is done and everything has been handled.
Generated Exampleson magicspells entity completes spell:
on magicspells piglin completes spell:
after magicspells entity completes spell:
Has PlayerWhen the caster is a player. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.spell_name> returns the name of the spell.
<context.caster> returns the entity that casted the spell.
<context.power> returns an ElementTag(Decimal) of the power of the spell.
<context.cooldown> returns an ElementTag(Decimal) of the cooldown of the spell.
GroupDepenizen
RequiresDepenizen, MagicSpells
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/events/magicspells/SpellCastedScriptEvent.java#L15

Namemagicspells player learns spell
Event Lines magicspells player learns spell
Triggerswhen a player is about to learn a spell.
Generated Examplesafter magicspells player learns spell:
on magicspells player learns spell:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.spell_name> returns the name of the spell.
<context.source> returns the source. Can either be SPELLBOOK, TEACH, TOME or OTHER
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
GroupDepenizen
RequiresDepenizen, MagicSpells
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/events/magicspells/SpellLearnScriptEvent.java#L15

Namemagicspells player mana change
Event Lines magicspells player mana change
Triggerswhen a player's mana value changes.
Generated Exampleson magicspells player mana change:
after magicspells player mana change:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.old_mana> returns the old amount of mana.
<context.new_mana> returns the new amount of mana.
<context.max_mana> returns maximum mana the player can have.
<context.reason> returns the reason of the change. Can either be POTION, REGEN, SPELL_COST or OTHER
DetermineElementTag(Number) to set a new mana value.
GroupDepenizen
RequiresDepenizen, MagicSpells
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/events/magicspells/ManaChangeScriptEvent.java#L15

Namemcmmo player activates ability for skill
Event Lines mcmmo player activates <ability> for <skill>
Triggerswhen a player activates mcmmo ability.
Generated Examplesafter mcmmo player activates ability for skill:
on mcmmo player activates ability for skill:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.skill> returns the name of the skill that the ability comes from.
(Based on the mcMMO language file).
<context.ability> returns the name of the ability.
<context.skill_level> returns the skill level of the skill from the ability.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupDepenizen
RequiresDepenizen, mcMMO
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/events/mcmmo/mcMMOPlayerAbilityActivateScriptEvent.java#L17

Namemcmmo player deactivates ability for skill
Event Lines mcmmo player deactivates <ability> for <skill>
Triggerswhen a player deactivates mcmmo ability.
Generated Exampleson mcmmo player deactivates ability for skill:
after mcmmo player deactivates ability for skill:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.skill> returns the name of the skill that the ability comes from.
(Based on the mcMMO language file).
<context.ability> returns the name of the ability.
<context.skill_level> returns the skill level from the ability.
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupDepenizen
RequiresDepenizen, mcMMO
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/events/mcmmo/mcMMOPlayerAbilityDeactivateScriptEvent.java#L17

Namemcmmo player gains xp for skill
Event Lines mcmmo player gains xp for <skill>
Triggerswhen a player gains mcMMO xp.
Generated Exampleson mcmmo player gains xp for skill:
after mcmmo player gains xp for skill:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.skill> returns the name of the skill that the player gained xp for.
(Based on the mcMMO language file).
<context.xp> returns the amount of xp gained.
<context.cause> returns the cause of the xp gain.
Will be one of: 'PVP', 'PVE', 'VAMPIRISM', 'SHARED_PVP', 'SHARED_PVE', 'COMMAND', 'UNKNOWN'.
DetermineElementTag(Decimal) to set the XP gained.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupDepenizen
RequiresDepenizen, mcMMO
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/events/mcmmo/mcMMOPlayerGainsXPScriptEvent.java#L17

Namemcmmo player levels down skill
Event Lines mcmmo player levels down <skill>
Triggerswhen a player loses levels for an mcMMO skill.
Generated Exampleson mcmmo player levels down skill:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.skill> returns the name of the skill that lost levels. (Based on the mcMMO language file).
<context.levels_lost> returns the number of levels lost.
<context.old_level> returns the old level of the skill.
<context.new_level> returns the new level of the skill.
<context.cause> returns the cause of the level loss.
Will be one of: 'PVP', 'PVE', 'VAMPIRISM', 'SHARED_PVP', 'SHARED_PVE', 'COMMAND', 'UNKNOWN'.
DetermineElementTag(Number) to set the number of levels to gain.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupDepenizen
RequiresDepenizen, mcMMO
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/events/mcmmo/mcMMOPlayerLevelDownScriptEvent.java#L17

Namemcmmo player levels up skill
Event Lines mcmmo player levels up <skill>
Triggerswhen a player levels up an mcMMO skill.
Generated Examplesafter mcmmo player levels up skill:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.skill> returns the name of the skill that levelled up. (Based on the mcMMO language file).
<context.levels_gained> returns the number of levels gained.
<context.old_level> returns the old level of the skill.
<context.new_level> returns the new level of the skill.
<context.cause> returns the cause of the level gain.
Will be one of: 'PVP', 'PVE', 'VAMPIRISM', 'SHARED_PVP', 'SHARED_PVE', 'COMMAND', 'UNKNOWN'.
DetermineElementTag(Number) to set the number of levels to gain.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupDepenizen
RequiresDepenizen, mcMMO
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/events/mcmmo/mcMMOPlayerLevelUpScriptEvent.java#L17

Namemcmmo player skill level changes
Event Lines mcmmo player <skill> level changes
Triggerswhen a player's mcmmo skill level changes.
Generated Examplesafter mcmmo player skill level changes:
on mcmmo player skill level changes:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.skill> returns the name of the skill that changed level. (Based on the mcMMO language file).
<context.level> returns the level the skill changed to.
<context.cause> returns the cause of the level change.
Will be one of: 'PVP', 'PVE', 'VAMPIRISM', 'SHARED_PVP', 'SHARED_PVE', 'COMMAND', 'UNKNOWN'.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupDepenizen
RequiresDepenizen, mcMMO
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/events/mcmmo/mcMMOPlayerLevelChangeScriptEvent.java#L17

Namemobarena arena ends
Event Lines mobarena <arena> ends
Triggerswhen a mobarena ends.
Generated Exampleson mobarena arena ends:
Contexts<context.arena> Returns the arena which ended.
<context.wave> Returns the number of the final wave.
GroupDepenizen
RequiresDepenizen, MobArena
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/events/mobarena/MobArenaEndsScriptEvent.java#L16

Namemobarena arena starts
Event Lines mobarena <arena> starts
Triggerswhen a mobarena starts.
Generated Examplesafter mobarena arena starts:
Contexts<context.arena> Returns the arena which started.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
GroupDepenizen
RequiresDepenizen, MobArena
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/events/mobarena/MobArenaStartsScriptEvent.java#L15

Namemobarena arena wave changes
Event Lines mobarena <arena> wave changes
Triggerswhen a wave changes in a MobArena.
Generated Exampleson mobarena arena wave changes:
after mobarena arena wave changes:
Contexts<context.arena> Returns the arena in which the wave change occured.
<context.wave> Returns the number of the new wave.
GroupDepenizen
RequiresDepenizen, MobArena
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/events/mobarena/MobArenaWaveChangesScriptEvent.java#L15

Namemythicmob mob despawns
Event Lines mythicmob <mob> despawns
Triggerswhen a MythicMob despawns.
Generated Exampleson mythicmob mob despawns:
Contexts<context.mob> Returns the MythicMob that is despawning.
<context.entity> Returns the EntityTag for the MythicMob.
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupDepenizen
RequiresDepenizen, MythicMobs
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/events/mythicmobs/MythicMobsDespawnEvent.java#L14

Namemythicmob mob dies|death|killed
Event Lines mythicmob <mob> dies|death|killed
Triggerswhen a MythicMob dies.
Generated Examplesafter mythicmob mob dies:
Switchesby:<entity> to only process the event if the killer matches a specified entity type.
Contexts<context.mob> Returns the MythicMob that has been killed.
<context.entity> Returns the EntityTag for the MythicMob.
<context.killer> returns the EntityTag that killed the MythicMob (if available).
<context.level> Returns the level of the MythicMob.
<context.drops> Returns a list of items dropped.
DetermineListTag(ItemTag) to specify new items to be dropped.
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupDepenizen
RequiresDepenizen, MythicMobs
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/events/mythicmobs/MythicMobsDeathEvent.java#L22

Namemythicmob mob spawns
Event Lines mythicmob <mob> spawns
Triggerswhen a MythicMob spawns.
Generated Examplesafter mythicmob mob spawns:
on mythicmob mob spawns:
Contexts<context.mob> Returns the MythicMob that is spawning.
<context.entity> Returns the EntityTag for the MythicMob.
<context.location> Returns the LocationTag of where the MythicMob will spawn.
<context.from_spawner> Returns true if the mob was from a spawner.
<context.spawner_location> Returns the LocationTag of the spawner that spawned the mob, if any.
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupDepenizen
RequiresDepenizen, MythicMobs
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/events/mythicmobs/MythicMobsSpawnEvent.java#L17

Namenoteblockapi song song ends
Event Lines noteblockapi song (<song>) ends
Triggerswhen a song playing through NoteBlockAPI ends.
Generated Examplesafter noteblockapi song ends:
Contexts<context.song> returns the file name of the song.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
GroupDepenizen
RequiresDepenizen, NoteBlockAPI
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/events/noteblockapi/NoteBlockAPISongEndsScriptEvent.java#L19

Nameplayer completes skyblock challenge
Event Lines player completes skyblock challenge
Triggerswhen a player completes a skyblock challenge.
Generated Exampleson player completes skyblock challenge:
after player completes skyblock challenge:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.challenge> Returns the name of the challenge.
<context.xp_reward> Return the amount of experience to be rewarded.
<context.money_reward> Returns the amount of money to be rewarded.
<context.item_rewards> Returns a list of items to be awarded.
NOTE: item rewards is dependant on how the plugin handles item rewards. Untested and no guarantee of working.
GroupDepenizen
RequiresDepenizen, A SkyBlock
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/events/askyblock/PlayerCompletesSkyBlockChallengeScriptEvent.java#L17

Nameplayer creates shopkeeper
Event Lines player creates shopkeeper
Triggerswhen a player creates a shopkeeper.
Generated Exampleson player creates shopkeeper:
after player creates shopkeeper:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.location> Returns the LocationTag of the shopkeeper being created.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
GroupDepenizen
RequiresDepenizen, ShopKeepers
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/events/shopkeepers/ShopKeeperCreatedScriptEvent.java#L14

Nameplayer exits skyblock
Event Lines player exits skyblock
Triggerswhen a player leaves a skyblock island.
Generated Examplesafter player exits skyblock:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.owner> Returns the owner of the island.
<context.island_location> Returns the location of the island.
<context.location> Returns the location the player exited at.
GroupDepenizen
RequiresDepenizen, A SkyBlock
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/events/askyblock/PlayerExitsSkyBlockScriptEvent.java#L15

Nameplayer god mode enabled
Event Lines player god mode enabled
player god mode disabled
player god mode status changes
Triggerswhen a player's god mode status changes.
Generated Examplesafter player god mode enabled:
after player god mode disabled:
after player god mode status changes:
on player god mode status changes:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.status> Returns the player's god mode status.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
GroupDepenizen
RequiresDepenizen, Essentials
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/events/essentials/PlayerGodModeStatusScriptEvent.java#L15

Nameplayer goes afk
Event Lines player goes afk
player returns from afk
player afk status changes
Triggerswhen a player's afk status changes.
Generated Examplesafter player goes afk:
after player returns from afk:
after player afk status changes:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.status> Returns the player's afk status.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
GroupDepenizen
RequiresDepenizen, Essentials
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/events/essentials/PlayerAFKStatusScriptEvent.java#L15

Nameplayer jailed
Event Lines player jailed
player unjailed
player un-jailed
player jail status changes
Triggerswhen a player's jail status changes.
Generated Examplesafter player jailed:
after player unjailed:
after player un-jailed:
after player jail status changes:
on player unjailed:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.status> Returns the player's jail status.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
GroupDepenizen
RequiresDepenizen, Essentials
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/events/essentials/PlayerJailStatusScriptEvent.java#L15

Nameplayer muted
Event Lines player muted
player unmuted
player un-muted
player mute status changes
Triggerswhen a player is muted or un-muted.
Generated Exampleson player muted:
after player unmuted:
on player un-muted:
after player mute status changes:
after player muted:
after player un-muted:
on player mute status changes:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.status> Returns whether the player is muted.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
GroupDepenizen
RequiresDepenizen, Essentials
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/events/essentials/PlayerMuteStatusScriptEvent.java#L15

Nameplotsquared player claims plotsquaredplot
Event Lines plotsquared player claims <plotsquaredplot>
Triggerswhen a player claims a plot.
Generated Examplesafter plotsquared player claims plotsquaredplot:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.plot> returns the plot the player claimed.
<context.auto> returns true if the plot was claimed automatic.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
GroupDepenizen
RequiresDepenizen, PlotSquared
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/events/plotsquared/PlayerClaimPlotScriptEvent.java#L17

Nameplotsquared player enters plotsquaredplot
Event Lines plotsquared player enters <plotsquaredplot>
Triggerswhen a player enters a plot.
Generated Examplesafter plotsquared player enters plotsquaredplot:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.plot> returns the plot the player entered.
GroupDepenizen
RequiresDepenizen, PlotSquared
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/events/plotsquared/PlayerEntersPlotScriptEvent.java#L16

Nameplotsquared player leaves|exits plotsquaredplot
Event Lines plotsquared player leaves|exits <plotsquaredplot>
Triggerswhen a player leaves a plot.
Generated Exampleson plotsquared player exits plotsquaredplot:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.plot> returns the plot the player left.
GroupDepenizen
RequiresDepenizen, PlotSquared
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/events/plotsquared/PlayerLeavePlotScriptEvent.java#L16

Nameplotsquared plot clear|clears plotsquaredplot
Event Lines plotsquared plot clear|clears <plotsquaredplot>
Triggerswhen a plot is cleared.
Generated Exampleson plotsquared plot clear plotsquaredplot:
on plotsquared plot clears plotsquaredplot:
Contexts<context.plot> returns the plot that is cleared.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
GroupDepenizen
RequiresDepenizen, PlotSquared
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/events/plotsquared/PlotClearScriptEvent.java#L14

Nameproxy server command command
Event Lines proxy server (<command>) command
Triggerswhen a player runs a command on the bungee proxy server.
Generated Examplesafter proxy server command:
Has Playerwhen the player has been on this specific server before. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.sender> returns the name of the command sender.
<context.sender_id> returns the UUID of the command sender, if available.
<context.command> returns the command executed.
Determine"COMMAND:<ElementTag>" to change the command that will be ran.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
GroupDepenizen
RequiresDepenizen, DepenizenBungee, BungeeCord
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/events/bungee/BungeeProxyServerCommandScriptEvent.java#L18

Nameproxy server list ping
Event Lines proxy server list ping
Triggerswhen the bungeecord server is pinged and will return server details.
Generated Examplesafter proxy server list ping:
Contexts<context.address> returns the source address of the ping.
<context.current_players> returns the number of players listed as currently online.
<context.max_players> return the maximum number of players that can join according to the list.
<context.motd> returns the server MOTD that will be displayed.
<context.protocol> returns the protocol number that will be given to the ping requester.
<context.version> returns the name of the server version that will be given to the ping requester.
Determine"MAX_PLAYERS:<ElementTag(Number)>" to change the listed maximum number of players.
"VERSION:<ElementTag>" to change the listed server version.
"MOTD:<ElementTag>" to change the server MOTD that will be displayed.
"PLAYERS:<List(PlayerTag)>" to set what players are displayed in the "online players sample" view of the list ping.
"ALTERNATE_PLAYER_TEXT:<ListTag>" to set custom text for the player list section of the server status. (Requires "Allow restricted actions" in Denizen/config.yml). Usage of this to present lines that look like player names (but aren't) is forbidden.
GroupDepenizen
RequiresDepenizen, DepenizenBungee, BungeeCord
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/events/bungee/BungeeProxyServerListPingScriptEvent.java#L21

Namepvparena player exits
Event Lines pvparena player exits
Triggerswhen a player exit a pvparena (won, loose, leave, disconnect etc.)
Generated Examplesafter pvparena player exits:
on pvparena player exits:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.arena> returns the arena denizen object.
GroupDepenizen
RequiresDepenizen, PVPArena
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/events/pvparena/PlayerExitsPVPArenaScriptEvent.java#L14

Namepvparena player joins
Event Lines pvparena player joins
Triggerswhen a player joins a pvparena.
Generated Exampleson pvparena player joins:
after pvparena player joins:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.arena> returns the arena denizen object.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
GroupDepenizen
RequiresDepenizen, PVPArena
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/events/pvparena/PlayerJoinsPVPArenaScriptEvent.java#L14

Namepvparena player leaves
Event Lines pvparena player leaves
Triggerswhen a player leaves a pvparena.
Generated Examplesafter pvparena player leaves:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.arena> returns the arena denizen object.
GroupDepenizen
RequiresDepenizen, PVPArena
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/events/pvparena/PlayerLeavesPVPArenaScriptEvent.java#L14

Namepvparena starts
Event Lines pvparena starts
Triggerswhen a pvparena starts.
Generated Exampleson pvparena starts:
after pvparena starts:
Contexts<context.fighters> returns a list of all fighters in the arena.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
GroupDepenizen
RequiresDepenizen, PVPArena
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/events/pvparena/PVPArenaStartsScriptEvent.java#L17

Namequests player changes quest stage
Event Lines quests player changes <quest> stage
Triggerswhen a player changes stage in a quest from the Quests plugin. Note that stages don't have unique IDs.
Generated Exampleson quests player changes quest stage:
after quests player changes quest stage:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.quest> returns the ID of the quest.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
GroupDepenizen
RequiresDepenizen, Quests
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/events/quests/PlayerQuestStageChangeScriptEvent.java#L16

Namequests player completes quest
Event Lines quests player completes <quest>
Triggerswhen a player completes a quest from the Quests plugin.
Generated Examplesafter quests player completes quest:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.quest> returns the ID of the quest.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
GroupDepenizen
RequiresDepenizen, Quests
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/events/quests/PlayerCompletesQuestScriptEvent.java#L16

Namequests player fails quest
Event Lines quests player fails <quest>
Triggerswhen a player fails a quest from the Quests plugin.
Generated Examplesafter quests player fails quest:
on quests player fails quest:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.quest> returns the ID of the quest.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
GroupDepenizen
RequiresDepenizen, Quests
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/events/quests/PlayerFailsQuestScriptEvent.java#L16

Namequests player starts quest
Event Lines quests player starts <quest>
Triggerswhen a player starts a quest from the Quests plugin.
Generated Exampleson quests player starts quest:
after quests player starts quest:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.quest> returns the ID of the quest.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
GroupDepenizen
RequiresDepenizen, Quests
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/events/quests/PlayerStartsQuestScriptEvent.java#L16

Nameresidence deleted
Event Lines residence deleted
Triggerswhen a Residence gets deleted.
Generated Examplesafter residence deleted:
on residence deleted:
Has Playeronly when the cause is PLAYER_DELETE. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Switchescause:<cause> to only process the event if the cause of deletion matches.
Contexts<context.cause> Returns the cause of deletion. Can be: PLAYER_DELETE, OTHER or LEASE_EXPIRE
<context.residence> Returns the ResidenceTag of the deleted residence.
GroupDepenizen
RequiresDepenizen, Residence
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/events/residence/ResidenceDeletedScriptEvent.java#L15

Nameresidence player creates residence
Event Lines residence player creates residence
Triggerswhen a player creates a Residence.
Generated Examplesafter residence player creates residence:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.residence> Returns the created ResidenceTag.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
GroupDepenizen
RequiresDepenizen, Residence
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/events/residence/PlayerCreatesResidenceScriptEvent.java#L14

Nameresidence player enters residence
Event Lines residence player enters <residence>
Triggerswhen a player enters a Residence.
Generated Examplesafter residence player enters residence:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.residence> Returns the Residence the player entered.
GroupDepenizen
RequiresDepenizen, Residence
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/events/residence/PlayerEntersResidenceScriptEvent.java#L14

Nameresidence player exits residence
Event Lines residence player exits <residence>
Triggerswhen a player exits a Residence.
Generated Exampleson residence player exits residence:
after residence player exits residence:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.residence> Returns the Residence the player exited.
GroupDepenizen
RequiresDepenizen, Residence
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/events/residence/PlayerExitsResidenceScriptEvent.java#L14

Nameresidence raid ends
Event Lines residence raid ends
Triggerswhen a Residence raid ends.
Generated Examplesafter residence raid ends:
Switchesresidence:<residence> to only process the event if the residence matches the input.
Contexts<context.residence> Returns a ResidenceTag of the residence that was being raided.
GroupDepenizen
RequiresDepenizen, Residence
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/events/residence/ResidenceRaidEndsScriptEvent.java#L13

Nameresidence raid starts
Event Lines residence raid starts
Triggerswhen players start raiding a Residence.
Generated Examplesafter residence raid starts:
Switchesresidence:<residence> to only process the event if the residence matches the input.
Contexts<context.residence> Returns a ResidenceTag of the residence that is being attacked.
<context.defenders> Returns a ListTag(PlayerTag) of the players defending the Residence.
<context.attackers> Returns a ListTag(PlayerTag) of the players attacking the Residence.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
GroupDepenizen
RequiresDepenizen, Residence
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/events/residence/ResidenceRaidStartsScriptEvent.java#L15

Namesentinel npc attacks
Event Lines sentinel npc attacks
Triggerswhen a Sentinel-powered NPC attacks a target.
Generated Examplesafter sentinel npc attacks:
Has PlayerWhen the attacked entity is a player. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Has NPCAlways.
Switchesentity:<entity> to only fire the event if the target entity matches the given entity matcher.
Contexts<context.entity> returns the entity that the NPC is attacking.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
GroupDepenizen
RequiresDepenizen, Sentinel
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/events/sentinel/SentinelAttackScriptEvent.java#L16

Namesentinel npc has no more targets
Event Lines sentinel npc has no more targets
Triggerswhen a Sentinel-powered NPC has no more targets to fight and can return to normal idle behavior.
Generated Examplesafter sentinel npc has no more targets:
on sentinel npc has no more targets:
Has NPCAlways.
GroupDepenizen
RequiresDepenizen, Sentinel
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/events/sentinel/SentinelNoMoreTargetsScriptEvent.java#L13

Nameshopkeeper trade
Event Lines shopkeeper trade
Triggerswhen a trade with a shopkeeper is completed.
Generated Examplesafter shopkeeper trade:
on shopkeeper trade:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.recipe> Returns a ListTag(ItemTag) of the recipe for this trade.
<context.shopkeeper> Returns the ShopKeeperTag of the ShopKeeper that the trade occurred with.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
GroupDepenizen
RequiresDepenizen, ShopKeepers
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/events/shopkeepers/ShopKeeperTradeScriptEvent.java#L15

Nameskillapi player downgrades skill
Event Lines skillapi player downgrades <skill>
Triggerswhen a player downgrades a skill in SkillAPI.
Generated Examplesafter skillapi player downgrades skill:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.level> returns the level the player went down to.
<context.refund> returns how much the the player was refunded.
<context.skill_name> returns the name of the skill downgraded.
DetermineNone
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupDepenizen
RequiresDepenizen, SkillAPI
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/events/skillapi/SkillAPIPlayerDowngradesSkillScriptEvent.java#L17

Nameskillapi player levels up
Event Lines skillapi player levels up
Triggerswhen a player levels up in SkillAPI.
Generated Examplesafter skillapi player levels up:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.level> returns the level the player went up to.
<context.gained> returns how many levels the player gained.
<context.class> returns the SkillAPIClass the player is leveling up in.
DetermineNone
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupDepenizen
RequiresDepenizen, SkillAPI
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/events/skillapi/SkillAPIPlayerLevelsUpScriptEvent.java#L17

Nameskillapi player unlocks skill
Event Lines skillapi player unlocks <skill>
Triggerswhen a player unlocks a skill in SkillAPI.
Generated Examplesafter skillapi player unlocks skill:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.skill_name> returns the name of the skill unlocked.
DetermineNone
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupDepenizen
RequiresDepenizen, SkillAPI
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/events/skillapi/SkillAPIPlayerUnlocksSkillScriptEvent.java#L17

Nameskillapi player upgrades skill
Event Lines skillapi player upgrades <skill>
Triggerswhen a player upgrades a skill in SkillAPI.
Generated Exampleson skillapi player upgrades skill:
after skillapi player upgrades skill:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.level> returns the level the player went up to.
<context.cost> returns how much the upgrade cost.
<context.skill_name> returns the name of the skill upgraded.
DetermineNone
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupDepenizen
RequiresDepenizen, SkillAPI
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/events/skillapi/SkillAPIPlayerUpgradesSkillScriptEvent.java#L17

Nameskyblock island created
Event Lines skyblock island created
Triggerswhen a new skyblock is created.
Generated Exampleson skyblock island created:
after skyblock island created:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.location> Returns the location of the island.
<context.schematic> Returns the name of the schematic used for the island.
GroupDepenizen
RequiresDepenizen, A SkyBlock
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/events/askyblock/SkyBlockCreatedScriptEvent.java#L16

Nameskyblock island reset
Event Lines skyblock island reset
Triggerswhen a new skyblock is reset.
Generated Exampleson skyblock island reset:
after skyblock island reset:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.location> Returns the location of the island.
GroupDepenizen
RequiresDepenizen, A SkyBlock
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/events/askyblock/SkyBlockResetScriptEvent.java#L15

Nameskyblock player enters skyblock
Event Lines skyblock player enters skyblock
Triggerswhen a player goes to a skyblock island.
Generated Examplesafter skyblock player enters skyblock:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.owner> Returns the owner of the island.
<context.island_location> Returns the location of the island.
<context.location> Returns the location the player entered at.
GroupDepenizen
RequiresDepenizen, A SkyBlock
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/events/askyblock/PlayerEntersSkyBlockScriptEvent.java#L15

Nametowny player claims plot
Event Lines towny player claims plot
Triggerswhen a player tries to claim a new Towny plot or outpost.
Generated Exampleson towny player claims plot:
after towny player claims plot:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.is_outpost> Returns whether the new plot is an outpost (not connected to the main town).
<context.is_new_town> Returns whether this is a new town. New towns may not have certain tags available.
<context.town> Returns a TownTag of the town.
<context.cuboid> Returns the cuboid that will be claimed by the town.
Determine"CANCEL_MESSAGE:<ElementTag>" to set the message Towny sends when cancelled.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupDepenizen
RequiresDepenizen, Towny
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/events/towny/PlayerClaimsPlotScriptEvent.java#L16

Nametowny player creates town
Event Lines towny player creates town
Triggerswhen a player tries to create a Towny town.
Generated Examplesafter towny player creates town:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.town_name> Returns the name of the town the player is creating.
<context.cuboid> Returns the cuboid that will be claimed by the town.
Determine"CANCEL_MESSAGE:<ElementTag>" to set the message Towny sends when cancelled.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupDepenizen
RequiresDepenizen, Towny
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/events/towny/PlayerCreatesTownScriptEvent.java#L16

Nametowny player enters town
Event Lines towny player enters <town>
Triggerswhen a player enters a Towny Town.
Generated Examplesafter towny player enters town:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.town> Returns the town the player entered.
GroupDepenizen
RequiresDepenizen, Towny
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/events/towny/PlayerEntersTownScriptEvent.java#L15

Nametowny player exits town
Event Lines towny player exits <town>
Triggerswhen a player exits a Towny Town.
Generated Exampleson towny player exits town:
after towny player exits town:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.town> Returns the town the player exited.
GroupDepenizen
RequiresDepenizen, Towny
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/events/towny/PlayerExitsTownScriptEvent.java#L15

Nametowny player joins town
Event Lines towny player joins town
Triggerswhen a player joins a Towny town.
Generated Examplesafter towny player joins town:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.town> returns the TownTag that the player is joining.
GroupDepenizen
RequiresDepenizen, Towny
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/events/towny/PlayerJoinsTownScriptEvent.java#L15

Nametowny player leaves town
Event Lines towny player leaves town
Triggerswhen a player is removed from a Towny town or when a Towny town is dissolved.
Generated Examplesafter towny player leaves town:
on towny player leaves town:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.town> returns the TownTag that player is leaving.
GroupDepenizen
RequiresDepenizen, Towny
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/events/towny/PlayerLeavesTownScriptEvent.java#L15

Nametowny town created
Event Lines towny town created
Triggersafter all checks are complete and a Towny town is fully created.
Generated Examplesafter towny town created:
Contexts<context.town> Returns the town that was created.
GroupDepenizen
RequiresDepenizen, Towny
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/events/towny/TownCreatedScriptEvent.java#L12

Namevotifier vote
Event Lines votifier vote
Triggerswhen a Votifier vote is made.
Generated Examplesafter votifier vote:
on votifier vote:
Has PlayerWhen the vote is made using a recognized username. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.time_sent> returns the time the vote was sent.
<context.service> returns what service was used to send the vote.
<context.username> returns the username input with the vote.
GroupDepenizen
RequiresDepenizen, Votifier
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/events/votifier/VotifierVoteScriptEvent.java#L24

Namegp player enters|exits gpclaim
Event Lines gp player enters|exits <gpclaim>
Triggerswhen a player enters or exits a Grief Prevention claim.
Generated Examplesafter gp player exits gpclaim:
after gp player enters gpclaim:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.from> returns the block location moved from.
<context.to> returns the block location moved to.
<context.new_claim> returns the gpclaim being entered.
<context.old_claim> returns the gpclaim being exited.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
GroupDepenizen
RequiresDepenizen, GriefPrevention
Warning(s)Cancelling this event will fire a similar event immediately after.
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/events/griefprevention/GPClaimEnterEvent.java#L20

Namemythickeys key pressed
Event Lines mythickeys key pressed
TriggersWhen a key is pressed by a client running MythicKeys, if that key is in the MythicKeys config.
Generated Examplesafter mythickeys key pressed:
on mythickeys key pressed:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Switchesid:<id> to only process the event if the key ID matches the given text matcher.
Contexts<context.id> Returns the ID of the key that was pressed according to the MythicKeys config, as a namespaced key.
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupDepenizen
RequiresDepenizen, MythicKeys
Warning(s)For 1.19+ servers use AriKeysPlugin.
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/events/mythickeys/MythicKeysKeyPressScriptEvent.java#L18

Namemythickeys key released
Event Lines mythickeys key released
TriggersWhen a key stops being pressed by a client running MythicKeys, if that key is in the MythicKeys config.
Generated Examplesafter mythickeys key released:
on mythickeys key released:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Switchesid:<id> to only process the event if the key ID matches the given text matcher.
Contexts<context.id> Returns the ID of the key that was released according to the MythicKeys config, as a namespaced key.
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupDepenizen
RequiresDepenizen, MythicKeys
Warning(s)For 1.19+ servers use AriKeysPlugin.
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/events/mythickeys/MythicKeysKeyReleaseScriptEvent.java#L16



Category: Discord


Namediscord application|slash|message|user command
Event Lines discord application|slash|message|user command
Triggerswhen a Discord user uses an application command.
Generated Exampleson discord application command:
after discord user command:
Switchesfor:<bot> to only process the event for a specified Discord bot.
channel:<channel_id> to only process the event when it occurs in a specified Discord channel.
group:<group_id> to only process the event for a specified Discord group.
name:<command_name> to only process the event for a specified Discord application command. Spaces are replaced with underscores.
Contexts<context.bot> returns the relevant DiscordBotTag.
<context.channel> returns the DiscordChannelTag.
<context.group> returns the DiscordGroupTag.
<context.interaction> returns the DiscordInteractionTag.
<context.command> returns the DiscordCommandTag.
<context.options> returns the supplied options as a MapTag.
GroupDiscord
RequiresdDiscordBot
Sourcehttps://github.com/DenizenScript/dDiscordBot/blob/master/src/main/java/com/denizenscript/ddiscordbot/events/DiscordApplicationCommandScriptEvent.java#L8

Namediscord button clicked
Event Lines discord button clicked
Triggerswhen a Discord user clicks a button.
Generated Exampleson discord button clicked:
after discord button clicked:
Switchesfor:<bot> to only process the event for a specified Discord bot.
channel:<channel_id> to only process the event when it occurs in a specified Discord channel.
group:<group_id> to only process the event for a specified Discord group.
id:<button_id> to only process the event for a specified Discord button.
Contexts<context.bot> returns the relevant DiscordBotTag.
<context.channel> returns the DiscordChannelTag.
<context.group> returns the DiscordGroupTag.
<context.interaction> returns the DiscordInteractionTag.
<context.button> returns the DiscordButtonTag.
<context.message> returns the relevant message the button was on.
GroupDiscord
RequiresdDiscordBot
Sourcehttps://github.com/DenizenScript/dDiscordBot/blob/master/src/main/java/com/denizenscript/ddiscordbot/events/DiscordButtonClickedScriptEvent.java#L10

Namediscord channel created
Event Lines discord channel created
Triggerswhen a Discord channel is created.
Generated Examplesafter discord channel created:
Switchesfor:<bot> to only process the event for a specified Discord bot.
group:<group_id> to only process the event for a specified Discord group.
type:<type> to only process the event if the channel is a specific channel_type.
Contexts<context.bot> returns the relevant DiscordBotTag.
<context.group> returns the DiscordGroupTag.
<context.channel> returns the new DiscordChannelTag.
GroupDiscord
RequiresdDiscordBot
Sourcehttps://github.com/DenizenScript/dDiscordBot/blob/master/src/main/java/com/denizenscript/ddiscordbot/events/DiscordChannelCreateScriptEvent.java#L11

Namediscord channel deleted
Event Lines discord channel deleted
Triggerswhen a Discord channel is created.
Generated Exampleson discord channel deleted:
after discord channel deleted:
Switchesfor:<bot> to only process the event for a specified Discord bot.
group:<group_id> to only process the event for a specified Discord group.
Contexts<context.bot> returns the relevant DiscordBotTag.
<context.group> returns the DiscordGroupTag.
<context.channel> returns the DiscordChannelTag.
GroupDiscord
RequiresdDiscordBot
Sourcehttps://github.com/DenizenScript/dDiscordBot/blob/master/src/main/java/com/denizenscript/ddiscordbot/events/DiscordChannelDeleteScriptEvent.java#L11

Namediscord command autocomplete
Event Lines discord command autocomplete
Triggerswhen a Discord user queries a slash command option that can be autocompleted.
Example
# Suggests fruits that are only longer in length than the current input.
on discord command autocomplete name:eat option:fruit:
- define length <context.options.get[fruit].length>
- define fruits <list[lime|apple|orange|blueberry|dragonfruit]>
- determine choices:<[fruits].filter_tag[<[filter_value].length.is_more_than[<[length]>]>]>
Example
# Suggests the 25 best-matching selections from some dataset against the current input.
on discord command autocomplete:
- define value <context.options.get[<context.focused_option>]>
- determine choices:<server.flag[dataset].sort_by_number[difference[<[value]>]].first[25].if_null[<list>]>
Switchesfor:<bot> to only process the event for a specified Discord bot.
channel:<channel_id> to only process the event when it occurs in a specified Discord channel.
group:<group_id> to only process the event for a specified Discord group.
name:<command_name> to only process the event for a specified Discord application command. Spaces are replaced with underscores.
option:<option_name> to only process the event for a specified autocompletable option.
Contexts<context.bot> returns the relevant DiscordBotTag.
<context.channel> returns the DiscordChannelTag.
<context.group> returns the DiscordGroupTag.
<context.interaction> returns the DiscordInteractionTag.
<context.command> returns the DiscordCommandTag.
<context.options> returns the supplied options as a MapTag.
<context.focused_option> returns the name of the focused option.
Determine"CHOICES:<ListTag>" to suggest values to the Discord client. Up to 25 suggestions are allowed to be sent. Each entry can be an ElementTag which controls both the value and display of the choice or a MapTag with "name" and "value" keys to control both separately.
GroupDiscord
RequiresdDiscordBot
Sourcehttps://github.com/DenizenScript/dDiscordBot/blob/master/src/main/java/com/denizenscript/ddiscordbot/events/DiscordCommandAutocompleteScriptEvent.java#L18

Namediscord message deleted
Event Lines discord message deleted
Triggerswhen a Discord user deletes a message.
Generated Examplesafter discord message deleted:
Switchesfor:<bot> to only process the event for a specified Discord bot.
channel:<channel_id> to only process the event when it occurs in a specified Discord channel.
group:<group_id> to only process the event for a specified Discord group.
Contexts<context.bot> returns the relevant DiscordBotTag.
<context.channel> returns the DiscordChannelTag.
<context.group> returns the DiscordGroupTag.
<context.old_message_valid> returns whether the old message is available (it may be lost due to caching).
<context.old_message> returns the original DiscordMessageTag (data may be missing if not cached).
GroupDiscord
RequiresdDiscordBot
Sourcehttps://github.com/DenizenScript/dDiscordBot/blob/master/src/main/java/com/denizenscript/ddiscordbot/events/DiscordMessageDeletedScriptEvent.java#L18

Namediscord message modified
Event Lines discord message modified
Triggerswhen a Discord user modified a message.
Generated Exampleson discord message modified:
after discord message modified:
Switchesfor:<bot> to only process the event for a specified Discord bot.
channel:<channel_id> to only process the event when it occurs in a specified Discord channel.
group:<group_id> to only process the event for a specified Discord group.
Contexts<context.bot> returns the relevant DiscordBotTag.
<context.channel> returns the DiscordChannelTag.
<context.group> returns the DiscordGroupTag.
<context.new_message> returns the message as it now exists, as a DiscordMessageTag.
<context.old_message_valid> returns whether the old message is available (it may be lost due to caching).
<context.old_message> returns the original DiscordMessageTag (data may be missing if not cached).
GroupDiscord
RequiresdDiscordBot
Sourcehttps://github.com/DenizenScript/dDiscordBot/blob/master/src/main/java/com/denizenscript/ddiscordbot/events/DiscordMessageModifiedScriptEvent.java#L20

Namediscord message reaction added
Event Lines discord message reaction added
Triggerswhen a Discord user added a reaction to a message.
Generated Exampleson discord message reaction added:
after discord message reaction added:
Switchesfor:<bot> to only process the event for a specified Discord bot.
channel:<channel_id> to only process the event when it occurs in a specified Discord channel.
group:<group_id> to only process the event for a specified Discord group.
Contexts<context.bot> returns the relevant DiscordBotTag.
<context.channel> returns the DiscordChannelTag.
<context.group> returns the DiscordGroupTag.
<context.message> returns the message.
<context.user> returns the user that added the reaction.
<context.reaction> returns the new reaction.
GroupDiscord
RequiresdDiscordBot
Sourcehttps://github.com/DenizenScript/dDiscordBot/blob/master/src/main/java/com/denizenscript/ddiscordbot/events/DiscordMessageReactionAddScriptEvent.java#L10

Namediscord message reaction removed
Event Lines discord message reaction removed
Triggerswhen a Discord user removes a reaction from a message.
Generated Examplesafter discord message reaction removed:
Switchesfor:<bot> to only process the event for a specified Discord bot.
channel:<channel_id> to only process the event when it occurs in a specified Discord channel.
group:<group_id> to only process the event for a specified Discord group.
Contexts<context.bot> returns the relevant DiscordBotTag.
<context.channel> returns the DiscordChannelTag.
<context.group> returns the DiscordGroupTag.
<context.message> returns the DiscordMessageTag.
<context.user> returns the DiscordUserTag that removed the reaction.
<context.reaction> returns the old DiscordReactionTag.
GroupDiscord
RequiresdDiscordBot
Sourcehttps://github.com/DenizenScript/dDiscordBot/blob/master/src/main/java/com/denizenscript/ddiscordbot/events/DiscordMessageReactionRemoveScriptEvent.java#L10

Namediscord message received
Event Lines discord message received
Triggerswhen a Discord bot receives a message.
Generated Exampleson discord message received:
Switchesfor:<bot> to only process the event for a specified Discord bot.
channel:<channel_id> to only process the event when it occurs in a specified Discord channel.
group:<group_id> to only process the event for a specified Discord group.
message:<message> to only process the event if the message matches some matcher text, like 'message:*hello*' to match any message that contains the word 'hello'.
Contexts<context.bot> returns the relevant DiscordBotTag.
<context.channel> returns the DiscordChannelTag.
<context.group> returns the DiscordGroupTag.
<context.new_message> returns the message received, as a DiscordMessageTag.
GroupDiscord
RequiresdDiscordBot
Sourcehttps://github.com/DenizenScript/dDiscordBot/blob/master/src/main/java/com/denizenscript/ddiscordbot/events/DiscordMessageReceivedScriptEvent.java#L19

Namediscord modal submitted
Event Lines discord modal submitted
Triggerswhen a Discord user submits a modal.
Generated Exampleson discord modal submitted:
Switchesfor:<bot> to only process the event for a specified Discord bot.
channel:<channel_id> to only process the event when it occurs in a specified Discord channel.
group:<group_id> to only process the event for a specified Discord group.
name:<modal_name> to only process the event for a specified Discord modal.
Contexts<context.bot> returns the relevant DiscordBotTag.
<context.channel> returns the DiscordChannelTag.
<context.group> returns the DiscordGroupTag.
<context.interaction> returns the DiscordInteractionTag.
<context.name> returns the name of the modal.
<context.values> returns a MapTag of the values submitted by the user.
GroupDiscord
RequiresdDiscordBot
Sourcehttps://github.com/DenizenScript/dDiscordBot/blob/master/src/main/java/com/denizenscript/ddiscordbot/events/DiscordModalSubmittedScriptEvent.java#L18

Namediscord selection used
Event Lines discord selection used
Triggerswhen a Discord user uses a selection menu.
Generated Examplesafter discord selection used:
on discord selection used:
Switchesfor:<bot> to only process the event for a specified Discord bot.
channel:<channel_id> to only process the event when it occurs in a specified Discord channel.
group:<group_id> to only process the event for a specified Discord group.
id:<menu_id> to only process the event for a specified Discord selection menu.
Contexts<context.bot> returns the relevant DiscordBotTag.
<context.channel> returns the DiscordChannelTag.
<context.group> returns the DiscordGroupTag.
<context.interaction> returns the DiscordInteractionTag.
<context.menu> returns the selection menu as a DiscordSelectionTag.
<context.option> returns the selected option as a MapTag.
<context.message> returns the relevant message the selection was on.
GroupDiscord
RequiresdDiscordBot
Sourcehttps://github.com/DenizenScript/dDiscordBot/blob/master/src/main/java/com/denizenscript/ddiscordbot/events/DiscordSelectionUsedScriptEvent.java#L11

Namediscord user joins
Event Lines discord user joins
Triggerswhen a Discord user joins a guild.
Generated Examplesafter discord user joins:
on discord user joins:
Switchesfor:<bot> to only process the event for a specified Discord bot.
group:<group_id> to only process the event for a specified Discord group.
Contexts<context.bot> returns the relevant DiscordBotTag.
<context.group> returns the DiscordGroupTag.
<context.user> returns the DiscordUserTag.
GroupDiscord
RequiresdDiscordBot
Sourcehttps://github.com/DenizenScript/dDiscordBot/blob/master/src/main/java/com/denizenscript/ddiscordbot/events/DiscordUserJoinsScriptEvent.java#L11

Namediscord user leaves
Event Lines discord user leaves
Triggerswhen a Discord user leaves a guild.
Generated Exampleson discord user leaves:
after discord user leaves:
Switchesfor:<bot> to only process the event for a specified Discord bot.
group:<group_id> to only process the event for a specified Discord group.
Contexts<context.bot> returns the relevant DiscordBotTag.
<context.group> returns the DiscordGroupTag.
<context.user> returns the DiscordUserTag.
GroupDiscord
RequiresdDiscordBot
Sourcehttps://github.com/DenizenScript/dDiscordBot/blob/master/src/main/java/com/denizenscript/ddiscordbot/events/DiscordUserLeavesScriptEvent.java#L11

Namediscord user nickname changes
Event Lines discord user nickname changes
Triggerswhen a Discord user's nickname change.
Generated Examplesafter discord user nickname changes:
Switchesfor:<bot> to only process the event for a specified Discord bot.
group:<group_id> to only process the event for a specified Discord group.
Contexts<context.bot> returns the relevant DiscordBotTag.
<context.group> returns the DiscordGroupTag.
<context.user> returns the DiscordUserTag.
<context.old_name> returns the user's previous nickname (if any).
<context.new_name> returns the user's new nickname (if any).
GroupDiscord
RequiresdDiscordBot
Sourcehttps://github.com/DenizenScript/dDiscordBot/blob/master/src/main/java/com/denizenscript/ddiscordbot/events/DiscordUserNicknameChangeScriptEvent.java#L12

Namediscord user role changes
Event Lines discord user role changes
Triggerswhen a Discord user's roles change.
Generated Examplesafter discord user role changes:
on discord user role changes:
Switchesfor:<bot> to only process the event for a specified Discord bot.
group:<group_id> to only process the event for a specified Discord group.
Contexts<context.bot> returns the relevant DiscordBotTag.
<context.group> returns the DiscordGroupTag.
<context.user> returns the DiscordUserTag.
<context.old_roles> returns a ListTag of the user's previous DiscordRoleTag set.
<context.new_roles> returns a ListTag of the user's new DiscordRoleTag set.
<context.added_roles> returns a ListTag of the user's added DiscordRoleTag set.
<context.removed_roles> returns a ListTag of the user's removed DiscordRoleTag set.
GroupDiscord
RequiresdDiscordBot
Sourcehttps://github.com/DenizenScript/dDiscordBot/blob/master/src/main/java/com/denizenscript/ddiscordbot/events/DiscordUserRoleChangeScriptEvent.java#L18

Namediscord thread archived
Event Lines discord thread archived
Triggerswhen a Discord thread is archived.
Generated Examplesafter discord thread archived:
Switchesfor:<bot> to only process the event for a specified Discord bot.
group:<group_id> to only process the event for a specified Discord group.
parent:<channel_id> to only process the event for a specific parent channel ID.
Contexts<context.bot> returns the relevant DiscordBotTag.
<context.group> returns the DiscordGroupTag.
<context.thread> returns the thread DiscordChannelTag.
GroupDiscord
RequiresdDiscordBot
Warning(s)Not currently function. Will likely function in the future.
Sourcehttps://github.com/DenizenScript/dDiscordBot/blob/master/src/main/java/com/denizenscript/ddiscordbot/events/DiscordThreadArchivedScriptEvent.java#L11

Namediscord thread revealed
Event Lines discord thread revealed
Triggerswhen a Discord thread is pulled out of archive.
Generated Examplesafter discord thread revealed:
Switchesfor:<bot> to only process the event for a specified Discord bot.
group:<group_id> to only process the event for a specified Discord group.
parent:<channel_id> to only process the event for a specific parent channel ID.
Contexts<context.bot> returns the relevant DiscordBotTag.
<context.group> returns the DiscordGroupTag.
<context.thread> returns the thread DiscordChannelTag.
GroupDiscord
RequiresdDiscordBot
Warning(s)Not currently function. Will likely function in the future.
Sourcehttps://github.com/DenizenScript/dDiscordBot/blob/master/src/main/java/com/denizenscript/ddiscordbot/events/DiscordThreadRevealedScriptEvent.java#L11



Category: Paper


Nameanvil block damaged|breaks
Event Lines anvil block damaged|breaks
Triggerswhen an anvil is damaged from being used.
Generated Examplesafter anvil block damaged:
Switchesstate:<state> to only process the event if the anvil's new damage state matches the specified state.
Contexts<context.state> returns an ElementTag of the anvil's new damage state. Refer to 🔗https://jd.papermc.io/paper/1.19/com/destroystokyo/paper/event/block/AnvilDamagedEvent.DamageState.html.
<context.break> returns an ElementTag(Boolean) that signifies whether the anvil will break.
<context.inventory> returns the InventoryTag of the anvil's inventory.
Determine"STATE:<ElementTag>" to set the anvil's new damage state.
"BREAK:<ElementTag(Boolean)>" to set weather the anvil will break.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupPaper
RequiresPaper
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/paper/src/main/java/com/denizenscript/denizen/paper/events/AnvilBlockDamagedScriptEvent.java#L17

Namecommand unknown
Event Lines command unknown
Triggerswhen an unknown command is processed by the server.
Generated Examplesafter command unknown:
on command unknown:
Has Playerwhen source_type is player. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.message> returns an ElementTag of the message to be shown to the command sender.
<context.command> returns the command name as an Element.
<context.raw_args> returns any args used as an Element.
<context.args> returns a ListTag of the arguments.
<context.source_type> returns the source of the command. Can be: PLAYER, SERVER, COMMAND_BLOCK, or COMMAND_MINECART.
<context.command_block_location> returns the command block's location (if the command was run from one).
<context.command_minecart> returns the EntityTag of the command minecart (if the command was run from one).
DetermineElementTag to change the message returned to the command sender.
"NONE" to cancel the message.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
GroupPaper
RequiresPaper
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/paper/src/main/java/com/denizenscript/denizen/paper/events/UnknownCommandScriptEvent.java#L25

Namecreeper ignites
Event Lines creeper ignites
Triggerswhen a creeper is ignited by flint and steel, or by certain plugin-based activations.
Generated Examplesafter creeper ignites:
on creeper ignites:
Contexts<context.entity> returns the EntityTag of the creeper.
<context.ignited> returns true if the creeper is ignited, or false if not. NOTE: In most cases, this will return true.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupPaper
RequiresPaper
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/paper/src/main/java/com/denizenscript/denizen/paper/events/CreeperIgnitesScriptEvent.java#L13

Nameentity added to world
Event Lines <entity> added to world
Triggersany time an entity is added to the world for any reason, including chunks loading pre-existing entities.
Generated Examplesafter dolphin added to world:
on living added to world:
Contexts<context.entity> returns the EntityTag that will be added. Note that this entity will not necessarily be fully spawned yet, so usage will be limited.
<context.location> returns the LocationTag that the entity will be added at.
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupPaper
RequiresPaper
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/paper/src/main/java/com/denizenscript/denizen/paper/events/EntityAddToWorldScriptEvent.java#L15

Nameentity knocks back entity
Event Lines <entity> knocks back <entity>
Triggerswhen an entity is knocked back from the hit of another entity.
Generated Examplesafter monster knocks back player:
on entity knocks back entity:
Has Playerwhen the damager or damaged entity is a player. Cannot be both. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Has NPCwhen the damager or damaged entity is an NPC. Cannot be both.
Switcheswith:<item> to only process the event when the item used to cause damage (in the damager's hand) is a specified item.
Contexts<context.entity> returns the EntityTag that was knocked back.
<context.damager> returns the EntityTag of the one who knocked.
<context.acceleration> returns the knockback applied as a vector.
DetermineLocationTag as a vector to change the acceleration applied.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupPaper
RequiresPaper
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/paper/src/main/java/com/denizenscript/denizen/paper/events/EntityKnocksbackEntityScriptEvent.java#L16

Nameentity loads crossbow
Event Lines <entity> loads crossbow
Triggerswhen a living entity loads a crossbow with a projectile.
Generated Exampleson monster loads crossbow:
on giant loads crossbow:
Has Playerwhen the entity is a player. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Has NPCwhen the entity is an NPC.
Switchescrossbow:<item> to only process the event if the crossbow is a specified item.
Contexts<context.entity> returns the EntityTag that is loading the crossbow.
<context.crossbow> returns the ItemTag of the crossbow.
<context.consumes> returns true if the loading will consume a projectile item, otherwise false.
<context.hand> returns "HAND" or "OFF_HAND" depending on which hand is holding the crossbow item.
Determine"KEEP_ITEM" to keep the projectile item in the shooter's inventory.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupPaper
RequiresPaper
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/paper/src/main/java/com/denizenscript/denizen/paper/events/EntityLoadCrossbowScriptEvent.java#L17

Nameentity pathfinds
Event Lines <entity> pathfinds
Triggerswhen an entity starts pathfinding towards a location or entity.
Generated Examplesafter hanging pathfinds:
on player pathfinds:
Has Playerwhen the target entity is a player. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Has NPCwhen the target entity is an NPC.
Switchesto:<area> to only process the event if the entity is pathfinding into a specified area.
at:<entity> to only process the event when the entity is pathfinding at a specified entity.
Contexts<context.entity> returns the EntityTag that is pathfinding.
<context.location> returns the LocationTag that is being pathfound to.
<context.target> returns the EntityTag that is being targeted, if any.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupPaper
RequiresPaper
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/paper/src/main/java/com/denizenscript/denizen/paper/events/EntityPathfindScriptEvent.java#L16

Nameentity removed from world
Event Lines <entity> removed from world
Triggersany time an entity is removed from the world for any reason, including chunks unloading.
Generated Examplesafter entity removed from world:
on breeze_wind_charge removed from world:
Contexts<context.entity> returns the EntityTag that will be removed. Note that this entity will not necessarily be fully spawned at time of firing, so usage will be limited.
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupPaper
RequiresPaper
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/paper/src/main/java/com/denizenscript/denizen/paper/events/EntityRemoveFromWorldScriptEvent.java#L14

Nameentity teleported by portal
Event Lines <entity> teleported by portal
TriggersWhen an entity is about to be teleported by a portal (currently only fires for nether portals).
Generated Exampleson entity teleported by portal:
Switchesto:<world> to only process the event if the world the entity is being teleported to matches the specified WorldTag matcher.
portal_type:<type> to only process the event if the portal's type matches the specified portal type.
Contexts<context.entity> returns an EntityTag of the entity being teleported.
<context.target_world> returns a WorldTag of the world the entity is being teleported to.
<context.portal_type> returns an ElementTag of the portal's type. Will be one of 🔗https://jd.papermc.io/paper/1.19/org/bukkit/PortalType.html.
Determine"TARGET_WORLD:<WorldTag>" to set the world the entity will be teleported to.
"REMOVE_TARGET_WORLD" to remove the target world. Should usually cancel the event instead of using this.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupPaper
RequiresPaper
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/paper/src/main/java/com/denizenscript/denizen/paper/events/EntityTeleportedByPortalScriptEvent.java#L14

Nameexperience orbs merge
Event Lines experience orbs merge
Triggerswhen two experience orbs are about to merge.
Generated Examplesafter experience orbs merge:
on experience orbs merge:
Contexts<context.target> returns the EntityTag of the orb that will absorb the other experience orb.
<context.source> returns the EntityTag of the orb that will be removed and merged into the target.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupPaper
RequiresPaper
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/paper/src/main/java/com/denizenscript/denizen/paper/events/ExperienceOrbMergeScriptEvent.java#L15

Namegamerule changes in world
Event Lines gamerule changes (in <world>)
Triggerswhen a gamerule changes.
Generated Examplesafter gamerule changes in world:
on gamerule changes in world_the_end:
Has Playerwhen the sender of the command is a player. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Switchesgamerule:<gamerule> to only process the event if the gamerule matches a specific gamerule.
Contexts<context.gamerule> returns the name of the GameRule which was changed. Refer to 🔗https://jd.papermc.io/paper/1.19/org/bukkit/GameRule.html.
<context.value> returns the new value of the GameRule.
<context.world> returns the world where the GameRule is applied.
<context.source_type> returns type of source. Can be: PLAYER, COMMAND_BLOCK, COMMAND_MINECART, SERVER.
<context.command_block_location> returns the command block's location (if the command was run from one).
<context.command_minecart> returns the EntityTag of the command minecart (if the command was run from one).
Determine"VALUE:<ElementTag(Number)>" or ElementTag(Boolean) to set the value of the GameRule.
GroupPaper
RequiresPaper
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/paper/src/main/java/com/denizenscript/denizen/paper/events/WorldGameRuleChangeScriptEvent.java#L25

Nameplayer absorbs experience
Event Lines player absorbs experience
Triggerswhen a player is absorbing an experience orb.
Generated Exampleson player absorbs experience:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.entity> returns the EntityTag of the experience orb.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupPaper
RequiresPaper
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/paper/src/main/java/com/denizenscript/denizen/paper/events/PlayerAbsorbsExperienceScriptEvent.java#L15

Nameplayer beacon effect applied
Event Lines player beacon effect applied
Triggerswhen a beacon applies an effect to a player.
Generated Examplesafter player beacon effect applied:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.location> returns the LocationTag of the beacon applying an effect.
<context.effect_data> returns a MapTag of the potion effect (in the same format as Tag:EntityTag.effects_data).
<context.effect_type> returns an ElementTag of the effect type.
<context.is_primary> returns an ElementTag(Boolean) of whether the beacon effect is the primary effect.
DetermineElementTag to change the applied potion effect (in the same format as Tag:EntityTag.list_effects).
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupPaper
RequiresPaper
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/paper/src/main/java/com/denizenscript/denizen/paper/events/PlayerBeaconEffectScriptEvent.java#L18

Nameplayer boosts elytra
Event Lines player boosts elytra
Triggerswhen a player boosts their elytra with a firework rocket while gliding.
Generated Exampleson player boosts elytra:
after player boosts elytra:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Switcheswith:<item> to only process the event if the firework item used matches the specified item.
elytra:<item> to only process the event if the elytra used matches the specified item.
Contexts<context.item> returns the firework item used to boost.
<context.entity> returns the firework entity that was spawned.
<context.should_keep> returns whether the firework item gets consumed.
Determine"KEEP:<ElementTag(Boolean)>" to set whether the firework item should be kept.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupPaper
RequiresPaper
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/paper/src/main/java/com/denizenscript/denizen/paper/events/PlayerElytraBoostScriptEvent.java#L18

Nameplayer changes framed item
Event Lines player changes framed <item>
Triggerswhen a player interacts with an item frame by adding, removing, or rotating the item held in it.
Generated Examplesafter player changes framed mushroom_stem:
on player changes framed item:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Switchesframe:<entity> to only process the event if the item frame entity being matches the input.
action:<action> to only process the event if the change matches the input.
Contexts<context.frame> returns the EntityTag of the item frame.
<context.item> returns the ItemTag of the item held in the item frame.
<context.action> returns the ElementTag of the action being performed, based on 🔗https://jd.papermc.io/paper/1.20/io/papermc/paper/event/player/PlayerItemFrameChangeEvent.ItemFrameChangeAction.html
Determine"ITEM:<ItemTag>" to change the item held by the item frame. If there is an item already in the frame, it will be replaced. To remove the item, set it to air.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupPaper
RequiresPaper
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/paper/src/main/java/com/denizenscript/denizen/paper/events/PlayerChangesFramedItemScriptEvent.java#L16

Nameplayer client options change
Event Lines player client options change
Triggerswhen a player changes their client options.
Generated Examplesafter player client options change:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.server_listings_enabled> returns a ElementTag(Boolean) of whether the player has server listings enabled. Available only on MC 1.19+.
<context.chat_visibility> returns an ElementTag of the player's chat visibility. Valid chat visibility options can be found at 🔗https://jd.papermc.io/paper/1.20/com/destroystokyo/paper/ClientOption.ChatVisibility.html
<context.locale> returns an ElementTag of the player's current locale.
<context.main_hand> returns a ElementTag of the player's main hand. Can either be LEFT or RIGHT.
<context.skin_parts> returns a MapTag of whether the player's skin parts are enabled or not. For example: [cape=true;jacket=false;left_sleeve=true;right_sleeve=false;left_pants=true;right_pants=false;hat=true]
<context.view_distance> returns a ElementTag(Number) of the player's view distance.
<context.server_listings_changed> returns a ElementTag(Boolean) of whether the player's server listings have changed. Available only on MC 1.19+.
<context.chat_colors> returns a ElementTag(Boolean) of whether the player has chat colors enabled.
<context.chat_colors_changed> returns a ElementTag(Boolean) of whether the player has toggled their chat colors.
<context.chat_visibility_changed> returns a ElementTag(Boolean) of whether the player's chat visibility has changed. Available only on MC 1.19+.
<context.locale_changed> returns a ElementTag(Boolean) of whether the player's locale has changed.
<context.main_hand_changed> returns a ElementTag(Boolean) of whether the player's main hand has changed.
<context.skin_parts_changed> returns a ElementTag(Boolean) of whether the player's skin parts have changed.
<context.text_filtering_changed> returns a ElementTag(Boolean) of whether the player's text filtering has changed. Available only on MC 1.19+.
<context.text_filtering_enabled> returns a ElementTag(Boolean) of whether the player has text filtering enabled. Available only on MC 1.19+.
<context.view_distance_changed> returns a ElementTag(Boolean) of whether the player's view distance has changed.
GroupPaper
RequiresPaper
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/paper/src/main/java/com/denizenscript/denizen/paper/events/PlayerClientOptionsChangeScriptEvent.java#L18

Nameplayer deep sleeps
Event Lines player deep sleeps
Triggerswhen a player has slept long enough in a bed to count as being in deep sleep and thus skip the night. Cancelling the event prevents the player from qualifying to skip the night.
Generated Exampleson player deep sleeps:
after player deep sleeps:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupPaper
RequiresPaper
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/paper/src/main/java/com/denizenscript/denizen/paper/events/PlayerDeepSleepScriptEvent.java#L12

Nameplayer flips lectern page
Event Lines player flips lectern page
Triggerswhen the player flips to a page in a lectern.
Example
# Announce the page the player flipped to.
on player flips lectern page:
- announce "<player.name> flipped to page #<context.new_page>!"
Example
# Flips the player to page 5 if they are flagged with "pancakes".
on player flips lectern page flagged:pancakes:
- determine page:5
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Switchesbook:<item> to only process the event if the book on the lectern matches the given item.
Contexts<context.book> returns an ItemTag of the book in the lectern.
<context.lectern> returns a LocationTag of the lectern.
<context.old_page> returns an ElementTag(Number) of the last page the player was on.
<context.new_page> returns an ElementTag(Number) of the new page that the player flipped to.
<context.flip_direction> returns the direction in which the player flips the lectern book page, can be either LEFT or RIGHT.
Determine"PAGE:<ElementTag(Number)>" to set the page that the player will flip to.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupPaper
RequiresPaper
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/paper/src/main/java/com/denizenscript/denizen/paper/events/PlayerLecternPageChangeScriptEvent.java#L17

Nameplayer granted advancement criterion
Event Lines player granted advancement criterion
Triggerswhen a player is granted a single criterion for an advancement.
To fire when ALL the criteria for an advancement is met, use Event:player completes advancement
Example
# Prevent a player from being granted an advancement criterion.
on player granted advancement criterion:
- determine cancelled
Example
# This will only narrate when the player is granted the criterion for taming a Calico cat
# for the "A Complete Catalogue" advancement.
on player granted advancement criterion advancement:husbandry/complete_catalogue criterion:calico:
- narrate "That is a pretty cute Calico cat you have there!"
Example
# This will fire for a custom Denizen advancement called "my_advancement".
on player granted advancement criterion advancement:denizen:my_advancement:
- narrate "You got the advancement!"
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Switchesadvancement:<name> to only fire if the advancement for the criterion has the specified name.
criterion:<name> to only fire if the criterion being granted has the specified name.
Contexts<context.advancement> returns the advancement's minecraft ID key.
<context.criterion> returns the criterion minecraft ID key.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
GroupPaper
RequiresPaper
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/paper/src/main/java/com/denizenscript/denizen/paper/events/PlayerGrantedAdvancementCriterionScriptEvent.java#L15

Nameplayer inventory slot changes
Event Lines player inventory slot changes
Triggerswhen the item in a slot of a player's inventory changes.
Note that this fires for every item in the player's inventory when they join.
Generated Exampleson player inventory slot changes:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Switchesfrom:<item> to only process the event if the previous item in the slot matches the specified item.
to:<item> to only process the event if the new item in the slot matches the specified item.
slot:<slot> to only process the event if a specific slot was clicked. For slot input options, see Language:Slot Inputs.
Contexts<context.new_item> returns an ItemTag of the new item in the slot.
<context.old_item> returns an ItemTag of the previous item in the slot.
<context.slot> returns an ElementTag(Number) of the slot that was changed.
<context.raw_slot> returns an ElementTag(Number) of the raw number of the slot that was changed.
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupPaper
RequiresPaper
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/paper/src/main/java/com/denizenscript/denizen/paper/events/PlayerInventorySlotChangeScriptEvent.java#L16

Nameplayer opens sign
Event Lines player opens sign
TriggersWhen a player opens a sign (eg after placing a sign, or by clicking on it to edit it).
Generated Examplesafter player opens sign:
on player opens sign:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.side> returns an ElementTag of the side of the sign that was clicked (FRONT or BACK).
<context.cause> returns an ElementTag of reason the sign was opened - see 🔗https://jd.papermc.io/paper/1.20/io/papermc/paper/event/player/PlayerOpenSignEvent.Cause.html.
<context.location> returns a LocationTag of the sign's location.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupPaper
RequiresPaper
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/paper/src/main/java/com/denizenscript/denizen/paper/events/PlayerOpenSignScriptEvent.java#L15

Nameplayer right|left clicks fake entity
Event Lines player (right|left) clicks fake entity
Triggerswhen a player clicks a fake entity, one that is only shown to the player and not tracked by the server.
Generated Examplesafter player left clicks fake entity:
on player clicks fake entity:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.entity> returns the EntityTag of the entity that was clicked. Note that this entity is not being tracked by the server, so many operations may not be possible on it.
This will return null if the player clicks a fake entity that was not spawned via Command:fakespawn.
<context.hand> returns an ElementTag of the hand used to click.
<context.click_type> returns an ElementTag of the click type (left/right).
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupPaper
RequiresPaper
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/paper/src/main/java/com/denizenscript/denizen/paper/events/PlayerClicksFakeEntityScriptEvent.java#L16

Nameplayer selects loom pattern
Event Lines player selects loom pattern
Triggerswhen a player selects a loom pattern.
Example
# Announce the player's selected loom pattern.
on player selects loom pattern:
- announce "<player.name> selected the <context.pattern> pattern!"
Example
# If the player selects the "CREEPER" pattern type, publicly shames them before setting the pattern to "SKULL".
on player selects loom pattern type:CREEPER:
- announce "Shame on <player.name> for selecting the creeper pattern!"
- determine pattern:SKULL
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Switchestype:<pattern> to only process the event if the specified pattern is selected.
Contexts<context.loom> returns an InventoryTag of the loom.
<context.pattern> returns an ElementTag of the selected pattern. Valid pattern types can be found at: 🔗https://jd.papermc.io/paper/1.19/org/bukkit/block/banner/PatternType.html
Determine"PATTERN:<ElementTag>" to set the pattern type of the loom.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupPaper
RequiresPaper
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/paper/src/main/java/com/denizenscript/denizen/paper/events/PlayerLoomPatternSelectScriptEvent.java#L18

Nameplayer shield disables
Event Lines player shield disables
TriggersWhen a players shield is disabled.
Generated Exampleson player shield disables:
after player shield disables:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.damager> returns an EntityTag of the attacker who disabled the shield.
<context.cooldown> returns a DurationTag of the cooldown the shield is disabled for.
Determine"COOLDOWN:<DurationTag>" to change the cooldown.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupPaper
RequiresPaper
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/paper/src/main/java/com/denizenscript/denizen/paper/events/PlayerShieldDisableScriptEvent.java#L16

Nameplayer spectates entity
Event Lines player spectates <entity>
Triggerswhen a player starts spectating an entity.
Generated Examplesafter player spectates interaction:
on player spectates living:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.entity> returns the entity that is being spectated.
<context.old_entity> returns the entity that was previously being spectated (or the player themself if they weren't spectating anything).
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupPaper
RequiresPaper
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/paper/src/main/java/com/denizenscript/denizen/paper/events/PlayerSpectatesEntityScriptEvent.java#L14

Nameplayer stops spectating entity
Event Lines player stops spectating (<entity>)
Triggerswhen a player stops spectating an entity.
Generated Examplesafter player stops spectating:
on player stops spectating:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.entity> returns the entity that was being spectated.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupPaper
RequiresPaper
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/paper/src/main/java/com/denizenscript/denizen/paper/events/PlayerStopsSpectatingScriptEvent.java#L14

Nameplayer trades with merchant
Event Lines player trades with merchant
Triggerswhen a player trades with a merchant (villager).
Generated Examplesafter player trades with merchant:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Switchesresult:<result> to only process the event if the player received a specific result item.
Contexts<context.merchant> returns the villager that was traded with, if any (may be null for example with 'opentrades' command usage).
<context.trade> returns a TradeTag of the trade that was done.
DetermineTradeTag to change the trade that should be processed.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupPaper
RequiresPaper
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/paper/src/main/java/com/denizenscript/denizen/paper/events/PlayerTradesWithMerchantScriptEvent.java#L17

Nameplayer tries to attack entity
Event Lines player tries to attack <entity>
Triggerswhen the player tries to attack an entity. This occurs before any of the damage logic, so cancelling this event will prevent any sort of sounds from being played when attacking.
Generated Examplesafter player tries to attack vindicator:
after player tries to attack living:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Switcheswith:<item> to only process the event if the player attacks the entity with the specified item.
Contexts<context.entity> returns the entity that was attacked in this event.
<context.will_attack> returns whether this entity would be attacked normally.
Entities like falling sand will return false because their entity type does not allow them to be attacked.
Note: there may be other factors (invulnerability, etc.) that will prevent this entity from being attacked that this event does not cover.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
GroupPaper
RequiresPaper
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/paper/src/main/java/com/denizenscript/denizen/paper/events/PrePlayerAttackEntityScriptEvent.java#L16

Nameplayer uses recipe book
Event Lines player uses recipe book
Triggerswhen a player interacts with their recipe book.
Generated Exampleson player uses recipe book:
after player uses recipe book:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.recipe> returns the key of the recipe that was clicked.
<context.is_all> returns 'true' if the player is trying to make the maximum amount of items from the recipe, otherwise 'false'.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupPaper
RequiresPaper
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/paper/src/main/java/com/denizenscript/denizen/paper/events/PlayerClicksInRecipeBookScriptEvent.java#L14

Nameprojectile collides with entity
Event Lines <projectile> collides with <entity>
Triggerswhen a projectile entity collides with an entity (before any damage calculations are done).
Generated Exampleson arrow collides with hanging:
on projectile collides with chest_boat:
Has PlayerWhen the entity collided with is a player. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Has NPCWhen the entity collided with is a NPC.
Contexts<context.projectile> returns the projectile that is colliding.
<context.entity> returns the entity that was collided with.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupPaper
RequiresPaper
DeprecatedUse Event:projectile hits with the 'entity' switch on versions above 1.19.
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/paper/src/main/java/com/denizenscript/denizen/paper/events/ProjectileCollideScriptEvent.java#L17

Nameserver resources reloaded
Event Lines server resources reloaded
Triggerswhen vanilla resources (such as datapacks) are reloaded (by vanilla commands or by plugins). If you mess with datapacks often, it may be helpful to run Command:reload in this event.
Generated Examplesafter server resources reloaded:
Switchescause:<cause> to only process the event if the cause of the resource reload matches the specified cause.
Contexts<context.cause> Returns the cause of the resource reload. Refer to 🔗https://jd.papermc.io/paper/1.19/io/papermc/paper/event/server/ServerResourcesReloadedEvent.Cause.html
GroupPaper
RequiresPaper
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/paper/src/main/java/com/denizenscript/denizen/paper/events/ServerResourcesReloadedScriptEvent.java#L12

Nameskeleton horse trap
Event Lines skeleton horse trap
Triggerswhen a player gets too close to a trapped skeleton horse and triggers the trap.
Generated Examplesafter skeleton horse trap:
Contexts<context.entity> returns an EntityTag of the skeleton horse.
<context.players> returns a ListTag(PlayerTag) of the players involved in the trap.
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupPaper
RequiresPaper
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/paper/src/main/java/com/denizenscript/denizen/paper/events/SkeletonHorseTrapScriptEvent.java#L16

Nametarget block hit
Event Lines target block hit
Triggerswhen a target block is hit by a projectile such as an arrow.
Generated Examplesafter target block hit:
on target block hit:
Has Playerwhen the shooter is a player. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Has NPCwhen the shooter is a npc.
Contexts<context.projectile> returns an EntityTag of the projectile.
<context.hit_block> returns a LocationTag of the block that was hit.
<context.hit_face> returns a LocationTag vector of the hit normal (like '0,1,0' if the projectile hit the top of a block).
<context.shooter> returns an EntityTag of the entity that shot the projectile, if any.
<context.strength> returns a ElementTag of the emitted redstone strength.
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupPaper
RequiresPaper
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/paper/src/main/java/com/denizenscript/denizen/paper/events/TargetBlockHitScriptEvent.java#L17

Namewarden changes anger level
Event Lines warden changes anger level
Triggerswhen a warden changes its anger level. (In practice, only fires when increasing).
Example
on warden changes anger level:
- if <context.new_anger> >= 40 && <context.new_anger> < 80:
    - announce "Careful, the warden is agitated!"
Has Playerwhen the entity who triggered the change is a player. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Has NPCwhen the entity who triggered the change is an NPC.
Contexts<context.entity> returns the EntityTag of the warden which changed its anger level.
<context.new_anger> returns an ElementTag(Number) of the new anger level.
<context.old_anger> returns an ElementTag(Number) of the old anger level.
<context.target> returns the EntityTag who triggered the change (if any). (In practice, always present).
Determine"ANGER:<ElementTag(Number)>" to set the value of the anger level. Value must be between 0 and 150.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupPaper
RequiresPaper
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/paper/src/main/java/com/denizenscript/denizen/paper/events/WardenChangesAngerLevelScriptEvent.java#L15

Nameentity prespawns because cause
Event Lines <entity> prespawns (because <cause>)
Triggersbefore a mob spawns and before the mob is created for spawning. Note that this has a limited number of use cases.
The intent of this event is to save server resources for blanket mob banning/limiting scripts. Use the entity spawn event as a backup.
Generated Examplesafter entity prespawns:
on entity prespawns because cause:
Contexts<context.entity> returns the EntityTag that will be spawned. Note that this entity will not be spawned yet, so usage will be limited.
<context.location> returns the LocationTag the entity will spawn at.
<context.reason> returns an ElementTag of the reason for spawning. Currently, this event only fires for NATURAL and SPAWNER reasons.
<context.spawner_location> returns the LocationTag of the spawner's location if this mob is spawning from a spawner.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupPaper
RequiresPaper
Warning(s)This event may fire very rapidly, and only fires for NATURAL and SPAWNER reasons.
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/paper/src/main/java/com/denizenscript/denizen/paper/events/PreEntitySpawnScriptEvent.java#L17

Nameentity steps on block
Event Lines entity steps on block
<entity> steps on <material>
Triggerswhen a non-player entity steps onto a specific block material. For players, use Event:player steps on block.
Example
# Announce the name of the entity stepping on the block and the material of block.
on entity steps on block:
- announce "<context.entity.name> stepped on a <context.location.material.name>!"
Example
# Announce the material of the block a sheep has stepped on.
on sheep steps on block:
- announce "A sheep has stepped on a <context.location.material.name>!"
Example
# Announce that a sheep has stepped on a diamond block.
on sheep steps on diamond_block:
- announce "A sheep has stepped on a diamond block! Must be a wealthy sheep!"
Contexts<context.entity> returns an EntityTag of the entity stepping onto the block.
<context.location> returns a LocationTag of the block the entity is stepping on.
<context.previous_location> returns a LocationTag of where the entity was before stepping onto the block.
<context.new_location> returns a LocationTag of where the entity is now.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupPaper
RequiresPaper
Warning(s)This event may fire very rapidly.
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/paper/src/main/java/com/denizenscript/denizen/paper/events/EntityStepsOnScriptEvent.java#L15

Nameplayer equips|unequips armor|helmet|chestplate|leggings|boots
Event Lines player equips|unequips armor|helmet|chestplate|leggings|boots
player equips|unequips <item>
Triggerswhen a player (un)equips armor.
Generated Examplesafter player unequips boots:
after player unequips item:
after player equips leggings:
after player equips pufferfish:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.new_item> returns the ItemTag that is now in the slot.
<context.old_item> returns the ItemTag that used to be in the slot.
<context.slot> returns the name of the slot.
GroupPaper
RequiresPaper
Warning(s)This event is not reliable, and may miss some types of equipment changes or fire when equipment hasn't actually changed.
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/paper/src/main/java/com/denizenscript/denizen/paper/events/PlayerEquipsArmorScriptEvent.java#L22

Nameplayer tracks|untracks entity
Event Lines player tracks|untracks <entity>
Triggerswhen a player starts or stops tracking an entity. An entity is tracked/untracked by a player's client when the player moves in/out of its Mechanism:EntityTag.tracking_range.
Example
# Narrate when the player tracks any entities except for item frames.
on player tracks !item_frame:
- narrate "You are now tracking <context.entity.name> at <context.entity.location.simple>"
Example
on player untracks chicken:
- narrate "CHICKEN: No! Come back! :("
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.entity> returns an EntityTag of the entity being tracked or untracked.
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupPaper
RequiresPaper
Warning(s)This event may fire very rapidly.
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/paper/src/main/java/com/denizenscript/denizen/paper/events/PlayerTracksEntityScriptEvent.java#L16