Patterns: |
|
Since: | 2.0 |
Requirements: | Supported regions plugin |
Tests whether a player is allowed to build at a certain location. This condition requires a supported regions plugin to be installed.
Examples:
command /setblock <material>:
description: set the block at your crosshair to a different type
trigger:
player cannot build at the targeted block:
message "You do not have permission to change blocks there!"
stop
set the targeted block to argument
description: set the block at your crosshair to a different type
trigger:
player cannot build at the targeted block:
message "You do not have permission to change blocks there!"
stop
set the targeted block to argument
Patterns: |
|
Since: | 1.0 |
Tests whether a player or a chest can hold the given item.
Examples:
block can hold 200 cobblestone
player has enough space for 64 feathers
player has enough space for 64 feathers
Patterns: | |
Since: | 2.3 |
Checks whether the given players can see another players.
Examples:
if the player can't see the player-argument:
message "<light red>The player %player-argument% is not online!"
message "<light red>The player %player-argument% is not online!"
Patterns: |
|
Since: | 1.0 |
A condition that randomly succeeds or fails. Valid values are between 0% and 100%, or if the percent sign is omitted between 0 and 1.
Examples:
chance of 50%:
drop a diamond
chance of {chance}% # {chance} between 0 and 100
chance of {chance} # {chance} between 0 and 1
drop a diamond
chance of {chance}% # {chance} between 0 and 100
chance of {chance} # {chance} between 0 and 1
Patterns: |
|
Since: | 1.0 |
A very general condition, it simply compares two values. Usually you can only compare for equality (e.g. block is/isn't of <type>), but some values can also be compared using greater than/less than. In that case you can also test for whether an object is between two others. Note: This is the only element where not all patterns are shown. It has actually another two sets of similar patters, but with
(was|were)
or will be
instead of (is|are)
respectively, which check different time states of the first expression. Examples:
the clicked block is a stone slab or a double stone slab
time in the player's world is greater than 8:00
the creature is not an enderman or an ender dragon
time in the player's world is greater than 8:00
the creature is not an enderman or an ender dragon
Patterns: |
|
Since: | 1.0 |
Checks whether an inventory contains an item, a text contains another piece of text, or a list (e.g. {list variable::*} or 'drops') contains another object.
Examples:
block contains 20 cobblestone
player has 4 flint and 2 iron ingots
{list::*} contains 5
player has 4 flint and 2 iron ingots
{list::*} contains 5
Patterns: |
|
Since: | 2.0 |
Tests what kind of damage caused a damage event. Refer to the Damage Cause type for a list of all possible causes.
Examples:
# make players use their potions of fire resistance whenever they take any kind of fire damage
on damage:
damage was caused by lava, fire or burning
victim is a player
victim has a potion of fire resistance
cancel event
apply fire resistance to the victim for 30 seconds
remove 1 potion of fire resistance from the victim
# prevent mobs from dropping items under certain circumstances
on death:
entity is not a player
damage wasn't caused by a block explosion, an attack, a projectile, a potion, fire, burning, thorns or poison
clear drops
on damage:
damage was caused by lava, fire or burning
victim is a player
victim has a potion of fire resistance
cancel event
apply fire resistance to the victim for 30 seconds
remove 1 potion of fire resistance from the victim
# prevent mobs from dropping items under certain circumstances
on death:
entity is not a player
damage wasn't caused by a block explosion, an attack, a projectile, a potion, fire, burning, thorns or poison
clear drops
Patterns: |
|
Since: | 2.7 |
Requirements: | Minecraft 1.16+ |
Checks whether or not respawn anchors work in a world.
Examples:
respawn anchors work in world "world_nether"
Patterns: |
|
Since: | 2.7 |
Usable in events: | Egg Throw |
Whether the egg will hatch in a Player Egg Throw event.
Examples:
on player egg throw:
if an entity won't hatch:
send "Better luck next time!" to the player
if an entity won't hatch:
send "Better luck next time!" to the player
Patterns: | |
Since: | 2.6.1 |
Requirements: | Minecraft 1.16+ (in water), Paper 1.16+ (in rain, lava and bubble column) |
Checks whether an entity is in rain, lava, water or a bubble column.
Examples:
if player is in rain:
if player is in water:
player is in lava:
player is in bubble column
if player is in water:
player is in lava:
player is in bubble column
Patterns: |
|
Since: | 2.2-dev36 |
Checks whether or not the event is cancelled.
Examples:
on click:
if event is cancelled:
broadcast "no clicks allowed!"
if event is cancelled:
broadcast "no clicks allowed!"
Patterns: | |
Since: | 1.2 |
Checks whether a given expression or variable is set.
Examples:
{teams::%player's uuid%::preferred-team} is not set
on damage:
projectile exists
broadcast "%attacker% used a %projectile% to attack %victim%!"
on damage:
projectile exists
broadcast "%attacker% used a %projectile% to attack %victim%!"
Patterns: |
|
Since: | 2.5 |
Checks whether an entity has AI.
Examples:
target entity has ai
Patterns: | |
Since: | 2.3 |
Checks whether the given players have a custom client weather
Examples:
if the player has custom weather:
message "Your custom weather is %player's weather%"
message "Your custom weather is %player's weather%"
Patterns: |
|
Since: | 2.5 |
Requirements: | 1.14+ |
Check if an item has a custom model data tag
Examples:
player's tool has custom model data
Patterns: |
|
Since: | 2.2-dev36 |
Checks whether a metadata holder has a metadata tag.
Examples:
if player has metadata value "healer":
Patterns: |
|
Since: | 1.0 |
Test whether a player has a certain permission.
Examples:
player has permission "skript.tree"
victim has the permission "admin":
send "You're attacking an admin!" to attacker
victim has the permission "admin":
send "You're attacking an admin!" to attacker
Patterns: |
|
Since: | 1.4, 2.7 (multiple players) |
Checks whether a player has played on this server before. You can also use on first join if you want to make triggers for new players.
Examples:
player has played on this server before
player hasn't played before
player hasn't played before
Patterns: |
|
Since: | 2.6.1 |
Checks whether the given living entities have specific potion effects.
Examples:
if player has potion speed:
send "You are sonic!"
if all players have potion effects speed and haste:
broadcast "You are ready to MINE!"
send "You are sonic!"
if all players have potion effects speed and haste:
broadcast "You are ready to MINE!"
Patterns: | |
Since: | 2.4 |
Requirements: | Paper 1.9 or newer |
Checks whether the given players have a server resource pack loaded. Please note that this can't detect player's own resource pack, only the resource pack that sent by the server.
Examples:
if the player has a resource pack loaded:
Patterns: | |
Since: | 2.3 |
Checks whether the given entities has the given scoreboard tags.
Examples:
if the targeted armor stand has the scoreboard tag "test tag":
Patterns: |
|
Since: | 2.5 |
Requirements: | Paper 1.13 or newer |
Checks if a creeper is going to explode.
Examples:
if the last spawned creeper is going to explode:
loop all players in radius 3 of the last spawned creeper
send "RUN!!!" to the loop-player
loop all players in radius 3 of the last spawned creeper
send "RUN!!!" to the loop-player
Patterns: | |
Since: | 2.0, 2.4-alpha4 (non-living entity support) |
Checks whether an entity is alive. Works for non-living entities too.
Examples:
if {villager-buddy::%player's uuid%} is not dead:
on shoot:
while the projectile is alive:
on shoot:
while the projectile is alive:
Patterns: |
|
Since: | 1.4 |
Checks whether a player or IP is banned.
Examples:
player is banned
victim is not IP-banned
"127.0.0.1" is banned
victim is not IP-banned
"127.0.0.1" is banned
Patterns: |
|
Since: | 2.7 |
Usable in events: | respawn |
Requirements: | Minecraft 1.16+ |
Checks what the respawn location of a player in the respawn event is.
Examples:
on respawn:
the respawn location is a bed
broadcast "%player% is respawning in their bed! So cozy!"
the respawn location is a bed
broadcast "%player% is respawning in their bed! So cozy!"
Patterns: |
|
Since: | 2.4 |
Checks whether an item is a block.
Examples:
player's held item is a block
{list::*} are blocks
{list::*} are blocks
Patterns: | |
Since: | 2.5 |
Checks if a block is indirectly or directly powered by redstone
Examples:
if clicked block is redstone powered:
send "This block is well-powered by redstone!"
if clicked block is indirectly redstone powered:
send "This block is indirectly redstone powered."
send "This block is well-powered by redstone!"
if clicked block is indirectly redstone powered:
send "This block is indirectly redstone powered."
Patterns: | |
Since: | unknown (before 2.1) |
Checks whether a player is blocking with their shield.
Examples:
on damage of player:
victim is blocking
damage attacker by 0.5 hearts
victim is blocking
damage attacker by 0.5 hearts
Patterns: | |
Since: | 1.4.4 |
Checks whether an entity is on fire, e.g. a zombie due to being in sunlight, or any entity after falling into lava.
Examples:
# increased attack against burning targets
victim is burning:
increase damage by 2
victim is burning:
increase damage by 2
Patterns: |
|
Since: | 2.5 |
Checks if a creeper is charged (powered).
Examples:
if the last spawned creeper is charged:
broadcast "A charged creeper is at %location of last spawned creeper%"
broadcast "A charged creeper is at %location of last spawned creeper%"
Patterns: |
|
Since: | 2.2-dev36 |
Checks whether an item is edible.
Examples:
steak is edible
player's tool is edible
player's tool is edible
Patterns: |
|
Since: | unknown (before 2.1) |
Checks whether an inventory, an inventory slot, or a text is empty.
Examples:
player's inventory is empty
Patterns: |
|
Since: | 1.4.6 |
Checks whether an item is enchanted.
Examples:
tool of the player is enchanted with efficiency 2
helm, chestplate, leggings or boots are enchanted
helm, chestplate, leggings or boots are enchanted
Patterns: |
|
Since: | 2.2-dev36 |
Checks whether an item is flammable.
Examples:
wood is flammable
player's tool is flammable
player's tool is flammable
Patterns: |
|
Since: | 2.5.1 |
Requirements: | Minecraft 1.11.2+ |
Checks whether an item can be used as fuel in a furnace.
Examples:
on right click on furnace:
if player's tool is not fuel:
send "Please hold a valid fuel item in your hand"
cancel event
if player's tool is not fuel:
send "Please hold a valid fuel item in your hand"
cancel event
Patterns: |
|
Since: | 2.7 |
Checks whether a living entity is gliding.
Examples:
if player is gliding
Patterns: |
|
Since: | 1.0 |
Checks whether a player is holding a specific item. Cannot be used with endermen, use 'entity is [not] an enderman holding <item type>' instead.
Examples:
player is holding a stick
victim isn't holding a sword of sharpness
victim isn't holding a sword of sharpness
Patterns: | |
Since: | 2.5 |
Checks if an entity will create fire when it explodes. This condition is also usable in an explosion prime event.
Examples:
on explosion prime:
if the explosion is fiery:
broadcast "A fiery explosive has been ignited!"
if the explosion is fiery:
broadcast "A fiery explosive has been ignited!"
Patterns: |
|
Since: | 2.5.2 |
Requirements: | Minecraft 1.13+ |
Checks wether or not a block is interactable.
Examples:
on block break:
if event-block is interactable:
cancel event
send "You cannot break interactable blocks!"
if event-block is interactable:
cancel event
send "You cannot break interactable blocks!"
Patterns: |
|
Since: | 2.7 |
Checks whether a living entity is invisible.
Examples:
target entity is invisible
Patterns: |
|
Since: | 2.5 |
Checks to see if an entity is currently leashed.
Examples:
target entity is leashed
Patterns: | |
Since: | 2.3, 2.5 (revamp with chunk at location/coords) |
Checks whether or not a chunk/world is loaded. 'chunk at 1, 1' uses chunk coords, which are location coords divided by 16.
Examples:
if chunk at {home::%player's uuid%} is loaded:
if chunk 1, 10 in world "world" is loaded:
if world("lobby") is loaded:
if chunk 1, 10 in world "world" is loaded:
if world("lobby") is loaded:
Patterns: |
|
Since: | 2.1 |
Requirements: | Supported regions plugin |
Checks whether a player is a member or owner of a particular region. This condition requires a supported regions plugin to be installed.
Examples:
on region enter:
player is the owner of the region
message "Welcome back to %region%!"
send "%player% just entered %region%!" to all members of the region
player is the owner of the region
message "Welcome back to %region%!"
send "%player% just entered %region%!" to all members of the region
Patterns: |
|
Since: | 2.5.1 |
Checks whether an item is a block and completely blocks vision.
Examples:
player's tool is occluding
Patterns: |
|
Since: | 1.4 |
Checks whether a player is online.
Examples:
player is online
player-argument is offline
player-argument is offline
Patterns: |
|
Since: | 2.7 |
Checks whether a player is a server operator.
Examples:
player is an operator
Patterns: | |
Since: | 2.5.1 |
Requirements: | Minecraft 1.13.2+ |
Checks whether a block is passable. A block is passable if it has no colliding parts that would prevent players from moving through it. Blocks like tall grass, flowers, signs, etc. are passable, but open doors, fence gates, trap doors, etc. are not because they still have parts that can be collided with.
Examples:
if player's targeted block is passable
Patterns: | |
Since: | 2.6 |
Check if a plugin is enabled/disabled on the server. Plugin names can be found in the plugin's 'plugin.yml' file or by using the '/plugins' command, they are NOT the name of the plugin's jar file. When checking if a plugin is not enabled, this will return true if the plugin is either disabled or not on the server. When checking if a plugin is disabled, this will return true if the plugin is on the server and is disabled.
Examples:
if plugin "Vault" is enabled:
if plugin "WorldGuard" is not enabled:
if plugins "Essentials" and "Vault" are enabled:
if plugin "MyBrokenPlugin" is disabled:
if plugin "WorldGuard" is not enabled:
if plugins "Essentials" and "Vault" are enabled:
if plugin "MyBrokenPlugin" is disabled:
Patterns: |
|
Since: | 1.4.4 |
Checks whether an entity is poisoned.
Examples:
player is poisoned:
cure the player from poison
message "You have been cured!"
cure the player from poison
message "You have been cured!"
Patterns: |
|
Since: | 2.7 |
Requirements: | 1.16.5+, Paper 1.19.2+ (blockdata) |
Checks whether an item is the preferred tool for a block. A preferred tool is one that will drop the block's item when used. For example, a wooden pickaxe is a preferred tool for grass and stone blocks, but not for iron ore.
Examples:
on left click:
event-block is set
if player's tool is the preferred tool for event-block:
break event-block naturally using player's tool
else:
cancel event
event-block is set
if player's tool is the preferred tool for event-block:
break event-block naturally using player's tool
else:
cancel event
Patterns: |
|
Since: | 2.0 |
Tests whether an entity is riding another or is in a vehicle.
Examples:
player is riding a saddled pig
Patterns: |
|
Since: | 2.5 |
Checks to see if an entity is currently using the Riptide enchantment.
Examples:
target entity is riptiding
Patterns: | |
Since: | 2.3 |
Tests whether a chunk is a so-called slime chunk. Slimes can generally spawn in the swamp biome and in slime chunks. For more info, see the Minecraft wiki.
Examples:
command /slimey:
trigger:
if chunk at player is a slime chunk:
send "Yeah, it is!"
else:
send "Nope, it isn't"
trigger:
if chunk at player is a slime chunk:
send "Yeah, it is!"
else:
send "Nope, it isn't"
Patterns: | |
Since: | 1.4.4 |
Checks whether a player is sneaking.
Examples:
# prevent mobs from seeing sneaking players if they are at least 4 meters apart
on target:
target is sneaking
distance of target and the entity is bigger than 4
cancel the event
on target:
target is sneaking
distance of target and the entity is bigger than 4
cancel the event
Patterns: |
|
Since: | 2.2-dev36 |
Checks whether an item is solid.
Examples:
grass block is solid
player's tool isn't solid
player's tool isn't solid
Patterns: |
|
Since: | 2.7 |
Checks whether an item is stackable.
Examples:
diamond axe is stackable
birch wood is stackable
torch is stackable
birch wood is stackable
torch is stackable
Patterns: |
|
Since: | 2.3 |
Requirements: | 1.13 or newer |
Checks whether a living entity is swimming.
Examples:
player is swimming
Patterns: |
|
Since: | 2.5 |
Check if an entity is tameable.
Examples:
on damage:
if victim is tameable:
cancel event
if victim is tameable:
cancel event
Patterns: |
|
Since: | 2.2-dev36 |
Checks whether an item is transparent. Note that this condition may not work for all blocks, due to the transparency list used by Spigot not being completely accurate.
Examples:
player's tool is transparent.
Patterns: |
|
Since: | 2.5.1 |
Requirements: | Minecraft 1.11+ |
Checks whether an item is unbreakable.
Examples:
if event-item is unbreakable
Patterns: |
|
Since: | 1.0 |
Checks whether a player is wearing some armour.
Examples:
player is wearing an iron chestplate and iron leggings
player is wearing all diamond armour
player is wearing all diamond armour
Patterns: |
|
Since: | 2.5.2 |
Whether or not the server or a player is whitelisted.
Examples:
if server is whitelisted:
if player is whitelisted
if player is whitelisted
Patterns: | |
Since: | 2.7 |
Requirements: | MC 1.17+ (within block) |
Whether a location is within something else. The "something" can be a block, an entity, a chunk, a world, or a cuboid formed by two other locations. Note that using the is between condition will refer to a straight line between locations, while this condition will refer to the cuboid between locations.
Examples:
if player's location is within {_loc1} and {_loc2}:
send "You are in a PvP zone!" to player
if player is in world("world"):
send "You are in the overworld!" to player
if attacker's location is inside of victim:
cancel event
send "Back up!" to attacker and victim
send "You are in a PvP zone!" to player
if player is in world("world"):
send "You are in the overworld!" to player
if attacker's location is inside of victim:
cancel event
send "Back up!" to attacker and victim
Patterns: | |
Since: | 2.7 |
Whether a location is within two other locations forming a cuboid. Using the is between condition will refer to a straight line between locations.
Examples:
if player's location is within {_loc1} and {_loc2}:
send "You are in a PvP zone!" to player
send "You are in a PvP zone!" to player
Patterns: | |
Since: | 2.7 |
Checks whether a location is within a certain radius of another location.
Examples:
on damage:
if attacker's location is within 10 blocks around {_spawn}:
cancel event
send "You can't PVP in spawn."
if attacker's location is within 10 blocks around {_spawn}:
cancel event
send "You can't PVP in spawn."
Patterns: |
|
Since: | 1.4 |
Checks whether an item of an entity is of the given type. This is mostly useful for variables, as you can use the general 'is' condition otherwise (e.g. 'victim is a creeper').
Examples:
tool is of type {selected type}
victim is of type {villager type}
victim is of type {villager type}
Patterns: | |
Since: | 2.5.2 |
Checks whether the defined strings match the input regexes (Regular expressions).
Examples:
on chat:
if message partially matches "\d":
send "Message contains a digit!"
if message doesn't match "[A-Za-z]+":
send "Message doesn't only contain letters!"
if message partially matches "\d":
send "Message contains a digit!"
if message doesn't match "[A-Za-z]+":
send "Message doesn't only contain letters!"
Patterns: |
|
Since: | 2.5.1 |
Whether or not a projectile can bounce.
Examples:
on shoot:
send "Boing!" to all players if projectile can bounce
send "Boing!" to all players if projectile can bounce
Patterns: |
|
Since: | 2.1 |
Requirements: | Supported regions plugin |
Checks whether a location is contained in a particular region. This condition requires a supported regions plugin to be installed.
Examples:
player is in the region {regions::3}
on region enter:
region contains {flags.%world%.red}
message "The red flag is near!"
on region enter:
region contains {flags.%world%.red}
message "The red flag is near!"
Patterns: |
|
Since: | 2.4 |
Usable in events: | resource pack request response |
Checks state of the resource pack in a resource pack request response event.
Examples:
on resource pack response:
if the resource pack wasn't accepted:
kick the player due to "You have to install the resource pack to play in this server!"
if the resource pack wasn't accepted:
kick the player due to "You have to install the resource pack to play in this server!"
Patterns: | |
Since: | 2.0 |
Examples:
command /command-with-cooldown:
trigger:
{command::%player's uuid%::last-usage} was less than a minute ago:
message "Please wait a minute between uses of this command."
stop
set {command::%player's uuid%::last-usage} to now
# ... actual command trigger here ...
trigger:
{command::%player's uuid%::last-usage} was less than a minute ago:
message "Please wait a minute between uses of this command."
stop
set {command::%player's uuid%::last-usage} to now
# ... actual command trigger here ...