Events
An event that occurs at a given minecraft time in every world or only in specific worlds.
at %time% [in %worlds%]
at 18:00 at 7am in "world"
Called when area effect cloud applies its potion effect. This happens every 5 ticks by default.
[on] (area|AoE) [cloud] effect
on area cloud effect:
Called when a player starts sleeping.
[on] bed enter[ing] [on] [player] enter[ing] [a] bed
on bed enter:
Called when a player leaves a bed.
[on] bed leav(e|ing) [on] [player] leav(e|ing) [a] bed
on player leaving a bed:
Called when a player starts to break a block. You can usually just use the leftclick event for this.
[on] block damag(ing|e)
on block damaging: if block is log: send "You can't break the holy log!"
Called when a crop grows. Alternative to new form of generic grow event.
[on] (plant|crop|block) grow[(th|ing)] [[of] %itemtypes%]
on crop growth:
Called when a player edits a book.
[on] book (edit|change|write)
on book edit:
Called when a player signs a book.
[on] book sign[ing]
on book sign:
Called when a block is broken by a player. If you use 'on mine', only events where the broken block dropped something will call the trigger.
[on] [block] (break[ing]|min(e|ing)) [[of] %itemtypes%]
on mine: on break of stone: on mine of any ore:
Called when a player empties a bucket. You can also use the place event with a check for water or lava.
[on] bucket empty[ing] [on] [player] empty[ing] [a] bucket
on bucket empty:
Called when a player fills a bucket.
[on] bucket fill[ing] [on] [player] fill[ing] [a] bucket
on player filling a bucket:
Called when a block is destroyed by fire.
[on] [block] burn[ing] [[of] %itemtypes%]
on burn: on burn of wood, fences, or chests:
Called when a player rightclicks on a block while holding a block or a placeable item. You can either cancel the event to prevent the block from being built, or uncancel it to allow it.,Please note that the data value of the block to be placed is not available in this event, only its ID.
[on] [block] can build check
on block can build check: cancel event
Called whenever a player chats. Use chat format to change message format, use chat recipients to edit chat recipients.
[on] chat
on chat: 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]"
Called after a new chunk was generated.
[on] chunk (generat|populat)(e|ing)
on chunk generate:
Called when a chunk loads. The chunk might or might not contain mobs when it's loaded.
[on] chunk load[ing]
on chunk load:
Called when a chunk is unloaded due to not being near any player. Cancel the event to force the server to keep the chunk loaded and thus keep simulating the chunk (e.g. physics, plant growth, minecarts, etc. will keep working and won't freeze).
[on] chunk unload[ing]
on chunk unload:
Called when a user clicks on a block, an entity or air with or without an item in their hand.,Please note that rightclick events with an empty hand while not looking at a block are not sent to the server, so there's no way to detect them.
[on] [(right|left)(| |-)][mouse(| |-)]click[ing] [on %entitydata/itemtype%] [(with|using|holding) %itemtype%] [on] [(right|left)(| |-)][mouse(| |-)]click[ing] (with|using|holding) %itemtype% on %entitydata/itemtype%
on click: on rightclick holding a fishing rod: on leftclick on a stone or obsidian: on rightclick on a creeper: on click with a sword:
Called when an entity is set on fire, e.g. by fire or lava, a fireball, or by standing in direct sunlight (zombies, skeletons).
[on] combust[ing]
on combust:
Called when a player enters a command (not neccessarily a Skript command).
[on] command [%string%]
on command: on command "/stop": on command "pm Njol ":
Called when the player connects to the server. This event is called before the player actually joins the server, so if you want to prevent players from joining you should prefer this event over on join.
[on] [player] connect[ing]
on connect: 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."
Called when a player is done eating/drinking something, e.g. an apple, bread, meat, milk or a potion.
[on] [player] ((eat|drink)[ing]|consum(e|ing)) [[of] %itemtypes%]
on consume:
Called when a player crafts an item.
[on] [player] craft[ing] [[of] %itemtypes%]
on craft:
Called when a creeper is struck by lighting and gets powered. Cancel the event to prevent the creeper from being powered.
[on] creeper power
on creeper power:
Called when an entity receives damage, e.g. by an attack from another entity, lava, fire, drowning, fall, suffocation, etc.
[on] damag(e|ing) [of %entitydata%]
on damage: on damage of a player:
Called when a living entity (including players) dies.
[on] death [of %entitydatas%]
on death: on death of player: on death of a wither or ender dragon: broadcast "A %entity% has been slain in %world%!"
Called when a dispenser dispenses an item.
[on] dispens(e|ing) [[of] %itemtypes%]
on dispense of iron block: send "that'd be 19.99 please!"
Called when a player drops an item from his inventory.
[on] [player] drop[ing] [[of] %itemtypes%]
on drop:
Called when an enderman places or picks up a block, a sheep eats grass or a silverfish boops into/out of a block respectively.
[on] enderman place [on] enderman pickup [on] sheep eat [on] silverfish enter [on] silverfish exit
on sheep eat: kill entity broadcast "A sheep stole some grass!"
Called when an entity dismounts.
[on] dismount[ing]
on dismount: kill event-entity
Called when entity starts riding another.
[on] mount[ing]
on mount: cancel event
Called whenever experience is about to spawn. This is a helper event for easily being able to stop xp from spawning, as all you can currently do is cancel the event.,Please note that it's impossible to detect xp orbs spawned by plugins (including Skript) with Bukkit, thus make sure that you have no such plugins if you don't want any xp orbs to spawn. (Many plugins that only change the experience dropped by blocks or entities will be detected without problems though)
[on] [e]xp[erience] [orb] spawn [on] spawn of [a[n]] [e]xp[erience] [orb]
on xp spawn: world is "minigame_world" cancel event
Called when an entity (a primed TNT or a creeper) explodes.
[on] explo(d(e|ing)|sion)
on explosion:
Called when an explosive is primed, i.e. an entity will explode shortly. Creepers can abort the explosion if the player gets too far away, while TNT will explode for sure after a short time.
[on] explosion prime
on explosion prime:
Called when a block 'fades away', e.g. ice or snow melts.
[on] [block] fad(e|ing) [[of] %itemtypes%]
on fade of snow or ice:
Called when a firework explodes.
[on] [a] firework explo(d(e|ing)|sion) [colo[u]red %colors%]
on firework explode on firework exploding colored red, light green and black on firework explosion coloured light green: broadcast "A firework colored %colors% was exploded at %location%!"
Called when a player joins the server for the first time.
[on] first (join|login)
on first join: broadcast "Welcome %player% to the server!"
Called when a player fishes something. This is not of much use yet.
[on] [player] fish[ing]
on fish:
Called when a players stops/starts flying.
[on] [player] flight toggl(e|ing) [on] [player] toggl(e|ing) flight
on flight toggle: if {game::%player%::playing} exists: cancel event
Called when a blocks flows or teleports to another block. This not only applies to water and lava, but teleporting dragon eggs as well.
[on] [block] flow[ing] [on] block mov(e|ing)
on block flow: if event-block is water: broadcast "Build more dams! It's starting to get wet in here"
Called when a block is created, but not by a player, e.g. snow forms due to snowfall, water freezes in cold biomes. This isn't called when block spreads (mushroom growth, water physics etc.), as it has its own event (see spread event).
[on] [block] form[ing] [[of] %itemtypes%]
on form of snow: on form of a mushroom:
Called when a furnace burns an item from its fuel slot.
[on] fuel burn[ing]
on fuel burning:
Called when a player's gamemode changes.
[on] game[ ]mode change [to %gamemode%]
on gamemode change: on gamemode change to adventure:
Called when an entity toggles glider on or off, or when server toggles gliding state of an entity forcibly.
[on] (gliding state change|toggl(e|ing) gliding)
on toggling gliding: cancel the event # bad idea, but you CAN do it!
Called when a tree, giant mushroom or plant grows to next stage.
[on] grow [of (%structuretype%|%itemtype%)]
on grow: on grow of a tree: on grow of a huge jungle tree:
Called whenever a player swaps the items in their main- and offhand slots.,Works also when one or both of the slots are empty.,The event is called before the items are actually swapped,,so when you use the player's tool or player's offtool expressions,,they will return the values before the swap -,this enables you to cancel the event before anything happens.
[on] swap[ping of] [(hand|held)] item[s]
on swap hand items: event-player's tool is a diamond sword cancel event
Called when an entity is healed, e.g. by eating (players), being fed (pets), or by the effect of a potion of healing (overworld mobs) or harm (nether mobs).
[on] heal[ing]
on heal:
Called when the hunger bar of a player changes, i.e. either increases by eating or decreases over time.
[on] (food|hunger) (level|met(er|re)|bar) chang(e|ing)
on food bar change:
Called when a block starts burning, i.e. a fire block is placed next to it and this block is flammable.,The burn event will be called when the block is about do be destroyed by the fire.
[on] [block] ignit(e|ion)
on block ignite: if event-block is a ladder: cancel event
Called when clicking on inventory slot.
[on] [player] inventory(-| )click[ing] [[at] %itemtypes%]
on inventory click: if event-item is stone: give player 1 stone remove 20$ from player's balance
Called when player's currently viewed inventory is closed.
[on] inventory clos(ing|e[d])
on inventory close: if player's location is {location}: send "You exited the shop!"
Called when an inventory is opened for player.
[on] inventory open[ed]
on inventory open: close player's inventory
Called when a player breaks his tool because its damage reached the maximum value.,This event cannot be cancelled.
[on] [player] tool break[ing] [on] [player] break[ing] (a|the|) tool
on tool break:
Called when an item is about to be despawned from the world, usually 5 minutes after it was dropped.
[on] (item[ ][stack]|[item] %itemtypes%) despawn[ing] [on] [item[ ][stack]] despawn[ing] [[of] %itemtypes%]
on item despawn of diamond: send "Not my precious!" cancel event
Called when dropped items merge into a single stack.
[on] (item[ ][stack]|[item] %itemtypes%) merg(e|ing) [on] item[ ][stack] merg(e|ing) [[of] %itemtypes%]
on item merge of gold blocks: cancel event
Called whenever an item stack is spawned in a world, e.g. as drop of a block or mob, a player throwing items out of his inventory, or a dispenser dispensing an item (not shooting it).
[on] item spawn[ing] [[of] %itemtypes%]
on item spawn of iron sword: broadcast "Someone dropped an iron sword!"
Called when the player joins the server. The player is already in a world when this event is called, so if you want to prevent players from joining you should prefer on connect over this event.
[on] [player] (login|logging in|join[ing])
on join: message "Welcome on our awesome server!" broadcast "%player% just joined the server!"
Called whenever a player jumps.,This event requires PaperSpigot.
[on] [player] jump[ing]
on jump: event-player does not have permission "jump" cancel event
Called when a player is kicked from the server. You can change the kick message or cancel the event entirely.
[on] [player] (kick|being kicked)
on kick:
Called after a player changed their language in the game settings. You can use the language expression to get the current language of the player.,This event requires Minecraft 1.12+.
[on] [player] (language|locale) chang(e|ing) [on] [player] chang(e|ing) (language|locale)
on language change: if player's language starts with "en": send "Hello!"
Called when a leaf block decays due to not being connected to a tree.
[on] leaves decay[ing]
on leaves decay:
Called when a player's level changes, e.g. by gathering experience or by enchanting something.
[on] [player] level (change|up|down)
on level change:
Called when lightning strikes.
[on] lightning [strike]
on lightning:
Called when a player moves onto a certain type of block. Please note that using this event can cause lag if there are many players online.
[on] (step|walk)[ing] (on|over) %*itemtypes%
on walking on dirt or grass: on stepping on stone:
Called when a physics check is done on a block. By cancelling this event you can prevent some things from happening, e.g. sand falling, dirt turning into grass, torches dropping if their supporting block is destroyed, etc.Please note that using this event might cause quite some lag since it gets called extremely often.
[on] [block] physics
# prevents sand from falling on block physics: block is sand cancel event
Called when a player picks up an item. Please note that the item is still on the ground when this event is called.
[on] [player] (pick[ ]up|picking up) [[of] %itemtypes%]
on pick up:
Called when a pig is stroke by lightning and transformed into a zombie pigman. Cancel the event to prevent the transformation.
[on] pig[ ]zap
on pig zap:
Called when a piston is about to extend.
[on] piston extend[ing]
on piston extend: broadcast "A piston is extending!"
Called when a piston is about to retract.
[on] piston retract[ing]
on piston retract: broadcast "A piston is retracting!"
Called when a player places a block.
[on] [block] (plac(e|ing)|build[ing]) [[of] %itemtypes%]
on place: on place of a furnace, workbench or chest:
Called when a player enters a world. Does not work with other entities!
[on] [player] world chang(ing|e[d])
on player world change: world is "city" send "Welcome to the City!"
Called when a player uses a nether or end portal. Cancel the event to prevent the player from teleporting.
[on] [player] portal
on player portal:
Called when a portal is created, either by a player or mob lighting an obsidian frame on fire, or by a nether portal creating its teleportation target in the nether/overworld.,Please note that it's not possible to use the player in this event.
[on] portal creat(e|ion)
on portal create:
Called when a player enters a nether portal and the swirly animation starts to play.
[on] portal enter[ing] [on] entering [a] portal
on portal enter:
Called just before displaying crafting result to player. Note that setting the result item might or might not work due to Bukkit bugs.
[on] [player] (preparing|beginning) craft[ing] [[of] %itemtypes%]
on preparing craft of torch:
Called when a player steps on a pressure plate or tripwire respectively.
[on] [step[ping] on] [a] [pressure] plate [on] (trip|[step[ping] on] [a] tripwire)
on step on pressure plate:
Called when a projectile hits an entity or a block.,Use the damage event with a check for a projectile to be able to use the entity that got hit in the case when the projectile hit a living entity.,A damage event will even be fired if the damage is 0, e.g. when throwing snowballs at non-nether mobs.
[on] projectile hit
on projectile hit: event-projectile is arrow delete event-projectile
Called when a player leaves the server.
[on] (quit[ting]|disconnect[ing]|log[ ]out|logging out)
on quit: on disconnect:
Called when the redstone current of a block changes. This event is of not much use yet.
[on] redstone [current] [chang(e|ing)]
on redstone change: send "someone is using redstone" to console
Called when a player takes action on a resource pack request sent via the ,send resource pack effect. ,The resource pack condition can be used ,to check the resource pack state.,,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.
[on] resource pack [request] response [on] resource pack [request] %resourcepackstates%
on resource pack request response: 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!"
Called when a player respawns. You should prefer this event over the death event as the player is technically alive when this event is called.
[on] [player] respawn[ing]
on respawn:
Called when an entity dies, always. If they are not holding a totem, this is cancelled - you can, however, uncancel it.
[on] [entity] resurrect[ion] [attempt]
on resurrect attempt: entity is player entity has permission "admin.undying" uncancel the event
Called directly after the trigger is loaded, or directly before the whole script is unloaded.
[on] [script] (load|init|enable) [on] [script] (unload|stop|disable)
on load: set {running::%script%} to true on unload: set {running::%script%} to false
Called when a server list ping is coming in, generally when a Minecraft client pings the server to show its information in the server list.,The IP expression can be used to get the IP adress of the pinger.,This event can be cancelled on PaperSpigot 1.12.2+ only and this means the player will see the server as offline (but still can join).,,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.
[on] server [list] ping
on server list ping: 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::*}
Called when the server starts or stops (actually, when Skript starts or stops, so a /reload will trigger these events as well).
[on] (server|skript) (start|load|enable) [on] (server|skript) (stop|unload|disable)
on skript start: on server stop:
Called when sheep regrows its sheared wool back.
[on] sheep [re]grow[ing] wool
on sheep grow wool: cancel event
Called whenever a projectile is shot. Use the shooter expression to get who shot the projectile.
[on] [projectile] shoot
on shoot: if projectile is an arrow: send "you shot an arrow!" to shooter
As signs are placed empty, this event is called when a player is done editing a sign.
[on] sign (chang[e]|edit)[ing] [on] [player] (chang[e]|edit)[ing] [a] sign
on sign change: line 2 is empty set line 1 to "<red>%line 1%"
Called when a slime splits. Usually this happens when a big slime dies.
[on] slime split[ting]
on slime split:
Called when a furnace smelts an item in its ore slot.
[on] [ore] smelt[ing] [on] smelt[ing] of ore
on smelt:
Called when a player starts or stops sneaking. Use is sneaking to get whether the player was sneaking before the event was called.
[on] [player] toggl(e|ing) sneak [on] [player] sneak toggl(e|ing)
# make players that stop sneaking jump on sneak toggle: player was sneaking push the player upwards at speed 0.5
Called when an creature spawns.
[on] spawn[ing] [of %entitydatas%]
on spawn of a zombie: on spawn of an ender dragon: broadcast "A dragon has been sighted in %world%!"
Called when the spawn point of a world changes.
[on] [world] spawn change
on spawn change: broadcast "someone changed the spawn!"
Called when a new block forms as a result of a block that can spread, e.g. water or mushrooms.
[on] spread[ing]
on spread:
Called when a player starts or stops sprinting. Use is sprinting to get whether the player was sprinting before the event was called.
[on] [player] toggl(e|ing) sprint [on] [player] sprint toggl(e|ing)
on sprint toggle: player is not sprinting send "Run!"
Called when an entity swims or stops swimming.
[on] [entity] toggl(e|ing) swim [on] [entity] swim toggl(e|ing)
on swim toggle: event-entity does not have permission "swim" cancel event
Called when a player tames a wolf or ocelot. Can be cancelled to prevent the entity from being tamed.
[on] [entity] tam(e|ing)
on tame:
Called when a mob starts/stops following/attacking another entity, usually a player.
[on] [entity] target [on] [entity] un[-]target
on entity target: target is a player
Called whenever a player is teleported, either by a nether/end portal or other means (e.g. by plugins).
[on] [player] teleport[ing]
on teleport:
Called when a player throws an egg. You can just use the shoot event in most cases, as this event is intended to support changing the hatched mob and its chance to hatch, but Skript does not yet support that.
[on] throw[ing] [of] [an] egg [on] [player] egg throw
on throw of an egg:
Called whenever a player changes his held item by selecting a different slot (e.g. the keys 1-9 or the mouse wheel), not by dropping or replacing the item in the current slot.
[on] [player['s]] (tool|item held|held item) chang(e|ing)
on player's held item change:
Called when a new vehicle is created, e.g. when a player places a boat or minecart.
[on] vehicle create [on] creat(e|ing|ion of) [a] vehicle
on vehicle create:
Called when a vehicle gets damage. Too much damage will destroy the vehicle.
[on] vehicle damage [on] damag(e|ing) [a] vehicle
on vehicle damage:
Called when a vehicle is destroyed. Any passenger will be ejected and the vehicle might drop some item(s).
[on] vehicle destroy [on] destr(oy[ing]|uction of) [a] vehicle
on vehicle destroy: cancel event
Called when an entity enters a vehicle, either deliberately (players) or by falling into them (mobs).
[on] vehicle enter [on] enter[ing] [a] vehicle
on vehicle enter: entity is a player cancel event
Called when an entity exits a vehicle.
[on] vehicle exit [on] exit[ing] [a] vehicle
on vehicle exit: if event-entity is a spider: kill event-entity
Called when a world's weather changes.
[on] weather change [to %weathertypes%]
on weather change: on weather change to sunny:
Called when a world is initialised. As all default worlds are initialised before any scripts are loaded, this event is only called for newly created worlds.,World management plugins might change the behaviour of this event though.
[on] world init[ialization]
on world init:
Called when a world is loaded. As with the world init event, this event will not be called for the server's default world(s).
[on] world load[ing]
on world load: send "World is loading..." to console
Called when a world is saved to disk. Usually all worlds are saved simultaneously, but world management plugins could change this.
[on] world sav(e|ing)
on world saving: broadcast "World has been saved!"
Called when a world is unloaded. This event might never be called if you don't have a world management plugin.
[on] world unload[ing]
on world unload: cancel event
Called when a zombie is done breaking a wooden door. Can be cancelled to prevent the zombie from breaking the door.
[on] zombie break[ing] [a] [wood[en]] door
on zombie breaking a wood door:
An event that is called periodically.
every %timespan%
every 2 seconds: every minecraft hour: every tick: # can cause lag depending on the code inside the event every minecraft days:
An event that is called periodically.
every %timespan% in [world[s]] %worlds%
every 2 seconds in "world": every minecraft hour in "flatworld": every tick in "world": # can cause lag depending on the code inside the event every minecraft days in "plots":
Conditions
Checks if the given string is alphanumeric.
%strings% (is|are) alphanumeric %strings% (isn't|is not|aren't|are not) alphanumeric
if the argument is not alphanumeric: send "Invalid name!"
Whether a player is allowed to fly.
%players% can fly %players% (can't|cannot|can not) fly
player can fly
Tests whether a player or a chest can hold the given item.
%inventories% (can hold|ha(s|ve) [enough] space (for|to hold)) %itemtypes% %inventories% (can(no|')t hold|(ha(s|ve) not|ha(s|ve)n't|do[es]n't have) [enough] space (for|to hold)) %itemtypes%
block can hold 200 cobblestone player has enough space for 64 feathers
Checks whether the given players can see another players.
%players% (is|are) [(in)]visible for %players% %players% can see %players% %players% (is|are)(n't| not) [(in)]visible for %players% %players% can('t| not) see %players%
if the player can't see the player-argument: message "<light red>The player %player-argument% is not online!"
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.
chance of %number%(\%|)
chance of 50%: drop a diamond chance of {chance}% # {chance} between 0 and 100 chance of {chance} # {chance} between 0 and 1
A very general condition, it simply compares two values. Usually you can only compare for equality (e.g. block is/isn't of &lt;type&gt;), but some values can also be compared using greater than/less than. In that case you can also test for whether an object is between two others.,Note: This is the only element where not all patterns are shown. It has actually another two sets of similar patters, but with (was|were) or will be instead of (is|are) respectively, which check different time states of the first expression.
(neither|) %objects% ((is|are)(|(n't| not| neither)) ((greater|more|higher|bigger|larger) than|above)|\>) %objects% (neither|) %objects% ((is|are)(|(n't| not| neither)) (greater|more|higher|bigger|larger|above) [than] or (equal to|the same as)|\>=) %objects% (neither|) %objects% ((is|are)(|(n't| not| neither)) ((less|smaller) than|below)|\<) %objects% (neither|) %objects% ((is|are)(|(n't| not| neither)) (less|smaller|below) [than] or (equal to|the same as)|\<=) %objects% (neither|) %objects% ((is|are) (not|neither)|isn't|aren't|!=) [equal to] %objects% (neither|) %objects% (is|are|=) [(equal to|the same as)] %objects% (neither|) %objects% (is|are) between %objects% and %objects% (neither|) %objects% (is not|are not|isn't|aren't) between %objects% and %objects% (neither|) %objects% (was|were)(|(n't| not| neither)) ((greater|more|higher|bigger|larger) than|above) %objects% (neither|) %objects% (was|were)(|(n't| not| neither)) (greater|more|higher|bigger|larger|above) [than] or (equal to|the same as) %objects% (neither|) %objects% (was|were)(|(n't| not| neither)) ((less|smaller) than|below) %objects% (neither|) %objects% (was|were)(|(n't| not| neither)) (less|smaller|below) [than] or (equal to|the same as) %objects% (neither|) %objects% ((was|were) (not|neither)|wasn't|weren't) [equal to] %objects% (neither|) %objects% (was|were) [(equal to|the same as)] %objects% (neither|) %objects% (was|were) between %objects% and %objects% (neither|) %objects% (was not|were not|wasn't|weren't) between %objects% and %objects% (neither|) %objects% (will be|(will (not|neither) be|won't be)) ((greater|more|higher|bigger|larger) than|above) %objects% (neither|) %objects% (will be|(will (not|neither) be|won't be)) (greater|more|higher|bigger|larger|above) [than] or (equal to|the same as) %objects% (neither|) %objects% (will be|(will (not|neither) be|won't be)) ((less|smaller) than|below) %objects% (neither|) %objects% (will be|(will (not|neither) be|won't be)) (less|smaller|below) [than] or (equal to|the same as) %objects% (neither|) %objects% ((will (not|neither) be|won't be)|(isn't|aren't|is not|are not) (turning|changing) [in]to) [equal to] %objects% (neither|) %objects% (will be [(equal to|the same as)]|(is|are) (turning|changing) [in]to) %objects% (neither|) %objects% will be between %objects% and %objects% (neither|) %objects% (will not be|won't be) between %objects% and %objects%
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
Checks whether an inventory contains an item, a text contains another piece of text, or a list (e.g. {list variable::*} or 'drops') contains another object.
%inventories% (has|have) %itemtypes% [in [(the[ir]|his|her|its)] inventory] %inventories% (doesn't|does not|do not|don't) have %itemtypes% [in [(the[ir]|his|her|its)] inventory] %inventories/strings/objects% contain[s] %itemtypes/strings/objects% %inventories/strings/objects% (doesn't|does not|do not|don't) contain %itemtypes/strings/objects% [the] list [of] %objects% (doesn't|does not|do not|don't) contain %objects% [the] list [of] %objects% contain[s] %objects% (all|any|none) of %strings% contain[s] %strings%
block contains 20 cobblestone player has 4 flint and 2 iron ingots {list::*} contains 5
Tests what kind of damage caused a damage event. Refer to the Damage Cause type for a list of all possible causes.
[the] damage (was|is|has)(|n('|o)t) [been] (caused|done|made) by %damagecause%
# 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
Checks whether or not the event is cancelled.
[the] event is cancel[l]ed [the] event (is not|isn't) cancel[l]ed
on click: if event is cancelled: broadcast "no clicks allowed!"
Checks whether a given expression or variable is set.
%objects% (exist[s]|(is|are) set) %objects% (do[es](n't| not) exist|(is|are)(n't| not) set)
{teams::%player's uuid%::preferred-team} is not set on damage: projectile exists broadcast "%attacker% used a %projectile% to attack %victim%!"
Checks whether the given players have a custom client weather
%players% (has|have) [a] (client|custom) weather [set] %players% (doesn't|does not|do not|don't) have [a] (client|custom) weather [set]
if the player has custom weather: message "Your custom weather is %player's weather%"
Checks whether a metadata holder has a metadata tag.
%metadataholders% (has|have) metadata [(value|tag)[s]] %strings% %metadataholders% (doesn't|does not|do not|don't) have metadata [(value|tag)[s]] %strings%
if player has metadata value "healer":
Test whether a player has a certain permission.
%commandsenders% (has|have) [the] permission[s] %strings% %commandsenders% (doesn't|does not|do not|don't) have [the] permission[s] %strings%
player has permission "skript.tree" victim has the permission "admin": send "You're attacking an admin!" to attacker
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.
%offlineplayer% [(has|did)] [already] play[ed] [on (this|the) server] (before|already) %offlineplayer% (has not|hasn't|did not|didn't) [(already|yet)] play[ed] [on (this|the) server] (before|already|yet)
player has played on this server before player hasn't played before
Checks whether the given players have a server resource pack loaded. Please note that this can't detect player's own resource pack, only the resource pack that sent by the server.
%players% (has|have) [a] resource pack [(loaded|installed)] %players% (doesn't|does not|do not|don't) have [a] resource pack [(loaded|installed)]
if the player has a resource pack loaded:
Checks whether the given entities has the given scoreboard tags.
%entities% (has|have) [the] score[ ]board tag[s] %strings% %entities% (doesn't|does not|do not|don't) have [the] score[ ]board tag[s] %strings%
if the targeted armor stand has the scoreboard tag "test tag":
Checks whether an entity is alive. Works for non-living entities too.
%entities% (is|are) (alive|dead) %entities% (isn't|is not|aren't|are not) (alive|dead)
if {villager-buddy::%player's uuid%} is not dead: on shoot: while the projectile is alive:
Checks whether a player or IP is banned.
%offlineplayers/strings% (is|are) banned %players/strings% (is|are) IP(-| |)banned %offlineplayers/strings% (isn't|is not|aren't|are not) banned %players/strings% (isn't|is not|aren't|are not) IP(-| |)banned
player is banned victim is not IP-banned "127.0.0.1" is banned
Checks whether an item is a block.
%itemstacks% (is|are) ([a] block|blocks) %itemstacks% (isn't|is not|aren't|are not) ([a] block|blocks)
player's held item is a block {list::*} are blocks
Checks whether a player is blocking with his shield.
%players% (is|are) (blocking|defending) %players% (isn't|is not|aren't|are not) (blocking|defending)
on damage of player: victim is blocking damage attacker by 0.5 hearts
Checks whether an entity is on fire, e.g. a zombie due to being in sunlight, or any entity after falling into lava.
%entities% (is|are) (burning|ignited|on fire) %entities% (isn't|is not|aren't|are not) (burning|ignited|on fire)
# increased attack against burning targets victim is burning: increase damage by 2
Checks whether an item is edible.
%itemstacks% (is|are) edible %itemstacks% (isn't|is not|aren't|are not) edible
steak is edible player's tool is edible
Checks whether an inventory, an inventory slot, or a text is empty.
%inventories/slots/strings% (is|are) empty %inventories/slots/strings% (isn't|is not|aren't|are not) empty
player's inventory is empty
Checks whether an item is enchanted.
%itemtypes% (is|are) enchanted [with %enchantmenttype%] %itemtypes% (isn't|is not|aren't|are not) enchanted [with %enchantmenttype%]
tool of the player is enchanted with efficiency 2 helm, chestplate, leggings or boots are enchanted
Checks whether an item is flammable.
%itemstacks% (is|are) flammable %itemstacks% (isn't|is not|aren't|are not) flammable
wood is flammable player's tool is flammable
Checks whether a player is flying.
%players% (is|are) flying %players% (isn't|is not|aren't|are not) flying
player is not flying
Checks whether a player is holding a specific item. Cannot be used with endermen, use 'entity is [not] an enderman holding &lt;item type&gt;' instead.
[%livingentities%] ha(s|ve) %itemtypes% in [main] hand [%livingentities%] (is|are) holding %itemtypes% [in main hand] [%livingentities%] ha(s|ve) %itemtypes% in off[(-| )]hand [%livingentities%] (is|are) holding %itemtypes% in off[(-| )]hand [%livingentities%] (ha(s|ve) not|do[es]n't have) %itemtypes% in [main] hand [%livingentities%] (is not|isn't) holding %itemtypes% [in main hand] [%livingentities%] (ha(s|ve) not|do[es]n't have) %itemtypes% in off[(-| )]hand [%livingentities%] (is not|isn't) holding %itemtypes% in off[(-| )]hand
player is holding a stick victim isn't holding a sword of sharpness
Checks whether or not a chunk/world is loaded
%worlds/chunks% (is|are) loaded %worlds/chunks% (isn't|is not|aren't|are not) loaded
if chunk at {home::%player's uuid%} is loaded:
Checks whether a player is online.
%offlineplayers% (is|are) (online|offline) %offlineplayers% (isn't|is not|aren't|are not) (online|offline)
player is online player-argument is offline
Checks whether an entity is poisoned.
%livingentities% (is|are) poisoned %livingentities% (isn't|is not|aren't|are not) poisoned
player is poisoned: cure the player from poison message "You have been cured!"
Tests whether an entity is riding another or is in a vehicle.
%entities% (is|are) riding [%entitydatas%] %entities% (isn't|is not|aren't|are not) riding [%entitydatas%]
player is riding a saddled pig
Check if the current script, or another script, is currently loaded.
script[s] [%strings%] (is|are) loaded script[s] [%strings%] (isn't|is not|aren't|are not) loaded
script is loaded script "example.sk" is loaded
Checks whether a player is sleeping.
%players% (is|are) sleeping %players% (isn't|is not|aren't|are not) sleeping
# cut your enemies' throats in their sleep >=) on attack: attacker is holding a sword victim is sleeping increase the damage by 1000
Tests whether a chunk is a so-called slime chunk.,Slimes can generally spawn in the swamp biome and in slime chunks.,For more info, see the Minecraft wiki.
%chunk% (is|are) ([a] slime chunk|slime chunks|slimey) %chunk% (isn't|is not|aren't|are not) ([a] slime chunk|slime chunks|slimey)
command /slimey: trigger: if chunk at player is a slime chunk: send "Yeah, it is!" else: send "Nope, it isn't"
Checks whether a player is sneaking.
%players% (is|are) sneaking %players% (isn't|is not|aren't|are not) sneaking
# 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
Checks whether an item is solid.
%itemstacks% (is|are) solid %itemstacks% (isn't|is not|aren't|are not) solid
grass block is solid player's tool isn't solid
Checks whether a player is sprinting.
%players% (is|are) sprinting %players% (isn't|is not|aren't|are not) sprinting
player is not sprinting
Checks whether a living entity is swimming.
%livingentities% (is|are) swimming %livingentities% (isn't|is not|aren't|are not) swimming
player is swimming
Checks whether an item is transparent.
%itemstacks% (is|are) transparent %itemstacks% (isn't|is not|aren't|are not) transparent
glass is transparent player's tool is transparent.
Checks whether a player is wearing some armour.
%livingentities% (is|are) wearing %itemtypes% %livingentities% (isn't|is not|aren't|are not) wearing %itemtypes%
player is wearing an iron chestplate and iron leggings player is wearing all diamond armour
Checks whether an entity is in a specific world.
%entities% (is|are) in [[the] world[s]] %worlds% %entities% (isn't|is not|aren't|are not) in [[the] world[s]] %worlds%
player is in "world" argument isn't in world "world_nether" the player is in the world of the victim
Checks whether an item of an entity is of the given type. This is mostly useful for variables, as you can use the general 'is' condition otherwise (e.g. 'victim is a creeper').
%itemstacks/entities% (is|are) of type[s] %entitytypes/entitydatas% %itemstacks/entities% (isn't|is not|aren't|are not) of type[s] %entitytypes/entitydatas%
tool is of type {selected type} victim is of type {villager type}
Checks whether an entity is on ground.
%entities% (is|are) on [the] ground %entities% (isn't|is not|aren't|are not) on [the] ground
player is not on ground
Checks the PvP state of a world.
(is PvP|PvP is) enabled [in %worlds%] (is PvP|PvP is) disabled [in %worlds%]
PvP is enabled PvP is disabled in "world"
Checks state of the resource pack in a resource pack request response event.
[the] resource pack (was|is|has) [been] %resourcepackstate% [the] resource pack (was|is|has)(n't| not) [been] %resourcepackstate%
on resource pack response: if the resource pack wasn't accepted: kick the player due to "You have to install the resource pack to play in this server!"
Checks if a text starts or ends with another.
%strings% (start|end)[s] with %string% %strings% (doesn't|does not|do not|don't) (start|end) with %string%
if the argument starts with "test": send "Stop!"
Tests whether a given real time was more or less than some time span ago.
%date% (was|were)( more|(n't| not) less) than %timespan% [ago] %date% (was|were)((n't| not) more| less) than %timespan% [ago]
command /command-with-cooldown: trigger: {command::%player's uuid%::last-usage} was less than a minute ago: message "Please wait a minute between uses of this command." stop set {command::%player's uuid%::last-usage} to now # ... actual command trigger here ...
Checks whether the weather in a world is of a specific type.,I welcome any ideas how to write this condition differently.
is %weathertypes% [in %worlds%]
is thundering is raining in "world" or "world2"
Effects
Sends an action bar message to the given player(s).
send [the] action bar [with text] %string% to %players%
send action bar "Hello player!" to player
Bans/unbans a player or an IP address.,Starting with Skript 2.1.1 and Bukkit 1.7.2 R0.4, one can also ban players with a reason.,Note that banning a player will not kick them from the server. You may use the kick effect if you wish so.
ban %strings/offlineplayers% [(by reason of|because [of]|on account of|due to) %string%] unban %strings/offlineplayers% ban %players% by IP [(by reason of|because [of]|on account of|due to) %string%] unban %players% by IP IP(-| )ban %players% [(by reason of|because [of]|on account of|due to) %string%] (IP(-| )unban|un[-]IP[-]ban) %players%
unban player ban "127.0.0.1" IP-ban the player because "he is an idiot"
Breaks the block and spawns items as if a player had mined it, 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)
break %blocks% [naturally] [using %itemtype%]
on right click: 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
Broadcasts a message to the server. Only formatting options supported by console,(i.e. colors) are supported. If you need to use advanced chat formatting, send the,message to all players instead of broadcasting it.
broadcast %strings% [(to|in) %worlds%]
broadcast "Welcome %player% to the server!" broadcast "Woah! It's a message!"
Only usable in commands. Makes it so the current command usage isn't counted towards the cooldown.
(cancel|ignore) [the] [current] [command] cooldown un(cancel|ignore) [the] [current] [command] cooldown
command /nick <text>: 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
Cancels drops of items or experiences in a death or block break event. Please note that this doesn't keep items or experiences of a dead player. If you want to do that, use the Keep Inventory / Experience effect.
(cancel|clear|delete) [the] drops [of (items|[e]xp[erience][s])] (cancel|clear|delete) [the] (item|[e]xp[erience]) drops
on death of a zombie: if name of the entity is "&cSpecial": cancel drops of items on break of a coal ore: cancel the experience drops
Cancels the event (e.g. prevent blocks from being placed, or damage being taken).
cancel [the] event uncancel [the] event
on damage: victim is a player victim has the permission "skript.god" cancel the event
A very general effect that can change many expressions. Many expressions can only be set and/or deleted, while some can have things added to or removed from them.
(add|give) %objects% to %objects% increase %objects% by %objects% give %objects% %objects% set %objects% to %objects% remove (all|every) %objects% from %objects% (remove|subtract) %objects% from %objects% reduce %objects% by %objects% (delete|clear) %objects% reset %objects%
# set: 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 '<a href='#heal'>heal</a>' 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
Colours items in a given colour. You can also use RGB codes if you feel limited with the 16 default colours. RGB codes are three numbers from 0 to 255 in the order (red, green, blue), where (0,0,0) is black and (255,255,255) is white. Armor is colourable for all Minecraft versions. With Minecraft 1.11 or newer you can also colour potions and maps. Note that the colours might not look exactly how you'd expect.
(dye|colo[u]r|paint) %slots/itemstack% %color% (dye|colo[u]r|paint) %slots/itemstack% (%number%, %number%, %number%)
dye player's helmet blue colour the player's tool red
Executes a command. This can be useful to use other plugins in triggers.
[execute] [the] command %strings% [by %commandsenders%] [execute] [the] %commandsenders% command %strings% (let|make) %commandsenders% execute [[the] command] %strings%
make player execute command "/suicide" execute console command "/say Hello everyone!"
Connects a player to another bungeecord server
connect %players% to [server] %string% send %players% to server %string%
connect all players to "hub"
Skips the value currently being looped, moving on to the next value if it exists.
continue [loop]
loop all players: if loop-value does not have permission "moderator": continue # filter out non moderators broadcast "%loop-player% is a moderator!" # Only moderators get broadcast
Damage/Heal/Repair an entity, or item stack.
damage %slots/livingentities/itemstack% by %number% [heart[s]][ with fake cause %damagecause%] heal %livingentities% [by %number% [heart[s]]] repair %slots/itemstack% [by %number%]
damage player by 5 hearts heal the player repair tool of player
Delays the script's execution by a given timespan. Please note that delays are not persistent, e.g. trying to create a tempban script with 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!
(wait|halt) [for] %timespan%
wait 2 minutes halt for 5 minecraft hours wait a tick
Execute an effect if a condition is true.
<.+> if <.+>
on join: give a diamond to the player if the player has permission "rank.vip"
Drops one or more items.
drop %itemtypes/experiences% [%directions% %locations%] drop %itemtypes/experiences% [%directions% %locations%] without velocity
on death of creeper: drop 1 TNT
Enables, disables, or reloads a script file.
(enable|load|reload|disable|unload) s(c|k)ript [file] %string%
reload script "test" enable script file "testing" unload script file "script.sk"
Enchant or disenchant an existing item.
enchant %itemstack% with %enchantmenttypes% disenchant %itemstack%
enchant the player's tool with sharpness 5 disenchant the player's tool
Equips a player with some given armor. This will replace any armor that the player is wearing.
equip [%livingentity%] with %itemtypes% make %livingentity% wear %itemtypes%
equip player with diamond helmet equip player with all diamond armor
Exits a given amount of loops and conditionals, or the entire trigger.
(exit|stop) [trigger] (exit|stop) [(1|a|the|this)] (section|loop|conditional) (exit|stop) <\d+> (section|loop|conditional)s (exit|stop) all (section|loop|conditional)s
if player has any ore: stop message "%player% has no ores!" loop blocks above the player: loop-block is not air: exit 2 sections set loop-block to water
Creates an explosion of a given force. The Minecraft Wiki has an article on explosions which lists the explosion forces of TNT, creepers, etc.,Hint: use a force of 0 to create a fake explosion that does no damage whatsoever, or use the explosion effect introduced in Skript 2.0.,Starting with Bukkit 1.4.5 and Skript 2.0 you can use safe explosions which will damage entities but won't destroy any blocks.
[(create|make)] [an] explosion (of|with) (force|strength|power) %number% [%directions% %locations%] [(create|make)] [a] safe explosion (of|with) (force|strength|power) %number% [%directions% %locations%] [(create|make)] [a] fake explosion [%directions% %locations%] [(create|make)] [an] explosion[ ]effect [%directions% %locations%]
create an explosion of force 10 at the player create an explosion of force 0 at the victim
Feeds the specified players.
feed [the] %players% [by %number% [beef[s]]]
feed all players feed the player by 5 beefs
Forces player(s) to respawn if they are dead. If this is called without delay from death event, one tick is waited before respawn attempt.
force %players% to respawn
on death of player: force event-player to respawn
Hides a player from the hover list and decreases the online players count (only if the player count wasn't changed before).
hide %players% (in|on|from) [the] server list hide %players%'[s] info[rmation] (in|on|from) [the] server list
on server list ping: hide {vanished::*} from the server list
Lights entities on fire or extinguishes them.
(ignite|set fire to) %entities% [for %timespan%] (set|light) %entities% on fire [for %timespan%] extinguish %entities%
ignite the player extinguish the player
Keeps the inventory or/and experiences of the dead player in a death event.
keep [the] (inventory|items) [(and [e]xp[erience][s] [point[s]])] keep [the] [e]xp[erience][s] [point[s]] [(and (inventory|items))]
on death of a player: if the victim is an op: keep the inventory and experiences
Kicks a player from the server.
kick %players% [(by reason of|because [of]|on account of|due to) %string%]
on place of TNT, lava, or obsidian: kick the player due to "You may not place %block%!" cancel the event
Kills an entity.,Note: This effect does not set the entity's health to 0 (which causes issues), but damages the entity by 100 times its maximum health.
kill %entities%
kill the player kill all creepers in the player's world kill all endermen, witches and bats
Launch firework effects at the given location(s).
(launch|deploy) [[a] firework [with effect[s]]] %fireworkeffects% at %locations% [([with] (duration|power)|timed) %number%]
launch ball large coloured red, purple and white fading to light green and black at player's location with duration 1
Leash living entities to other entities.
(leash|lead) %livingentities% to %entity% make %entity% (leash|lead) %livingentities% un(leash|lead) [holder of] %livingentities%
leash the player to the target entity
Strike lightning at a given location. Can use 'ligning effect' to create a lightning that does not harm entities or start fires.
(create|strike) lightning([ ]effect|) %directions% %locations%
strike lightning at the player strike lightning effect at the victim
Loads server icons from the given files. You can get the loaded icon using the,last loaded server icon expression.,Please note that the image must be 64x64 and the file path starts from the server folder.
load [the] server icon (from|of) [the] [image] [file] %string%
on load: 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::*}
Suppresses target warnings from the current script.
[local[ly]] suppress [the] (conflict|variable save|[missing] conjunction[s]|starting [with] expression[s]) warning[s]
locally suppress conflict warnings suppress the variable save warnings
Writes text into a .log file. Skript will write these files to /plugins/Skript/logs.,NB: Using 'server.log' as the log file will write to the default server log. Omitting the log file altogether will log the message as '[Skript] [&lt;script&gt;.sk] &lt;message&gt;' in the server log.
log %strings% [(to|in) [file[s]] %strings%]
on place of TNT: log "%player% placed TNT in %world% at %location of block%" to "tnt/placement.log"
Changes loops to emulate given Skript version's behaviour.
use[s] (old|new|2.1.2|2.2) loops
use old loops use new loops
Forces a player to start/stop flying.
force %players% to [(start|stop)] fly[ing] make %players% (start|stop) flying make %players% fly
make player fly force all players to stop flying
Forces a player to send a message to the chat. If the message starts with a slash it will force the player to use command.
make %players% (say|send [the] message[s]) %strings% force %players% to (say|send [the] message[s]) %strings%
make the player say "Hello." force all players to send the message "I love this server"
Sends a message to the given player. Only styles written,in given string or in formatted expressions will be parsed.
(message|send [message[s]]) %strings% [to %commandsenders%]
message "A wild %player% appeared!" 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%!"
Opens an inventory to a player. The player can then access and modify the inventory as if it was a chest that he just opened.,Please note that currently 'show' and 'open' have the same effect, but 'show' will eventually show an unmodifiable view of the inventory in the future.
(open|show) (((crafting [table]|workbench)|chest|anvil|hopper|dropper|dispenser) (view|window|inventory|)|%inventory%) (to|for) %players% close [the] inventory [view] (to|of|for) %players% close %players%'[s] inventory [view]
show the victim's inventory to the player open the player's inventory for the player
Plays a visual effect at a given location or on a given entity.,Please note that some effects can only be played on entities, e.g. wolf hearts or the hurt effect, and that these are always visible to all players.
(play|show) %visualeffects% (on|%directions%) %entities/locations% [(to %players%|in (radius|range) of %number%)] (play|show) %number% %visualeffects% (on|%directions%) %locations% [(to %players%|in (radius|range) of %number%)]
play wolf hearts on the clicked wolf show mob spawner flames at the targeted block to the player
Plays a sound at given location for everyone or just for given players, or plays a sound to specified players. Both Minecraft sound names and Spigot sound names are supported. Playing resource pack sounds are supported too. The sound category is 'master' by default. ,,Please note that sound names can get changed in any Minecraft or Spigot version, or even removed from Minecraft itself.
play sound[s] %strings% [(in|from) %soundcategory%] [(at|with) volume %number%] [(and|at|with) pitch %number%] at %locations% [for %players%] play sound[s] %strings% [(in|from) %soundcategory%] [(at|with) volume %number%] [(and|at|with) pitch %number%] [(to|for) %players%] [(at|from) %locations%]
play sound "block.note_block.pling" # It is block.note.pling in 1.12.2 play sound "entity.experience_orb.pickup" with volume 0.5 to the player play sound "custom.music.1" in jukebox category at {speakerBlock}
Sets whether all player related information is hidden in the server list.,The Vanilla Minecraft client will display ??? (dark gray) instead of player counts and will not show the,hover hist when hiding player info.,The version string can override the ???.,Also the Online Players Count and,Max Players expressions will return -1 when hiding player info.
hide [all] player [related] info[rmation] [(in|on|from) [the] server list] (show|reveal) [all] player [related] info[rmation] [(in|to|on|from) [the] server list]
hide player info hide player related information in the server list reveal all player related info
Change visibility of a player for the given players.,When reveal is used in combination of the hidden players expression and the viewers are not specified, this will default it to the given player in the hidden players expression.,,Note: if a player was hidden and relogs, this player will be visible again.
hide %players% [(from|for) %players%] reveal %players% [(to|for|from) %players%]
on join: if {vanished::%player's uuid%} is true: hide the player from all players reveal hidden players of {_player}
Poison or cure a creature.
poison %livingentities% [for %timespan%] (cure|unpoison) %livingentities% [(from|of) poison]
poison the player poison the victim for 20 seconds cure the player from poison
Apply or remove potion effects to/from entities.
apply [potion of] %potioneffecttypes% [potion] [[[of] tier] %number%] to %livingentities% [for %timespan%] apply ambient [potion of] %potioneffecttypes% [potion] [[[of] tier] %number%] to %livingentities% [for %timespan%] apply [potion of] %potioneffecttypes% [potion] [[[of] tier] %number%] without [any] particles to %livingentities% [for %timespan%]
apply swiftness 2 to the player remove haste from the victim on join: apply potion of strength of tier {strength.%player%} to the player for 999 days
Push entities around.
(push|thrust) %entities% %direction% [(at|with) (speed|velocity|force) %number%]
push the player upwards push the victim downwards at speed 0.5
Set the PvP state for a given world.
enable PvP [in %worlds%] disable PVP [in %worlds%]
enable PvP #(current world only) disable PvP in all worlds
Replaces all occurrences of a given text with another text. Please note that you can only change variables and a few expressions, e.g. a message or a line of a sign.,Starting with 2.2-dev24, you can replace items in a inventory too.
replace (all|every|) %strings% in %strings% with %string% replace (all|every|) %strings% with %string% in %strings% replace (all|every|) %itemstacks% in %inventories% with %itemstack% replace (all|every|) %itemstacks% with %itemstack% in %inventories%
replace "<item>" in {textvar} with "%item%" 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
Makes a function return a value
return %objects%
function double(i: number) :: number: return 2 * {_i}
Makes a player see a block as something it really isn't
make %players% see %blocks% as %itemstack%
make player see block at player as dirt
Request that the player's client download and switch resource packs. The client will download ,the resource pack in the background, and will automatically switch to it once the download is complete. ,The URL must be a direct download link.,,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.
send [the] resource pack [from [[the] URL]] %string% to %players% send [the] resource pack [from [[the] URL]] %string% with hash %string% to %players%
on join: send the resource pack from "URL" with hash "hash" to the player
Shears or 'un-shears' a sheep. Please note that no wool is dropped, this only sets the 'sheared' state of the sheep.
shear %livingentities% un[-]shear %livingentities%
on rightclick on a sheep holding a sword: shear the clicked sheep
Shoots a projectile (or any other entity) from a given entity.
shoot %entitydatas% [from %livingentities/locations%] [(at|with) (speed|velocity) %number%] [%direction%] (make|let) %livingentities/locations% shoot %entitydatas% [(at|with) (speed|velocity) %number%] [%direction%]
shoot an arrow make the player shoot a creeper at speed 10 shoot a pig from the creeper
Spawn a creature.
(spawn|summon) %entitytypes% [%directions% %locations%] (spawn|summon) %number% of %entitytypes% [%directions% %locations%]
spawn 3 creepers at the targeted block spawn a ghast 5 meters above the player
Stops a sound from playing to the specified players. Both Minecraft sound names and Spigot sound names are supported. Resource pack sounds are supported too. The sound category is 'master' by default. A sound can't be stopped from a different category. ,,Please note that sound names can get changed in any Minecraft or Spigot version, or even removed from Minecraft itself.
stop sound[s] %strings% [(in|from) %soundcategory%] [(from playing to|for) %players%] stop playing sound[s] %strings% [(in|from) %soundcategory%] [(to|for) %players%]
stop sound "block.chest.open" for the player stop playing sounds "ambient.underwater.loop" and "ambient.underwater.loop.additions" to the player
Teleport an entity to a specific location.
teleport %entities% (to|%direction%) %location%
teleport the player to {homes.%player%} teleport the attacker to the victim
Resets the title of the player to the default values.
reset [the] title[s] [of %players%] reset [the] %players%'[s] title[s]
reset the titles of all players reset the title
Sends a title/subtitle to the given player(s) with optional fadein/stay/fadeout times for Minecraft versions 1.11 and above.,Note: if no input is given for the title/subtitle or the times,it will keep the ones from the last title sent, use the reset title effect to restore the default values.
send title %string% [with subtitle %string%] [to %players%] [for %timespan%] [with fade[(-| )]in %timespan%] [(and|with) fade[(-| )]out %timespan%] send subtitle %string% [to %players%] [for %timespan%] [with fade[(-| )]in %timespan%] [(and|with) fade[(-| )]out %timespan%]
send title "Competition Started" with subtitle "Have fun, Stay safe!" to player for 5 seconds 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
Toggle the state of a block.
(close|turn off|de[-]activate) %blocks% (toggle|switch) [[the] state of] %blocks% (open|turn on|activate) %blocks%
# use arrows to toggle switches, doors, etc. on projectile hit: projectile is arrow toggle the block at the arrow
Toggle the flight mode of a player.
(allow|enable) (fly|flight) (for|to) %players% (disallow|disable) (fly|flight) (for|to) %players%
allow flight to event-player
Creates a tree.,This may require that there is enough space above the given location and that the block below is dirt/grass, but it is possible that the tree will just grow anyways, possibly replacing every block in its path.
(grow|create|generate) tree [of type %structuretype%] %directions% %locations% (grow|create|generate) %structuretype% [tree] %directions% %locations%
grow a tall redwood tree above the clicked block
Rotates a vector around another vector
rotate %vectors% around %vector% by %number% [degrees]
rotate {_v} around vector 1, 0, 0 by 90
Rotates a vector around x, y, or z axis by some degrees
rotate %vectors% around (x|y|z)(-| )axis by %number% [degrees]
rotate {_v} around x-axis by 90 rotate {_v} around y-axis by 90 rotate {_v} around z-axis by 90 degrees
Makes an entity ride another entity, e.g. a minecart, a saddled pig, an arrow, etc.
(make|let|force) %entities% [to] (ride|mount) [(in|on)] %entities/entitydatas% (make|let|force) %entities% [to] (dismount|(dismount|leave) (from|of|) (any|the[ir]|his|her|) vehicle[s]) (eject|dismount) (any|the|) passenger[s] (of|from) %entities%
make the player ride a saddled pig make the attacker ride the victim
Grant/revoke a user operator state.
[de[-]]op %offlineplayers%
op the player deop all players
Expressions
The affected entities in the area cloud effect event.
[the] affected entities
on area cloud effect: loop affected entities: if loop-value is a player: send "WARNING: you've step on an area effect cloud!" to loop-value
Returns all permissions of the defined player(s). Note that the modifications to resulting list do not actually change permissions.
[(all [[of] the]|the)] permissions (from|of) %players% [(all [[of] the]|the)] %players%'[s] permissions
set {_permissions::*} to all permissions of the player
Sorts given strings in alphabetical order.
alphabetically sorted %strings%
set {_list::*} to alphabetically sorted {_strings::*}
Effectively an alias of 'y-coordinate of …', it represents the height of some object above bedrock.
[the] altitude[s] of %locations% %locations%'[s] altitude[s]
on damage: altitude of the attacker is higher than the altitude of the victim set damage to damage * 1.2
The amount of something.,Please note that 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.
(amount|number|size) of %objects%
message "There are %number of all players% players online!"
Counts how many of a particular item type are in a given inventory.
[the] (amount|number) of %itemtypes% (in|of) %inventories%
message "You have %number of ores in the player's inventory% ores in your inventory."
Only usable in command events. Holds the value of an argument given to the command, e.g. if the command "/tell &lt;player&gt; &lt;text&gt;" is used like "/tell Njol Hello Njol!" argument 1 is the player named "Njol" and argument 2 is "Hello Njol!".,One can also use the type of the argument instead of its index to address the argument, e.g. in the above example 'player-argument' is the same as 'argument 1'.
[the] last arg[ument][s] [the] arg[ument][s](-| )<(\d+)> [the] <(\d*1)st|(\d*2)nd|(\d*3)rd|(\d*[4-90])th> arg[ument][s] [the] arg[ument][s] [the] %*classinfo%( |-)arg[ument][( |-)<\d+>] [the] arg[ument]( |-)%*classinfo%[( |-)<\d+>]
give the item-argument to the player-argument 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
Arithmetic expressions, e.g. 1 + 2, (health of player - 2) / 3, etc.
%number%[ ]+[ ]%number% %number%[ ]-[ ]%number% %number%[ ]*[ ]%number% %number%[ ]/[ ]%number% %number%[ ]^[ ]%number%
set the player's health to 10 - the player's health 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!"
A part of a player's armour, i.e. the boots, leggings, chestplate or helmet.
[the] (boot[s]|shoe[s]|leg[ging][s]|chestplate[s]|helm[et][s]) [(item|slot)] of %livingentities% %livingentities%'[s] (boot[s]|shoe[s]|leg[ging][s]|chestplate[s]|helm[et][s]) [(item|slot)]
set chestplate of the player to a diamond chestplate helmet of player is neither a helmet nor air # player is wearing a block, e.g. from another plugin
The victim of a damage event, e.g. when a player attacks a zombie this expression represents the zombie.
[the] (attacked|damaged|victim) [<(.+)>]
on damage: victim is a creeper damage the attacked by 1 heart
The attacker of a damage event, e.g. when a player attacks a zombie this expression represents the player.,Please note that the attacker can also be a block, e.g. a cactus or lava, but this expression will not be set in these cases.
[the] (attacker|damager)
on damage: attacker is a player health of attacker is less than or equal to 2 damage victim by 1 heart
The bed location of a player, i.e. the spawn point of a player if he ever slept in a bed and the bed still exists and is unobstructed.
[the] bed[s] [location[s]] of %players% %players%'[s] bed[s] [location[s]]
bed of player exists: teleport player the the player's bed else: teleport the player to the world's spawn point
The biome at a certain location. Please note that biomes are only defined for x/z-columns, i.e. the altitude (y-coordinate) doesn't matter.
[the] biome (of|%direction%) %location% %location%'[s] biome
# damage player in deserts constantly every real minute: loop all players: biome at loop-player is desert damage the loop-player by 1
The block involved in the event, e.g. the clicked block or the placed block.,Can optionally include a direction as well, e.g. 'block above' or 'block in front of the player'.
[the] [event-]block [the] block %direction% [%location%]
block is ore 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
All blocks in a sphere around a center, mostly useful for looping.
[(all [[of] the]|the)] blocks in radius %number% [(of|around) %location%] [(all [[of] the]|the)] blocks around %location% in radius %number%
loop blocks in radius 5 around the player: set loop-block to air
Blocks relative to other blocks or between other blocks. Can be used to get blocks relative to other blocks or for looping.
[(all [[of] the]|the)] blocks %direction% [%locations%] [(all [[of] the]|the)] blocks from %location% [on] %direction% [(all [[of] the]|the)] blocks from %block% to %block% [(all [[of] the]|the)] blocks (within|between) %block% and %block%
loop blocks above the player: 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
The author of a book.
[the] [book] (author|writer|publisher) of %itemstack% %itemstack%'[s] [book] (author|writer|publisher)
on book sign: message "Book Title: %author of event-item%"
The pages of a book.
[all] [the] [book] (pages|content) of %itemstack% %itemstack%'s [book] (pages|content) [book] page %number% of %itemstack% %itemstack%'s [book] page %number%
on book sign: message "Book Pages: %pages of event-item%" message "Book Page 1: %page 1 of event-item%"
The title of a book.
[the] (book name|title) of %itemstack% %itemstack%'[s] (book name|title)
on book sign: message "Book Title: %title of event-item%"
The time a furnace takes to burn an item in a fuel burn event.,Can also be used to change the burn/cook time of a placed furnace.
[the] burn[ing] time [the] (burn|cook)[ing] time of %blocks% %blocks%'[s] (burn|cook)[ing] time
on fuel burn: if fuel slot is coal: set burning time to 1 tick
Can be used to get/retrieve the chat format. The sender of a message is represented by [player] or [sender], and the message by [message] or [msg].
[the] (message|chat) format[ting]
set the chat format to "<yellow>[player]<light gray>: <green>[message]"
Recipients of chat events where this is called.
[chat][( |-)]recipients
chat recipients
The chunk a block, location or entity is in.
[the] chunk[s] (of|%directions%) %locations% %locations%'[s] chunk[s]
add the chunk at the player to {protected chunks::*}
The clicked block, entity, inventory, inventory slot, inventory click type or inventory action.
[the] (clicked (block|%*itemtype/entitydata%)|clicked slot|clicked inventory|click (type|action)|inventory action)
message "You clicked on a %type of clicked entity%!" if the clicked block is a chest: show the inventory of the clicked block to the player
The colour of an item, can also be used to colour chat messages with "&lt;%colour of ...%&gt;this text is coloured!".
[the] colo[u]r[s] of %blocks/itemtypes/entities/fireworkeffects% %blocks/itemtypes/entities/fireworkeffects%'[s] colo[u]r[s]
on click on wool: message "This wool block is <%colour of block%>%colour of block%<reset>!" set the colour of the block to black
Parses &lt;colour&gt;s and, optionally, chat styles in a message or removes,any colours and chat styles from the message. Parsing all,chat styles requires this expression to be used in same line with,the send effect.
(colo[u]r-|colo[u]red )%strings% (format-|formatted )%strings% (un|non)[-](colo[u]r-|colo[u]red |format-|formatted )%strings%
on chat: set message to coloured message # Safe; only colors get parsed command /fade &lt;player&gt;: trigger: set display name of the player-argument to uncoloured display name of the player-argument command /format &lt;text&gt;: trigger: message formatted text-argument # Safe, because we're sending to whoever used this command
The command that caused an 'on command' event (excluding the leading slash and all arguments)
[the] (full|complete|whole) command [the] command [label] [the] arguments
# prevent any commands except for the /exit command during some game 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
The player or the console who sent a command. Mostly useful in commands and command events.
[the] [command['s]] (sender|executor)
make the command sender execute "/say hi!" on command: log "%executor% used command /%command% %arguments%" to "commands.log"
The location a player's compass is pointing at.
[the] compass target of %players% %players%'[s] compass target
# make all player's compasses target a player stored in {compass::target::%player%} every 5 seconds: loop all players: set the loop-player's compass target to location of {compass::target::%%loop-player%}
Represents the server's console which can receive messages and execute commands
[the] (console|server)
execute console command "/stop" send "message to console" to the console
Only usable in command events. Represents the cooldown time, the remaining time, the elapsed time,,the last usage date, or the cooldown bypass permission.
[the] remaining [time] [of [the] (cooldown|wait) [(of|for) [the] [current] command]] [the] elapsed [time] [of [the] (cooldown|wait) [(of|for) [the] [current] command]] [the] ((cooldown|wait) time|[wait] time of [the] (cooldown|wait) [(of|for) [the] [current] command]) [the] last usage [date] [of [the] (cooldown|wait) [(of|for) [the] [current] command]] [the] [cooldown] bypass perm[ission] [of [the] (cooldown|wait) [(of|for) [the] [current] command]]
command /home: 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%}
Represents a given coordinate of a location.
[the] (x|y|z)(-| )(coord[inate]|pos[ition]|loc[ation])[s] of %locations% %locations%'[s] (x|y|z)(-| )(coord[inate]|pos[ition]|loc[ation])[s]
player's y-coordinate is smaller than 40: message "Watch out for lava!"
The entity involved in an event (an entity is a player, a creature or an inanimate object like ignited TNT, a dropped item or an arrow).,You can use the specific type of the entity that's involved in the event, e.g. in a 'death of a creeper' event you can use 'the creeper' instead of 'the entity'.
[the] [event-]<.+>
give a diamond sword of sharpness 3 to the player kill the creeper kill all powered creepers in the wolf's world projectile is an arrow
The item which the player has on their cursor. This slot is always empty if player has no inventories open.
[the] cursor slot of %players% %players%'[s] cursor slot
cursor slot of player is dirt set cursor slot of player to 64 diamonds
Returns a chest inventory with the given amount of rows and the name. Use the open inventory effect to open it.
[a [new]] chest inventory (named|with name) %string% [with %number% row[s]] [a [new]] chest inventory with %number% row[s] [(named|with name) %string%]
open chest inventory with 1 row named "test" to player set {_inventory} to chest inventory with 1 row
How much damage is done in a damage event, possibly ignoring armour, criticals and/or enchantments. Can be changed (remember that in Skript '1' is one full heart, not half a heart).
[the] damage
increase the damage by 2
The damage cause of a damage event. Please click on the link for more information.
[the] damage (cause|type)
damage cause is lava, fire or burning
Directly damages an item. In MC versions 1.12.2 and lower, this can be used to apply data values to items/blocks
%itemtype% with (damage|data) [value] %number% %itemtype% damaged by %number%
give player diamond sword with damage value 100 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
The data value of an item.,You usually don't need this expression as you can check and set items with aliases easily, but this expression can e.g. be used to "add 1 to data of &lt;item&gt;", e.g. for cycling through all wool colours.
[the] ((data|damage)[s] [value[s]]|durabilit(y|ies)) of %itemstacks/slots% %itemstacks/slots%'[s] ((data|damage)[s] [value[s]]|durabilit(y|ies))
add 1 to the data value of the clicked block
A date the specified timespan before/after another date.
%timespan% (ago|in the past|before [the] [date] %date%) %timespan% (later|(from|after) [the] [date] %date%)
set {_yesterday} to 1 day ago
A shorthand expression for giving things a default value. If the first thing isn't set, the second thing will be returned.
%objects% (otherwise|?) %objects%
broadcast {score::%player's uuid%} otherwise "%player% has no score!"
The difference between two values, e.g. numbers, dates or times.
difference (between|of) %object% and %object%
if difference between {command::%player%::lastuse} and now is smaller than a minute: message "You have to wait a minute before using this command again!"
The difficulty of a world.
[the] difficult(y|ies) of %worlds% %worlds%'[s] difficult(y|ies)
set the difficulty of "world" to hard
A helper expression for the direction type.
[%number% [(block|met(er|re))[s]] [to the]] (north[(-| |)(east|west)][(ward(s|ly|)|er(n|ly|))] [of]|south[(-| |)(east|west)][(ward(s|ly|)|er(n|ly|))] [of]|(east|west)[(ward(s|ly|)|er(n|ly|))] [of]|above|over|(up|down)[ward(s|ly|)]|below|under[neath]|beneath) [%direction%] [%number% [(block|met(er|re))[s]]] in [the] (direction|horizontal direction|facing|horizontal facing) of %entity/block% (of|from|) [%number% [(block|met(er|re))[s]]] in %entity/block%'[s] (direction|horizontal direction|facing|horizontal facing) (of|from|) [%number% [(block|met(er|re))[s]]] (in[ ]front [of]|forward[s]|behind|backwards|[to the] (right|left) [of]) [%number% [(block|met(er|re))[s]]] horizontal[ly] (in[ ]front [of]|forward[s]|behind|backwards|to the (right|left) [of])
thrust the player upwards 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
The distance between two points.
[the] distance between %location% and %location%
if the distance between the player and {home::%uuid of player%} is smaller than 20: message "You're very close to your home!"
Only works in death events. Holds the drops of the dying creature. Drops can be prevented by removing them with "remove ... from drops", e.g. "remove all pickaxes from the drops", or "clear drops" if you don't want any drops at all.
[the] drops
clear drops remove 4 planks from the drops
The first, last or a random element of a set, e.g. a list variable.,See also: random
([the] first|[the] last|[a] random|%number%(st|nd|rd|th)) element [out] of %objects%
give a random element out of {free items::*} to the player
The level of a particular enchantment on an item.
[the] [enchant[ment]] level[s] of %enchantments% (on|of) %itemtypes% [the] %enchantments% [enchant[ment]] level[s] (on|of) %itemtypes% %itemtypes%'[s] %enchantments% [enchant[ment]] level[s] %itemtypes%'[s] [enchant[ment]] level[s] of %enchantments%
player's tool is a sword of sharpness: message "You have a sword of sharpness %level of sharpness of the player's tool% equipped"
The ender chest of a player.
[the] ender[ ]chest[s] of %players% %players%'[s] ender[ ]chest[s]
open the player's ender chest to the player
All entities in all worlds, in a specific world or in a radius around a certain location, e.g. 'all players', 'all creepers in the player's world', or 'players in radius 100 of the player'.
[(all [[of] the]|the)] %*entitydatas% [(in|of) [world[s]] %worlds%] [(all [[of] the]|the)] entities of type[s] %entitydatas% [(in|of) [world[s]] %worlds%] [(all [[of] the]|the)] %*entitydatas% (within|[with]in radius) %number% [(block[s]|met(er|re)[s])] (of|around) %location% [(all [[of] the]|the)] entities of type[s] %entitydatas% in radius %number% (of|around) %location%
kill all creepers in the player's world send "Psst!" to all players witin 100 meters of the player give a diamond to all ops heal all tamed wolves in radius 2000 around {town center}
The exhaustion of a player. This is mainly used to determine the rate of hunger depletion.
[the] exhaustion of %players% %players%'[s] exhaustion
set exhaustion of all players to 1
How much experience was spawned in an experience spawn event. Can be changed.
[the] (spawned|dropped|) [e]xp[erience] [orb[s]]
on experience spawn: add 5 to the spawned experience
The facing of an entity or block, i.e. exactly north, south, east, west, up or down (unlike direction which is the exact direction, e.g. '0.5 south and 0.7 east')
[the] (horizontal|) facing of %livingentities/blocks% %livingentities/blocks%'[s] (horizontal|) facing
# makes a bridge loop blocks from the block below the player in the horizontal facing of the player: set loop-block to cobblestone
Filters a list based on a condition. For example, if you ran 'broadcast "something" and "something else" where [string input is "something"]only "something" would be broadcast as it is the only string that matched the condition.
%objects% (where|that match) \[<.+>\]
send "congrats on being staff!" to all players where [player input has permission "staff"]
Represents the input in a filter expression. For example, if you ran 'broadcast "something" and "something else" where [input is "something"]the condition would be checked twice, using "something" and "something else" as the inputs.
input %*classinfo% input
send "congrats on being staff!" to all players where [input has permission "staff"]
How much damage is done in a damage event, considering all types of damage reduction. Can NOT be changed.
[the] final damage
send "%final damage%" to victim
Whether the player(s) are allowed to fly. Use Make Fly effect to force player(s) to fly.
[the] fl(y[ing]|ight) (mode|state) of %players% %players%'[s] fl(y[ing]|ight) (mode|state)
set flight mode of player to true send "%flying state of all players%"
The food level of a player from 0 to 10. Has several aliases: food/hunger level/meter/bar.
[the] (food|hunger)[[ ](level|met(er|re)|bar)] [of %player%] %player%'[s] (food|hunger)[[ ](level|met(er|re)|bar)]
set the player's food level to 10
Converts date to human-readable text format. By default, 'yyyy-MM-dd HH:mm:ss z' (e.g. '2018-03-30 16:03:12 +01') will be used. For reference, see this Wikipedia article.
%dates% formatted [human-readable] [(with|as) %string%]
now formatted human-readable
Represents the value of an expression before an event happened or the value it will have directly after the event, e.g. the old or new level respectively in a level change event.,Note: The past, future and present states of an expression are sometimes called 'time states' of an expression.,Note 2: If you don't specify whether to use the past or future state of an expression that has different values, its default value will be used which is usually the value after the event.
[the] (former|past|old) [state] [of] %object% %object% before [the event] [the] (future|to-be|new) [state] [of] %object% %object%(-to-be| after[(wards| the event)])
on teleport: 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
A slot of a furnace, i.e. either the ore, fuel or result slot.,Remember to use 'block' and not 'furnace', as 'furnace' is not an existing expression.
(fuel|result) [slot] (ore|fuel|result)[s] [slot[s]] of %blocks% %blocks%'[s] (ore|fuel|result)[s] [slot[s]]
set the fuel slot of the clicked block to a lava bucket 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
The gamemode of a player. (Gamemodes)
[the] game[ ]mode of %players% %players%'[s] game[ ]mode
player's gamemode is survival set the player's gamemode to creative
Sets of gets gliding state of player. It allows you to set gliding state of entity even if they do not have an Elytra equipped.
[the] (gliding|glider) [state] of %entities% %entities%'[s] (gliding|glider) [state]
set gliding of player to off
Indicates if targeted entity is glowing (new 1.9 effect) or not. Glowing entities can be seen through walls.
[the] glowing of %entities% %entities%'[s] glowing
set glowing of player on
If entity is affected by gravity or not, i.e. if it has Minecraft 1.10+ NoGravity flag.
[the] gravity of %entities% %entities%'[s] gravity
set gravity of player off
Hashes the given text using the MD5 or SHA-256 algorithms. Each algorithm is suitable for different use cases.<p>,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! ,<p>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.
%strings% hash[ed] with (MD5|SHA-256)
command /setpass <text>: 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!"
The location of an entity's head, mostly useful for players and e.g. looping blocks in the player's line of sight.,Please note that this location is only accurate for entities whose head is exactly above their center, i.e. players, endermen, zombies, skeletons, etc., but not sheep, pigs or cows.
[the] (head|eye[s]) [location[s]] of %livingentities% %livingentities%'[s] (head|eye[s]) [location[s]]
set the block at the player's head to air set the block in front of the player's eyes to glass loop blocks in front of the player's head:
The health of a creature, e.g. a player, mob, villager, etc. The minimum value is 0, and the maximum is the creature's max health (e.g. 10 for players).
[the] health of %livingentities% %livingentities%'[s] health
message "You have %health% HP left."
Returns the highest solid block at the x and z coordinates of the world of a given location.
highest [(solid|non-air)] block at %locations%
highest block at location of arg-player
The slot number of the currently selected hotbar slot.
[the] [([currently] selected|current)] hotbar slot of %players% %players%'[s] [([currently] selected|current)] hotbar slot
message "%player's current hotbar slot%" set player's selected hotbar slot to slot 4 of player
The list when you hover on the player counts of the server in the server list.,This can be changed using texts or players in a server list ping event only. Adding players to the list means adding the name of the players.,And note that, for example if there are 5 online players (includes fake online count) in the server and the hover list is set to 3 values, Minecraft will show "... and 2 more ..." at end of the list.
[the] [custom] [(player|server)] (hover|sample) ([message] list|message) [the] [custom] player [(hover|sample)] list
on server list ping: clear the hover list add "<light green>Welcome to the <orange>Minecraft <light green>server!" to the hover list add "" to the hover list # A blank line add "<light red>There are <orange>%online players count% <light red>online players!" to the hover list
Humidity of given blocks.
[the] humidit(y|ies) of %blocks% %blocks%'[s] humidit(y|ies)
set {_humidity} to event-block's humidity
The IP address of a player, or the connected player in a connect event, or the pinger in a server list ping event.
IP[s][( |-)address[es]] of %players% %players%'[s] IP[s][( |-)address[es]] IP[( |-)address]
ban the IP address of the player 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
The id of a specific item. You usually don't need this expression as you can likely do everything with aliases.
[the] id(s|) of %itemtype% %itemtype%'[s] id(s|)
message "the ID of %type of the clicked block% is %id of the clicked block%."
The first or last index of a character (or text) in a text, or -1 if it doesn't occur in the text. Indices range from 1 to the length of the text.
[the] (|first|last) index of %string% in %string%
set {_first} to the first index of "@" in the text argument 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}
Returns all the indexes of a list variable
[the] (indexes|indices) of %objects% (all of the|all the|all) (indices|indexes) of %objects%
set {l::*} to "some", "cool" and "values" broadcast "%all indexes of {l::*}%" # result is 1, 2 and 3
The inventory of a block or player. You can usually omit this expression and can directly add or remove items to/from blocks or players.
[the] inventor(y|ies) of %inventoryholders% %inventoryholders%'[s] inventor(y|ies)
add a plank to the player's inventory clear the player's inventory remove 5 wool from the inventory of the clicked block
The inventory action of an inventory event. Please click on the link for more information.
[the] inventory action
inventory action is pickup all
Gets the rows/size/viewers/holder of an inventory.
[the] (holder[s]|viewers|[amount of] rows) of %inventories% %inventories%'[s] (holder[s]|viewers|[amount of] rows)
event-inventory's amount of rows holder of player's top inventory {_inventory}'s viewers
Represents a slot in an inventory. It can be used to change the item in an inventory too.
[the] slot[s] %numbers% of %inventory% %inventory%'[s] slot[s] %numbers%
if slot 0 of player is air: 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
The item involved in an event, e.g. in a drop, dispense, pickup or craft event.
[the] item
on dispense: item is a clock set the time to 6:00
The amount of an item stack.
[the] item[[ ]stack] (amount|size|number) of %itemstacks% %itemstacks%'[s] item[[ ]stack] (amount|size|number)
send "You have got %item amount of player's tool% %player's tool% in your hand!" to player
All the enchantments an item type has.
[the] enchantments of %itemtypes% %itemtypes%'[s] enchantments
clear enchantments of event-item
An item associated with an entity. For dropped item entities, it gets, obviously, the item that was dropped. For item frames, the item inside the frame is returned. Other entities do not have items associated with them.
[the] item of %entities% %entities%'[s] item
Returns the given item type with the specified lore added to it.,If multiple strings are passed, each of them will be a separate line in the lore.
%itemtype% with [(a|the)] lore %strings%
set {_test} to stone with lore "line 1" and "line 2" give {_test} to player
Items or blocks of a specific type, useful for looping.
[(all [[of] the]|the|every)] item(s|[ ]types) [(all [[of] the]|the)] items of type[s] %itemtypes% [(all [[of] the]|the|every)] block(s|[ ]types) [(all [[of] the]|the)] blocks of type[s] %itemtypes%
loop items of type ore and log: 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
All items in an inventory. Useful for looping or storing in a list variable.,Please note that the positions of the items in the inventory are not saved, only their order is preserved.
[(all [[of] the]|the)] items ([with]in|of|contained in|out of) (|inventor(y|ies)) %inventories%
loop all items in the player's inventory: loop-item is enchanted remove loop-item from the player set {inventory::%uuid of player%::*} to items in the player's inventory
Joins several texts with a common delimiter (e.g. ", "), or splits a text into multiple texts at a given delimiter.
(concat[enate]|join) %strings% [(with|using|by) [[the] delimiter] %string%] split %string% (at|using|by) [[the] delimiter] %string% %string% split (at|using|by) [[the] delimiter] %string%
message "Online players: %join all players with "" | ""%" # %all players% would use the default "x, y, and z" set {_s::*} to the string argument split at ","
Currently selected game language of a player. The value of the language is not defined properly.,The vanilla Minecraft client will use lowercase language / country pairs separated by an underscore, but custom resource packs may use any format they wish.
[the] [([currently] selected|current)] [game] (language|locale) [setting] of %players% %players%'[s] [([currently] selected|current)] [game] (language|locale) [setting]
message player's current language
Cause of last damage done to an entity
[the] last damage (cause|reason|type) of %livingentities% %livingentities%'[s] last damage (cause|reason|type)
set last damage cause of event-entity to fire tick
Returns the last loaded server icon with the load server icon effect.
[the] [last[ly]] loaded server icon
set {server-icon} to the last loaded server icon
Returns the last resource pack response received from a player.
[the] [last] resource pack response[s] of %players% %players%'[s] [last] resource pack response[s]
if player's last resource pack response is deny or download fail:
Holds the entity that was spawned most recently with the spawn effect, drop with the drop effect or shot with the shoot effect. Please note that even though you can spawn multiple mobs simultaneously (e.g. with 'spawn 5 creepers'), only the last spawned mob is saved and can be used. If you spawn an entity, shoot a projectile and drop an item you can however access all them together.
[the] [last[ly]] (spawned|shot) %*entitydata% [the] [last[ly]] dropped (item)
spawn a priest 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
The leash holder of a living entity.
[the] leash holder[s] of %livingentities% %livingentities%'[s] leash holder[s]
set {_example} to the leash holder of the target mob
The length of a text, in number of characters.
[the] length of %strings% %strings%'[s] length
set {_l} to length of the string argument
The level of a player.
[the] level of %players% %players%'[s] level
reduce the victim's level by 1 set the player's level to 0
The player's progress in reaching the next level, this represents the experience bar in the game. Please note that this value is between 0 and 1 (e.g. 0.5 = half experience bar).,Changing this value can cause the player's level to change if the resulting level progess is negative or larger than 1, e.g. increase the player's level progress by 0.5 will make the player gain a level if his progress was more than 50%.
[the] level progress of %players% %players%'[s] level progress
# use the exp bar as mana 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
Gets the light level at a certain location which ranges from 0 to 15.,It can be separated into sunlight (15 = direct sunlight, 1-14 = indirect) and block light (torches, glowstone, etc.). The total light level of a block is the maximum of the two different light types.
[(sky|sun|block)[ ]]light[ ]level [(of|%direction%) %location%]
# set vampire players standing in bright sunlight on fire 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
The location of a block or entity. This not only represents the x, y and z coordinates of the location but also includes the world and the direction an entity is looking (e.g. teleporting to a saved location will make the teleported entity face the same saved direction every time).,Please note that the location of an entity is at it's feet, use head location to get the location of the head.
(location|position) of %location% %location%'[s] (location|position)
set {home::%uuid of player%} to the location of the player message "You home was set to %player's location% in %player's world%."
The location where an event happened (e.g. at an entity or block), or a location relative to another (e.g. 1 meter above another location).
[the] [event-](location|position) [the] (location|position) %directions% [%location%]
drop 5 apples at the event-location # exactly the same as writing 'drop 5 apples' set {_loc} to the location 1 meter above the player
Allows to create a location from three coordinates and a world.
[the] (location|position) [at] [(][x[ ][=[ ]]]%number%, [y[ ][=[ ]]]%number%, [and] [z[ ][=[ ]]]%number%[)] [[(in|of) [[the] world]] %world%]
set {_loc} to the location at arg-1, arg-2, arg-3 of the world arg-4 distance between the player and the location (0, 0, 0) is less than 200
The currently looped value.
[the] loop-<.+>
# countdown: loop 10 times: message "%11 - loop-number%" wait a second # generate a 10x10 floor made of randomly coloured 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
An item's lore.
[the] lore of %itemstack/itemtype% %itemstack/itemtype%'[s] lore [the] line %number% of [the] lore of %itemstack/itemtype% [the] line %number% of %itemstack/itemtype%'[s] lore [the] %number%(st|nd|rd|th) line of [the] lore of %itemstack/itemtype% [the] %number%(st|nd|rd|th) line of %itemstack/itemtype%'[s] lore
set the 1st line of the item's lore to "<orange>Excalibur 2.0"
The message of the day in the server list. This can be changed in a server list ping event only.,'default MOTD' returns the default MOTD always and can't be changed.
[the] [(default)|(shown|displayed)] (MOTD|message of [the] day)
on server list ping: set the motd to "Join now!"
The maximum health of an entity, e.g. 10 for a player.
[the] max[imum] health of %livingentities% %livingentities%'[s] max[imum] health
on join: set the maximum health of the player to 100 spawn a giant set the last spawned entity's max health to 1000
The count of max players. This can be changed in a server list ping event only.,'real max players' returns the real count of max players of the server always and can't be changed.
[the] [((real|default)|(fake|shown|displayed))] max[imum] player[s] [(count|amount|number|size)] [the] [((real|default)|(fake|shown|displayed))] max[imum] (count|amount|number|size) of players
on server list ping: set the max players count to (online players count + 1)
The maximum stack size of the specified material, e.g. 64 for torches, 16 for buckets, and 1 for swords.
[the] max[imum] stack[[ ]size] of %itemstack% %itemstack%'[s] max[imum] stack[[ ]size]
send "You can only pick up %max stack size of player's tool% of %type of (player's tool)%" to player
A 'me' expression that can be used in effect commands only.
me my[self]
!heal me !kick myself !give a diamond axe to me
The (chat) message of a chat event, the join message of a join event, the quit message of a quit event, or the death message on a death event. This expression is mostly useful for being changed.
[the] [chat( |-)]message [the] (join|log[ ]in)( |-)message [the] (quit|leave|log[ ]out|kick)( |-)message [the] death( |-)message
on chat: player has permission "admin" set message to "<red>%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!"
Metadata is a way to store temporary data on entities, blocks and more that disappears after a server restart.
metadata [(value|tag)[s]] %strings% of %metadataholders% %metadataholders%'[s] metadata [(value|tag)[s]] %string%
set metadata value "healer" of player to true broadcast "%metadata value ""healer"" of player%" clear metadata value "healer" of player
Blocks which are moved in a piston event. Cannot be used outside of piston events.
[the] moved blocks
the moved blocks
Represents the Minecraft account, display or tab list name of a player, or the custom name of an item, entity or inventory.,,<ul>, <strong>Players, <ul>, <strong>Name: The Minecraft account name of the player. Can't be changed, but 'display name' can be changed.</li>, <strong>Display Name: The name of the player that is displayed in messages. This name can be changed freely and can include colour codes, and is shared among all plugins (e.g. chat plugins will use the display name).</li>, </ul>, </li>, <strong>Entities, <ul>, <strong>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'.</li>, <strong>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.</li>, </ul>, </li>, <strong>Items, <ul>, <strong>Name and Display Name: The custom name of the item (not the Minecraft locale name). Can be changed.</li>, </ul>, </li>, <strong>Inventories, <ul>, <strong>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.</li>, </ul>, </li>,</ul>
[the] (player|tab)[ ]list name[s] of %players% %players%'[s] (player|tab)[ ]list name[s] [the] (display|nick|chat)[ ]name[s] of %itemstacks/slots/entities/players/inventories% %itemstacks/slots/entities/players/inventories%'[s] (display|nick|chat)[ ]name[s] [the] name[s] of %itemstacks/slots/entities/players/inventories% %itemstacks/slots/entities/players/inventories%'[s] name[s]
on join: 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"
Directly names an item/inventory, useful for defining a named item/inventory in a script. If you want to (re)name existing items/inventories you can either use this expression or use set <a href='#ExprName'>name of &lt;item/inventory&gt; to &lt;text&gt;</code>.
%itemtype/inventorytype% (named|with name[s]) %string%
give a diamond sword of sharpness 100 named "<gold>Excalibur" to the player 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
The current system time of the server. Use time to get the Minecraft time of a world.
now
broadcast "Current server time: %now%"
All numbers between two given numbers, useful for looping.,Use 'numbers' if your start is not an integer and you want to keep the fractional part of the start number constant, or use 'integers' if you only want to loop integers.,You may want to use the 'times' expression instead, for instance 'loop 5 times:'
[(all [[of] the]|the)] (numbers|integers) (between|from) %number% (and|to) %number%
loop numbers from 2.5 to 5.5: # loops 2.5, 3.5, 4.5, 5.5 loop integers from 2.9 to 5.1: # same as '3 to 5', i.e. loops 3, 4, 5
All players that have ever joined the server. This includes the players currently online.
[(all [[of] the]|the)] offline[ ]players
send "Size of all players who have joined the server: %size of all offline players%"
The amount of online players. This can be changed in a,server list ping event only to show fake online player amount.,'real online player count' always returns the real count of online players and can't be changed.,,Fake online player count requires PaperSpigot 1.12.2+.
[the] [((real|default)|(fake|shown|displayed))] [online] player (count|amount|number) [the] [((real|default)|(fake|shown|displayed))] (count|amount|number|size) of online players
on server list ping: # 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)
Return the currently opened inventory of a player.,If no inventory is open, it returns the own player's crafting inventory.
[the] (current|open|top) inventory [of %players%] %players%'[s] (current|open|top) inventory
set slot 1 of player's current inventory to diamond sword
Parses text as a given type, or as a given pattern.,This expression can be used in two different ways: One which parses the entire text as a single instance of a type, e.g. as a number, and one that parses the text according to a pattern.,If the given text could not be parsed, this expression will return nothing and the parse error will be set if some information is available.,Some notes about parsing with a pattern:,- The pattern must be a Skript pattern, e.g. percent signs are used to define where to parse which types, e.g. put a %number% or %items% in the pattern if you expect a number or some items there.,- You have to save the expression's value in a list variable, e.g. 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}.
%string% parsed as (%*classinfo%|"<.*>")
set {var} to line 1 parsed as number 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
The error which caused the last parse operation to fail, which might not be set if a pattern was used and the pattern didn't match the provided text at all.
[the] [last] [parse] error
set {var} to line 1 parsed as integer 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!"
The passenger of a vehicle, or the rider of a mob.,For 1.11.2 and above, it returns a list of passengers and you can use all changers in it.,See also: vehicle
[the] passenger[s] of %entities% %entities%'[s] passenger[s]
#for 1.11 and lower 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
Pings of players, as Minecraft server knows them. Note that they will almost certainly be different from the ones you'd get from using ICMP echo requests. This expression is only supported on some server software (PaperSpigot).
[the] ping of %players% %players%'[s] ping
command /ping <player=%player%>: trigger: send "%arg-1%'s ping is %arg-1's ping%"
Gets a skull item representing a player. Skulls for other entities are provided by the aliases.
[the] (head|skull) of %offlineplayers% %offlineplayers%'[s] (head|skull)
give the victim's skull to the attacker set the block at the entity to the entity's skull
The weather for a player.
[the] [(client|custom)] weather of %players% %players%'[s] [(client|custom)] weather
set weather of arg-player to rainy reset player's weather if arg-player's weather is rainy
The blocks associated with a portal in the portal creation event.
[the] portal['s] blocks [the] blocks of [the] portal
on portal creation: loop portal blocks: broadcast "%loop-block% is part of a portal!"
The protocol version that will be sent as the protocol version of the server in a server list ping event. For more information and list of protocol versions visit wiki.vg.,If this protocol version doesn't match with the protocol version of the client, the client will see the version string.,But please note that, this expression has no visual effect over the version string. For example if the server uses PaperSpigot 1.12.2, and you make the protocol version 107 (1.9),,the version string will not be "Paper 1.9", it will still be "Paper 1.12.2".,But then you can customize the version string as you wish.,Also if the protocol version of the player is higher than protocol version of the server, it will say,"Server out of date!", and if vice-versa "Client out of date!" when you hover on the ping bars.,,This can be set in a server list ping event only,(increase and decrease effects cannot be used because that wouldn't make sense).
[the] [(sent|required|fake)] protocol version [number]
on server list ping: 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
Gets a random item out of a set, e.g. a random player out of all players online.
[a] random %*classinfo% [out] of %objects%
give a diamond to a random player out of all players give a random item out of all items to the player
A random number or integer between two given numbers. Use 'number' if you want any number with decimal parts, or use use 'integer' if you only want whole numbers.,Please note that the order of the numbers doesn't matter, i.e. random number between 2 and 1 will work as well as random number between 1 and 2.
[a] random (integer|number) (from|between) %number% (to|and) %number%
set the player's health to a random number between 5 and 10 send "You rolled a %random integer from 1 to 6%!" to the player
The raw Minecraft material name of the given item. Note that this is not guaranteed to give same results on all servers.
(raw|minecraft|vanilla) name[s] of %itemtypes%
raw name of tool of player
How much time a player has left underwater before starting to drown.
[the] remaining air of %livingentities% %livingentities%'[s] remaining air
player's remaining air is less than 3 seconds: send "hurry, get to the surface!" to the player
The location that a player should respawn at. This is used within the respawn event.
[the] respawn location
on respawn: set respawn location to {example::spawn}
Reverses given list.
reversed %objects%
set {_list::*} to reversed {_list::*}
Rounds numbers normally, up (ceiling) or down (floor) respectively.
(a|the|) round[ed] down %number% (a|the|) round[ed] %number% (a|the|) round[ed] up %number%
set {var} to rounded health of player set line 1 of the block to rounded "%(1.5 * player's level)%" add rounded down argument to the player's health
The saturation of a player. If used in a player event, it can be omitted and will default to event-player.
[the] saturation [of %players%] %players%'[s] saturation
set saturation of player to 20
Scoreboard tags are simple list of texts stored directly in the data of an entity.,So this is a Minecraft related thing, not Bukkit, so the tags will not get removed when the server stops. You can visit visit Minecraft Wiki for more info.,This is changeable and valid for any type of entity. Also you can use use the Has Scoreboard Tag condition to check whether an entity has the given tags.,,Requires Minecraft 1.11+ (actually added in 1.9 to the game, but added in 1.11 to Spigot).
[(all [[of] the]|the)] scoreboard tags of %entities% %entities%'[s] scoreboard tags
on spawn of a monster: 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
Holds the current script's name (the file name without '.sk').
[the] script[['s] name] name of [the] script
on script load: set {running::%script%} to true on script unload: set {running::%script%} to false
Icon of the server in the server list. Can be set to an icon that loaded using the,load server icon effect,,or can be reset to the default icon in a server list ping.,'default server icon' returns the default server icon (server-icon.png) always and cannot be changed.
[the] [((default)|(shown|sent))] [server] icon
on script load: set {server-icons::default} to the default server icon
The shooter of a projectile.
[the] shooter [of %projectile%]
shooter is a skeleton
Shuffles given list randomly. This is done by replacing indices by random numbers in resulting list.
shuffled %objects%
set {_list::*} to shuffled {_list::*}
A line of text on a sign. Can be changed, but remember that there is a 16 character limit per line (including colour codes that use 2 characters each).
[the] line %number% [of %block%] [the] (1st|first|2nd|second|3rd|third|4th|fourth) line [of %block%]
on rightclick on sign: line 2 of the clicked block is "[Heal]": heal the player set line 3 to "%player%"
Index of an an inventory slot. Other types of slots may or may not have indices. Note that comparing slots with numbers is also possible; if index of slot is same as the number, comparisonsucceeds. This expression is mainly for the cases where you must for some reason save the slot numbers.
[the] (index|indices) of %slots% %slots%'[s] (index|indices)
if index of event-slot is 10: send "You bought a pie!"
Sorts given list in natural order. All objects in list must be comparable;,if they're not, this expression will return nothing.
sorted %objects%
set {_sorted::*} to sorted {_players::*}
The spawn point of a world.
[the] spawn[s] [(point|location)[s]] [of %worlds%] %worlds%'[s] spawn[s] [(point|location)[s]]
teleport all players to spawn set the spawn point of "world" to the player's location
The spawn reason in a spawn event.
[the] spawn[ing] reason
on spawn: spawn reason is reinforcements or breeding
Retrieves, sets, or resets the spawner's entity type
[the] (entity|creature) type[s] of %blocks% %blocks%'[s] (entity|creature) type[s]
on right click: if event-block is spawner: send "Spawner's type is %target block's entity type%"
Special number values, namely NaN, Infinity and -Infinity
(NaN|[(-|minus)](infinity|∞)) value value of (NaN|[(-|minus)](infinity|∞))
if {_number} is NaN value:
A player's walking or flying speed. Both can be changed, but values must be between -1 and 1 (excessive values will be changed to -1 or 1 respectively). Negative values reverse directions.,Please note that changing a player's speed will change his FOV just like potions do.
[the] (walk[ing]|fl(y[ing]|ight))[( |-])speed of %players% %players%'[s] (walk[ing]|fl(y[ing]|ight))[( |-])speed
set the player's walk speed to 1 increase the argument's fly speed by 0.1
Extracts part of a text. You can either get the first &lt;x&gt; characters, the last &lt;x&gt; characters, or the characters between indices &lt;x&gt; and &lt;y&gt;. The indices &lt;x&gt; and &lt;y&gt; should be between 1 and the length of the text (other values will be fit into this range).
[the] (part|sub[ ](text|string)) of %strings% (between|from) (ind(ex|ices)|character[s]|) %number% (and|to) (index|character|) %number% [the] (first|last) [%number%] character[s] of %strings% [the] %number% (first|last) characters of %strings%
set {_s} to the first 5 characters of the text argument 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
Returns the 3 most recent TPS readings, like the /tps command. This expression is only supported on some server software (PaperSpigot).
tps from [the] last ([1] minute|1[ ]m[inute]) tps from [the] last 5[ ]m[inutes] tps from [the] last 15[ ]m[inutes] [the] tps
broadcast "%tps%"
The tamer of an entity. Can only be used in entity tame events. You can use 'event-entity' to refer tamed entity itself.
[the] tamer
on tame: if the tamer is a player: send "someone tamed something!" to console
For players this is the entity at the crosshair, while for mobs and experience orbs it represents the entity they are attacking/following (if any).
[the] target[[ed] %*entitydata%] [of %livingentities%] %livingentities%'[s] target[[ed] %*entitydata%]
on entity target: entity's target is a player send "You're being followed by an %entity%!" to target of entity
The block at the crosshair. This regards all blocks that are not air as fully solid, e.g. torches will be like a solid stone block for this expression.
[the] target[ed] block[s] [of %players%] %players%'[s] target[ed] block[s] [the] actual[ly] target[ed] block[s] [of %players%] %players%'[s] actual[ly] target[ed] block[s]
# A command to set the block a player looks at to a specific type: command /setblock <material>: trigger: set targeted block to argument
The teleport cause within a player teleport event.
[the] teleport (cause|reason|type)
on teleport teleport cause is nether portal, end portal or end gateway
Temperature at given block.
[the] temperature[s] of %blocks% %blocks%'[s] temperature[s]
message "%temperature of the targeted block%"
A shorthand expression for returning something based on a condition.
%objects% if <.+>[,] (otherwise|else) %objects%
set {points} to 500 if {admin::%player's uuid%} is set else 100
The time of a world.
[the] time[s] [([with]in|of) %worlds%] %worlds%'[s] time[s]
time in world is between 18:00 and 6:00: broadcast "It's night-time, watch out for monsters!"
The item a player is holding.
[the] (tool|held item|weapon) [of %livingentities%] %livingentities%'[s] (tool|held item|weapon)
player is holding a pickaxe # is the same as player's tool is a pickaxe player's off hand tool is shield #Only for Minecraft 1.9
Type of a block, an item, en entity or an inventory.,Types of items and blocks are item types similar to them but have amounts,of one, no display names and, on Minecraft 1.13 and newer versions, are undamaged.,Types of entities and inventories are entity types and inventory types known to Skript.
[the] type of %entitydatas/itemtypes/inventories% %entitydatas/itemtypes/inventories%'[s] type
on rightclick on an entity: message "This is a %type of clicked entity%!"
The UUID of a player, entity or world.,In the future there will be an option to use a player's UUID instead of the name in variable names (i.e. when %player% is used), but for now this can be used.,Please note that this expression does not work for offline players if you are under 1.8!
[the] UUID of %offlineplayers/worlds/entities% %offlineplayers/worlds/entities%'[s] UUID
# prevents people from joining the server if they use the name of a player # 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
Creates unbreakable copies of given items.
unbreakable %itemtypes%
unbreakable iron sword #Creates unbreakable iron sword
Converts given date to Unix timestamp. This is roughly how many seconds have elapsed since 1 January 1970.
[the] unix timestamp of %dates% %dates%'[s] unix timestamp
unix timestamp of now
Copy of given text in upper or lower case.
%string% in (upper|lower) case capitalized %string%
"oops!" in upper case # OOPS!
Gets the angle between two vectors.
[the] angle between [[the] vectors] %vector% and %vector%
send "%the angle between vector 1, 0, 0 and vector 0, 1, 1%"
Arithmetic expressions for vectors.
%vector%[ ]++[ ]%vector% %vector%[ ]--[ ]%vector% %vector%[ ]**[ ]%vector% %vector%[ ]//[ ]%vector%
set {_v} to vector 1, 2, 3 // 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 set {_v} to {_v} // {_v} set {_v} to {_v} // 5
Creates a vector from x, y and z values.
[a] [new] vector [(from|at|to)] %number%,[ ]%number%(,[ ]| and )%number%
set {_v} to vector 0, 1, 0
Gets the cross product between two vectors.
%vector% cross %vector%
send "%vector 1, 0, 0 cross vector 0, 1, 0%"
Forms a 'cylindrical shaped' vector using yaw to manipulate the current point.
[a] [new] cylindrical vector [(from|with)] [radius] %number%, [yaw] %number%(,| and) [height] %number%
loop 360 times: set {_v} to cylindrical vector radius 1, yaw loop-value, height 2 set {_v} to cylindrical vector radius 1, yaw 90, height 2
Gets the dot product between two vectors.
%vector% dot %vector%
set {_v} to {_v2} dot {_v3}
Gets or sets the length of a vector.
[the] (vector|standard|normal) length[s] of %vectors% %vectors%'[s] (vector|standard|normal) length[s]
send "%standard length of vector 1, 2, 3%" set {_v} to vector 1, 2, 3 set standard length of {_v} to 2 send "%standard length of {_v}%"
Returns the location offset by vectors.
%location% offset by [[the] vectors] %vectors% %location%[ ]~[~][ ]%vectors%
set {_loc} to {_loc} ~ {_v}
Returns the same vector but with length 1.
normalize[d] %vector% %vector% normalized
set {_v} to normalized {_v}
Creates a random vector.
[a] random vector
set {_v} to a random vector
Forms a 'spherical shaped' vector using yaw and pitch to manipulate the current point.
[new] spherical vector [(from|with)] [radius] %number%, [yaw] %number%(,| and) [pitch] %number%
loop 360 times: set {_v} to spherical vector radius 1, yaw loop-value, pitch loop-value set {_v} to spherical vector radius 1, yaw 45, pitch 90
Gets the squared length of a vector.
[the] squared length[s] of %vectors% %vectors%'[s] squared length[s]
send "%squared length of vector 1, 2, 3%"
Creates a vector between two locations.
[the] vector (from|between) %location% (to|and) %location%
set {_v} to vector between {_loc1} and {_loc2}
Creates a vector from a location.
[the] vector (of|from|to) %location% %location%'s vector
set {_v} to vector of {_loc}
Creates a vector from a yaw and pitch value.
[a] [new] vector (from|with) yaw %number% and pitch %number%
set {_v} to vector from yaw 45 and pitch 45
Gets or changes velocity of an entity.
[the] velocit(y|ies) of %entities% %entities%'[s] velocit(y|ies)
set player's velocity to {_v}
Gets or changes the x, y or z component of a vector.
[the] [vector] (x|y|z) [component[s]] of %vectors% %vectors%'[s] [vector] (x|y|z) [component[s]]
set {_v} to vector 1, 2, 3 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}%"
Gets or sets the yaw or pitch value of a vector.
[the] [vector] (yaw|pitch) of %vectors% %vectors%'[s] [vector] (yaw|pitch)
set {_v} to vector -1, 1, 1 send "%vector yaw of {_v}%, %vector pitch of {_v}%" add 45 to vector yaw of {_v} subtract 45 from vector pitch of {_v} send "%vector yaw of {_v}%, %vector pitch of {_v}%" set vector yaw of {_v} to -45 set vector pitch of {_v} to 45 send "%vector yaw of {_v}%, %vector pitch of {_v}%"
The vehicle an entity is in, if any. This can actually be any entity, e.g. spider jockeys are skeletons that ride on a spider, so the spider is the 'vehicle' of the skeleton.,See also: passenger
[the] vehicle[s] of %entities% %entities%'[s] vehicle[s]
vehicle of the player is a minecart
The version of Bukkit, Minecraft or Skript respectively.
([craft]bukkit|minecraft|skript)( |-)version
message "This server is running Minecraft %minecraft version% on Bukkit %bukkit version%" message "This server is powered by Skript %skript version%"
The text to show if the protocol version of the server doesn't match with protocol version of the client. You can check the protocol version expression for more information about this.,This can only be set in a server list ping event.
[the] [(shown|custom)] version [(string|text)]
on server list ping: 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%"
The view distance of a player. Can be changed.
[the] view distance[s] of %players% %players%'[s] view distance[s]
set view distance of player to 10 set {_view} to view distance of player reset view distance of all players add 2 to view distance of player
The weather in the given or the current world.
[the] weather [(in|of) %worlds%] %worlds%'[s] weather
set weather to clear weather in "world" is rainy
The world the event occurred in.
[the] world [of %locations/entities%] %locations/entities%'[s] world
world is "world_nether" teleport the player to the world's spawn set the weather in the player's world to rain
The seed of given world. Note that it will be returned as Minecraft internally treats seeds, not as you specified it in world configuration.
[the] seed[s] (from|of) %worlds% %worlds%'[s] seed[s]
broadcast "Seed: %seed of player's world%"
All worlds of the server, useful for looping.
[(all [[of] the]|the)] worlds
loop all worlds: broadcast "You're in %loop-world%" to loop-world
An expression to be able to use a certain amount of items where the amount can be any expression. Please note that this expression is not stable and might be replaced in the future.
%number% of %itemstacks/entitytype%
give level of player of pickaxes to the player
The yaw or pitch of a location. You likely won't need this expression ever if you don't know what this means.
[the] (yaw|pitch) of %locations% %locations%'[s] (yaw|pitch)
log "%player%: %location of player%, %player's yaw%, %player's pitch%" to "playerlocs.log"
Types
All possible biomes Minecraft uses to generate a world.
biome[s]
biome at the player is desert
A block in a world. It has a location and a type, and can also have a direction (mostly a facing), an inventory, or other special properties.
block[s]
A boolean is a value that is either true or false. Other accepted names are 'on' and 'yes' for true, and 'off' and 'no' for false.
boolean[s]
set {config.%player%.use mod} to false
A chunk is a cuboid of 16×16×128 (x×z×y) blocks. Chunks are spread on a fixed rectangular grid in their world.
chunk[s]
Click type, mostly for inventory events. Tells exactly which keys/buttons player pressed, assuming that default keybindings are used in client side.
click[ ]type[s]
Wool, dye and chat colours.
colo[u]r[s]
color of the sheep is red or black set the colour of the block to green message "You're holding a <%color of tool%>%color of tool%<reset> wool block"
A player or the console.
[(command[s]][ ][)](sender|executor)[s]
on command /pm: command sender is not the console chance of 10% give coal to the player message "You got a piece of coal for sending that PM!"
The cause/type of a damage event, e.g. lava, fall, fire, drowning, explosion, poison, etc.,Please note that support for this type is very rudimentary, e.g. lava, fire and burning, as well as projectile and attack are considered different types.
damage[ ]cause[s]
A date is a certain point in the real world's time which can currently only be obtained with now.,See time and timespan for the other time types of Skript.
date[s]
set {_yesterday} to now subtract a day from {_yesterday} # now {_yesterday} represents the date 24 hours before now
The difficulty of a world.
difficult(y|ies)
peaceful, easy, medium, hard
A direction, e.g. north, east, behind, 5 south east, 1.3 meters to the right, etc.,Locations and some blocks also have a direction, but without a length.,Please note that directions have changed extensively in the betas and might not work perfectly. They can also not be used as command arguments.
direction[s]
set the block below the victim to a chest 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
An enchantment, e.g. 'sharpness' or 'fortune'. Unlike enchantment type this type has no level, but you usually don't need to use this type anyway.
enchantment[s]
An enchantment with an optional level, e.g. 'sharpness 2' or 'fortune'.
enchant(ing|ment) type[s]
enchant the player's tool with sharpness 5 helmet is enchanted with waterbreathing
An entity is something in a world that's not a block, e.g. a player, a skeleton, or a zombie, but also projectiles like arrows, fireballs or thrown potions, or special entities like dropped items, falling blocks or paintings.
entit(y|ies)
entity is a zombie or creeper player is an op projectile is an arrow shoot a fireball from the player
The type of an entity, e.g. player, wolf, powered creeper, etc.
entity[ ]type[s]
victim is a cow spawn a creeper
An entity type with an amount, e.g. '2 zombies'. I might remove this type in the future and make a more general 'type' type, i.e. a type that has a number and a type.
entitytype
spawn 5 creepers behind the player
Experience points. Please note that Bukkit only allows to give XP, but not remove XP from players. You can however change a player's level and level progress freely.
experience
give 10 xp to the player
A configuration of effects that defines the firework when exploded.
firework[ ]effect[s]
The type of a fireworkeffect.
firework[ ]type[s]
ball, large ball, star, burst, creeper
The game modes survival, creative, adventure and spectator.
game[ ]mode[s]
player's gamemode is survival set the player argument's game mode to creative
An inventory of a player or block. Inventories have many effects and conditions regarding the items contained.,An inventory has a fixed amount of slots which represent a specific place in the inventory, e.g. the helmet slot for players (Please note that slot support is still very limited but will be improved eventually).
inventor(y|ies)
What player just did in inventory event. Note that when in creative game mode, most actions do not work correctly.
inventory[ ]action[s]
Represents a single slot of an inventory. Notable slots are the armour slots and furnace slots. ,The most important property that distinguishes a slot from an item is its ability to be changed, e.g. it can be set, deleted, enchanted, etc. (Some item expressions can be changed as well, e.g. items stored in variables. For that matter: slots are never saved to variables, only the items they represent at the time when the variable is set).,Please note that tool can be regarded a slot, but it can actually change it's position, i.e. doesn't represent always the same slot.
[inventory ]slot[s]
set tool of player to dirt delete helmet of the victim set the colour of the player's tool to green enchant the player's chestplate with projectile protection 5
Minecraft has several different inventory types with their own use cases.
inventory[ ]type[s]
An item, e.g. a stack of torches, a furnace, or a wooden sword of sharpness 2. Unlike item type an item can only represent exactly one item (e.g. an upside-down cobblestone stair facing west), while an item type can represent a whole range of items (e.g. any cobble stone stairs regardless of direction).,You don't usually need this type except when you want to make a command that only accepts an exact item.,Please note that currently 'material' is exactly the same as 'item', i.e. can have an amount & enchantments.
item material
set {_item} to type of the targeted block {_item} is a torch
An item type is an alias, e.g. 'a pickaxe', 'all plants', etc., and can result in different items when added to an inventory, and unlike items they are well suited for checking whether an inventory contains a certain item or whether a certain item is of a certain type.,An item type can also have one or more enchantments with or without a specific level defined, and can optionally start with 'all' or 'every' to make this item type represent all types that the alias represents, including data ranges.
item[ ]type[s] items materials
give 4 torches to the player 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
A living entity, i.e. a mob or player, not inanimate entities like projectiles or dropped items.
living[ ]entit(y|ies)
spawn 5 powered creepers shoot a zombie from the creeper
A location in a world. Locations are world-specific and even store a direction, e.g. if you save a location and later teleport to it you will face the exact same direction you did when you saved the location.
location[s]
Something that can hold metadata (e.g. an entity or block)
metadata[ ]holder[s]
set metadata value "super cool" of player to true
A number, e.g. 2.5, 3, or -9812454.,Please note that many expressions only need integers, i.e. will discard any frational parts of any numbers without producing an error.
num[ber][s]
set the player's health to 5.5 set {_temp} to 2*{_temp} - 2.5
The supertype of all types, meaning that if %object% is used in e.g. a condition it will accept all kinds of expressions.
object[s]
A player that is possibly offline. See player for more information. Please note that while all effects and conditions that require a player can be used with an offline player as well, they will not work if the player is not actually online.
offline[ ]player[s]
A player. Depending on whether a player is online or offline several actions can be performed with them, though you won't get any errors when using effects that only work if the player is online (e.g. changing his inventory) on an offline player.,You have two possibilities to use players as command arguments: &lt;player&gt; and &lt;offline player&gt;. The first requires that the player is online and also accepts only part of the name, while the latter doesn't require that the player is online, but the player's name has to be entered exactly.
player[s]
A potion effect type, e.g. 'strength' or 'swiftness'.
potion[[ ]effect][[ ]type][s]
apply swiftness 5 to the player apply potion of speed 2 to the player for 60 seconds remove invisibility from the victim
A projectile, e.g. an arrow, snowball or thrown potion.
projectile[s]
projectile is a snowball shoot an arrow at speed 5 from the player
The state in a resource pack request response event.
resource[ ]pack[ ]state[s]
successfully load, decline, download fail, accept
A server icon that was loaded using the load server icon effect.
server[ ]icon[s]
The category of a sound, they are used for sound options of Minecraft. See the play sound and stop sound effects.
sound[ ]categor(y|ies)
master category, music category, record category, weather category, block category, hostile category, neutral category, player category, ambient category, voice category
The spawn reason in a spawn event.
spawn[ing][ ]reason[s]
natural, jockey, chunk generation, mob spawner, egg, spawn egg, lightning, built snowman, built iron golem, built wither, village defense, village invasion, breed, slime split, reinforcements, nether portal, dispense egg, infection, cured, ocelot baby, silverfish reveal, mount, trap, ender pearl, perching, drowned, shear, customized, default
The teleport cause in a teleport event.
teleport[ ](cause|reason|type)[s]
ender pearl, command, plugin, nether portal, end portal, spectate, gateway, chorus, unknown
Text is simply text, i.e. a sequence of characters, which can optionally contain expressions which will be replaced with a meaningful representation (e.g. %player% will be replaced with the player's name).,Because scripts are also text, you have to put text into double quotes to tell Skript which part of the line is an effect/expression and which part is the text.,Please read the article on Texts and Variable Names to learn more.
(text|string)[s]
broadcast "Hello World!" message "Hello %player%" message "The id of ""%type of tool%"" is %id of tool%."
A time is a point in a minecraft day's time (i.e. ranges from 0:00 to 23:59), which can vary per world.,See date and timespan for the other time types of Skript.
time[s]
at 20:00: time is 8 pm broadcast "It's %time%"
A period of time between two times. Mostly useful since you can use this to test for whether it's day, night, dusk or dawn in a specific world.,This type might be removed in the future as you can use 'time of world is between x and y' as a replacement.
time[ ]period[s] duration[s]
time in world is night
A timespan is a difference of two different dates or times, e.g '10 minutes'. Timespans are always displayed as real life time, but can be defined as minecraft time, e.g. '5 minecraft days and 12 hours'.,See date and time for the other time types of Skript.
time[ ]span[s]
every 5 minecraft days: 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
A tree type represents a tree species or a huge mushroom species. These can be generated in a world with the generate tree effect.
tree[ ]type[s] tree[s]
grow any regular tree at the block grow a huge red mushroom above the block
Represents a type, e.g. number, object, item type, location, block, world, entity type, etc.,This is mostly used for expressions like 'event-&lt;type&gt;', '&lt;type&gt;-argument', 'loop-&lt;type&gt;', etc., e.g. event-world, number-argument and loop-player.
type[s]
{variable} is a number # check whether the variable contains a number, e.g. -1 or 5.5 {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
Vector is a collection of numbers. In Minecraft, 3D vectors are used to express velocities of entities.
vector[s]
A visible effect, e.g. particles.
(visual|particle) effect[s]
show wolf hearts on the clicked wolf play mob spawner flames at the targeted block to the player
The weather types sunny, rainy, and thundering.
weather[ ]type[s] weather condition[s] weather[s]
is raining is sunny in the player's world message "It is %weather in the argument's world% in %world of the argument%"
One of the server's worlds. Worlds can be put into scripts by surrounding their name with double quotes, e.g. "world_nether", but this might not work reliably as text uses the same syntax.
world[s]
broadcast "Hello!" to the world "world_nether"
Functions
Returns the absolute value of the argument, i.e. makes the argument positive.
abs(n: number)
abs(3) = 3 abs(-2) = 2
The inverse of the cosine, also called arccos. Returns result in degrees, not radians. Only returns values from 0 to 180.
acos(n: number)
acos(0) = 90 acos(1) = 0 acos(0.5) = 30
The inverse of the sine, also called arcsin. Returns result in degrees, not radians. Only returns values from -90 to 90.
asin(n: number)
asin(0) = 0 asin(1) = 90 asin(0.5) = 30
The inverse of the tangent, also called arctan. Returns result in degrees, not radians. Only returns values from -90 to 90.
atan(n: number)
atan(0) = 0 atan(1) = 45 atan(10000) = 89.9943
Similar to atan, but requires two coordinates and returns values from -180 to 180.,The returned angle is measured counterclockwise in a standard mathematical coordinate system (x to the right, y to the top).
atan2(x: number, y: number)
atan2(0, 1) = 0 atan2(10, 0) = 90 atan2(-10, 5) = -63.4349
Calculates the total amount of experience needed to achieve given level from scratch in Minecraft.
calcExperience(level: long)
Rounds a number down, i.e. returns the closest integer larger than or equal to the argument.
ceil(n: number)
ceil(2.34) = 3 ceil(2) = 2 ceil(2.99) = 3
Alias of ceil.
ceiling(n: number)
ceiling(2.34) = 3 ceiling(2) = 2 ceiling(2.99) = 3
The cosine function. This is basically the sine shifted by 90°, i.e. cos(a) = sin(a + 90°), for any number a. Uses degrees, not radians.
cos(n: number)
cos(0) = 1 cos(90) = 0
Creates a date from a year, month, and day, and optionally also from hour, minute, second and millisecond.,A time zone and DST offset can be specified as well (in minutes), if they are left out the server's time zone and DST offset are used (the created date will not retain this information).
date(year: number, month: number, day: number, hour: number = [[integer:0]], minute: number = [[integer:0]], second: number = [[integer:0]], millisecond: number = [[integer:0]], zone_offset: number = [[double:NaN]], dst_offset: number = [[double:NaN]])
date(2014, 10, 1) # 0:00, 1st October 2014 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)
The exponential function. You probably don't need this if you don't know what this is.
exp(n: number)
exp(0) = 1 exp(1) = 2.7183
Rounds a number down, i.e. returns the closest integer smaller than or equal to the argument.
floor(n: number)
floor(2.34) = 2 floor(2) = 2 floor(2.99) = 2
The natural logarithm. You probably don't need this if you don't know what this is.,Returns NaN (not a number) if the argument is negative.
ln(n: number)
ln(1) = 0 ln(exp(5)) = 5 ln(2) = 0.6931
Creates a location from a world and 3 coordinates, with an optional yaw and pitch.
location(x: number, y: number, z: number, world: world = event-world, yaw: number = [[integer:0]], pitch: number = [[integer:0]])
location(0, 128, 0) location(player's x-coordinate, player's y-coordinate + 5, player's z-coordinate, player's world, 0, 90)
A logarithm, with base 10 if none is specified. This is the inverse operation to exponentiation (for positive bases only), i.e. 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.
log(n: number, base: number = [[integer:10]])
log(100) = 2 # 10^2 = 100 log(16, 2) = 4 # 2^4 = 16
Returns the maximum number from a list of numbers.
max(ns: numbers)
max(1) = 1 max(1, 2, 3, 4) = 4 max({some list variable::*})
Returns the minimum number from a list of numbers.
min(ns: numbers)
min(1) = 1 min(1, 2, 3, 4) = 1 min({some list variable::*})
Returns the modulo of the given arguments, i.e. the remainder of the division 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.
mod(d: number, m: number)
mod(3, 2) = 1 mod(256436, 100) = 36 mod(-1, 10) = 9
Calculates the product of a list of numbers.
product(ns: numbers)
product(1) = 1 product(2, 3, 4) = 24 product({some list variable::*}) product(2, {_v::*}, and the player's y-coordinate)
Rounds a number, i.e. returns the closest integer to the argument.
round(n: number)
round(2.34) = 2 round(2) = 2 round(2.99) = 3 round(2.5) = 3
The sine function. It starts at 0° with a value of 0, goes to 1 at 90°, back to 0 at 180°, to -1 at 270° and then repeats every 360°. Uses degrees, not radians.
sin(n: number)
sin(90) = 1 sin(60) = 0.866
The square root, which is the inverse operation to squaring a number (for positive numbers only). This is the same as (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.
sqrt(n: number)
sqrt(4) = 2 sqrt(2) = 1.4142 sqrt(-1) = NaN
Sums a list of numbers.
sum(ns: numbers)
sum(1) = 1 sum(2, 3, 4) = 9 sum({some list variable::*}) sum(2, {_v::*}, and the player's y-coordinate)
The tangent function. This is basically <a href='#sin'>sin(arg)/cos(arg)</code>. Uses degrees, not radians.
tan(n: number)
tan(0) = 0 tan(45) = 1 tan(89.99) = 5729.5779
Creates a new vector, which can be used with various expressions, effects and functions.
vector(x: number, y: number, z: number)
vector(0, 0, 0)
Gets a world from its name.
world(name: string)
set {_nether} to world("%{_world}%_nether")