Denizen Script Events


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


Showing 70 out of 399 events...

Categories:

Block | Entity | Player | Vehicle | Depenizen | Paper



Category: Block


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



Category: Entity


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Nameentity explosion primes
Event Lines <entity> explosion primes
Triggerswhen an entity decides to explode.
Generated Examplesafter player explosion primes:
on fish explosion primes:
Contexts<context.entity> returns an EntityTag of the exploding entity.
<context.radius> returns the explosion's radius.
<context.fire> returns whether the explosion will create fire.
DetermineElementTag(Decimal) to change the explosion radius.
"FIRE:<ElementTag(Boolean)>" to set whether the explosion will produce fire.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupEntity
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/entity/EntityExplosionPrimesScriptEvent.java#L14

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Nameprojectile launched
Event Lines projectile launched
<entity> launched
Triggerswhen a projectile is launched.
Generated Exampleson projectile launched:
after entity launched:
after projectile launched:
after monster launched:
Switchesby:<entity> to only process the event if the projectile shooter matches the specified entity matcher.
Contexts<context.projectile> returns an EntityTag of the projectile.
<context.shooter> returns an EntityTag of the entity that shot the projectile, if any.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupEntity
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/events/entity/ProjectileLaunchedScriptEvent.java#L15

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

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

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

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

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



Category: Player


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

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

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

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

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

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



Category: Vehicle


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

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

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



Category: Depenizen


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

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

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



Category: Paper


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

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

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

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

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

Nameplayer names entity
Event Lines player names <entity>
Triggerswhen a player attempts to rename an entity with a name tag.
Generated Examplesafter player names entity:
after player names text_display:
Has PlayerAlways. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Contexts<context.entity> returns an EntityTag of the renamed entity.
<context.old_name> returns the old name of the entity, if any.
<context.name> returns the new name of the entity.
<context.persistent> returns whether this will cause the entity to persist through server restarts.
Determine"NAME:<ElementTag>" to set a different name for the entity.
"PERSISTENT:<ElementTag(Boolean)>" to set whether the event will cause the entity to persist through restarts. NOTE: Entities may still persist for other reasons. To ensure they do not, use Mechanism:EntityTag.force_no_persist.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupPaper
RequiresPaper
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/paper/src/main/java/com/denizenscript/denizen/paper/events/PlayerNamesEntityScriptEvent.java#L18

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

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

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

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

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

Nameentity knocks back entity
Event Lines <entity> knocks back <entity>
Triggerswhen an entity is knocked back from the hit of another entity.
Generated Examplesafter fish knocks back entity:
after animal knocks back vehicle:
Has Playerwhen the damager or damaged entity is a player. Cannot be both. - this adds switches 'flagged:<flag name>' + 'permission:<node>', in addition to the '<player>' link.
Has NPCwhen the damager or damaged entity is an NPC. Cannot be both.
Switcheswith:<item> to only process the event when the item used to cause damage (in the damager's hand) is a specified item.
Contexts<context.entity> returns the EntityTag that was knocked back.
<context.damager> returns the EntityTag of the one who knocked.
<context.acceleration> returns the knockback applied as a vector.
<context.cause> returns the cause of the knockback (only on MC 1.20+). Causes list: 🔗https://jd.papermc.io/paper/1.21.1/io/papermc/paper/event/entity/EntityKnockbackEvent.Cause.html
DetermineLocationTag as a vector to change the acceleration applied.
CancellableTrue - This adds <context.cancelled> and determine 'cancelled' or 'cancelled:false'
Has LocationTrue - This adds the switches 'in:<area>', 'location_flagged:<flag>', ...
GroupPaper
RequiresPaper
Warning(s)this event may in some cases double-fire, requiring usage of the 'ratelimit' command (like 'ratelimit <player> 1t') to prevent doubling actions.
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/paper/src/main/java/com/denizenscript/denizen/paper/events/EntityKnocksbackEntityScriptEvent.java#L17

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

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

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