- D1 Meta Docs - Denizen Script -
Home Page / Pi to one million places / Contact mcmonkey / Donate / Paste Scripts / Denizen Help /
You are browsing as a guest.
Login | Register




Search:

Listing Events...


Name(s)on console output
Triggerswhen any message is printed to console. (Requires mechanism/system.redirect_logging be set true.)
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Context<context.message> returns the message that is being printed to console.
Determine

Name(s)on 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.
Switchevery:<count> to only run the event every *count* times (like "on delta time secondly every:5" for every 5 seconds).
Context<context.second> returns the exact delta time since system start.
Determine

Name(s)on pre script reload
Triggersimmediately before Denizen scripts are reloaded.
Context
Determine

Name(s)on reload scripts
on script reload
Triggerswhen Denizen scripts are reloaded.
Switchhad_error:true/false to only process the event if there either was or was not an error message.
Context<context.had_error> returns an ElementTag(Boolean) whether there was an error.
Determine

Name(s)on system time [<hh:mm>/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.
Switchevery:<count> to only run the event every *count* times (like "on system time secondly every:5" for every 5 seconds).
Context<context.hour> returns the exact hour of the system time.
<context.minute> returns the exact minute of the system time.
Determine

Name(s)on tick
Triggersevery single tick.
Switchevery:<count> to only run the event every *count* times (like "every:5" for every 5 ticks).
Context<context.tick> how many ticks have passed since the server started.
Determine
WarningThis event fires very rapidly and is usually not the most ideal way to handle things.

Name(s)on player (un)equips armor
on player (un)equips <item>
on player (un)equips [helmet/chestplate/leggings/boots]
Triggerswhen a player (un)equips armor.
Context<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.
Determine
NoteThis event requires the plugin(s) Paper!

Name(s)on player spectates <entity>
Triggerswhen a player starts spectating an entity.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Context<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).
Has PlayerAlways.
Determine
NoteThis event requires the plugin(s) Paper!

Name(s)on player stops spectating (<entity>)
Triggerswhen a player stops spectating an entity.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Context<context.entity> returns the entity that was being spectated.
Has PlayerAlways.
Determine
NoteThis event requires the plugin(s) Paper!

Name(s)on tnt primes
Triggerswhen TNT is activated and will soon explode.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Context<context.entity> returns the entity that primed the TNT, if any.
<context.location> returns the location of the TNT block being primed.
<context.reason> returns the reason the TNT was primed. Refer to url/https://papermc.io/javadocs/paper/com/destroystokyo/paper/event/block/TNTPrimeEvent.PrimeReason.html
Has Playerwhen the priming entity is a player.
Determine
NoteThis event requires the plugin(s) Paper!

Name(s)on shutdown
Triggerswhen the server is shutting down.
ContextNone.
Determine
Warningnot all plugins will be loaded and delayed scripts will be dropped.

Name(s)on block being built (on <material>)
on <material> being built (on <material>)
Triggerswhen an attempt is made to build a block on another block. Not necessarily caused by players.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Context<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.
GroupBlock

Name(s)on block burns
on <block> burns
Triggerswhen a block is destroyed by fire.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Context<context.location> returns the LocationTag the block was burned at.
<context.material> returns the MaterialTag of the block that was burned.
Determine
GroupBlock

Name(s)on block dispenses item
on block dispenses <item>
on <block> dispenses item
on <block> dispenses <item>
Triggerswhen a block dispenses an item.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Context<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.
GroupBlock

Name(s)on block fades
on <block> fades
Triggerswhen a block fades, melts or disappears based on world conditions.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Context<context.location> returns the LocationTag the block faded at.
<context.material> returns the MaterialTag of the block that faded.
Determine
GroupBlock

Name(s)on block falls
on <material> falls
Triggerswhen a block falls.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Context<context.location> returns the location of the block.
<context.entity> returns the entity of the block that fell.
Determine
GroupBlock

Name(s)on block forms
on <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.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Context<context.location> returns the LocationTag the block that is forming.
<context.material> returns the MaterialTag of the block that is forming.
Determine
GroupBlock

Name(s)on block grows
on <block> grows
Triggerswhen a block grows naturally in the world, EG, when wheat, sugar canes, cacti, watermelons or pumpkins grow.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Context<context.location> returns the LocationTag of the block that grew.
<context.material> returns the MaterialTag of the block that grew.
Determine
GroupBlock

Name(s)on block ignites
on <material> ignites
Triggerswhen a block is set on fire.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Switchcause:<cause> to only process the event when it came from a specified cause.
Context<context.location> returns the LocationTag of the block was set on fire at.
<context.material> returns the MaterialTag of the block that was set on fire.
<context.entity> returns the EntityTag of the entity that ignited the block.
<context.origin_location> returns the LocationTag of the fire block that ignited this block.
<context.cause> returns an ElementTag of the cause of the event: ENDER_CRYSTAL, EXPLOSION, FIREBALL, FLINT_AND_STEEL, LAVA, or SPREAD.
Determine
GroupBlock

Name(s)on block physics
on <material> physics
Triggerswhen a block's physics update.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Context<context.location> returns a LocationTag of the block the physics is affecting.
<context.new_material> returns a MaterialTag of what the block is becoming.
Determine
GroupBlock
WarningThis event may fire very rapidly.

Name(s)on block spreads
on <material> spreads
Triggerswhen a block spreads based on world conditions, EG, when fire spreads, or when mushrooms spread.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Context<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.
Determine
GroupBlock

Name(s)on brewing stand brews
Triggerswhen a brewing stand brews a potion.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Context<context.location> returns the LocationTag of the brewing stand.
<context.inventory> returns the InventoryTag of the brewing stand's contents.
Determine
GroupBlock

Name(s)on cauldron level changes
on cauldron level raises
on cauldron level lowers
Triggerswhen a cauldron's level changes.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Switchcause:<cause> to only process the event when it came from a specified cause.
Context<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 url/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.
GroupBlock

Name(s)on furnace burns item
on furnace burns <item>
Triggerswhen a furnace burns an item used as fuel.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Context<context.location> returns the LocationTag of the furnace.
<context.item> returns the ItemTag burnt.
DetermineElementTag(Number) to set the burn time for this fuel.
GroupBlock

Name(s)on furnace smelts item (into <item>)
on furnace smelts <item> (into <item>)
Triggerswhen a furnace smelts an item.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Context<context.location> returns the LocationTag of the furnace.
<context.source_item> returns the ItemTag that is being smelted.
<context.result_item> returns the ItemTag that is the result of the smelting.
DetermineItemTag to set the item that is the result of the smelting.
GroupBlock

Name(s)on leaves decay
on <block> decay
Triggerswhen leaves decay.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Context<context.location> returns the LocationTag of the leaves.
<context.material> returns the MaterialTag of the leaves.
Determine

Name(s)on liquid spreads
on <liquid block> spreads
on dragon egg moves
Triggerswhen a liquid block spreads or dragon egg moves.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Context<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.
Determine
GroupBlock

Name(s)on piston extends
on <block> extends
Triggerswhen a piston extends.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Context<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.relative> returns a LocationTag of the block in front of the piston.
Determine
GroupBlock

Name(s)on piston retracts
on <block> retracts
Triggerswhen a piston retracts.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Context<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.relative> returns a LocationTag of the block in front of the piston.
Determine
GroupBlock

Name(s)on redstone recalculated
Triggerswhen a redstone wire is recalculated.
Switchin:<area> to only process the event if it occurred within a specified area.
Context<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.
GroupBlock
WarningThis event fires very very rapidly!

Name(s)on player enters <notable cuboid>
on player exits <notable cuboid>
on player enters notable cuboid
on player exits notable cuboid
Triggerswhen a player enters or exits a notable cuboid.
Context<context.from> returns the block location moved from.
<context.to> returns the block location moved to.
<context.cuboids> returns a list of cuboids entered/exited (when no cuboid is specified in the event name).
<context.cause> returns the cause of the event. Can be: WALK, WORLD_CHANGE, JOIN, LEAVE, TELEPORT, VEHICLE
Determine"CANCELLED" to stop the player from moving, if cause is WALK or TELEPORT.

Name(s)on server list ping
Triggerswhen the server is pinged for a client's server list.
Context<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.
DetermineElementTag(Number) to change the max player amount that will show
ElementTag to change the MOTD that will show.

Name(s)on server prestart
Triggersbefore the server finishes starting... fired after some saves are loaded, but before other data is loaded. Use with extreme caution.
Context
Determine
WarningThis event uses special pre-loading tricks to fire before everything else. Use extreme caution.

Name(s)on tab complete
Triggerswhen a player or the console is sent a list of available tab completions.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Context<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.
Has Playerwhen the tab completion is done by a player.
DetermineListTag to set the list of available tab completions.

Name(s)on creeper powered (because <cause>)
Triggerswhen a creeper is struck by lightning and turned into a powered creeper.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Context<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.
Determine

Name(s)on dragon changes phase
on <entity> changes phase
Triggerswhen a dragon's combat phase changes.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Switchfrom:<phase> to only process the event if the dragon was previously in the specified phase.
Switchto:<phase> to only process the event if the dragon is changing to the specified phase.
Context<context.entity> returns the EntityTag of the dragon.
<context.new_phase> returns an ElementTag of the dragon's new phase. Phases: <@see link https://hub.spigotmc.org/javadocs/spigot/org/bukkit/event/entity/EnderDragonChangePhaseEvent.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.

Name(s)on entity changes air level
on <entity> changes air level
Triggerswhen an entity's air level changes.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Context<context.entity> returns the EntityTag.
<context.air> returns an ElementTag(Number) of the entity's new air level (measured in ticks).
Has Playerwhen the entity that's air level has changed is a player.
Has NPCwhen the entity that's air level has changed is an NPC.
DetermineElementTag(Decimal) to set the entity's new air level.

Name(s)on entity breaks hanging (because <cause>)
on entity breaks <hanging> (because <cause>)
on <entity> breaks hanging (because <cause>)
on <entity> breaks <hanging> (because <cause>)
Triggerswhen a hanging entity (painting, item_frame, or leash_hitch) is broken.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Context<context.cause> returns the cause of the entity breaking. Causes list: url/http://bit.ly/1BeqxPX
<context.breaker> returns the EntityTag that broke the hanging entity, if any.
<context.hanging> returns the EntityTag of the hanging.
Has Playerwhen the breaker is a player.
Has NPCwhen the breaker is an npc.
Determine

Name(s)on entity breeds
on <entity> breeds
Triggerswhen two entities breed.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Context<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.

Name(s)on entity changes block
on entity changes block (into <material>)
on entity changes <material> (into <material>)
on <entity> changes block (into <material>)
on <entity> changes <material> (into <material>)
Triggerswhen an entity changes the material of a block.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Context<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.
Has Playerwhen the entity that changed the block is a player.
Determine

Name(s)on entity combusts
on <entity> combusts
Triggerswhen an entity catches fire.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Context<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.
Has Playerwhen the entity that catches fire is a player.
Has NPCwhen the entity that catches fire is an NPC.
DetermineElementTag(Number) set the length of duration.

Name(s)on entity creates portal
on <entity> creates portal
Triggerswhen an entity creates a portal. Generally, prefer event/portal created instead of this.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Context<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.
Has Playerif the entity that created the portal is a player.
Determine

Name(s)on entity damaged (by <cause>)
on <entity> damaged (by <cause>)
on entity damages entity
on entity damages <entity>
on entity damaged by entity
on entity damaged by <entity>
on <entity> damages entity
on <entity> damaged by entity
on <entity> damaged by <entity>
on <entity> damages <entity>
Triggerswhen an entity is damaged.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Switchwith:<item> to only process the event when the item used to cause damage (in the damager's hand) is a specified item.
Context<context.entity> returns the EntityTag that was damaged.
<context.damager> returns the EntityTag damaging the other entity, if any.
<context.cause> returns the 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> returns the damage dealt by a specific damage type where TYPE can be any of: BASE, HARD_HAT, BLOCKING, ARMOR, RESISTANCE, MAGIC, ABSORPTION.
Has Playerwhen the damager or damaged entity is a player. Cannot be both.
Has NPCwhen the damager or damaged entity is an NPC. Cannot be both.
DetermineElementTag(Decimal) to set the amount of damage the entity receives.

Name(s)on entity death
on entity dies
on <entity> dies
on <entity> 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 cannot be cancelled, only the death message (for players).
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Switchby:<entity type> to only process the event if the killer is of a specified entity type.
Context<context.entity> returns the EntityTag that died.
<context.damager> returns the EntityTag damaging the other entity, if any.
<context.message> returns an ElementTag of a player's death message.
<context.inventory> returns the InventoryTag of the entity if it was a player.
<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.
Has Playerwhen the entity that died is a player.
Has NPCwhen the entity that died is an NPC.
DetermineElementTag to change the death message.
"NO_DROPS" to specify that any drops should be removed.
"NO_DROPS_OR_XP" to specify that any drops or XP orbs 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.
Note that the event can be cancelled to hide a player death message.

Name(s)on entity despawns
on <entity> despawns
Triggerswhen an entity despawns permanently from the world. May fire repeatedly for one entity.
Switchin:<area> to only process the event if it occurred within a specified area.
Switchcause:<cause> to only process the event when it came from a specified cause.
Context<context.entity> returns the entity that despawned.
<context.cause> returns the reason the entity despawned. Can be: DEATH, CHUNK_UNLOAD, or OTHER
Has NPCwhen the entity that despawned is an NPC.
Determine
Warningthis event fires very rapidly.

Name(s)on entity enters portal
on <entity> enters portal
Triggerswhen an entity enters a portal.
Switchin:<area> to only process the event if it occurred within a specified area.
Context<context.entity> returns the EntityTag.
<context.location> returns the LocationTag of the portal block touched by the entity.
Has Playerwhen the entity that entered the portal is a player
Has NPCwhen the entity that entered the portal is an NPC.
Determine

Name(s)on entity enters vehicle
on entity enters <vehicle>
on <entity> enters vehicle
on <entity> enters <vehicle>
Triggerswhen an entity enters a vehicle.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Context<context.vehicle> returns the EntityTag of the vehicle.
<context.entity> returns the EntityTag of the entering entity.
Has Playerwhen the entity that entered the vehicle is a player.
Has NPCwhen the entity that entered the vehicle is an NPC.
Determine

Name(s)on entity exits portal
on <entity> exits portal
Triggerswhen an entity exits a portal.
Switchin:<area> to only process the event if it occurred within a specified area.
Context<context.entity> returns the EntityTag.
<context.location> returns the LocationTag of the portal block touched by the entity.
Has Playerwhen the entity that exits the portal is a player.
Has NPCwhen the entity that exits the portal is an NPC.
Determine

Name(s)on entity exits vehicle
on entity exits <vehicle>
on <entity> exits vehicle
on <entity> exits <vehicle>
Triggerswhen an entity exits a vehicle.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Context<context.vehicle> returns the EntityTag of the vehicle.
<context.entity> returns the EntityTag of the exiting entity.
Has Playerwhen the entity that exits the vehicle is a player.
Has NPCwhen the entity that exists the vehicle is an NPC.
Determine

Name(s)on entity explodes
on <entity> explodes
Triggerswhen an entity explodes.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Context<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.

Name(s)on entity explosion primes
on <entity> explosion primes
Triggerswhen an entity decides to explode.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Context<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.
Determine

Name(s)on entity changes food level
on <entity> changes food level
Triggerswhen an entity's food level changes.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Context<context.entity> returns the EntityTag.
<context.food> returns an ElementTag(Number) of the entity's new food level.
Has Playerwhen the entity that's food level has changed is a player.
Has NPCwhen the entity that's food level has changed is an NPC.
DetermineElementTag(Decimal) to set the entity's new food level.

Name(s)on entity forms block
on entity forms <block>
on <entity> forms block
on <entity> forms <block>
Triggerswhen a block is formed by an entity.
For example, when a snowman forms snow.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Context<context.location> returns the LocationTag the block.
<context.material> returns the MaterialTag of the block.
<context.entity> returns the EntityTag that formed the block.
Determine

Name(s)on entity toggles gliding
on entity starts gliding
on entity stops gliding
Triggerswhen an entity starts or stops gliding.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Context<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.
Has Playerwhen the entity is a player.
Has NPCwhen the entity is an NPC.
Determine

Name(s)on entity heals (because <cause>)
on <entity> heals (because <cause>)
Triggerswhen an entity heals.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Context<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: url/http://bit.ly/2GTtxsf
Has Playerwhen the entity that was healed is a player.
Has NPCwhen the entity that was healed was an NPC.
DetermineElementTag(Decimal) to set the amount of health the entity receives.

Name(s)on <entity> interacts with <material>
on entity interacts with <material>
on <entity> interacts with block
on entity interacts with block
Triggerswhen an entity interacts with a block (EG an arrow hits a button)
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Context<context.location> returns a LocationTag of the block being interacted with.
<context.entity> returns a EntityTag of the entity doing the interaction.
Determine

Name(s)on entity killed
on entity killed by <cause>
on entity killed by entity
on entity killed by <entity>
on <entity> killed
on <entity> killed by <cause>
on <entity> killed by entity
on <entity> killed by <entity>
on entity kills entity
on entity kills <entity>
on <entity> kills entity
on <entity> kills <entity>
Triggerswhen an entity is killed.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Context<context.entity> returns the EntityTag that was killed.
<context.cause> returns the 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> returns the damage dealt by a specific damage type where TYPE can be any of: BASE, HARD_HAT, BLOCKING, ARMOR, RESISTANCE, MAGIC, ABSORPTION.
Has Playerwhen the killer or entity that was killed is a player. Cannot be both.
Has NPCwhen the killer or entity that was killed is an NPC. Cannot be both.
DetermineElementTag(Decimal) to set the amount of damage the entity receives, instead of dying.
WarningThis 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.

Name(s)on entity potion effects modified
on <entity> potion effects modified
on entity potion effects <change action>
on <entity> potion effects <change action>
Triggerswhen an entity's potion effects change.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Switchcause:<cause> to only process the event when it came from a specified cause.
Switcheffect:<effect type> to only process the event when a specified potion effect is applied.
Context<context.entity> returns the EntityTag.
<context.cause> returns the cause of the effect change, based on <@see link 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> returns the new potion effect (in the same format as tag/EntityTag.list_effects).
<context.old_effect> returns the new potion effect (in the same format as tag/EntityTag.list_effects).
<context.effect_type> returns the name of the modified potion effect type.
Has Playerwhen the entity that has changed is a player.
Has NPCwhen the entity that has changed is an NPC.
Determine"OVERRIDE:" + ElementTag(Boolean) to set whether the new potion effect should override.

Name(s)on entity resurrected
on <entity> resurrected
Triggerswhen an entity dies and is resurrected by a totem.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Context<context.entity> returns the EntityTag being resurrected.
Has Playerwhen the entity being resurrected is a player.
Determine

Name(s)on entity shoots bow
on <entity> shoots bow
on entity shoots <item>
on <entity> shoots <item>
Triggerswhen an entity shoots something out of a bow.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Context<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.
Has Playerwhen the entity that shot the bow is a player.
Has NPCwhen the entity that shot the bow is an NPC.
DetermineListTag(EntityTag) to change the projectile(s) being shot.

Name(s)on entity spawns
on entity spawns (because <cause>)
on <entity> spawns
on <entity> spawns (because <cause>)
Triggerswhen an entity spawns.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Context<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.
Reasons: url/https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/event/entity/CreatureSpawnEvent.SpawnReason.html
Determine
WarningThis event may fire very rapidly.

Name(s)on spawner spawns entity
on spawner spawns <entity>
Triggerswhen an entity spawns from a monster spawner.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Context<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.
Determine

Name(s)on entity toggles swimming
on entity starts swimming
on entity stops swimming
Triggerswhen an entity starts or stops swimming.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Context<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.
Has Playerwhen the entity is a player.
Has NPCwhen the entity is an NPC.
Determine

Name(s)on entity tamed
on <entity> tamed
on player tames entity
on player tames <entity>
Triggerswhen an entity is tamed.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Context<context.entity> returns a EntityTag of the tamed entity.
<context.owner> returns a EntityTag of the owner.
Has Playerwhen a player tames an entity and using the 'players tames entity' event.
Determine

Name(s)on entity targets (<entity>) (because <cause>)
on <entity> targets (<entity>) (because <cause>)
Triggerswhen an entity targets a new entity.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Context<context.entity> returns the targeting entity.
<context.reason> returns the reason the entity changed targets.
<context.target> returns the targeted entity.
Has Playerwhen the entity being targetted is a player.
DetermineEntityTag to make the entity target a different entity instead.

Name(s)on entity teleports
on <entity> teleports
Triggerswhen an entity teleports.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Switchcause:<cause> to only process the event when it came from a specified cause.
Context<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. Can be:
COMMAND, END_PORTAL, ENDER_PEARL, NETHER_PORTAL, PLUGIN, END_GATEWAY, CHORUS_FRUIT, SPECTATE, UNKNOWN, or ENTITY_TELEPORT
Has Playerwhen the entity being teleported is a player.
Has NPCwhen the entity being teleported is an NPC.
Determine"ORIGIN:" + LocationTag to change the location the entity teleported from.
"DESTINATION:" + LocationTag to change the location the entity teleports to.

Name(s)on entity unleashed (because <reason>)
on <entity> unleashed (because <reason>)
Triggerswhen an entity is unleashed.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Context<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 NPCwhen the entity being unleashed is an NPC.
Determine

Name(s)on experience bottle breaks
Triggerswhen a thrown experience bottle breaks.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Context<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.

Name(s)on firework bursts
Triggerswhen a firework bursts (explodes).
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Context<context.entity> returns the firework that exploded.
<context.item>  returns the firework item.
<context.location> returns the LocationTag the firework exploded at.
Determine

Name(s)on hanging breaks (because <cause>)
on <hanging> breaks (because <cause>)
Triggerswhen a hanging entity (painting, item_frame, or leash_hitch) is broken.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Context<context.cause> returns the cause of the entity breaking. Causes: ENTITY, EXPLOSION, OBSTRUCTION, PHYSICS, and DEFAULT.
<context.entity> returns the EntityTag that broke the hanging entity, if any.
<context.hanging> returns the EntityTag of the hanging.
Determine

Name(s)on horse jumps
on (<color>) (<type>) jumps
Triggerswhen a horse jumps.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Context<context.entity> returns the EntityTag of the horse.
<context.color> returns an ElementTag of the horse's color.
<context.variant> returns an ElementTag of the horse's variant.
<context.power> returns an ElementTag(Decimal) of the jump's power.
DetermineElementTag(Decimal) to set the power of the jump.

Name(s)on item despawns
on <item> despawns
on <material> despawns
Triggerswhen an item entity despawns.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Context<context.item> returns the ItemTag of the entity.
<context.entity> returns the EntityTag.
<context.location> returns the location of the entity to be despawned.
Determine

Name(s)on item enchanted
on <item> enchanted
Triggerswhen an item is enchanted.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Context<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.
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:" + ItemTag to change the resultant enchantments based on a ItemTag.

Name(s)on item merges
on <item> merges
on <material> merges
Triggerswhen an item entity merges into another item entity.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Context<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.
Determine

Name(s)on item spawns
on <item> spawns
on <material> spawns
Triggerswhen an item entity spawns.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Context<context.item> returns the ItemTag of the entity.
<context.entity> returns the EntityTag.
<context.location> returns the location of the entity to be spawned.
Determine

Name(s)on npc spawns
Triggerswhen an NPC spawns.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Context<context.location> returns the location the entity will spawn at.
Determine

Name(s)on pig zapped
Triggerswhen a pig is zapped by lightning and turned into a pig zombie.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Context<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.
Determine

Name(s)on projectile hits block
on projectile hits <material>
on <projectile> hits block
on <projectile> hits <material>
Triggerswhen a projectile hits a block.
Switchin:<area> to only process the event if it occurred within a specified area.
Context<context.projectile> returns the EntityTag of the projectile.
<context.shooter> returns the EntityTag of the shooter, if there is one.
<context.location> returns the LocationTag of the block that was hit.
Determine

Name(s)on entity shoots block
on entity shoots <material> (with <projectile>)
on <entity> shoots block
on <entity> shoots <material> (with <projectile>)
Triggerswhen a projectile shot by an entity hits a block.
Switchin:<area> to only process the event if it occurred within a specified area.
Context<context.projectile> returns the EntityTag of the projectile.
<context.shooter> returns the EntityTag of the shooter, if there is one.
<context.location> returns the LocationTag of the block that was hit.
Determine

Name(s)on projectile launched
on <entity> launched
Triggerswhen a projectile is launched.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Context<context.entity> returns the projectile.
Determine

Name(s)on sheep dyed (<color>)
on player dyes sheep (<color>)
Triggerswhen a sheep is dyed by a player.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Context<context.entity> returns the EntityTag of the sheep.
<context.color> returns an ElementTag of the color the sheep is being dyed.
Has Playerwhen a player dyes a sheep, and using the 'player dyes sheep' event.
DetermineElementTag that matches DyeColor to dye it a different color.
WarningDetermine color will not update the clientside, use - wait 1t and adjust <context.entity> color:YOUR_COLOR to force-update.

Name(s)on sheep regrows wool
Triggerswhen a sheep regrows wool.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Context<context.entity> returns the EntityTag of the sheep.
Determine

Name(s)on slime splits (into <#>)
Triggerswhen a slime splits into smaller slimes.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Context<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.

Name(s)on vehicle collides with block
on vehicle collides with <material>
on <vehicle> collides with block
on <vehicle> collides with <material>
Triggerswhen a vehicle collides with a block.
Switchin:<area> to only process the event if it occurred within a specified area.
Context<context.vehicle> returns the EntityTag of the vehicle.
<context.location> returns the LocationTag of the block.
Determine

Name(s)on vehicle collides with entity
on vehicle collides with <entity>
on <vehicle> collides with entity
on <vehicle> collides with <entity>
Triggerswhen a vehicle collides with an entity.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Context<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.
Has Playerwhen a vehicle collides with a player.
Has NPCwhen a vehicle collides with an NPC.
Determine"PICKUP:TRUE" to allow the vehicle to pick up the entity.
"PICKUP:FALSE" to stop the vehicle from picking up the entity.

Name(s)on vehicle created
on <vehicle> created
Triggerswhen a vehicle is created.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Context<context.vehicle> returns the EntityTag of the vehicle.
Determine

Name(s)on vehicle damaged
on <vehicle> damaged
on entity damages vehicle
on <entity> damages vehicle
on entity damages <vehicle>
on <entity> damages <vehicle>
Triggerswhen a vehicle is damaged.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Context<context.vehicle> returns the EntityTag of the vehicle.
<context.entity> returns the EntityTag of the attacking entity.
Has NPCwhen the entity that damaged the vehicle is an NPC.
DetermineElementTag(Decimal) to set the value of the damage received by the vehicle.

Name(s)on vehicle destroyed
on <vehicle> destroyed
on entity destroys vehicle
on <entity> destroys vehicle
on entity destroys <vehicle>
on <entity> destroys <vehicle>
Triggerswhen a vehicle is destroyed.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Context<context.vehicle> returns the EntityTag of the vehicle.
<context.entity> returns the EntityTag of the attacking entity.
Has NPCwhen the entity that destroyed the vehicle is an NPC.
Determine

Name(s)on vehicle moves
on <vehicle> moves
Triggerswhen a vehicle moves in the slightest.
Switchin:<area> to only process the event if it occurred within a specified area.
Context<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.
Determine
WarningThis event fires very very rapidly!

Name(s)on player enters <biome>
on player exits <biome>
on player enters biome
on player exits biome
Triggerswhen a player enters or exits a biome.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Context<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.
Has PlayerAlways.
Determine
WarningCancelling this event will fire a similar event immediately after.

Name(s)on player chats
Triggerswhen a player chats.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Context<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.
Has PlayerAlways.
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.
WarningUsing this will forcibly sync the chat thread.

Name(s)on item recipe formed
on <item> recipe formed
on <material> recipe formed
Triggerswhen an item's recipe is correctly formed.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Context<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.
Has PlayerAlways.
DetermineItemTag to change the item that is formed in the result slot.

Name(s)on player scrolls their hotbar
on player holds item
Triggerswhen a player scrolls through their hotbar.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Switchitem:<item> to only process the event when the player is going to hold a specified item.
Context<context.new_slot> returns the number of the new inventory slot.
<context.previous_slot> returns the number of the old inventory slot.
Has PlayerAlways.
Determine

Name(s)on player animates (<animation>)
Triggerswhen a player performs an animation.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Context<context.animation> returns the name of the animation.
Has PlayerAlways.
Determine

Name(s)on player breaks block
on player breaks <material>
Triggerswhen a player breaks a block.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Switchwith:<item> to only process the event when the player is breaking the block with a specified item.
Context<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.
Has PlayerAlways.
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.

Name(s)on player breaks held item
on player breaks held <item>
Triggerswhen a player breaks the item they are holding.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Context<context.item> returns the item that broke.
<context.slot> returns the slot of the item that broke.
Has PlayerAlways.
Determine

Name(s)on player changes gamemode (to <gamemode>)
Triggerswhen a player's gamemode is changed.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Context<context.gamemode> returns an ElementTag of the gamemode. Game Modes: url/http://bit.ly/1KHab43
Has PlayerAlways.
Determine

Name(s)on player changes sign
on player changes <material>
Triggerswhen a player changes a sign.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Context<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.
Has PlayerAlways.
DetermineListTag to change the lines (Uses escaping, see language/Property Escaping)

Name(s)on player changes world (from <world>) (to <world>)
Triggerswhen a player moves to a different world.
Switchin:<area> to only process the event if it occurred within a specified area.
Context<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 PlayerAlways.
Determine

Name(s)on player changes xp
Triggerswhen a player's experience amount changes.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Context<context.amount> returns the amount of changed experience.
Has PlayerAlways.
DetermineElementTag(Number) to set the amount of changed experience.

Name(s)on player clicks block
on player (right/left) clicks (<material>) (with <item>) (using hand/off_hand/either_hand)
on player (right/left) clicks block (with <item>) (using hand/off_hand/either_hand)
Triggerswhen a player clicks on a block or in the air.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Context<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 url/https://hub.spigotmc.org/javadocs/spigot/org/bukkit/event/block/Action.html.
<context.hand> returns an ElementTag of the used hand.
Has PlayerAlways.
Determine

Name(s)on player clicks in inventory
on player (<click type>) clicks (<item>) in <inventory> (with <item>)
Triggerswhen a player clicks in an inventory.
Context<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: url/http://bit.ly/2IjY198
<context.slot_type> returns an ElementTag with the name of the slot type that was clicked.
<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.
Has PlayerAlways.
Determine"CANCELLED" to stop the player from clicking.
ItemTag to set the current item for the event.

Name(s)on player closes inventory
on player closes <inventory>
Triggerswhen a player closes an inventory. (EG, chests, not the player's main inventory.)
Context<context.inventory> returns the InventoryTag.
Has PlayerAlways.
Determine

Name(s)on player completes advancement
Triggerswhen a player has completed all criteria in an advancement.
Context<context.criteria> returns all the criteria present in this advancement.
Has PlayerAlways.
Determine

Name(s)on player consumes item
on player consumes <item>
Triggerswhen a player consumes an item.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Context<context.item> returns the ItemTag.
Has PlayerAlways.
DetermineItemTag to change the item being consumed.

Name(s)on player crafts item
on player crafts <item>
Triggerswhen a player fully crafts an item.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Context<context.inventory> returns the InventoryTag of the crafting inventory.
<context.item> returns the ItemTag to be crafted.
<context.recipe> returns a ListTag of ItemTags in the recipe.
Has PlayerAlways.
DetermineItemTag to change the item that is crafted.

Name(s)on player damages block
on player damages <material>
Triggerswhen a block is damaged by a player.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Switchwith:<item> to only process the event when the player is hitting the block with a specified item.
Context<context.location> returns the LocationTag the block that was damaged.
<context.material> returns the MaterialTag of the block that was damaged.
Has PlayerAlways.
Determine"INSTABREAK" to make the block get broken instantly.

Name(s)on player drags in inventory
on player drags (<item>) (in <inventory>)
Triggerswhen a player drags in an inventory.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin_area:<area> to only process the event if it occurred within a specified area.
Context<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.
Has PlayerAlways.
Determine

Name(s)on player drops item
on player drops <item>
Triggerswhen a player drops an item.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Context<context.item> returns the ItemTag.
<context.entity> returns a EntityTag of the item.
<context.location> returns a LocationTag of the item's location.
Has PlayerAlways.
Determine

Name(s)on player edits book
on player signs book
Triggerswhen a player edits or signs a book.
Context<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.
<context.signing> returns whether the book is about to be signed.
Has PlayerAlways.
Determine"NOT_SIGNING" to prevent the book from being signed.
ScriptTag to set the book information to set it to instead.

Name(s)on player empties bucket
on player empties <bucket>
Triggerswhen a player empties a bucket.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Context<context.item> returns the ItemTag of the bucket being emptied.
<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.
Has PlayerAlways.
Determine

Name(s)on player enters bed
Triggerswhen a player enters a bed.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Context<context.location> returns the LocationTag of the bed.
Has PlayerAlways.
Determine

Name(s)on player fills bucket
on player fills <bucket>
Triggerswhen a player fills a bucket.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Context<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.
Has PlayerAlways.
Determine

Name(s)on player fishes (<entity>/<item>) (while <state>)
Triggerswhen a player uses a fishing rod.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Context<context.hook> returns a EntityTag of the hook.
<context.state> returns an ElementTag of the fishing state. Valid states: url/https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/event/player/PlayerFishEvent.State.html
<context.entity> returns a EntityTag of the entity that got caught.
<context.item> returns a ItemTag of the item gotten, if any.
Has PlayerAlways.
Determine"CAUGHT:" + ItemTag to change the the item that was caught (only if an item was already being caught).

Name(s)on player toggles flying
on player starts flying
on player stops flying
Triggerswhen a player starts or stops flying.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Context<context.state> returns an ElementTag(Boolean) with a value of "true" if the player is now flying and "false" otherwise.
Has PlayerAlways.
Determine

Name(s)on player item takes damage
on player <item> takes damage
Triggerswhen the player damages an item.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Context<context.damage> returns the amount of damage the item has taken.
<context.item> returns the item that has taken damage.
<context.slot> returns the slot of the item that has taken damage.
Has PlayerAlways.
DetermineElementTag(Number) to set the amount of damage the item will take.

Name(s)on player joins
on player join
Triggerswhen a player joins the server.
Context<context.message> returns an ElementTag of the join message.
Has PlayerAlways.
DetermineElementTag to change the join message.
"NONE" to cancel the join message.

Name(s)on player jumps
Triggerswhen a player jumps.
Switchin:<area> to only process the event if it occurred within a specified area.
Context<context.location> returns the location the player jumped from.
Has PlayerAlways.
Determine
WarningOn Spigot servers, this event and its data are inaccurate and unreliable. This event works more stably on Paper servers.

Name(s)on player kicked (for flying)
Triggerswhen a player is kicked from the server.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Context<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.
Has PlayerAlways.
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.

Name(s)on player leashes entity
on player leashes <entity>
Triggerswhen a player leashes an entity.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Context<context.entity> returns the EntityTag of the leashed entity.
<context.holder> returns the EntityTag that is holding the leash.
Has PlayerAlways.
Determine

Name(s)on player leaves bed
Triggerswhen a player leaves a bed.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Context<context.location> returns the LocationTag of the bed.
Has PlayerAlways.
Determine

Name(s)on player levels up (from <level>) (to <level>)
Triggerswhen a player levels up.
Switchin:<area> to only process the event if it occurred within a specified area.
Context<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 PlayerAlways.
Determine

Name(s)on player logs in (for the first time)
on player (first) login
Triggerswhen a player logs in to the server.
Context<context.hostname> returns an ElementTag of the player's hostname.
Has PlayerAlways.
Determine"KICKED" to kick the player from the server.
"KICKED " + ElementTag to kick the player and specify a message to show.

Name(s)on player mends item
on player mends <item>
Triggerswhen an XP orb is used to repair an item with the Mending enchantment in the player's inventory.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Context<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.
Has PlayerAlways.
DetermineElementTag(Number) to set the amount of durability the item recovers.

Name(s)on player opens inventory
on player opens <inventory>
Triggerswhen a player opens an inventory. (EG, chests, not the player's main inventory.)
Context<context.inventory> returns the InventoryTag.
Has PlayerAlways.
Determine

Name(s)on player picks up item
on player picks up <item>
on player takes item
on player takes <item>
Triggerswhen a player picks up an item.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Context<context.item> returns the ItemTag.
<context.entity> returns a EntityTag of the item.
<context.location> returns a LocationTag of the item's location.
Has PlayerAlways.
Determine"ITEM:" + ItemTag to changed the item being picked up.

Name(s)on player places block
on player places <material>
Triggerswhen a player places a block.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Switchusing:<hand type> to only process the event if the player is using the specified hand type (HAND or OFF_HAND).
Context<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).
Has PlayerAlways.
Determine

Name(s)on player places hanging
on player places <hanging>
Triggerswhen a hanging entity (painting or itemframe) is placed.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Context<context.hanging> returns the EntityTag of the hanging.
<context.location> returns the LocationTag of the block the hanging was placed on.
Has PlayerAlways.
Determine

Name(s)on player prepares anvil craft item
on player prepares anvil craft <item>
Triggerswhen a player prepares an anvil to craft an item.
Context<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.
Has PlayerAlways.
DetermineElementTag(Number) to set the repair cost.
ItemTag to change the item that is crafted.
WarningThe player doing the crafting is estimated and may be inaccurate.

Name(s)on player quits
on player quit
Triggerswhen a player quit the server.
Context<context.message> returns an ElementTag of the quit message.
Has PlayerAlways.
DetermineElementTag to change the quit message.
"NONE" to cancel the quit message.

Name(s)on player receives commands
Triggerswhen the list of available server commands is sent to the player for tab completion.
Context<context.commands> returns a ListTag of received commands.
Has PlayerAlways.
DetermineListTag to set the player's available commands. NOTE: It is not possible to add entries to the command list, only remove them.

Name(s)on player receives message
Triggerswhen a player receives any chat message from the server.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Context<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).
Has PlayerAlways.
Determine"MESSAGE:" + ElementTag to change the message.
"RAW_JSON:" + ElementTag to change the JSON used for the message.
WarningUsing this will forcibly sync the chat thread.

Name(s)on player respawns (at bed/elsewhere)
Triggerswhen a player respawns.
Context<context.location> returns a LocationTag of the respawn location.
Has PlayerAlways.
DetermineLocationTag to change the respawn location.

Name(s)on player right clicks entity
on player right clicks <entity>
Triggerswhen a player right clicks on an entity.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Switchwith:<item> to only process the event when the player is holding a specified item.
Context<context.entity> returns the EntityTag the player is clicking on.
<context.item> returns the ItemTag the player is clicking with.
<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.
Has PlayerAlways.
Determine

Name(s)on player activates riptide
Triggerswhen a player activates the riptide effect.
Switchin:<area> to only process the event if it occurred within a specified area.
Context<context.item> returns the ItemTag of the trident.
Has PlayerAlways.
Determine

Name(s)on player shears entity
on player shears <entity>
on player shears <color> sheep
Triggerswhen a player shears an entity.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Context<context.entity> returns the EntityTag of the sheep.
Has PlayerAlways.
Determine

Name(s)on player toggles sneaking
on player starts sneaking
on player stops sneaking
Triggerswhen a player starts or stops sneaking.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Context<context.state> returns an ElementTag(Boolean) with a value of "true" if the player is now sneaking and "false" otherwise.
Has PlayerAlways.
Determine

Name(s)on player toggles sprinting
on player starts sprinting
on player stops sprinting
Triggerswhen a player starts or stops sprinting.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Context<context.state> returns an ElementTag(Boolean) with a value of "true" if the player is now sprinting and "false" otherwise.
Has PlayerAlways.
Determine

Name(s)on player stands on material
on player stands on (<material>)
Triggerswhen a player stands on a pressure plate, tripwire, or redstone ore.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Context<context.location> returns the LocationTag the player is interacting with.
<context.material> returns the MaterialTag the player is interacting with.
Has PlayerAlways.
Determine

Name(s)on player statistic increments
on player statistic <statistic> increments
Triggerswhen a player's statistics increment.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Context<context.statistic> returns the statistic that incremented. Statistic names: url/https://hub.spigotmc.org/javadocs/bukkit/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.
Has PlayerAlways.
Determine

Name(s)on player steers entity
on player steers <entity>
Triggersevery tick that a player is controlling a vehicle.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Context<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.
Has PlayerAlways.
Determine

Name(s)on player steps on block
on player steps on <material>
Triggerswhen a player steps onto a material.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Context<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.
Has PlayerAlways.
Determine
WarningThis event may fire very rapidly.

Name(s)on player swaps items
Triggerswhen a player swaps the items in their main and off hands.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Context<context.main> returns the ItemTag switched to the main hand.
<context.offhand> returns the ItemTag switched to the off hand.
Has PlayerAlways.
Determine"MAIN:" + ItemTag to set the item in the main hand.
"OFFHAND:" + ItemTag to set the item in the off hand.

Name(s)on player takes item from furnace
on player takes <item> from furnace
on player takes <material> from furnace
Triggerswhen a player takes an item from a furnace.
Switchin:<area> to only process the event if it occurred within a specified area.
Context<context.location> returns the LocationTag of the furnace.
<context.item> returns the ItemTag taken out of the furnace.
Has PlayerAlways.
DetermineElementTag(Number) to set the amount of experience the player will get.

Name(s)on player takes item from lectern
on player takes <item> from lectern
Triggerswhen a player takes a book from a lectern.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Context<context.location> returns the LocationTag of the lectern.
<context.item> returns the book ItemTag taken out of the lectern.
Has PlayerAlways.
Determine

Name(s)on player throws (hatching/non-hatching) egg
Triggerswhen a player throws an egg.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Context<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.
Has PlayerAlways.
DetermineEntityTag to set the type of the hatching entity.

Name(s)on player uses portal
Triggerswhen a player enters a portal.
Switchin:<area> to only process the event if it occurred within a specified area.
Context<context.from> returns the location teleported from.
<context.to> returns the location teleported to.
Has PlayerAlways.
DetermineLocationTag to change the destination.

Name(s)on player walks
Triggerswhen a player moves in the slightest.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Context<context.old_location> returns the location of where the player was.
<context.new_location> returns the location of where the player is.
Has PlayerAlways.
Determine
WarningThis event fires very very rapidly!

Name(s)on player walks over notable
on player walks over <location>
Triggerswhen a player walks over a notable location.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Context<context.notable> returns an ElementTag of the notable location's name.
Has PlayerAlways.
Determine

Name(s)on resource pack status
Triggerswhen a player accepts, denies, successfully loads, or fails to download a resource pack.
Context<context.status> returns an ElementTag of the status. Can be: SUCCESSFULLY_LOADED, DECLINED, FAILED_DOWNLOAD, ACCEPTED.
Has PlayerAlways.
Determine

Name(s)on chunk loads for the first time
Triggerswhen a new chunk is loaded
Switchin:<area> to only process the event if it occurred within a specified area.
Context<context.chunk> returns the loading chunk.
Determine
GroupWorld
WarningThis event will fire *extremely* rapidly and often!

Name(s)on chunk unloads
Triggerswhen a chunk is unloaded
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Context<context.chunk> returns the loading chunk.
Determine
GroupWorld
WarningThis event will fire *extremely* rapidly and often!

Name(s)on command
on <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.
Switchin:<area> to only process the event if it occurred within a specified area.
Context<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).
Determine"FULFILLED" to tell Bukkit the command was handled.

Name(s)on inventory picks up item
on inventory picks up <item>
on <inventory type> picks up item
on <inventory type> picks up <item>
Triggerswhen a hopper or hopper minecart picks up an item.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Context<context.inventory> returns the InventoryTag that picked up the item.
<context.item> returns the ItemTag.
<context.entity> returns a EntityTag of the item entity.
Determine
GroupWorld

Name(s)on item moves from inventory (to <inventory type>)
on item moves from <inventory type> (to <inventory type>)
on <item> moves from inventory (to <inventory type>)
on <item> moves from <inventory type> (to <inventory type>)
Triggerswhen an entity or block moves an item from one inventory to another. (Hopper-style movement, not player-induced movement).
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Context<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. NOTE: The original item will not be moved!
GroupWorld

Name(s)on lightning strikes
Triggerswhen lightning strikes in a world.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Context<context.lightning> returns the EntityTag of the lightning.
<context.location> returns the LocationTag where the lightning struck.
Determine
GroupWorld

Name(s)on lingering potion splash
on lingering <item> splashes
Triggerswhen a lingering splash potion breaks open
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Context<context.potion> returns a ItemTag of the potion that broke open.
<context.location> returns the LocationTag the splash potion broke open at.
<context.entity> returns a EntityTag of the splash potion.
<context.radius> returns the radius of the effect cloud.
<context.duration> returns the lingering duration of the effect cloud.
Determine
GroupWorld

Name(s)on portal created (because <reason>)
Triggerswhen a portal is created.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Context<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 or OBC_DESTINATION)
<context.blocks> returns a ListTag of all the blocks that will become portal blocks.
Determine
GroupWorld

Name(s)on potion splash
on <item> splashes
Triggerswhen a splash potion breaks open
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Context<context.potion> returns a 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 a EntityTag of the splash potion.
Determine
GroupWorld

Name(s)on spawn changes
Triggerswhen the world's spawn point changes.
Switchfor:<world> to only process the event when a specified world's spawn changes.
Context<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.
Determine
GroupWorld

Name(s)on structure grows (naturally/from bonemeal)
on <structure> grows (naturally/from bonemeal)
on plant grows (naturally/from bonemeal)
on <plant> grows (naturally/from bonemeal)
Triggerswhen a structure (a tree or a mushroom) grows in a world.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Switchin:<area> to only process the event if it occurred within a specified area.
Context<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.
<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>.
Determine
GroupWorld

Name(s)on weather changes/rains/clears (in <world>)
Triggerswhen weather changes in a world.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Context<context.world> returns the WorldTag the weather changed in.
<context.weather> returns an ElementTag with the name of the new weather. (rain or clear).
Determine
GroupWorld

Name(s)on world initializes
on <world> initializes
Triggerswhen a world is initialized.
Context<context.world> returns the WorldTag that was initialized.
Determine
GroupWorld

Name(s)on world loads
on <world> loads
Triggerswhen a world is loaded.
Context<context.world> returns the WorldTag that was loaded.
Determine
GroupWorld

Name(s)on world saves
on <world> saves
Triggerswhen a world is saved.
Context<context.world> returns the WorldTag that was saved.
Determine
GroupWorld

Name(s)on world unloads
on <world> unloads
Triggerswhen a world is unloaded.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Context<context.world> returns the WorldTag that was unloaded.
Determine
GroupWorld

Name(s)on flag cleared
on player flag cleared
on player flag <flagname> cleared
on npc flag cleared
on npc flag <flagname> cleared
on server flag cleared
on server flag <flagname> cleared
Triggerswhen a flag is cleared
Context<context.owner> returns an ElementTag of the flag owner's object.
<context.name> returns an ElementTag of the flag name.
<context.type> returns an ElementTag of the flag type.
<context.old_value> returns an ElementTag of the flag's previous value.
Determine
WarningThis event will fire rapidly and not exactly when you might expect it to fire. Generally, do not use this event unless you know what you're doing.

Name(s)on flag changed
on player flag changed
on player flag <flagname> changed
on npc flag changed
on npc flag <flagname> changed
on server flag changed
on server flag <flagname> changed
on entity flag changed
on entity flag <flagname> changed
Triggerswhen a flag is changed
Context<context.owner> returns an ElementTag of the flag owner's object.
<context.name> returns an ElementTag of the flag name.
<context.type> returns an ElementTag of the flag type.
<context.old_value> returns an ElementTag of the flag's previous value.
Determine
WarningThis event will fire rapidly and not exactly when you might expect it to fire. Generally, do not use this event unless you know what you're doing.

Name(s)on flag expires
on player flag expires
on player flag <flagname> expires
on npc flag expires
on npc flag <flagname> expires
on server flag expires
on server flag <flagname> expires
on entity flag expires
on entity flag <flagname> expires
Triggerswhen a flag expires
Context<context.owner> returns an ElementTag of the flag owner's object.
<context.name> returns an ElementTag of the flag name.
<context.type> returns an ElementTag of the flag type.
<context.old_value> returns an ElementTag of the flag's previous value.
Determine
WarningThis event will fire rapidly and not exactly when you might expect it to fire. Generally, do not use this event unless you know what you're doing.

Name(s)on server start
Triggerswhen the server starts
Context
Determine

Name(s)on time changes (in <world>)
on time <0-23> in <world>
Triggerswhen the current time changes in a world (once per mine-hour).
Context<context.time> returns the current time.
<context.world> returns the world.
Determine

Name(s)on npc completes navigation
Triggerswhen an NPC finishes navigating.
ContextNone
Determine
WarningThis event may fire very rapidly.

Name(s)on npc begins navigation
Triggerswhen an NPC begins navigating.
ContextNone
Determine
WarningThis event may fire very rapidly.

Name(s)on npc stuck
Triggerswhen an NPC's navigator is stuck.
Context<context.action> returns 'teleport' or 'none'
Determine"NONE" to do nothing.
"TELEPORT" to teleport.

Name(s)on script generates error
Triggerswhen a script generates an error.
Context<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.
Determine"CANCELLED" to stop the error from showing in the console.

Name(s)on server generates exception
Triggerswhen an exception occurs on the server.
Context<context.message> returns the Exception message.
<context.type> returns the type of the error. (EG, NullPointerException).
<context.queue> returns the queue that caused the exception, if any.
Determine"CANCELLED" to stop the exception from showing in the console.

Name(s)on areashop shop expires
on areashop <shop> expires
Triggerswhen an AreaShop's rent expires.
Context<context.shop> Returns the AreaShop that's expiring.
Determine
NoteThis event requires the plugin(s) Depenizen, AreaShop!

Name(s)on player completes skyblock challenge
Triggerswhen a player completes a skyblock challenge.
Context<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.
Determine
NoteThis event requires the plugin(s) Depenizen, A SkyBlock!

Name(s)on player enters skyblock
Triggerswhen a player goes to a skyblock island.
Context<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.
Determine
NoteThis event requires the plugin(s) Depenizen, A SkyBlock!

Name(s)on player exits skyblock
Triggerswhen a player leaves a skyblock island.
Context<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.
Determine
NoteThis event requires the plugin(s) Depenizen, A SkyBlock!

Name(s)on skyblock island created
Triggerswhen a new skyblock is created.
Context<context.owner> Returns the owner of the island.
<context.location> Returns the location of the island.
<context.schematic> Returns the name of the schematic used for the island.
Determine
NoteThis event requires the plugin(s) Depenizen, A SkyBlock!

Name(s)on skyblock island reset
Triggerswhen a new skyblock is reset.
Context<context.owner> Returns the owner of the island.
<context.location> Returns the location of the island.
Determine
NoteThis event requires the plugin(s) Depenizen, A SkyBlock!

Name(s)on bungee player joins network
Triggerswhen a player joins the Bungee network (but has not yet entered a server).
Context<context.name> returns the connecting player's name.
<context.uuid> returns the connection player's UUID.
Determine
NoteThis event requires the plugin(s) Depenizen, BungeeCord!

Name(s)on bungee player leaves network
Triggerswhen a player leaves the Bungee network.
Context<context.name> returns the leaving player's name.
<context.uuid> returns the leaving player's UUID.
Determine
NoteThis event requires the plugin(s) Depenizen, BungeeCord!

Name(s)on bungee player switches to server
Triggerswhen a player switches to a new server on the Bungee network.
Context<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.
Determine
NoteThis event requires the plugin(s) Depenizen, BungeeCord!

Name(s)on proxy server command
on proxy server (<command>) command
Triggerswhen a player runs a command on the bungee proxy server.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Context<context.sender> returns the name of the command sender.
<context.command> returns the command executed.
Determine"COMMAND:" + Element to change the command that will be ran.
NoteThis event requires the plugin(s) Depenizen, BungeeCord!

Name(s)on proxy server list ping
Triggerswhen the bungeecord server is pinged and will return server details.
Context<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.
NoteThis event requires the plugin(s) Depenizen, BungeeCord!

Name(s)on bungee server connects
Triggerswhen another server on the Bungee network becomes connected.
Context<context.server> returns the name of the newly connected server.
Determine
NoteThis event requires the plugin(s) Depenizen, BungeeCord!

Name(s)on bungee server disconnects
Triggerswhen another server on the Bungee network becomes disconnected.
Context<context.server> returns the name of the previously connected server.
Determine
NoteThis event requires the plugin(s) Depenizen, BungeeCord!

Name(s)on player goes afk
on player returns from afk
on player afk status changes
Triggerswhen a player's afk status changes.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Context<context.status> Returns the player's afk status.
Determine
NoteThis event requires the plugin(s) Depenizen, Essentials!

Name(s)on essentials player balance changes
Triggerswhen a player's balance changes, when using Essentials economy.
Switchin:<area> to only process the event if it occurred within a specified area.
Context<context.old_balance> Returns the balance before changes are made.
<context.new_balance> Returns the balance after changes are made.
Determine
NoteThis event requires the plugin(s) Depenizen, Essentials!

Name(s)on player god mode enabled
on player god mode disabled
on player god mode status changes
Triggerswhen a player's god mode status changes.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Context<context.status> Returns the player's god mode status.
Determine
NoteThis event requires the plugin(s) Depenizen, Essentials!

Name(s)on player jailed
on player unjailed
on player un-jailed
on player jail status changes
Triggerswhen a player's jail status changes.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Context<context.status> Returns the player's jail status.
Determine
NoteThis event requires the plugin(s) Depenizen, Essentials!

Name(s)on player muted
on player unmuted
on player un-muted
on player mute status changes
Triggerswhen a player is muted or un-muted.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Context<context.status> Returns whether the player is muted.
Determine
NoteThis event requires the plugin(s) Depenizen, Essentials!

Name(s)on gp player enters <gpclaim>
on gp player exits <gpclaim>
on gp player enters gpclaim
on gp player exits gpclaim
Triggerswhen a player enters or exits a Grief Prevention claim.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Context<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.
Determine
NoteThis event requires the plugin(s) Depenizen, GriefPrevention!
WarningCancelling this event will fire a similar event immediately after.

Name(s)on libsdisguises disguises disguise
on libsdisguises disguise disguise
on libsdisguises disguises <dlibsdisguises>
on libsdisguises disguise <dlibsdisguises>
Triggerswhen a entity disguises.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Context<context.entity> returns the entity who disguised.
<context.disguise> returns the disguise in use.
Determine
NoteThis event requires the plugin(s) Depenizen, LibsDisguises!

Name(s)on libsdisguises undisguises disguise
on libsdisguises undisguise disguise
on libsdisguises undisguises <dlibsdisguises>
on libsdisguises undisguise <dlibsdisguises>
Triggerswhen a entity undisguises.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Context<context.entity> returns the entity who undisguised.
<context.disguise> returns the disguise in use.
Determine
NoteThis event requires the plugin(s) Depenizen, LibsDisguises!

Name(s)on magicspells player mana change
Triggerswhen a player's mana value changes.
Context<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.
NoteThis event requires the plugin(s) Depenizen, MagicSpells!

Name(s)on magicspells player casts spell
on magicspells player casts <spell>
Triggerswhen a player starts to casts a spell.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Context<context.spell_name> returns the name of 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.
NoteThis event requires the plugin(s) Depenizen, MagicSpells!

Name(s)on magicspells player completes spell
Triggerswhen the spell is done and everything has been handled.
Context<context.spell_name> returns the name of 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.
Determine
NoteThis event requires the plugin(s) Depenizen, MagicSpells!

Name(s)on magicspells player learns spell
Triggerswhen a player is about to learn a spell.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Context<context.spell_name> returns the name of the spell.
<context.source> returns the source. Can either be SPELLBOOK, TEACH, TOME or OTHER
Determine
NoteThis event requires the plugin(s) Depenizen, MagicSpells!

Name(s)on mcmmo player activates ability for skill (in <area>)
on mcmmo player activates <ability> for skill (in <area>)
on mcmmo player activates ability for <skill> (in <area>)
on mcmmo player activates <ability> for <skill> (in <area>)
Triggerswhen a player activates mcmmo ability.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Context<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.
Determine
NoteThis event requires the plugin(s) Depenizen, mcMMO!

Name(s)on mcmmo player deactivates ability for skill (in <area>)
on mcmmo player deactivates <ability> for skill (in <area>)
on mcmmo player deactivates ability for <skill> (in <area>)
on mcmmo player deactivates <ability> for <skill> (in <area>)
Triggerswhen a player deactivates mcmmo ability.
Context<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.
Determine
NoteThis event requires the plugin(s) Depenizen, mcMMO!

Name(s)on mcmmo player gains xp for skill (in <area>)
on mcmmo player gains xp for <skill> (in <area>)
Triggerswhen a player gains mcMMO xp.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Context<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'.
Determine
NoteThis event requires the plugin(s) Depenizen, mcMMO!

Name(s)on mcmmo player skill level changes (in <area>)
on mcmmo player <skill> level changes (in <area>)
Triggerswhen a player's mcmmo skill level changes.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Context<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'.
Determine
NoteThis event requires the plugin(s) Depenizen, mcMMO!

Name(s)on mcmmo player levels down skill (in <area>)
on mcmmo player levels down <skill> (in <area>)
Triggerswhen a player loses levels for an mcMMO skill.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Context<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.
NoteThis event requires the plugin(s) Depenizen, mcMMO!

Name(s)on mcmmo player levels up skill (in <area>)
on mcmmo player levels up <skill> (in <area>)
Triggerswhen a player levels up an mcMMO skill.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Context<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.
NoteThis event requires the plugin(s) Depenizen, mcMMO!

Name(s)on mobarena arena end
on mobarena <arena> ends
Triggerswhen a mobarena ends.
Context<context.arena> Returns the arena which ended.
<context.wave> Returns the number of the final wave.
Determine
NoteThis event requires the plugin(s) Depenizen, MobArena!

Name(s)on mobarena arena starts
on mobarena <arena> starts
Triggerswhen a mobarena starts.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Context<context.arena> Returns the arena which started.
Determine
NoteThis event requires the plugin(s) Depenizen, MobArena!

Name(s)on mobarena arena wave changes
on mobarena <arena> wave changes
Triggerswhen a wave changes in a MobArena.
Context<context.arena> Returns the arena in which the wave change occured.
<context.wave> Returns the number of the new wave.
Determine
NoteThis event requires the plugin(s) Depenizen, MobArena!

Name(s)on mythicmob mob dies (by <entity>) (in <area>)
on mythicmob mob death (by <entity>) (in <area>)
on mythicmob mob killed (by <entity>) (in <area>)
on mythicmob <mob> dies (by <entity>) (in <area>)
on mythicmob <mob> death (by <entity>) (in <area>)
on mythicmob <mob> killed (by <entity>) (in <area>)
Triggerswhen a MythicMob dies.
Context<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.
<context.xp> Returns the xp dropped.
<context.currency> returns the currency dropped.
Determine"XP:" + ElementTag(Number) to specify the new amount of XP to be dropped.
"CURRENCY:" + ElementTag(Decimal) to specify the new amount of currency to be dropped.
ListTag(ItemTag) to specify new items to be dropped.
NoteThis event requires the plugin(s) Depenizen, MythicMobs!

Name(s)on noteblockapi song ends
on noteblockapi song <song> ends
Triggerswhen a song playing through NoteBlockAPI ends.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Context<context.song> returns the file name of the song.
Determine
NoteThis event requires the plugin(s) Depenizen, NoteBlockAPI!

Name(s)on plotsquared player claims plotsquaredplot
on plotsquared player claims <plotsquaredplot>
Triggerswhen a player claims a plot.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Context<context.plot> returns the plot the player claimed.
<context.auto> returns true if the plot was claimed automatic.
Determine
NoteThis event requires the plugin(s) Depenizen, PlotSquared!

Name(s)on plotsquared player enters plotsquaredplot
on plotsquared player enters <dplotsquaredplot>
Triggerswhen a player enters a plot.
Context<context.plot> returns the plot the player entered.
Determine
NoteThis event requires the plugin(s) Depenizen, PlotSquared!

Name(s)on plotsquared player leaves plotsquaredplot
on plotsquared player exits plotsquaredplot
on plotsquared player leaves <dplotsquaredplot>
on plotsquared player exits <dplotsquaredplot>
Triggerswhen a player leaves a plot.
Context<context.plot> returns the plot the player left.
Determine
NoteThis event requires the plugin(s) Depenizen, PlotSquared!

Name(s)on plotsquared plot clear plotsquaredplot
on plotsquared plot clears plotsquaredplot
on plotsquared plot clear <dplotsquaredplot>
on plotsquared plot clears <dplotsquaredplot>
Triggerswhen a plot is cleared.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Context<context.plot> returns the plot that is cleared.
Determine
NoteThis event requires the plugin(s) Depenizen, PlotSquared!

Name(s)on pvparena starts
Triggerswhen a pvparena starts.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Context<context.fighters> returns a list of all fighters in the arena.
Determine
NoteThis event requires the plugin(s) Depenizen, PVPArena!

Name(s)on pvparena player exits
Triggerswhen a player exit a pvparena (won, loose, leave, disconnect etc.)
Context<context.arena> returns the arena denizen object.
Determine
NoteThis event requires the plugin(s) Depenizen, PVPArena!

Name(s)on pvparena player joins
Triggerswhen a player joins a pvparena.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Context<context.arena> returns the arena denizen object.
Determine
NoteThis event requires the plugin(s) Depenizen, PVPArena!

Name(s)on pvparena player leaves
Triggerswhen a player leaves a pvparena.
Context<context.arena> returns the arena denizen object.
Determine
NoteThis event requires the plugin(s) Depenizen, PVPArena!

Name(s)on quests player completes quest
on quests player completes <quest>
Triggerswhen a player completes a quest from the Quests plugin.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Context<context.quest> returns the ID of the quest.
Determine
NoteThis event requires the plugin(s) Depenizen, Quests!

Name(s)on quests player fails quest
on quests player fails <quest>
Triggerswhen a player fails a quest from the Quests plugin.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Context<context.quest> returns the ID of the quest.
Determine
NoteThis event requires the plugin(s) Depenizen, Quests!

Name(s)on quests player changes quest stage
on 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.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Context<context.quest> returns the ID of the quest.
Determine
NoteThis event requires the plugin(s) Depenizen, Quests!

Name(s)on quests player starts quest
on quests player starts <quest>
Triggerswhen a player starts a quest from the Quests plugin.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Context<context.quest> returns the ID of the quest.
Determine
NoteThis event requires the plugin(s) Depenizen, Quests!

Name(s)on residence player enters residence
on residence player enters <residence>
Triggerswhen a player enters a Residence.
Context<context.residence> Returns the Residence the player entered.
Determine
NoteThis event requires the plugin(s) Depenizen, Residence!

Name(s)on residence player exits residence
on residence player exits <residence>
Triggerswhen a player exits a Residence.
Context<context.residence> Returns the Residence the player exited.
Determine
NoteThis event requires the plugin(s) Depenizen, Residence!

Name(s)on sentinel npc attacks
Triggerswhen a Sentinel-powered NPC attacks a target.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Context<context.entity> returns the entity that the NPC is attacking.
Determine
NoteThis event requires the plugin(s) Depenizen, Sentinel!

Name(s)on shopkeeper trade
Triggerswhen a trade with a shopkeeper is completed.
CancellableThis event can be cancelled. This adds 'context.cancelled', and determines 'CANCELLED' and 'CANCELLED:FALSE'
Context<context.recipe> Returns the recipe for this trade.
<context.shopkeeper> Returns the ShopKeeper that the trade occured with.
Determine
NoteThis event requires the plugin(s) Depenizen, ShopKeepers!

Name(s)on skillapi player downgrades skill (in <area>)
on skillapi player downgrades <skill> (in <area>)
Triggerswhen a player downgrades a skill in SkillAPI.
Context<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
NoteThis event requires the plugin(s) Depenizen, SkillAPI!

Name(s)on skillapi player levels up (in <area>)
Triggerswhen a player levels up in SkillAPI.
Context<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
NoteThis event requires the plugin(s) Depenizen, SkillAPI!

Name(s)on skillapi player unlocks skill (in <area>)
on skillapi player unlocks <skill> (in <area>)
Triggerswhen a player unlocks a skill in SkillAPI.
Context<context.skill_name> returns the name of the skill unlocked.
DetermineNone
NoteThis event requires the plugin(s) Depenizen, SkillAPI!

Name(s)on skillapi player upgrades skill (in <area>)
on skillapi player upgrades <skill> (in <area>)
Triggerswhen a player upgrades a skill in SkillAPI.
Context<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
NoteThis event requires the plugin(s) Depenizen, SkillAPI!

Name(s)on towny player enters town
on towny player enters <town>
Triggerswhen a player enters a Towny Town.
Context<context.town> Returns the town the player entered.
Determine
NoteThis event requires the plugin(s) Depenizen, Towny!

Name(s)on towny player exits town
on towny player exits <town>
Triggerswhen a player exits a Towny Town.
Context<context.town> Returns the town the player exited.
Determine
NoteThis event requires the plugin(s) Depenizen, Towny!

Name(s)on votifier vote
Triggerswhen a Votifier vote is made.
Context<context.time> 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.
Determine
NoteThis event requires the plugin(s) Depenizen, Votifier!

Name(s)on irc raw message
on irc raw message from <irc server>
Triggerswhen an IRC server sends a message.
Context<context.raw_message> returns the full raw message sent by the IRC server.
<context.server> returns what server sent the raw message.
Determine
NoteThis event requires the plugin(s) dIRCBot!
Groupexternal
WarningThis event may fire very rapidly.

Name(s)on irc message
on irc message from <irc channel>
Triggerswhen an IRC server sends a message through a channel.
Context<context.message> returns the full message sent by the IRC server.
<context.channel> returns what channel sent the raw message.
<context.speaker> returns the username that spoke.
Determine
NoteThis event requires the plugin(s) dIRCBot!
Groupexternal

Name(s)on get request
Triggerswhen the web server receives a GET request
Context<context.address> Returns the IP address of the device that sent the request.
<context.request> Returns the path that was requested
<context.query> Returns a dList of the query included with the request
<context.user_info> Returns info about the authenticated user sending the request, if any.
DetermineElementTag to set the content of the response directly
"FILE:" + ElementTag to set the file for the response via a file path
"PARSED_FILE:" + ElementTag to set the parsed file for the response via a file path, this will parse any denizen tags inside the file
"CODE:" + ElementTag to set the HTTP status code of the response (e.g. 200)
"TYPE:" + ElementTag to set the MIME (multi purpose mail extension) of the response (e.g. text/html)
NoteThis event requires the plugin(s) Webizen!

Name(s)on post request
Triggerswhen the web server receives a POST request
Context<context.address> Returns the IP address of the device that sent the request.
<context.request> Returns the path that was requested
<context.query> Returns a dList of the query included with the request
<context.user_info> Returns info about the authenticated user sending the request, if any.
<context.upload_name> returns the name of the file posted.
<context.upload_size_mb> returns the size of the upload in MegaBytes (where 1 MegaByte = 1 000 000 Bytes).
DetermineElementTag to set the content of the response directly
"FILE:" + ElementTag to set the file for the response via a file path
"PARSED_FILE:" + ElementTag to set the parsed file for the response via a file path, this will parse any denizen tags inside the file
"CODE:" + ElementTag to set the HTTP status code of the response (e.g. 200)
"TYPE:" + ElementTag to set the MIME (multi purpose mail extension) of the response (e.g. text/html)
"SAVE_UPLOAD:" + ElementTag to save the upload to a file.
NoteThis event requires the plugin(s) Webizen!

Name(s)on discord message deleted
Triggerswhen a Discord user deletes a message.
Switchfor:<bot> to only process the event for a specified Discord bot.
Switchchannel:<channel_id> to only process the event when it occurs in a specified Discord channel.
Switchgroup:<group_id> to only process the event for a specified Discord group.
Context<context.bot> returns the relevant Discord bot object.
<context.channel> returns the channel.
<context.group> returns the group.
<context.author> returns the user that authored the message.
<context.mentions> returns a list of all mentioned users.
<context.is_direct> returns whether the message was sent directly to the bot (if false, the message was sent to a public channel).
<context.old_message_valid> returns whether the old message is available (it may be lost due to caching).
<context.message> returns the original message (raw).
<context.message_id> returns the message ID.
<context.no_mention_message> returns the original message with all user mentions stripped.
<context.formatted_message> returns the formatted original message (mentions/etc. are written cleanly). CURRENTLY NON-FUNCTIONAL.
Determine
NoteThis event requires the plugin(s) dDiscordBot!

Name(s)on discord message modified
Triggerswhen a Discord user modified a message.
Switchfor:<bot> to only process the event for a specified Discord bot.
Switchchannel:<channel_id> to only process the event when it occurs in a specified Discord channel.
Switchgroup:<group_id> to only process the event for a specified Discord group.
Context<context.bot> returns the relevant Discord bot object.
<context.channel> returns the channel.
<context.group> returns the group.
<context.author> returns the user that authored the message.
<context.mentions> returns a list of all mentioned users.
<context.is_direct> returns whether the message was sent directly to the bot (if false, the message was sent to a public channel).
<context.message> returns the message (raw).
<context.message_id> returns the message ID.
<context.no_mention_message> returns the message with all user mentions stripped.
<context.formatted_message> returns the formatted message (mentions/etc. are written cleanly). CURRENTLY NON-FUNCTIONAL.
<context.old_message_valid> returns whether the old message is available (it may be lost due to caching).
<context.old_message> returns the previous message (raw).
<context.old_no_mention_message> returns the previous message with all user mentions stripped.
<context.old_formatted_message> returns the formatted previous message (mentions/etc. are written cleanly). CURRENTLY NON-FUNCTIONAL.
Determine
NoteThis event requires the plugin(s) dDiscordBot!

Name(s)on discord message received
Triggerswhen a Discord bot receives a message.
Switchfor:<bot> to only process the event for a specified Discord bot.
Switchchannel:<channel_id> to only process the event when it occurs in a specified Discord channel.
Switchgroup:<group_id> to only process the event for a specified Discord group.
Context<context.bot> returns the relevant Discord bot object.
<context.channel> returns the channel.
<context.group> returns the group.
<context.message> returns the message (raw).
<context.message_id> returns the message ID.
<context.no_mention_message> returns the message with all user mentions stripped.
<context.formatted_message> returns the formatted message (mentions/etc. are written cleanly). CURRENTLY NON-FUNCTIONAL.
<context.author> returns the user that authored the message.
<context.mentions> returns a list of all mentioned users.
<context.is_direct> returns whether the message was sent directly to the bot (if false, the message was sent to a public channel).
Determine
NoteThis event requires the plugin(s) dDiscordBot!

Name(s)on discord user joins
Triggerswhen a Discord user joins a guild.
Switchfor:<bot> to only process the event for a specified Discord bot.
Switchgroup:<group_id> to only process the event for a specified Discord group.
Context<context.bot> returns the relevant Discord bot object.
<context.group> returns the group.
<context.user> returns the user.
Determine
NoteThis event requires the plugin(s) dDiscordBot!

Name(s)on discord user leaves
Triggerswhen a Discord user leaves a guild.
Switchfor:<bot> to only process the event for a specified Discord bot.
Switchgroup:<group_id> to only process the event for a specified Discord group.
Context<context.bot> returns the relevant Discord bot object.
<context.group> returns the group.
<context.user> returns the user.
Determine
NoteThis event requires the plugin(s) dDiscordBot!

Name(s)on discord user role changes
Triggerswhen a Discord user's roles change.
Switchfor:<bot> to only process the event for a specified Discord bot.
Switchgroup:<group_id> to only process the event for a specified Discord group.
Context<context.bot> returns the relevant Discord bot object.
<context.group> returns the group.
<context.user> returns the user.
<context.old_roles> returns a list of the user's previous role set.
<context.new_roles> returns a list of the user's new role set.
<context.added_roles> returns a list of the user's added role set.
<context.removed_roles> returns a list of the user's removed role set.
Determine
NoteThis event requires the plugin(s) dDiscordBot!