Please note that this is the old documentation on the last version of Skript I released in 2014.
For up-to-date documentation, please visit the SkriptLang docs, the Skript Hub docs, or the skUnity docs.
For up-to-date documentation, please visit the SkriptLang docs, the Skript Hub docs, or the skUnity docs.
Table of Contents
- Can Build
- Can Hold
- Chance
- Comparison
- Contains
- Damage Cause
- Exists/Is Set
- Has Permission
- Has Played Before
- Is Alive
- Is Banned
- Is Blocking
- Is Burning
- Is Empty
- Is Enchanted
- Is Flying
- Is Holding
- Is in World
- Is Member/Owner of Region
- Is of Type
- Is Online
- Is Poisoned
- Is Riding
- Is Sleeping
- Is Sneaking
- Is Sprinting
- Is Wearing
- PvP
- Region Contains
- Time
- Weather
Can Build
patterns[?]: | cannot be used directly |
---|---|
since: | 2.0 |
Tests whether a player is allowed to build at a certain location. This condition requires that a supported regions plugin is 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 Hold
patterns[?]: | %inventories% (can hold|ha(s|ve) [enough] space (for|to hold)) %item types% %inventories% (can(no|')t hold|(ha(s|ve) not|ha(s|ve)n't|do[es]n't have) [enough] space (for|to hold)) %item types% |
---|---|
since: | 1.0 |
Tests whether a player or a chest has enough free space to hold the given item. This includes trying to fill existing stacks of the tested item(s).
examples:
block can hold 200 cobblestone player has enough space for 64 feathers
Chance
patterns[?]: | chance of %number%[\%] |
---|---|
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.
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 {var}% # {var} between 0 and 100 chance of {var} # {var} between 0 and 1
Comparison
patterns[?]: | [neither] %objects% ((is|are) ((greater|more|higher|bigger|larger) than|above)|>) %objects% [neither](neither)|isn't|aren't) ((less|smaller) than|below)|>=) %objects% [neither] %objects% ((is|are) ((less|smaller) than|below)|<) %objects% [neither](neither)|isn't|aren't) ((greater|more|higher|bigger|larger) than|above)|<=) %objects% [neither](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](is not|are not|isn't|aren't) 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
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
patterns[?]: | %inventories% ha(s|ve) %item types% [in [(the[ir]|his|her|its)] inventory] %inventories/texts/objects% contain[s] %item types/texts/objects% %inventories% do[es](n't| not) have %item types% [in [(the[ir]|his|her|its)] inventory] %inventories/texts/objects% do[es](n't| not) contain %item types/texts/objects% |
---|---|
since: | 1.0 |
Checks whether an inventory contains the given item, a text contains another piece of text, or a list of objects (e.g. a {list variable::*}) contains another object.
examples:
block contains 20 cobblestone player has 4 flint and 2 iron ingots
Damage Cause
patterns[?]: | [the] damage [(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
Exists/Is Set
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:
{teamscript.%player%.preferred team} is not set on damage: projectile exists broadcast "%attacker% used a %projectile% to attack %victim%!"
Has Permission
patterns[?]: | [%players/console%] (do[es]n't|don't|do[es] not) have [the] permission[s] %texts% [%players/console%] ha(s|ve) [the] permission[s] %texts% |
---|---|
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
patterns[?]: | %offline player% [(has|did)] [already] play[ed] [on (this|the) server] (before|already) %offline player% (has not|hasn't|did not|didn't) [(already|yet)] play[ed] [on (this|the) server] (before|already|yet) |
---|---|
since: | 1.4 |
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
Is Alive
patterns[?]: | %living entities% (alive|dead) %living entities% (alive|dead) |
---|---|
since: | 2.0 |
Checks whetehr an entity is alive. This is mostly useful to check whether an entity stored in a variable does still exist
examples:
{villagerbuddy.%player%} is dead
Is Banned
patterns[?]: | %offline players/texts% (is|are) banned %players/texts% [(is|are) IP(-| )]banned %offline players/texts% (isn't|is not|aren't|are not) banned %players/texts% [(isn't|is not|aren't|are not) IP(-| )]banned |
---|---|
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 Blocking
patterns[?]: | %players% (is|are) (blocking|defending) %players% (isn't|is not|aren't|are not) (blocking|defending) |
---|---|
since: | unknown |
Checks whether a player is blocking with his sword.
examples:
victim is blocking
Is Burning
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 buring targets victim is burning: increase damage by 2
Is Empty
patterns[?]: | %inventories/slots/texts% (is|are) empty %inventories/slots/texts% (isn't|is not|aren't|are not) empty |
---|---|
since: | unknown |
Checks whether an inventory, an inventory slot, or a text is empty.
examples:
player's inventory is empty
Is Enchanted
patterns[?]: | %item types% (is|are) enchanted [with %enchantment type%] %item types% (isn't|is not|aren't|are not) enchanted [with %enchantment type%] |
---|---|
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 Flying
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 Holding
patterns[?]: | [%living entities%] ha(s|ve) %item types% in hand [%living entities%] (is|are) holding %item types% [%living entities%] (ha(s|ve) not|do[es]n't have) %item types% in hand [%living entities%] (is not|isn't) holding %item types% |
---|---|
since: | 1.0 |
Checks whether a player is holdign 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 World
patterns[?]: | %entities% (is|are) in [[the] world[s]] %worlds% %entities% (is not|isn't|are not|aren't) in [[the] world[s]] %worlds% |
---|---|
since: | 1.4 |
Checks whether an entity is in a specific world
examples:
player is in "world" argument isn't in world "world_nether" the attacker is in the world of the victim
Is Member/Owner of Region
patterns[?]: | cannot be used directly |
---|---|
since: | 2.1 |
Checks whetehr a player is a member or owner of a particular region.
This condition requires a supported regions plugin to be installed.
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 of Type
patterns[?]: | %item stacks/entities% (is|are) of type[s] %item types/entity types% %item stacks/entities% (isn't|is not|aren't|are not) of type[s] %item types/entity types% |
---|---|
since: | 1.4 |
Checks whether an item of 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 Online
patterns[?]: | %offline players% ((is|are) online|(is not|isn't|are not|aren't) offline) %offline players% ((is|are) offline|(is not|isn't|are not|aren't) online) |
---|---|
since: | 1.4 |
Checks whether a player is online.
examples:
player is online player-argument is offline
Is Poisoned
patterns[?]: | %living entities% (is|are) poisoned %living entities% (isn't|is not|aren't|are not) poisoned |
---|---|
since: | 1.4.4 |
Checks whether an entity is poisoned.
examples:
player is poisoned: cure the player from posion message "You have been cured!"
Is Riding
patterns[?]: | %entities% (is|are) riding [%entity types%] %entities% (isn't|is not|aren't|are not) riding [%entity types%] |
---|---|
since: | 2.0 |
Tests whether an entity is riding another or is in a vehicle.
examples:
player is riding a saddled pig
Is Sleeping
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 Sneaking
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 Sprinting
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 Wearing
patterns[?]: | %living entities% (is|are) wearing %item types% %living entities% (isn't|is not|aren't|are not) wearing %item types% |
---|---|
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
PvP
patterns[?]: | (is PvP|PvP is) enabled [in %worlds%] (is PvP|PvP is) disabled [in %worlds%] |
---|---|
since: | 1.3.4 |
Checks the PvP status of a world.
examples:
PvP is enabled PvP is disabled in "world"
Region Contains
patterns[?]: | cannot be used directly |
---|---|
since: | 2.1 |
Checks whether a location is contained in a particular region.
This condition requires a supported regions plugin to be installed.
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!"
Time
patterns[?]: | %date% (was|were)( more|(n't| not) less) than %time span% [ago] %date% (was|were)((n't| not) more| less) than %time span% [ago] |
---|---|
since: | 2.0 |
examples:
command /command_with_cooldown: trigger: {command.%player%.lastused} was less than a minute ago: message "Please wait a minute between uses of this command." stop set {command.%player%.lastused} to now # ... actual command trigger here ...
Weather
patterns[?]: | is %weather types% [in %worlds%] |
---|---|
since: | 1.0 |
Checks whether the weather in a world is of a specific type.
I welcome any ideas how to write this condition differently.
I welcome any ideas how to write this condition differently.
examples:
is thundering is raining in "world" or "world2"