Conditions

Alphanumeric

🔗

Condition

Patterns:
  • %texts% (is|are) alphanumeric
  • %texts% (isn't|is not|aren't|are not) alphanumeric
Since: 2.4
Checks if the given string is alphanumeric.

Examples:

if the argument is not alphanumeric:
    send "Invalid name!"

Bell Is Resonating

🔗

Condition

Patterns:
  • %blocks% (is|are) resonating
  • %blocks% (isn't|is not|aren't|are not) resonating
Since: 2.9.0
Requirements: Spigot 1.19.4+
Checks to see if a bell is currently resonating. A bell will start resonating five game ticks after being rung, and will continue to resonate for 40 game ticks.

Examples:

target block is resonating

Bell Is Ringing

🔗

Condition

Patterns:
  • %blocks% (is|are) ringing
  • %blocks% (isn't|is not|aren't|are not) ringing
Since: 2.9.0
Requirements: Spigot 1.19.4+
Checks to see if a bell is currently ringing. A bell typically rings for 50 game ticks.

Examples:

target block is ringing

Can Age

🔗

New

Condition

Patterns:
Since: 2.10.0
Checks whether or not an entity will be able to age/grow up.

Examples:

on breeding:
    entity can't age
    broadcast "An immortal has been born!" to player

Can Breed

🔗

New

Condition

Patterns:
Since: 2.10.0
Checks whether or not a living entity can be bred.

Examples:

on right click on living entity:
    event-entity can't breed
    send "Turns out %event-entity% is not breedable. Must be a Skript user!" to player

Can Build

🔗

Condition

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

Can Fly

🔗

Condition

Patterns:
Since: 2.3
Whether a player is allowed to fly.

Examples:

player can fly

Can Hold

🔗

Condition

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

Can Pick Up Items

🔗

Condition

Patterns:
Since: 2.8.0
Whether living entities are able to pick up items off the ground or not.

Examples:

if player can pick items up:
    send "You can pick up items!" to player

on drop:
    if player can't pick    up items:
        send "Be careful, you won't be able to pick that up!" to player

Can See

🔗

New

Condition

Patterns:
Since: 2.3, 2.10.0 (entities)
Requirements: Minecraft 1.19+ (entities)
Checks whether the given players can see the provided entities.

Examples:

if sender can't see the player-argument:
    message "who dat?"

if the player can see the last spawned entity:
    message "hello there!"

Can See Chat Colors

🔗

New

Condition

Patterns:
  • %players% can see chat colo[u]r[s|ing]
  • %players% (can't|cannot|can not) see chat colo[u]r[s|ing]
Since: 2.10.0
Requirements: Paper
Checks whether a player can see chat colors.

Examples:

if player can see chat colors:
    send "Find the red word in <red>this<reset> message."
else:
    send "You cannot partake in finding the colored word."

Can See Messages

🔗

New

Condition

Patterns:
  • %player% can see all messages [in chat]
  • %player% can only see (commands|system messages) [in chat]
  • %player% can('t|[ ]not) see any (command[s]|message[s]) [in chat]
  • %player% can('t|[ ]not) see all messages [in chat]
  • %player% can('t|[ ]not) only see (commands|system messages) [in chat]
Since: 2.10.0
Requirements: Paper
Checks whether a player can see specific message types in chat.

Examples:

if player can see all messages:
    send "You can see all messages."
if player can only see commands:
    send "This game doesn't work with commands-only chat."
if player can't see any messages:
    send action bar "Server shutting down in 5 minutes!"

Chance

🔗

Condition

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

Comparison

🔗

Condition

Patterns:
  • [(neither)] %objects% ((is|are)[(n't| not| neither)] ((greater|more|higher|bigger|larger) than|above)|>) %objects%
  • [(neither)] %objects% ((is|are)[(n't| not| neither)] (greater|more|higher|bigger|larger|above) [than] or (equal to|the same as)|>=) %objects%
  • [(neither)] %objects% ((is|are)[(n't| not| neither)] ((less|smaller|lower) than|below)|<) %objects%
  • [(neither)] %objects% ((is|are)[(n't| not| neither)] (less|smaller|lower|below) [than] or (equal to|the same as)|<=) %objects%
  • [(neither)] %objects% ((is|are) (not|neither)|isn't|aren't|!=) [equal to] %objects%
  • [(neither)] %objects% (is|are|=) [(equal to|the same as)] %objects%
  • [(neither)] %objects% (is|are) between %objects% and %objects%
  • [(neither)] %objects% (is not|are not|isn't|aren't) between %objects% and %objects%
  • [(neither)] %objects% (was|were)[(n't| not| neither)] ((greater|more|higher|bigger|larger) than|above) %objects%
  • [(neither)] %objects% (was|were)[(n't| not| neither)] (greater|more|higher|bigger|larger|above) [than] or (equal to|the same as) %objects%
  • [(neither)] %objects% (was|were)[(n't| not| neither)] ((less|smaller|lower) than|below) %objects%
  • [(neither)] %objects% (was|were)[(n't| not| neither)] (less|smaller|lower|below) [than] or (equal to|the same as) %objects%
  • [(neither)] %objects% ((was|were) (not|neither)|wasn't|weren't) [equal to] %objects%
  • [(neither)] %objects% (was|were) [(equal to|the same as)] %objects%
  • [(neither)] %objects% (was|were) between %objects% and %objects%
  • [(neither)] %objects% (was not|were not|wasn't|weren't) between %objects% and %objects%
  • [(neither)] %objects% (will be|(will (not|neither) be|won't be)) ((greater|more|higher|bigger|larger) than|above) %objects%
  • [(neither)] %objects% (will be|(will (not|neither) be|won't be)) (greater|more|higher|bigger|larger|above) [than] or (equal to|the same as) %objects%
  • [(neither)] %objects% (will be|(will (not|neither) be|won't be)) ((less|smaller|lower) than|below) %objects%
  • [(neither)] %objects% (will be|(will (not|neither) be|won't be)) (less|smaller|lower|below) [than] or (equal to|the same as) %objects%
  • [(neither)] %objects% ((will (not|neither) be|won't be)|(isn't|aren't|is not|are not) (turning|changing) [in]to) [equal to] %objects%
  • [(neither)] %objects% (will be [(equal to|the same as)]|(is|are) (turning|changing) [in]to) %objects%
  • [(neither)] %objects% will be between %objects% and %objects%
  • [(neither)] %objects% (will not be|won't be) between %objects% and %objects%
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

Contains

🔗

Condition

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

Damage Cause

🔗

Condition

Patterns:
  • [the] damage (was|is|has)[n('|o)t] [been] (caused|done|made) by %damage cause%
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

Do Respawn Anchors Work

🔗

Condition

Patterns:
  • respawn anchors [do[(n't| not)]] work in %worlds%
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"

Egg Will Hatch

🔗

Condition

Patterns:
  • [the] egg (will|will not|won't) hatch
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

Entity Is Sheared

🔗

Condition

Patterns:
Since: 2.8.0
Requirements: MC 1.13+ (cows, sheep & snowmen), Paper 1.19.4+ (all shearable entities)
Checks whether entities are sheared. This condition only works on cows, sheep and snowmen for versions below 1.19.4.

Examples:

if targeted entity of player is sheared:
    send "This entity has nothing left to shear!" to player

Entity is Wet

🔗

Condition

Patterns:
Since: 2.6.1
Requirements: Paper 1.16+
Checks whether an entity is wet or not (in water, rain or a bubble column).

Examples:

if player is wet:

Entity is in Liquid

🔗

Condition

Patterns:
  • %entities% (is|are) in (water|lava|[a] bubble[ ]column|rain)
  • %entities% (isn't|is not|aren't|are not) in (water|lava|[a] bubble[ ]column|rain)
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

Event Cancelled

🔗

Condition

Patterns:
  • [the] event is cancel[l]ed
  • [the] event (is not|isn't) cancel[l]ed
Since: 2.2-dev36
Checks whether or not the event is cancelled.

Examples:

on click:
    if event is cancelled:
        broadcast "no clicks allowed!"

Exists/Is Set

🔗

Condition

Patterns:
  • %~objects% (exist[s]|(is|are) set)
  • %~objects% (do[es](n't| not) exist|(is|are)(n't| not) set)
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%!"

Has AI

🔗

Condition

Patterns:
Since: 2.5
Checks whether an entity has AI.

Examples:

target entity has ai

Has Chat Filtering

🔗

New

Condition

Patterns:
  • %players% (has|have) (chat|text) filtering (on|enabled)
  • %players% (doesn't|does not|do not|don't) have (chat|text) filtering (on|enabled)
Since: 2.10.0
Requirements: Paper
Checks whether a player has chat filtering enabled.

Examples:

if player doesn't have chat filtering enabled:
send "<gray>This server may contain mature chat messages. You have been warned!" to player

Has Client Weather

🔗

Condition

Patterns:
  • %players% (has|have) [a] (client|custom) weather [set]
  • %players% (doesn't|does not|do not|don't) have [a] (client|custom) weather [set]
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%"

Has Custom Model Data

🔗

Condition

Patterns:
  • %item types% (has|have) [custom] model data
  • %item types% (doesn't|does not|do not|don't) have [custom] model data
Since: 2.5
Requirements: 1.14+
Check if an item has a custom model data tag

Examples:

player's tool has custom model data

Has Glowing Text

🔗

Condition

Patterns:
Since: 2.8.0
Checks whether a sign (either a block or an item) has glowing text

Examples:

if target block has glowing text

Has Item Cooldown

🔗

Condition

Patterns:
Since: 2.8.0
Check whether a cooldown is active on the specified material for a specific player.

Examples:

if player has player's tool on cooldown:
    send "You can't use this item right now. Wait %item cooldown of player's tool for player%"

Has Item Tooltips

🔗

Condition

Patterns:
  • [the] [entire|additional] tool[ ]tip[s] of %item types% (is|are) (shown|hidden)
  • [the] [entire|additional] tool[ ]tip[s] of %item types% (isn't|is not|aren't|are not) (shown|hidden)
  • %item types%'[s] [entire|additional] tool[ ]tip[s] (is|are) (shown|hidden)
  • %item types%'[s] [entire|additional] tool[ ]tip[s] (isn't|is not|aren't|are not) (shown|hidden)
Since: 2.9.0
Requirements: Spigot 1.20.5+
Whether the entire or additional tooltip of an item is shown or hidden. The 'entire tooltip' is what shows to the player when they hover an item (i.e. name, lore, etc.). The 'additional tooltip' hides certain information from certain items (potions, maps, books, fireworks, and banners).

Examples:

send true if entire tooltip of player's tool is shown
if additional tooltip of {_item} is hidden:

Has Line of Sight

🔗

Condition

Patterns:
Since: 2.8.0
Checks whether living entities have an unobstructed line of sight to other entities or locations.

Examples:

player has direct line of sight to location 5 blocks to the right of player
victim has line of sight to attacker
player has no line of sight to location 100 blocks in front of player

Has Metadata

🔗

Condition

Patterns:
Since: 2.2-dev36
Checks whether a metadata holder has a metadata tag.

Examples:

if player has metadata value "healer":

Has Permission

🔗

Condition

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

Has Played Before

🔗

Condition

Patterns:
  • %offline players% [(has|have|did)] [already] play[ed] [on (this|the) server] (before|already)
  • %offline players% (has not|hasn't|have not|haven't|did not|didn't) [(already|yet)] play[ed] [on (this|the) server] (before|already|yet)
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

Has Potion

🔗

Condition

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!"

Has Resource Pack

🔗

Condition

Patterns:
  • %players% (has|have) [a] resource pack [(loaded|installed)]
  • %players% (doesn't|does not|do not|don't) have [a] resource pack [(loaded|installed)]
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:

Has Scoreboard Tag

🔗

Condition

Patterns:
  • %entities% (has|have) [the] score[ ]board tag[s] %texts%
  • %entities% (doesn't|does not|do not|don't) have [the] score[ ]board tag[s] %texts%
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":

Ignition Process

🔗

Condition

Patterns:
  • [creeper[s]] %living entities% ((is|are)|(isn't|is not|aren't|are not)) going to explode
  • [creeper[s]] %living entities% ((is|are)|(isn't|is not|aren't|are not)) in the (ignition|explosion) process
  • creeper[s] %living entities% ((is|are)|(isn't|is not|aren't|are not)) ignited
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

In The Past/Future

🔗

New

Condition

Patterns:
  • %dates% (is|are)[(n't| not)] in the (past|future)
  • %dates% ha(s|ve)[(n't| not)] passed
Since: 2.10.0
Checks whether a date is in the past or future. Note that using the 'now' expression will not be in the past or future when used directly in the condition.

Examples:

set {_date} to now
wait 5 seconds
if {_date} is in the past:
    # this will be true

if now is in the future:
    # this will be false

set {_dates::*} to 1 day from now, 12 days from now, and 1 year from now
if {_dates::*} are in the future:
    # this will be true
if {_dates::*} have passed:
    # this will be false

Is Adult

🔗

New

Condition

Patterns:
Since: 2.10.0
Checks whether or not a living entity is an adult.

Examples:

on drink:
    event-entity is not an adult
    kill event-entity

Is Alive

🔗

Condition

Patterns:
  • %entities% (is|are) (alive|dead)
  • %entities% (isn't|is not|aren't|are not) (alive|dead)
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:

Is Baby

🔗

New

Condition

Patterns:
Since: 2.10.0
Checks whether or not a living entity is a baby.

Examples:

on drink:
    event-entity is a baby
    kill event-entity

Is Banned

🔗

Condition

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

Is Bed/Anchor Spawn

🔗

Condition

Patterns:
  • [the] respawn location (was|is)[(n'| no)t] [a] (bed|respawn anchor)
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!"

Is Block

🔗

Condition

Patterns:
  • %item types% (is|are) ([a] block|blocks)
  • %item types% (isn't|is not|aren't|are not) ([a] block|blocks)
Since: 2.4
Checks whether an item is a block.

Examples:

player's held item is a block
{list::*} are blocks

Is Block Redstone Powered

🔗

Condition

Patterns:
  • %blocks% (is|are) redstone powered
  • %blocks% (is|are) indirectly redstone powered
  • %blocks% (is|are)(n't| not) redstone powered
  • %blocks% (is|are)(n't| not) indirectly redstone powered
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."

Is Blocking

🔗

Condition

Patterns:
  • %players% (is|are) (blocking|defending) [with [a] shield]
  • %players% (isn't|is not|aren't|are not) (blocking|defending) [with [a] shield]
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

Is Burning

🔗

Condition

Patterns:
  • %entities% (is|are) (burning|ignited|on fire)
  • %entities% (isn't|is not|aren't|are not) (burning|ignited|on fire)
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

Is Charged

🔗

New

Condition

Patterns:
  • %entities% (is|are) (charged|powered)
  • %entities% (isn't|is not|aren't|are not) (charged|powered)
Since: 2.5, 2.10.0 (withers, wither skulls)
Checks if a creeper, wither, or wither skull is charged (powered).

Examples:

if the last spawned creeper is charged:
    broadcast "A charged creeper is at %location of last spawned creeper%"

Is Climbing

🔗

Condition

Patterns:
Since: 2.8.0
Requirements: Minecraft 1.17+
Whether a living entity is climbing, such as a spider up a wall or a player on a ladder.

Examples:

spawn a spider at location of spawn
wait a second
if the last spawned spider is climbing:
    message"The spider is now climbing!"

Is Conditional

🔗

New

Condition

Patterns:
  • %blocks% (is|are) [un]conditional
  • %blocks% (isn't|is not|aren't|are not) [un]conditional
Since: 2.10.0
Checks whether a command block is conditional or not.

Examples:

if {_block} is conditional:
    make {_block} unconditional

Is Edible

🔗

Condition

Patterns:
Since: 2.2-dev36
Checks whether an item is edible.

Examples:

steak is edible
player's tool is edible

Is Empty

🔗

Condition

Patterns:
Since: unknown (before 2.1)
Checks whether an inventory, an inventory slot, or a text is empty.

Examples:

player's inventory is empty

Is Enchanted

🔗

Condition

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

Is Evenly Divisible By

🔗

New

Condition

Patterns:
Since: 2.10.0
Check if a number is evenly divisible by another number.

Examples:

if 5 is evenly divisible by 5:
if 11 cannot be evenly divided by 10:

Is Fire Resistant

🔗

Condition

Patterns:
  • %item types% (is|are) (fire resistant|resistant to fire)
  • %item types% (isn't|is not|aren't|are not) (fire resistant|resistant to fire)
Since: 2.9.0
Requirements: Spigot 1.20.5+
Checks whether an item is fire resistant.

Examples:

if player's tool is fire resistant:
if {_items::*} aren't resistant to fire:

Is Flammable

🔗

Condition

Patterns:
Since: 2.2-dev36
Checks whether an item is flammable.

Examples:

wood is flammable
player's tool is flammable

Is Flying

🔗

Condition

Patterns:
  • %players% (is|are) flying
  • %players% (isn't|is not|aren't|are not) flying
Since: 1.4.4
Checks whether a player is flying.

Examples:

player is not flying

Is Frozen

🔗

Condition

Patterns:
Since: 2.7
Checks whether an entity is frozen.

Examples:

if player is frozen:
    kill player

Is Fuel

🔗

Condition

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

Is Gliding

🔗

Condition

Patterns:
Since: 2.7
Checks whether a living entity is gliding.

Examples:

if player is gliding

Is Hand Raised

🔗

Condition

Patterns:
Since: 2.8.0
Requirements: Paper
Checks whether an entity has one or both of their hands raised. Hands are raised when an entity is using an item (eg: blocking, drawing a bow, eating).

Examples:

on damage of player:
    if victim's main hand is raised:
        drop player's tool at player
        set player's tool to air

Is Holding

🔗

Condition

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

Is In Love

🔗

New

Condition

Patterns:
Since: 2.10.0
Checks whether or not a living entity is in love.

Examples:

on spawn of living entity:
    if entity is in love:
broadcast "That was quick!"

Is Incendiary

🔗

Condition

Patterns:
  • %entities% ((is|are) incendiary|cause[s] a[n] (incendiary|fiery) explosion)
  • %entities% ((is not|are not|isn't|aren't) incendiary|(does not|do not|doesn't|don't) cause[s] a[n] (incendiary|fiery) explosion)
  • the [event(-| )]explosion (is|(is not|isn't)) (incendiary|fiery)
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!"

Is Infinite

🔗

Condition

Patterns:
Since: 2.7
Checks whether potion effects are infinite.

Examples:

all of the active potion effects of the player are infinite

Is Interactable

🔗

Condition

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!"

Is Invisible

🔗

Condition

Patterns:
Since: 2.7
Checks whether a living entity is invisible.

Examples:

target entity is invisible

Is Invulnerable

🔗

New

Condition

Patterns:
Since: 2.5, 2.10.0 (gamemode)
Requirements: Paper 1.20.6+ (gamemodes)
Checks whether an entity or a gamemode is invulnerable. For gamemodes, Paper and Minecraft 1.20.6 are required

Examples:

target entity is invulnerable

loop all gamemodes:
    if loop-value is not invulnerable:
        broadcast "the gamemode %loop-value% is vulnerable!"

Is Jumping

🔗

Condition

Patterns:
Since: 2.8.0
Requirements: Paper 1.15+
Checks whether a living entity is jumping. This condition does not work on players.

Examples:

on spawn of zombie:
    while event-entity is not jumping:
        wait 5 ticks
    push event-entity upwards

Is Leashed

🔗

Condition

Patterns:
Since: 2.5
Checks to see if an entity is currently leashed.

Examples:

target entity is leashed

Is Loaded

🔗

Condition

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:

Is Member/Owner of Region

🔗

Condition

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

Is Normalized

🔗

Condition

Patterns:
  • %vectors% (is|are) normalized
  • %vectors% (isn't|is not|aren't|are not) normalized
Since: 2.5.1
Checks whether a vector is normalized i.e. length of 1

Examples:

vector of player's location is normalized

Is Occluding

🔗

Condition

Patterns:
Since: 2.5.1
Checks whether an item is a block and completely blocks vision.

Examples:

player's tool is occluding

Is Online

🔗

Condition

Patterns:
Since: 1.4
Requirements: Paper 1.20+ (Connected)
Checks whether a player is online. The 'connected' pattern will return false once this player leaves the server, even if they rejoin. Be aware that using the 'connected' pattern with a variable will not have this special behavior. Use the direct event-player or other non-variable expression for best results.

Examples:

player is online
player-argument is offline
while player is connected:
    wait 60 seconds
    send "hello!" to player

# The following will act like `{_player} is online`.
# Using variables with `is connected` will not behave the same as with non-variables.
while {_player} is connected:
    broadcast "online!"
    wait 1 tick

Is Operator

🔗

Condition

Patterns:
Since: 2.7
Checks whether a player is a server operator.

Examples:

player is an operator

Is Passable

🔗

Condition

Patterns:
  • %blocks% (is|are) passable
  • %blocks% (isn't|is not|aren't|are not) passable
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

Is Pathfinding

🔗

Condition

Patterns:
Since: 2.9.0
Requirements: Paper
Checks whether living entities are pathfinding. Can only be a living entity that is a Mob.

Examples:

make {_entity} pathfind to {_location} at speed 2
while {_entity} is pathfinding
    wait a second
launch flickering trailing burst firework colored red at location of {_entity}
subtract 10 from {defence::tower::health}
clear entity within {_entity}

Is Plugin Enabled

🔗

Condition

Patterns:
  • plugin[s] %texts% (is|are) enabled
  • plugin[s] %texts% (is|are)(n't| not) enabled
  • plugin[s] %texts% (is|are) disabled
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:

Is Poisoned

🔗

Condition

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!"

Is Preferred Tool

🔗

Condition

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

Is Riding

🔗

Condition

Patterns:
Since: 2.0
Tests whether an entity is riding another or is in a vehicle.

Examples:

player is riding a saddled pig

Is Riptiding

🔗

Condition

Patterns:
Since: 2.5
Checks to see if an entity is currently using the Riptide enchantment.

Examples:

target entity is riptiding

Is Script Loaded

🔗

Condition

Patterns:
  • script[s] [%texts%] (is|are) loaded
  • script[s] [%texts%] (isn't|is not|aren't|are not) loaded
Since: 2.2-dev31
Check if the current script, or another script, is currently loaded.

Examples:

script is loaded
script "example.sk" is loaded

Is Silent

🔗

Condition

Patterns:
Since: 2.5
Checks whether an entity is silent i.e. its sounds are disabled.

Examples:

target entity is silent

Is Sleeping

🔗

Condition

Patterns:
  • %players% (is|are) sleeping
  • %players% (isn't|is not|aren't|are not) sleeping
Since: 1.4.4
Checks whether a player is sleeping.

Examples:

# cut your enemies' throats in their sleep >=)
on attack:
    attacker is holding a sword
    victim is sleeping
    increase the damage by 1000

Is Slime Chunk

🔗

Condition

Patterns:
  • %chunk% (is|are) ([a] slime chunk|slime chunks|slimey)
  • %chunk% (isn't|is not|aren't|are not) ([a] slime chunk|slime chunks|slimey)
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"

Is Sneaking

🔗

Condition

Patterns:
  • %players% (is|are) sneaking
  • %players% (isn't|is not|aren't|are not) sneaking
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

Is Solid

🔗

Condition

Patterns:
Since: 2.2-dev36
Checks whether an item is solid.

Examples:

grass block is solid
player's tool isn't solid

Is Sprinting

🔗

Condition

Patterns:
  • %players% (is|are) sprinting
  • %players% (isn't|is not|aren't|are not) sprinting
Since: 1.4.4
Checks whether a player is sprinting.

Examples:

player is not sprinting

Is Stackable

🔗

Condition

Patterns:
Since: 2.7
Checks whether an item is stackable.

Examples:

diamond axe is stackable
birch wood is stackable
torch is stackable

Is Swimming

🔗

Condition

Patterns:
Since: 2.3
Requirements: 1.13 or newer
Checks whether a living entity is swimming.

Examples:

player is swimming

Is Tameable

🔗

Condition

Patterns:
Since: 2.5
Check if an entity is tameable.

Examples:

on damage:
    if victim is tameable:
        cancel event

Is Tamed

🔗

New

Condition

Patterns:
  • %entities% (is|are) (tamed|domesticated)
  • %entities% (isn't|is not|aren't|are not) (tamed|domesticated)
Since: 2.10.0
Check if a tameable entity is tamed (horse, parrot, cat, etc.).

Examples:

send true if {_horse} is tamed
tame {_horse} if {_horse} is untamed

Is Transparent

🔗

Condition

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.

Is Unbreakable

🔗

Condition

Patterns:
Since: 2.5.1, 2.9.0 (breakable)
Checks whether an item is unbreakable.

Examples:

if event-item is unbreakable:
    send "This item is unbreakable!" to player
if tool of {_p} is breakable:
    send "Your tool is breakable!" to {_p}

Is Using Experimental Feature

🔗

Condition

Patterns:
  • [the] [current] script is using %texts%
  • [the] [current] script is(n't| not) using %texts%
Since: 2.9.0
Checks whether a script is using an experimental feature by name.

Examples:

the script is using "example feature"
on load:
    if the script is using "example feature":
        broadcast "You're using an experimental feature!"

Is Valid

🔗

Condition

Patterns:
Since: 2.7
Checks whether an entity has died or been despawned for some other reason.

Examples:

if event-entity is valid

Is Wearing

🔗

Condition

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

Is Whitelisted

🔗

Condition

Patterns:
  • [the] server (is|(isn't|is not)) (in white[ ]list mode|white[ ]listed)
  • %offline players% (is|are|(isn't|is not|aren't|are not)) white[ ]listed
  • [the] server white[ ]list (is|(isn't|is not)) enforced
Since: 2.5.2, 2.9.0 (enforce, offline players)
Requirements: MC 1.17+ (enforce)
Whether or not the server or a player is whitelisted, or the server is whitelist enforced.

Examples:

if the player is whitelisted:
if the server is whitelisted:
if the server whitelist is enforced:

Is Within

🔗

Condition

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

Is Within Radius

🔗

Condition

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."

Is a Skript command

🔗

Condition

Patterns:
  • %text% (is|are) [a] s(k|c)ript (command|cmd)
  • %text% (isn't|is not|aren't|are not) [a] s(k|c)ript (command|cmd)
Since: 2.6
Checks whether a command/string is a custom Skript command.

Examples:

# Example 1
on command:
    command is a skript command

# Example 2
"sometext" is a skript command

Is of Type

🔗

Condition

Patterns:
Since: 1.4
Checks whether an item or 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}

Is on Ground

🔗

Condition

Patterns:
  • %entities% (is|are) on [the] ground
  • %entities% (isn't|is not|aren't|are not) on [the] ground
Since: 2.2-dev26
Checks whether an entity is on ground.

Examples:

player is not on ground

Left Handed

🔗

Condition

Patterns:
Since: 2.8.0
Requirements: Paper 1.17.1+ (entities)
Checks if living entities or players are left or right-handed. Armor stands are neither right nor left-handed. Paper 1.17.1+ is required for non-player entities.

Examples:

on damage of player:
    if victim is left handed:
        cancel event

Lid Is Open/Closed

🔗

New

Condition

Patterns:
  • [the] lid[s] of %blocks% (is|are) (open[ed]|close[d])
  • [the] lid[s] of %blocks% (isn't|is not|aren't|are not) (open[ed]|close[d])
  • %blocks%'[s] lid[s] (is|are) (open[ed]|close[d])
  • %blocks%'[s] lid[s] (isn't|is not|aren't|are not) (open[ed]|close[d])
Since: 2.10.0
Check to see whether lidded blocks (chests, shulkers, etc.) are open or closed.

Examples:

if the lid of {_chest} is closed:
    open the lid of {_block}

Matches

🔗

Condition

Patterns:
  • %texts% (match[es]|do[es](n't| not) match) %texts%
  • %texts% (partially match[es]|do[es](n't| not) partially match) %texts%
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!"

PvP

🔗

Condition

Patterns:
  • (is PvP|PvP is) enabled [in %worlds%]
  • (is PvP|PvP is) disabled [in %worlds%]
Since: 1.3.4
Checks the PvP state of a world.

Examples:

PvP is enabled
PvP is disabled in "world"

Region Contains

🔗

Condition

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!"

Resource Pack

🔗

Condition

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!"

Running Minecraft

🔗

Condition

Patterns:
  • running [below] minecraft %text%
Since: 2.5
Checks if current Minecraft version is given version or newer.

Examples:

running minecraft "1.14"

Starts/Ends With

🔗

Condition

Patterns:
  • %texts% (start|end)[s] with %texts%
  • %texts% (doesn't|does not|do not|don't) (start|end) with %texts%
Since: 2.2-dev36, 2.5.1 (multiple strings support)
Checks if a text starts or ends with another.

Examples:

if the argument starts with "test" or "debug":
    send "Stop!"

Text Display Has Drop Shadow

🔗

New

Condition

Patterns:
  • [[the] text of] %displays% (has|have) [a] (drop|text) shadow
  • %displays%'[s] text (has|have) [a] (drop|text) shadow
  • [[the] text of] %displays% (doesn't|does not|do not|don't) have [a] (drop|text) shadow
  • %displays%'[s] text (doesn't|does not|do not|don't) have [a] (drop|text) shadow
Since: 2.10.0
Returns whether the text of a display has drop shadow applied.

Examples:

if {_display} has drop shadow:
    remove drop shadow from the text of {_display}

Text Display Visible Through Blocks

🔗

New

Condition

Patterns:
  • %displays% (is|are) visible through (blocks|walls)
  • %displays% (isn't|is not|aren't|are not) visible through (blocks|walls)
Since: 2.10.0
Returns whether text displays can be seen through blocks or not.

Examples:

if last spawned text display is visible through walls:
    prevent last spawned text display from being visible through walls

Time

🔗

Condition

Patterns:
Since: 2.0
Tests whether a given real time was more or less than some time span ago.

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 ...