Patterns: |
|
Since: | 1.0 |
Examples:
blacklisted items = TNT, bedrock, obsidian, mob spawner, lava, lava bucket
shiny swords = gold sword, iron sword, diamond sword
Patterns: |
|
Required Entries: | trigger |
Optional Entries: | usage, description, prefix, permission, permission message, aliases, executable by, cooldown, cooldown message, cooldown bypass, cooldown storage |
Since: | 1.0 |
Examples:
usage: A command for broadcasting a message to all players.
permission: skript.command.broadcast
permission message: You don't have permission to broadcast messages
aliases: /bc
executable by: players and console
cooldown: 15 seconds
cooldown message: You last broadcast a message %elapsed time% ago. You can broadcast another message in %remaining time%.
cooldown bypass: skript.command.broadcast.admin
cooldown storage: {cooldown::%player%}
trigger:
broadcast the argument
Patterns: |
|
Since: | 2.2, 2.7 (local functions) |
Examples:
broadcast {_message} # our message argument is available in '{_message}'
local function giveApple(amount: number) :: item:
return {_amount} of apple
Patterns: |
|
Since: | 1.0 |
Examples:
no_permission: You're missing the required permission to execute this command!
command /ping:
permission: command.ping
permission message: {@no_permission}
trigger:
message "Pong!"
command /pong:
permission: command.pong
permission message: {@no_permission}
trigger:
message "Ping!"
Patterns: |
|
Since: | 1.0 |
Examples:
{joins} = 0
{balance::%player%} = 0
on join:
add 1 to {joins}
message "Your balance is %{balance::%player%}%"
Patterns: |
|
Since: | 2.5 |
Usable in events: | sponge absorb |
Return Type: | block |
Examples:
Patterns: |
|
Since: | 2.4 |
Return Type: | livingentity |
Examples:
loop affected entities:
if loop-value is a player:
send "WARNING: you've step on an area effect cloud!" to loop-value
Patterns: | |
Since: | 2.7 |
Return Type: |
Examples:
set age of targeted block to maximum age of targeted block
# Spawn a baby cow that will only need 1 minute to become an adult
spawn a baby cow at player
set age of last spawned entity to -1200 # in ticks = 60 seconds
Patterns: |
|
Since: | 2.7 |
Return Type: | object |
Examples:
trigger:
send all the banned players
Patterns: |
|
Since: | 2.2-dev35 |
Requirements: | Vault, a permission plugin that supports Vault |
Return Type: | string |
Examples:
trigger:
if argument is "list":
send "%all groups%"
Patterns: |
|
Since: | 2.7 |
Return Type: | offlineplayer |
Examples:
Patterns: | |
Since: | 2.2-dev33 |
Return Type: | string |
Examples:
Patterns: |
|
Since: | 2.5 |
Return Type: | string |
Examples:
trigger:
send "All Scripts: %scripts%" to player
send "Loaded Scripts: %enabled scripts%" to player
send "Unloaded Scripts: %disabled scripts%" to player
Patterns: |
|
Since: | 2.6 |
Return Type: | string |
Examples:
send "Number of all script commands: %size of all script commands%"
Patterns: | |
Since: | 1.4.3 |
Return Type: | number |
Examples:
altitude of the attacker is higher than the altitude of the victim
set damage to damage * 1.2
Patterns: | |
Since: | 1.0 |
Return Type: |
amount of %items%
will not return the number of items, but the number of stacks, e.g. 1 for a stack of 64 torches. To get the amount of items in a stack, see the item amount expression.Also, you can get the recursive size of a list, which will return the recursive size of the list with sublists included, e.g.
{list::*} Structure
├──── {list::1}: 1
├──── {list::2}: 2
│ ├──── {list::2::1}: 3
│ │ └──── {list::2::1::1}: 4
│ └──── {list::2::2}: 5
└──── {list::3}: 6
Where using %size of {list::*}% will only return 3 (the first layer of indices only), while %recursive size of {list::*}% will return 6 (the entire list) Please note that getting a list's recursive size can cause lag if the list is large, so only use this expression if you need to!
Examples:
Patterns: |
|
Since: | 2.0 |
Return Type: |
Examples:
Patterns: |
|
Since: | 2.7 |
Return Type: | string |
Examples:
type of event-inventory is anvil inventory
if the anvil input text of the event-inventory is "FREE OP":
ban player
Patterns: |
|
Since: | 2.5 |
Usable in events: | enchant |
Return Type: | enchantmenttype |
Examples:
set the applied enchantments to sharpness 10 and fire aspect 5
Patterns: | |
Since: | 1.0, 2.7 (support for command events) |
Return Type: | object |
Examples:
damage the player-argument by the number-argument
give a diamond pickaxe to the argument
add argument 1 to argument 2
heal the last argument
Patterns: |
|
Since: | 1.4.2 |
Return Type: | number |
Examples:
loop (argument + 2) / 5 times:
message "Two useless numbers: %loop-num * 2 - 5%, %2^loop-num - 1%"
message "You have %health of player * 2% half hearts of HP!"
Patterns: |
|
Since: | 1.0 |
Return Type: | slot |
Examples:
helmet of player is neither a helmet nor air # player is wearing a block, e.g. from another plugin
Patterns: |
|
Since: | 2.5.1 |
Return Type: |
Examples:
event-projectile is an arrow
set arrow knockback strength of event-projectile to 10
Patterns: |
|
Since: | 2.5 |
Return Type: |
Examples:
Patterns: | |
Since: | 2.6.1 |
Requirements: | Minecraft 1.15+ |
Return Type: |
Examples:
if attack cooldown of attacker < 1:
set damage to 0
send "Your hit was too weak! wait until your weapon is fully charged next time." to attacker
Patterns: |
|
Since: | 1.3, 2.6.1 (projectile hit event) |
Usable in events: | damage, death, projectile hit |
Return Type: | entity |
Examples:
victim is a creeper
damage the attacked by 1 heart
Patterns: |
|
Since: | 1.3 |
Usable in events: | damage, death, destroy |
Return Type: | entity |
Examples:
attacker is a player
health of attacker is less than or equal to 2
damage victim by 1 heart
Patterns: |
|
Since: | 2.0, 2.7 (offlineplayers, safe bed) |
Return Type: | location |
safe bed location
.NOTE: Offline players can not have their bed location changed, only online players.
Examples:
teleport player the the player's bed
else:
teleport the player to the world's spawn point
set the bed location of player to spawn location of world("world") # unsafe/invalid bed location
set the safe bed location of player to spawn location of world("world") # safe/valid bed location
Patterns: | |
Since: | 1.4.4, 2.6.1 (3D biomes) |
Return Type: | biome |
Examples:
every real minute:
loop all players:
biome at loop-player is desert
damage the loop-player by 1
Patterns: |
|
Since: | 1.0 |
Return Type: | block |
Examples:
set block below to air
spawn a creeper above the block
loop blocks in radius 4:
loop-block is obsidian
set loop-block to water
block is a chest:
clear the inventory of the block
Patterns: | |
Since: | 1.0 |
Return Type: | block |
Examples:
set block below to air
spawn a creeper above the block
loop blocks in radius 4:
loop-block is obsidian
set loop-block to water
block is a chest:
clear the inventory of the block
Patterns: | |
Since: | 2.7 |
Requirements: | 1.17+ |
Return Type: |
Examples:
event-block is set
send "Break Speed: %break speed for player%" to player
Patterns: | |
Since: | 2.5, 2.5.2 (set) |
Requirements: | Minecraft 1.13+ |
Return Type: | blockdata |
Examples:
set block at player to {data}
set block data of target block to oak_stairs[facing=south;waterlogged=true]
Patterns: |
|
Since: | 2.6 |
Requirements: | Minecraft 1.13+ |
Return Type: | number |
Examples:
if block hardness of target block > 5:
Patterns: | |
Since: | 1.0 |
Return Type: | block |
Examples:
set loop-block to air
Patterns: |
|
Since: | 1.0, 2.5.1 (within/cuboid/chunk) |
Return Type: | block |
Examples:
loop blocks between the block below the player and the targeted block:
set the blocks below the player, the victim and the targeted block to air
set all blocks within {loc1} and {loc2} to stone
set all blocks within chunk at player to air
Patterns: |
|
Since: | 2.1 |
Requirements: | Supported regions plugin |
Return Type: | block |
Examples:
clear the loop-block
Patterns: |
|
Since: | 2.2-dev31 |
Return Type: | string |
Examples:
message "Book Title: %author of event-item%"
Patterns: |
|
Since: | 2.2-dev31, 2.7 (changers) |
Return Type: | string |
Examples:
message "Book Pages: %pages of event-item%"
message "Book Page 1: %page 1 of event-item%"
set page 1 of player's held item to "Book writing"
Patterns: |
|
Since: | 2.2-dev31 |
Return Type: | string |
Examples:
message "Book Title: %title of event-item%"
Patterns: |
|
Since: | 2.2-dev16 (lowercase and uppercase), 2.5 (advanced cases) |
Return Type: | string |
Examples:
"oops!" in uppercase # OOPS!
"hellO i'm steve!" in proper case # HellO I'm Steve!
"hellO i'm steve!" in strict proper case # Hello I'm Steve!
"spAwn neW boSs ()" in camel case # spAwnNeWBoSs()
"spAwn neW boSs ()" in strict camel case # spawnNewBoss()
"geneRate ranDom numBer ()" in pascal case # GeneRateRanDomNumBer()
"geneRate ranDom numBer ()" in strict pascal case # GenerateRandomNumber()
"Hello Player!" in snake case # Hello_Player!
"Hello Player!" in lower snake case # hello_player!
"Hello Player!" in upper snake case # HELLO_PLAYER!
"What is your name?" in kebab case # What-is-your-name?
"What is your name?" in lower kebab case # what-is-your-name?
"What is your name?" in upper kebab case # WHAT-IS-YOUR-NAME?
Patterns: |
|
Since: | 2.2-dev31 |
Return Type: | string |
Examples:
Patterns: |
|
Since: | 2.2-Fixes-v7, 2.2-dev35 (clearing recipients) |
Return Type: | player |
Examples:
Patterns: |
|
Since: | 2.0 |
Return Type: | chunk |
Examples:
Patterns: |
|
Since: | 1.0, 2.2-dev35 (more clickable things) |
Usable in events: | click, inventory click |
Return Type: | object |
Examples:
if the clicked block is a chest:
show the inventory of the clicked block to the player
Patterns: |
|
Since: | 1.2 |
Return Type: | color |
Examples:
message "This wool block is <%color of block%>%color of block%
set the color of the block to black
Patterns: | |
Since: | 2.0 |
Return Type: | string |
Examples:
set message to colored message # Safe; only colors get parsed
command /fade <player>:
trigger:
set display name of the player-argument to uncolored display name of the player-argument
command /format <text>:
trigger:
message formatted text-argument # Safe, because we're sending to whoever used this command
Patterns: |
|
Since: | 2.0, 2.7 (support for script commands) |
Usable in events: | command |
Return Type: | string |
Examples:
on command:
if {game::%player%::playing} is true:
if the command is not "exit":
message "You're not allowed to use commands during the game"
cancel the event
Patterns: |
|
Since: | 2.6 |
Return Type: | string |
Examples:
description of command "help"
label of command "pl"
usage of command "help"
aliases of command "bukkit:help"
permission of command "/op"
command "op"'s permission message
command "sk"'s plugin owner
Patterns: |
|
Since: | 2.0 |
Usable in events: | command |
Return Type: | commandsender |
Examples:
on command:
log "%executor% used command /%command% %arguments%" to "commands.log"
Patterns: | |
Since: | 2.0 |
Return Type: | location |
Examples:
every 5 seconds:
loop all players:
set the loop-player's compass target to location of {compass::target::%%loop-player%}
Patterns: |
|
Since: | 1.3.1 |
Return Type: | commandsender |
Examples:
send "message to console" to the console
Patterns: |
|
Since: | 2.2-dev33 |
Return Type: | object |
Examples:
cooldown: 10 seconds
cooldown message: You last teleported home %elapsed time% ago, you may teleport home again in %remaining time%.
trigger:
teleport player to {home::%player%}
Patterns: | |
Since: | 1.4.3 |
Return Type: | number |
Examples:
message "Watch out for lava!"
Patterns: |
|
Since: | 1.0 |
Return Type: | entity |
Examples:
kill the creeper
kill all powered creepers in the wolf's world
projectile is an arrow
Patterns: | |
Since: | 2.2-dev34 |
Return Type: | inventory |
Examples:
set {_inventory} to chest inventory with 1 row
Patterns: |
|
Since: | 2.5 |
Requirements: | 1.14+ |
Return Type: |
Examples:
set {_model} to custom model data of player's tool
Patterns: |
|
Since: | 2.0 |
Return Type: | damagecause |
Examples:
Patterns: | |
Since: | 2.4 |
Return Type: | itemtype |
Examples:
set player's tool to diamond hoe damaged by 250
give player diamond sword with damage 700 named "BROKEN SWORD"
set {_item} to diamond hoe with damage value 50 named "SAD HOE"
set target block of player to wool with data value 1
set target block of player to potato plant with data value 7
Patterns: |
|
Since: | 1.2 |
Return Type: |
Examples:
set data value of target block of player to 3
add 1 to the data value of the clicked block
reset data value of block at player
Patterns: | |
Since: | 2.2-dev33 |
Return Type: | date |
Examples:
set {_hourAfter} to 1 hour after {someOtherDate}
set {_hoursBefore} to 5 hours before {someOtherDate}
Patterns: | |
Since: | 1.4 |
Return Type: | object |
Examples:
message "You have to wait a minute before using this command again!"
Patterns: | |
Since: | 2.3 |
Return Type: | difficulty |
Examples:
Patterns: |
|
Since: | 1.0 (basic), 2.0 (extended) |
Return Type: | direction |
Examples:
set the block behind the player to water
loop blocks above the player:
set {_rand} to a random integer between 1 and 10
set the block {_rand} meters south east of the loop-block to stone
block in horizontal facing of the clicked entity from the player is air
spawn a creeper 1.5 meters horizontally behind the player
spawn a TNT 5 meters above and 2 meters horizontally behind the player
thrust the last spawned TNT in the horizontal direction of the player with speed 0.2
push the player upwards and horizontally forward at speed 0.5
push the clicked entity in in the direction of the player at speed -0.5
open the inventory of the block 2 blocks below the player to the player
teleport the clicked entity behind the player
grow a regular tree 2 meters horizontally behind the player
Patterns: |
|
Since: | 1.0 |
Usable in events: | death |
Return Type: | itemtype |
Examples:
remove 4 planks from the drops
Patterns: | |
Since: | 2.5.1 |
Requirements: | Minecraft 1.15+ ('as %entity%') |
Return Type: | itemtype |
Examples:
give drops of block using player's tool to player
Patterns: |
|
Since: | 2.5 |
Usable in events: | enchant prepare, enchant |
Return Type: | itemtype |
Examples:
set the enchanted item to a diamond chestplate
on enchant prepare:
set the enchant item to a wooden sword
Patterns: |
|
Since: | 2.5 |
Usable in events: | enchant |
Return Type: |
Examples:
send "Cost: %the displayed enchanting cost%" to player
Patterns: |
|
Since: | 2.5 |
Usable in events: | enchant prepare |
Return Type: |
Examples:
send "There are %enchantment bonus% bookshelves surrounding this enchantment table!" to player
Patterns: |
|
Since: | 2.0 |
Return Type: |
Examples:
message "You have a sword of sharpness %level of sharpness of the player's tool% equipped"
Patterns: | |
Since: | 2.5 |
Usable in events: | enchant prepare |
Requirements: | 1.11 or newer |
Return Type: | enchantmentoffer |
Examples:
send "Your enchantment offers are: %the enchantment offers%" to player
Patterns: |
|
Since: | 2.5 |
Requirements: | 1.11 or newer |
Return Type: |
Examples:
Patterns: |
|
Since: | 1.2.1, 2.5 (chunks) |
Return Type: | entity |
all players
, all creepers in the player's world
, or players in radius 100 of the player
. Examples:
send "Psst!" to all players within 100 meters of the player
give a diamond to all ops
heal all tamed wolves in radius 2000 around {town center}
delete all monsters in chunk at player
Patterns: |
|
Since: | 2.5 |
Return Type: | boolean |
Examples:
Patterns: |
|
Since: | 2.5, 2.6.1 (final attribute value) |
Return Type: | number |
Examples:
send "You are wounded!"
set victim's attack speed attribute to 2
Patterns: |
|
Since: | 2.5 |
Return Type: | offlineplayer |
Examples:
delete owner of target entity
set {_t} to uuid of tamer of target entity
Patterns: |
|
Since: | 2.1, 2.5.3 (block break event), 2.7 (experience change event) |
Usable in events: | experience spawn, break / mine, experience change |
Return Type: | experience |
Examples:
add 5 to the spawned experience
on break of coal ore:
clear dropped experience
on break of diamond ore:
if tool of player = diamond pickaxe:
add 100 to dropped experience
Patterns: |
|
Since: | 2.5 |
Usable in events: | explosion |
Return Type: | number |
Examples:
set the explosion's block yield to 10%
Patterns: |
|
Since: | 2.5 |
Usable in events: | explosion prime |
Return Type: | number |
Examples:
set the yield of the explosion to 10
Patterns: | |
Since: | 2.5 |
Requirements: | Minecraft 1.12 or newer for creepers |
Return Type: | number |
Examples:
set the explosive yield of the event-entity to 10
Patterns: |
|
Since: | 1.4 |
Return Type: | direction |
Examples:
loop blocks from the block below the player in the horizontal facing of the player:
set loop-block to cobblestone
Patterns: |
|
Since: | 2.5 |
Usable in events: | block fertilize |
Requirements: | Minecraft 1.13 or newer |
Return Type: | block |
Examples:
Patterns: |
|
Since: | 2.2-dev36 |
Return Type: | object |
Examples:
Patterns: |
|
Since: | 2.2-dev36 |
Return Type: | object |
Examples:
Patterns: |
|
Since: | 2.4 |
Return Type: | fireworkeffect |
Examples:
launch trailing flickering star colored purple, yellow, blue, green and red fading to pink at target entity
launch ball large colored red, purple and white fading to light green and black at player's location with duration 1
Patterns: | |
Since: | 2.2-dev31, 2.7 (support variables in format) |
Return Type: | string |
Examples:
trigger:
send "Full date: %now formatted human-readable%" to sender
send "Short date: %now formatted as "yyyy-MM-dd"%" to sender
Patterns: | |
Since: | 1.1 |
Return Type: | object |
Examples:
former world was "world_nether" # or 'world was'
world will be "world" # or 'world after the event is'
on tool change:
past tool is an axe
the tool after the event will be air
on weather change:
set {weather::%world%::old} to past weather
set {weather::%world%::current} to the new weather
Patterns: | |
Since: | 1.0 |
Usable in events: | smelt, fuel burn |
Return Type: | slot |
Examples:
set the block's ore slot to 64 iron ore
give the result of the block to the player
clear the result slot of the block
Patterns: | |
Since: | 2.5 |
Requirements: | Minecraft 1.13+ |
Return Type: | gamerulevalue |
Examples:
Patterns: |
|
Since: | 2.2-dev21 |
Return Type: | boolean |
Examples:
Patterns: |
|
Since: | 2.2-dev35 |
Requirements: | Vault, a permission plugin that supports Vault |
Return Type: | string |
Examples:
broadcast "%group of player%" # this is the player's primary group
broadcast "%groups of player%" # this is all of the player's groups
Patterns: |
|
Since: | 2.6.2 |
Return Type: | entity |
Examples:
if item of hanging entity is diamond pickaxe:
cancel event
if hanging remover is a player:
send "You can't break that item frame!" to hanging remover
Patterns: |
|
Since: | 2.0, 2.2-dev32 (SHA-256 algorithm) |
Return Type: | string |
MD5 is provided mostly for backwards compatibility, as it is outdated and not secure. SHA-256 is more secure, and can used to hash somewhat confidental data like IP addresses and even passwords. It is not that secure out of the box, so please consider using salt when dealing with passwords! When hashing data, you must specify algorithms that will be used for security reasons!
Please note that a hash cannot be reversed under normal circumstanses. You will not be able to get original value from a hash with Skript.
Examples:
trigger:
set {password::%uuid of player%} to text-argument hashed with SHA-256
command /login <text>:
trigger:
if text-argument hashed with SHA-256 is {password::%uuid of player%}:
message "Login successful."
else:
message "Wrong password!"
Patterns: |
|
Since: | 2.7 |
Usable in events: | Egg Throw |
Return Type: | entitydata |
Examples:
set the hatching entity type to a primed tnt
Patterns: |
|
Since: | 2.7 |
Usable in events: | Egg Throw |
Return Type: |
Examples:
set the hatching number to 10
Patterns: |
|
Since: | 2.0 |
Return Type: | location |
Examples:
set the block in front of the player's eyes to glass
loop blocks in front of the player's head:
Patterns: |
|
Since: | 2.5 |
Return Type: | healreason |
Examples:
if heal reason = satiated:
send "You ate enough food and gained health back!" to player
Patterns: |
|
Since: | 1.0 |
Usable in events: | damage |
Return Type: | number |
Examples:
Patterns: | |
Since: | 2.3 |
Return Type: | player |
Examples:
Patterns: |
|
Since: | 2.5 |
Return Type: |
Examples:
send "You clicked the hotbar button %hotbar button%!"
Patterns: | |
Since: | 2.2-dev36 |
Return Type: | slot |
Examples:
set player's selected hotbar slot to slot 4 of player
send "index of player's current hotbar slot = 1" # second slot from the left
Patterns: |
|
Since: | 2.3 |
Usable in events: | server list ping |
Requirements: | Paper 1.12.2 or newer |
Return Type: | string |
Examples:
clear the hover list
add "&aWelcome to the &6Minecraft &aserver!" to the hover list
add "" to the hover list # A blank line
add "&cThere are &6%online players count% &conline players!" to the hover list
Patterns: | |
Since: | 1.4, 2.2-dev26 (when used in connect event), 2.3 (when used in server list ping event) |
Return Type: | string |
Examples:
broadcast "Banned the IP %IP of player%"
on connect:
log "[%now%] %player% (%ip%) is connected to the server."
on server list ping:
send "%IP-address%" to the console
Patterns: | |
Since: | 2.1 |
Return Type: |
Examples:
if {_s} contains "abc":
set {_s} to the first (index of "abc" in {_s} + 3) characters of {_s} # removes everything after the first "abc" from {_s}
Patterns: | |
Since: | 2.4 (indices), 2.6.1 (sorting) |
Return Type: | string |
Examples:
broadcast "%indices of {l::*}%" # result is 1, 2 and 3
set {_leader-board::first} to 17
set {_leader-board::third} to 30
set {_leader-board::second} to 25
set {_leader-board::fourth} to 42
set {_ascending-indices::*} to sorted indices of {_leader-board::*} in ascending order
broadcast "%{_ascending-indices::*}%" #result is first, second, third, fourth
set {_descending-indices::*} to sorted indices of {_leader-board::*} in descending order
broadcast "%{_descending-indices::*}%" #result is fourth, third, second, first
Patterns: |
|
Since: | 1.0 |
Return Type: | object |
Examples:
clear the player's inventory
remove 5 wool from the inventory of the clicked block
Patterns: |
|
Since: | 2.2-dev16 |
Return Type: | inventoryaction |
Examples:
Patterns: |
|
Since: | 2.2-dev34, 2.5 (slots) |
Return Type: | object |
NOTE: 'Viewers' expression returns a list of players viewing the inventory. Note that a player is considered to be viewing their own inventory and internal crafting screen even when said inventory is not open.
Examples:
holder of player's top inventory
{_inventory}'s viewers
Patterns: | |
Since: | 2.2-dev24 |
Return Type: | slot |
Examples:
set slot 0 of player to 2 stones
remove 1 stone from slot 0 of player
add 2 stones to slot 0 of player
clear slot 1 of player
Patterns: |
|
Since: | unknown (before 2.1) |
Return Type: | itemstack |
Examples:
item is a clock
set the time to 6:00
Patterns: |
|
Since: | 2.2-dev24 |
Return Type: |
Examples:
Patterns: |
|
Since: | 2.2-dev36 |
Return Type: | enchantmenttype |
Examples:
Patterns: | |
Since: | 2.2-dev35, 2.2-dev36 (improved), 2.5.2 (throwable projectiles) |
Requirements: | Minecraft 1.15.2+ (throwable projectiles) |
Return Type: | slot |
Examples:
Patterns: | |
Since: | 2.5 |
Requirements: | 1.14+ |
Return Type: | itemtype |
Examples:
set slot 1 of inventory of player to wooden hoe with custom model data 357
Patterns: | |
Since: | 2.3 |
Return Type: | itemtype |
Examples:
give {_test} to player
Patterns: |
|
Since: | 1.0 pre-5 |
Return Type: | itemtype |
Examples:
block contains loop-item
message "Theres at least one %loop-item% in this block"
drop all blocks at the player # drops one of every block at the player
Patterns: |
|
Since: | 2.0 |
Return Type: | slot |
Examples:
loop-item is enchanted
remove loop-item from the player
set {inventory::%uuid of player%::*} to items in the player's inventory
Patterns: |
|
Since: | 2.1, 2.5.2 (regex support), 2.7 (case sensitivity) |
Return Type: | string |
Examples:
set {_s::*} to the string argument split at ","
Patterns: | |
Since: | 2.3 |
Return Type: | string |
Examples:
Patterns: |
|
Since: | 2.5.1 |
Return Type: | number |
Examples:
Patterns: |
|
Since: | 2.2-Fixes-V10 |
Return Type: | damagecause |
Examples:
Patterns: |
|
Since: | 2.3 |
Requirements: | Paper 1.12.2 or newer |
Return Type: | cachedservericon |
Examples:
Patterns: | |
Since: | 2.4 |
Requirements: | Paper 1.9 or newer |
Return Type: | resourcepackstate |
Examples:
Patterns: |
|
Since: | 1.3 (spawned entity), 2.0 (shot entity), 2.2-dev26 (dropped item), 2.7 (struck lightning, firework) |
Return Type: | entity |
Examples:
set {healer::%spawned priest%} to true
shoot an arrow from the last spawned entity
ignite the shot projectile
drop a diamond sword
push last dropped item upwards
teleport player to last struck lightning
delete last launched firework
Patterns: |
|
Since: | 2.5 |
Return Type: | date |
Examples:
trigger:
send "You have been online for %difference between player's last login and now%."
send "You first joined the server %difference between player's first login and now% ago."
Patterns: |
|
Since: | 2.3 |
Return Type: | entity |
Examples:
Patterns: | |
Since: | unknown (before 2.1) |
Usable in events: | level change |
Return Type: |
Examples:
set the player's level to 0
Patterns: | |
Since: | 2.0 |
Usable in events: | level change |
Return Type: | number |
increase the player's level progress by 0.5
will make the player gain a level if their progress was more than 50%. Examples:
on rightclick with a blaze rod:
player's level progress is larger than 0.2
shoot a fireball from the player
reduce the player's level progress by 0.2
every 2 seconds:
loop all players:
level progress of loop-player is smaller than 0.9:
increase level progress of the loop-player by 0.1
else:
set level progress of the loop-player to 0.99
on xp spawn:
cancel event
Patterns: | |
Since: | 1.3.4 |
Return Type: |
Examples:
every 5 seconds:
loop all players:
{vampire::%uuid of loop-player%} is true
sunlight level at the loop-player is greater than 10
ignite the loop-player for 5 seconds
Patterns: |
|
Since: | 2.7 |
Return Type: | string |
Examples:
broadcast "This server uses Vault plugin!"
send "Plugins (%size of loaded plugins%): %plugins%" to player
Patterns: |
|
Since: | 2.0 |
Return Type: | location |
Examples:
set {_loc} to the location 1 meter above the player
Patterns: |
|
Since: | 2.0 |
Return Type: | location |
Examples:
set {_loc} to the location 1 meter above the player
Patterns: | |
Since: | Unknown |
Return Type: | location |
Examples:
message "You home was set to %player's location% in %player's world%."
Patterns: |
|
Since: | 1.0 |
Return Type: | object |
Examples:
loop 10 times:
message "%11 - loop-number%"
wait a second
# generate a 10x10 floor made of randomly colored wool below the player:
loop blocks from the block below the player to the block 10 east of the block below the player:
loop blocks from the loop-block to the block 10 north of the loop-block:
set loop-block-2 to any wool
Patterns: |
|
Since: | 2.7 |
Requirements: | MC 1.16+ |
Return Type: | itemstack |
Examples:
chance of %10
add 64 diamonds
send "You hit the jackpot!!"
Patterns: |
|
Since: | 2.1 |
Return Type: | string |
Examples:
Patterns: |
|
Since: | 2.3 |
Return Type: | string |
Examples:
set the motd to "Join now!"
Patterns: |
|
Since: | 2.5 |
Return Type: |
Examples:
if max durability of player's tool is not 0: # Item is damageable
Patterns: |
|
Since: | 2.0 |
Usable in events: | damage, death |
Return Type: | number |
Examples:
set the maximum health of the player to 100
spawn a giant
set the last spawned entity's max health to 1000
Examples:
set the max players count to (online players count + 1)
Patterns: | |
Since: | 2.7 |
Return Type: | timespan |
Examples:
send "you're about to freeze!" to the player
Patterns: |
|
Since: | 2.1.1 |
Return Type: | player |
Examples:
!kick myself
!give a diamond axe to me
Patterns: |
|
Since: | 2.5.1 |
Return Type: |
Examples:
set the mending repair amount to 100
Patterns: |
|
Since: | 1.4.6 (chat message), 1.4.9 (join & quit messages), 2.0 (death message) |
Usable in events: | chat, join, quit, death |
Return Type: | string |
Examples:
player has permission "admin"
set message to "&c%message%"
on first join:
set join message to "Welcome %player% to our awesome server!"
on join:
player has played before
set join message to "Welcome back, %player%!"
on quit:
set quit message to "%player% left this awesome server!"
on death:
set the death message to "%player% died!"
Patterns: |
|
Since: | 2.2-dev36 |
Return Type: | object |
Examples:
broadcast "%metadata value ""healer"" of player%"
clear metadata value "healer" of player
Patterns: | |
Since: | 2.6.1 |
Return Type: | location |
Examples:
executable by: players
trigger:
teleport player to the center of player's location
send "You're no longer stuck."
Patterns: | |
Since: | 2.5.1 |
Return Type: | vector |
Examples:
set derailed velocity of event-entity to vector 2, 10, 2
Patterns: |
|
Since: | 2.0, 2.5 (offline players) |
Requirements: | Vault, an economy plugin that supports Vault |
Return Type: | money |
Examples:
remove 20$ from the player's balance # replace '$' by whatever currency you use
add 200 to the player's account # or omit the currency altogether
Patterns: |
|
Since: | 2.2-dev27 |
Return Type: | block |
Examples:
Patterns: |
|
Since: | before 2.1, 2.2-dev20 (inventory name), 2.4 (non-living entity support, changeable inventory name), 2.7 (worlds) |
Return Type: | string |
- Players
- Name: The Minecraft account name of the player. Can't be changed, but 'display name' can be changed.
- Display Name: The name of the player that is displayed in messages. This name can be changed freely and can include color codes, and is shared among all plugins (e.g. chat plugins will use the display name).
- Entities
- Name: The custom name of the entity. Can be changed. But for living entities, the players will have to target the entity to see its name tag. For non-living entities, the name will not be visible at all. To prevent this, use 'display name'.
- Display Name: The custom name of the entity. Can be changed, which will also enable custom name visibility of the entity so name tag of the entity will be visible always.
- Items
- Name and Display Name: The custom name of the item (not the Minecraft locale name). Can be changed.
- Inventories
- Name and Display Name: The name/title of the inventory. Changing name of an inventory means opening the same inventory with the same contents but with a different name to its current viewers.
- Gamerules (1.13+)
- Name: The name of the gamerule. Cannot be changed.
- Worlds
- Name: The name of the world. Cannot be changed.
Examples:
player has permission "name.red"
set the player's display name to "<red>[admin] <gold>%name of player%"
set the player's tab list name to "<green>%player's name%"
set the name of the player's tool to "Legendary Sword of Awesomeness"
Patterns: | |
Since: | before 2.1, 2.2-dev20 (inventory name), 2.4 (non-living entity support, changeable inventory name), 2.7 (worlds) |
Return Type: | string |
- Players
- Name: The Minecraft account name of the player. Can't be changed, but 'display name' can be changed.
- Display Name: The name of the player that is displayed in messages. This name can be changed freely and can include color codes, and is shared among all plugins (e.g. chat plugins will use the display name).
- Entities
- Name: The custom name of the entity. Can be changed. But for living entities, the players will have to target the entity to see its name tag. For non-living entities, the name will not be visible at all. To prevent this, use 'display name'.
- Display Name: The custom name of the entity. Can be changed, which will also enable custom name visibility of the entity so name tag of the entity will be visible always.
- Items
- Name and Display Name: The custom name of the item (not the Minecraft locale name). Can be changed.
- Inventories
- Name and Display Name: The name/title of the inventory. Changing name of an inventory means opening the same inventory with the same contents but with a different name to its current viewers.
- Gamerules (1.13+)
- Name: The name of the gamerule. Cannot be changed.
- Worlds
- Name: The name of the world. Cannot be changed.
Examples:
player has permission "name.red"
set the player's display name to "<red>[admin] <gold>%name of player%"
set the player's tab list name to "<green>%player's name%"
set the name of the player's tool to "Legendary Sword of Awesomeness"
Patterns: |
|
Since: | 2.0, 2.2-dev34 (inventories) |
Return Type: | object |
set name of <item/inventory> to <text>
. Examples:
set tool of player to the player's tool named "<gold>Wand"
set the name of the player's tool to "<gold>Wand"
open hopper inventory named "Magic Hopper" to player
Patterns: |
|
Since: | 2.7 |
Return Type: | entity |
Examples:
teleport player to the nearest cow relative to player
teleport player to the nearest entity relative to player
on click:
kill nearest pig
Patterns: |
|
Since: | 2.5 |
Return Type: | string |
Examples:
Patterns: |
|
Since: | 2.5 |
Return Type: |
Examples:
set victim's invulnerability ticks to 20 #Victim will not take damage for the next second
Patterns: |
|
Since: | 1.4 |
Return Type: | date |
Examples:
Patterns: | |
Since: | 1.4.6 (integers & numbers), 2.5.1 (decimals) |
Return Type: | number |
Examples:
loop integers from 2.9 to 5.1: # same as '3 to 5', i.e. loops 3, 4, 5
loop decimals from 3.94 to 4: # loops 3.94, 3.95, 3.96, 3.97, 3.98, 3.99, 4
Patterns: |
|
Since: | 2.2-dev35 |
Return Type: | offlineplayer |
Examples:
Fake online player count requires PaperSpigot 1.12.2+.
Examples:
# This will make the max players count 5 if there are 4 players online.
set the fake max players count to (online players count + 1)
Patterns: | |
Since: | 2.2-dev24, 2.2-dev35 (Just 'current inventory' works in player events) |
Return Type: | inventory |
Examples:
Patterns: | |
Since: | 2.0 |
Return Type: | object |
set {parsed::*} to message parsed as "..."
. - The list variable will contain the parsed values from all %types% in the pattern in order. If a type was plural, e.g. %items%, the variable's value at the respective index will be a list variable, e.g. the values will be stored in {parsed::1::*}, not {parsed::1}. Examples:
on chat:
set {var::*} to message parsed as "buying %items% for %money%"
if parse error is set:
message "%parse error%"
else if {var::*} is set:
cancel event
remove {var::2} from the player's balance
give {var::1::*} to the player
Patterns: |
|
Since: | 2.0 |
Return Type: | string |
Examples:
if {var} is not set:
parse error is set:
message "<red>Line 1 is invalid: %last parse error%"
else:
message "<red>Please put an integer on line 1!"
Patterns: | |
Since: | 2.0, 2.2-dev26 (Multiple passengers for 1.11.2+) |
Return Type: | entity |
Examples:
passenger of the minecart is a creeper or a cow
the saddled pig's passenger is a player
#for 1.11.2+
passengers of the minecart contains a creeper or a cow
the boat's passenger contains a pig
add a cow and a zombie to passengers of last spawned boat
set passengers of player's vehicle to a pig and a horse
remove all pigs from player's vehicle
clear passengers of boat
Patterns: | |
Since: | 2.2-dev36 |
Return Type: |
Examples:
trigger:
send "%arg-1%'s ping is %arg-1's ping%"
Patterns: |
|
Since: | 2.6 |
Return Type: | itemtype |
Examples:
send "You are holding a plain diamond!"
Patterns: | |
Since: | 2.6.2 |
Requirements: | Paper 1.12.2 or newer |
Return Type: |
Examples:
trigger:
send "Protocol version of %arg-1%: %protocol version of arg-1%"
Patterns: |
|
Since: | 2.0 |
Return Type: | itemtype |
Examples:
set the block at the entity to the entity's skull
Patterns: | |
Since: | 2.2-dev34 |
Return Type: | weathertype |
Examples:
reset player's weather
if arg-player's weather is rainy
Patterns: |
|
Since: | 2.4 |
Usable in events: | portal_create |
Return Type: | block |
Examples:
loop portal blocks:
broadcast "%loop-block% is part of a portal!"
Patterns: | |
Since: | 2.5.2 |
Return Type: | potioneffect |
Examples:
add {_p} to potion effects of player's tool
add {_p} to potion effects of target entity
add potion effect of speed 1 to potion effects of player
Patterns: |
|
Since: | 2.7 |
Return Type: |
Examples:
Patterns: |
|
Since: | 2.5.2 |
Return Type: | potioneffect |
Examples:
clear all the potion effects of player
clear all the potion effects of player's tool
add potion effects of player to potion effects of player's tool
add speed to potion effects of target entity
remove speed and night vision from potion effects of player
Patterns: | |
Since: | 2.0 |
Requirements: | Vault, a chat plugin that supports Vault |
Return Type: | string |
Examples:
cancel event
broadcast "%player's prefix%%player's display name%%player's suffix%: %message%" to the player's world
set the player's prefix to "[<red>Admin
Patterns: |
|
Since: | 2.5.1 |
Return Type: | boolean |
Examples:
set projectile bounce mode of event-projectile to true
Patterns: |
|
Since: | 2.5.1 |
Return Type: | boolean |
Examples:
event-projectile is an arrow
set projectile critical mode of event-projectile to true
Patterns: |
|
Since: | 2.3 |
Usable in events: | server list ping |
Requirements: | Paper 1.12.2 or newer |
Return Type: |
This can be set in a server list ping event only (increase and decrease effects cannot be used because that wouldn't make sense).
Examples:
set the version string to "<light green>Version: <orange>%minecraft version%"
set the protocol version to 0 # 13w41a (1.7) - so the player will see the custom version string almost always
Patterns: | |
Since: | 1.4 |
Return Type: | number |
random number between 2 and 1
will work as well as random number between 1 and 2
. Examples:
send "You rolled a %random integer from 1 to 6%!" to the player
Patterns: |
|
Since: | 2.5.1 |
Return Type: | string |
Examples:
Patterns: |
|
Since: | unknown (2.2) |
Return Type: | string |
Examples:
Patterns: | |
Since: | 2.1 |
Requirements: | Supported regions plugin |
Return Type: | offlineplayer |
Examples:
message "You're entering %region% whose owners are %owners of region%"
Patterns: | |
Since: | 2.1 |
Requirements: | Supported regions plugin |
Return Type: | region |
Examples:
line 1 of the clicked block is "[region info]"
set {_regions::*} to regions at the clicked block
if {_regions::*} is empty:
message "No regions exist at this sign."
else:
message "Regions containing this sign: <gold>%{_regions::*}%
Patterns: |
|
Since: | unknown (before 2.1) |
Return Type: | timespan |
Examples:
send "hurry, get to the surface!" to the player
Patterns: |
|
Since: | 2.2-dev35 |
Return Type: | location |
Examples:
set respawn location to {example::spawn}
Patterns: | |
Since: | 2.2-Fixes-v10, 2.2-dev35 (fully modifiable), 2.6.2 (syntax pattern changed) |
Return Type: | number |
Examples:
Patterns: | |
Since: | 2.3 |
Return Type: | string |
Requires Minecraft 1.11+ (actually added in 1.9 to the game, but added in 1.11 to Spigot).
Examples:
if the spawn reason is mob spawner:
add "spawned by a spawner" to the scoreboard tags of event-entity
on death of a monster:
if the attacker is a player:
if the victim doesn't have the scoreboard tag "spawned by a spawner":
add 1$ to attacker's balance
Patterns: |
|
Since: | 2.0 |
Usable in events: | Script Load/Unload |
Return Type: | string |
Examples:
set {running::%script%} to true
on script unload:
set {running::%script%} to false
Patterns: | |
Since: | 2.7 |
Return Type: |
Examples:
type of block is sea pickle
send "Wow! This stack of sea pickles contained %event-block's sea pickle count% pickles!"
send "It could've contained a maximum of %event-block's maximum sea pickle count% pickles!"
send "It had to have contained at least %event-block's minimum sea pickle count% pickles!"
cancel event
set event-block's sea pickle count to event-block's maximum sea pickle count
send "This bad boy is going to hold so many pickles now!!"
Patterns: |
|
Since: | 2.3 |
Requirements: | Paper 1.12.2 or newer |
Return Type: | cachedservericon |
Examples:
set {server-icons::default} to the default server icon
Patterns: |
|
Since: | 1.3.7 |
Return Type: | livingentity |
Examples:
Patterns: | |
Since: | 1.3 |
Return Type: | string |
Examples:
line 2 of the clicked block is "[Heal]":
heal the player
set line 3 to "%player%"
Patterns: | |
Since: | 2.2-dev35 |
Return Type: |
Examples:
send "You bought a pie!"
Patterns: |
|
Since: | 2.3 |
Return Type: | spawnreason |
Examples:
spawn reason is reinforcements or breeding
Patterns: | |
Since: | 2.4 |
Return Type: | entitydata |
Examples:
if event-block is spawner:
send "Spawner's type is %target block's entity type%"
Patterns: |
|
Since: | 2.2-dev32d |
Return Type: | number |
Examples:
Patterns: | |
Since: | 2.4-alpha4, 2.7 (Paper Spectator Event) |
Requirements: | Paper |
Return Type: | entity |
Examples:
message "&c%spectator target% currently has %{game::kills::%spectator target%}% kills!" to the player
on player stop spectating:
past spectator target was a zombie
set spectator target to the nearest skeleton
Patterns: | |
Since: | unknown (before 2.1) |
Return Type: | number |
Examples:
increase the argument's fly speed by 0.1
Patterns: |
|
Since: | 2.1, 2.5.2 (character at, multiple strings support) |
Return Type: | string |
Examples:
message "%subtext of {_s} from characters 2 to (the length of {_s} - 1)%" # removes the first and last character from {_s} and sends it to the player or console
set {_characters::*} to characters at 1, 2 and 7 in player's display name
send the last character of all players' names
Patterns: |
|
Since: | 2.2-dev36 |
Return Type: | number |
Examples:
Patterns: |
|
Since: | 2.2-dev25 |
Return Type: | player |
Examples:
if the tamer is a player:
send "someone tamed something!" to console
Patterns: |
|
Since: | unknown (before 2.1) |
Return Type: | entity |
Examples:
entity's target is a player
send "You're being followed by an %entity%!" to target of entity
Patterns: | |
Since: | 1.0 |
Return Type: | block |
Examples:
command /setblock <material>:
trigger:
set targeted block to argument
Patterns: |
|
Since: | 2.2-dev35 |
Return Type: | teleportcause |
Examples:
teleport cause is nether portal, end portal or end gateway
Patterns: |
|
Since: | 2.7 |
Usable in events: | Egg Throw |
Return Type: | projectile |
Examples:
Patterns: |
|
Since: | 2.5, 2.7 (offline players) |
Requirements: | MC 1.15+ (offline players) |
Return Type: | timespan |
<none>
. Examples:
if player's time played is greater than 10 minutes:
give player a diamond sword
set player's time played to 0 seconds
Patterns: |
|
Since: | 1.0 |
Return Type: | slot |
Examples:
player's off hand tool is a shield
set tool of all players to a diamond sword
set offhand tool of target entity to a bow
Patterns: |
|
Since: | 1.4, 2.5.2 (potion effect), 2.7 (block datas) |
Return Type: | object |
Examples:
message "This is a %type of clicked entity%!"
Patterns: |
|
Since: | 2.1.2, 2.2 (offline players' UUIDs), 2.2-dev24 (other entities' UUIDs) |
Return Type: | string |
Examples:
# who has played on this server at least once since this script has been added
on login:
if {uuid::%name of player%} exists:
{uuid::%name of player%} is not uuid of player
kick player due to "Someone with your name has played on this server before"
else:
set {uuid::%name of player%} to uuid of player
Patterns: |
|
Since: | 2.2-dev13b |
Return Type: | itemtype |
Examples:
Patterns: | |
Since: | 2.7 |
Return Type: | object |
Examples:
delete entity within {_entity} # This deletes the entity itself and not the value stored in the variable
set {_list::*} to "something", 10, "test" and a zombie
broadcast the strings within {_list::*} # "something", "test"
Patterns: | |
Since: | 2.2-dev28 |
Return Type: | vector |
Examples:
set {_v} to {_v} ++ {_v}
set {_v} to {_v} ++ 5
set {_v} to {_v} -- {_v}
set {_v} to {_v} -- 5
set {_v} to {_v} ** {_v}
set {_v} to {_v} ** 5
set {_v} to {_v} // {_v}
set {_v} to {_v} // 5
Patterns: | |
Since: | 2.2-dev28 |
Return Type: | vector |
Examples:
set {_v} to cylindrical vector radius 1, yaw loop-value, height 2
set {_v} to cylindrical vector radius 1, yaw 90, height 2
Patterns: | |
Since: | 2.2-dev28 |
Return Type: | number |
Examples:
set {_v} to vector 1, 2, 3
set standard length of {_v} to 2
send "%standard length of {_v}%"
Patterns: |
|
Since: | 2.2-dev28, 2.7 (signed components) |
Return Type: | vector |
Examples:
Patterns: | |
Since: | 2.2-dev28 |
Return Type: | vector |
Examples:
set {_v} to spherical vector radius 1, yaw loop-value, pitch loop-value
set {_v} to spherical vector radius 1, yaw 45, pitch 90
Patterns: | |
Since: | 2.2-dev28 |
Return Type: | number |
Examples:
send "%x of {_v}%, %y of {_v}%, %z of {_v}%"
add 1 to x of {_v}
add 2 to y of {_v}
add 3 to z of {_v}
send "%x of {_v}%, %y of {_v}%, %z of {_v}%"
set x component of {_v} to 1
set y component of {_v} to 2
set z component of {_v} to 3
send "%x component of {_v}%, %y component of {_v}%, %z component of {_v}%"
Patterns: |
|
Since: | 2.0 |
Return Type: | string |
Examples:
message "This server is powered by Skript %skript version%"
Patterns: |
|
Since: | 2.3 |
Usable in events: | server list ping |
Requirements: | Paper 1.12.2 or newer |
Return Type: | string |
Examples:
set the protocol version to 0 # 13w41a (1.7), so it will show the version string always
set the version string to "<light green>Version: <orange>%minecraft version%"
Patterns: | |
Since: | 2.4 |
Requirements: | Paper |
Return Type: |
Examples:
set {_view} to view distance of player
reset view distance of all players
add 2 to view distance of player
Patterns: | |
Since: | 2.5 |
Requirements: | 1.13.2+ |
Return Type: |
Examples:
set view distance of player to client view distance of player
Patterns: | |
Since: | 1.0 |
Usable in events: | weather change |
Return Type: | weathertype |
Examples:
weather in "world" is rainy
Patterns: |
|
Since: | 2.5.2 |
Return Type: | offlineplayer |
Examples:
add all players to whitelist
reset the whitelist
Patterns: | |
Since: | 1.0 |
Return Type: | world |
Examples:
teleport the player to the world's spawn
set the weather in the player's world to rain
set {_world} to world of event-chunk
Patterns: | |
Since: | 2.7 |
Return Type: | environment |
Examples:
apply fire resistance to player for 10 minutes
Patterns: |
|
Since: | 1.0 |
Return Type: | world |
Examples:
broadcast "You're in %loop-world%" to loop-world
Patterns: |
|
Since: | 1.4.6 |
Return Type: |
Examples:
broadcast "%21 - loop-number% seconds left.."
wait 1 second
Patterns: |
|
Since: | 1.2 |
Return Type: | object |
Examples:
Patterns: | |
Since: | 2.0, 2.2-dev28 (vector yaw/pitch) |
Return Type: | number |
Examples:
set {_yaw} to yaw of player
set {_p} to pitch of target entity
Patterns: |
|
Since: | 1.4, 2.1.1 (ban reason), 2.5 (timespan) |
Note that banning people does not kick them from the server. Consider using the kick effect after applying a ban.
Examples:
ban "127.0.0.1"
IP-ban the player because "he is an idiot"
ban player due to "inappropriate language" for 2 days
Patterns: | |
Since: | 2.4 |
You can add a tool, which will spawn items based on how that tool would break the block (ie: When using a hand to break stone, it drops nothing, whereas with a pickaxe it drops cobblestone)
Examples:
break clicked block naturally
loop blocks in radius 10 around player:
break loop-block using player's tool
loop blocks in radius 10 around player:
break loop-block naturally using diamond pickaxe
Patterns: |
|
Since: | 2.2-dev34 |
Examples:
executable by: players
cooldown: 10 seconds
trigger:
if length of arg-1 is more than 16:
# Makes it so that invalid arguments don't make you wait for the cooldown again
cancel the cooldown
send "Your nickname may be at most 16 characters."
stop
set the player's display name to arg-1
Patterns: |
|
Since: | 2.4 |
Usable in events: | death, break / mine |
Requirements: | 1.12.2 or newer (cancelling item drops of blocks) |
Examples:
if name of the entity is "&cSpecial":
cancel drops of items
on break of a coal ore:
cancel the experience drops
Patterns: |
|
Since: | 1.0 |
Examples:
victim is a player
victim has the permission "skript.god"
cancel the event
Patterns: | |
Since: | 1.0 (set, add, remove, delete), 2.0 (remove all) |
Examples:
Set the player's display name to "<red>%name of player%"
set the block above the victim to lava
# add:
add 2 to the player's health # preferably use 'heal' for this
add argument to {blacklist::*}
give a diamond pickaxe of efficiency 5 to the player
increase the data value of the clicked block by 1
# remove:
remove 2 pickaxes from the victim
subtract 2.5 from {points::%uuid of player%}
# remove all:
remove every iron tool from the player
remove all minecarts from {entitylist::*}
# delete:
delete the block below the player
clear drops
delete {variable}
# reset:
reset walk speed of player
reset chunk at the targeted block
Patterns: |
|
Since: | 2.5 |
Examples:
charge the event-entity
Patterns: |
|
Since: | 2.0, 2.2-dev26 (maps and potions) |
(red, green, blue)
, where (0,0,0)
is black and (255,255,255)
is white. Armor is colorable for all Minecraft versions. With Minecraft 1.11 or newer you can also color potions and maps. Note that the colors might not look exactly how you'd expect. Examples:
color the player's tool red
Patterns: |
|
Since: | 1.0 |
Examples:
execute console command "/say Hello everyone!"
Patterns: |
|
Since: | 2.2-dev37, 2.7 (while loops) |
Examples:
if loop-value does not have permission "moderator":
continue # filter out non moderators
broadcast "%loop-player% is a moderator!" # Only moderators get broadcast
Patterns: |
|
Since: | 1.0 |
Examples:
heal the player
repair tool of player
Patterns: |
|
Since: | 1.4 |
ban player → wait 7 days → unban player
will not work if you restart your server anytime within these 7 days. You also have to be careful even when using small delays! Examples:
halt for 5 minecraft hours
wait a tick
Patterns: |
|
Since: | 2.3 |
Examples:
give a diamond to the player if the player has permission "rank.vip"
Patterns: |
|
Since: | 1.0 |
Examples:
drop 1 TNT
Patterns: |
|
Since: | 2.4 |
Examples:
enable script file "testing"
unload script file "script.sk"
Patterns: |
|
Since: | 2.0 |
Examples:
disenchant the player's tool
Patterns: |
|
Since: | 1.0, 2.7 (multiple entities, unequip) |
Examples:
equip player with all diamond armor
unequip diamond chestplate from player
unequip all armor from player
unequip player's armor
Patterns: |
|
Since: | unknown (before 2.1) |
Examples:
stop
message "%player% has no ores!"
loop blocks above the player:
loop-block is not air:
exit 2 sections
set loop-block to water
Patterns: |
|
Since: | 2.5 |
Requirements: | Paper 1.13 or newer/Spigot 1.14 or newer. Ignition can be stopped on Paper 1.13 or newer. |
Examples:
stop ignition of the last spawned creeper
Patterns: |
|
Since: | 1.0 |
Examples:
create an explosion of force 0 at the victim
Patterns: |
|
Since: | 2.5.1 |
Requirements: | Minecraft 1.15.2+ |
Examples:
make last spawned wolf attack player
Patterns: |
|
Since: | 2.2-dev21 |
Examples:
force event-player to respawn
Patterns: | |
Since: | 2.3 |
Examples:
hide {vanished::*} from the server list
Patterns: |
|
Since: | 2.4 |
Usable in events: | death |
Examples:
if the victim is an op:
keep the inventory and experiences
Patterns: |
|
Since: | 1.0 |
Examples:
kill all creepers in the player's world
kill all endermen, witches and bats
Patterns: |
|
Since: | 2.4 |
Examples:
Patterns: |
|
Since: | 2.3 |
Examples:
Patterns: |
|
Since: | 1.4 |
Examples:
strike lightning effect at the victim
Patterns: |
|
Since: | 2.3 |
Requirements: | Paper 1.12.2 or newer |
Examples:
clear {server-icons::*}
loop 5 times:
load server icon from file "icons/%loop-number%.png"
add the last loaded server icon to {server-icons::*}
on server list ping:
set the icon to a random server icon out of {server-icons::*}
Patterns: |
|
Since: | 2.3 |
Examples:
suppress the variable save warnings
Patterns: | |
Since: | 2.0 |
Examples:
log "%player% placed TNT in %world% at %location of block%" to "tnt/placement.log"
Patterns: | |
Since: | 2.7 |
Requirements: | Paper 1.17+, Paper 1.19.1+ (Players & Look Anchors) |
Examples:
on entity explosion:
set {_player} to the nearest player
{_player} is set
distance between {_player} and the event-location is less than 15
make {_player} look towards vector from the {_player} to location of the event-entity
force {_enderman} to face the block 3 meters above {_location} at head rotation speed 100.5 and max head pitch -40
Patterns: |
|
Since: | 2.7 |
Usable in events: | Egg Throw |
Examples:
# EGGS FOR DAYZ!
make the egg hatch
Patterns: | |
Since: | 2.5 |
Examples:
make the explosion fiery
Patterns: |
|
Since: | 2.7 |
Examples:
Patterns: | |
Since: | 2.3 |
Examples:
force all players to send the message "I love this server"
Patterns: |
|
Since: | 1.0, 2.2-dev26 (advanced features), 2.5.2 (optional sender), 2.6 (sending objects) |
Requirements: | Minecraft 1.16.4+ for optional sender |
Examples:
message "This message is a distraction. Mwahaha!"
send "Your kill streak is %{kill streak::%uuid of player%}%." to player
if the targeted entity exists:
message "You're currently looking at a %type of the targeted entity%!"
on chat:
cancel event
send "[%player%] >> %message%" to all players from player
Patterns: |
|
Since: | 2.0, 2.1.1 (closing), 2.2-Fixes-V10 (anvil), 2.4 (hopper, dropper, dispenser |
Examples:
open the player's inventory for the player
Patterns: |
|
Since: | 2.7 |
Requirements: | Paper |
Examples:
make all cows stop pathfinding
make event-entity pathfind towards player at speed 1
Patterns: |
|
Since: | 2.1 |
Examples:
show mob spawner flames at the targeted block to the player
Patterns: |
|
Since: | 2.2-dev28, 2.4 (sound categories) |
Please note that sound names can get changed in any Minecraft or Spigot version, or even removed from Minecraft itself.
Examples:
play sound "entity.experience_orb.pickup" with volume 0.5 to the player
play sound "custom.music.1" in jukebox category at {speakerBlock}
Patterns: |
|
Since: | 2.3 |
Usable in events: | server list ping |
Requirements: | Paper 1.12.2 or newer |
Examples:
hide player related information in the server list
reveal all player related info
Patterns: | |
Since: | 2.3 |
Note: if a player was hidden and relogs, this player will be visible again.
Examples:
if {vanished::%player's uuid%} is true:
hide the player from all players
reveal hidden players of {_player}
Patterns: |
|
Since: | 1.3.2 |
Examples:
poison the victim for 20 seconds
cure the player from poison
Patterns: |
|
Since: | 2.0, 2.2-dev27 (ambient and particle-less potion effects), 2.5 (replacing existing effect), 2.5.2 (potion effects) |
Examples:
remove haste from the victim
on join:
apply potion of strength of tier {strength.%player%} to the player for 999 days
apply potion effects of player's tool to player
Patterns: |
|
Since: | 2.0, 2.2-dev24 (replace in multiple strings and replace items in inventory), 2.5 (replace first, case sensitivity) |
Examples:
replace every "&" with "§" in line 1
# The following acts as a simple chat censor, but it will e.g. censor mass, hassle, assassin, etc. as well:
on chat:
replace all "kys", "idiot" and "noob" with "****" in the message
replace all stone and dirt in player's inventory and player's top inventory with diamond
Patterns: |
|
Since: | 2.2 |
Examples:
return 2 * {_i}
Patterns: |
|
Since: | 2.2-dev37c, 2.5.1 (block data support) |
Examples:
make player see target block as campfire[facing=south]
Patterns: | |
Since: | 2.4 |
The hash is used for caching, the player won't have to re-download the resource pack that way. The hash must be SHA-1, you can get SHA-1 hash of your resource pack using this online tool.
The resource pack request action can be used to check status of the sent resource pack request.
Examples:
send the resource pack from "URL" with hash "hash" to the player
Patterns: |
|
Since: | 2.0 |
Examples:
shear the clicked sheep
Patterns: |
|
Since: | 1.4 |
Examples:
make the player shoot a creeper at speed 10
shoot a pig from the creeper
Patterns: |
|
Since: | 2.5 |
Examples:
restart server
Patterns: |
|
Since: | 2.4, 2.7 (stop all sounds) |
Requirements: | MC 1.17.1 (stop all sounds) |
Please note that sound names can get changed in any Minecraft or Spigot version, or even removed from Minecraft itself.
Examples:
stop playing sounds "ambient.underwater.loop" and "ambient.underwater.loop.additions" to the player
stop all sound for all players
stop sound in record category
Patterns: |
|
Since: | 2.5.1 |
Requirements: | Minecraft 1.15.2+ |
Examples:
Patterns: | |
Since: | 1.0 |
Examples:
teleport the attacker to the victim
Patterns: | |
Since: | 2.3 |
If you're sending only the subtitle, it will be shown only if there's a title displayed at the moment, otherwise it will be sent with the next title. To show only the subtitle, use: send title " " with subtitle "yourtexthere" to player
.
Note: if no input is given for the times, it will keep the ones from the last title sent, use the reset title effect to restore the default values.
Examples:
send title "Hi %player%" to player
send title "Loot Drop" with subtitle "starts in 3 minutes" to all players
send title "Hello %player%!" with subtitle "Welcome to our server" to player for 5 seconds with fadein 1 second and fade out 1 second
send subtitle "Party!" to all players
Patterns: |
|
Since: | 1.0 |
Examples:
Patterns: |
|
Since: | 2.0 |
Examples:
make the attacker ride the victim
Patterns: |
|
Since: | 1.0 |
Examples:
deop all players
Patterns: |
|
Since: | 1.0, 2.6.1 (with section) |
Examples:
spawn a ghast 5 meters above the player
spawn a zombie at the player:
set name of the zombie to ""
Patterns: |
|
Since: | 2.0 |
Requirements: | Supported regions plugin |
Examples:
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 |
Examples:
player has enough space for 64 feathers
Patterns: | |
Since: | 2.3 |
Examples:
message "<light red>The player %player-argument% is not online!"
Patterns: |
|
Since: | 1.0 |
Examples:
drop a diamond
chance of {chance}% # {chance} between 0 and 100
chance of {chance} # {chance} between 0 and 1
Patterns: |
|
Since: | 1.0 |
(was|were)
or will be
instead of (is|are)
respectively, which check different time states of the first expression. Examples:
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 |
Examples:
player has 4 flint and 2 iron ingots
{list::*} contains 5
Patterns: |
|
Since: | 2.0 |
Examples:
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+ |
Examples:
Patterns: |
|
Since: | 2.7 |
Usable in events: | Egg Throw |
Examples:
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) |
Examples:
if player is in water:
player is in lava:
player is in bubble column
Patterns: |
|
Since: | 2.2-dev36 |
Examples:
if event is cancelled:
broadcast "no clicks allowed!"
Patterns: | |
Since: | 1.2 |
Examples:
on damage:
projectile exists
broadcast "%attacker% used a %projectile% to attack %victim%!"
Patterns: |
|
Since: | 2.5 |
Examples:
Patterns: | |
Since: | 2.3 |
Examples:
message "Your custom weather is %player's weather%"
Patterns: |
|
Since: | 2.5 |
Requirements: | 1.14+ |
Examples:
Patterns: |
|
Since: | 2.2-dev36 |
Examples:
Patterns: |
|
Since: | 1.0 |
Examples:
victim has the permission "admin":
send "You're attacking an admin!" to attacker
Patterns: |
|
Since: | 1.4, 2.7 (multiple players) |
Examples:
player hasn't played before
Patterns: |
|
Since: | 2.6.1 |
Examples:
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 |
Examples:
Patterns: | |
Since: | 2.3 |
Examples:
Patterns: |
|
Since: | 2.5 |
Requirements: | Paper 1.13 or newer |
Examples:
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) |
Examples:
on shoot:
while the projectile is alive:
Patterns: |
|
Since: | 1.4 |
Examples:
victim is not IP-banned
"127.0.0.1" is banned
Patterns: |
|
Since: | 2.7 |
Usable in events: | respawn |
Requirements: | Minecraft 1.16+ |
Examples:
the respawn location is a bed
broadcast "%player% is respawning in their bed! So cozy!"
Patterns: |
|
Since: | 2.4 |
Examples:
{list::*} are blocks
Patterns: | |
Since: | 2.5 |
Examples:
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) |
Examples:
victim is blocking
damage attacker by 0.5 hearts
Patterns: | |
Since: | 1.4.4 |
Examples:
victim is burning:
increase damage by 2
Patterns: |
|
Since: | 2.5 |
Examples:
broadcast "A charged creeper is at %location of last spawned creeper%"
Patterns: |
|
Since: | 2.2-dev36 |
Examples:
player's tool is edible
Patterns: |
|
Since: | unknown (before 2.1) |
Examples:
Patterns: |
|
Since: | 1.4.6 |
Examples:
helm, chestplate, leggings or boots are enchanted
Patterns: |
|
Since: | 2.2-dev36 |
Examples:
player's tool is flammable
Patterns: |
|
Since: | 2.5.1 |
Requirements: | Minecraft 1.11.2+ |
Examples:
if player's tool is not fuel:
send "Please hold a valid fuel item in your hand"
cancel event
Patterns: |
|
Since: | 2.7 |
Examples:
Patterns: |
|
Since: | 1.0 |
Examples:
victim isn't holding a sword of sharpness
Patterns: | |
Since: | 2.5 |
Examples:
if the explosion is fiery:
broadcast "A fiery explosive has been ignited!"
Patterns: |
|
Since: | 2.5.2 |
Requirements: | Minecraft 1.13+ |
Examples:
if event-block is interactable:
cancel event
send "You cannot break interactable blocks!"
Patterns: |
|
Since: | 2.7 |
Examples:
Patterns: |
|
Since: | 2.5 |
Examples:
Patterns: | |
Since: | 2.3, 2.5 (revamp with chunk at location/coords) |
Examples:
if chunk 1, 10 in world "world" is loaded:
if world("lobby") is loaded:
Patterns: |
|
Since: | 2.1 |
Requirements: | Supported regions plugin |
Examples:
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 |
Examples:
Patterns: |
|
Since: | 1.4 |
Examples:
player-argument is offline
Patterns: |
|
Since: | 2.7 |
Examples:
Patterns: | |
Since: | 2.5.1 |
Requirements: | Minecraft 1.13.2+ |
Examples:
Patterns: | |
Since: | 2.6 |
Examples:
if plugin "WorldGuard" is not enabled:
if plugins "Essentials" and "Vault" are enabled:
if plugin "MyBrokenPlugin" is disabled:
Patterns: |
|
Since: | 1.4.4 |
Examples:
cure the player from poison
message "You have been cured!"
Patterns: |
|
Since: | 2.7 |
Requirements: | 1.16.5+, Paper 1.19.2+ (blockdata) |
Examples:
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 |
Examples:
Patterns: |
|
Since: | 2.5 |
Examples:
Patterns: | |
Since: | 2.3 |
Examples:
trigger:
if chunk at player is a slime chunk:
send "Yeah, it is!"
else:
send "Nope, it isn't"
Patterns: | |
Since: | 1.4.4 |
Examples:
on target:
target is sneaking
distance of target and the entity is bigger than 4
cancel the event
Patterns: |
|
Since: | 2.2-dev36 |
Examples:
player's tool isn't solid
Patterns: |
|
Since: | 2.7 |
Examples:
birch wood is stackable
torch is stackable
Patterns: |
|
Since: | 2.3 |
Requirements: | 1.13 or newer |
Examples:
Patterns: |
|
Since: | 2.5 |
Examples:
if victim is tameable:
cancel event
Patterns: |
|
Since: | 2.2-dev36 |
Examples:
Patterns: |
|
Since: | 2.5.1 |
Requirements: | Minecraft 1.11+ |
Examples:
Patterns: |
|
Since: | 1.0 |
Examples:
player is wearing all diamond armour
Patterns: |
|
Since: | 2.5.2 |
Examples:
if player is whitelisted
Patterns: | |
Since: | 2.7 |
Requirements: | MC 1.17+ (within block) |
Examples:
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 |
Examples:
send "You are in a PvP zone!" to player
Patterns: | |
Since: | 2.7 |
Examples:
if attacker's location is within 10 blocks around {_spawn}:
cancel event
send "You can't PVP in spawn."
Patterns: |
|
Since: | 1.4 |
Examples:
victim is of type {villager type}
Patterns: | |
Since: | 2.5.2 |
Examples:
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 |
Examples:
send "Boing!" to all players if projectile can bounce
Patterns: |
|
Since: | 2.1 |
Requirements: | Supported regions plugin |
Examples:
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 |
Examples:
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:
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 ...
Patterns: |
|
Since: | 1.0 |
parse if: a special case of 'if' condition that its code will not be parsed if the condition is not true else parse if: another special case of 'else if' condition that its code will not be parsed if all previous chained conditionals weren't executed, and its condition is true
Examples:
send "Your health is okay so far but be careful!"
else if player's health is greater than 2:
send "You need to heal ASAP, your health is very low!"
else: # Less than 2 hearts
send "You are about to DIE if you don't heal NOW. You have only %player's health% heart(s)!"
parse if plugin "SomePluginName" is enabled: # parse if %condition%
# This code will only be executed if the condition used is met otherwise Skript will not parse this section therefore will not give any errors/info about this section
Patterns: |
|
Since: | 1.0 |
A loop will loop through all elements of the given expression, e.g. all players, worlds, items, etc. The conditions & effects inside the loop will be executed for every of those elements, which can be accessed with ‘loop- Loopable Values All expressions that represent more than one value, e.g. ‘all players’, ‘worlds’, etc., as well as list variables, can be looped. You can also use a list of expressions, e.g. List Variables When looping list variables, you can also use send "hello" to loop-player
. When a condition inside a loop is not fulfilled the loop will start over with the next element of the loop. You can however use stop loop
to exit the loop completely and resume code execution after the end of the loop.loop the victim and the attacker
, to execute the same code for only a few values.loop-index
in addition to loop-value
inside the loop. loop-value
is the value of the currently looped variable, and loop-index
is the last part of the variable's name (the part where the list variable has its asterisk *).
Examples:
send "Hello %loop-player%!" to loop-player
loop items in player's inventory:
if loop-item is dirt:
set loop-item to air
loop 10 times:
send title "%11 - loop-value%" and subtitle "seconds left until the game begins" to player for 1 second # 10, 9, 8 etc.
wait 1 second
loop {Coins::*}:
set {Coins::%loop-index%} to loop-value + 5 # Same as "add 5 to {Coins::%loop-index%}" where loop-index is the uuid of the player and loop-value is the actually coins value such as 200
Patterns: |
|
Since: | 2.0, 2.6 (do while) |
Examples:
send "More players are needed to begin the adventure" to all players
wait 5 seconds
set {_counter} to 1
do while {_counter} > 1: # false but will increase {_counter} by 1 then get out
add 1 to {_counter}
# Be careful when using while loops with conditions that are almost
# always true for a long time without using 'wait %timespan%' inside it,
# otherwise it will probably hang and crash your server.
while player is online:
give player 1 dirt
wait 1 second # without using a delay effect the server will crash
Patterns: | |
Since: | 1.3.4 |
Examples:
at 7am in "world"
Patterns: |
|
Since: | 2.7 |
Requirements: | Paper |
Examples:
cancel the event
Patterns: |
|
Since: | 2.7 |
Examples:
event-item is set # result item
chance of 5%:
set repair cost to repair cost * 50%
send "You're LUCKY! You got 50% discount." to player
Patterns: |
|
Since: | 2.2-dev21 |
Examples:
Patterns: |
|
Since: | 2.5.1 |
Examples:
send "You swung your arm!"
Patterns: |
|
Since: | 2.5 |
Requirements: | Paper |
Examples:
send "You equipped %event-item%!"
Patterns: |
|
Since: | 1.0 |
Examples:
Patterns: |
|
Since: | 1.0 |
Examples:
Patterns: |
|
Since: | 1.0 |
Examples:
if block is log:
send "You can't break the holy log!"
Patterns: |
|
Since: | 2.5 |
Requirements: | Minecraft 1.13 or newer |
Examples:
send "Fertilized %size of fertilized blocks% blocks got fertilized."
Patterns: |
|
Since: | 2.2-Fixes-V10 |
Examples:
Patterns: |
|
Since: | 2.2-dev31 |
Examples:
Patterns: |
|
Since: | 2.2-dev31 |
Examples:
Patterns: |
|
Since: | 1.0 (break), unknown (mine), 2.6 (BlockData support) |
Examples:
on break of stone:
on mine of any ore:
on break of chest[facing=north]:
on break of potatoes[age=7]:
Patterns: |
|
Since: | 1.0 |
Examples:
Patterns: |
|
Since: | 1.0 |
Examples:
Patterns: |
|
Since: | 1.0, 2.6 (BlockData support) |
Examples:
on burn of wood, fences, or chests:
on burn of oak_log[axis=y]:
Patterns: |
|
Since: | 1.0 (basic), 2.0 ([un]cancellable) |
Examples:
cancel event
Patterns: |
|
Since: | 1.4.1 |
Examples:
if player has permission "owner":
set chat format to "<red>[player]<light gray>: <light red>[message]"
else if player has permission "admin":
set chat format to "<light red>[player]<light gray>: <orange>[message]"
else: #default message format
set chat format to "<orange>[player]<light gray>: <white>[message]"
Patterns: |
|
Since: | 1.0 |
Examples:
Patterns: |
|
Since: | 1.0 |
Examples:
Patterns: |
|
Since: | 1.0 |
Examples:
Patterns: |
|
Since: | 1.0 |
Examples:
on rightclick holding a fishing rod:
on leftclick on a stone or obsidian:
on rightclick on a creeper:
on click with a sword:
Patterns: |
|
Since: | 1.0 |
Examples:
Patterns: |
|
Since: | 2.0 |
Examples:
on command "/stop":
on command "pm Njol ":
Patterns: |
|
Since: | 2.0 |
Examples:
player doesn't have permission "VIP"
number of players is greater than 15
kick the player due to "The last 5 slots are reserved for VIP players."
Patterns: |
|
Since: | 2.0 |
Examples:
Patterns: |
|
Since: | unknown (before 2.1) |
Examples:
Patterns: |
|
Since: | 1.0 |
Examples:
Patterns: |
|
Since: | 1.0, 2.7 (by entity) |
Examples:
on damage of a player:
on damage of player by zombie:
Patterns: |
|
Since: | 1.0 |
Examples:
on death of player:
on death of a wither or ender dragon:
broadcast "A %entity% has been slain in %world%!"
Patterns: |
|
Since: | unknown (before 2.1) |
Examples:
send "that'd be 19.99 please!"
Patterns: |
|
Since: | unknown (before 2.1), 2.7 (entity) |
Examples:
if event-item is compass:
cancel event
on entity drop of an egg:
if event-entity is a chicken:
set item of event-dropped item to a diamond
Patterns: |
|
Since: | 1.0 |
Examples:
Patterns: |
|
Since: | 2.5 |
Examples:
if the clicked button is 1: # offer 1
set the applied enchantments to sharpness 10 and unbreaking 10
Patterns: |
|
Since: | 2.5 |
Examples:
set enchant offer 1 to sharpness 1
set the cost of enchant offer 1 to 10 levels
Patterns: |
|
Since: | unknown, 2.5.2 (falling block) |
Examples:
kill entity
broadcast "A sheep stole some grass!"
on falling block land:
if event-entity is a falling dirt:
cancel event
Patterns: |
|
Since: | 2.2-dev13b |
Examples:
kill event-entity
Patterns: |
|
Since: | 2.7 |
Requirements: | Paper 1.15.2+ |
Examples:
if entity is a wither skeleton:
cancel event
Patterns: |
|
Since: | 2.2-dev13b |
Examples:
cancel event
Patterns: |
|
Since: | 2.5.3 |
Examples:
broadcast "A %type of event-entity% has entered a portal!
Patterns: |
|
Since: | 2.7 |
Examples:
set {_xp} to event-experience
broadcast "%{_xp}%"
Patterns: |
|
Since: | 2.0 |
Examples:
world is "minigame_world"
cancel event
Patterns: |
|
Since: | 1.0 |
Examples:
Patterns: |
|
Since: | 1.0 |
Examples:
Patterns: |
|
Since: | 1.0, 2.6 (BlockData support) |
Examples:
on fade of snow[layers=2]
Patterns: |
|
Since: | 2.4 |
Examples:
on firework exploding colored red, light green and black
on firework explosion colored light green:
broadcast "A firework colored %colors% was exploded at %location%!"
Patterns: |
|
Since: | 1.3.7 |
Examples:
broadcast "Welcome %player% to the server!"
Patterns: |
|
Since: | 1.0 |
Examples:
Patterns: |
|
Since: | 2.2-dev36 |
Examples:
if {game::%player%::playing} exists:
cancel event
Patterns: |
|
Since: | 1.0 |
Examples:
if event-block is water:
broadcast "Build more dams! It's starting to get wet in here"
Patterns: |
|
Since: | 1.0, 2.6 (BlockData support) |
Examples:
on form of a mushroom:
Patterns: |
|
Since: | 1.0 |
Examples:
Patterns: |
|
Since: | 2.2-dev21 |
Examples:
cancel the event # bad idea, but you CAN do it!
Patterns: |
|
Since: | 2.3 |
Examples:
event-player's tool is a diamond sword
cancel event
Patterns: |
|
Since: | 1.0 |
Examples:
Patterns: |
|
Since: | 2.5.1 |
Examples:
push event-entity upwards at speed 2
Patterns: |
|
Since: | 1.4.4 |
Examples:
Patterns: |
|
Since: | 1.0 |
Examples:
if event-block is a ladder:
cancel event
Patterns: |
|
Since: | 2.2-Fixes-V10 |
Examples:
if event-item is stone:
give player 1 stone
remove 20$ from player's balance
Patterns: |
|
Since: | 2.2-dev21 |
Examples:
if player's location is {location}:
send "You exited the shop!"
Patterns: |
|
Since: | 2.2-dev21 |
Examples:
close player's inventory
Patterns: |
|
Since: | 2.5.1 |
Examples:
Patterns: |
|
Since: | 2.1.1 |
Examples:
Patterns: |
|
Since: | 2.5 |
Examples:
cancel event
Patterns: |
|
Since: | 2.2-dev35 |
Examples:
send "Not my precious!"
cancel event
Patterns: |
|
Since: | 2.5.1 |
Requirements: | Minecraft 1.13 or newer |
Examples:
chance of 50%:
cancel the event
send "Oops! Mending failed!" to player
Patterns: |
|
Since: | 2.2-dev35 |
Examples:
cancel event
Patterns: |
|
Since: | unknown (before 2.1) |
Examples:
broadcast "Someone dropped an iron sword!"
Patterns: |
|
Since: | 1.0 |
Examples:
message "Welcome on our awesome server!"
broadcast "%player% just joined the server!"
Patterns: |
|
Since: | 2.3 |
Examples:
event-player does not have permission "jump"
cancel event
Patterns: |
|
Since: | 1.0 |
Examples:
Patterns: |
|
Since: | 2.3 |
Examples:
if player's language starts with "en":
send "Hello!"
Patterns: |
|
Since: | 1.0 |
Examples:
Patterns: |
|
Since: | 1.0, 2.4 (level up/down) |
Examples:
Patterns: |
|
Since: | 1.0 |
Examples:
spawn a zombie at location of event-entity
Patterns: |
|
Since: | 2.7 |
Requirements: | MC 1.16+ |
Examples:
chance of %10
add 64 diamonds
send "You hit the jackpot!!"
Patterns: |
|
Since: | 2.6 |
Requirements: | Paper 1.16.5+ (entity move) |
Examples:
if player does not have permission "player.can.move":
cancel event
on skeleton move:
if event-entity is not in world "world":
kill event-entity
Patterns: |
|
Since: | 2.0 |
Examples:
on stepping on stone:
Patterns: |
|
Since: | 1.4.6 |
Examples:
on block physics:
block is sand
cancel event
Patterns: |
|
Since: | unknown (before 2.1), 2.5 (entity) |
Requirements: | 1.12.2+ for entity |
Examples:
on entity pickup of wheat:
Patterns: |
|
Since: | 1.0 |
Examples:
Patterns: |
|
Since: | 1.0 |
Examples:
broadcast "A piston is extending!"
Patterns: |
|
Since: | 1.0 |
Examples:
broadcast "A piston is retracting!"
Patterns: |
|
Since: | 1.0, 2.6 (BlockData support) |
Examples:
on place of a furnace, workbench or chest:
on break of chest[type=right] or chest[type=left]
Patterns: |
|
Since: | 2.7 |
Examples:
send "You entered a chunk: %past event-chunk% -> %event-chunk%!" to player
Patterns: |
|
Since: | 2.7 |
Requirements: | Paper 1.16+ |
Examples:
send "Zzzz.." to player
Patterns: |
|
Since: | 2.7 |
Requirements: | Paper 1.16.5+ |
Examples:
chance of 50%:
cancel event
send "The trade was somehow denied!" to player
Patterns: |
|
Since: | 2.2-dev28 |
Examples:
world is "city"
send "Welcome to the City!"
Patterns: |
|
Since: | 1.0 |
Examples:
Patterns: |
|
Since: | 1.0, 2.5.3 (event-entity support) |
Requirements: | Minecraft 1.14+ (event-entity support) |
Examples:
Patterns: |
|
Since: | 1.0 |
Examples:
Patterns: |
|
Since: | 2.2-Fixes-V10 |
Examples:
Patterns: |
|
Since: | 1.0 (pressure plate), 1.4.4 (tripwire) |
Examples:
Patterns: |
|
Since: | 2.5 |
Requirements: | Paper |
Examples:
teleport shooter of event-projectile to event-entity
Patterns: |
|
Since: | 1.0 |
Examples:
event-projectile is arrow
delete event-projectile
Patterns: |
|
Since: | 1.0 (simple disconnection) |
Examples:
on disconnect:
Patterns: |
|
Since: | 1.0 |
Examples:
send "someone is using redstone" to console
Patterns: |
|
Since: | 2.1 |
Requirements: | Supported regions plugin |
Examples:
message "Leaving %region%."
Patterns: |
|
Since: | 2.4 |
This event will be triggered once when the player accepts or declines the resource pack request, and once when the resource pack is successfully installed or failed to download.
Examples:
if the resource pack was declined or failed to download:
on resource pack deny:
kick the player due to "You have to install the resource pack to play in this server!"
Patterns: |
|
Since: | 1.0 |
Examples:
Patterns: |
|
Since: | 2.2-dev28 |
Examples:
entity is player
entity has permission "admin.undying"
uncancel the event
Patterns: |
|
Since: | 2.5 |
Examples:
send "You are riptiding!"
Patterns: |
|
Since: | 2.0 |
Examples:
set {running::%script%} to true
on unload:
set {running::%script%} to false
Patterns: |
|
Since: | 2.3 |
Also you can use MOTD, Max Players, Online Players Count, Protocol Version, Version String, Hover List and Server Icon expressions, and Player Info Visibility and Hide Player from Server List effects to modify the server list.
Examples:
set the motd to "Welcome %{player-by-IP::%ip%}%! Join now!" if {player-by-IP::%ip%} is set, else "Join now!"
set the fake max players count to (online players count + 1)
set the shown icon to a random server icon out of {server-icons::*}
Patterns: |
|
Since: | 2.0 |
Examples:
on server stop:
Patterns: |
|
Since: | 2.2-dev21 |
Examples:
cancel event
Patterns: |
|
Since: | 1.0 |
Examples:
if projectile is an arrow:
send "you shot an arrow!" to shooter
Patterns: |
|
Since: | 1.0 |
Examples:
line 2 is empty
set line 1 to "<red>%line 1%"
Patterns: |
|
Since: | 2.2-dev26 |
Examples:
Patterns: |
|
Since: | 1.0 |
Examples:
Patterns: |
|
Since: | 1.0 |
Examples:
on sneak toggle:
player is sneaking
push the player upwards at speed 0.5
Patterns: |
|
Since: | 1.0, 2.5.1 (non-living entities) |
Examples:
on spawn of an ender dragon:
broadcast "A dragon has been sighted in %world%!"
Patterns: |
|
Since: | 1.0 |
Examples:
broadcast "someone changed the spawn!"
Patterns: |
|
Since: | 2.7 |
Requirements: | Paper |
Examples:
Patterns: |
|
Since: | 2.5 |
Requirements: | Minecraft 1.13 or newer |
Examples:
loop absorbed blocks:
broadcast "%loop-block% was absorbed by a sponge"!
Patterns: |
|
Since: | 1.0 |
Examples:
Patterns: |
|
Since: | 1.0 |
Examples:
player is not sprinting
send "Run!"
Patterns: |
|
Since: | 2.3 |
Requirements: | 1.13 or newer |
Examples:
event-entity does not have permission "swim"
cancel event
Patterns: |
|
Since: | 1.0 |
Examples:
Patterns: |
|
Since: | 1.0 |
Examples:
target is a player
Patterns: |
|
Since: | 1.0 |
Examples:
Patterns: |
|
Since: | 1.0 |
Examples:
Patterns: |
|
Since: | 1.0 |
Examples:
Patterns: |
|
Since: | 1.0 |
Examples:
Patterns: |
|
Since: | 1.0 |
Examples:
cancel event
Patterns: |
|
Since: | 1.0 |
Examples:
entity is a player
cancel event
Patterns: |
|
Since: | 1.0 |
Examples:
if event-entity is a spider:
kill event-entity
Patterns: |
|
Since: | 1.0 |
Examples:
on weather change to sunny:
Patterns: |
|
Since: | 1.0 |
Examples:
Patterns: |
|
Since: | 1.0 |
Examples:
send "World is loading..." to console
Patterns: |
|
Since: | 1.0 |
Examples:
broadcast "World has been saved!"
Patterns: |
|
Since: | 1.0 |
Examples:
cancel event
Patterns: |
|
Since: | 1.0 |
Examples:
Patterns: |
|
Since: | 1.0 |
Examples:
every minecraft hour:
every tick: # can cause lag depending on the code inside the event
every minecraft days:
Patterns: |
|
Since: | 2.5 |
Examples:
Patterns: |
|
Since: | 1.4.4 |
Examples:
Patterns: |
|
Since: | 2.5 |
Requirements: | Minecraft 1.13+ |
Examples:
set target block of player to oak stairs[facing=north;waterlogged=true]
set block at player to grass_block[snowy=true]
set loop-block to minecraft:chest[facing=north]
set block above player to oak_log[axis=y]
set target block of player to minecraft:oak_leaves[distance=2;persistent=false]
Patterns: |
|
Since: | 1.0 |
Examples:
Patterns: |
|
Since: | 2.4 |
Requirements: | Minecraft 1.14 or newer |
Examples:
Patterns: |
|
Since: | 2.0 |
Examples:
Patterns: |
|
Since: | 2.2-dev16b, 2.2-dev35 (renamed to click type) |
Examples:
Patterns: |
|
Since: | Unknown |
Examples:
set the color of the block to green
message "You're holding a <%color of tool%>%color of tool%
Patterns: |
|
Since: | 1.0 |
Examples:
trigger:
if arg-1 is not set:
if command sender is console:
send "You can't push yourself as a console :\" to sender
stop
push sender upwards with force 2
send "Yay!"
else:
push arg-1 upwards with force 2
send "Yay!" to sender and arg-1
Patterns: |
|
Since: | 2.0 |
Examples:
Patterns: |
|
Since: | 1.4 |
Examples:
subtract a day from {_yesterday}
# now {_yesterday} represents the date 24 hours before now
Patterns: |
|
Since: | 2.3 |
Examples:
Patterns: | |
Since: | 2.0 |
Examples:
loop blocks from the block infront of the player to the block 10 below the player:
set the block behind the loop-block to water
Patterns: |
|
Since: | 1.4.6 |
Examples:
Patterns: |
|
Since: | 2.5 |
Examples:
set enchant offer 1 to sharpness 1
set the cost of enchant offer 1 to 10 levels
Patterns: |
|
Since: | 1.4.6 |
Examples:
helmet is enchanted with waterbreathing
Patterns: |
|
Since: | 1.0 |
Examples:
player is an op
projectile is an arrow
shoot a fireball from the player
Patterns: |
|
Since: | 1.3 |
Examples:
spawn a creeper
Patterns: |
|
Since: | 1.3 |
Examples:
Patterns: |
|
Since: | 2.0 |
Examples:
Patterns: |
|
Since: | 2.4 |
Examples:
launch trailing flickering star colored purple, yellow, blue, green and red fading to pink at target entity
launch ball large colored red, purple and white fading to light green and black at player's location with duration 1
Patterns: |
|
Since: | 2.4 |
Examples:
Patterns: |
|
Since: | 1.0 |
Examples:
set the player argument's game mode to creative
Patterns: |
|
Since: | 2.5 |
Requirements: | Minecraft 1.13 or newer |
Examples:
Patterns: |
|
Since: | 2.5 |
Examples:
Patterns: |
|
Since: | 2.4 |
Requirements: | Minecraft 1.14 or newer |
Examples:
Patterns: |
|
Since: | 2.5 |
Examples:
Patterns: |
|
Since: | 1.0 |
Examples:
Patterns: |
|
Since: | 2.2-dev16 |
Examples:
Patterns: |
|
Since: | Unknown |
Examples:
delete helmet of the victim
set the color of the player's tool to green
enchant the player's chestplate with projectile protection 5
Patterns: |
|
Since: | 2.2-dev32 |
Examples:
Patterns: |
|
Since: | 1.0 |
Examples:
{_item} is a torch
Patterns: |
|
Since: | 1.0 |
Examples:
add all slabs to the inventory of the block
player's tool is a diamond sword of sharpness
remove a pickaxes of fortune 4 from {stored items::*}
set {_item} to 10 of every upside-down stair
block is dirt or farmland
Patterns: |
|
Since: | 1.0 |
Examples:
shoot a zombie from the creeper
Patterns: |
|
Since: | 2.2-dev36 |
Examples:
Patterns: |
|
Since: | 2.0 |
Requirements: | Vault, an economy plugin that supports Vault |
add 100$ to the player's balance
and add 100 to the player's balance
. Examples:
remove Fr. 9.95 from the player's money
set the victim's money to 0
increase the attacker's balance by the level of the victim * 100
Patterns: |
|
Since: | 2.7 |
Requirements: | Paper 1.16+ |
Examples:
Patterns: |
|
Since: | 1.0 |
Examples:
set {_temp} to 2*{_temp} - 2.5
Patterns: |
|
Since: | 1.0 |
Examples:
Patterns: |
|
Since: | Unknown |
Examples:
Patterns: |
|
Since: | 1.0 |
Examples:
Patterns: |
|
Since: | 2.5.2 |
Examples:
Patterns: |
|
Since: | Unknown |
Examples:
apply potion of speed 2 to the player for 60 seconds
remove invisibility from the victim
Patterns: |
|
Since: | 1.0 |
Examples:
shoot an arrow at speed 5 from the player
Patterns: |
|
Since: | 2.1 |
Requirements: | Supported regions plugin |
Examples:
Patterns: |
|
Since: | 2.4 |
Examples:
Patterns: |
|
Since: | 2.3 |
Examples:
Patterns: |
|
Since: | 2.4 |
Examples:
Patterns: |
|
Since: | 2.3 |
Examples:
Patterns: |
|
Since: | 2.2-dev35 |
Examples:
Patterns: |
|
Since: | 1.0 |
Examples:
message "Hello %player%"
message "The id of ""%type of tool%"" is %id of tool%."
Patterns: |
|
Since: | 1.0 |
Examples:
Patterns: |
|
Since: | 1.0, 2.6.1 (weeks, months, years) |
Examples:
wait a minecraft second and 5 ticks
every 10 mc days and 12 hours:
halt for 12.7 irl minutes, 12 hours and 120.5 seconds
Patterns: |
|
Since: | Unknown |
Examples:
grow a huge red mushroom above the block
Patterns: |
|
Since: | 2.0 |
Examples:
{variable} is a type # check whether the variable contains a type, e.g. number or player
{variable} is an object # will always succeed if the variable is set as everything is an object, even types.
disable PvP in the event-world
kill the loop-entity
Patterns: |
|
Since: | 2.2-dev23 |
Examples:
Patterns: |
|
Since: | 2.1 |
Examples:
play mob spawner flames at the targeted block to the player
Patterns: |
|
Since: | 1.0 |
Examples:
is sunny in the player's world
message "It is %weather in the argument's world% in %world of the argument%"
Patterns: |
|
Since: | 1.0, 2.2 (alternate syntax) |
Examples:
Patterns: |
|
Since: | 2.7 |
Examples:
Patterns: |
|
Since: | 2.2 |
Return Type: | number |
Examples:
abs(-2) = 2
Patterns: |
|
Since: | 2.2 |
Return Type: | number |
Examples:
atan2(10, 0) = 90
atan2(-10, 5) = -63.4349
Patterns: |
|
Since: | 2.2 |
Return Type: |
Examples:
ceiling(2) = 2
ceiling(2.99) = 3
Patterns: |
|
Since: | 2.2 |
Return Type: | date |
Examples:
date(1990, 3, 5, 14, 30) # 14:30, 5th May 1990
date(1999, 12, 31, 23, 59, 59, 999, -3*60, 0) # almost year 2000 in parts of Brazil (-3 hours offset, no DST)
Patterns: |
|
Since: | 2.2 |
Return Type: | number |
Examples:
exp(1) = 2.7183
Patterns: |
|
Since: | 2.2 |
Return Type: | number |
Examples:
ln(exp(5)) = 5
ln(2) = 0.6931
Patterns: |
|
Since: | 2.2 |
Return Type: | location |
Examples:
location(player's x-coordinate, player's y-coordinate + 5, player's z-coordinate, player's world, 0, 90)
location(0, 64, 0, world "world_nether")
location(100, 110, -145, world("my_custom_world"))
Patterns: |
|
Since: | 2.2 |
Return Type: | number |
log(base ^ exponent, base) = exponent
for any positive number 'base' and any number 'exponent'. Another useful equation is base ^ log(a, base) = a
for any numbers 'base' and 'a'. Please note that due to how numbers are represented in computers, these equations do not hold for all numbers, as the computed values may slightly differ from the correct value. Returns NaN (not a number) if any of the arguments are negative. Examples:
log(16, 2) = 4 # 2^4 = 16
Patterns: |
|
Since: | 2.2 |
Return Type: | number |
Examples:
max(1, 2, 3, 4) = 4
max({some list variable::*})
Patterns: |
|
Since: | 2.2 |
Return Type: | number |
Examples:
min(1, 2, 3, 4) = 1
min({some list variable::*})
Patterns: |
|
Since: | 2.2 |
Return Type: | number |
d/m
, where d and m are the arguments of this function. The returned value is always positive. Returns NaN (not a number) if the second argument is zero. Examples:
mod(256436, 100) = 36
mod(-1, 10) = 9
Patterns: |
|
Since: | 2.2 |
Return Type: | number |
Examples:
product(2, 3, 4) = 24
product({some list variable::*})
product(2, {_v::*}, and the player's y-coordinate)
Patterns: |
|
Since: | 2.5 |
Return Type: | color |
Examples:
Patterns: |
|
Since: | 2.2, 2.7 (decimal placement) |
Return Type: | number |
Examples:
round(2) = 2
round(2.99) = 3
round(2.5) = 3
Patterns: |
|
Since: | 2.2 |
Return Type: | number |
Examples:
sin(60) = 0.866
Patterns: |
|
Since: | 2.2 |
Return Type: | number |
(argument) ^ (1/2)
– other roots can be calculated via number ^ (1/root)
, e.g. set {_l} to {_volume}^(1/3)
. Returns NaN (not a number) if the argument is negative. Examples:
sqrt(2) = 1.4142
sqrt(-1) = NaN
Patterns: |
|
Since: | 2.2 |
Return Type: | number |
Examples:
sum(2, 3, 4) = 9
sum({some list variable::*})
sum(2, {_v::*}, and the player's y-coordinate)
Patterns: |
|
Since: | 2.2-dev23 |
Return Type: | vector |
Examples: