Action Bar
- effects
- Skript 2.3
send [the] action[ ]bar [with text] %object% [to %audiences%]Sends an action bar message to an audience.
View example
send action bar "Hello player!" to player149 effects
Lines that do something: send, give, teleport.
send [the] action[ ]bar [with text] %object% [to %audiences%]Sends an action bar message to an audience.
send action bar "Hello player!" to playerallow %living entities% to (duplicate|clone)prevent %living entities% from (duplicating|cloning)Set whether an allay can or cannot duplicate itself.
This is not the same as breeding allays.
allow all allays to duplicateprevent all allays from duplicating(force|allow) [the] (lead|leash) [item] to drop(block|disallow|prevent) [the] (lead|leash) [item] from droppingAllows or prevents the leash from being dropped in an unleash event.
on unleash:
if player is not set:
prevent the leash from dropping
else if player is op:
allow the leash to droplock age of %living entities%prevent aging of %living entities%prevent %living entities% from agingunlock age of %living entities%allow aging of %living entities%allow %living entities% to ageSets whether or not living entities will be able to age.
on spawn of animal:
allow aging of entityapply [%number%] bone[ ]meal[s] [to %blocks%]Applies bone meal to a crop, sapling, or composter
apply 3 bone meal to event-blockapply [the] lure enchantment bonusremove [the] lure enchantment bonus(reel|pull) in [the] hook[ed] entitySets whether the lure enchantment should be applied, which reduces the wait time.
on fishing line cast:
apply lure enchantment bonus(apply|grant) %potion effects% to %living entities% [for %time span%](affect|afflict) %living entities% with %potion effects% [for %time span%]Applies a potion effect to an entity.
apply swiftness 2 to the playercommand /strengthboost:
trigger:
apply strength 10 to the player for 5 minutesapply the potion effects of the player's tool to the playerban [and kick] %texts/offline players% [(by reason of|because [of]|on account of|due to) %text%] [for %time span%]unban %texts/offline players%ban [and kick] %players% by IP [(by reason of|because [of]|on account of|due to) %text%] [for %time span%]unban %players% by IPIP(-| )ban [and kick] %players% [(by reason of|because [of]|on account of|due to) %text%] [for %time span%](IP(-| )unban|un[-]IP[-]ban) %players%Bans or unbans a player or an IP address.
If a reason is given, it will be shown to the player when they try to join the server while banned.
A length of ban may also be given to apply a temporary ban. If it is absent for any reason, a permanent ban will be used instead.
We recommend that you test your scripts so that no accidental permanent bans are applied.
Note that banning people does not kick them from the server.
You can optionally use 'and kick' or consider using the kick effect after applying a ban.
unban playerban "127.0.0.1"IP-ban the player because "he is an idiot"ban player due to "inappropriate language" for 2 daysban and kick player due to "inappropriate language" for 2 daysmake %boss bars% [(not|no longer)] darken the skystop %boss bar% from darkening the skymake %boss bars% [(not|no longer)] create fogstop %boss bar% from creating fogmake %boss bars% [(not|no longer)] play boss musicstop %boss bar% from playing [the] boss musicMakes a boss bar have or not have a flag.
The `play boss music` flag does not actually play any sound or do anything.
However you can use a resource pack to play your own custom sound.
broadcast "The boss has entered a new phase! Watch out for the fog..."
make {_bossbar} create fog
wait 30 seconds
broadcast "The fog has subsided... for now"
make {_bossbar} no longer create fogbreak %blocks% [naturally] [using %item type%]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)
on right click:
break clicked block naturallyloop blocks in radius 10 around player:
break loop-block using player's toolloop blocks in radius 10 around player:
break loop-block naturally using diamond pickaxebroadcast %objects% [(to|in) %worlds%]Broadcasts a message to the server.
broadcast "Welcome %player% to the server!"broadcast "Woah! It's a message!"(cancel|interrupt) [the] us[ag]e of %living entities%'[s] [active|current] itemInterrupts the action entities may be trying to complete.
For example, interrupting eating, or drawing back a bow.
on damage of player:
if the victim's active tool is a bow:
interrupt the usage of the player's active item[un](cancel|ignore) [the] [current] [command] cooldownOnly usable in commands. Makes it so the current command usage isn't counted towards the 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(cancel|clear|delete) [the] drops [of (items|[e]xp[erience][s])](cancel|clear|delete) [the] (item|[e]xp[erience]) dropsCancels drops of items in a death, block break, block drop, and block harvest events.
The dropped experience can be cancelled in a death and block break events.
Please note that using this in a death event doesn't keep items or experience of a dead player. If you want to do that, use the Keep Inventory / Experience effect.
on death of a zombie:
if name of the entity is "&cSpecial":
cancel drops of itemson break of a coal ore:
cancel the experience dropson player block harvest:
cancel the item dropscancel [the] eventuncancel [the] eventCancels the event (e.g. prevent blocks from being placed, or damage being taken).
on damage:
victim is a player
victim has the permission "skript.god"
cancel the eventset %objects% to %objects%(add|give) %objects% to %objects%increase %objects% by %objects%remove (all|every) %objects% from %objects%(remove|subtract) %objects% from %objects%(reduce|decrease) %objects% by %objects%(delete|clear|reset) %objects%give %objects% %objects%A general effect that can be used for changing many expressions.
Some expressions can only be set and/or deleted, while others can also have things added to or removed from them.
set the player's display name to "<red>%name of player%"
set the block above the victim to lavaadd 2 to the player's health # preferably use '<a href='#EffHealth'>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 1remove 2 pickaxes from the victim
subtract 2.5 from {points::%uuid of player%}remove every iron tool from the player
remove all minecarts from {entitylist::*}delete the block below the player
clear drops
delete {variable}reset walk speed of player
reset chunk at the targeted blockmake %entities% (charged|(uncharged|not charged))[un]charge %entities%Charges or uncharges a creeper or wither skull. A creeper is charged when it has been struck by lightning.
on spawn of creeper:
charge the event-entity(clear|empty) the (stored entities|entity storage) of %blocks%Clear the stored entities of an entity block storage (i.e. beehive).
clear the stored entities of {_beehive}(dye|colo[u]r|paint) %item types% %colour%(dye|colo[u]r|paint) %item types% (%number%, %number%, %number%)Colors items in a given color. You can also use RGB codes if you feel limited with the 16 default colors. 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 colorable for all Minecraft versions. With Minecraft 1.11 or newer you can also color potions and maps. Note that the colors might not look exactly how you'd expect.
dye player's helmet bluecolor the player's tool redexecute [the] [bungee[cord]] command[s] %texts% [by %command senders%]execute [the] %command senders% [bungee[cord]] command[s] %texts%(let|make) %command senders% execute [[the] [bungee[cord]] command[s]] %texts%Executes a command. This can be useful to use other plugin in triggers.
If the command is a BungeeCord side command, you can use the '[bungeecord]' keyword option to execute the command on the proxy.
make player execute command "/home"execute console command "/say Hello everyone!"execute player bungeecord command "/alert &6Testing Announcement!"make command block[s] %blocks% [un]conditionalSets whether the provided command blocks are conditional or not.
make command block {_block} conditionalmake command block {_block} unconditional if {_block} is conditionalconnect %players% to [proxy|bungeecord] [server] %text%send %players% to [proxy|bungeecord] server %text%transfer %players% to server %text% [on port %number%]Connect a player to a server running on your proxy, or any server supporting transfers. Read below for more information.
If the server is running Minecraft 1.20.5 or above, you may specify an IP and Port to transfer a player over to that server.
When transferring players using an IP, the transfer will not complete if the `accepts-transfers` option isn't enabled in `server.properties` for the server specified.
If the port is not provided, it will default to `25565`.
connect all players to proxy server "hub"transfer player to server "my.server.com"transfer player to server "localhost" on port 25566(prevent|disallow) [the] (boosting|used) firework from being consumedallow [the] (boosting|used) firework to be consumedPrevent the firework used in an 'elytra boost' event to be consumed.
on elytra boost:
if the used firework will be consumed:
prevent the used firework from being consumemake [the] brewing stand consume [its|the] fuelprevent [the] brewing stand from consuming [its|the] fuelMakes the brewing stand in a brewing fuel event consume its fuel.
Preventing the fuel from being consumed will keep the fuel item and still add to the fuel level of the brewing stand.
on brewing fuel consumption:
prevent the brewing stand from consuming the fuelcontinue [this loop|[the] [current] loop]continue [the] <\d+>(st|nd|rd|th) loopMoves the loop to the next iteration. You may also continue an outer loop from an inner one. The loops are labelled from 1 until the current loop, starting with the outermost one.
# Broadcast online moderators
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# Game starting counter
set {_counter} to 11
while {_counter} > 0:
remove 1 from {_counter}
wait a second
if {_counter} != 1, 2, 3, 5 or 10:
continue # only print when counter is 1, 2, 3, 5 or 10
broadcast "Game starting in %{_counter}% second(s)"copy %objects% [in]to %objects%Copies objects into a variable. When copying a list over to another list, the source list and its sublists are also copied over.
Note: Copying a value into a variable/list will overwrite the existing data.
set {_foo::bar} to 1
set {_foo::sublist::foobar} to "hey"
copy {_foo::*} to {_copy::*}
broadcast indices of {_copy::*} # bar, sublist
broadcast {_copy::bar} # 1
broadcast {_copy::sublist::foobar} # "hey!"damage %living entities/item types% by %number% [heart[s]]heal %living entities% [by %number% [heart[s]]]repair %item types% [by %number%]damage %living entities% by %number% [heart[s]] with [fake] [damage] cause %damage cause%damage %living entities% by %number% [heart[s]] (using|with) %damage source% [as the source]Damage, heal, or repair an entity or item.
Servers running Spigot 1.20.4+ can optionally choose to specify a fake damage cause.
damage player by 5 heartsdamage player by 3 hearts with fake cause fallheal the playerrepair tool of playermake %living entities% (start dancing|dance) [%direction% %location%] [for %time span%]make %living entities% (stop dancing|not dance)Make an allay or piglin start or stop dancing.
Providing a location only applies to allays. They will check to see if the the block at the location is a jukebox and playing music. If it isn't, they will stop dancing. If no location is provided, the allay will dance indefinitely.
Providing a timespan only applies for piglins. It determines the length of time they will dance for. If no timespan is provided, they will dance indefinitely.
if last spawned allay is not dancing:
make last spawned allay start dancingif block at location(0, 0, 0) is a jukebox:
make all allays dance at location(0, 0, 0)make last spawned piglin start dancingmake all piglins dance for 5 hours(wait|halt) [for] %time span%Delays the script's execution by a given timespan.
When used as an effect, all code after the wait runs once the delay elapses. The whole trigger pauses until the wait finishes.
When used as a section, only the code within the section is deferred. Code after the section continues immediately, and the body runs on the same event once the delay elapses. This is useful for scheduling follow-up work without blocking the rest of the trigger.
Note that delays are not persistent. For example, ban player โ wait 7 days โ unban player will not resume if the server restarts during the delay.
Inside a section body, outer loop-values are not available because the body is parsed as a separate trigger. Event values (like player) still work. If you need a value from before the delay, copy it to a local variable. Local variables are snapshotted when the section is scheduled, so subsequent changes aren't reflected.
wait 2 minuteshalt for 5 minecraft hourswait a tick# Section form: outer continues immediately, body runs 3 seconds later.
send "hello" to player
wait 3 seconds:
send "...and goodbye" to playersend "This runs first!" to player
wait 1 seconds:
send "This runs third! (one second later)" to player
send "This runs second!" to playerdetonate %entities%Immediately detonates an entity. Accepted entities are fireworks, TNT minecarts, primed TNT, wind charges and creepers.
detonate last launched firework<.+> if <.+>Execute an effect if a condition is true.
on join:
give a diamond to the player if the player has permission "rank.vip"drop %item types/experiences% [%directions% %locations%] [(without velocity)]Drops one or more items.
on death of creeper:
drop 1 TNT(enable|load|reload|unload|disable) [script] [file] [named] %scripts/texts% [with errors](enable|load|reload|unload|disable) skript file %text% [with errors]Enables, disables, unloads, or reloads a script.
Disabling a script unloads it and prepends - to its name so it will not be loaded the next time the server restarts.
If the script reflection experiment is enabled: unloading a script terminates it and removes it from memory, but does not alter the file.
reload script "test"enable script file "testing"unload script file "script.sk"set {_script} to the script "MyScript.sk"
reload {_script}enchant %objects% with %enchantment types%[naturally|randomly] enchant %objects% at level %number%[[,] allowing treasure enchant[ment]s]disenchant %objects%Enchant or disenchant an existing item. Enchanting at a specific level will act as if an enchanting table was used, and will apply the enchantments randomly chosen at that level. Treasure enchantments, like mending, can optionally be allowed. Note that enchanting a book at a specific level will turn it into an enchanted book, rather than a book with enchantments.
enchant the player's tool with sharpness 5enchant the player's tool at level 30disenchant the player's toolmake %living entities% (randomly teleport|teleport randomly)force %living entities% to (randomly teleport|teleport randomly)make %living entities% teleport [randomly] towards %entity%force %living entities% to teleport [randomly] towards %entity%Make an enderman teleport randomly or towards an entity.
Teleporting towards an entity teleports in the direction to the entity and not to them.
make last spawned enderman teleport randomlyloop 10 times:
make all endermen teleport towards player[un]enforce [the] [server] white[ ]listEnforces or un-enforce a server's whitelist.
All non-whitelisted players will be kicked upon enforcing the whitelist.
enforce the whitelistunenforce the whitelistmake %living entities% despawn[able] (on chunk unload|when far away)force %living entities% to despawn (on chunk unload|when far away)prevent %living entities% from despawning [on chunk unload|when far away]Make a living entity despawn when the chunk they're located at is unloaded.
Setting a custom name on a living entity automatically makes it not despawnable.
More information on what and when entities despawn can be found at reference.
make all entities not despawnable on chunk unloadspawn zombie at location(0, 0, 0):
force event-entity to not despawn when far awayhide %entities% [(from|for) %players%]reveal %entities% [(to|for|from) %players%]Change visibility of the given entities for the given players.
If no players are given, will hide the entities from all online 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: all previously hidden entities (including players) will be visible when a player leaves and rejoins.
on spawn:
if event-entity is a chicken:
hide event-entityreveal hidden players of playersequip [%living entities%] with %item types%make %living entities% wear %item types%unequip %living entities%'[s] (armo[u]r|equipment)unequip %item types% [from %living entities%]Equips or unequips an entity with the given itemtypes (usually armor).
This effect will replace any armor that the entity is already wearing.
equip player with diamond helmetequip player with diamond leggings, diamond chestplate, and diamond bootsunequip diamond chestplate from playerunequip player's armorallow %equippable components% to be dispensedmake %equippable components% dispensablelet %equippable components% be dispensed(block|prevent|disallow) %equippable components% from being dispensedmake %equippable components% not dispensableWhether the item can be dispensed by a dispenser.
NOTE: Equippable component elements are experimental. Thus, they are subject to change and may not work as intended.
allow {_item} to be dispensedset {_component} to the equippable component of {_item}
prevent {_component} from being dispensedallow %equippable components% to be equipped on[to] entitiesmake %equippable components% equippable on[to] entitieslet %equippable components% be equipped on[to] entities(block|prevent|disallow) %equippable components% from being equipped on[to] entitiesmake %equippable components% not equippable on[to] entitiesWhether an entity should equip the item when right clicking on the entity with the item.
NOTE: Equippable component elements are experimental. Thus, they are subject to change and may not work as intended.
allow {_item} to be equipped onto entities(make|let) %equippable components% (lose durability|be damaged) (on [wearer['s]] injury|when [[the] wearer [is]] (hurt|injured|damaged))(allow|force) %equippable components% to (lose durability|be damaged) (on [wearer['s]] injury|when [[the] wearer [is]] (hurt|injured|damaged))make %equippable components% not (lose durability|be damaged) (on [wearer['s]] injury|when [[the] wearer [is]] (hurt|injured|damaged))(disallow|prevent) %equippable components% from (lose durability|being damaged) (on [wearer['s]] injury|when [[the] wearer [is]] (hurt|injured|damaged))Whether the item should take damage when the wearer gets injured.
NOTE: Equippable component elements are experimental. Thus, they are subject to change and may not work as intended.
make {_item} lose durability when hurtset {_component} to the equippable component of {_item}
if {_component} will lose durability when injured:
make {_component} lose durability on injuryallow %equippable components% to be sheared off [of entities](disallow|prevent) %equippable components% from being sheared off [of entities]Whether the item can be sheared off of entities.
NOTE: Equippable component elements are experimental. Thus, they are subject to change and may not work as intended.
allow {_item} to be sheared offset {_component} to the equippable component of {_item}
if {_component} can be sheared off of entities:
prevent {_component} from being sheared off of entities(allow|force) %equippable components% to swap equipment [on right click|when right clicked](make|let) %equippable components% swap equipment [on right click|when right clicked](block|prevent|disallow) %equippable components% from swapping equipment [on right click|when right clicked]make %equippable components% not swap equipment [on right click|when right clicked]Whether the item can be swapped by right clicking with it in your hand.
NOTE: Equippable component elements are experimental. Thus, they are subject to change and may not work as intended.
allow {_item} to swap equipmentset {_component} to the equippable component of {_item}
prevent {_component} from swapping equipment on right click(exit|stop) [[the] trigger](exit|stop) [1|a|the|this] (section|loop|conditional)(exit|stop) <0*[1-9]\d*(_\d+)*> (section|loop|conditional)s(exit|stop) all (section|loop|conditional)sExits a given amount of loops and conditionals, or the entire trigger.
loop blocks above the player:
loop-block is not air:
exit 2 sections
set loop-block to water(expand|grow) [[the] (diameter|radius) of] %world borders% (by|to) %number% [over [a period of] %time span%](expand|grow) %world borders%['s (diameter|radius)] (by|to) %number% [over [a period of] %time span%](contract|shrink) [[the] (diameter|radius) of] %world borders% (by|to) %number% [over [a period of] %time span%](contract|shrink) %world borders%['s (diameter|radius)] (by|to) %number% [over [a period of] %time span%]Expand or shrink the size of a world border.
Using `by` adds/subtracts from the current size of the world border.
Using `to` sets to the specified size.
expand world border of player by 100 over 5 secondsshrink world border of world "world" to 100 over 10 secondsinstantly explode [creeper[s]] %living entities%explode [creeper[s]] %living entities% instantlyignite creeper[s] %living entities%start (ignition|explosion) [process] of [creeper[s]] %living entities%stop (ignition|explosion) [process] of [creeper[s]] %living entities%Starts the explosion process of a creeper or instantly explodes it.
start explosion of the last spawned creeperstop ignition of the last spawned creeper[(create|make)] [an] explosion (of|with) (force|strength|power) %number% [%directions% %locations%] [(with fire)][(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%]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 an explosion of force 10 at the playercreate an explosion of force 0 at the victimfail [the] command execution with [the] error [message] %text component%Causes a command to fail execution with an error message displayed to the executor.
command /withdraw <number>:
trigger:
if the number argument is greater than the player's balance:
fail the command execution with the error message "Your balance is less than $%number argument%!"feed [the] %players% [by %number% [beef[s]]]Feeds the specified players.
feed all playersfeed the player by 5 beefsmake %living entities% attack %entities%force %living entities% to attack %entities%make %living entities% damage %entities% by %number% [heart[s]]force %living entities% to damage %entities% by %number% [heart[s]]Makes a living entity attack an entity with a melee attack.
Using 'attack' will make the attacker use the item in their main hand and will apply extra data from the item, including enchantments and attributes.
Using 'damage' with a number of hearts will not account for the item in the main hand and will always be the number provided.
spawn a wolf at location(0, 0, 0)
make last spawned wolf attack all playersspawn a zombie at location(0, 0, 0)
make player damage last spawned zombie by 2make %living entities% (start|stop) eatingforce %living entities% to (start|stop) eatingMake a panda or horse type (horse, camel, donkey, llama, mule) start/stop eating.
if last spawned panda is eating:
make last spawned panda stop eating(force|make) %item types% [to] [start] glint[ing](force|make) %item types% [to] (not|stop) glint[ing](clear|delete|reset) [the] enchantment glint override of %item types%(clear|delete|reset) %item types%'[s] enchantment glint overrideForces the items to glint or not, or removes its existing enchantment glint enforcement.
force {_items::*} to glintforce the player's tool to stop glintingmake %living entities% get (on|off) (its|their) back[s]force %living entities% to get (on|off) (its|their) back[s]Make a panda get on/off its back.
if last spawned panda is on its back:
make last spawned panda get off its backforce %players% to respawnForces player(s) to respawn if they are dead. If this is called without delay from death event, one tick is waited before respawn attempt.
on death of player:
force event-player to respawngenerate [the] loot (of|using) %loot table% [(with|using) %loot context%] in %inventories%Generates the loot in the specified inventories from a loot table using a loot context. Not specifying a loot context will use a loot context with a location at the world's origin.
Note that if the inventory is full, it will cause warnings in the console due to over-filling the inventory.
generate loot of loot table "minecraft:chests/simple_dungeon" using loot context at player in {_inventory}generate loot using "minecraft:chests/shipwreck_supply" in {_inventory}remove [the] (left horn[s]|right horn[s]|both horns) of %living entities%remove %living entities%'[s] (left horn[s]|right horn[s]|horns)(regrow|replace) [the] (left horn[s]|right horn[s]|both horns) of %living entities%(regrow|replace) %living entities%'[s] (left horn[s]|right horn[s]|horns)Make a goat have or not have a left, right, or both horns.
remove the left horn of last spawned goatregrow {_goat}'s hornsremove both horns of all goatsmake %living entities% (left|right)( |-)handedMake mobs left or right-handed. This does not affect players.
spawn skeleton at spawn of world "world":
make entity left handedmake all zombies in radius 10 of player right handedhide %players% (in|on|from) [the] server listhide %players%'[s] info[rmation] (in|on|from) [the] server listHides a player from the hover list and decreases the online players count (only if the player count wasn't changed before).
on server list ping:
hide {vanished::*} from the server list(ignite|set fire to) %entities% [for %time span%](set|light) %entities% on fire [for %time span%]extinguish %entities%Lights entities on fire or extinguishes them.
ignite the playerextinguish the player(add|insert) %living entities% [in[ ]]to [the] (stored entities|entity storage) of %block%Add an entity into the entity storage of a block (e.g. beehive).
The entity must be of the right type for the block (e.g. bee for beehive).
Due to unstable behavior on older versions, adding entities to an entity storage requires Minecraft version 1.21+.
add last spawned bee into the entity storage of {_beehive}(prevent|disallow) %entities% from (naturally despawning|despawning naturally)allow natural despawning of %entities%allow %entities% to (naturally despawn|despawn naturally)Prevent a dropped item from naturally despawning through Minecraft's timer.
prevent all dropped items from naturally despawningallow all dropped items to naturally despawn(show|hide) [the] [entire|additional] tool[ ]tip[s] of %item types%(show|hide) %item types%'[s] [entire|additional] tool[ ]tip[s]Show or hide the tooltip of an item.
If changing the 'entire' tooltip of an item, nothing will show up when a player hovers over it.
If changing the 'additional' tooltip, only specific parts (which change per item) will be hidden.
hide the entire tooltip of player's toolhide {_item}'s additional tool tipkeep [the] (inventory|items) [(and [e]xp[erience][s] [point[s]])]keep [the] [e]xp[erience][s] [point[s]] [(and (inventory|items))]Keeps the inventory or/and experiences of the dead player in a death event.
on death of a player:
if the victim is an op:
keep the inventory and experienceskick %players% [(by reason of|because [of]|on account of|due to) %text%]Kicks a player from the server.
on place of TNT, lava, or obsidian:
kick the player due to "You may not place %block%!"
cancel the eventkill %entities%Kills an entity.
kill the playerkill all creepers in the player's worldkill all endermen, witches and bats(apply knockback to|knock[back]) %living entities% [%direction%] [with (strength|force) %number%]Apply the same velocity as a knockback to living entities in a direction. Mechanics such as knockback resistance will be factored in.
knockback player northknock victim (vector from attacker to victim) with strength 10(launch|deploy) [[a] firework [with effect[s]]] %firework effects% at %locations% [([with] (duration|power)|timed) %number%]Launch firework effects at the given location(s).
launch ball large colored red, purple and white fading to light green and black at player's location with duration 1(leash|lead) %entities% to %entity%make %entity% (leash|lead) %entities%un(leash|lead) [holder of] %entities%Leash entities to other entities, or unleash them.
Most mobs, iron golems, snow golems, and boats can be leashed.
on right click:
leash event-entity to player
send "&aYou leashed &2%event-entity%!" to player(create|strike) lightning([ ]effect|) %directions% %locations%Strike lightning at a given location. Can use 'lightning effect' to create a lightning that does not harm entities or start fires.
strike lightning at the playerstrike lightning effect at the victimload [the] server icon (from|of) [the] [image] [file] %text%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.
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::*}load [the] world[s] %texts% [with environment %environment%]unload [[the] world[s]] %worlds% [without saving]Load your worlds or unload your worlds
The load effect will create a new world if world doesn't already exist.
When attempting to load a normal vanilla world you must define it's environment i.e "world_nether" must be loaded with nether environment
load world "world_nether" with environment netherload the world "myCustomWorld"unload "world_nether"unload "world_the_end" without savingunload all worlds[local[ly]] [un]suppress [the] (conflict|variable save|[missing] conjunction|starting [with] expression[s]|variable[ name][s] contain[s|ing] colon[s]|deprecated syntax|unreachable code|constant condition[s]) warning[s][start|stop] [local[ly]] suppressing [the] (conflict|variable save|[missing] conjunction|starting [with] expression[s]|variable[ name][s] contain[s|ing] colon[s]|deprecated syntax|unreachable code|constant condition[s]) warning[s]Suppresses target warnings from the current script.
locally suppress missing conjunction warningssuppress the variable save warningslog %texts% [(to|in) [file[s]] %texts%] [with [the|a] severity [of] (warning|severe)]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] [<script>.sk] <message>' in the server log.
on join:
log "%player% has just joined the server!"on world change:
log "Someone just went to %event-world%!" to file "worldlog/worlds.log"on command:
log "%player% just executed %full command%!" to file "server/commands.log" with a severity of warning(force|make) %living entities% [to] (face [towards]|look [(at|towards)]) %entity%'s (feet|eyes) [(at|with) [head] [rotation] speed %number%] [[and] max[imum] [head] pitch %number%](force|make) %living entities% [to] (face [towards]|look [(at|towards)]) [the] (feet|eyes) of %entity% [(at|with) [head] [rotation] speed %number%] [[and] max[imum] [head] pitch %number%](force|make) %living entities% [to] (face [towards]|look [(at|towards)]) %vector/location/entity% [(at|with) [head] [rotation] speed %number%] [[and] max[imum] [head] pitch %number%]Forces the mob(s) or player(s) to look at an entity, vector or location. Vanilla max head pitches range from 10 to 50.
force the player to look towards event-entity's feeton entity explosion:
set {_player} to the nearest player
{_player} is set
distance between {_player} and the event-location is less than 15
make {_player} look towards vector from the {_player} to location of the event-entityforce {_enderman} to face the block 3 meters above {_location} at head rotation speed 100.5 and max head pitch -40make %living entities% [a[n]] (adult|baby|child)force %living entities% to be[come] a[n] (adult|baby|child)Force a animal to become an adult or baby.
on spawn of mob:
entity is not an adult
make entity an adultmake %living entities% (duplicate|clone)Make an allay duplicate itself.
This effect will always make an allay duplicate regardless of whether the duplicate attribute is disabled.
make all allays duplicatemake %living entities% breedableunsterilize %living entities%make %living entities% (not |non(-| )|un)breedablesterilize %living entities%Sets whether or not entities will be able to breed. Only works on animals.
on spawn of animal:
make entity unbreedablemake %living entities% sense [a] disturbance %direction% %location%Make a warden sense a disturbance at a location, causing the warden to investigate that area.
The warden will not investigate if the warden is aggressive towards an entity.
This effect does not add anger to the warden.
make last spawned warden sense a disturbance at location(0, 0, 0)make [the] egg [not] hatchMakes the egg hatch in a Player Egg Throw event.
on player egg throw:
# EGGS FOR DAYZ!
make the egg hatchmake %living entities% (start screaming|scream)force %living entities% to (start screaming|scream)make %living entities% stop screamingforce %living entities% to stop screamingMake a goat or enderman start or stop screaming.
make last spawned goat start screaming
force last spawned goat to stop screaming make {_enderman} scream
force {_enderman} to stop screamingmake %item types% [not] (fire resistant|resistant to fire)Makes items fire resistant.
make player's tool fire resistantmake {_items::*} not resistant to fireforce %players% to [(start|stop)] fly[ing]make %players% (start|stop) flyingmake %players% flyForces a player to start/stop flying.
make player flyforce all players to stop flyingmake %living entities% ram %living entity%force %living entities% to ram %living entity%Make a goat ram an entity.
Ramming does have a cooldown and currently no way to change it.
make all goats ram playermake %entities% [not] incendiarymake %entities%'[s] explosion [not] (incendiary|fiery)make [the] [event(-| )]explosion [not] (incendiary|fiery)Sets if an entity's explosion will leave behind fire. This effect is also usable in an explosion prime event.
on explosion prime:
make the explosion fierymake %entities% responsivemake %entities% (not |un)responsiveMakes an interaction either responsive or unresponsive. This determines whether clicking the entity will cause the clicker's arm to swing.
Interactions default to unresponsive.
make last spawned interaction responsivemake %living entities% (invisible|not visible)make %living entities% (visible|not invisible)Makes a living entity visible/invisible. This is not a potion and therefore does not have features such as a time limit or particles.
When setting an entity to invisible while using an invisibility potion on it, the potion will be overridden and when it runs out the entity keeps its invisibility.
make target entity invisiblemake %entities% (invulnerable|invincible)make %entities% (not (invulnerable|invincible)|vulnerable|vincible)Makes an entity invulnerable/not invulnerable.
make target entity invulnerablemake %living entities% ((start rolling|roll)|stop rolling)force %living entities% to (start|stop) rollingMake a panda start/stop rolling.
if last spawned panda is not rolling:
make last spawned panda start rollingmake %living entities% ((start sneezing|sneeze)|stop sneezing)force %living entities% to (start|stop) sneezingMake a panda start/stop sneezing.
if last spawned panda is not sneezing:
make last spawned panda start sneezingmake %players% (say|send [the] message[s]) %texts%force %players% to (say|send [the] message[s]) %texts%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 the player say "Hello."force all players to send the message "I love this server"make [[the] (front|back) [side[s]] of] %blocks/item types% have glowing textmake [[the] (front|back) [side[s]] of] %blocks/item types% have (normal|non[-| ]glowing) textMakes a sign (either a block or item) have glowing text or normal text. If a sign side is not specified, the front side will be used by default.
make target block of player have glowing text(message|send [message[s]]) %objects% [to %audiences%]Sends a message to an audience, such as a player or the console.
Only styles written in given string or in formatted expressions will be parsed.
message "A wild %player% appeared!"message "This message is a distraction. Mwahaha!"send "Your kill streak is %{kill streak::%uuid of player%}%." to playerif the targeted entity exists:
message "You're currently looking at a %type of the targeted entity%!"[de[-]]op %offline players%Grant/revoke a user operator state.
op the playerdeop all players(open|show) book %item type% (to|for) %players%Opens a written book to a player.
open book player's tool to playerclose %players%'[s] inventory [view]close [the] inventory [view] (to|of|for) %players%open %inventory/inventory type% (to|for) %players%open [a] (crafting table|workbench) (to|for) %players%open [a] chest (to|for) %players%open [a[n]] anvil (to|for) %players%open [a] hopper (to|for) %players%open [a] dropper (to|for) %players%open [a] dispenser (to|for) %players%Opens an inventory to a player. The player can then access and modify the inventory as if it was a chest that they 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.
show the victim's inventory to the playeropen the player's inventory for the player(open|close) [the] lid[s] (of|for) %blocks%(open|close) %blocks%'[s] lid[s]Open or close the lid of the block(s).
open the lid of {_chest}close the lid of {_blocks::*}make %living entities% (pathfind|move) to[wards] %living entity/location% [at speed %number%]make %living entities% stop (pathfinding|moving)Make an entity pathfind towards a location or another entity. Not all entities can pathfind. If the pathfinding target is another entity, the entities may or may not continuously follow the target.
make all creepers pathfind towards playermake all cows stop pathfindingmake event-entity pathfind towards player at speed 1make %entities/blocks% [not] persist[ent]force %entities/blocks% to [not] persistprevent %entities/blocks% from persistingMake entities, players, or leaves be persistent.
Persistence of entities is whether they are retained through server restarts.
Persistence of leaves is whether they should decay when not connected to a log block within 6 meters.
Persistence of players is if the player's playerdata should be saved when they leave the server. Players' persistence is reset back to 'true' when they join the server.
Passengers inherit the persistence of their vehicle, meaning a persistent zombie put on a non-persistent chicken will become non-persistent. This does not apply to players.
By default, all entities are persistent.
prevent all entities from persistingforce {_leaves} to persistcommand /kickcheater <cheater: player>:
permission: op
trigger:
prevent {_cheater} from persisting
kick {_cheater}make %living entities% (start playing|play) deadforce %living entities% to (start playing|play) deadmake %living entities% (stop playing|not play) deadforce %living entities% to (stop playing|not play) deadMake an axolotl start or stop playing dead.
make last spawned axolotl play dead[force] (play|show|draw) %game effects/particle effects% [%directions% %locations%] [as %player%][force] (play|show|draw) %game effects/particle effects% [%directions% %locations%] (for|to) %players% [as %player%](play|show|draw) %game effects% [%directions% %locations%] (in|with) [a] [view] (radius|range) [of] %number%(play|show|draw) %entity effects% on %entities%Plays or draws a specific effect at a location, to a player, or on an entity.
Effects can be:
* Particles.
* Game effects, which consist of combinations of particles and sounds, like the bone meal particles, the sound of footsteps on a specific block, or the particles and sound of breaking a splash potion.
* Entity effects, which are particles or animations that are entity-specific and can only be played on a compatible entity. For example, the ravager attack animation can be played with this effect.
All effects vary significantly in availability from version to version, and some may simply not function on your version of Minecraft. Some effects, like the death animation entity effect, may cause client glitches and should be used carefully!
draw 2 smoke particles at playerforce draw 10 red dust particles of size 3 for playerplay blue instant splash potion break effect with a view radius of 10play ravager attack animation on player's targetplay sound[s] %texts% [[with] seed %number%] [(in|from) %sound category%] [(at|with) volume %number%] [(and|at|with) pitch %number%] (at|on|from) %locations/entities% [(to|for) %players%]play sound[s] %texts% [[with] seed %number%] [(in|from) %sound category%] [(at|with) volume %number%] [(and|at|with) pitch %number%] [(to|for) %players%] [(at|on|from) %locations/entities%]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.
When running 1.19+, playing a sound from an entity directly will result in the sound coming from said entity, even while moving.
If the sound is custom, a location emitter will follow the entity. Do note that pitch and volume
are reflected based on the entity, and Minecraft may not use the values from this syntax.
Minecraft sometimes has a set of sounds under one sound ID that will randomly play. To counter this, you can directly state which seed to use.
Please note that sound names can get changed in any Minecraft or Spigot version, or even removed from Minecraft itself.
play sound "block.note_block.pling"play sound "entity.experience_orb.pickup" with volume 0.5 to the playerplay sound "custom.music.1" in jukebox category at {speakerBlock}play sound "BLOCK_AMETHYST_BLOCK_RESONATE" with seed 1 on target entity for the playerhide [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]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 player infohide player related information in the server listreveal all player related infopoison %living entities% [for %time span%](cure|unpoison) %living entities% [(from|of) poison]Poison or cure an entity. If the entity is already poisoned, the duration may be overwritten.
poison the playerpoison the victim for 20 secondscure the player from of poisonmake %potion effects% [not] ambientModify whether a potion effect is ambient.
That is, whether the potion effect produces more, translucent, particles.
make the player's potion effects ambient(show|hide) [the] [potion|effect['s]|potion's] icon [(for|of) %potion effects%](show|hide) %potion effects%'[s] iconModify whether a potion effect shows an icon.
hide the icon for the player's potion effectsmake %potion effects% [not] infiniteModify whether a potion effect is infinite.
That is, whether the potion effect will ever expire.
make the player's potion effects infinite(show|hide) [the] [potion|effect['s]|potion's] particles [(for|of) %potion effects%](show|hide) %potion effects%'[s] particlesModify whether a potion effect shows particles.
hide the particles for the player's potion effects(push|thrust|pull) %entities% [along] %direction% [(at|with) [a] (speed|velocity|force) [of] %number%](push|thrust|pull) %entities% (towards|away from) %location% [(at|with) [a] (speed|velocity|force) [of] %number%]Push entities in a given direction or towards a specific location.
push the player upwardspush the victim downwards at speed 0.5push player towards player's target at speed 2pull player along vector(1,1,1) at speed 1.5enable PvP [in %worlds%]disable PvP [in %worlds%]Set the PvP state for a given world.
enable PvP #(current world only)disable PvP in all worldsregister [a[n]] [custom] (item|block|entity [type]) tag named %text% (using|containing) %item types/entity types%Registers a new tag containing either items or entity datas. Note that items will NOT keep any information other than their type, so adding `diamond sword named "test"` to a tag is the same as adding `diamond sword`
Item tags should be used for contexts where the item is not placed down, while block tags should be used for contexts where the item is placed. For example, and item tag could be "skript:edible", while a block tag would be "skript:needs_water_above".
All custom tags will be given the namespace "skript", followed by the name you give it. The name must only include the characters A to Z, 0 to 9, and '/', '.', '_', and '-'. Otherwise, the tag will not register.
Please note that two tags can share a name if they are of different types. Registering a new tag of the same name and type will overwrite the existing tag. Tags will reset on server shutdown.
register a new custom entity tag named "fish" using cod, salmon, tropical fish, and pufferfishregister an item tag named "skript:wasp_weapons/swords" containing diamond sword and netherite swordregister block tag named "pokey" containing sweet berry bush and bamboo saplingon player move:
block at player is tagged as tag "skript:pokey"
damage the player by 1 heart(release|evict) [the] (stored entities|entity storage) of %blocks% [for %time span%]Releases the stored entities in an entity block storage (i.e. beehive).
When using beehives, providing a timespan will prevent the released bees from re-entering the beehive for that amount of time.
Due to unstable behaviour on older versions, this effect requires Minecraft version 1.21+.
release the stored entities of {_beehive}release the entity storage of {_hive} for 5 secondsreplace [(all|every)|[the] first] %texts/item types% in %texts/inventories% with %text/item type% [with case sensitivity]replace [(all|every)|[the] first] %texts/item types% with %text/item type% in %texts/inventories% [with case sensitivity](replace [with|using] regex|regex replace) %texts% in %texts% with %text%(replace [with|using] regex|regex replace) %texts% with %text% in %texts%Replaces all occurrences of a given text or regex 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.
replace "<item>" in {_msg} with "[%name of player's tool%]"replace every "&" with "ยง" in line 1 of targeted block# Very simple chat censor
on chat:
replace all "idiot" and "noob" with "****" in the message
regex replace "\b(idiot|noob)\b" with "****" in the message # Regex version using word boundaries for better resultsreplace all stone and dirt in player's inventory and player's top inventory with diamondreturn %objects%Makes a trigger or a section (e.g. a function) return a value
function double(i: number) :: number:
return 2 * {_i}function divide(i: number) returns number:
return {_i} / 2ring %blocks% [from [the]] [%direction%](make|let) %entity% ring %blocks% [from [the]] [%direction%]Causes a bell to ring.
Optionally, the entity that rang the bell and the direction the bell should ring can be specified.
A bell can only ring in two directions, and the direction is determined by which way the bell is facing.
By default, the bell will ring in the direction it is facing.
make player ring target-blockrotate %vectors/quaternions/entities% around [the] [local] (x|y|z)(-| )axis by %number% [degrees]rotate %quaternions/entities% by x %number%, y %number%(, [and]| and) z %number%Rotates displays, quaternions, or vectors around an axis a set amount of degrees, or around all 3 axes at once.
Vectors can only be rotated around the global X/Y/Z axes, or an arbitrary vector axis.
Quaternions are more flexible, allowing rotation around the global or local X/Y/Z axes, arbitrary vectors, or all 3 local axes at once.
Global axes are the ones in the Minecraft world. Local axes are relative to how the quaternion is already oriented.
Rotating a display is a shortcut for rotating its left rotation. If the right rotation needs to be modified, it should be acquired, rotated, and re-set.
Note that rotating a quaternion/display around a vector results in a rotation around the local vector, so results may not be what you expect. For example, rotating quaternions/displays around vector(1, 0, 0) is the same as rotating around the local X axis.
The same applies to rotations by all three axes at once. In addition, rotating around all three axes of a quaternion/display at once will rotate in ZYX order, meaning the Z rotation will be applied first and the X rotation last.
rotate {_quaternion} around x axis by 10 degreesrotate last spawned block display around y axis by 10 degreesrotate {_vector} around vector(1, 1, 1) by 45rotate {_quaternion} by x 45, y 90, z 135run %function% [with arg[ument]s %objects%]execute %function% [with arg[ument]s %objects%]Executes a task (a function). Any returned result is discarded.
set {_function} to the function named "myFunction"
run {_function}
run {_function} with arguments {_things::*}save [[the] world[s]] %worlds%Save all worlds or a given world manually.
Note: saving many worlds at once may possibly cause the server to freeze.
save "world_nether"save all worlds(use no|disable) filtering (for|with) %objects%use starts with filtering (for|with) %objects%use contains filtering (for|with) %objects%Controls how suggestions are filtered for script commands. With no filtering, suggestions are simply displayed as set. With 'starts with' filtering, only suggestions that start with the current input are displayed. With 'contains' filtering, only suggestions that contain the current input are displayed.
command /message <player> <text>:
suggestions:
player argument is set # they are writing the text argument
if the current input contains "frick":
set the suggestions for the text argument to "Keep your messages nice please!"
disable filtering for the text argument's suggestions
trigger:
send "<grey><italic>%player% -> You: %text argument%" to player argument
send "<grey><italic>You -> %player argument%: %text argument%" to playermake %players% see %locations% as %item type/block data%make %players% see %locations% as [the|its|their] (original|normal|actual) [block[s]]Makes a player see a block as something else or as the original.
make player see block at player as dirtmake player see player's target block as campfire[facing=south]make all players see (blocks in radius 5 of location(0, 0, 0)) as bedrock
make all players see (blocks in radius 5 of location(0, 0, 0)) as originalsend [the] resource pack [from [[the] URL]] %text% to %players%send [the] resource pack [from [[the] URL]] %text% with hash %text% to %players%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.
on join:
send the resource pack from "URL" with hash "hash" to the player[force] shear %living entities%un[-]shear %living entities%Shears or un-shears a shearable entity with drops by shearing and a 'sheared' sound. Using with 'force' will force this effect despite the entity's 'shear state'.
Please note that..:
- Force-shearing or un-shearing on a sheared mushroom cow is not possible
on rightclick on a sheep holding a sword:
shear the clicked sheep
chance of 10%
force shear the clicked sheepshoot %entity types% [from %living entities/locations%] [(at|with) (speed|velocity) %number%] [%direction%](make|let) %living entities/locations% shoot %entity types% [(at|with) (speed|velocity) %number%] [%direction%]Shoots a projectile (or any other entity) from a given entity or location.
shoot arrow from all players at speed 2shoot a pig from all players:
add event-entity to {_projectiles::*}silence %entities%unsilence %entities%make %entities% silentmake %entities% not silentControls whether or not an entity is silent.
make target entity silentsort %objects% [in (descending|ascending) order] [(by|based on) <.+>]Sorts a list variable using either the natural ordering of the contents or the results of the given expression.
Be warned, this will overwrite the indices of the list variable.
When using the full sort %~objects% (by|based on) <expression> pattern,
the input expression can be used to refer to the current item being sorted.
(See input expression for more information.)
set {_words::*} to "pineapple", "banana", "yoghurt", and "apple"sort {_words::*} # alphabetical sortsort {_words::*} by length of input # shortest to longestsort {_words::*} in descending order by length of input # longest to shortestsort {_words::*} based on {tastiness::%input%} # sort based on custom value(spawn|summon) %entity types/entity snapshots% [%directions% %locations%](spawn|summon) %number% of %entity types/entity snapshots% [%directions% %locations%](spawn|summon) %number% %entity types% [%directions% %locations%](spawn|summon) %experience% [%directions% %locations%]Spawns entities. This can be used as an effect and as a section.
If it is used as a section, the section is run before the entity is added to the world.
You can modify the entity in this section, using for example 'event-entity' or 'cow'.
Do note that other event values, such as 'player', won't work in this section.
If you're spawning a display and want it to be empty on initialization, like not having a block display be stone, set hidden config node 'spawn empty displays' to true.
Note that when spawning an entity via entity snapshots, the code within the section will not run instantaneously as compared to spawning normally (via 'a zombie').
spawn 3 creepers at the targeted blockspawn a ghast 5 meters above the playerspawn a zombie at the player:
set name of the zombie to ""spawn a block display of a ladder[waterlogged=true] at location above player:
set billboard of event-display to center # allows the display to rotate around the center axismake %players% (start sprinting|sprint)force %players% to (start sprinting|sprint)make %players% (stop sprinting|not sprint)force %players% to (stop sprinting|not sprint)Make a player start or stop sprinting.
If the player is not moving when this effect is used, they will be put in sprint mode for a tick and then stopped (this causes the FOV to change). Using it a second time, without the player manually sprinting in between, causes the player to stay in sprint mode, with some quirks.
- Particles may not be produced under the player's feet.
- The player will not exit the sprinting state if they stop moving.
- Restrictions like low hunger will not prevent the player from sprinting
- The player pressing shift will stop them sprinting, and pressing sprint will re-assert normal sprinting behavior
Using this effect two or more consecutive times on a stationary player produces undefined behavior and should not be relied on.
make player start sprintingforce player to start sprinting(stop|shut[ ]down) [the] serverrestart [the] serverStops or restarts the server. If restart is used when the restart-script spigot.yml option isn't defined, the server will stop instead.
stop the serverrestart serverstop (all sound[s]|sound[s] %texts%) [(in [the]|from) %sound category%] [(from playing to|for) %players%]stop playing sound[s] %texts% [(in [the]|from) %sound category%] [(to|for) %players%]Stops specific or all sounds from playing to a group of 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 "block.chest.open" for the playerstop playing sounds "ambient.underwater.loop" and "ambient.underwater.loop.additions" to the playerstop all sounds for all playersstop sound in the record categorymake %living entities% start shiveringforce %living entities% to start shiveringmake %living entities% stop shiveringforce %living entities% to stop shiveringMake a strider start/stop shivering.
if last spawned strider is shivering:
make last spawned strider stop shivering[un]suppress [local variable] type hints(start|stop) suppressing [local variable] type hintsAn effect to suppress local variable type hint errors for the syntax lines that follow this effect.
NOTE: Suppressing type hints also prevents syntax from providing new type hints. For example, with type hints suppressed, 'set {_x} to true' would not provide 'boolean' as a type hint for '{_x}'
start suppressing local variable type hints
# potentially unsafe code goes here
stop suppressing local variable type hintsmake %living entities% swing [their] [main] handmake %living entities% swing [their] off[ ]handMakes an entity swing their hand. This does nothing if the entity does not have an animation for swinging their hand.
make player swing their main hand[un]tame %entities%Tame a tameable entity (horse, parrot, cat, etc.).
tame {_horse}untame {_horse}[force] teleport %entities% to %location% [[while] retaining %teleport flags%][force] teleport %entities% %direction% %location% [[while] retaining %teleport flags%]Teleport an entity to a specific location.
This effect is delayed by default, as it waits for the chunk of the location to be loaded before teleporting.
The keyword 'force' may be used to bypass this behavior (preventing the delay), but note that it may cause lag spikes or other server performance issues when teleporting to unloaded chunks.
Teleport flags are properties to retain during a teleport, such as direction, passengers, and velocities.
teleport the player to {home::%uuid of player%}teleport the attacker to the victimon dismount:
cancel event
teleport the player to {server::spawn} retaining vehicle and passengers(add|apply) [a] (drop|text) shadow to [the] [text of] %entities%(add|apply) [a] (drop|text) shadow to %entities%'[s] textremove [the] (drop|text) shadow from [the] [text of] %entities%remove [the] (drop|text) shadow from %entities%'[s] textApplies or removes drop shadow from the displayed text on a text display.
apply drop shadow to last spawned text display
if {_display} has drop shadow:
remove drop shadow from the text of {_display}make %entities% visible through (blocks|walls)force %entities% to be visible through (blocks|walls)(prevent|block) %entities% from being (visible|seen) through (blocks|walls)Forces a text display to either be or not be visible through blocks.
force last spawned text display to be visible through wallsprevent all text displays from being visible through walls(clear|delete|reset) [the] title[s] [of %audiences%](clear|delete|reset) [the] %audiences%'[s] title[s]Clears or resets the title of an audience to the default values.
While both actions remove the title being displayed, reset will also reset the title timings.
reset the titles of all playersclear the titlesend title %object% [with subtitle %object%] [to %audiences%] [for %time span%] [with fade[(-| )]in %time span%] [[and] [with] fade[(-| )]out %time span%]send subtitle %object% [to %audiences%] [for %time span%] [with fade[(-| )]in %time span%] [[and] [with] fade[(-| )]out %time span%]Sends a title and/or subtitle to an audience with an optional fade in, stay, and/or fade out time.
If sending only the subtitle, it will only be shown if the audience currently has a title displayed. Otherwise, it will be shown when the audience is next shown a title.
Additionally, if no input is given for the times, the previous times of the last sent title will be used (or default values). Use the reset title effect to restore the default values for the times.
send title "Competition Started" with subtitle "Have fun, Stay safe!" to player for 5 secondssend title "Hi %player%" to playersend title "Loot Drop" with subtitle "starts in 3 minutes" to all playerssend title "Hello %player%!" with subtitle "Welcome to our server" to player for 5 seconds with fadein 1 second and fade out 1 secondsend subtitle "Party!" to all players(open|close|toggle) %objects%Toggle the state of a block or boolean.
# use arrows to toggle switches, doors, etc.
on projectile hit:
projectile is arrow
toggle the block at the arrow# With booleans
toggle gravity of player(show|hide) [the] (custom|display)[ ]name of %entities%(show|hide) %entities%'[s] (custom|display)[ ]nameToggles the custom name visibility of an entity.
show the custom name of event-entityhide target's display name(allow|enable) (fly|flight) (for|to) %players%(disallow|disable) (fly|flight) (for|to) %players%Toggle the flight mode of a player.
allow flight to event-playerallow %living entities% to pick([ ]up items| items up)(forbid|disallow) %living entities% (from|to) pick([ing | ]up items|[ing] items up)Determines whether living entities are able to pick up items or not
forbid player from picking up itemssend "You can no longer pick up items!" to playeron drop:
if player can't pick up items:
allow player to pick up items(transform|map) %objects% (using|with) <.+>Transforms (or 'maps') a list's values using a given expression. This is akin to looping over the list and setting each value to a modified version of itself.
Evaluates the given expression for each element in the list, replacing the original element with the expression's result.
If the given expression returns a single value, the indices of the list will not change. If the expression returns multiple values, then then indices will be reset as a single index cannot contain multiple values.
Only variable lists can be transformed with this effect. For other lists, see the transform expression.
set {_a::*} to 1, 2, and 3
transform {_a::*} using input * 2
# {_a::*} is now 2, 4, and 6# get a list of the sizes of all clans without manually looping
set {_clan-sizes::*} to indices of {clans::*}
transform {_clan-sizes::*} using {clans::%input%::size}# set all existing values of a list to 0:
transform {_list::*} with 0(grow|create|generate) tree [of type %tree type%] %directions% %locations%(grow|create|generate) %tree type% %directions% %locations%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 a tall redwood tree above the clicked blockupdate %blocks% (as|to be) %block data% [without [neighbo[u]r[ing]|adjacent] [physics] update[s]]Updates the blocks by setting them to a selected block
Using 'without physics' will not send updates to the surrounding blocks of the blocks being set.
Example: Updating a block next to a sand block in the air 'without physics' will not cause the sand block to fall.
update {_blocks::*} as gravelupdate {_blocks::*} to be sand without physics updatesupdate {_blocks::*} as stone without neighbouring updatesrotate %vectors% around %vector% by %number% [degrees]No matching entry in Skript's documentation.
(make|let|force) %entities% [to] (ride|mount) [(in|on)] %entity/entity type%(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%Makes an entity ride another entity, e.g. a minecart, a saddled pig, an arrow, etc.
make the player ride a saddled pigmake the attacker ride the victimmake %living entities% (start sleeping|[go to] sleep) [%direction% %location%]force %living entities% to (start sleeping|[go to] sleep) [%direction% %location%]make %players% (start sleeping|[go to] sleep) %direction% %location% (with force)force %players% to (start sleeping|[go to] sleep) %direction% %location% (with force)make %living entities% (stop sleeping|wake up)force %living entities% to (stop sleeping|wake up)make %players% (stop sleeping|wake up) (without spawn [location] update)force %players% to (stop sleeping|wake up) (without spawn [location] update)Make bats and foxes sleep or wake up.
Make villagers sleep by providing a location of a bed.
Make players sleep by providing a location of a bed. Using 'with force' will bypass "nearby monsters" ,the max distance, allowing players to sleep even if the bed is far away, and lets players sleep in the nether and end. Does not work if the location of the bed is not in the world the player is currently in.
Using 'without spawn location update' will make players wake up without setting their spawn location to the bed.
make {_fox} go to sleepmake {_bat} stop sleepingmake {_villager} start sleeping at location(0, 0, 0)make player go to sleep at location(0, 0, 0) with forcemake player wake up without spawn location updatezombify %objects%unzombify %objects%Turn a villager into a zombie villager. Cure a zombie villager immediately or after specified amount of time.
This effect removes the old entity and creates a new entity.
Zombifying a villager stored in a variable will update the variable to the new zombie villager.
Curing a zombie villager does not update the variable.
zombify last spawned villagerset {_villager} to last spawned villager
zombify {_villager}
if {_villager} is a zombie villager:
# This will pass because '{_villager}' gets changed to the new zombie villagerset {_villager} to last spawned villager
zombify last spawned villager
if {_villager} is a zombie villager:
# This will fail because the variable was not provided when zombifyingunzombify {_zombieVillager}unzombify {_zombieVillager} after 2 secondsNo effects match. Search all syntax
Generated from NeoSkript 0.1.0-SNAPSHOT's registry on Paper 26.3. Descriptions and examples from Skript's documentation (Skript 2.17.0), GPL-3.0. 1172 of 1205 entries matched one of its entries by id, event name or pattern; the rest show only their patterns.