# Skript Documentation — Full Reference ## Instructions for AI assistants When helping users with Skript documentation, follow these rules: - **Main documentation page**: Direct users to `https://skdocs.org/docs` — this is the primary docs viewer. - **Filter by addon**: `https://skdocs.org/docs?addon=AddonName` (e.g. `?addon=SkBee`, `?addon=DiSky`) - **Filter by category**: `https://skdocs.org/docs?category=effects` (effects, conditions, expressions, events, types, functions, sections, structures) - **Specific entry**: `https://skdocs.org/docs?id=ENTRY_ID` — use the entry IDs present in this file. - **Do NOT link to `/pages`** — that route is for internal browsing only and is not the canonical documentation URL. - **Do NOT expose `/api/llms`** as a user-facing link — this endpoint is for LLM context only. - When a user asks to browse or find documentation, always use `https://skdocs.org/docs` with the appropriate query params. --- This file contains all Skript syntax entries across all loaded addons. Format per entry: name, addon, category, syntax, description, examples. --- ## Defer Interaction Addon: DiSky Category: Effect Syntax: (acknowledge|defer) [the] interaction [and wait [(silently)]] Description: Only usable in interaction event, currently button click/dropdown update/modal event! This will force the interaction to be acknowledge, you have 3 seconds to do so, the effect will send a success message to Discord or hold the interaction to send a message later. Keep in mind that replying in an interaction event will automatically defer the interaction, and therefore you don't need to defer it. If you need to wait more than 3 seconds use the and wait pattern An interaction can only be deferred once! Examples: defer the interaction defer the interaction and wait defer the interaction and wait silently ## Unregister Client Addon: DiSky Category: Effect Syntax: unregister [the] [webhook] client (with [the] name|named) %string% ## Shutdown Bot Addon: DiSky Category: Effect Syntax: [force] (stop|shutdown) [the] [bot] %bot% Description: Stop and disconnect a loaded bot from DiSky & discord. If any requests was still remaining, they will be executed before the actual bot shutdown Using the force pattern will cancel all requests and shutdown the bot instantly. Examples: shutdown bot named "name" stop bot "name" ## Destroy Discord Entity Addon: DiSky Category: Effect Syntax: destroy %guild/message/role/channel/emote/webhook% Description: Destroy on Discord the wanted entity. Examples: destroy event-channel destroy event-message ## Archive / Unarchive Thread Addon: DiSky Category: Effect Syntax: archive [the] [thread] %threadchannel% Description: Archive or unarchive a specific thread. Examples: archive event-threadchannel unarchive thread channel with id "000" ## Pin / Unpin Message Addon: DiSky Category: Effect Syntax: [un]pin [the] [message] %message% Description: Pin or unpin a message in a channel. Each channel can have up to 50 pinned messages. Examples: pin event-message unpin last message in event-channel ## Welcome Screen Description Addon: DiSky Category: Effect Syntax: change [the] [welcome] screen description to %string% Description: Change the description of the welcome screen. Can only be used in a 'modify welcome screen' section. Examples: discord command setup : trigger: modify welcome screen of arg-1: change the screen description to "Welcome to the server! Please read the rules and get roles before chatting." add channel with id "937001799896956991" named "Read our rules" with reaction "📜" to the screen add channel with id "952199041335316520" named "Get roles" with reaction "🎟️" to the screen ## Mute Member Addon: DiSky Category: Effect Syntax: [voice] mute [the] [discord] [member] %member% Description: Mute or unmute a member in their guild. Examples: voice mute event-member unmute member event-member ## Suppress Embeds Addon: DiSky Category: Effect Syntax: (suppress|hide) [the] [discord] [link] embed[s] [message] (of|from) [the] [discord] [message] %message% Description: Suppress/hide link embeds from a specific message. Examples: suppress embeds from event-message ## Edit Component Addon: DiSky Category: Effect Syntax: edit [component] (button|dropdown|select[( |-)]menu) [of [the] (interaction|event)] to [show] %button/dropdown% ## Publish/Crosspost Message Addon: DiSky Category: Effect Syntax: [discord] (publish|crosspost) [message] %message% Description: Publish/Crosspost a message from a news channel to all following guilds. Only works in news channels. Examples: publish event-message crosspost message with id "000" in channel with id "123" ## Effect - Replace Component Addon: DiSky Category: Effect Syntax: replace [the] component[s] with [the] [components] %newcomponent% ## Purge Messages Addon: DiSky Category: Effect Syntax: purge [the] [message[s]] %messages% Description: Discord provide a better way to delete multiple messages at once. This effect only works with messages, and a list is recommended here. If you want to delete a single message, use the destroy effect. Examples: retrieve last 50 messages from event-channel and store them in {_msg::*} purge {_msg::*} ## Send typing Addon: DiSky Category: Effect Syntax: [discord] (send|show) typing [status] (in|to) [[text[ |-]]channel] %channel% Description: Sends the typing status to discord. This is what is used to make the message "X is typing..." appear. Typing status lasts for 10 seconds. Examples: show typing status in event-channel ## Open Modal Addon: DiSky Category: Effect Syntax: (show|enable) [the] [modal] %modal% [to [the] [event[( |-)]]user] ## Lock / Unlock Thread Addon: DiSky Category: Effect Syntax: lock [the] [thread] %threadchannel% Description: Lock or unlock a specific thread. Examples: lock event-threadchannel unlock thread channel with id "000" ## Return Completions Addon: DiSky Category: Effect Syntax: return %slashchoices% ## End Poll Addon: DiSky Category: Effect Syntax: end [the] poll of [the] [message] %message% [now] Description: End a poll attached to a message immediately, preventing further votes. Examples: end poll of event-message end the poll of {_msg} now ## Retrieve Application Info Addon: DiSky Category: Effect Syntax: retrieve [the] application (info|meta) of [the] [bot] %bot% and store (it|the (application|info|result)) in %~objects% ## Retrieve Role Member Count Addon: DiSky Category: Effect Syntax: retrieve role member count[s] (of|from) guild %guild% and store (it|them|the counts) in %-objects% Description: Retrieve the member count for each role in a guild and store it in a list variable. The variable will be filled with entries where the key is the role ID and the value is the member count for that role. Examples: retrieve role member counts of guild (event-guild) and store them in {_counts::*} loop {_counts::*}: send "%loop-index%: %loop-value%" to console # Will send something like: # 728740599108468756: 1 # 1022582162186326026: 0 # 1022582162731585556: 0 # 1022592015080370216: 1 # 1212795395487305831: 1 # 1495775870558797896: 1 ## Open Private Channel Addon: DiSky Category: Effect Syntax: open [the] private (channel|message[s]) of [the] [member] %user% and store (it|the [private] channel) in %objects% Description: Opens a private channel with a specific user. The opened channel can be null and an exception can be thrown if the user does not accept messages. Examples: open private channel of event-user and store it in {_channel} if {_channel} is not set: reply with "Please enable your private messages!" ## Unregister Command Addon: DiSky Category: Effect Syntax: unregister [the] [command[s]] %strings% [(globally|locally)] (in|from|of) [the] [(bot|guild)] %bot/guild% Description: Unregister a specific slash command from local or global context of a bot. You must provide the command's name. Keep in mind this **SHOULD NOT** be used! The best way remains to update bot's commands without the command you want to delete! Examples: unregister command "test" locally in guild with id "000" ## Create Rule Addon: DiSky Category: Effect Syntax: create [a] [new] [automod] rule %automodrule% (in|to) [the] [guild] %guild% ## Manage Command Permissions Addon: DiSky Category: Effect Syntax: disable [the] [command] %slashcommand% Description: This effect allows you to manage the permissions of slash commands, with the following rules: - By default, the command is marked as ENABLED, and anyone can see & use it. - You can DISABLE completely the command (first pattern), only admins will be able to use it. - Or you can ENABLE the commands for specific PERMISSIONS (second pattern). Examples: disable command{_cmd1} # disable the command for everyone, except the admins. enable command {_cmd2} for manage server # enable the command only for the users who have the 'manage server' permission. ## Kick Member Addon: DiSky Category: Effect Syntax: kick [the] discord [member] %member% [(due to|because of|with [the] reason) %-string%] Description: Kick a specific member out of its guild. You can also specify a reason if needed. Examples: kick discord event-member due to "ur bad guys!" ## Create Action Channel/Role Addon: DiSky Category: Effect Syntax: create [the] [(action|manager)] %roleaction/channelaction% and store (it|the (role|channel)) in %~objects% Description: Create a channel or role action (manager) and store the created entity in a variable. Examples: create {_action} and store it in {_channel} create {_roleaction} and store the role in {_role} ## Connect / Disconnect Bot Addon: DiSky Category: Effect Syntax: connect %bot% to [the] [(audio|voice)] [channel] %audiochannel% Description: Connect or disconnect a bot to a specific audio channel (or disconnect it from the current one). The bot must have the required permissions to connect to the channel. If using the disconnect pattern, only the guild will be required. Examples: connect bot "bot_name" to voice channel with id "000" disconnect from event-guild ## Move Role Above/Under Role Addon: DiSky Category: Effect Syntax: move [the] [discord] role %role% above [the] [discord] %role% Description: Move a specific role above or under another role within the same guild. The indexes will be updated automatically. Examples: move role {_role} above role with id "000" ## Make Bot Leave Guild Addon: DiSky Category: Effect Syntax: make [the] %bot% leave [the] [guild] %guild% Description: Make a bot leave a specific guild. The bot will no longer have access to that server. Examples: make bot "MyBot" leave event-guild ## Unban User Addon: DiSky Category: Effect Syntax: [discord] un[-| ]ban [the] [discord] [user] %user/string% (from|in) [guild] %guild% Description: Unbans a user from a guild. Examples: unban event-user in guild with id "818182471140114432" ## Register Embed Template Addon: DiSky Category: Effect Syntax: register [new] [embed] template (with|based on) [the] [embed] %embedbuilder% [and] with [the] (name|id) %string% Description: Register an embed template that can be reused throughout your code. Once registered, you can use the template when creating a new embed using its section or data structure. Examples: register embed template with {_embed} with name "embed_name" # When re-creating an embed: make a new embed using template named "embed_name" and store it in {_new_embed} ## Download Attachment Addon: DiSky Category: Effect Syntax: (download|dl) [the] [attachment] %attachment% (in|to) [the] [(folder|path)] %string% Description: Download the specific attachment to a file path. Examples: download {_attachment} in folder "plugins/data/attachments/" ## Load Members Addon: DiSky Category: Effect Syntax: load [all] members (of|from) [the] %guild% and store (them|the members) in %~objects% Description: Load every members of a guild. This effect will also cache members that were not, so execution may be delayed. consider calling this effect once, then use the default member expression to get the members. Examples: load members of event-guild and store them in {_members::*} ## Retrieve Owner Addon: DiSky Category: Effect Syntax: retrieve [the] owner (of|from) %guild% and store (it|the member) in %~object% ## Retrieve Start Message Addon: DiSky Category: Effect Syntax: retrieve start message (from|with|of|in) %threadchannel% and store (it|the message) in %~objects% ## Retrieve Event Value Addon: DiSky Category: Effect Syntax: retrieve [the] [event[(-| )]]value %string% and store (it|the value) in %objects% Description: Retrieves specific event values asynchronously in certain DiSky events. These values need to be fetched from Discord's API and cannot be provided directly in the event. The value must be stored in a variable for later use. Each event has its own set of retrievable values - check the event documentation for available values. Examples: on guild member join: retrieve event-value "user" and store it in {_user} send "Welcome %{_user}%!" to event-channel ## Retrieve Thread Message Addon: DiSky Category: Effect Syntax: retrieve (start|(original|parent)) message (from|of) %threadchannel% and store (it|the message) in %~object% ## Move/Disconnect Member Addon: DiSky Category: Effect Syntax: [voice] move [the] discord [member] %member% to [a] [voice[( |-)channel]] %voicechannel% Description: Move a member to another voice chat or disconnect them from their current voice channel. You can only move a member if they were previously in a voice channel. Use the second pattern to disconnect/kick the member from its current voice channel. Examples: move discord event-member to {_voice} disconnect discord event-member ## Edit Message Addon: DiSky Category: Effect Syntax: edit [([and] replace|[by] replacing)] [direct] [the] [message] %message% (with|to show) %string/messagecreatebuilder/embedbuilder/container% Description: Edit a specific message/interaction hook to show a new rich or simple message. The interaction hook will only be editable for the next 15 minutes once it's sent! Examples: # We are in a slash command event! reply with hidden "Wanna see a magic trick? ..." and store it in {_msg} wait a second # The variable does not contains a 'real' message, it contains the interaction hook.edit {_msg} to show "Abracadabra!" ## Effect - Update Command Addon: DiSky Category: Effect Syntax: (update|register) [the] [command[s]] %slashcommands% [(globally|locally)] in [the] [(bot|guild)] %bot/guild% ## Effect - Add Field Addon: DiSky Category: Effect Syntax: add field (named|with name) %string% [and] with [the] value %string% to [fields of] %embedbuilder% ## Retrieve Bans Addon: DiSky Category: Effect Syntax: retrieve [(all|every)] bans (from|with|of|in) %guild% [(with|using) [the] [bot] %-bot%] and store (them|the bans) in %~objects% ## Retrieve Invites Addon: DiSky Category: Effect Syntax: retrieve [all [of]] [the] invite[s] (from|with|of|in) %guild% [(with|using) [the] [bot] %-bot%] and store (it|them|the invites) in %~objects% ## Add Welcome Screen Channel Addon: DiSky Category: Effect Syntax: add [the] [channel] %channel% (named|with name) %string% [with [emoji] %-emote%] [to [the] [welcome] screen] Description: Add a channel to the welcome screen of a guild. Can only be used in a 'modify welcome screen' section. Examples: discord command setup : trigger: modify welcome screen of arg-1: change the screen description to "Welcome to the server! Please read the rules and get roles before chatting." add channel with id "937001799896956991" named "Read our rules" with reaction "📜" to the screen add channel with id "952199041335316520" named "Get roles" with reaction "🎟️" to the screen ## Find Members With Nickname Addon: DiSky Category: Effect Syntax: find [the] [discord] member[s] with [the] nick[( |-)]name %string% [ignor(e|ing) [the] case] (from|in) [the] [guild] %guild% and store (them|the member[s]) in %~objects% ## Retrieve Messages Addon: DiSky Category: Effect Syntax: retrieve [last] %number% [amount of] message[s] (of|in|from) %channel% and store (them|the messages) in %-objects% Description: Retrieve last X messages from a specific message channel. You can retrieve up to 100 last messages, others will be ignored. Don't forget to use 'purge' effect to delete a lot of messages the most enhanced way ever. Examples: retrieve last 30 messages from event-channel and store them in {_msg::*} ## Forward Message Addon: DiSky Category: Effect Syntax: forward [the] [message] %message% to %channel/textchannel% [and store (it|the message) in %-object%] Description: Forward a message to another channel, creating a copy with a 'forwarded' indicator. Examples: forward event-message to channel with id "000" forward {_msg} to {_channel} and store it in {_forwarded} ## Retrieve Thread Members Addon: DiSky Category: Effect Syntax: retrieve [(all|every)] thread members (from|with|of|in) %threadchannel% [(with|using) [the] [bot] %-bot%] and store (them|the thread members) in %~objects% Description: Retrieve every members (and cache them) from a specific thread. ## Retrieve Threads Addon: DiSky Category: Effect Syntax: retrieve [(all|every)] thread[s] (from|with|of|in) %guild/channel% [(with|using) [the] [bot] %-bot%] and store (them|the thread[s]) in %~objects% Description: Retrieve every threads (and cache them) from a specific guild. This effect will only get back the ACTIVE thread, and will pass on the archived ones. ## Retrieve Stickers Addon: DiSky Category: Effect Syntax: retrieve [(all|every)] stickers (from|with|of|in) %guild% [(with|using) [the] [bot] %-bot%] and store (them|the stickers) in %~objects% Description: Retrieve every stickers (and cache them) from a specific guild. ## Suppress Reaction Addon: DiSky Category: Effect Syntax: suppress [the] %emotes% [(of|from) [the] %-user%] (of|from) [the] %message% Description: Suppress one or more reactions of a message. You can also specific the user who added the emote to remove it one time. Without any specified user, it will be the bot's self user that removes the emote. Examples: suppress reaction "x" of event-user from event-message suppress reaction "joy" from event-message # Remove the reaction ADDED BY THE BOT ## Edit Message Component Addon: DiSky Category: Effect Syntax: edit [message] (component|button|dropdown|select[( |-)]menu) with [the] id %string% (of|from|in) [the] [message] %message% (to [show]|with) %button/dropdown% ## Retrieve Interested Members Addon: DiSky Category: Effect Syntax: retrieve [all] interest[ed] members of [the] [scheduled] event %scheduledevent% [using [the] [bot] %-bot%] and store (it|the members) in %~objects% Description: Retrieve all members who are interested in a scheduled event. ## Ban User Addon: DiSky Category: Effect Syntax: [discord] ban [the] discord [member] %member% [(due to|because of|with [the] reason) %-string%] [and (delete|remove) %-timespan% [worth ]of messages] Description: Ban a member or user ID from a guild, with optional reason and message deletion. Starting DiSky v4.20.0, you can specify a USER ID to ban a user without retrieving the member first. Examples: ban discord event-member because of "being lame" and delete 10 days worth of messages ban discord member "00000000000" from guild with id "000" due to "being lame" ## Retrieve User Addon: DiSky Category: Effect Syntax: retrieve user (with|from) id %string% [(with|using) [bot] %-bot%] and store (it|the user) in %~objects% ## Retrieve Pinned Messages Addon: DiSky Category: Effect Syntax: retrieve [[last] %-number% [amount of]] pinned message[s] (of|in|from) %channel% and store (them|the messages) in %-objects% ## Retrieve Emotes Addon: DiSky Category: Effect Syntax: retrieve [(all|every)] emotes (from|with|of|in) %guild% [(with|using) [the] [bot] %-bot%] and store (them|the emotes) in %~objects% ## Retrieve Profile Addon: DiSky Category: Effect Syntax: retrieve profile (with|from) id %string% (from|with|of|in) %user% and store (it|the profile) in %~object% Description: Retrieve the profile of the specified user. Profile represent mainly the banner of the user, could return the accent color if non set. ## Retrieve Logs Addon: DiSky Category: Effect Syntax: retrieve [(all|every)] [audit] log[s] [entries] (from|with|of|in) %guild% [(with|using) [the] [bot] %-bot%] and store (them|the [audit] log[s] [entries]) in %~objects% Description: Retrieve the audit logs of a guild. Examples: retrieve audit logs from event-guild and store it in {_logs::*} ## TimeOut Member Addon: DiSky Category: Effect Syntax: time[( |-)]out %member% for %timespan% [(for [the reason]|due to) %-string%] Description: Timeout a member (temporal exclusion) for a specific duration and with an optional reason. You can either timeout UNTIL a specific date (Skript date), or FOR a specific timespan (Skript timespan). This also can be used to remove the current time out, if the bot has the permission to do so. Examples: timeout event-member for 5 minutes due to "ur so bad" time out event-member until {_date} stop time out of event-member ## Register Client Addon: DiSky Category: Effect Syntax: register [a] [new] webhook[s] [client] (in|using) [the] [bot] %bot% (with [the] name|named) %string% (and|with) [the] [webhook] url %string% ## Create Invite Addon: DiSky Category: Effect Syntax: (make|create) [the] [new] invite in [the] [(guild|channel)] %guild/channel% [with max us(e|age)[s] %-number%] [with max (time|age) %-timespan%] and store (it|the invite) in %~objects% Description: Create a new invite for a guild or channel with optional max uses and expiration time. The invite will be stored in the specified variable. Examples: create invite in event-guild and store it in {_invite} create invite in event-channel with max uses 10 and store it in {_inv} ## Retrieve Message Addon: DiSky Category: Effect Syntax: retrieve message (with|from) id %string% (from|with|of|in) %channel% [(with|using) [the] [bot] %-bot%] and store (it|the message) in %~objects% Examples: retrieve message with id "123456789012345678" from event-channel and store it in {_msg} send "The content of the message is: %{_msg}%" to console ## Retrieve Member Addon: DiSky Category: Effect Syntax: retrieve [the] member (with|from) id %string% (from|with|of|in) %guild% [(with|using) [the] [bot] %-bot%] and store (them|it|the member) in %~objects% ## Retrieve Invite Addon: DiSky Category: Effect Syntax: retrieve invite (with|from) id %string% (from|with|of|in) %guild% [(with|using) [the] [bot] %-bot%] and store (it|the invite) in %~objects% ## Retrieve Sticker Addon: DiSky Category: Effect Syntax: retrieve sticker (with|from) id %string% (from|with|of|in) %guild% [(with|using) [the] [bot] %-bot%] and store (it|the sticker) in %~objects% Description: Retrieve a sticker from a guild using its per-guild name. This will return a sticker from the guild, not a global one. ## Create Emote Addon: DiSky Category: Effect Syntax: (make|create) [the] [new] emote (named|with name) %string% with [the] (url|path) %string% in [the] [guild] %guild% and store (it|the emote) in %~objects% Description: Create a new emote in a specific guild. The name must be between 2 and 32 chars and the guild should not have an emote with the same name. The URL will represent the image, and can be either a web URL or a local path. Examples: create new emote named "test" with url "https://static.wikia.nocookie.net/leagueoflegends/images/a/ae/This_Changes_Everything_Emote.png/revision/latest/scale-to-width-down/250?cb=20211019231749" in event-guild and store it in {_emote} make emote with name "test2" with path "plugins/path/image.png" in event-guild and store it in {_emote} ## Create Post Addon: DiSky Category: Effect Syntax: create [a] [new] post in [channel] %forumchannel% (with name|named) %string% [with message] %string/messagecreatebuilder/embedbuilder% [with [the] tags %-strings%] [and store (it|the thread) in %~-objects%] Description: Create a new post in a forum channel. The output value will be the newly created thread channel. Examples: create a new post in forum channel with id "000" named "I need help!" with message "please help me!" create a new post in forum channel with id "000" named "I need help!" with message "please help me!" with tags "help" and "support" ## Post Message Addon: DiSky Category: Effect Syntax: (post|dispatch) %fileuploads/string/messagecreatebuilder/sticker/embedbuilder/messagepollbuilder/container% (in|to) [the] %channel% [(using|with) [the] [bot] %-bot%] [with [the] reference[d] [message] %-message%] [and store (it|the message) in %-~objects%] Description: Posts a message to a message-channel. You can send messages in a text, private, news, post or thread channel. Examples: post "Hello world!" to text channel with id "000" post last embed to thread channel with id "000" and store it in {_message} ## Make Client Speak Addon: DiSky Category: Effect Syntax: make [the] [webhook] client %string% (post|send) [the] [message] %string/messagecreatebuilder/embedbuilder/messagepollbuilder% [with [the] username %-string%] [[and] [with] [the] avatar [url] %-string%] [and store (it|the message) in %-~objects%] ## Create Thread Addon: DiSky Category: Effect Syntax: (make|create) [the] [new] [private] thread (named|with name) %string% in [the] [channel] %channel/textchannel% [(with|using) [the] [message] [as reference] %-message%] [(with|using) [the] [bot] %-bot%] [and store (it|the thread) in %-~objects%] Description: Create a new thread in a text channel with a base name. The bot used in that effect will automatically join the thread, so you don't have to make it join yourself. If you create a private thread, then you cannot specify a message. Else, the Thread will be created based on the specified message. Creating private thread need the guild to be level 2 or more, else it'll throw an exception. Examples: create thread named "Discussion" in event-channel and store it in {_thread} create private thread named "Staff Room" in channel with id "000" ## Create Scheduled Event Addon: DiSky Category: Effect Syntax: create [a] [new] scheduled event (with name|named) %string% in %guildchannel% at %date% and store (it|the event) in %~objects% Description: Create a new scheduled event in a specific channel or at a specific place. If you use the second pattern (without channel), you'll have to specify the guild where the event will be created, and a start & end date. If you use the first pattern (with channel), you'll just have to specific the channel itself and a start date. Scheduled events currently only support stage & voice channels. Examples: create scheduled event named "Let's Talk Together" in stage channel with id "000" at (5 hours after now) and store it in {_event} create scheduled event named "Concerto" at "6 routes of XXX" starting (1 hour after now) and ending (5 hours after now) in event-guild and store it in {_event} ## Await Effect Addon: DiSky Category: Effect Syntax: await <.+> Description: Forces an effect to be executed asynchronously and waits for its completion. This is useful for non-async effects that need to run in an async context. Note: If the effect is already async, using await is redundant. Examples: await set {_value} to mention tag "test" with id "000" # Forces async execution await add role with id "000" to event-member # Waits for role addition ## Effect - Outer Execution Addon: DiSky Category: Effect Syntax: outer <.+> ## Execute X Using Bot Addon: DiSky Category: Effect Syntax: execute (with|using) [the] %bot% <.+> Description: This effect is for utilities purpose. It will wrap the actual effect from DiSky and execute it using the specified bot. The syntax MUST come from DiSky, and at least ONE bot MUST be loaded (if the specified one is wrong / not loaded) ## Change Addon: DiSky Category: Effect Syntax: (add|give) %objects% to (%~objects%) (with|using) %-bot% ## Retrieve Webhooks Addon: DiSky Category: Effect Syntax: retrieve [the] webhook[s] (from|of) [the] [channel] %channel/textchannel/guild% and store (them|the webhook[s]) in %objects% ## Structure - Bot Addon: DiSky Category: Structure Syntax: define [the] [new] bot (with name|named) %string% ## Structure - Slash Command Addon: DiSky Category: Structure Syntax: slash command <([^\s]+)( .+)?$> ## Structure - Context Command Addon: DiSky Category: Structure Syntax: user command <([^\s]+)( .+)?$> ## Message is From Guild Addon: DiSky Category: Condition Syntax: [the] (message|event) (is coming|come from|is from) guild [channel] Description: Check either a message(related event come from a guild or from private messages. This condition work with every event where a message is sent / received. Examples: if event is from guild: if message come from private message: ## Is Attachment Spoiler Addon: DiSky Category: Condition Syntax: att[achment[s]] %attachment% is [a] spoil[er] Description: See if a specific attachment is marked as a spoil. Examples: loop attachments of event-message: if loop-value is a spoiler: reply with "This attachment is marked as spoiler!" ## Is Attachment Image Addon: DiSky Category: Condition Syntax: att[achment[s]] %attachment% is [an] (image|img) Description: See if a specific attachment is an image. Examples: loop attachments of event-message: if loop-value is an image: reply with "Found an image!" ## Is Attachment Video Addon: DiSky Category: Condition Syntax: att[achment[s]] %attachment% is [a] (vdo|video) Description: See if a specific attachment is a video. Examples: loop attachments of event-message: if loop-value is a video: reply with "Found a video attachment!" ## Member / Bot is in Thread Addon: DiSky Category: Condition Syntax: %member/bot% (is|are) in [the] thread %threadchannel% Description: Check if a specific member or bot is in a guild thread. Useful to avoid exception while using join & leave effects. Examples: if event-member is in event-threadchannel: if bot named "MyBot" is not in {_thread}: ## Member Has Role Addon: DiSky Category: Condition Syntax: %member% (has|have) discord [role] %role% Description: Check if a member has a specific role. Examples: if event-member has discord role with id "000": ## Member Has Permissions Addon: DiSky Category: Condition Syntax: %commandsenders/members% (has|have) [the] [discord] permission[s] %strings/permissions% [in [the] [channel] %-guildchannel%] Description: Check if a member has permissions in an optional channel. Examples: if event-member has discord permission administrator: # global permission if event-member has discord permission send message in event-channel: # channel specific permission ## Member is muted Addon: DiSky Category: Condition Syntax: %member% (is|are) [discord] [member] [(self|guild)] mute[d] Description: Check if a member is muted in a voice channel. You can specify if you want to get its guild or self state. Keep in mind the default condition (e.g. '... is muted') will check both states! Examples: if event-member is muted: if event-member is self muted: ## Is Voice Message Addon: DiSky Category: Condition Syntax: %message% (is|are) voice message Description: Return true if the message is a voice message. Examples: event-message is voice message ## EmoteIsAnimated Addon: DiSky Category: Condition Syntax: %emote% (is|are) animated Description: Check if an emote is animated or not. Examples: if {_emote} is animated: reply with "This emote is animated!" ## BotIsLoaded Addon: DiSky Category: Condition Syntax: %string% (is|are) [been] loaded (in|on|from|over) discord Description: Check if a bot with the specified name is currently loaded in DiSky. Examples: if "MyBot" is loaded on discord: reply with "Bot is online!" ## Tag Required Addon: DiSky Category: Condition Syntax: %forumchannel% (is|are) tag required Description: Check if a forum channel require a tag to be set when creating a new post. Can be changed using the 'tag required' expression. Examples: if event-forumchannel is tag required: set tag required of event-forumchannel to false ## Is Attachment Audio Addon: DiSky Category: Condition Syntax: %attachment% (is|are) [an] audio Description: Check if the specified attachment is an audio file (aka a vocal message). If it is, you'll be able to use the 'duration of attachment' expression. Examples: loop attachments of event-message: if loop-value is audio: reply with "Audio duration: %duration of loop-value%" ## Thread Is Public Addon: DiSky Category: Condition Syntax: %threadchannel% (is|are) [a] public [thread] Description: Check if a thread is public or not. Examples: if event-threadchannel is a public thread: reply with "This is a public thread!" ## Member is Deafened Addon: DiSky Category: Condition Syntax: %member% (is|are) [discord] [member] [(self|guild)] deafen[ed] Description: Check if a member is deafened in a voice channel. You can specify if you want to get its guild or self state. Keep in mind the default condition (e.g. '... is deafened') will check both states! Examples: if event-member is deafened: if event-member is guild deafened: ## EmoteIsEmote Addon: DiSky Category: Condition Syntax: %emote% (is|are) [a[n]] emote Description: Check if an emote is a custom emote or not. Examples: if {_emote} is an emote: reply with "This is a custom emote!" ## User is Bot Addon: DiSky Category: Condition Syntax: %users% (is|are) [a] discord bot Description: Check either the provided user is a discord bot or not. Examples: event-user is a discord bot event-member is not a discord bot ## Field is inline Addon: DiSky Category: Condition Syntax: %embedfield% (is|are) [an] in[-]line [field] Description: Check whether the provided field is inline or not. Examples: if first element of (fields of last embed) is inline: if first element of (fields of last embed) is not in-line: ## Is Pinned Addon: DiSky Category: Condition Syntax: %message% (is|are) pin[ned] Description: Return true if the message is pinned. Examples: event-message is pinned ## Reaction Is Super Addon: DiSky Category: Condition Syntax: %reaction% (is|are) [discord] [reaction] super [emoji] ## Is TTS Addon: DiSky Category: Condition Syntax: %message% (is|are) (tts|text to speech) Description: Return true if the message is TTS (TextToSpeech). Examples: event-message is tts ## Is Posted Addon: DiSky Category: Condition Syntax: %message% (is|are) (publish|post|crosspost)ed Description: Return true if the message is posted, means sent in every guild that follow this news channel. Examples: event-message is posted ## Is Ephemeral Addon: DiSky Category: Condition Syntax: %message% (is|are) ephemeral Description: Return true if the message was ephemeral, e.g. private / hidden. Action on hidden messages are limited. Examples: event-message is ephemeral ## Poll Is Expired Addon: DiSky Category: Condition Syntax: %messagepoll% (is|are) expired ## Is Message Forwarded Addon: DiSky Category: Condition Syntax: %message% (is|are) forwarded Description: Check if a message is a 'forwarded message' or not, basically a message that was sent from another channel. Examples: if event-message is forwarded: if event-message is not forwarded: ## Is Edited Addon: DiSky Category: Condition Syntax: %message% (is|are) edited Description: Return true if the message was edited. Because of discord limitations, we cannot get the editing date. Examples: event-message is edited ## Member is Timed Out Addon: DiSky Category: Condition Syntax: %member% (is|are) [discord] [member] timeout[ed] Description: Check if a member is timed out in a discord server or not. Examples: if event-member is timeout: reply with "This member is currently timed out!" ## Profile Has Banner Addon: DiSky Category: Condition Syntax: %userprofile% (has|have) [custom] banner Description: Check if the specified profile have a custom banner set or not. Useful to manage either its banner URL of color accent. Examples: if {_profile} has custom banner: set {_banner} to banner url of {_profile} ## Message Has Poll Addon: DiSky Category: Condition Syntax: %message% (has|have) poll ## Poll Is Finalized Addon: DiSky Category: Condition Syntax: %messagepoll% (is|are) finalized ## Reaction Is Self Addon: DiSky Category: Condition Syntax: %reaction% (is|are) [discord] [reaction] self [emoji] ## Member Can Interact With Member(s)/Role(s) Addon: DiSky Category: Condition Syntax: %member% can interact with %members/roles% Description: Check if a member can interact with a specific member or role. Examples: if event-member can interact with (member with id "000" in event-guild): reply with "You can interact with this member!" ## Last Embed Addon: DiSky Category: Expression Syntax: [the] [last] (made|created|generated) embed Description: This expression returns the last generated embed using the embed builder. ## Section Addon: DiSky Category: Expression Syntax: [the] section [builder] ## Used Alias Addon: DiSky Category: Expression Syntax: [the] use[d]( |-)alias[es] Description: Return the used alias in a discord command trigger section. It can only be used here, and will throw an error if not. Examples: set {_alias} to the used alias ## Used Argument Addon: DiSky Category: Expression Syntax: [the] use[d]( |-)arg[ument][s] Description: Return the plain formatter of the discord command's argument You should however use (arg-1) for example which will return the argument value directly. This is intended to be for test purpose only, and therefore only return a String formatted containing every used arguments. ## Rule Addon: DiSky Category: Expression Syntax: [the] rule [builder] ## Used Prefix Addon: DiSky Category: Expression Syntax: [the] use[d]( |-)prefix[es] Description: Return the used prefix in a discord command trigger section. Examples: set {_p} to the used prefix ## Last Message Builder Addon: DiSky Category: Expression Syntax: [the] message [builder] Description: Represents the last message builder created within a section. ## Container Addon: DiSky Category: Expression Syntax: [the] container [builder] ## Embed Addon: DiSky Category: Expression Syntax: [the] embed [builder] ## Last DiSky Exception Addon: DiSky Category: Expression Syntax: [the] last (disky|discord) (error|exception) Description: Return the last occurred DiSky or Discord exception in the current event. This expression is event-based, means you cannot get the last error that happened on another event. Once this has been called, it will remove the returned value from the errors list to avoid having two times the same error message. Examples: if last disky exception is set: # an error occurred ## Last Row Builder Addon: DiSky Category: Expression Syntax: [the] row [builder] Description: Represents the last row builder created within a section. ## Prop Container Content Addon: DiSky Category: Expression Syntax: [all] [the] content of %container% ## User Mutual Guilds Addon: DiSky Category: Expression Syntax: [all] [the] [user] mutual[s] guild[s] of %user% Description: Represent every guild that the bot and the user have in common. Examples: reply with "Oh boi, we have %size of mutual guilds event-user% mutual guilds!" ## Guild News Channels Addon: DiSky Category: Expression Syntax: [all] [the] [guild] [all] news[( |-)]channels of %guild% Description: Gets all news channels of a guild. Examples: all news channels of event-guild ## Expression - Slash Argument Addon: DiSky Category: Expression Syntax: [][the] last arg[ument][s] ## All Guild Scheduled Events Addon: DiSky Category: Expression Syntax: [all] [the] [guild] [all] scheduled events of %guild% Description: Returns all scheduled events of a guild. Examples: all scheduled events of event-guild ## Sub-command Groups Addon: DiSky Category: Expression Syntax: [all] [the] sub[[( |-)]command[s]] group[s] of %slashcommand% Description: Represent every sub-slash-command groups a slash command have. You can add sub-slash-commands to a group, then add this group into the base slash command. ## Prop Section Content Addon: DiSky Category: Expression Syntax: [all] [the] content of %containersection% ## Post / Forum Tags Addon: DiSky Category: Expression Syntax: [all] [the] tags of %threadchannel/forumchannel% Description: Get all tags of a forum channel or a thread channel. You can also add or remove tags from a thread channel using this expression. You must add the tag to the forum itself before adding it to the post. Examples: set {_tags::*} to tags of event-forumchannel add new tag named "resolved" with reaction "x" to tags of forum with id "000" ## Expression - Argument Choices Addon: DiSky Category: Expression Syntax: [all] [the] [option] choices of %slashoption% ## Prop Options Addon: DiSky Category: Expression Syntax: [all] [the] option[s] [mapping[s]] of %slashcommand/subslashcommand/dropdown/checkboxgroup/radiogroup% ## Bot Guilds Addon: DiSky Category: Expression Syntax: [all] [the] guilds of %bot% ## Message Builder Component Rows Addon: DiSky Category: Expression Syntax: [all] [the] [component[s]] row[s] of %messagecreatebuilder/modal% Description: Component rows of a message builder See also: 'Creator Components Row' ## Prop Container Accent Color Addon: DiSky Category: Expression Syntax: [all] [the] accent color of %container% ## All Guild Stage Channels Addon: DiSky Category: Expression Syntax: [all] [the] [guild] [all] stage[( |-)]channels of %guild% Description: Returns all stage channels of a guild. Examples: all stage channels of event-guild ## Group / Command Sub-Commands Addon: DiSky Category: Expression Syntax: [all] [the] sub[( |-)]command[s] of %slashcommandgroup/slashcommand% Description: Represent every sub-slash-command a slash-command or a group have. You can add sub-slash-commands to a group or a core slash-command, then add this group into the base slash command. ## Message Emotes Addon: DiSky Category: Expression Syntax: [all] [the] [discord] [message] mentioned emote[s] of %message% Description: Get every mentioned emotes in a message. This will only return custom emote, and will therefore not include discord emotes. Examples: mentioned emotes of event-message ## Message Mentioned Members Addon: DiSky Category: Expression Syntax: [all] [the] [discord] [message] mentioned members of %message% Description: Get every mentioned members in a message. If the message doesn't come from a guild it will return an empty array! Examples: mentioned members of event-message ## Member Flags Addon: DiSky Category: Expression Syntax: [all] [the] [member] [discord] flag[s] of %member% ## All Guild Text Channels Addon: DiSky Category: Expression Syntax: [all] [the] [guild] [all] text[( |-)]channels of %guild% Description: Returns all text channels of a guild. Examples: all text channels of event-guild ## Expression - New Separator Addon: DiSky Category: Expression Syntax: [a] new [invisible] [(small|large)] (separator|divider) [with [unique] id %-integer%] ## Row Builder Components Addon: DiSky Category: Expression Syntax: [all] [the] component[s] of %row% Description: Components of a row builder See also: 'Create (rich) Message' ## Channel Channels Addon: DiSky Category: Expression Syntax: [all] [the] [discord] channel[s] of %category% ## Poll Answers Addon: DiSky Category: Expression Syntax: [all] [the] [poll] answers of %messagepollbuilder/messagepoll% ## Embed fields Addon: DiSky Category: Expression Syntax: [all] [the] [discord] [embed] field[s] of %embedbuilder% Description: Get all fields of an embed builder Examples: fields of last embed ## Command Localization Addon: DiSky Category: Expression Syntax: [all] [the] (name|description)['s] (localization[s]|locale[s]) of %slashcommand/subslashcommand% Description: Represents the localization of the name or the description of a slash/sub command. You can add **Locale Data** (check for expression) to them. Basically, the command's name & description will be according to the client's language code. Documentation: https://docs.disky.me/advanced-stuff/slash-commands#using-localizations-v4.3.0+ ## Automod Response Addon: DiSky Category: Expression Syntax: [all] [the] (response|action)[s] of %automodrule% ## New Poll Addon: DiSky Category: Expression Syntax: new [message] poll [with [the] title] %string% [with multi[ple]( |-)(choice|answer)[s]] ## Message Reactions Addon: DiSky Category: Expression Syntax: [all] [the] [discord] [message] (emo(te|ji)|reaction)[s] of %message% Description: Get every reactions of a message. Because of Discord's limitation, we cannot get which user reacted with which reaction, you'll have to count them yourself. Examples: reactions of event-message ## Guild Voice Channels Addon: DiSky Category: Expression Syntax: [all] [the] [guild] [all] voice[( |-)]channels of %guild% Description: Gets all voice channels of a guild. Examples: all voice channels of event-guild ## Message Mentioned Users Addon: DiSky Category: Expression Syntax: [all] [the] [discord] [message] mentioned users of %message% Description: Get every mentioned users in a message. Examples: mentioned users of event-message ## Message Voice Channels Addon: DiSky Category: Expression Syntax: [all] [the] [discord] [message] mentioned voice channels of %message% Description: Get every mentioned voice channels in a message. Examples: mentioned voice channels of event-message ## Message Text Channels Addon: DiSky Category: Expression Syntax: [all] [the] [discord] [message] mentioned text channels of %message% Description: Get every mentioned text channels in a message. Examples: mentioned text channels of event-message ## Discord Command Argument Addon: DiSky Category: Expression Syntax: [][the] last arg[ument][s] Description: Works same as Skript's command argument. You can specify the argument number or the argument type (in case there's only one user or member for example) to get the selected value. ## Discord Members of Guild / Channel Addon: DiSky Category: Expression Syntax: [all] [the] discord member[s] [list] of %guildchannel/guild/threadchannel% Description: Returns a list of members. For Message text-related channel & category, it returns members with permission to view the channel For Audio Channels it returns the currently connected members of the channel. For threads & posts, it returns the members who are in the thread. You can add or remove a member in this case. Examples: members of event-channel members of voice channel with id "0000" add event-member to discord members of thread channel with id "000" ## All Guild Guild Channels Addon: DiSky Category: Expression Syntax: [all] [the] [guild] [all] guild[( |-)]channels of %guild% Description: Get every guild channel in the guild, including text, voice, stage, news, and thread channels. Examples: guild channels of event-guild ## Voice Channel Members Addon: DiSky Category: Expression Syntax: [all] [the] (audio|stage|voice) member[s] [list] of %voicechannel% Description: The list of members that are connected to this actual voice channel. Examples: audio members of event-channel voice members of voice channel with id "0000" ## User Badges Addon: DiSky Category: Expression Syntax: [all] [the] [user] badge[s] of %user% Description: Represent every badges' name a user have. This does not and cannot contain any intro-related badges (nitro membership or nitro boosting), it need OAuth2 to be enabled. Examples: reply with "Whoa! You got all of them? %join badges of event-user with nl%" ## Prop Default Values Addon: DiSky Category: Expression Syntax: [all] [the] [dropdown] default values of %dropdown% ## Prop Embed Fields Addon: DiSky Category: Expression Syntax: [all] [the] [embed] fields of %embedbuilder% ## Threads of Channel / Guild Addon: DiSky Category: Expression Syntax: [all] [the] threads of %forumchannel/textchannel/guild% Description: Gets the threads of a specific forum/text channel or a guild. Examples: threads of event-guild ## Guild / Member Roles Addon: DiSky Category: Expression Syntax: [all] [the] roles of %guild/member% Description: Represent the roles that a guild or a member currently have. Can be changed, SET and ADD ChangeMode can be used when passing a member. To modify guild's roles, check delete and create role effects. Examples: add role with id "000" to roles of event-member remove event-role from roles of event-member reply with "Amount of roles in the guild: %size of roles of event-guild%" ## Message Mentioned Roles Addon: DiSky Category: Expression Syntax: [all] [the] [discord] [message] mentioned roles of %message% Description: Get every mentioned Roles in a message. If the message doesn't come from a guild it will return an empty array! Examples: mentioned roles of event-message ## Guild Boosters Addon: DiSky Category: Expression Syntax: [all] [the] [guild] booster[s] [member[s]] of %guild% Description: Represent the current members booster of the guild. Examples: reply with "Boosters: %boosters of event-guild%!" ## Get AutoMod Rule Addon: DiSky Category: Expression Syntax: [the] [discord] automod rule with id %string% (from|in) [the] [guild] %guild% Description: Get an automod rule from a guild using its unique ID. Examples: automod rule with id "000" in event-guild ## Emoji / Emote Addon: DiSky Category: Expression Syntax: (emoji|emote|reaction)[s] %strings% [(from|in) %-guild%] Description: Get an emoji or an emote from its name, ID or unicode. - An emoji is discord-side only, can be used everywhere, and don't have any attached guild. - An emote is guild-side only, have a custom long ID and are attached to a guild. If the specified reaction doesn't exist, DiSky will simply return null and say it in console. We highly recommend the specification of the guild when retrieving an emote, to avoid conflicts with other that potentially have the same name. Examples: reaction "joy" emoji "sparkles" emote "disky" in event-guild ## New Forum Channel Addon: DiSky Category: Expression Syntax: [a] new forum[( |-)]channel (action|manager) in [the] [guild] %guild% [(using|with) [the] [bot] %-bot%] ## Expression - Presence Addon: DiSky Category: Expression Syntax: listening [to] %string% ## New Media Channel Addon: DiSky Category: Expression Syntax: [a] new media[( |-)]channel (action|manager) in [the] [guild] %guild% [(using|with) [the] [bot] %-bot%] ## New Role Action Addon: DiSky Category: Expression Syntax: [a] new role (action|manager) in [the] [guild] %guild% [(using|with) [the] [bot] %-bot%] ## New Category Action Addon: DiSky Category: Expression Syntax: [a] new category (action|manager) in [the] [guild] %guild% [(using|with) [the] [bot] %-bot%] ## Expression - New Text Display Addon: DiSky Category: Expression Syntax: [a] new text display [with text] %string% [with [unique] id %-integer%] ## New Text Action Addon: DiSky Category: Expression Syntax: [a] new text[( |-)]channel (action|manager) in [the] [guild] %guild% [(using|with) [the] [bot] %-bot%] ## New Forum Tag Addon: DiSky Category: Expression Syntax: new [forum] tag [named] %string% [with %-emote%] Description: Create a new forum tag with a specific name & optional emoji. You can also specify if the tag is 'moderate' or not. Examples: new forum tag named "solved" with reaction "white_check_mark" new moderated forum tag named "internal" ## New News Channel Addon: DiSky Category: Expression Syntax: [a] new news[( |-)]channel (action|manager) in [the] [guild] %guild% [(using|with) [the] [bot] %-bot%] ## New Stage Channel Addon: DiSky Category: Expression Syntax: [a] new stage[( |-)]channel (action|manager) in [the] [guild] %guild% [(using|with) [the] [bot] %-bot%] ## Role DS Addon: DiSky Category: Expression Syntax: [a] new role in [the] [guild] %guild% ## New Voice Action Addon: DiSky Category: Expression Syntax: [a] new voice[( |-)]channel (action|manager) in [the] [guild] %guild% [(using|with) [the] [bot] %-bot%] ## Get Tag Addon: DiSky Category: Expression Syntax: [forum] tag ((from|with) name|named) %string% (of|from|in) %forumchannel% Description: Get a tag from a forum channel using its name. Examples: tag named "v4" from forum channel with id "000" ## New Button Addon: DiSky Category: Expression Syntax: [a] new [(enabled|disabled)] %buttonstyle% [link] button [with (id|url)] %string% [(named|with label) %-string%][,] [with [emoji] %-emote%] Description: Create a new button with an ID and some optional options. It can be either enabled or disabled, and either link or action. If the button is a link-type, then the ID will be the URL that the user will be redirect to. Examples: set {_btn} to new enabled danger button with id "button-id" named "Hello world :p" ## Expression - Remaining Time Addon: DiSky Category: Expression Syntax: remaining time ## User Locale Addon: DiSky Category: Expression Syntax: [the] user['s] local[e] [(code|language)] Description: Get the language code defined as user-side client of Discord. Basically, return the language user's client is loaded in. This expression only works in interactions event, and cannot be used outside of them. Examples: the user locale ## New Rule Response Addon: DiSky Category: Expression Syntax: block [member] interaction ## Embed To JSON Addon: DiSky Category: Expression Syntax: [the] embed %embedbuilder% (to|as) json ## Embed From JSON Addon: DiSky Category: Expression Syntax: [the] embed (from|of) [json] %string% ## Get Bot / Bot Named X Addon: DiSky Category: Expression Syntax: [get] [the] bot [(named|with name)] %string% Description: Get a cached bot from DiSky using its unique name. If the desired bot does not exist or is not loaded yet, this expression will return none. This expression cannot be changed. Examples: get bot "name" bot named "name" ## Modal Component Value / Values Addon: DiSky Category: Expression Syntax: [the] [current] value[s] of [the] (text[ |-]input|drop[ |-]down|checkbox[ group]|radio[ group]) [with [the] id] %string% Description: Get the current value(s) of a sent component, currently only working in modals with text input, select menus, checkbox groups and radio groups. You have to precise what type of component you are trying to get, either 'textinput', 'dropdown', 'checkbox group' or 'radio group'. Examples: set {_values} to value of textinput with id "XXX" set {_options::*} to values of checkbox group with id "my-checkbox" set {_opt} to value of radio group with id "my-radio" set {_options::*} to values of dropdown with id "my-dropdown" ## New Components Row Addon: DiSky Category: Expression Syntax: [a] new component[s] row [with [the] [buttons[s]] %-buttons%] Description: Create a new (empty) components row. You can add either max 5 buttons or one dropdown to it. A single message can hold 5 components rows. ## New Message Command Addon: DiSky Category: Expression Syntax: [a] [new] message[( |-)]command [with] [(the name|named)] %string% Description: Create a new message command, to be updated on discord later. This will create a context command of MESSAGE type. Once created, you can execute it by right-clicking on a message, then going in 'Applications' -> Examples: new message command named "Warn Message" ## New User Command Addon: DiSky Category: Expression Syntax: [a] [new] user[( |-)]command [with] [(the name|named)] %string% Description: Create a new user command, to be updated on discord later. This will create a context command of USER type. Once created, you can execute it by right-clicking on a user, then going in 'Applications' -> Examples: new user command named "Warn User" ## Get Stage Channel Addon: DiSky Category: Expression Syntax: stage channel (with|from) [the] id %string% [(with|using) [the] [bot] [(named|with name)] %-bot%] Description: Get a stage channel from a guild using its unique ID. Channels are global on discord, means different channels cannot have the same ID. This expression cannot be changed. Examples: stage channel with id "000" ## Get Role Addon: DiSky Category: Expression Syntax: role (with|from) [the] id %string% [(with|using) [the] [bot] [(named|with name)] %-bot%] Description: Get a role from a guild using its unique ID. Role are global on discord, means two role from two different guild could never have the same ID. This expression cannot be changed. Examples: role with id "000" ## User in Guild Addon: DiSky Category: Expression Syntax: %user% in [the] [guild] %guild% Description: Get the member related to the specified user in a specific guild. Users are common to whole Discord, two user cannot have the same instance. Members are common to guilds, but also holding an user as reference. User can have multiple instance according to which guild they are in, therefore they are considered as member. Examples: event-user in event-guild ## Slash Command Argument Addon: DiSky Category: Expression Syntax: [the] arg[ument] [(named|with name)] %string% as (%-optiontype%|member) Description: Represents a slash command argument. The name is the ID used when defining the slash command. Specify the type, so that Skript can parse it correctly. (if it's a number, operation wil be allowed for example) The type should be the same used when defining the argument in the command. Examples: # I'm doing /ban time:30 user:*user id*, so: set {_time} to argument "time" as integer set {_user} to argument "user" as user ## New Option Choice Addon: DiSky Category: Expression Syntax: [a] new [option] choice [(named|with name)] %string% with [the] value %string/number% Description: Create a new slash command option choice with an unique name and a string or number value. Choices are only available for STRING, NUMBER and INTEGER slash command option type. Of course, the provided value type must be compatible with the option type (you cannot add string choice to a NUMBER option). Examples: add new choice named "Example choice" with value 100 to choices of {_option} # it's a NUMBER option ## Expression - New Thumbnail Addon: DiSky Category: Expression Syntax: [a] new thumbnail [display] [with [the] (source|url)] %fileupload/string% [with [unique] id %-integer%] ## Get Audio Channel Addon: DiSky Category: Expression Syntax: audio channel (with|from) [the] id %string% [(with|using) [the] [bot] [(named|with name)] %-bot%] Description: This is an utility expression. It will returns an Audio Channel out of the provided ID. It will returns either the voice or stage channel corresponding to the provided ID. This expression cannot be changed. Examples: audio channel with id "000" ## Get Category Addon: DiSky Category: Expression Syntax: category (with|from) [the] id %string% [(with|using) [the] [bot] [(named|with name)] %-bot%] Description: Get a category from a guild using its unique ID. Categories are global on discord, means different categories cannot have the same ID. This expression cannot be changed. Examples: category with id "000" ## New Locale Data Addon: DiSky Category: Expression Syntax: new local[e] [data] for %string% (as|with [value]) %string% Description: Returns the a new locale data for the given locale and the given value. You have to provide the locale using its code (list can be found here: https://discord.com/developers/docs/reference#locales) and the value to set. Documentation: https://docs.disky.me/advanced-stuff/slash-commands#using-localizations-v4.3.0+ Examples: new locale data for "FR" as "niveau" ## Get News Channel Addon: DiSky Category: Expression Syntax: news channel (with|from) [the] id %string% [(with|using) [the] [bot] [(named|with name)] %-bot%] Description: Get a news channel from a guild using its unique ID. Channels are global on discord, means different channels cannot have the same ID. This expression cannot be changed. Examples: news channel with id "000" ## Get Member Addon: DiSky Category: Expression Syntax: [get] [the] member with id %string% (from|in|of) [the] [guild] %guild% Description: Get a cached member from its unique ID This expression could return null, according to if the actual member was cached or not. To be sure it will return the corresponding member, use the retrieve member effect. This expression cannot be changed Examples: member with id "000" in event-guild ## Expression - New Modal Addon: DiSky Category: Expression Syntax: [a] [new] modal [with] [the] [id] %string% (named|with name) %string% ## Get Forum Channel Addon: DiSky Category: Expression Syntax: forum channel (with|from) [the] id %string% [(with|using) [the] [bot] [(named|with name)] %-bot%] Description: Get a forum channel from a guild using its unique ID. Channels are global on discord, means different forum channels cannot have the same ID. This expression cannot be changed. Examples: forum channel with id "000" ## Get Voice Channel Addon: DiSky Category: Expression Syntax: voice channel (with|from) [the] id %string% [(with|using) [the] [bot] [(named|with name)] %-bot%] Description: Get a voice channel from a guild using its unique ID. Channels are global on discord, means different channels cannot have the same ID. This expression cannot be changed. Examples: voice channel with id "000" ## Members with roles Addon: DiSky Category: Expression Syntax: members with [the] role[s] %roles% (of|from|in) [the] [guild] %guild% Description: Returns the members that have the specified role(s) in a guild. This will act differently, wether **await** is used or not: - If **await** is used, the members will be retrieved asynchronously from Discord, you're sure to have every member with the specified role(s) in the returned array. - If **await** is __not__ used, the members will be retrieved from cache (according to the configured cache policy), so some members with the specified role(s) may not be included in the returned array. Examples: set {_role} to role with id "123456789" await set {_members::*} to members with role {_role} from event-guild # will ask discord for every members. Recommended! set {_members::*} to members with role {_role} from event-guild # will get members from cache, so some members may be missing. ## Get Message Channel Addon: DiSky Category: Expression Syntax: message channel (with|from) [the] id %string% [(with|using) [the] [bot] [(named|with name)] %-bot%] Description: This is an utility expression. It will returns a Message Channel (text, news or thread) out of the provided ID. This expression cannot be changed. Examples: message channel with id "000" ## Get Guild Addon: DiSky Category: Expression Syntax: guild (with|from) [the] id %string% [(with|using) [the] [bot] [(named|with name)] %-bot%] Description: Get a guild from a guild using its unique ID. This expression cannot be changed. Examples: guild with id "000" ## Get Thread Channel Addon: DiSky Category: Expression Syntax: thread [channel] (with|from) [the] id %string% [(with|using) [the] [bot] [(named|with name)] %-bot%] Description: Get a thread channel from a guild using its unique ID. Threads are global on discord, means different threads cannot have the same ID. This expression cannot be changed. Examples: thread with id "000" ## Expression - New Field Addon: DiSky Category: Expression Syntax: new [inline] [embed] field (named|with name) %string% [and] with [the] value %string% ## Expression - New Input Addon: DiSky Category: Expression Syntax: [a] [new] [(required)] [(short)] text[( |-)]input [with] [the] [id] %string% [with [the] value %-string%] ## New Dropdown Addon: DiSky Category: Expression Syntax: [a] [new] [string] [disabled] drop[( |-)]down [with] [the] [id] %string% Description: Create a new dropdown menu with different properties. There's two type of dropdown available: - String, only text values are accepted & pre-defined - Entity, only the specified entity type (role, channel and/or user) are accepted Therefore, you cannot add user, channel or role to a string dropdown and vice-versa. For entity dropdown, you can accept each type independently, or mix roles & users. :warning: YOU CANNOT MIX CHANNELS WITH ROLES OR USERS! Examples: new dropdown with id "string" # Default string dropdown new entity dropdown with id "entities" targeting "user" and "role" # Only user and role are accepted new entity dropdown with id "channels" targeting "channel" # Only channel are accepted ## Expression - New File Display Addon: DiSky Category: Expression Syntax: [a] new [spoiler] file display [with [the] source] %string/fileupload% [with [unique] id %-integer%] ## Get Scheduled Event Addon: DiSky Category: Expression Syntax: scheduled event (with|from) [the] id %string% [(with|using) [the] [bot] [(named|with name)] %-bot%] Description: Get a scheduled event from a guild using its unique ID. Scheduled events are global on discord, means different scheduled events cannot have the same ID. This expression cannot be changed. Examples: scheduled event with id "000" ## Get Sticker Addon: DiSky Category: Expression Syntax: [get] [the] sticker (with name|named) %string% (from|in|of) [the] [guild] %guild% Description: Get a cached sticker from its per-guild name This expression is here to get a sticker from its name. If you success to get a sticker's ID, use the retrieve sticker effect instead! This expression cannot be changed Examples: sticker with named "meliodas" from event-guild ## Get Channel Addon: DiSky Category: Expression Syntax: guild channel (with|from) [the] id %string% [(with|using) [the] [bot] [(named|with name)] %-bot%] Description: Get a channel from a guild using its unique ID. Channels are global on discord, means different channels cannot have the same ID. This expression cannot be changed. Examples: guild channel with id "000" ## Get Text Channel Addon: DiSky Category: Expression Syntax: text channel (with|from) [the] id %string% [(with|using) [the] [bot] [(named|with name)] %-bot%] Description: Get a text channel from a guild using its unique ID. Channels are global on discord, means different text channels cannot have the same ID. This expression cannot be changed. Examples: text channel with id "000" ## Expression - New Media Gallery Addon: DiSky Category: Expression Syntax: [a] new [media] gallery with [the] image[s] %fileuploads% [with [unique] id %-integer%] ## New Poll Answer Addon: DiSky Category: Expression Syntax: [new] [poll] answer [with [the] content] %string% [[and] with [the] [emoji] %-emote%] ## Get User Addon: DiSky Category: Expression Syntax: user (with|from) [the] id %string% [(with|using) [the] [bot] [(named|with name)] %-bot%] Description: Get a user from its unique ID. Users are global on Discord, different users cannot have the same ID. This expression cannot be changed. Examples: user with id "000" ## Expression - New Slash Command Addon: DiSky Category: Expression Syntax: [a] [new] [nsfw] slash[( |-)]command [with] [(the name|named)] %string% [and] with [the] desc[ription] %string% ## Get Channel Addon: DiSky Category: Expression Syntax: channel (with|from) [the] id %string% [(with|using) [the] [bot] [(named|with name)] %-bot%] Description: A generic expression to get any channel from its ID. This can return a text, private, news, voice, category, stage, thread or post channel. Examples: post last embed to channel with id "000" ## New Radio Group Addon: DiSky Category: Expression Syntax: new radio group with [the] id %string% [[and] [with] unique id %-integer%] Description: Create a new radio group component builder. A radio group is a component that allows users to select a single option from a list of radio buttons. It can be used in modals only, as a child of a label. Examples: set {_radio} to new radio group with id "test2" add (new radio option with value "option1" named "Option 1") to options of {_radio} add (new default radio option with value "option2" named "Option 2") to options of {_radio} set {_label} to new label "Choose another option:" with {_radio} add {_label} to rows of {_modal} ## New Rule Type Addon: DiSky Category: Expression Syntax: message with [the] %filtertype% filter %objects% (with name|named) %string% ## New File Upload Addon: DiSky Category: Expression Syntax: [new] file (data|upload) from [local] file %string% [(with name|named) %-string%] [with spoiler %-boolean%] Description: Create a new file upload from various sources: local file path, URL, attachment, or image. You can optionally specify a custom file name and whether to mark it as spoiler. Examples: set {_upload} to file upload from local file "plugins/MyPlugin/data.txt" set {_upload} to file upload from url "https://example.com/image.png" with name "custom.png" set {_upload} to file upload from attachment {_attachment} with spoiler true ## Expression - New Slash Option Addon: DiSky Category: Expression Syntax: [a] [new] [slash[( |-)]command] [(required)] [(auto[( |-)]complete)] (%-optiontype%|member) option [(named|with name)] %string% with [the] desc[ription] %string% ## New Model Label Addon: DiSky Category: Expression Syntax: [a] [new] label [with] [the] [(label|title)] %string% [and] with [the] [(child|component)] %object% [[and] with [the] description %-string%] Description: Create a new label component for modals. Labels are components that can be used to display text and a child component (like a text input or a select menu or an attachment input) in a modal. Examples: # Create a short text input set {_input} to new short text input with id "title" set placeholder of {_input} to "Enter a brief title..." set minimum range of {_input} to 3 set maximum range of {_input} to 50 set required state of {_input} to true # Wrap in a label set {_label} to new label "Feedback Title" with {_input} # Then adds it to the modal add {_label} to rows of {_modal} set {_att} to new attachment upload builder with id "test" min size 3 and max size 10 set {_label} to new label "File?" with {_att} add {_label} to rows of {_modal} ## New Attachment Upload Builder Addon: DiSky Category: Expression Syntax: [a] new [required] [attachment] upload with [the] id %string% [[and] [with] unique id %-integer%] [[and] [with] min file[s] %-integer%] [[and] [with] max file[s] %-integer%] Description: Create a new attachment upload component, to be used in **modals only**. Min and max should be within 1 and 10! By default it requires a SINGLE file. Examples: set {_modal} to new modal with id "feedback" named "Give Us Feedback" set {_att} to new attachment upload builder with id "test" min size 3 and max size 10 set {_label} to new label "File?" with {_att} add {_label} to rows of {_modal} show {_modal} to the user ## New Component (Dropdown / Checkbox / Radio) Option Addon: DiSky Category: Expression Syntax: [a] new [default] [(dropdown|checkbox|radio)] option with value %string% (named|with label) %-string% [with description [%-string%]] [with [emoji] %-emote%] Description: Create a new dropdown/checkbox/radio option with different properties. This is a predefined option holding a string value. It can only be used in string dropdowns. The value represent the returned string that this dropdown will return if this option is selected. The name / label is the actual shown name on the option. Description and emote are optional. They will be ignored for checkbox and radio options, as they are only supported in dropdowns. Examples: set {_radio} to new radio group with id "test2" add (new radio option with value "option1" named "Option 1") to options of {_radio} add (new default radio option with value "option2" named "Option 2") to options of {_radio} set {_checks} to new checkbox group with id "test" add (new checkbox option with value "option1" named "Option 1") to options of {_checks} add (new default checkbox option with value "option2" named "Option 2") to options of {_checks} ## New Checkbox Group Addon: DiSky Category: Expression Syntax: new checkbox group with [the] id %string% [[and] [with] unique id %-integer%] [[and] [with] min [value] %-integer%] [[and] [with] max [value] %-integer%] Description: Create a new checkbox group component builder. A checkbox group is a component that allows users to select multiple options from a list of checkboxes. It can be used in modals only, as a child of a label. Examples: set {_checks} to new checkbox group with id "test" add (new checkbox option with value "option1" named "Option 1") to options of {_checks} add (new default checkbox option with value "option2" named "Option 2") to options of {_checks} set {_label} to new label "Choose an option:" with {_checks} add {_label} to rows of {_modal} ## Inline Rich Message Builder Addon: DiSky Category: Expression Syntax: [rich] [silent] message %string/embedbuilder/messagepollbuilder% [with embed[s] %-embedbuilders%] [with (component[s]|row[s]) %-rows/buttons/dropdowns%] [with (file|attachment)[s] %-fileuploads%] [with poll %-messagepollbuilder%] Description: Create a new rich message in one line only. WARNING: This could slow a lot the Skript's parsing time if used too many times! We still recommend to use the create message section instead! You can also use the second pattern to send component-only messages. Examples: reply with message "hello world" with embed last embed with components {_row} post components new danger button with id "id" named "Hey" to event-channel ## Profile Banner Addon: DiSky Category: Expression Syntax: [the] profile banner [ur(l|i)] of %userprofile/bot% Description: Get the profile banner URL. If the user doesn't have a custom banner, this will return none. Use the 'profile color' expression to get the color instead of the banner URL in that case! ## Color from Hex Addon: DiSky Category: Expression Syntax: [the] (hex|color) %string% Description: Get a color from a hexadecimal string. Do not include the # in the string. Examples: set embed color of embed to hex "ff0000" ## Ban User Addon: DiSky Category: Expression Syntax: [the] [banned] user of %ban% Description: The user linked to this ban. ## Role Color Addon: DiSky Category: Expression Syntax: [the] role color of %role/roleaction% Description: Get or set the primary color of a role. Setting this property will clear other role color-related properties, such as gradient, holographic, ... Examples: set {_c} to role color of event-role set role color of event-role to orange ## Thread Owner Addon: DiSky Category: Expression Syntax: [the] thread owner of %threadchannel% Description: Get the owner (member) of a thread channel. Examples: set {_owner} to thread owner of event-thread ## Member Join Date Addon: DiSky Category: Expression Syntax: [the] [member] [member] join date of %member% Description: Represent the skript's date of the member's join date. It cannot be changed. This is a specific element of the bot, so it can be used in the bots event. Examples: reply with member join date of event-member ## Emote of Reaction Addon: DiSky Category: Expression Syntax: [the] [reaction] emo(te|ji) of %reaction% ## Invite Max Uses Addon: DiSky Category: Expression Syntax: [the] invite max use[s] of %invite% Description: Represent the max amount of times this invite can be used. Examples: reply with invite max use of event-invite ## Guild Banner Addon: DiSky Category: Expression Syntax: [the] [discord] banner of %guild% ## Bot Presence Addon: DiSky Category: Expression Syntax: [the] [discord] presence of %bot% ## Message/Event Jump URL Addon: DiSky Category: Expression Syntax: [the] [discord] [message] [jump] url of %message% Description: Get the jump URL of a specific message/scheduled event Examples: jump url of event-message jump url of scheduled event with id "000" ## Embed Footer Addon: DiSky Category: Expression Syntax: [the] footer of %embedbuilder% ## Secondary Role Color Addon: DiSky Category: Expression Syntax: [the] secondary [role] color of %rolecolors% Description: Returns the primary color of a role's colors. ## Message Member Author Addon: DiSky Category: Expression Syntax: [the] [discord] [message] member (author|writer) of %message% Description: Get the member instance of the message's author. Can be null if it's in PM or not in guild! Examples: member writer of event-message ## Channel NSFW Addon: DiSky Category: Expression Syntax: [the] [channel] nsfw of %channel/channelaction% ## Bot Uptime Addon: DiSky Category: Expression Syntax: [the] [discord] [bot] uptime of %bot% ## Expression - Max Range Addon: DiSky Category: Expression Syntax: [the] max[imum] range of %dropdown/textinput% ## Embed Author Addon: DiSky Category: Expression Syntax: [the] author of %embedbuilder% ## Guild Of Addon: DiSky Category: Expression Syntax: [the] guild of %channel/role/sticker/member/message/webhook% Description: Return the guild of a specific entity. This can return null if the entity is not guild-based, like private message channel or message. Examples: guild of event-member guild of event-channel ## Default Forum Emoji Addon: DiSky Category: Expression Syntax: [the] default [forum] emoji of %forumchannel% Description: Represent the default emoji of a forum channel. It's the mote that is added automatically once a new post is created. Can return none and can be changed. Examples: set default emoji of event-forumchannel to reaction "smile" ## Poll Answer Emote Addon: DiSky Category: Expression Syntax: [the] answer emote of %pollanswer% ## Attachments File Extension Addon: DiSky Category: Expression Syntax: [the] [discord] file ext[ension] of %attachment% Description: Get the file extension of an attachment. ## Channel Topic Addon: DiSky Category: Expression Syntax: [the] [channel] topic of %channel/channelaction% ## Channel Status Addon: DiSky Category: Expression Syntax: [the] [voice] channel status of %channel% ## Activity Type Addon: DiSky Category: Expression Syntax: [the] activity type of %activity% ## Poll Question Addon: DiSky Category: Expression Syntax: [the] poll question of %messagepoll% ## Location of Scheduled Event Addon: DiSky Category: Expression Syntax: [the] scheduled [event] location of %scheduledevent% Description: Get the location of a scheduled event. Returns the specified place if the event is external, or the audio channel's ID. ## Everyone Role Addon: DiSky Category: Expression Syntax: [the] [discord] (public|everyone) role of %guild% Description: Represent the @everyone role of a guild. Even if it's not a real role, it share multiple properties such as permissions. Examples: reply with mention tag of everyone role of event-guild ## Expression - Min Range Addon: DiSky Category: Expression Syntax: [the] min[imum] range of %dropdown/textinput% ## Expression - Placeholder Addon: DiSky Category: Expression Syntax: [the] [discord] place[( |-)]holder of %object% ## Tag Required Addon: DiSky Category: Expression Syntax: [the] tag required of %forumchannel% Description: Get a true/false value of the tag required state of a forum channel. This property can be changed, and we recommend the tag required condition for checks. Examples: set tag required of event-forumchannel to true ## Activity Text Addon: DiSky Category: Expression Syntax: [the] activity (text|content|name) of %activity% ## Discord ID Addon: DiSky Category: Expression Syntax: [the] discord id of %channel/role/user/threadchannel/scheduledevent/member/sticker/message/dropdown/button/guild/applicationinfo/webhook/newcomponent% Description: Get the unique long value (ID) that represent a discord entity. Examples: discord id of event-channel discord id of event-guild ## Bot Ping Addon: DiSky Category: Expression Syntax: [the] [discord] bot ping of %bot% ## Tertiary Role Color Addon: DiSky Category: Expression Syntax: [the] tertiary [role] color of %rolecolors% Description: Returns the tertiary color of a role's colors. ## Embed Time Stamp Addon: DiSky Category: Expression Syntax: [the] time[( |-)]stamp of %embedbuilder% ## Embed Title URL Addon: DiSky Category: Expression Syntax: [the] title url of %embedbuilder% ## Attachments URL Addon: DiSky Category: Expression Syntax: [the] [discord] [attachment] ur(l|i) of %attachment% Description: Get the url of an attachment. ## Member Nickname Addon: DiSky Category: Expression Syntax: [the] [member] nick[( |-)]name[s] of %member% Description: Represent the member nickname. Can be none if the member doesn't have any nickname currently. Use 'effective name' expression to get member's name of its nickname is not set. Examples: reply with member nickname of event-member set member nickname of event-member to "ayo?!" ## Member Voice Channel Addon: DiSky Category: Expression Syntax: [the] [member] (voice|audio) channel of %member% ## Poll Duration Addon: DiSky Category: Expression Syntax: [the] poll duration of %messagepollbuilder% ## Embed Thumbnail Addon: DiSky Category: Expression Syntax: [the] thumbnail of %embedbuilder% ## Activity URL Addon: DiSky Category: Expression Syntax: [the] activity ur(i|l) of %activity% ## Channel Of Addon: DiSky Category: Expression Syntax: [the] [discord] [(message|webhook)] [text]( |-)channel of %message/webhook% ## Poll Answer Votes Addon: DiSky Category: Expression Syntax: [the] answer votes of %pollanswer% ## Member Effective Name Addon: DiSky Category: Expression Syntax: [the] [member] effective name[s] of %member% Description: Simple way to get the effective name of a member in a guild: If the nickname is not set, it will return the discord name of the member, else its nickname. Examples: reply with effective name of event-member ## Poll Answer Text Addon: DiSky Category: Expression Syntax: [the] answer text of %pollanswer% ## Guild Booster Role Addon: DiSky Category: Expression Syntax: [the] [guild] boost[(ing|er)] role[s] of %guild% Description: Represent the booster role of this guild. Any member that got this role is actually a booster of the guild. Examples: reply with "Thanks to our %mention tag of boost role of event-guild%!" ## Guild Verification Level Addon: DiSky Category: Expression Syntax: [the] [guild] verification level[s] of %guild% Description: Represent the verification level of the guild. It can either be: - None - Low - Medium - High - Very High Examples: reply with verification level of event-guild ## Emote Name Addon: DiSky Category: Expression Syntax: [the] emo(te|ji) name of %emote% Description: Get the name of this emote. This, instead of 'discord name of %emote%' will return the name of an emote, and not an emoji. You can change this property to change the emote's name itself. Examples: emote name of event-emote set emote name of reaction "disky" to "disky2" # Will now be 'reaction "disky2"' to get it back ## Channel Bitrate Addon: DiSky Category: Expression Syntax: [the] [channel] bitrate of %channel/channelaction% ## Channel Region Addon: DiSky Category: Expression Syntax: [the] [channel] region of %channel/channelaction% ## Start date of Scheduled Event Addon: DiSky Category: Expression Syntax: [the] scheduled [event] [start] date of %scheduledevent% Description: Get the start date of a scheduled event. Cannot be null. ## Channel of Scheduled Event Addon: DiSky Category: Expression Syntax: [the] scheduled [event] channel of %scheduledevent% Description: Get the channel of a scheduled event. Can be null if the event is external. Will returns either a stage or voice channel. ## Activity Emote Addon: DiSky Category: Expression Syntax: [the] activity emo(ji|te) of %activity% ## Enum Bot Status Addon: DiSky Category: Expression Syntax: [the] [discord] [online] status of %bot/member% ## Invite Inviter Addon: DiSky Category: Expression Syntax: [the] invite (inviter|author) of %invite% Description: Represent the user who created the invite. Examples: reply with mention tag of invite inviter of event-invite ## Application Description Addon: DiSky Category: Expression Syntax: [the] [discord] application description of %applicationinfo% ## Embed Title Addon: DiSky Category: Expression Syntax: [the] title of %embedbuilder% ## Expression - Att Duration Addon: DiSky Category: Expression Syntax: [the] [discord] duration of %attachment% ## Invite Max Age Addon: DiSky Category: Expression Syntax: [the] invite max age[s] of %invite% Description: Represent the max age time this invite can be used. Examples: reply with invite max age of event-invite ## Embed Color Addon: DiSky Category: Expression Syntax: [the] (embed|discord) colo[u]r of %embedbuilder% Description: Get or change the color of an embed builder. The color input must come from Skript, and will be converted by DiSky. Examples: set embed color of embed to red ## Invite Code Addon: DiSky Category: Expression Syntax: [the] invite code of %invite% Description: Represent the unique invite code used in the Discord URL. Examples: reply with invite code of event-invite ## Emote Image URL Addon: DiSky Category: Expression Syntax: [the] emo(te|ji) image [url] of %emote% Description: Get the URL of this emote. Only emote have image URL, emoji are from Discord and will therefore return none here. Examples: emote url of event-emote emote image of reaction "disky" # Custom emoji only ## Received Attachments Addon: DiSky Category: Expression Syntax: received [the] attachments with [the] id %string% Description: Get the attachments received from an attachment upload component in a modal. You have to precise the id of the component, and it will return a list of attachments (or an empty list if no attachment was received, or if the component with the specified id is not an attachment upload). Examples: set {_att::*} to received attachments with id "test" loop {_att::*}: send "- %attachment file name of loop-value% (ext: %file ext of loop-value%)" to console download loop-value in folder "plugins/data/attachments/%attachment file name of loop-value%" reply with "Got attachments: %size of {_att::*}%" ## Channel Max User Addon: DiSky Category: Expression Syntax: [the] [channel] max[imum] user[s] of %channel/channelaction% ## Guild Boost Count Addon: DiSky Category: Expression Syntax: [the] [guild] boost[(ing|er)] (amount|number|size) of %guild% Description: Represent how many people are boosting the guild currently. Examples: reply with "There's %boost amount of event-guild% booster(s)!" ## Expression - Require State Addon: DiSky Category: Expression Syntax: [the] require[d] state of %object% ## Thread Message Count Addon: DiSky Category: Expression Syntax: [the] [thread] message count of %threadchannel% Description: Get the approximate message count of a thread channel. Examples: set {_count} to message count of event-threadchannel ## Message Poll Addon: DiSky Category: Expression Syntax: [the] [discord] [message] poll of %message/messagecreatebuilder% ## Embed Author Icon Addon: DiSky Category: Expression Syntax: [the] author icon of %embedbuilder% ## Prop Role Name Addon: DiSky Category: Expression Syntax: [the] role name of %role/roleaction% ## End date of Scheduled Event Addon: DiSky Category: Expression Syntax: [the] scheduled [event] end date of %scheduledevent% Description: Get the end date of a scheduled event. Can be null if the event is made from a channel and not an external place. ## User Tag Icon/Badge URL Addon: DiSky Category: Expression Syntax: [the] user [primary guild] tag icon [url] of %user% Description: Get the Icon Tag URL of the primary guild of a user. May be null if the user has no primary guild/no selected tag Examples: set {_image} to user tag icon of event-user ## Type of Scheduled Event Addon: DiSky Category: Expression Syntax: [the] scheduled [event] type of %scheduledevent% Description: Get the type of a scheduled event. It can either be 'voice/stage instance' or 'external' according to the type of the event. ## Message User Author Addon: DiSky Category: Expression Syntax: [the] [discord] [message] (user|author|writer) of %message% Description: Get the user instance of the message's author. Can be null in case of the message was sent by a webhook. Examples: author of event-message ## Expression - Value Addon: DiSky Category: Expression Syntax: [the] [default] value of %textinput% ## Embed Author URL Addon: DiSky Category: Expression Syntax: [the] author url of %embedbuilder% ## Ban Reason Addon: DiSky Category: Expression Syntax: [the] [ban[ned]] reason of %ban% Description: The optional reason which say why the user of this ban was banned. ## Guild AFKChannel Addon: DiSky Category: Expression Syntax: [the] [discord] afk [voice( |-)] channel of %guild% ## User Discriminator Addon: DiSky Category: Expression Syntax: [the] [user] discriminator of %user% Description: Represent the four digit number after the # of a user's name. These, mixed with the user name itself, are unique. This **DOES NOT** include the `#` char, so you have to add it yourself. Examples: reply with discriminator of event-user ## Profile Color Addon: DiSky Category: Expression Syntax: [the] profile color [accent] of %userprofile% Description: Get the profile color accent. If the user have a custom banner, this will return none. Use the 'profile banner' expression to get the avatar URL instead of the color accent in that case! ## Guild AFKTimeout Addon: DiSky Category: Expression Syntax: [the] [discord] afk time[( |-)]out [second[s]] of %guild% ## Invite URL Addon: DiSky Category: Expression Syntax: [the] invite url of %invite% Description: Represent the plain Discord URL that people have to click on in order to join the invite's guild. Examples: reply with invite url of event-invite ## Application Policy Addon: DiSky Category: Expression Syntax: [the] [discord] [application] [privacy] policy [url] of %applicationinfo% ## Mention Tag Addon: DiSky Category: Expression Syntax: [the] mention [tag] of %channel/role/user/emote/member% Description: Get the mention name of the discord entity. It will return the similar format that when you are doing @ (roles, users) or # (channels) followed by names. Examples: mention tag of event-channel mention tag of channel with id "000" ## Role Colors Addon: DiSky Category: Expression Syntax: [the] role colors of %role% Description: This represents a rich object containing all the color-related properties of a role, such as its primary color, gradient, holographic effect, and more. ## Application Owner Addon: DiSky Category: Expression Syntax: [the] [discord] application owner of %applicationinfo% ## Invite Uses Addon: DiSky Category: Expression Syntax: [the] invite use[s] of %invite% Description: Represent the amount of times this invite has been used. Examples: reply with invite uses of event-invite ## Guild Bot Role Addon: DiSky Category: Expression Syntax: [the] [guild] bot role of %guild% ## Prop Section Accessory Addon: DiSky Category: Expression Syntax: [the] accessory [component] of %containersection% ## Channel Slowmode Addon: DiSky Category: Expression Syntax: [the] [channel] slow[( |-)]mode of %channel/channelaction% ## Automod Type Addon: DiSky Category: Expression Syntax: [the] type of %automodrule% ## Guild Boost Tier Addon: DiSky Category: Expression Syntax: [the] [guild] boost[(ing|er)] tier of %guild% ## Name of Discord Entity Addon: DiSky Category: Expression Syntax: [the] discord name of %channel/user/member/sticker/scheduledevent/emote/threadchannel/role/guild/embedfield/applicationinfo/webhook/newcomponent% Description: This represent the current name of any discord entity that can hold one. You can change name of every entity except member and user by defining a new text. Check for 'nickname of member' if you want to check / change custom member's name. Examples: discord name of event-guild ## Message Guild Addon: DiSky Category: Expression Syntax: [the] [discord] [message] guild of %message% Description: Get the guild where the message was sent. Can be null if it's in PM or not in guild! Examples: guild of event-message ## Guild Member Count Addon: DiSky Category: Expression Syntax: [the] member count of %guild% ## Cover of Scheduled Event Addon: DiSky Category: Expression Syntax: [the] scheduled [event] cover of %scheduledevent% Description: Get the cover of a scheduled event. Links to a potentially heavily compressed image. You can append a size parameter to the URL if needed. Example: ?size=4096 This can returns null if no cover is set for the event. ## Creator of Scheduled Event Addon: DiSky Category: Expression Syntax: [the] scheduled [event] creator of %scheduledevent% Description: Get the creator of a scheduled event. May return none if user has deleted their account, the User object is not cached or the event was created before Discord started keeping track of event creators on October 21st, 2021 ## Channel Parent Addon: DiSky Category: Expression Syntax: [the] [channel] parent of %channel/channelaction% ## Message Referenced Addon: DiSky Category: Expression Syntax: [the] [discord] [message] referenc(ing|ed) message of %message% ## Role Channel Position Addon: DiSky Category: Expression Syntax: [the] [(role|channel)] position of %role/roleaction/channel/channelaction% ## Embed URL Addon: DiSky Category: Expression Syntax: [the] embed url of %embedbuilder% ## Embed Description Addon: DiSky Category: Expression Syntax: [the] description of %embedbuilder% ## Channel Name Addon: DiSky Category: Expression Syntax: [the] channel name of %channel/channelaction% ## User Tag Addon: DiSky Category: Expression Syntax: [the] user [primary guild] tag of %user% Description: Get the TAG of the primary guild of a user. This will return a bunch of character, up to 4. May be null if the user has no primary guild/no selected tag Examples: set {_tag} to user tag of event-user ## Embed Image Addon: DiSky Category: Expression Syntax: [the] image of %embedbuilder% ## Application TOS Addon: DiSky Category: Expression Syntax: [the] [discord] [application] (tos|terms of service) [url] of %applicationinfo% ## Attachments File Name Addon: DiSky Category: Expression Syntax: [the] attachment file name of %attachment% Description: Get the file name of an attachment. ## Channel Jump URL Addon: DiSky Category: Expression Syntax: [the] channel [jump] url of %channel% Description: Returns the jump-to URL for this channel. Clicking this URL in the Discord client will cause the client to jump to the specified channel. Examples: reply with channel url of event-channel ## Embed Footer Icon Addon: DiSky Category: Expression Syntax: [the] footer icon of %embedbuilder% ## Bot Token Addon: DiSky Category: Expression Syntax: [the] [discord] bot token of %bot% ## User / Bot / Guild Avatar Addon: DiSky Category: Expression Syntax: [the] avatar [url] of %guild/user/sticker/member/bot/applicationinfo% Description: Return the avatar URL of any user, guild or bot. This can be changed for guilds and bots only! Examples: avatar of event-guild avatar of event-user ## Tag Emoji Addon: DiSky Category: Expression Syntax: [the] tag emo(te|ji) of %forumtag% Description: Gets the emoji of a forum tag. Can be null if the tag has no emoji. ## Status of Scheduled Event Addon: DiSky Category: Expression Syntax: [the] scheduled [event] status of %scheduledevent% Description: Get the status of a scheduled event between: - Scheduled - Active - Completed - Cancelled ## Forum Layout Addon: DiSky Category: Expression Syntax: [the] [forum] [display] layout of %forumchannel% ## Forum Sort Order Addon: DiSky Category: Expression Syntax: [the] [forum] [default] sort order of %forumchannel% ## Member Boost Date Addon: DiSky Category: Expression Syntax: [the] [discord] boost[ing] date of %member% Description: Get the date when a member started boosting the server. Returns null if the member is not boosting. Examples: set {_time} to boost date of event-member send "Member has been boosting since: %boost date of {_member}%" This expression cannot be changed. ## Thread Channel Parent Addon: DiSky Category: Expression Syntax: [the] thread parent [channel] of %threadchannel% ## Creation Date Addon: DiSky Category: Expression Syntax: [the] creat(ion|ed) date of %guild/member/user/role/channel/message/emote/webhook% Description: Get the creation date (as Skript date) of any ISnowFlake entity, including, but not limited to: - Member - User - Role - Guild - Channel - etc... Examples: creation date of event-user created date of event-member ## Primary Role Color Addon: DiSky Category: Expression Syntax: [the] primary [role] color of %rolecolors% Description: Returns the primary color of a role's colors. ## Bot Self Member Addon: DiSky Category: Expression Syntax: [the] self [member] of [the] [bot] %bot% [in [the] [guild] %guild%] Description: Get the self member instance of a bot, in a specific guild. Examples: self member of event-bot in event-guild self member of bot "name" ## Discord Permissions Of Addon: DiSky Category: Expression Syntax: [(all [[of] the]|the)] [discord] permissions of %member/role/player% [in %-channel/guildchannel%] Description: Get or change the permissions of a specific member or role in an optional channel. Examples: add (manage server) to permissions of event-member in event-channel remove (administrator) from permissions of event-role ## Message Attachment Addon: DiSky Category: Expression Syntax: [all] [the] [discord] [message] attachment[s] of %message% Description: Get every attachment as custom object of a message Examples: attachments of event-message ## Message Builder Attachments Addon: DiSky Category: Expression Syntax: [all] [the] (attachment|image)[s] of %messagecreatebuilder% Description: Attachments of a message builder Supports SkImage's images if the addon is installed. See also: 'Create (rich) Message' ## Message Embeds Addon: DiSky Category: Expression Syntax: [all] [the] [discord] [message] embeds of %message% Description: Get every embeds of a specific messages. Keep in mind only webhook are allowed to send more than one embed! Examples: embeds of event-message ## Message Builder Embeds Addon: DiSky Category: Expression Syntax: [all] [the] embed[s] of %messagecreatebuilder% Description: Embeds of a message builder See also: 'Create (rich) Message' ## Message Content Addon: DiSky Category: Expression Syntax: [the] [discord] [message] content of %message% Description: Get the raw (non formatted) content of a sent message. Examples: content of event-message ## Message Builder Content Addon: DiSky Category: Expression Syntax: [the] content of %messagecreatebuilder% Description: Text content of a message builder See also: 'Create (rich) Message' ## On Member Kick Event Addon: DiSky Category: Event Syntax: [on] [discord] member kick[ed] ## On Discord Command Addon: DiSky Category: Event Syntax: [on] discord command <([^\s]+)( .+)?$> Description: Custom DiSky discord command system. Arguments works like the normal skript's one and accept both optional and require arguments. Examples: discord command move : prefixes: ! trigger: reply with mention tag of arg-2 move arg-1 to arg-2 ## On DiSky Error / Exception Addon: DiSky Category: Event Syntax: [on] disky (error|exception) Description: Fired when any DiSky error occur. Since DiSky exception are per-event only, this regroup every exception occurred in every events. ## On Member Ban Event Addon: DiSky Category: Event Syntax: [on] [discord] member ban[ned] ## On Disky Command Addon: DiSky Category: Event Syntax: [on] disky command [seen by %-string%] Description: Fired when a disky/discord command is executed. Examples: on disky command: ## Section - New Section Addon: DiSky Category: Section Syntax: (make|create) [a] [new] [discord] container section [and store (it|the result) in %-~objects%] ## Modify Welcome Screen Addon: DiSky Category: Section Syntax: modify [the] welcome screen (of|for) [the] [guild] %guild% Description: Modify the welcome screen of a guild. At the end, the request will be sent to discord to update the welcome screen. Examples: discord command setup : trigger: modify welcome screen of arg-1: change the screen description to "Welcome to the server! Please read the rules and get roles before chatting." add channel with id "937001799896956991" named "Read our rules" with reaction "📜" to the screen add channel with id "952199041335316520" named "Get roles" with reaction "🎟️" to the screen ## Section - Try Addon: DiSky Category: Section Syntax: try ## Create Auto Mod Addon: DiSky Category: Section Syntax: (make|create) [a] [new] auto[( |-)]mod [rule] [and store (it|the result) in %-~objects%] ## Section - Apply Replacement Addon: DiSky Category: Section Syntax: apply component[s] [the] replacement[s] (to|for) [the] [message] %message% ## Creator Components Row Addon: DiSky Category: Section Syntax: (make|create) [a] [new] [component[s]] row [and store (it|the result) in %-~objects%] Description: Creates a row of components. The specified variable will contains the created row once the section is executed. For now, a row can only hold multiple components of type Button! Use 'the last row builder' expression (within the section) to change the values of the row! Examples: create a new row and store it in {_row}: add new danger button with id "test" named "Hello World" with reaction "smile" to the components of the row add new success button with id "test2" named "yuss" to the components of the row ## Section - New Container Addon: DiSky Category: Section Syntax: (make|create) [a] [new] [discord] container [with [unique] id %-integer%] [and store (it|the result) in %-~objects%] ## Embed Builder Addon: DiSky Category: Section Syntax: make [a] [new] [discord] [message] embed [using [the] [template] [(named|with name|with id)] %-string%] [and store (it|the result) in %-~objects%] Description: This builder allow you to make embed easily. You can specify the template used, you must register this template before use it! Examples: discord command embed: prefixes: ! trigger: make embed: set title of embed to "Title" set description of embed to "Description%nl%The title leads to the URL, if given" set author of the embed to "Author name (Can point to URL)" set author icon of embed to "https://cdn.discordapp.com/emojis/825811394963177533.png?v=1" set author url of embed to "https://www.youtube.com/watch?v=i33DB6R8YUY" set embed color of the embed to orange add inline field named "Field Name" with value "Colour sets %nl%< that" to fields of embed add inline field named "Field Name" with value "Color is a java Color%nl%Not a string" to fields of embed add inline field named "Field Name" with value "Field value" to fields of embed add field named "Non-inline field name" with value "The number of fields that can be shown on the same row is limited to 3, but is limited to 2 when an image is included" to fields of embed set image of embed to "https://media.discordapp.net/attachments/237757030708936714/390520880242884608/8xAac.png?width=508&height=522" set thumbnail of embed to "https://cdn.discordapp.com/emojis/825811394963177533.png?v=1" set title url of embed to "https://www.crunchyroll.com/fr/tonikawa-over-the-moon-for-you" set footer of embed to "Footer text" set footer icon of embed to "https://cdn.discordapp.com/emojis/825811394963177533.png?v=1" set timestamp of embed to now reply with last embed ## Create (rich) Message Addon: DiSky Category: Section Syntax: (make|create) [a] [new] [silent] message [(based on|from) %-message%] [and store (it|the result) in %-~objects%] Description: Creates a rich message. A rich message can receive the following data: - Content - Embed[s] (default max is 1, webhooks can send up to 5) - Attachment(s) (supports images if SkImage is installed) - Components This will be used to both post & edit a message. Simply change what you want and pass the result of the section to the edit effect. Examples: create a new message and store it in {_message}: set the content of the message to "hello world" # we create a new component row that'll hold multiple buttons create a new row and store it in {_row}: add new danger button with id "test" named "Hello World" with reaction "smile" to the components of the row add new success button with id "test2" named "yuss" to the components of the row # we add the row containing two buttons add {_row} to the rows of message # row with one button only add new secondary button with id "test3" named "Another row!" to the rows of message set {_dp} to new dropdown with id "selector" set min range of {_dp} to 1 set max range of {_dp} to 2 set placeholder of {_dp} to "Dropdown" loop "one", "two" and "three": add new option with value (loop-value) named "Value: %loop-value%" with description "Click to select" with reaction "sparkles" to options of {_dp} add {_dp} to the rows of message make embed: set title of embed to "hello there!" set embed color of embed to red set image of embed to "attachment://image1.png" add last embed to the embeds of message # SkImage's image. Images are named as: 'imageX.png' where X is the attachment's index. set {_image} to new image with size 500, 500 set {_font} to new font style with name "Arial Black" and with size 60 set {_text} to new text "Hello World" with color from rgb 255, 255, 255 with font {_font} centered vertically centered horizontally draw {_text} at 0, 0 on {_image} add {_image} to attachments of message reply with {_message} ## Section - Listen Once Addon: DiSky Category: Section Syntax: listen once to [the] [event] %string% [with [the] timeout %-timespan%] [(using|with) [the] %-bot%] ## Find Members Addon: DiSky Category: Section Syntax: find [the] [discord] member[s] (in|from) [guild] %guild% and store (them|the members) in %~objects% with filter var[iable] %~objects% Description: Find member filter! It's a section that lets you filter by yourself the members you want to retrieve. Wants only members with a role, or specific nickname, that are not connected to a channel? You've got it! Examples: find members in event-guild and store them in {_members::*} with filter var {_m}: # {_m} now contains the member to apply the filter to. For instance: if {_m} has discord role with id "XXX": return true reply with "I have found %size of {_members::*}% that has the role!" ## Reply With Addon: DiSky Category: Section Syntax: reply with [hidden] %string/messagecreatebuilder/sticker/embedbuilder/messagepollbuilder/containers% [with [the] reference[d] [message] %-message%] [and store (it|the message) in %-objects%] Description: Reply with a specific message to the channel where a message-event was triggered. It can also be used to acknowledge & reply to an interaction, such as button click or slash command. In interaction only, you can use the keyword 'hidden' to reply with an ephemeral message (only the executor can see it). Therefore, the value stored in the variable, if specified, will be an interaction hook, and not a compete message. You can also provide a message as reference. The replied message be linked with the provided one. Examples: reply with "Hello world!" reply with last embed with reference event-message reply with hidden "Hello ..." and store it in {_msg} wait a second ## ReactSection Addon: DiSky Category: Section Syntax: react to [the] [message] %message% with [the] %emote% [to run [(one time)] [[and] wait for %-user%]] Description: React to a message with an emote and execute code when a user reacts. Can be set to run once or wait for a specific user. Examples: react to event-message with reaction "joy" to run: reply with "You clicked the reaction!" ## Is a customitem Addon: ItemsAdder Category: Condition Syntax: %itemtypes% (is|are) [(a|the) ](c|C)ustom[ ](i|I)tem Description: Default description for Is a customitem ## ExprGetFontImage Addon: ItemsAdder Category: Expression Syntax: fontimage %string% Description: Default description for ExprGetFontImage ## ItemsAdderItem Addon: ItemsAdder Category: Expression Syntax: customitem %string% Description: Get an ItemsAdder item by NamespacedID Examples: give player a customitem itemsadder:ruby set slot 1 of inventory of player to customitem ruby ## Create Instance Of String As String Addon: LibImporter Category: Effect Syntax: create instance of [class] %string% as %string% create instance of [class] %string% with %objects% as %string% new %string% as %string% new %string%(%objects%) as %string% ## Debug Class String Addon: LibImporter Category: Effect Syntax: debug class %string% list constructors of class %string% list methods of class %string% ## Invoke Method String Of Instance String Addon: LibImporter Category: Effect Syntax: invoke method %string% of instance %string% invoke method %string% of instance %string% with %objects% invoke static method %string% of class %string% invoke static method %string% of class %string% with %objects% ## List Methods Of Class String Addon: LibImporter Category: Effect Syntax: list methods of class %string% ## Load Java Libraries From Strings Addon: LibImporter Category: Effect Syntax: load java libraries from %strings% ## Load Native Library From String Addon: LibImporter Category: Effect Syntax: load native library from %string% ## Instance String Addon: LibImporter Category: Expression Syntax: instance %string% get instance %string% ## String String Addon: LibImporter Category: Expression Syntax: %string%\.%string% %string%\.%string%(%objects%) call method %string% of instance %string% call method %string% of instance %string% with %objects% call static method %string% of class %string% call static method %string% of class %string% with %objects% %string%::%string% %string%::%string%(%objects%) ## Do Nothing... Addon: Lusk Category: Effect Syntax: pass Description: Does nothing. Useful as a placeholder. Examples: pass do nothing ## Enforce Whitelist Addon: Lusk Category: Effect Syntax: [un]enforce [the] [server] whitelist Description: Sets if the whitelist is enforced. Examples: enforce the whitelist ## Cancel Composter Level Rise Addon: Lusk Category: Effect Syntax: [un]cancel [the] composter [level] rise Description: This Effect requires Paper. Can only be used in a Compost Item Event. Sets whether or not the composter's level should rise. Examples: on hopper compost: cancel composter level rise ## Toggle Whitelist Addon: Lusk Category: Effect Syntax: (en|dis)able [the] [server] whitelist Description: Sets if the server is whitelisted. Examples: enable whitelist ## Jukebox - Eject Disc Addon: Lusk Category: Effect Syntax: eject [the] [music] (disc|record) (of|from) %blocks/blockstates% Description: Forces a jukebox to eject its disc. Examples: eject the music disc of target block ## Enderman - Randomly Teleport Addon: Lusk Category: Effect Syntax: [attempt to] randomly teleport %livingentities% Description: Attempts to teleport an enderman to a random nearby location. Requires Spigot 1.20.1+ or Paper, behavior might be slightly different. Examples: randomly teleport {_endermen::*} ## Entity - Make Burn Under the Sun Addon: Lusk Category: Effect Syntax: make %livingentities% [not] burn ((during|in) [the] day|(in|under) [the] (sun[light]|daylight)) Description: Makes the provided entities burn (or not) when under the sun. Examples: make target burn during the day ## Allay - Duplicate Addon: Lusk Category: Effect Syntax: [force] duplicate %livingentities% Description: Forces an allay to duplicate itself without dance or item necessary. Examples: force duplicate (entities where [input is an allay]) ## Jukebox - Start/Stop Playing Addon: Lusk Category: Effect Syntax: make %blocks/blockstates% (stop|start) playing Description: Makes a jukebox start/stop playing. Examples: make target block start playing ## Anvil GUI - Prevent Closing Addon: Lusk Category: Effect Syntax: prevent [[lusk] anvil[(-| )gui]] %anvilguiinventory% from (closing|being closed) Description: Prevents an anvil gui from closing. *NOTES*: - This effect must be used *BEFORE* the gui is opened; if you need to use it after it's already opened you'll have to open it again. - If this effect is used you'll need to use the `Anvil GUI - Close` effect to close the gui. Examples: prevent event-anvilguiinventory from closing ## Block - Water Log Addon: Lusk Category: Effect Syntax: [un]water[ |-]log %blocks/blockdatas/blockstates/itemtypes% Description: Changes whether one or more blocks or blockstates are waterlogged. Examples: waterlog target block ## Anvil GUI - Close Addon: Lusk Category: Effect Syntax: close [lusk] anvil[(-| )gui] %anvilguiinventories% Description: Closes an anvil gui. *NOTES*: - Won't do anything if the anvil gui is not open. - Must be used before opening another anvil gui for a player. Examples: close anvil gui the anvil gui ## End Crystal - Hide/Show Bottom Plate Addon: Lusk Category: Effect Syntax: (hide|show) end[er] crystal (bottom|bedrock) [plate|slate] of %entities% Description: Hides or shows the bedrock slate underneath the provided end crystals. Examples: show {_crystal}'s bottom plate ## Allay - Start/Stop Dance Addon: Lusk Category: Effect Syntax: make %livingentities% (start|stop) dancing Description: Forces an Allay to start/stop dancing. Examples: make target start dancing ## Armadillo - roll Out/Up Addon: Lusk Category: Effect Syntax: make [armadillo[s]] %livingentities% roll (up|in) Description: Attempts to roll the provided armadillos up (if they're idle) or out (if they're not idle). Examples: make target roll up ## Player - Show Credits Addon: Lusk Category: Effect Syntax: show [the] ((win|victory) screen|end (credits|poem)|credits) to %players% Description: Shows a player the win screen that normally is only displayed after one kills the ender dragon and exits the end for the first time. Examples: show the credits to all players ## Llama - Leave Caravan Addon: Lusk Category: Effect Syntax: make %livingentities% leave [its|the[ir]] caravan Description: Makes a llama leave its caravan. Examples: make target leave its caravan ## Goat - Ram Addon: Lusk Category: Effect Syntax: make %livingentities% ram %livingentity% Description: Makes a goat ram an entity. Examples: make target ram {llama} ## Player - Sleep Addon: Lusk Category: Effect Syntax: (forcefully|(try|attempt) to) make %players% sleep at %location% Description: Attempts to, or forces one or more players to sleep in a bed. Attempting will fail under vanilla conditions in which the player cannot sleep, ex: Daytime, too far away, etc Examples: try to make player sleep at {_bed} # not forced forcefully make player sleep at {_bed} # forced ## Warden - Disturb Addon: Lusk Category: Effect Syntax: disturb %livingentities% from %location% Description: Makes a warden sense a disturbance at the provided location. Examples: disturb {_warden} from {_location} ## Anvil GUI - Open Addon: Lusk Category: Effect Syntax: [force] open [lusk] anvil[(-| )gui] %anvilguiinventory% to %players% Description: Opens an anvil GUI to one or more players. *NOTES*: - Anvil GUIs are always opened 1 tick later. - You can only open an anvil GUI for a player if the player is not already viewing another (or this) anvil GUI. - Using `force` will forcibly close the anvil GUI the player is currently viewing to open a new one. Be aware that, due to how anvil GUIs work, closing an anvil GUI is global, meaning it will be closed for all players viewing it. To avoid this, ensure that you create per-player anvil GUIs. Examples: open a new anvil gui to the player ## Ender Signal - Set Target Location Without Updating Addon: Lusk Category: Effect Syntax: set [the] ender (signal|eye) target location of %entities% to %location% without updating [it] Description: Sets the location the provided ender signals are moving towards without changing the drop chance and the despawn timer. Examples: set the ender signal target location of {_enderSignal} to {_location} without updating ## Llama - Join Caravan Addon: Lusk Category: Effect Syntax: make %livingentities% join [the] caravan of %livingentity% Description: Makes a llama join another llama's caravan. Examples: make target join caravan of {llama} ## Item Frame - set Item Silently Addon: Lusk Category: Effect Syntax: silently set [the] item[ |-]frame item of %entities% to %itemtype% Description: Sets the item of the provided item frames silently. Examples: silently set itemframe item of {_frame} to iron ingot ## Enderman - Teleport Towards Entity Addon: Lusk Category: Effect Syntax: teleport %livingentities% towards %entity% Description: Attempts to teleport an enderman to a random nearby location. Requires Spigot 1.20.1+. Examples: teleport {_endermen::*} towards {_entity} ## Bell - Ring Addon: Lusk Category: Effect Syntax: [make %-entity%] ring %blocks/blockstates% [from %-blockface%] Description: Rings a bell. The blockface must be cartesian. **NOTE: Skript has its own version of this effect, difference is in the fact that Skript's uses Directions while Lusk's uses Blockfaces, for that reason I will not deprecate this Effect.** Examples: ring target block make {_p} ring {_block} from north ## Player - Fake Experience Addon: Lusk Category: Effect Syntax: show [fake] [e]xp[erience] level %integer% and progress %number% to %players% Description: Send an experience change. This fakes an experience change packet for a user. This will not actually change the experience points in any way. Progress must be within 0 and 1. Examples: show xp level 12 and progress 0.5 to all players ## Player - Start/Stop Riptiding Addon: Lusk Category: Effect Syntax: make %players% (start riptiding|riptide|spin attack) for %timespan% [using %-itemtype%] [with [attack] (strength|damage) %-number%] Description: Makes a player riptide. (also known as spin attack) Stopping makes the player riptide for a tick, which stops it a tick later. The duration must be greater than or equal to 1 tick. Attack strength will default to 0 `if player is riptiding:` will return true for the given duration. Examples: make player riptide for 2 seconds with attack strength 4 make player stop riptiding ## Item Frame - Rotate Addon: Lusk Category: Effect Syntax: rotate [item[ |-]frame[s]] %entities% [counter] clockwise [%numbers%] Description: Rotates item frames counter clockwise and clockwise or by specific rotations and a set amount of times. Examples: rotate {_itemFrame} by 45 degrees twice ## Entity Snapshot - Spawn Addon: Lusk Category: Effect Syntax: (spawn|summon) [entity[ |-]]snapshot[s] %entitysnapshots% [%directions% %locations%] Description: Creates an entity using this template and spawns it at the provided location. This is an effect, not a section and can't be used as such. This effect is heavily influenced by Skript's Spawn effect (EffSecSpawn). Examples: spawn snapshot {_entitySnapshot} at {_location} ## Anvil Gui Addon: Lusk Category: Type Syntax: anvilguiinventory Description: An anvil gui. ## Euler Angle Addon: Lusk Category: Type Syntax: eulerangle Description: EulerAngle is used to represent 3 angles, one for each axis (x, y, z). The angles are in radians ## Bounding Box Addon: Lusk Category: Type Syntax: boundingbox Description: A Bounding Box. Persistent in global variables since 1.2. ## Voxel Shape Addon: Lusk Category: Type Syntax: voxelshape Description: A Voxel Shape, usually used for blocks such as Stairs. You can store those but it's not persistent across restarts. ## Sound Addon: Lusk Category: Type Syntax: sound Description: All the sounds, this varies across versions, some sounds might be removed. ## Version Addon: Lusk Category: Type Syntax: version Description: A Minecraft Version. ## on Inventory Slot Drop - Drop Info Addon: Lusk Category: Condition Syntax: [the] item is[( not|n't)] [being|getting] dropped from the (cursor|inventory) Description: Checks if the item is being dropped from the cursor or the inventory, if the whole stack is being dropped or both. Examples: if the item is not getting dropped from the cursor: if the whole stack is being dropped: ## Should Trigger Advancements Addon: Lusk Category: Condition Syntax: [the] event will trigger [any] advancements Description: This Condition requires Paper. Checks whether or not the Slot Change event should trigger advancements. Examples: on item obtain: if the event will trigger any advancements: make the event not trigger any advancements ## is Placing in Pot Addon: Lusk Category: Condition Syntax: [the] (flower|plant|item) is being (placed|picked up) Description: This Condition requires Paper. Checks whether or not the item is being placed inside the flower pot in a Flower Pot Manipulate Event. Examples: on potting of cornflower: if the plant is being placed: broadcast "placed" else if the plant is being picked up: broadcast "picked up" ## Dropped Item - Will Fly at Player Addon: Lusk Category: Condition Syntax: [the] [dropped] item will fly (towards|at) [the] player Description: Checks whether or not the dropped item in the Pickup Attempt Event will fly at the player. ## Server - Whitelist is Enforced Addon: Lusk Category: Condition Syntax: [the] whitelist is enforced Description: Checks whether the whitelist is enforced. If the whitelist is enforced, non-whitelisted players will be disconnected when the server whitelist is reloaded. Examples: if the whitelist is not enforced: ## Entity Shoot - Bow/Item Addon: Lusk Category: Condition Syntax: [the] (shot|launched) item should[( not|n't)] be consumed Description: Returns whether or not the consumable item should be consumed in the Entity Shoot Event. Examples: on entity shoot: if the shot item should be consumed: broadcast the consumed item ## Server - Whitelist is Enabled Addon: Lusk Category: Condition Syntax: [the] whitelist is enabled Description: Checks whether the server has a whitelist or not. Examples: if the whitelist is enabled: ## Will Be Damaged Addon: Lusk Category: Condition Syntax: [the] entity will be (damaged|attacked) Description: This Condition requires Paper. Checks whether or not the entity in the Pre Damage Event will be damaged. ## Will Raise Composter Level Addon: Lusk Category: Condition Syntax: [the] composter level will be raised Description: This Condition requires Paper. Checks whether or not the composter's level will rise in a Compost Item Event Examples: on hopper compost: if the composter level will be raised: cancel composter rise ## Server - allows Nether/End/Flight Addon: Lusk Category: Condition Syntax: [the] server allows ([the] (end|nether)|(to fly|flight)) Description: Checks if the server allows the Nether, the End or Flight Examples: if the server does not allow the end: broadcast "No End here!" ## Brewing Stand - Will Consume Fuel Addon: Lusk Category: Condition Syntax: [the] brewing fuel will be consumed Description: Checks whether or not the brewing stand's fuel will be consumed in a Brewing Stand Fuel Event Examples: on brewing stand fuel: # checks if the fuel will be consumed, it will by default if the brewing fuel will be consumed: # cancels it cancel brewing fuel consume ## WorldBorder - Change is Instant Addon: Lusk Category: Condition Syntax: [the] world[ ]border change is[n('|o)t] instant Description: This Condition requires Paper. Checks whether or not the worldborder change is instant in the worldborder change event Examples: on world border start changing: if the world border change is instant: broadcast "instant" else: broadcast "not instant" ## Anvil GUI - Can Be Closed Addon: Lusk Category: Condition Syntax: (%anvilguiinventory%|[the] anvil) can[([ ]no|n')t] be closed Description: Checks if an anvil gui can be closed. This is only true if the `Anvil GUI - Prevent Closing` effect is used and cannot be reversed without creating a new gui. Examples: if {_anvilGui} can be closed: ## Fox - is Faceplanted Addon: Lusk Category: Condition Syntax: [fox[es]] %livingentities% (is|are) face[ |-]planted Description: Checks if the fox is faceplanted. Examples: on damage of fox: if victim is faceplanted: cancel event ## Item Frame - is Visible / is Invisible Addon: Lusk Category: Condition Syntax: item[ |-]frame %entities% (is|are) [in]visible Description: Returns whether the item frame is visible or not. Examples: if item frame {_itemFrame} is visible: ## Iron Golem - Created By a Player Addon: Lusk Category: Condition Syntax: iron[ |-]golem[s] %livingentities% (was|were) (created|built) by ([a] player|players) Description: Checks if an iron golem was created by a player. Examples: if {_golem} was created by a player: ## Item Frame - is Fixed Addon: Lusk Category: Condition Syntax: item[ |-]frame %entities% (is|are) fixed Description: Returns whether the item frame is "fixed" or not. When true it's not possible to destroy/move the frame (e. g. by damage, interaction, pistons, or missing supporting blocks), rotate the item or place/remove items. Examples: if item frame {_itemFrame} is fixed: ## Fox - is Crouching Addon: Lusk Category: Condition Syntax: [fox[es]] %livingentities% (is|are) crouching Description: Checks if a fox is crouching. Examples: on damage of fox: if victim is crouching: cancel event ## Ender Signal - is Going to Drop/Shatter Addon: Lusk Category: Condition Syntax: [ender (signal|eye)] %entities% (is|are) going to (drop|shatter) Description: Checks if the provided ender signals should drop an item on death. If true, they will drop an item. If false, they will shatter. Examples: if ender signal {_enderSingle} is going to drop: ## Goat - Has Left/Right/Both/Either Horn Addon: Lusk Category: Condition Syntax: %livingentities% (has|have) [its|the[ir]] (left|right|either|any) [goat] horn Description: Checks if goat has the left, right, both or either horn. Examples: if target has its left horn: ## Entity - Should Burn In Day Addon: Lusk Category: Condition Syntax: [[living[ |-]]entity] %livingentities% should burn ((during|in) [the] day|(in|under) [the] (sun[light]|daylight)) Description: Returns whether or not the provided entities should burn during the day. Applies to zombies, skeletons (all types), and phantoms In 1.17.1 this doesn't work with skeleton variants, such as strays, but it does work with base skeletons. For skeletons, this does not take into account the entity's natural fire immunity. Examples: if target should burn in daylight: ## Fox - is Leaping Addon: Lusk Category: Condition Syntax: [fox[es]] %livingentities% (is|are) leaping Description: Checks if a fox is leaping. Examples: on damage of fox: if victim is leaping: cancel event ## Allay - can Be Duplicated Addon: Lusk Category: Condition Syntax: [allay[s]] %entities% can be duplicated Description: Checks if an allay can be duplicated. Examples: if target can be duplicated: ## Fox - is Defending Addon: Lusk Category: Condition Syntax: fox[es] %livingentities% (is|are) defending Description: Checks if the fox is defending. Examples: on damage of fox: if victim is defending: cancel event ## Bounding Box - Overlaps Addon: Lusk Category: Condition Syntax: %boundingboxes% overlap[s] [with] [[bounding[ ]]box] %boundingboxes% Description: Whether or not one or more bounding boxes overlap other bounding boxes. Bounding boxes that are only intersecting at the borders are not considered overlapping. Examples: if {_box} overlaps bounding box of player: ## Fox - Trusts Players Addon: Lusk Category: Condition Syntax: [fox[es]] %livingentities% trust[s] %offlineplayers% Description: Checks if the provided foxes trust the provided offline players. Examples: if {_fox} trusts player: ## Item - Can Be Enchanted with Addon: Lusk Category: Condition Syntax: %itemtype% can be enchanted with %enchantment% Description: Checks if an item can be enchanted with an Enchantment. This does not check if the enchantment conflicts with any enchantments already applied on the item. Examples: if tool of player can be enchanted with sharpness: ## Anvil GUI - is Viewing Addon: Lusk Category: Condition Syntax: %players% (is[(n't| not)]|are[(n't| not)]) viewing (an[y] anvil gui[s]|[lusk] anvil[(-| )gui] %-anvilguiinventory%) Description: Checks if a player is currently viewing a specific anvil GUI or any at all. Examples: if player is viewing any anvil guis: broadcast "%player% is viewing an anvil gui!" ## Armor Stand - is Equipment Slot Disabled Addon: Lusk Category: Condition Syntax: %equipmentslots% (is|are) disabled (on|for) %livingentities% Description: Checks if a specific equipment slot of an armorstand is disabled. Examples: if chest slot is disabled for {_armorStand}: ## Bounding Box - X is Within Addon: Lusk Category: Condition Syntax: %vectors/locations/boundingboxes% (is|are) (within|in[side [of]]) [[bounding[ ]]box] %boundingbox% Description: Whether or not a Vector, Location, or Bounding Box is within a Bounding Box. Vector and Location = Checks if the Bounding Box contains a specified position. Bounding Box = Checks if the Bounding Box fully contains a Bounding Box. Examples: if location of player is within bounding box of player: ## Entity - is From a Mob Spawner Addon: Lusk Category: Condition Syntax: %entities% (is|are) ([a] spawner entit(y|ies)|from [a] [mob] spawner) Description: Checks whether this entity was spawned from a mob spawner. Examples: on right click: if entity is from a spawner: broadcast "you clicked a mob that has spawned from a spawner!" ## Horse - is Eating Grass Addon: Lusk Category: Condition Syntax: %livingentity% (is|are) eating grass Description: Checks if an horse is eating grass. Examples: if target is eating grass: ## Entity - is Aggressive Addon: Lusk Category: Condition Syntax: %livingentities% (is|are) aggressive Description: Checks if the provided entities are aggressive. Some mobs will raise their arm(s) when aggressive: Drowned, Piglin, Skeleton, Zombie, ZombieVillager, Illusioner, Vindicator, Panda, Pillager, PiglinBrute Note: This doesn't always return the actual aggressive state as when set, Pandas are always aggressive if their combined Panda Gene is AGGRESSIVE. Examples: on damage of wolf: if victim is angry: cancel event ## Entity - is Roaring Addon: Lusk Category: Condition Syntax: %livingentities% (is|are) roaring Description: Checks if an entity is roaring. For ravagers, Paper 1.19.2+ is required. Examples: on damage of ravager: victim is roaring kill victim ## Version - is Valid Addon: Lusk Category: Condition Syntax: %strings% (is|are) [a] valid version[s] Description: Checks if the string is a valid version Examples: if "1.19.2" is a valid version: broadcast version "1.19.2" ## Has Seen Credits Addon: Lusk Category: Condition Syntax: %players% (has|have) seen credits Description: Checks if a player has seen the end credits. Examples: if target has seen the credits: ## Player - Can Critical Damage Addon: Lusk Category: Condition Syntax: %players% can crit[ical[ly] (damage|hit|attack)] Description: Checks if a player is in position to inflict a critical hit. Read https://minecraft.fandom.com/wiki/Damage#Critical_hit for more info. Examples: if player can critical damage: ## Entity - is Sleeping Addon: Lusk Category: Condition Syntax: %livingentities% (is|are) (awake|asleep|sleeping) Description: Checks if one or more living entities are awake or sleeping. Examples: on damage: cancel event if victim is sleeping ## Trident - is Enchanted Addon: Lusk Category: Condition Syntax: %projectiles% (is|are) enchanted Description: Checks if one or more (thrown) tridents are enchanted. Examples: if {_trident} is enchanted: ## Entity - is Leashed Addon: Lusk Category: Condition Syntax: %livingentities% (is|are) leashed Description: Checks if an entity is leashed. Examples: if target is leashed: ## Skeleton Horse - is Trapped Addon: Lusk Category: Condition Syntax: %livingentities% (is|are) trapped Description: Checks if a skeleton horse is trapped. Examples: on damage of skeleton horse: if victim is trapped: cancel event ## Sign - is Editable Addon: Lusk Category: Condition Syntax: %blocks/blockstates/itemtypes% (is|are) editable Description: Checks if the provided signs can be edited. Examples: if target block is editable: ## Projectile - has Left The Shooter Addon: Lusk Category: Condition Syntax: %projectiles% (has|have) [already] left [the[ir]|its] shooter Description: Gets whether the provided projectiles have left the hitbox of their shooter and can now hit entities. This is recalculated each tick if the projectile has a shooter. Examples: if {_projectile} has left its shooter: ## Entity - is Angry Addon: Lusk Category: Condition Syntax: %livingentities% (is|are) angry Description: Checks if an entity is angry. (Warden, PigZombie, Wolf, Enderman) Examples: on damage of wolf: if victim is angry: cancel event ## Chicken - is Chicken Jockey Addon: Lusk Category: Condition Syntax: %livingentities% (is|are) [a] chicken jockey Description: Checks if the provided chickens are chicken jockeys. Examples: if {_chicken} is chicken jockey: ## End Crystal - is Showing Bottom Addon: Lusk Category: Condition Syntax: %entities% (is|are) showing [its|the[ir]] (bottom|bedrock) [plate|slate] Description: Returns whether or not the provided end crystals are showing the bedrock slate underneath them. Examples: if {_endCrystal} is showing bottom: ## Llama - is In Caravan Addon: Lusk Category: Condition Syntax: %livingentities% (is|are) in [a] caravan Description: Checks if a llama is in a caravan. Examples: if target is in a caravan: ## Horse - is Eating Addon: Lusk Category: Condition Syntax: %livingentity% (is|are) eating Description: Checks if an horse is eating. Examples: if target is eating: ## Crossbow - has Charged Projectiles Addon: Lusk Category: Condition Syntax: %itemtypes% (has|have) charged projectiles Description: Checks if one or more crossbows have any charged projectiles at all. This behaves the same way the `is charged` condition behaves for crossbows. Examples: if tool of player has charged projectiles: ## Entity - Can Breathe Underwater Addon: Lusk Category: Condition Syntax: %livingentities% can breathe underwater Description: Checks if the provided living entities can breathe underwater and will not take suffocation damage when their air supply reaches zero. Examples: if {_entity} can breathe underwater: ## Entity - is Screaming Addon: Lusk Category: Condition Syntax: %livingentities% (is|are) screaming Description: Checks if an entity is screaming. (Goat, Enderman when using Paper 1.18.2+) Examples: on damage of enderman: if victim is screaming: cancel event ## Entity - is Dancing Addon: Lusk Category: Condition Syntax: %livingentities% (is|are) dancing Description: Checks if an entity is dancing. (Parrot, Allay, Piglin) Examples: on damage of parrot: if victim is dancing: cancel event broadcast "The vibe won't stop!" ## Warden - is Agitated Addon: Lusk Category: Condition Syntax: %livingentities% (is|are) agitated Description: Checks if a Warden is agitated. Examples: on damage of warden: if victim is agitated: broadcast "Uh oh" ## Player - is Slim Addon: Lusk Category: Condition Syntax: %offlineplayers% (is|are) slim Description: Checks if a player is slim. Examples: if player is slim: ## Cat - is Lying Down Addon: Lusk Category: Condition Syntax: %livingentities% (is|are) lying down Description: Checks if a cat is laying down. Examples: on damage of cat: if victim is laying down: cancel event ## Entity/Block/BlockState/Item - is Collidable Addon: Lusk Category: Condition Syntax: %livingentities/blocks/blockstates/itemtypes% (is|are) collidable [with] Description: Checks whether the provided living entities, blocks, blockstates and items are collidable. Info: - LivingEntity: Some entities might be exempted from the collidable rule of this entity. Use the "Entity - Collidable Exemptions" expression to get these. Please note that this method returns only the custom collidable state, not whether the entity is non-collidable for other reasons such as being dead. ## Horse - is Rearing Addon: Lusk Category: Condition Syntax: %livingentity% (is|are) rearing Description: Checks if an horse is rearing. Examples: if target is rearing: ## Jukebox - is Playing Addon: Lusk Category: Condition Syntax: %blocks/blockstates% (is|are) playing [[a] ([music] disc|record)] Description: Checks if a jukebox is currently playing a music disc. Examples: if {_j} is playing: ## Enchanted Book - has Stored Enchantments Addon: Lusk Category: Condition Syntax: %itemtypes% (has|have) stored enchant[ment]s Description: Checks if one or more enchanted books have any stored enchantments at all. Examples: if tool of player has stored enchantments: ## Enderman - Has Been Stared At Addon: Lusk Category: Condition Syntax: %livingentities% (has|have) been stared at Description: Checks if an enderman has been stared at. Examples: if target has been stared at: ## Blockface - is Cartesian Addon: Lusk Category: Condition Syntax: %blockfaces% (is|are) cartesian Description: Returns true if the provided blockfaces are aligned with one of the unit axes in 3D Cartesian space (NORTH, SOUTH, EAST, WEST, UP, DOWN). Examples: if {_blockface} is cartesian ## Cat - is Looking Up Addon: Lusk Category: Condition Syntax: %livingentities% (is|are) looking up Description: Checks if a cat is looking up Examples: on damage: if victim is looking up: broadcast "it's looking up!" ## Block - is Waterlogged Addon: Lusk Category: Condition Syntax: %blocks/blockstates/blockdatas/itemtypes% (is|are) water[ |-]logged Description: Checks whether or not one or more blocks, blockstates or blockdatas are waterlogged. Examples: if event-block is waterlogged: broadcast "%event-block% is waterlogged!" ## Entity - has Fixed Pose Addon: Lusk Category: Condition Syntax: %entities% (has|have) [a] fixed pose Description: Checks whether the provided entities have a fixed pose. Examples: if target has a fixed pose: ## Vindicator - is Johnny Addon: Lusk Category: Condition Syntax: %livingentities% (is|are) johnny Description: Checks if a vindicator is Johnny. Examples: if {_vindicator} is johnny: ## Block - is Full Block Addon: Lusk Category: Condition Syntax: %blocks/blockstates% (is|are) [a] full block[s] Description: Checks if a block is a full block (like dirt, stone, endstone). Essentially checks if a block is 1x1x1 and only has one mesh. Examples: if event-block is a full block: ## Warden - is Calm Addon: Lusk Category: Condition Syntax: %livingentities% (is|are) calm Description: Checks if a Warden is calm. Examples: on damage of warden: if victim is calm: broadcast "You're making a big mistake..." ## Animal - is Sitting Addon: Lusk Category: Condition Syntax: %livingentities% (is|are) s(at [down]|it[ting [down]]) Description: Checks if an entity is sitting. (Camels, Cats, Wolves, Parrots, Pandas and Foxes) Examples: on damage of wolf, cat or fox: if victim is sitting: cancel event ## Llama - Has Caravan Tail Addon: Lusk Category: Condition Syntax: %livingentities% (has|have) [a] caravan tail Description: Checks if another llama is currently following behind this llama. Examples: on damage: if victim has a caravan tail: broadcast "the caravan is being disturbed!!" ## Dolphin - Has Been Fed Fish Addon: Lusk Category: Condition Syntax: %livingentities% (has|have) been fed [a] fish Description: Checks if a dolphin has a fish. Examples: on damage: if victim has a fish: broadcast "It has a fish!" ## Player - is Crawling Addon: Lusk Category: Condition Syntax: %players% (is|are) crawling Description: Checks if a player is crawling. Examples: on damage of player: if victim is crawling: if chance of 0.5: cancel event send "Your attack has failed!" to attacker ## Sign - is Waxed Addon: Lusk Category: Condition Syntax: %blocks/blockstates/itemtypes% (is|are) waxed Description: Checks if a the provided signs are waxed. Examples: if target block is waxed: ## Entity - is Standing Addon: Lusk Category: Condition Syntax: %livingentities% (is|are) standing Description: Checks if an entity is standing, mainly polar bears, but other entities can be standing. Examples: on damage of polar bear: if victim is standing: cancel event send "you can't, %victim% is standing on business" to attacker ## Trident - has Collided Addon: Lusk Category: Condition Syntax: %projectiles% (has|have) collided Description: Checks if one or more (thrown) tridents have collided (they must have dealt damage to an entity or have hit the floor). Examples: if {_trident} has collided: ## Bell - is Ringing Addon: Lusk Category: Condition Syntax: %blocks/blockstates% (is|are) (ringing|shaking) Description: Checks if a bell is ringing. Examples: on bell ring: if event-block is ringing: cancel event ## Entity - is Converting Addon: Lusk Category: Condition Syntax: %livingentities% (is|are) converting Description: Checks if the provided entities being converted. (Hoglin, Husk, Piglin, Pig Zombie, Skeleton, Zombie, Zombie Villager) Examples: on damage of piglin: if victim is converting: cancel event ## Entity - is In Powdered Snow Addon: Lusk Category: Condition Syntax: %entities% (is|are) in powdered snow Description: Checks if an entity is in powdered snow. Examples: if player is in powdered snow: ## Armor - is Dyed Addon: Lusk Category: Condition Syntax: %itemtypes% (is|are) (dyed|colored) Description: Checks whether the provided armor items are dyed (they don't have the default color). This works for leather armor, horse leather armor and wolf armor. This might not work correctly on Spigot. Examples: if chestplate of player is dyed: ## Bell - is Resonating Addon: Lusk Category: Condition Syntax: %blocks/blockstates% (is|are) resonating Description: Checks if a bell is resonating. Examples: on bell resonate: if event-block is resonating: cancel event ## Entity - is Underwater Addon: Lusk Category: Condition Syntax: %entities% (is|are) underwater Description: Checks if an entity is underwater. Examples: if player is underwater: ## Suspicious Stew - has Custom Potion Effects Addon: Lusk Category: Condition Syntax: %itemtypes% (has|have) [custom] potion effects Description: Checks if the provided suspicious stews have any custom potion effects. Examples: if tool of player has custom potion effects: ## Citizens - is NPC Addon: Lusk Category: Condition Syntax: %entity% (is|are) (npc|citizen) Description: Checks if an entity is an NPC. (Citizens) Examples: on right click: if entity is npc: broadcast "you clicked an NPC!" ## Trident - is Loyal Addon: Lusk Category: Condition Syntax: %projectiles% (is|are) loyal Description: Checks if one or more (thrown) tridents are loyal. Examples: if {_trident} is loyal: ## Entity - Can Sit Addon: Lusk Category: Condition Syntax: %entities% can sit Description: Checks if an entity can normally sit. Examples: if target can sit: ## Ocelot - is Trusting Addon: Lusk Category: Condition Syntax: %livingentities% (is|are) trusting Description: Checks if an ocelot trusts players. Examples: on damage of ocelot: if victim is trusting: cancel event broadcast "Don't betray %victim%!" ## BlockState - is Placed Addon: Lusk Category: Condition Syntax: %blockstates% (is|are) placed Description: Checks whether the provided blockstates are placed in a world, if not, they are 'virtual' (e. g. on an item). Some syntaxes will not work if the block state isn't placed in the world. Examples: if {_blockState} is placed: ## Block - can Be Waterlogged Addon: Lusk Category: Condition Syntax: %blocks/blockstates/blockdatas/itemtypes% can be water[ |-]logged Description: Checks whether or not one or more blocks, blockstates or blockdatas can be waterlogged. Examples: if event-block can be waterlogged: broadcast "%event-block% can be waterlogged!" ## Animal - is Interested Addon: Lusk Category: Condition Syntax: %livingentities% (is|are) interested Description: Checks if the provided foxed or wolves are interested. For Foxes, Paper 1.18.2+ is required. Examples: on damage of wolf: if victim is interested: cancel event ## Bucketable - is From a Bucket Addon: Lusk Category: Condition Syntax: %livingentities% (is|are) from [a] bucket Description: Checks whether a living entity was previously in a bucket. Examples: if {_fish} is from a bucket: ## Crossbow / Creeper / Wither / Wither Skull - is Charged Addon: Lusk Category: Condition Syntax: %itemstacks/entities% (is|are) charged Description: Checks if a crossbow, creeper, wither or wither skull is charged. Examples: if tool of player is charged: ## Skript - Version Addon: Lusk Category: Expression Syntax: [the] skript version Description: The skript version. Examples: send the skript version ## Anvil GUI - All Open Anvil Gui Addon: Lusk Category: Expression Syntax: [all [[of] the]|the] open [lusk] anvil[(-| )gui]s Description: Gets all the open anvil guis. Examples: broadcast open all anvil guis ## Server - Version Addon: Lusk Category: Expression Syntax: [the] server version Description: The server version. Examples: send the server version ## Tameable Death Message Event - Death Message Addon: Lusk Category: Expression Syntax: [the |event-]tameable death message Description: Returns the applied color in the Dye event. This expression can be set to another dye color. Examples: on dye: broadcast the entity dye color ## Dye Event - Dye Color Addon: Lusk Category: Expression Syntax: [the |event-]entity dye color Description: Returns the applied color in the Dye event. This expression can be set to another dye color. Examples: on dye: broadcast the entity dye color ## Loom Pattern Type Addon: Lusk Category: Expression Syntax: [the] [selected] loom [banner] pattern [type] Description: Gets the pattern type selected in a Loom Pattern Select event Examples: on pattern select of border: set the loom pattern to creeper on pattern select: broadcast loom pattern on pattern select of bricks: broadcast the selected loom pattern ## Entity Shoot - Force Addon: Lusk Category: Expression Syntax: [the |event-](bow [shoot]|arrow [launch|shot]|sho[o]t) force Description: The force the arrow was launched with in the Entity Shoot Event. This number ranges from 0 to 1. Examples: on entity shoot: broadcast the bow force ## Used Tool/Used Hand/Used Equipment Slot Addon: Lusk Category: Expression Syntax: [the] used (tool|[held] item|weapon) Description: Retrieves the used hand or item used in events where either hand is used. The first pattern returns the Slot (Item + Index) of the item in the used hand. - Note: using this is not the same as using `event-slot` or `event-item`, if either is available, use that The second pattern returns an Equipment Slot that's either `hand_slot` or `off_hand_slot`. Supported Events: - on Right Click - on Item Consume - on Arm Swing - on Entity Shoot (different than 'on Shoot'!) - on Crossbow Load - on Place (includes 'on Block Place', 'on Hanging Place', and 'on Entity Place') - on Resurrect - on Player Fish - on Bucket Fill - on Bucket Empty - on Elytra Boost - on Player Harvest - on Can Build Check - on Player Shear Entity - on Player Leash Entity - on Player Unleash Entity - on Player Use Unknown Entity Examples: broadcast event-used tool ## Fluid Level Change Event - new Block Data Addon: Lusk Category: Expression Syntax: [the] [new] fluid level [block[ |-]]data Description: Can be set, reset and deleted. When set, the new blockdata must be of the same material as the one you're replacing; when reset and deleted, an empty blockdata of that material will be used. Examples: set new fluid level to water[level=3] ## Enderman - Escape Reason Addon: Lusk Category: Expression Syntax: [the] enderman escape reason Description: Returns the Escape Reason in an Enderman Escape Event. This Expression requires Paper. Examples: on enderman escape: broadcast event-enderman escape reason ## Cauldron - Change Reason Addon: Lusk Category: Expression Syntax: (the |event-)cauldron change reason Description: Returns the Change Reason in a Cauldron Level Change Event. Examples: on cauldron level change: broadcast the cauldron change reason ## Entity Shoot - Bow/Item Addon: Lusk Category: Expression Syntax: [the |event-]used bow Description: The bow used to fire the arrow and the consumed arrow in the Entity Shoot Event. Both can be null. Examples: on entity shoot: broadcast the used bow ## on Velocity Change - New Velocity Vector Addon: Lusk Category: Expression Syntax: [the] (new|[new] player) velocity [vector] Description: The velocity vector in the Player Velocity Change Event, can be set, deleted and reset. Examples: set the new player velocity to vector(4,6,3) ## Brewing Stand Fuel Power Addon: Lusk Category: Expression Syntax: [the] brewing fuel power Description: Returns the fuel power for the fuel in the Brewing Stand Fuel event. Can be set. Examples: on brewing stand fuel: set brewing fuel power to 5 ## WorldBorder - Change Duration Addon: Lusk Category: Expression Syntax: [the] world[ |-]border (shift|change) duration [in milliseconds] Description: Returns the duration of the change in the World Border Start Change event. Can be set. Requires Paper. ## Skript - Effect Command String Addon: Lusk Category: Expression Syntax: [the] [event-|the ][skript] effect command [string] Description: The command used in an effect command event. This doesn't include the prefix (usually `!`). Can be set, reset and deleted. Examples: set effect command to "give me an apple" ## Hopper - Searched Block Addon: Lusk Category: Expression Syntax: [the] searched block Description: Searched Block expression for the Hopper Inventory Search Event. Examples: on inventory search: broadcast the searched block ## Past/Future World Border Center Addon: Lusk Category: Expression Syntax: [the] [future|past] world[ ]border center Description: Returns the past/future center of the world border in the World Border Change events. The future center can be set. ## on Inventory Click - Clicked Item Addon: Lusk Category: Expression Syntax: [the] [event-|the ]clicked item[stack|type] Description: Can be set. Examples: set clicked itemtype to stone ## Anvil GUI - The Anvil Gui Addon: Lusk Category: Expression Syntax: [the] anvil gui Description: Gets the anvil gui involved in an event. Examples: set anvil title of anvil gui to "hello" open anvil anvil gui to player ## Warden Anger (Event) Addon: Lusk Category: Expression Syntax: [the] [future|past] anger [level] [of [the] warden] Description: Returns the past/future anger of the warden in the Warden Anger Change event. The future anger level can be set. ## Ender Dragon Phase Addon: Lusk Category: Expression Syntax: (the |event-)[new|current] ender[ ]dragon phase Description: Returns the Ender Dragon phase in an Ender Dragon Phase Change Event. Can be set. (Setting will always change the NEW phase) Examples: on ender dragon phase change: broadcast the current ender dragon phase ## Pusher Addon: Lusk Category: Expression Syntax: [the] pusher Description: Gets the entity which pushed the affected entity in a Damage Push event Examples: on damage push: broadcast the pusher ## WorldBorder - New/Old Size Addon: Lusk Category: Expression Syntax: [the] [future|past] world[ ]border size Description: Returns the new/old anger of the warden in the World Border Change events. Can be set only within the Start variant of the event. ## Anvil GUI - New Anvil Gui Addon: Lusk Category: Expression Syntax: [a] new anvil gui [(copying|cloning|from) %-anvilguiinventory%] Description: Creates a new anvil gui. Allows you to copy slots and text data from another anvil gui, this doesn't copy the "prevent closing" property, this is intentional. Examples: set {_anvil} to a new anvil gui ## Small Capital Case Addon: Lusk Category: Expression Syntax: %string% in [lenient|strict|fully] small (font|[upper[ ]]case|cap(s|ital[ case])) Description: Returns the given string with the small font. 'Lenient' allows uppercase characters to not be included. Examples: broadcast player's name in small caps set chat format to small caps "%player%: %message%" ## Item - Unenchanted/Disenchanted Addon: Lusk Category: Expression Syntax: unenchanted %itemtypes% Description: Returns one or more items without enchantments. Examples: set tool to unenchanted tool # removes all the enchantments ## Version - from String Addon: Lusk Category: Expression Syntax: [the] version[s] %strings% Description: Gets a version from a string. Examples: if player's version < version "1.19.2": broadcast "%player% can't play on this server" else: kick player ## Bounding Box - New Bounding Box Addon: Lusk Category: Expression Syntax: [a[n]] (new|[new] empty) bounding box Description: Creates a new empty Bounding Box, one from two corners or a copy of a given bounding box Examples: broadcast a new empty bounding box ## Bounding Box - Blocks Within Addon: Lusk Category: Expression Syntax: [all [[of] the]|the] blocks within [bounding[ ]]box[es] %boundingboxes% in [world[s]] %worlds% Description: Gets all the blocks within a bounding box in a specific world. Examples: broadcast blocks within box {_box} in {_world} ## BlockFace - Between Blocks Addon: Lusk Category: Expression Syntax: [the] [block[ ]]face (from|between) %block% (to|and) %block% Description: Returns the face relation of a block compared to another block. If the blocks are not connected nothing will be returned. Examples: set {_A} to block at location(10,10,10,"world") set {_B} to block at location(10,11,10,"world") # 1 block above set {_blockFace} to blockface from {_A} to {_B} broadcast {_blockFace} # 'up face' ## Banner Pattern - From Pattern Type and Color Addon: Lusk Category: Expression Syntax: banner pattern %bannerpatterntype% with color %color% Description: Created a Banner Pattern from a Pattern Type and a (dye) Color. Examples: banner pattern skull pattern type with color blue ## Bounding Box - Entities Within Addon: Lusk Category: Expression Syntax: [all [[of] the]|the] %*entitydatas% (of|in|within) [bounding[ ]]box[es] %boundingboxes% in [world[s]] %worlds% Description: Gets all the entities within a bounding box in a specific world. Examples: broadcast entities within box {_box} in {_world} ## Sign - is Waxed (Property) Addon: Lusk Category: Expression Syntax: [the] [sign] [is] waxed [state|property] of %blocks/blockstates/itemtypes% Description: Returns whether or not the provided signs are waxed. Can be set and reset (which makes it not waxed). Examples: broadcast editable state of target block ## Creeper/Primed TNT/TNT Minecart - Max/Regular Fuse Time/Ticks Addon: Lusk Category: Expression Syntax: [the] [max] [primed|ignited] fuse (ticks|time[span]|duration) of %entities% Description: The fuse ticks of a Creeper, Primed TNT or TNT Minecart, this differs based on which one of these 3 is used, read below. Can be set, added to, removed from and reset (which sets it to 0, this can or cannot be what you want based on the entity, read below). The `max` keyword only applies to creepers. `creeper`: - the time that the creeper has been in the primed state for; - if max is used it will return the maximum amount of time that the creeper can stay in the ignited state for until it explodes; - both math and regular fuse time must be greater than 0, regular fuse time cannot be greater than max fuse time; `primed tnt`: the time until the primed tnt explodes; `tnt minecart`: the time until the minecart explodes, -1 if not ignited. Examples: set the primed fuse ticks of {_creeper} to 10 ## Block - Liquid Level Addon: Lusk Category: Expression Syntax: [the] [ (max|min)[imum]] block [liquid] level of %blocks/itemtypes/blockdatas/blockstates% Description: Represents the maximum, minimum or current amount of fluid contained within a block, either by itself or inside a cauldron. Minimum Level requires Paper and 1.18.2. This expression includes liquid blocks, cauldron and composters. For water and lava blocks the levels have special meanings: a level of 0 corresponds to a source block, 1-7 regular fluid heights, and 8-15 to "falling" fluids. All falling fluids have the same behaviour, but the level corresponds to that of the block above them, equal to this. level - 8 **Note that counterintuitively, an adjusted level of 1 is the highest level, whilst 7 is the lowest.** May not be higher than the max level. Can be set, added to, removed from and reset. Reset requires Paper and 1.18.2. Examples: broadcast max block level of event-block set block level of {_block} to 3 ## Player - Player Tab List Order Addon: Lusk Category: Expression Syntax: [the] ((tab[ ]|player )list|tab) order of %players% Description: Returns the relative order that the player is shown on the player list. Can be set, added to and removed from. Setting this modifies the order for the player you're setting it for. Examples: broadcast tab list order of player ## Vindicator - Johnny State Addon: Lusk Category: Expression Syntax: [the] [vindicator] is johnny state of %livingentities% Description: Get and Set whether 1 or more vindicators are Johnny. Changing this does not modify the vindicator's name. Examples: if {_vindicator} is johnny: set whether vindicator {_vindicator} is johnny to false ## Iron Golem - was Created By a Player (Property) Addon: Lusk Category: Expression Syntax: [the] iron golem [was] created by ([a] player|players) [state|property] of %livingentities% Description: Returns whether or not an iron golem was created by a player. Can be set and reset. Examples: broadcast iron golem created by a player property of {_target} ## Entity - Variant Addon: Lusk Category: Expression Syntax: [the] [entity] variant of %livingentities% Description: Returns the Variant of an Entity. Can be set. This does not use strings. Currently supports: - Cow (1.21.5+) - Chicken (1.21.5+) - Pig (1.21.5+) - Salmon (1.21.2+) - Wolf (1.20.5+) - Frog (1.19+) - Axolotl (1.17+) - Mushroom Cow - Parrot - Llama - Fox - Cat - Rabbit - Panda - Tropical Fish Examples: broadcast variant of event-entity set variant of target to "red" ## Anvil GUI - Interactable Slots Addon: Lusk Category: Expression Syntax: [the] [[lusk] anvil[(-| )gui]] interactable slots of %anvilguiinventories% Description: Gets the interactable slots of an Anvil GUI. Allowed slots: 0, 1 and 2 No slots are interactable by default, resetting or deleting this will make all slots not interactable. Examples: set anvil gui interactable slots of {_anvil} to 0 and 1 ## Enchanted Book - Stored Enchantments Addon: Lusk Category: Expression Syntax: [the] enchantment[ type]s stored in %itemtypes% Description: Returns the Enchantments stored in an enchanted book. Can be set, added to, removed from, reset and deleted. Examples: broadcast stored enchantments of tool ## Dolphin - Treasure Chest Location Addon: Lusk Category: Expression Syntax: [the] dolphin treasure [chest] location of %livingentities% Description: Gets the treasure location the provided dolphins try to guide players to. This value is calculated if the player has fed the dolphin a fish (which Lusk includes), `DOLPHIN_SWIM_TO_TREASURE` goal. Can be set, but it only has an effect if the dolphin is currently leading a player, as this value is recalculated next time it leads a player. The world of the location you give it does not matter, as the dolphin will always use the world it is currently in. Examples: broadcast dolphin treasure location of target ## Enderman - Held Block Data Addon: Lusk Category: Expression Syntax: [the] [enderman] (held|carried) block[ |-]data of %livingentities% Description: Returns the Held Block Data of the provided Endermen. Examples: broadcast carried blockdata of target ## Player - Client Version Addon: Lusk Category: Expression Syntax: [the] [minecraft|client|player] version of %players% Description: Returns the Minecraft version of a player, snapshots are not included. Examples: broadcast version of player if version of player = 1.19.3: send "why so specific of a version?" if version of player < 1.9.0: send "i think you should update but you do you" ## BlockFace - Mod XYZ Addon: Lusk Category: Expression Syntax: [the] mod(-| )(y|x|z) of %blockfaces% Description: Returns the amount of x/y/z to modify to get the represented block(s). Examples: broadcast mod-y of {_blockfaces::*} ## Entity - High Speed Swimming Splash Sound Addon: Lusk Category: Expression Syntax: [the] high speed swim[ming] splash sound of %entities% Description: Returns the Sound this entity makes when splashing in water at high speeds. For most entities, this is just 'ENTITY_GENERIC_SPLASH'. Examples: broadcast high speed swimming splash sound of target ## Trident - Loyalty Addon: Lusk Category: Expression Syntax: [the] [trident] loyalty [level] of %projectile% Description: Returns loyalty level of a thrown trident. Allows: Setting, Removing, Adding, Deleting and Resetting. This value will always be between 0 and 127. Changing this value won't influence the item itself, just the throw trident. Examples: broadcast loyalty of {_trident} ## Anvil GUI - Text Input/Title Addon: Lusk Category: Expression Syntax: [the] [lusk] anvil[(-| )gui] ((rename|text) input|text|title) of %anvilguiinventories% Description: Gets the title and the text input of the provided anvil guis. *NOTES*: - These can be set. - To apply the changes you need to reopen the anvil gui to the player. Examples: set anvil gui text input of {_anvil} to "Hello!!" ## Item - Supported/Preferred Enchantments Addon: Lusk Category: Expression Syntax: [the] (preferred|supported) enchantments of %itemstacks% Description: Returns the Enchantments this item can normally have. Examples: broadcast supported enchantments of tool ## Entity - is Screaming (Property) Addon: Lusk Category: Expression Syntax: [the] [is] screaming of %livingentities% Description: Returns the Screaming Property of an entity. This is for Endermen (Requires Paper and 1.18.2+) and Goats. Examples: broadcast screaming state of target ## Item Rarity - Color Addon: Lusk Category: Expression Syntax: [the] rarity color of %itemrarities/itemtypes% Description: Returns the color of an item's rarity. Can be used with the item itself and it will get its rarity's color without getting the rarity itself if you don't need it. Examples: broadcast rarity color of tool broadcast rarity color of item rarity of heart of the sea ## Armor Stand - is Marker (Property) Addon: Lusk Category: Expression Syntax: [the] [armor[ |-]stand] [is] marker [state|property] of %livingentity/itemtypes% Description: Gets and sets the `marker` property of an armorstand entity or item, to do so with an armorstand item you must have Paper. Examples: set marker of target to true ## Entity - Should Burn During The Day (Property) Addon: Lusk Category: Expression Syntax: [the] [[living[ |-]]entity] (should|will) burn ((during|in) [the] day|(in|under) [the] (sun[light]|daylight)) [state|property] of %livingentities% Description: Returns whether or not the provided entities should burn during the day. Applies to zombies, skeletons (all types), and phantoms In 1.17.1 this doesn't work with skeleton variants, such as strays, but it does work with base skeletons. Can be set. Examples: broadcast the should burn under sunlight property of target set the should burn during the day property of {_entity} to false ## Item Frame - is Fixed (Property) Addon: Lusk Category: Expression Syntax: [the] item[ |-]frame [is] fixed [state|property] of %entities% Description: Gets whether the item frame is "fixed" or not. Can be set and reset. When true it's not possible to destroy/move the frame (e. g. by damage, interaction, pistons, or missing supporting blocks), rotate the item or place/remove items. Examples: set whether item frame {_itemFrame} is fixed to true broadcast whether item frame target is fixed ## Entity - Snapshot Addon: Lusk Category: Expression Syntax: [the] entity snapshot of %entities% Description: Creates an EntitySnapshot representing the current state of this entity. Examples: broadcast entity snapshot of target ## Ender Signal - Target Location Addon: Lusk Category: Expression Syntax: [the] ender (signal|eye) target location of %entities% Description: Gets the location the provided ender signals are moving towards. When set, the drop chance resets to a random value and the despawn timer gets set back to 0. Examples: set ender signal target location of {_signal} to {_location} ## Armor - Color Addon: Lusk Category: Expression Syntax: [the] armor color of %itemtypes% Description: Gets the color of the provided armor items. This works for leather armor, horse leather armor and wolf armor. Can be set. Examples: if chestplate of player is dyed: ## Fox - is Defending (Property) Addon: Lusk Category: Expression Syntax: [the] fox [is] defending [state|property] of %livingentities% Description: Gets whether the provided foxed are defending, can be set and reset. Examples: broadcast the fox is defending property of target ## Block - is Waterlogged (Property) Addon: Lusk Category: Expression Syntax: [the] [block] [is] water[ |-]log[ged] [state|property] of %blocks/blockstates/blockdatas/itemtypes% Description: Returns whether or not one or more blocks, blockstates or blockdatas are waterlogged. Can be set. Examples: broadcast waterlogged property of block ## End Crystal - Beam Target Addon: Lusk Category: Expression Syntax: [the] [end[er] crystal] beam target [location] of %entities% Description: Gets the location that the provided end crystals are pointing their beam to. Can be set, if the provided location is in a different world it will fail silently. Examples: set end crystal beam target to {_location} ## Bucketable - Base Bucket Item Addon: Lusk Category: Expression Syntax: [the] base bucket item of %livingentities% Description: Gets the base item of this entity in a bucket form. Examples: set {_bucket} to base bucket item of {_fish} ## Enchantment - Minimum Level Addon: Lusk Category: Expression Syntax: [the] [vanilla] min[imum] enchant[ment] level of %enchantments% Description: Returns the Minimum Vanilla Level for an Enchantment. Examples: broadcast minimum enchantment level of protection ## Entity - Protocol ID Addon: Lusk Category: Expression Syntax: [the] entity id of %entities% Description: Returns the network protocol ID for one or more entities. Examples: broadcast entity id of target ## Entity Snapshot - Entity Type Addon: Lusk Category: Expression Syntax: [the] entity[ |-]snapshot type of %entitysnapshots% Description: Gets the entity type of the provided entity snapshots. Examples: send entity snapshot type of {_entitySnapshot} ## Bell - Shaking Time/Ticks Addon: Lusk Category: Expression Syntax: [the] (shaking|ringing) (time|ticks) of %blocks/blockstates% Description: Returns the time or ticks since one or more bells have been shaking, or 0 seconds for each bell that's not currently resonating. A bell will typically resonate for 50 ticks (2.5 seconds) Note: if you wish to use this expression on Skript 2.9+ you will need to use Lusk 1.3+. Examples: on bell ring: wait 5 seconds broadcast shaking time of event-block ## Fox - is Crouching (Property) Addon: Lusk Category: Expression Syntax: [the] fox [is] crouching [state|property] of %livingentities% Description: Gets whether the provided foxes are crouching, can be set and reset. Examples: broadcast the fox is crouching property of target ## Armor Stand - has Arms (Property) Addon: Lusk Category: Expression Syntax: [the] [armor[ |-]stand] ((have|has|show[s]) [its|their] arms|[have|has] arms [in]visibility) [state|property] of %livingentity/itemtypes% Description: Gets and sets the `hasHarms` property of an armorstand entity or item, to do so with an armorstand item you must be using Paper. Examples: set has arms property of target to true set has arms state of target to false ## Crossbow - Charged Projectiles Addon: Lusk Category: Expression Syntax: [the] charged projectiles (in|of) %itemtypes% Description: Returns the Projectile Items charged in the provided crossbows. Can be set, added to, removed from, reset and deleted. Examples: broadcast charged projectiles of tool ## Entity - Origin Addon: Lusk Category: Expression Syntax: [the] origin of %entities% Description: Gets the location where this entity originates from. This value can be null if the entity hasn't yet been added to the world. Examples: broadcast origin of target ## Entity - Swimming Sound Addon: Lusk Category: Expression Syntax: [the] swim[ming] sound of %entity% Description: Returns the Sound this entity makes while swimming. Examples: broadcast swimming sound of target ## BlockFace - Vector Addon: Lusk Category: Expression Syntax: [the] vector [direction] of %blockfaces% Description: Returns the vector corresponding to the provided blockfaces. Examples: broadcast vector direction of west face ## Entity - is Sitting (Property) Addon: Lusk Category: Expression Syntax: [the] [is] s(at|it[ting]) [down] of %entities% Description: Returns whether an entity is sat. Can be set. This works for Cats, Wolves, Parrots, Pandas and Foxes. On Paper 1.20.1+ it applies for some other entities which have a SITTING pose. Examples: broadcast sitting state of target ## Fireball - Displayed Item Addon: Lusk Category: Expression Syntax: [the] [displayed] fireball item of %projectiles% Description: Gets the displayed item of the provided fireballs. Can be set. Examples: broadcast fireball item of target ## Armor Stand - can Tick (Property) Addon: Lusk Category: Expression Syntax: [the] [armor[ |-]stand] [can] tick [state|property] of %livingentities% Description: Gets and sets the `canTick` property of an armorstand entity or item. Unlike other Armorstand properties, this one cannot be used on the armorstand item as of 1.21.3. Examples: set can tick property of target to true set can tick state of target to false ## Dolphin - Has Been Fish (Property) Addon: Lusk Category: Expression Syntax: [the] [dolphin] [has] been fed [a] fish [state|property] of %livingentities% Description: Returns whether or not the provided dolphins have been fed a fish. Can be set. Examples: broadcast has fish state of target ## Anvil GUI - Inventory Addon: Lusk Category: Expression Syntax: [the] [lusk] anvil[(-| )gui] inventory of %anvilguiinventories% Description: Gets the inventory of one or more anvil guis, this shouldn't be used to edit slots or in non-anvil-gui events. Examples: set {_anvil} to anvil gui inventory of {_anvilGui} ## Entity - is Angry (Property) Addon: Lusk Category: Expression Syntax: [the] [is] angry of %livingentities% Description: Returns the Angry Property of an entity. (Warden, PigZombie, Wolf, Enderman) Can be set for all except wardens. To use this for endermen `Paper 1.18.2+` is required. Examples: broadcast is angry state of target ## Bounding Box - Corners/Center Coordinates Addon: Lusk Category: Expression Syntax: [the] [bounding[ ]]box (lesser|greater|center) (x|y|z)(-loc|(-| )coord[inate]) of %boundingboxes% Description: Gets the x,y or z coordinate for the lesser corner, the greater corner or the center of one or more bounding boxes. Examples: broadcast box lesser x-loc of target ## Entity - Damage/Hurt Sound Addon: Lusk Category: Expression Syntax: [the] (damage|hurt) sound of %livingentities% Description: Returns the Sound this entity will make on damage. Examples: broadcast damage sound of target ## Voxel Shape - of Block Addon: Lusk Category: Expression Syntax: [the] (voxel|collision) shape of %blocks% Description: Returns the detailed collision shape of a block. Examples: broadcast voxel shape of target block ## Brewing - Remaining Time/Ticks Addon: Lusk Category: Expression Syntax: [the] [remaining] brewing (time[span]|ticks) of %blocks/blockstates/itemtypes% Description: Returns the brewing time of a Brewing Stand (the time before the brewing is over, 0 seconds = finished, 20 seconds = just started. Can be set to a longer time, progress won't be displayed until it reaches 20 seconds). Can be set. Examples: on brewing start: broadcast the brewing time of event-block ## Llama - Caravan Head Addon: Lusk Category: Expression Syntax: [the] [llama] caravan head of %livingentities% Description: Returns the caravan head of a llama. Examples: broadcast caravan head of target ## Armor Stand - is Small (Property) Addon: Lusk Category: Expression Syntax: [the] [armor[ |-]stand] [is] small [state|property] of %livingentity/itemtypes% Description: Gets and sets the `small` property of an armorstand entity or item, to do so with an armorstand item you must have Paper. Examples: set small property of target to true ## Ender Signal - is Going to Drop/Shatter (Property) Addon: Lusk Category: Expression Syntax: [the] ender (signal|eye) [will|is going to] (drop|shatter) [state|property] of %entities% Description: Gets the item the provided ender signals will display and drop on death. Examples: send ender signal will drop property of {_enderSignal} ## Cat - is Looking Up (Property) Addon: Lusk Category: Expression Syntax: [the] cat [is] looking up [state|property] of %livingentities% Description: Returns whether or not a cat is looking up. Can be set and reset. Examples: broadcast cat looking up state of target ## Skeleton Horse - Trap Time Addon: Lusk Category: Expression Syntax: [the] skeleton horse trap[ped] time of %livingentity% Description: Returns the trap time of the skeleton horse. Examples: on damage of skeleton horse: broadcast skeleton horse trap time of victim ## Bucketable - is From a Bucket (Property) Addon: Lusk Category: Expression Syntax: [the] [bucketable] [is] from [a] bucket [state|property] of %livingentities% Description: Gets whether a living entity was previously in a bucket. Can be set and reset. Examples: send is from a bucket state of {_fish} ## Bounding Box - of Entity/Block Addon: Lusk Category: Expression Syntax: [the] bounding box of %entities/blocks% Description: Returns the bounding box of a block or an entity which reflects its location and size. (But not its world, kind of like vectors) Examples: broadcast bounding box of target ## Sign - is Editable (Property) Addon: Lusk Category: Expression Syntax: [the] [sign] [is] editable [state|property] of %blocks/blockstates/itemtypes% Description: Returns whether or not the provided signs are editable. Can be set and reset (which makes it editable). Examples: broadcast editable property of target block ## Best Equipment Slot Addon: Lusk Category: Expression Syntax: [the] best equipment slot of %itemtypes% Description: Returns the best Slot for an item. Examples: broadcast best equipment slot for x ## Armadillo - State Addon: Lusk Category: Expression Syntax: [the] armadillo state of %livingentities% Description: Gets the State of one or more Armadillos, cannot be set. Examples: set {_state} to armadillo state of {_armadillo} ## Horse - is Eating (Property) Addon: Lusk Category: Expression Syntax: [the] horse [is] eating [state|property] of %livingentities% Description: Returns whether or not an horse is eating. Can be set and reset. Examples: broadcast horse eating state of target ## Entity - Love Duration Addon: Lusk Category: Expression Syntax: [the] love duration [of %entity%] Description: Returns the love duration of an animal. Can be set. Examples: on love: broadcast the love duration broadcast love duration of target ## Item Frame - is Visible / is Invisible (Property) Addon: Lusk Category: Expression Syntax: [the] item[ |-]frame [is] [in]visible [state|property] of %entities% Description: Gets whether the item frame is visible or not. Can be set. Examples: set item frame is visible property of {_itemFrame} to true broadcast item frame is visible property of target ## Warden - Anger Addon: Lusk Category: Expression Syntax: [the] anger of %entity% Description: Returns the anger of a warden. Angry = 80 or above Agitated = 40-79 Calm = 0-39 Use the respective conditions to check for those 3 states. Examples: broadcast anger of target ## Entity/Snapshot - NBT String Addon: Lusk Category: Expression Syntax: [the] entity (nbt string|string nbt) of %entities/entitysnapshots% Description: Gets the provided entities or entity snapshots as their NBT string. Don't rely on this as the structure of the results can change across versions. Examples: set {_nbtString} to entity string nbt of {_entity} ## Item - Rarity Addon: Lusk Category: Expression Syntax: [the] item rarity of %itemtypes% Description: Returns the rarity of an item. Can be set. Before Lusk 1.2 (and Minecraft 1.20.5), this expression returned strings and also worked for enchantments, due to some major changes enchantments no longer have a rarity. Examples: broadcast item rarity of tool set item rarity of {_sword} to epic ## Warden - Prey Addon: Lusk Category: Expression Syntax: [the] prey of %entity% Description: Returns the entity at which this warden is most angry. Examples: broadcast prey of target ## Goat - has Left/Right Horn (Property) Addon: Lusk Category: Expression Syntax: [the] goat [has] (left|right) horn [state|property] of %livingentities% Description: Returns whether or not a goat has either horn. Can be set and reset. Examples: broadcast goat has left horn state of target ## Entity - is Interested (Property) Addon: Lusk Category: Expression Syntax: [the] [[living[ |-]]entity] [is] interested [state|property] of %livingentities% Description: Returns whether or not the provided foxes or wolves are interested. Paper 1.18.2+ is required to use this with foxes. Examples: broadcast interested state of target ## Item Frame - Item Drop Chance Addon: Lusk Category: Expression Syntax: [the] item[ |-]frame [item] drop chance of %entities% Description: The chance of the item being dropped upon this item frame's destruction. Can be set, removed from, added to, reset (1) and deleted (0). The final value is always clamped between 0 and 1. 1 = always drops; 0 = never drops. Examples: set item frame drop chance of {_itemFrame} to 1 # always drops ## Arrow - Pierce Amount Addon: Lusk Category: Expression Syntax: [the] arrow pierce (amount|level) of %projectiles% Description: Sets the number of times this arrow can pierce through an entity. Must be between 0 and 127. Examples: set arrow pierce amount of {_arrows::*} to 3 ## Entity - Collidable Exemptions Addon: Lusk Category: Expression Syntax: [the] collidable exemptions [uuid[s]] of %livingentities% Description: Gets the list of entities (or their UUIDs) which are exempt from the provided entities' collidable rule and whose collision with this entity will behave the opposite of it. Can be set, added to, removed from, and deleted. For example if collidable is true and an entity is in the exemptions then it will not collide with it. Similarly if collidable is false and an entity is in this set then it will still collide with it. Note: **these exemptions are not (currently) persistent.** Note: **the client may predict the collision between itself and another entity, resulting in those exemptions not being accurate for player collisions.** **This expression should therefore only be used to exempt non-player entities.** **To exempt collisions for a player, use the Team Collision Rule Option in combination with a Scoreboard and a Team.** Examples: send collidable exemptions of {_entity} ## Horse - Jump Strength Addon: Lusk Category: Expression Syntax: [the] horse jump[ing] (strength|force) of %entity% Description: Returns the jump strength of an horse. Can be set. Examples: broadcast jumping strength of target ## Llama - Strength Addon: Lusk Category: Expression Syntax: [the] llama strength of %livingentities% Description: Returns the provided llamas' strength. A higher strength llama will have more inventory slots and be more threatening to entities. Can be set. Must be between 1 and 5. Examples: broadcast strength of target ## Bounding Box - Corners/Center Addon: Lusk Category: Expression Syntax: [the] [bounding[ ]]box (cent(er|re)|(greater|lesser) corner) of %boundingboxes% Description: Gets either the lesser or the greater corner or the lesser of one or more bounding boxes. Returns vectors. Examples: broadcast box lesser corner of bounding box of target send box greater corner of {_box} ## Projectile - has Left The Shooter (Property) Addon: Lusk Category: Expression Syntax: [the] [projectile] [has] [already] left [the[ir]|its] shooter [state|property] of %projectiles% Description: Gets whether the provided projectiles have left the hitbox of their shooter and can now hit entities. This is recalculated each tick if the projectile has a shooter. Can be set. Examples: set whether {_projectile} has already left its shooter to true ## Allay - can Be Duplication (Property) Addon: Lusk Category: Expression Syntax: [the] [allay] (can be duplicated|duplication) [state|property] of %livingentities% Description: Returns whether or not the allay can duplicate itself. Can be set. Examples: broadcast duplication state of target ## Armor Stand - Disabled Slots Addon: Lusk Category: Expression Syntax: [the] [armor[ |-]stand] disabled [equipment] slots of %livingentities% Description: All the disabled slots of an armor stand. Can be set, remove from, added to, reset and deleted. Examples: add chest slot to disabled slots of {_armorStand} ## Ender Signal - Despawn Time/ticks Addon: Lusk Category: Expression Syntax: [the] ender (signal|eye) despawn (time[r]|ticks) of %entities% Description: Gets how long the provided ender signals have been alive for. Can be set. Either as ticks or a timespan. When greater than 80 ticks (or 4 seconds), it will despawn on the next tick. Examples: send the ender signal despawn time of {_enderSignal} ## Entity - Spawn Category Addon: Lusk Category: Expression Syntax: [the] spawn category of %entities% Description: Returns the category of spawn to which this entity belongs. Examples: broadcast spawn category of target ## Allay - Duplication Cooldown Addon: Lusk Category: Expression Syntax: [the] allay duplication cooldown [time[span]|ticks] of %livingentities% Description: Returns the duplication cooldown of an Allay. Can be set. Examples: broadcast duplication cooldown of target ## Armor Stand - is Invisible (Property) Addon: Lusk Category: Expression Syntax: [the] [armor[ |-]stand] ([is] [in]visible|[in]visibility) [state|property] of %livingentity/itemtypes% Description: Gets and sets the `Invisible` property of an armorstand entity or item, to do so with an armorstand item you must be using Paper. Examples: set invisibility property of target to true set is visible property of target to false ## Armor Stand - can Move (Property) Addon: Lusk Category: Expression Syntax: [the] [armor[ |-]stand] [can] move [state|property] of %livingentities% Description: Gets and sets the `canMove` property of an armorstand entity or item. Unlike other Armorstand properties, this one cannot be used on the armorstand item as of 1.21.3. Examples: set can move property of target to true set can mov state of target to false ## Item Frame - Item (Silently Set) Addon: Lusk Category: Expression Syntax: [the] item[ |-]frame item of %entities% Description: Gets a copy of the item in the provided item frames. Can be set and deleted, this expression supports the Silent Section, see examples. Examples: send item frame item of {_frame} silently: set item frame item of {_frame} to stone ## Jukebox - Record/Disc Addon: Lusk Category: Expression Syntax: [the] [jukebox] [music] (disc|record) of %blocks/blockstates/itemtypes% Description: Returns the music disc within a jukebox. Can be set, reset and deleted. Examples: broadcast the music disc of {_j} ## Skeleton Horse - Trapped State Addon: Lusk Category: Expression Syntax: [the] skeleton horse [is] trapped state of %entity% Description: Returns whether or not a skeleton horse is trapped. Can be set. Examples: broadcast skeleton horse trapped state of target ## Armor Stand - has Base Plate (Property) Addon: Lusk Category: Expression Syntax: [the] [armor[ |-]stand] ((have|has|show[s]) [its|their] base plate|[have|has] base plate [in]visibility) [state|property] of %livingentity/itemtypes% Description: Gets and sets the `hasBasePlate` property of an armorstand entity or item, to do so with an armorstand item you must be using Paper. Examples: set has base plate property of target to true set has base plate state of target to false ## Enchantment - Maximum Level Addon: Lusk Category: Expression Syntax: [the] [vanilla] max[imum] enchant[ment] level of %enchantments% Description: Returns the Maximum Vanilla Level for an Enchantment. Examples: broadcast max level of sharpness ## Block - Blast Resistance Addon: Lusk Category: Expression Syntax: [the] [block] blast resistance of %itemtypes/blocks/blockdatas/blockstates% Description: Gets the blast resistance value (also known as block "durability"). This value is used in explosions to calculate whether a block should be broken or not. Only works for placeable item/blocks. Examples: broadcast blast resistance of obsidian ## Chicken - Egg Lay Time/Ticks Addon: Lusk Category: Expression Syntax: [the] [chicken] egg lay (time|ticks) of %livingentities% Description: Returns the time till a chicken lays an egg. Examples: set egg lay time of target to 2 minutes ## Bucketable - Bucket Pickup Sound Addon: Lusk Category: Expression Syntax: [the] bucket pickup sound of %livingentities% Description: Gets the sound that is played when the provided entity is picked up in a bucket. Examples: set {_sound} to bucket pickup sound of {_fish} ## Entity Snapshot - From String Addon: Lusk Category: Expression Syntax: entity[ |-]snapshot[s] (of|from|using) (nbt string|string nbt) %strings% Description: Attempts to create an entity snapshots from a previously created string nbt of one. Examples: send entity snapshot of string nbt {_stringNBT} ## Entity - Small Fall Damage Sound Addon: Lusk Category: Expression Syntax: [the] small fall damage sound of %livingentities% Description: Returns the Sound this entity will make when falling from a small height. Examples: broadcast small fall damage sound of target ## Horse - is Eating Grass (Property) Addon: Lusk Category: Expression Syntax: [the] horse [is] eating grass [state|property] of %livingentities% Description: Returns whether or not an horse is eating grass. Can be set and reset. Examples: broadcast horse eating grass state of target ## Enderman - Has Been Stared At (Property) Addon: Lusk Category: Expression Syntax: [the] [enderman] [has] been (stared|looked) at [state|property] of %livingentities% Description: Returns whether or not an enderman has been stared at. Can be set. Examples: broadcast has been stared at state of target ## Entity - Client Sided Custom Name Visibility (Property) Addon: Lusk Category: Expression Syntax: [the] [client[[-| ]side[d]]] custom[ |-]name [in]visibility of %entities% Description: Gets whether or not the entity's custom name is displayed client side. This value has no effect on players, they will always display their name. Examples: broadcast custom name visibility of target ## Fox - is Leaping (Property) Addon: Lusk Category: Expression Syntax: [the] fox [is] leaping [state|property] of %livingentities% Description: Gets whether the provided foxed are leaping, can be set and reset. Examples: broadcast the fox is leaping property of target ## Entity - Width Addon: Lusk Category: Expression Syntax: [the] entity width of %entities% Description: Returns the Width of an Entity. Examples: broadcast entity width of target ## End Crystal - is Showing Bottom (Property) Addon: Lusk Category: Expression Syntax: [the] [end[er] crystal] [is] showing [the] (bottom|bedrock) [plate|slate] [state|property] of %entities% Description: Returns whether or not the provided end crystals are showing the bedrock slate underneath them. Can be set. Examples: set the is showing bottom plate property of {_crystal} to false ## Entity - is Aggressive (Property) Addon: Lusk Category: Expression Syntax: [the] [is] aggressive of %livingentities% Description: Returns the Aggressive Property of an entity. Can be set. Some mobs will raise their arm(s) when aggressive: Drowned, Piglin, Skeleton, Zombie, ZombieVillager, Illusioner, Vindicator, Panda, Pillager, PiglinBrute Note: This doesn't always return the actual aggressive state as when set, Pandas are always aggressive if their combined Panda Gene is AGGRESSIVE. Examples: broadcast is aggressive state of target ## Fox - Variant Addon: Lusk Category: Expression Syntax: [the] fox (variant|type) of %livingentities% Description: Gets the current type of this fox. Can bet set. Examples: set fox type of {_fox} to red_fox_type ## Horse - Domestication Level Addon: Lusk Category: Expression Syntax: [the] [max[imum]] horse domestication level of %entity% Description: Returns the domestication level and the maximum domestication level of an horse. Can be set. Examples: broadcast horse domestication level of target ## Bounding Box - Height and Width X/Z Addon: Lusk Category: Expression Syntax: [the] [bounding[ ]]box ((x|z) width|height) of %boundingboxes% Description: Gets the height, X width and Z width of 1 or more bounding boxes. Examples: broadcast box height of bounding box of target ## Cat - is Lying Down (Property) Addon: Lusk Category: Expression Syntax: [the] cat [is] lying down [state|property] of %livingentities% Description: Returns whether or not a cat is lying down. Can be set and reset. Examples: broadcast cat is lying down state of target ## BrewingStand - Ingredient Addon: Lusk Category: Expression Syntax: [the] brewing [stand] ingredient [item] of %blocks/blockstates/itemtypes% Description: Returns the brewing ingredient of a Brewing Stand. Can be set. Examples: on brewing start: broadcast the brewing ingredient of event-block ## BlockFace - Opposite BlockFace Addon: Lusk Category: Expression Syntax: [the] opposite [block[ ]]face of %blockfaces% Description: Returns the opposite blockface of the provided blockfaces. Examples: broadcast opposite blockface of north face # south face ## Ender Signal - Item Addon: Lusk Category: Expression Syntax: [the] ender (signal|eye) item of %entities% Description: Gets the item the provided ender signals will display and drop on death. Examples: set ender signal item of {_signal} to iron sword ## Entity - is Tamed (Property) Addon: Lusk Category: Expression Syntax: [the] [tameable] [is] tamed [state|property] of %livingentities% Description: Returns whether the provided entities are tamed. Can be set. If tamed, an entity cannot be tamed by a player through normal methods, even if it does not belong to anyone in particular. Examples: broadcast is tamed state of target ## Fox - Trusted Players Addon: Lusk Category: Expression Syntax: [the] ([first|second] trusted player|trusted players) of %livingentities% Description: Returns the first, second, or both trusted players of 1 or more foxes. *NOTES*: - The first and second trusted players can both be set to a single `offline player`, the trusted players can be set to 2 offline players (or 1, which only sets the first one). - The second trusted player must be set after the first one, which also means you can't clear the first one if the second one is set, both actions will fail silently. - If you wish to set/clear both, do so by using the second pattern: `clear trusted players of {_fox}` Examples: broadcast first trusted player of {_fox} set trusted players of {_fox} to {_notch} and {_steve} ## Arrow - Damage Addon: Lusk Category: Expression Syntax: [the] arrow damage of %projectiles% Description: Gets the base amount of damage one or more arrows will do. Defaults to 2.0 for a normal arrow with 0.5 * (1 + power level) added for arrows fired from enchanted bows. Can be set, added to, removed from, deleted (set to 0) and reset (set to 2, the default value). Examples: set arrow damage of {_arrows::*} to 3 ## Anvil GUI - First/Second/Result Item Addon: Lusk Category: Expression Syntax: [the] [lusk] anvil[(-| )gui] ((left|first)|(right|second)|output|result|third) (item|slot) of %anvilguiinventories% Description: Gets one of the 3 items in an anvil gui. *NOTES*: - These can be set. - To apply the changes you need to reopen the anvil gui to the player. Examples: set anvil gui right item of {_anvil} to barrier named "Click To Close!" ## Entity - Height Addon: Lusk Category: Expression Syntax: [the] entity height of %entities% Description: Returns the Height of an Entity. Examples: broadcast entity height of target ## Chicken - is Chicken Jockey (Property) Addon: Lusk Category: Expression Syntax: [the] [is] [a] chicken jockey of %livingentities% Description: Checks if the provided chickens are chicken jockeys. Examples: set the is a chicken jockey property of {_chicken} to true ## Entity - Big Fall Damage Sound Addon: Lusk Category: Expression Syntax: [the] big fall damage sound of %livingentities% Description: Returns the Sound this entity will make when falling from a large height. Examples: broadcast big fall damage sound of target ## Llama - Caravan Tail Addon: Lusk Category: Expression Syntax: [the] [llama] caravan tail of %livingentities% Description: Returns the caravan tail of a llama. Examples: broadcast caravan tail of target ## Bounding Box - of Voxel Shape Addon: Lusk Category: Expression Syntax: [the] bounding boxes of %voxelshapes% Description: Converts shapes into a collection of Bounding Boxes equivalent to the shape they come from. Examples: broadcast bounding boxes of {_voxelShape} ## Entity - Pose/Fixed Pose Addon: Lusk Category: Expression Syntax: [the] [fixed] [entity] pose of %entities% Description: Returns the provided entities' current pose. Note that the pose is only updated at the end of a tick, so it may be inconsistent. Can be set. Setting the "Fixed" pose will make it stay until manually changed, this requires Paper 1.20.1+ Examples: broadcast pose of target set fixed pose of target to dying pose ## AxisAngle/Quaternion/Vector(2D/3D/4D)/Location/EulerAngle/Chunk - XYZ(W) Coordinate/Coordinate List Addon: Lusk Category: Expression Syntax: [the] (coord[inate](s| list)|(x|y|z|w)[( |-)(coord[inate]|pos[ition]|loc[ation])] component) of %objects% Description: Gets a list or one of the coordinates of: - Locations - Vectors - Chunks (only X and Z) - EulerAngles - 2D Vectors (only X and Z) - 3D Vectors - 4D Vectors (XYZW) - Quaternions (XYZW) - AxisAngles (XYZW) - MapCursor Note: Out of all of these Lusk only implements EulerAngles. Examples: broadcast coordinates of {_loc} ## Fox - is Faceplanted (Property) Addon: Lusk Category: Expression Syntax: [the] fox [is] face[ |-]planted [state|property] of %livingentities% Description: Gets whether the provided foxes are faceplanted, if running Paper this can be set and reset. Examples: broadcast the fox is faceplanted property of target ## Entity Snapshot - As String Addon: Lusk Category: Expression Syntax: [the] entity[ |-]snapshot (nbt string|string nbt) of %entitysnapshots% Description: Gets the String NBT of the provided entity snapshots. Examples: send entity snapshot string nbt of {_entitySnapshot} ## Command Block - Command Addon: Lusk Category: Expression Syntax: [the] [command block] command of %object% Description: Returns the command within a command block. Can be set. Works with minecart with command block. Examples: broadcast the command of {_cmd} ## Item Frame - Rotation Addon: Lusk Category: Expression Syntax: [the] item[ |-]frame rotation of %entities% Description: Returns the rotation of an Item Frame. Examples: broadcast item frame rotation of target ## Ocelot - is Trusting (Property) Addon: Lusk Category: Expression Syntax: [the] ocelot ([is] trusting|trust[s]) [state|property] of %livingentities% Description: Returns whether or not an ocelot trusts players. Can be set. Examples: broadcast ocelot trusting state of target ## Entity - Spawn Reason Addon: Lusk Category: Expression Syntax: [the] spawn reason of %entities% Description: Gets the spawn reason that initially spawned this entity. Examples: broadcast spawn reason of target ## Spawner/Trial Spawner - Entity Type Addon: Lusk Category: Expression Syntax: [the] spawner (entity|creature) type of %itemtypes/blocks/blockstates/entities% Description: Gets the spawner entity type of the provided spawners or trial spawners (1.21+). **Works with Items.** **Works with Spawner Minecarts (Requires 1.20+).** Can be set, reset (sets it to pig), and deleted (requires Minecraft 1.20+). Examples: set spawner entity type of {_block} to zombie ## Allay - Jukebox Addon: Lusk Category: Expression Syntax: [the] jukebox of %entities% Description: Gets the jukebox the allay is set to dance to. Examples: broadcast jukebox of target ## Horse - is Rearing (Property) Addon: Lusk Category: Expression Syntax: [the] horse [is] rearing [state|property] of %livingentities% Description: Returns whether or not an horse is rearing. Can be set and reset. Examples: broadcast horse rearing state of target ## Fox - is Sleeping (Property) Addon: Lusk Category: Expression Syntax: [the] fox [is] sleeping [state|property] of %livingentities% Description: Various fox properties. Everything in this expression can be used with `Paper`. With `Spigot` you can only: - `Get` and `Set` the Crouching State and Sleeping State - `Get` the Faceplanted State Examples: broadcast fox is sleeping property of target ## Bell - Resonating Time/Ticks Addon: Lusk Category: Expression Syntax: [the] resonating (time|ticks) of %blocks/blockstates% Description: Returns the time or ticks since one or more bells have been resonating, or 0 seconds for each bell that's not currently resonating. A bell will typically resonate for 40 ticks (2 seconds) Note: if you wish to use this expression on Skript 2.9+ you will need to use Lusk 1.3+. Examples: on bell ring: wait 5 seconds broadcast resonating time of event-block ## Entity - Swimming Splash Sound Addon: Lusk Category: Expression Syntax: [the] swim[ming] splash sound of %entity% Description: Returns the Sound this entity makes when splashing in water. For most entities, this is just 'ENTITY_GENERIC_SPLASH'. Examples: broadcast swimming splash sound of target ## Anvil GUI - Opened Anvil GUI Addon: Lusk Category: Expression Syntax: [the] (current[ly open]|open|top) [lusk] anvil[(-| )gui] of %players% Description: Gets the open anvil GUI of one or more players. Examples: set {_anvilGui} to the currently open anvil gui of {_player} ## Entity - Death Sound Addon: Lusk Category: Expression Syntax: [the] death sound of %livingentities% Description: Returns the Sound this entity will make on death. Examples: broadcast death sound of target ## BrewingStand - Fuel Item Addon: Lusk Category: Expression Syntax: [the] brewing fuel [item] of %blocks/blockstates/itemtypes% Description: Returns the brewing fuel item of a Brewing Stand. Can be set. Examples: on brewing start: broadcast the brewing fuel of event-block ## Suspicious Stew - Custom Potion Effects Addon: Lusk Category: Expression Syntax: [the] suspicious stew [custom] potion effects of %itemtypes% Description: Gets the custom potion effects applied to the provided suspicious stew. Can be: set, added to, removed from, removed all x from, cleared and reset. Clear and reset do the same thing, same for remove and remove all. Remove and remove all can take either potion effects or potion effect types. Examples: set suspicious stew potion effects to strength potion effect of strength of tier 1 for 15 seconds ## Bounding Box - Volume Addon: Lusk Category: Expression Syntax: [the] [[bounding[ ]]box] volume of %boundingboxes% Description: Gets the volume of 1 or more bounding boxes. Examples: broadcast volume of bounding box of target ## Dolphin - Moisture Level Addon: Lusk Category: Expression Syntax: [the] dolphin moist(ure [level|amount]|ness [amount]) of %livingentities% Description: Returns the moisture level of the provided dolphins. Can be set, added to, and removed from. Examples: broadcast moisture of target ## Brewing - Fuel Level Addon: Lusk Category: Expression Syntax: [the] brewing [stand] fuel level of %blocks/blockstates/itemtypes% Description: Returns the brewing fuel level of a Brewing Stand. Can be set, reset and deleted. Examples: on brewing start: broadcast the brewing fuel level of event-block ## Block/BlockData/BlockState/Item - Slipperiness Addon: Lusk Category: Expression Syntax: [the] slipperiness of %itemtypes/blocks/blockdatas/blockstates% Description: Returns a value that represents how 'slippery' the block is. Blocks with higher slipperiness, like ice can be slid on further by the player and other entities. Most blocks have a default slipperiness of 0.6. Can be used with items, blocks, blockstates, and blockdatas. Examples: broadcast slipperiness of packed ice ## Player - Previous Game Mode Addon: Lusk Category: Expression Syntax: [the] previous game[ ]mode of %players% Description: Returns the previous gamemode of a player. Examples: broadcast previous gamemode of player ## Armor Stand - Rotations Addon: Lusk Category: Expression Syntax: [the] [armor[ |-]stand] %bodyparts% (rotation|pose)[s] of %livingentities% Description: The rotation of each part of an armor stand. Can be set, added to, removed from, and reset. All change modes allow both a vector and an euler angle. Examples: broadcast rotation of target set head rotation of target to vector(45,0,0) # looks down a a 45 degrees - sad armor stand :( ## Entity - Item from Equipment Slot Addon: Lusk Category: Expression Syntax: [the] equipment[[ |-]slot][s] %equipmentslots% of %livingentities% Description: Gets the item in one or more equipment slots of one or more entities, if the entity cannot use a provided slot it will fail silently. This might not work when trying to get a slot on an entity that doesnt have that slot AND if you're not running at least Paper 1.21 Can be set. Examples: broadcast equipment slot chest slot ## On Hopper - on Inventory Search Addon: Lusk Category: Event Syntax: [on] hopper inventory search[ing] Description: Called each time a Hopper attempts to find its source/attached containers. Examples: on hopper inventory search: broadcast event-inventory ## On Entity - on Sit/Stand up Addon: Lusk Category: Event Syntax: [on] [entity] s(at|it[ting]) [down] Description: Called when an entity sits down or stands up. Examples: on sitting down: broadcast "%entity% is taking a seat!" on stand up: broadcast "stand up" on sit toggle: broadcast "toggle" ## On Lectern - on Page Flip Addon: Lusk Category: Event Syntax: [on] lectern page flip[ping|ped] [to[wards] the] left Description: Called when a player flips the page in a Lectern. Examples: on lectern page flip to the right: broadcast "right" on lectern page flip to the left: broadcast "left" on lectern page flip: broadcast "either" ## On Allay - on Duplicate Addon: Lusk Category: Event Syntax: [on] allay duplicat(e[d]|ing|ion) Description: Called when an allay duplicates itself. Examples: on allay duplication: broadcast event-entity ## On Warden - on Sniff Toggle Addon: Lusk Category: Event Syntax: [on] warden (sniff[ing] [start|begin]|start sniffing) Description: Called when a warden sniffs around. Examples: on warden sniff: broadcast event-entity ## On Bat - on Sleep/Wake up Addon: Lusk Category: Event Syntax: [on] bat sleep[ing] Description: Called when a bat attempts to sleep or wake up from its slumber. Examples: on bat wake up: broadcast "A bat has woken up!" ## On Crossbow - on Load Addon: Lusk Category: Event Syntax: [on] [entity] (crossbow load[ed]|load [of] crossbow) Description: Called when a LivingEntity loads a crossbow with a projectile. Examples: ## On Player - on Interact Addon: Lusk Category: Event Syntax: [on] player [[main|off][ |-]hand [slot]] interact[ing|ion] [(on|with|at) [an] entity|(with|on) [a] block] Description: Called when a player interacts with a block or entity by clicking. This event is always called unlike Skript's click event, meaning that it can be called for both hands. You can use `main hand` and `off hand` to make it per hand. `event-equipmentslot` = the slot of the used hand `event-blockaction` = the action of this event `event-vector` = the vector from the player to the interaction point `event-location` = the location of the interaction point Examples: on player main hand interaction: on player interacting with an entity: if event-equipmentslot = hand slot: ## On Creeper - on Ignite/Extinguish Addon: Lusk Category: Event Syntax: [on] creeper ignit(e[d]|ion|ing) Description: Called when a Creeper is ignited. Examples: on creeper ignite: broadcast "%entity% is about to explode!" ## On Whitelist - on Toggle Addon: Lusk Category: Event Syntax: [on] whitelist enable[d] Description: Called when the whitelist is toggled. Examples: on whitelist enable: broadcast "Whitelist enabled!" ## On WorldBorder - on Change/Center Change Addon: Lusk Category: Event Syntax: [on] world[ ]border start[ing|ed] [to] chang(e|ing) Description: Called when a world border's center is changed or when a world border starts (either over time or instantly) or stops moving. Examples: on world border start changing: if the world border change is instant: broadcast "instant" else: broadcast "not instant" ## On Item Frame - on Change Addon: Lusk Category: Event Syntax: [on] item[ |-]frame [item] [(insert|place)|remove|rotate|interact|change] Description: Called when an ItemFrame is having an item rotated, added, or removed from it. Examples: on itemframe rotate: broadcast "rotated" on itemframe remove: broadcast "remove" on itemframe place: broadcast "place" ## On Block - on Ignite [Lusk Extension] Addon: Lusk Category: Event Syntax: [on] [lusk] [player] block ignit(e|ion) [due to %-*ignitecauses%] Description: **THIS IS AN EXTENDED VERSION OF SKRIPT'S IGNITE EVENT.** `event-player` = the Player that placed/ignited the fire block, or not set if not ignited by a Player. `event-entity` = the Entity that placed/ignited the fire block, or not set if not ignited by an Entity. `event-ignitecause` = the value detailing the cause of the block ignition. Called when a block is ignited. If you want to catch when a Player places fire, use the place event. If this event is cancelled, the block will not be ignited. Examples: on lusk block ignite due to lava_ignition: on lusk player block ignition: ## On Flower Pot - on Manipulate Addon: Lusk Category: Event Syntax: [on] [flower] pot[ting)| manipulat(e|ing)] [of %-itemtype%] Description: Called when a player places an item in or takes an item out of a flowerpot. Examples: on potting of cornflower: if the plant is being placed: broadcast "placed" else if the plant is being picked up: broadcast "picked up" ## On Entity - on Dye Addon: Lusk Category: Event Syntax: [on] dye [of %-entitydatas%] Description: Called when a player dyes an entity (Wolf, Cat or sheep). Examples: on dye of sheep: broadcast the dye color ## On Loom - on Pattern Select Addon: Lusk Category: Event Syntax: [on] [loom] pattern select [of %-bannerpatterntypes%] Description: This Event requires Paper. Called when a player selects a banner pattern in a loom inventory. Examples: on pattern select of border: set pattern to creeper on pattern select: broadcast event-patterntype on pattern select of bricks: broadcast the selected pattern ## On Entity - on Rename Addon: Lusk Category: Event Syntax: [on] entity rename [of %-entitydatas%] Description: Called when the player is attempting to rename a mob. Examples: on entity rename of pig: broadcast entity's display name ## On Armor Stand - on Manipulate Addon: Lusk Category: Event Syntax: [on] armor[ |-]stand [%-*equipmentslots%] %-*armorstandinteractions% Description: Called when a player interacts with an armor stand and will either swap, retrieve, place an item. `event-equipmentslot` is the clicked slot of the armor stand, to get the hand use the Used Hand expression `event-entity` is the armor stand `past event-item` is the item the armor stand is holding `future event-item` (or `event-item`) is the item the player is holding `event-armorstand interaction` is the type of manipulation that's happening during the event (NOTE: this will only ever return `Place`, `Retrieve` or `Change`) Examples: on armor stand chest slot retrieve; broadcast event-item and event-equipmentslot ## Run Silently Addon: Lusk Category: Section Syntax: [run|execute] (silent[ly]|without sounds) Description: Executes the effects within this section without making sounds, this currently only supports the changing of an item frame's item. Note: this is not related to errors or warnings in the console. Examples: silently: set item frame item of {_frame} to iron sword # won't play the sound ## Block - on Break Section Addon: Lusk Category: Section Syntax: [execute|run] on (break[ing]|min(e|ing)) of %~block% Description: Runs the code inside of it when the provided block gets broken. Local Variables that are: - defined BEFORE this section CAN be used inside of it. - defined AFTER this section CANNOT be used inside of it. - defined INSIDE this section CANNOT be used outside of it. ## Entity - on Damage Section Addon: Lusk Category: Section Syntax: [execute|run] on damage of %~entity% Description: Runs the code inside of it when the provided entity takes damage. Local Variables that are: - defined BEFORE this section CAN be used inside of it. - defined AFTER this section CANNOT be used inside of it. - defined INSIDE this section CANNOT be used outside of it. Examples: command /a: trigger: spawn pig at player: set display name of entity to "&dPig &7- &c%health of entity%&8/&c%max health of entity%" on damage of entity: set display name of victim to "&dPig &7- &c%health of victim - final damage%&8/&c%max health of victim%" ## Anvil Gui - on Open/Close/Click Section Addon: Lusk Category: Section Syntax: [execute|run] on anvil [gui|inventory] (open|close|click) of %~anvilguiinventory% Description: Runs the code inside of it when the provided anvil gui is opened, closed or clicked. Local Variables that are: - defined BEFORE this section CAN be used inside of it. - defined AFTER this section CANNOT be used inside of it. - defined INSIDE this section CANNOT be used outside of it. Examples: set {_anvilGui} to a new anvil gui when {_anvilGui} gets opened: broadcast "%{_anvilGui}% has been opened!" when {_anvilGui} gets clicked: broadcast "%{_anvilGui}% has been clicked!" when {_anvilGui} gets closed: broadcast "%{_anvilGui}% has been closed!" ## Entity - on Heal Section Addon: Lusk Category: Section Syntax: [execute|run] on heal of %~entity% Description: Runs the code inside of it when the provided entity gets healed. Local Variables that are: - defined BEFORE this section CAN be used inside of it. - defined AFTER this section CANNOT be used inside of it. - defined INSIDE this section CANNOT be used outside of it. Examples: command /a: trigger: spawn pig at player: set display name of entity to "&dPig &7- &c%health of entity%&8/&c%max health of entity%" on heal of entity: push entity upwards broadcast "%entity% has been healed, yay" ## Entity - on Resurrect Section Addon: Lusk Category: Section Syntax: [execute|run] on [entity] resurrect[ion] [attempt] of %~entity% Description: Runs the code inside of it when the provided entity dies and may have the opportunity to be resurrected. Will be called in a cancelled state if the entity does not have a totem equipped. Local Variables that are: - defined BEFORE this section CAN be used inside of it. - defined AFTER this section CANNOT be used inside of it. - defined INSIDE this section CANNOT be used outside of it. Examples: command /a: trigger: on resurrection of player: uncancel event ## Entity - on Right Click Section Addon: Lusk Category: Section Syntax: [execute|run] on [right[ |-]]click (on|of) %~entity% Description: Runs the code inside of it when the provided entity gets clicked. Local Variables that are: - defined BEFORE this section CAN be used inside of it. - defined AFTER this section CANNOT be used inside of it. - defined INSIDE this section CANNOT be used outside of it. Examples: command /a: trigger: spawn pig at player: set display name of entity to "&dPig" on click on entity: broadcast "%entity% has been clicked!" ## Entity - on Jump Section Addon: Lusk Category: Section Syntax: [execute|run] on %~entity% jump[ing] Description: Runs the code inside of it when the provided entity jumps. Only works for horses on Spigot, Paper is required for players and entities. Local Variables that are: - defined BEFORE this section CAN be used inside of it. - defined AFTER this section CANNOT be used inside of it. - defined INSIDE this section CANNOT be used outside of it. Examples: spawn villager at {_loc}: on jump of entity: broadcast "%entity% has jumped!" ## Entity - on Death Section Addon: Lusk Category: Section Syntax: [execute|run] on death of %~entity% Description: Runs the code inside of it when the provided entity dies. Local Variables that are: - defined BEFORE this section CAN be used inside of it. - defined AFTER this section CANNOT be used inside of it. - defined INSIDE this section CANNOT be used outside of it. Examples: spawn skeleton at {_loc}: on death of entity: broadcast "%entity% has died!" ## Apply Attribute Attributesnapshots Livingentities Addon: Luskv2 Category: Effect Syntax: apply (attribute[s]|attribute snapshot[s]) %attributesnapshots% to %livingentities% ## Display Displayables To Players Addon: Luskv2 Category: Effect Syntax: display %displayables% (to|for) %players% (conceal|undisplay) %displayables% for %players% ## Make Completableplayerprofiles Completable Sync Addon: Luskv2 Category: Effect Syntax: make %completableplayerprofiles% completable [[a]sync[hronously]] make %completableplayerprofiles% not completable ## Make Protocolentityreferences Ride Protocolentityreference Addon: Luskv2 Category: Effect Syntax: make [entit(y|ies)] %protocolentityreferences% ride %protocolentityreference% for %players% ## Player - Send Entity Effect Packets Addon: Luskv2 Category: Effect Syntax: play entity effect %entityeffect/internalentityeffect% on %protocolentityreferences% for %players% Description: Send a entity effect packet to players Examples: send entity effect sheep eat grass for entity target entity for all players send entity effect sheep eat grass for entity with id 12 for all players ## Quickly Set Blocks Within Addon: Luskv2 Category: Effect Syntax: quickly set [all [[of] the]|the] blocks within %location% and %location% to %blockdata% quickly replace [all] %blockdata% within %location% and %location% with %blockdata% ## Remove Entity Entities For Players Addon: Luskv2 Category: Effect Syntax: remove entit(y|ies) %entities/integers% for %players% ## Set Billboard Protocolentityreferences Billboard Addon: Luskv2 Category: Effect Syntax: (set [fake]|fake) billboard [setting] of %protocolentityreferences% to %billboard% for %players% ## Set Blockdata Protocolentityreferences Blockdata Addon: Luskv2 Category: Effect Syntax: (set [fake]|fake) [display[ed]] block[[ |-]data] of %protocolentityreferences% to %blockdata% for %players% ## Set Burning Protocolentityreferences Boolean Addon: Luskv2 Category: Effect Syntax: (set [fake]|fake) burning [state] of %protocolentityreferences% to %boolean% for %players% make %protocolentityreferences% burn for %players% make %protocolentityreferences% not burn for %players% ## Set Custom Name Protocolentityreferences Addon: Luskv2 Category: Effect Syntax: (set [fake]|fake) custom name of %protocolentityreferences% to %textcomponent% for %players% ## Set Custom Name Visibility Addon: Luskv2 Category: Effect Syntax: (set [fake]|fake) custom name visibility of %protocolentityreferences% to %boolean% for %players% ## Set Display Height Protocolentityreferences Addon: Luskv2 Category: Effect Syntax: (set [fake]|fake) display height of %protocolentityreferences% to %number% for %players% ## Set Display Scale Protocolentityreferences Addon: Luskv2 Category: Effect Syntax: (set [fake]|fake) (display|[display] transformation) scale of %protocolentityreferences% to %vector% for %players% ## Set Display Translation Protocolentityreferences Addon: Luskv2 Category: Effect Syntax: (set [fake]|fake) (display|[display] transformation) translation of %protocolentityreferences% to %vector% for %players% ## Set Display Width Protocolentityreferences Addon: Luskv2 Category: Effect Syntax: (set [fake]|fake) display width of %protocolentityreferences% to %number% for %players% ## Set Freeze Ticks Protocolentityreferences Addon: Luskv2 Category: Effect Syntax: (set [fake]|fake) freeze ticks of %protocolentityreferences% to %integer% for %players% (set [fake]|fake) freeze time of %protocolentityreferences% to %timespan% for %players% ## Set Gliding Protocolentityreferences Boolean Addon: Luskv2 Category: Effect Syntax: (set [fake]|fake) gliding [state] of %protocolentityreferences% to %boolean% for %players% make %protocolentityreferences% glide for %players% make %protocolentityreferences% not glide for %players% ## Set Glowing Protocolentityreferences Boolean Addon: Luskv2 Category: Effect Syntax: (set [fake]|fake) glowing [state] of %protocolentityreferences% to %boolean% for %players% make %protocolentityreferences% glow for %players% make %protocolentityreferences% not glow for %players% ## Set Gravity Protocolentityreferences Boolean Addon: Luskv2 Category: Effect Syntax: (set [fake]|fake) gravity of %protocolentityreferences% to %boolean% for %players% ## Set Invisibility Protocolentityreferences Boolean Addon: Luskv2 Category: Effect Syntax: (set [fake]|fake) invisibility [state] of %protocolentityreferences% to %boolean% for %players% make %protocolentityreferences% invisible for %players% make %protocolentityreferences% not invisible for %players% ## Set Item Protocolentityreferences Itemstack Addon: Luskv2 Category: Effect Syntax: (set [fake]|fake) [display[ed]] item of %protocolentityreferences% to %itemstack% for %players% ## Set Line Width Protocolentityreferences Addon: Luskv2 Category: Effect Syntax: (set [fake]|fake) line width of %protocolentityreferences% to %integer% for %players% ## Set Pose Protocolentityreferences Pose Addon: Luskv2 Category: Effect Syntax: (set [fake]|fake) pose of %protocolentityreferences% to %pose% for %players% ## Set Remaining Air Ticks Addon: Luskv2 Category: Effect Syntax: (set [fake]|fake) remaining air ticks of %protocolentityreferences% to %integer% for %players% (set [fake]|fake) remaining air [time] of %protocolentityreferences% to %timespan% for %players% ## Set Silence Protocolentityreferences Boolean Addon: Luskv2 Category: Effect Syntax: (set [fake]|fake) silence [state] of %protocolentityreferences% to %boolean% for %players% make %protocolentityreferences% silent for %players% make %protocolentityreferences% not silent for %players% ## Set Sneaking Protocolentityreferences Boolean Addon: Luskv2 Category: Effect Syntax: (set [fake]|fake) sneaking [state] of %protocolentityreferences% to %boolean% for %players% make %protocolentityreferences% sneak for %players% make %protocolentityreferences% not sneak for %players% ## Set Sprinting Protocolentityreferences Boolean Addon: Luskv2 Category: Effect Syntax: (set [fake]|fake) sprinting [state] of %protocolentityreferences% to %boolean% for %players% make %protocolentityreferences% sprint for %players% make %protocolentityreferences% not sprint for %players% ## Set Swimming Protocolentityreferences Boolean Addon: Luskv2 Category: Effect Syntax: (set [fake]|fake) swimming [state] of %protocolentityreferences% to %boolean% for %players% make %protocolentityreferences% swim for %players% make %protocolentityreferences% not swim for %players% ## Set Text Protocolentityreferences Textcomponent Addon: Luskv2 Category: Effect Syntax: (set [fake]|fake) [display[ed]] text [component] of %protocolentityreferences% to %textcomponent% for %players% ## [NMS] Player - Dispatch (Send) Packet(s) Addon: Luskv2 Category: Effect Syntax: [[a]sync[hronously]] (dispatch|send) [bundled] packet[s] %clientpackets% to %players% Description: Sends the provided client packets to the provided players' client. Examples: dispatch packet {_packet} to {_player} ## [NMS] Player - Fake Death Addon: Luskv2 Category: Effect Syntax: kill %protocolentityreferences% for %players% Description: Fakes a death state of an entity Examples: fake display with id 12 billboard to center for all players ## Attribute - Modifier Addon: Luskv2 Category: Type Syntax: attribute[ ]modifier[s] Description: Modifies the base value of an attribute by using certain operations. The resulting value after modification is capped by the attribute's minimum and maximum limits. Modifiers have a namespaced identifiers to uniquely identify them. ## Attribute - Mutable Modifier Addon: Luskv2 Category: Type Syntax: mutable[ ]attribute[ ]modifier[s] Description: Modifies the base value of an attribute by using certain operations. The resulting value after modification is capped by the attribute's minimum and maximum limits. Modifiers have a namespaced identifiers to uniquely identify them. *This type includes the `isTransient` property. ## Block Destruction Packet Addon: Luskv2 Category: Type Syntax: block[ ]destruction[ ]packet[s] Description: A packet that dictates the destruction stage shown to the client. ## BlockState Addon: Luskv2 Category: Type Syntax: block[ ]state[s] Description: Represents a captured state of a block, which will not change automatically. Unlike Block, which only one object can exist per coordinate, BlockState can exist multiple times for any given Block. Note that another plugin may change the state of the block and you will not know, or they may change the block to another type entirely, causing your BlockState to become invalid. ## Bundle Packet Addon: Luskv2 Category: Type Syntax: bundle[ ]packet[s] Description: A packet that wraps around other packets to send them all at once. ## Client Bundle Packet Addon: Luskv2 Category: Type Syntax: client[ ]bundle[ ]packet[s] Description: A packet that wraps around other packets to send them to the client all at once. ## Clientbound Packet Addon: Luskv2 Category: Type Syntax: client[ ][bound[ ]]packet[s] Description: A packet bound to the client. Sent from the server to the client. ## Entity - Animation Addon: Luskv2 Category: Type Syntax: entity[ ]animation[s] Description: All the entity animations. ## Entity - Metadata Entry Addon: Luskv2 Category: Type Syntax: [entity[ ]]metadata[ ]entr(y|ies) Description: A snapshot of a metadata value containing it's accessor id, value and extra info about it. Internally known as a metadata item. ## Entity - Metadata Key Addon: Luskv2 Category: Type Syntax: [entity[ ]]metadata[ ]key[s] Description: All the metadata keys. ## Entity - Pose Addon: Luskv2 Category: Type Syntax: pose[s] Description: All the Poses. ## Entity Metadata Addon: Luskv2 Category: Type Syntax: entity[ ]metadata[s] Description: An entity's metadata ## Entity Metadata Packet Addon: Luskv2 Category: Type Syntax: entity[ ]metadat[a] packet[s] Description: An entity metadata packet. ## Entity Remove Packet Addon: Luskv2 Category: Type Syntax: entit(y|ies)[ ]remov[e] packet[s] Description: An entity remove packet, can remove multiple entities at once. ## Entity Spawn Packet Addon: Luskv2 Category: Type Syntax: entity[ ]spaw[n] packet[s] Description: An entity spawn packet. ## Equipment Set Packet Addon: Luskv2 Category: Type Syntax: [client[ ]][equipment[ ](set[ ]]|set[ ]equipment[ ])packet[s] Description: A packet that dictates what the client sees as the equipment of an entity. ## Equipment Slot Group Addon: Luskv2 Category: Type Syntax: equipment[ ]slot[ ]group[s] Description: All the Equipment Slot Groups. Equipment Slot Groups represent groups of equipment slots. ## Guardian - Beam Addon: Luskv2 Category: Type Syntax: guardian[ ]beam[s] Description: A guardian beam, can be displayed and removed for players. Note: the developer is responsible for specifying to whom a guardian beam is displayed. ## Internal Entity Effect Addon: Luskv2 Category: Type Syntax: internal[ ]entity[ ]effect[s] Description: Entity effects not normally available. ## Keyed Addon: Luskv2 Category: Type Syntax: keyed[s] Description: An object with a namespaced key attached to it. ## Mutable Text Component Addon: Luskv2 Category: Type Syntax: mutable[ ]text[ ]component[s] Description: Same as a Text Component, but can be modified. All non ## NamespacedKey Addon: Luskv2 Category: Type Syntax: namespaced[ ]key[s] Description: A key with a namespace, used to identify objects in minecraft. ## Packet Addon: Luskv2 Category: Type Syntax: packet[s] Description: A packet. ## Player - Completable Profile Addon: Luskv2 Category: Type Syntax: completable[ ][player[ ]]profile[s] Description: A player's profile that's completable. Contains the player's UUID, name, skin, cape, player model (alex/steve) and profile properties. ## Player - Displayable Object Addon: Luskv2 Category: Type Syntax: displayable[s] Description: An object that can be displayed and removed for players. ## Player - Info Addon: Luskv2 Category: Type Syntax: player[ ]info[rmation][s] Description: A player's info. Contains the player's UUID, profile (skin, cape, etc), tab visibility, ping, gamemode, display name, hat visibility, tab list order and chat session data. ## Player - Profile Addon: Luskv2 Category: Type Syntax: [player[ ]]profile[s] Description: A player's profile. Contains the player's UUID, name, skin, cape, player model (alex/steve) and profile properties. ## Player - Texture Payload Addon: Luskv2 Category: Type Syntax: texture[ ]payload[s] Description: Contains all the texture data of a player. ## Player Action Addon: Luskv2 Category: Type Syntax: player[ ]action[s] Description: Actions the player can execute and trigger the player action packet with. ## Player Position Packet Addon: Luskv2 Category: Type Syntax: player[ ]positio[n] packet[s] Description: A player position packet. ## Player Profile - Property Addon: Luskv2 Category: Type Syntax: [player[ ]]profile[ ]propert(y|ies) Description: A property of a player profile. Used for skin and cape textures. ## Player Rotation Packet Addon: Luskv2 Category: Type Syntax: player[ ]rotatio[n] packet[s] Description: A player rotation packet. ## Protocol Entity - Reference Addon: Luskv2 Category: Type Syntax: protocol[ ]entity[ ]reference[s] Description: A reference to an entity's id. ## Serverbound Packet Addon: Luskv2 Category: Type Syntax: server[ ][bound[ ]]packet[s] Description: A packet bound to the server. Sent from the client to the server. ## Bundle Packets Of Bundlepackets Addon: Luskv2 Category: Expression Syntax: [the] bundle[d] packets of %bundlepackets% %bundlepackets%'[s] bundle[d] packets ## Empty Client Bundle Packet Addon: Luskv2 Category: Expression Syntax: [a(n| new)] empty client (bundle packet|packet bundle) [a] [new] [client] (bundle packet|packet bundle) (with|containing|from) %clientpackets% ## Entity Id Addon: Luskv2 Category: Expression Syntax: [the] entity [protocol] id [of %entities/packets%] %entities/packets%'[s] entity [protocol] id ## Entity Ids Of Entityremovepackets Addon: Luskv2 Category: Expression Syntax: [the] entity ids of %entityremovepackets% %entityremovepackets%'[s] entity ids ## Entity Metadata Entitymetadatakeys Addon: Luskv2 Category: Expression Syntax: [the] (entity metadata|metadata property) %entitymetadatakeys% [of %entitymetadatas%] %entitymetadatas%'[s] (entity metadata|metadata property) %entitymetadatakeys% ## Entity With Id Protocolentityreferences Addon: Luskv2 Category: Expression Syntax: entit(y|ies) (with id|from [id|protocol]) %protocolentityreferences% [in %world%] entit(y|ies) from protocol [%protocolentityreferences%] [in %world%] ## Equipmentslots Packet Equipment Equipmentpackets Addon: Luskv2 Category: Expression Syntax: [the] %equipmentslots% packet equipment of %equipmentpackets% %equipmentpackets%'[s] %equipmentslots% packet equipment ## Increase Number Key Namespacedkey Addon: Luskv2 Category: Expression Syntax: [an] increase (by|of) %number% with key %namespacedkey% [in [the] %equipmentslotgroup%] [a] base multiplier (by|of) %number% with key %namespacedkey% [in [the] %equipmentslotgroup%] [a] total multiplier (by|of) %number% with key %namespacedkey% [in [the] %equipmentslotgroup%] ## List Addon: Luskv2 Category: Expression Syntax: [a[n]] [%classinfos%] list [of|containing] ## Metadata Entries Addon: Luskv2 Category: Expression Syntax: [the] [entity] metadata entries [of %entitymetadatas%] %entitymetadatas%'[s] [entity] metadata entries ## New Attribute Packet Addon: Luskv2 Category: Expression Syntax: [a] new [update] attribute[s] packet: entity id: # Required value attributes: # Required value ## New Attributetype Attribute Base Addon: Luskv2 Category: Expression Syntax: [[a] new|a[n]] %attributetype% attribute with base [value] %number% [and [with] %attributemodifiers%] ## New Block Dig Stage Destruction Packet Addon: Luskv2 Category: Expression Syntax: [a] new block ((dig[ging]|break[ing]|min(e|ing)) stage|destruction [stage]) packet: id: # Required value location: # Required value stage: # Required value ## New Entity Spawn Add Entity Packet Addon: Luskv2 Category: Expression Syntax: [a] new (entity (spawn|add)|add entity) packet: id: # Optional value uuid: # Optional value velocity: # Optional value data: # Optional value head yaw: # Optional value location: # Required value entity type: # Required value ## New Entitytype Metadata Packet Addon: Luskv2 Category: Expression Syntax: [a] new %entitytype% metadata packet for %protocolentityreference% with %entitymetadata% ## New Equipment Packet Addon: Luskv2 Category: Expression Syntax: [a] new ([set] equipment|equipment set) packet: id: # Required value hand: # Optional value off hand: # Optional value feet: # Optional value legs: # Optional value chest: # Optional value head: # Optional value body: # Optional value saddle: # Optional value ## New Namespacedkey From String Addon: Luskv2 Category: Expression Syntax: [[a] new] namespaced[ ]key from %string% ## New Passengers Packet Vehicle Addon: Luskv2 Category: Expression Syntax: [a] new [set] passengers packet with vehicle %protocolentityreference% and [with] passenger[s] %protocolentityreferences% ## New Player Info Update Packet With Playerinfos Addon: Luskv2 Category: Expression Syntax: [a] new player info update packet (with|containing|from) %playerinfos% ## New Player Position Packet Addon: Luskv2 Category: Expression Syntax: [a] new player position packet: teleport id: # Optional value position: # Optional value x: # Optional value y: # Optional value z: # Optional value yaw: # Optional value pitch: # Optional value velocity: # Optional value x velocity: # Optional value y velocity: # Optional value z velocity: # Optional value ## New Player Rotation Packet Addon: Luskv2 Category: Expression Syntax: [a] new player rotation packet with yaw %number%[,] and [with] pitch %number% ## New Player Rotation Packet With Addon: Luskv2 Category: Expression Syntax: [a] new player rotation packet with: yaw: # Required value pitch: # Required value ## New Profile Addon: Luskv2 Category: Expression Syntax: [a] new [player] profile: player: # Optional value uuid: # Optional value name: # Optional value complete: # Optional value complete sync: # Optional value complete async: # Optional value ## New Profile Property Addon: Luskv2 Category: Expression Syntax: [a] new [player] profile property: name: # Required value value: # Required value signature: # Optional value ## New Remove Entities Packet Addon: Luskv2 Category: Expression Syntax: [a|[a] new] remove entit(ies|y) packet (with|using) %protocolentityreference% [an|[a] new] entit(ies|y) remov(e|al) packet (with|using) %protocolentityreference% ## New Team Create Packet Addon: Luskv2 Category: Expression Syntax: [a] new team create packet: name: # Required value members: # Required value display name: # Required value prefix: # Required value suffix: # Required value nametag visibility: # Required value collision rule: # Required value style: # Required value friendly fire: # Required value can see friendly invisibles: # Required value ## New Team Delete Packet For Team String Addon: Luskv2 Category: Expression Syntax: [a] new team delet(e|ion) packet for team [named|with name] %string% ## New Team Members Add Packet Addon: Luskv2 Category: Expression Syntax: [a] new team members add packet: name: # Required value members: # Required value ## New Team Members Remove Packet Addon: Luskv2 Category: Expression Syntax: [a] new team members remove packet: name: # Required value members: # Required value ## New Team Update Info Packet Addon: Luskv2 Category: Expression Syntax: [a] new team (update info|info update) packet: name: # Required value display name: # Required value prefix: # Required value suffix: # Required value nametag visibility: # Required value collision rule: # Required value style: # Required value friendly fire: # Required value can see friendly invisibles: # Required value ## New Texture Payload Addon: Luskv2 Category: Expression Syntax: [a] new [player] [profile] texture payload: url: # Required value slim: # Optional value ## Packet Rotation Yaw Of Playerrotationpackets Addon: Luskv2 Category: Expression Syntax: [the] [player] packet rotation (yaw|pitch) of %playerrotationpackets% %playerrotationpackets%'[s] [player] packet rotation (yaw|pitch) ## Player Infos Of Playerinfopackets Addon: Luskv2 Category: Expression Syntax: [the] [packet] player infos of %playerinfopackets% %playerinfopackets%'[s] [packet] player infos ## Player Profile From Texturepayloads Addon: Luskv2 Category: Expression Syntax: player profile[s] from %texturepayloads% ## Profile Addon: Luskv2 Category: Expression Syntax: [the] [player] profile [of %offlineplayers/itemtypes/blocks/blockstates%] %offlineplayers/itemtypes/blocks/blockstates%'[s] [player] profile ## Profile Player Info Of Playerinfos Addon: Luskv2 Category: Expression Syntax: [the] (profile|chat session data|gamemode|listed|ping|display name|tab list order|show hat) player (info[rmation] [property]|property) of %playerinfos/playerinfopackets% %playerinfos/playerinfopackets%'[s] (profile|chat session data|gamemode|listed|ping|display name|tab list order|show hat) player (info[rmation] [property]|property) ## Profile Properties Addon: Luskv2 Category: Expression Syntax: [the] [player] profile properties [of %playerprofiles%] %playerprofiles%'[s] [player] profile properties ## Profile Property Named String Addon: Luskv2 Category: Expression Syntax: [a] [new] [player] profile property named %string% with value %string% [and [with] signature %string%] ## Profile String Addon: Luskv2 Category: Expression Syntax: [a] [new] [player] profile from base64 %string% [and signature %string%] ## Relative Location Yaw Of Playerpositionpackets Addon: Luskv2 Category: Expression Syntax: [the] (relative|absolute) (location|position|velocity|(x|y|z) [velocity]|(yaw|pitch)) of %playerpositionpackets% %playerpositionpackets%'[s] (relative|absolute) (location|position|velocity|(x|y|z) [velocity]|(yaw|pitch)) ## Skin Url Of Players Addon: Luskv2 Category: Expression Syntax: [the] [player] [profile] (skin|cape) url of %players/playerprofiles/itemtypes/blocks/blockstates% %players/playerprofiles/itemtypes/blocks/blockstates%'[s] [player] [profile] (skin|cape) url ## Sync Completable Completableplayerprofiles Addon: Luskv2 Category: Expression Syntax: [[a]sync[hronously]] completable %completableplayerprofiles% uncompletable %completableplayerprofiles% ## Teleport Id Of Playerpositionpackets Addon: Luskv2 Category: Expression Syntax: [the] [packet] teleport id of %playerpositionpackets% %playerpositionpackets%'[s] [packet] teleport id ## On Block Destruction (Packet) Addon: Luskv2 Category: Event Syntax: [on] block (destruction|mining) [packet] Description: Called when the server updates the destruction stage of a block for the client. Examples: on block destruction packet: ## On Block Update (Packet) Addon: Luskv2 Category: Event Syntax: [on] block (send|change|update) [packet] Description: Called when the server updates a block for the client. Examples: on block update: ## On Console Log Addon: Luskv2 Category: Event Syntax: [on] (console|server) log Description: Called when the server's console is used to log something. Examples: on console log: ## On Entity Metadata (Packet) Addon: Luskv2 Category: Event Syntax: [on] entity metadata [update] [packet] Description: Called when the server sends an entity metadata packet to the client. Examples: on entity metadata update: ## On Entity Spawn (Packet) Addon: Luskv2 Category: Event Syntax: [on] (entity (spawn|add)|(spawn|add) entity) [packet] Description: Called when the server sends an entity spawn packet to the client. Examples: on entity spawn packet: ## On Packet Receive Addon: Luskv2 Category: Event Syntax: [on] packet receive[d] Description: Called when the server receives a packet from the client. Examples: on packet received: ## On Packet Send Addon: Luskv2 Category: Event Syntax: [on] packet sen(d|t) Description: Called when the server send a packet to the client. Examples: on packet send: ## On Particle Send (Packet) Addon: Luskv2 Category: Event Syntax: [on] particle send [packet] Description: Called when the server sends a particle to the client. Examples: on console log: ## Player - Update All Client Vital Stats (Hunger/Health/Saturation) Addon: Luskv2 Category: Section Syntax: make %players% see (their|its) (vitals|vital stats) as: health: # Optional value (food|hunger) [level|bar]: # Optional value saturation: # Optional value update %players%'[s] (vitals|vital stats): health: # Optional value (food|hunger) [level|bar]: # Optional value saturation: # Optional value update (vitals|vital stats) (of|for) %players%: health: # Optional value (food|hunger) [level|bar]: # Optional value saturation: # Optional value Examples: make {_player} see their vitals as: hunger: 12 health: 3 saturation: 10 ## [NMS] Player - Spawn Fake Entity Addon: Luskv2 Category: Section Syntax: spawn [a] (fake|client[-| ]sided) %entitytype% [with id %number%] %directions% %location% for %players% Description: Spawns a client sided (fake) entity for the provided players. If you don't put in an ID, one will be provided for you, randomly. The entity's UUID is random. If you wish to modify the uuid, entity data, velocity or head rotation (1.19+), use the spawn packet section expression. Examples: spawn fake zombie at player to player ## Remove Oraxen Furniture Addon: Oraxen Category: Effect Syntax: remove oraxen furniture at %locations/entities% Description: Removes Oraxen furniture at the specified location or entity without drops. Examples: remove oraxen furniture at player's location remove oraxen furniture at target entity ## Remove Oraxen Block Addon: Oraxen Category: Effect Syntax: remove oraxen block at %locations/blocks% Description: Removes an Oraxen custom block at the specified location without drops. Examples: remove oraxen block at player's location remove oraxen block at clicked block ## Place Oraxen Block Addon: Oraxen Category: Effect Syntax: place oraxen block %string% at %locations% Description: Places an Oraxen custom block at the specified location. Examples: place oraxen block "ruby_ore" at player's location place oraxen block "custom_stone" at {_location} ## Place Oraxen Furniture Addon: Oraxen Category: Effect Syntax: place oraxen furniture %string% at %locations% Description: Places Oraxen furniture at the specified location with optional rotation. Examples: place oraxen furniture "wooden_chair" at player's location place oraxen furniture "lamp" at {_location} ## Oraxen Item ID Addon: Oraxen Category: Type Syntax: oraxenitemid Description: Represents an Oraxen item ID that can be used to get items, check blocks, or furniture. Examples: set {_id} to oraxen id of player's tool if oraxen id of clicked block is "ruby_ore": ## Is Oraxen Block Addon: Oraxen Category: Condition Syntax: %blocks/locations% (is|are) [a[n]] oraxen block[s] Description: Checks if a block or location is an Oraxen custom block, optionally checking for a specific ID. Examples: if clicked block is an oraxen block: cancel event if block at player's location is oraxen block "ruby_ore": broadcast "You found ruby ore!" ## Is Oraxen Item Addon: Oraxen Category: Condition Syntax: %itemstacks% (is|are) [a[n]] oraxen item[s] Description: Checks if an item is an Oraxen item, optionally checking for a specific ID. Examples: if player's tool is an oraxen item: broadcast "You're holding an Oraxen item!" if player's tool is oraxen item "ruby_sword": broadcast "You have the Ruby Sword!" ## Is Oraxen Furniture Addon: Oraxen Category: Condition Syntax: %entities/blocks/locations% (is|are) [a[n]] oraxen furniture Description: Checks if an entity, block, or location is Oraxen furniture, optionally checking for a specific ID. Examples: if target entity is oraxen furniture: broadcast "You're looking at furniture!" if clicked entity is oraxen furniture "wooden_chair": make player sit on clicked entity ## Oraxen Block Addon: Oraxen Category: Expression Syntax: [the] oraxen block [id] (at|of) %locations/blocks% Description: Gets the Oraxen block ID at a location or from a block. Returns the ID string if it's an Oraxen block, otherwise nothing. Examples: set {_blockId} to oraxen block at player's location if oraxen block at clicked block exists: broadcast "This is an Oraxen block: %oraxen block at clicked block%" ## Oraxen Item Addon: Oraxen Category: Expression Syntax: [the] oraxen item[s] %strings% Description: Gets an Oraxen item as an ItemStack from its ID. Examples: give player oraxen item "ruby_sword" set {_item} to oraxen item "emerald_pickaxe" drop oraxen item "custom_helmet" at player's location ## Oraxen Furniture Addon: Oraxen Category: Expression Syntax: [the] oraxen furniture [id] (at|of) %locations/blocks/entities% Description: Gets the Oraxen furniture ID at a location, from a block, or from an entity. Returns the ID string if it's Oraxen furniture, otherwise nothing. Examples: set {_furnitureId} to oraxen furniture at player's location if oraxen furniture of target entity exists: broadcast "This is Oraxen furniture: %oraxen furniture of target entity%" ## Oraxen ID Addon: Oraxen Category: Expression Syntax: [the] oraxen id of %itemstacks/blocks/entities/locations% Description: Gets the Oraxen ID from an ItemStack, Block, Entity, or Location. Examples: set {_id} to oraxen id of player's tool if oraxen id of clicked block is "ruby_ore": broadcast oraxen id of target entity ## On Oraxen Block Break Addon: Oraxen Category: Event Syntax: [on] oraxen block break [of %-string%] Description: Called when a player breaks an Oraxen custom block (NoteBlock or StringBlock). You can optionally specify a specific Oraxen item ID to filter for. Examples: on oraxen block break: broadcast "%player% broke an Oraxen block: %oraxen block id%" on oraxen block break of "ruby_ore": ## On Oraxen Furniture Interact Addon: Oraxen Category: Event Syntax: [on] oraxen furniture interact [of %-string%] Description: Called when a player interacts with Oraxen furniture. You can optionally specify a specific Oraxen item ID to filter for. Examples: on oraxen furniture interact: broadcast "%player% interacted with furniture!" on oraxen furniture interact of "treasure_chest": ## On Oraxen Furniture Place Addon: Oraxen Category: Event Syntax: [on] oraxen furniture place [of %-string%] Description: Called when a player places Oraxen furniture. You can optionally specify a specific Oraxen item ID to filter for. Examples: on oraxen furniture place: broadcast "%player% placed furniture: %oraxen furniture id%" on oraxen furniture place of "lamp": ## On Oraxen Block Place Addon: Oraxen Category: Event Syntax: [on] oraxen block place [of %-string%] Description: Called when a player places an Oraxen custom block (NoteBlock or StringBlock). You can optionally specify a specific Oraxen item ID to filter for. Examples: on oraxen block place: broadcast "%player% placed an Oraxen block: %oraxen block id%" on oraxen block place of "ruby_ore": ## On Oraxen Furniture Break Addon: Oraxen Category: Event Syntax: [on] oraxen furniture break [of %-string%] Description: Called when a player breaks Oraxen furniture. You can optionally specify a specific Oraxen item ID to filter for. Examples: on oraxen furniture break: broadcast "%player% broke furniture: %oraxen furniture id%" on oraxen furniture break of "wooden_chair": ## On Oraxen Block Interact Addon: Oraxen Category: Event Syntax: [on] oraxen block interact [of %-string%] Description: Called when a player interacts with an Oraxen custom block (NoteBlock or StringBlock). You can optionally specify a specific Oraxen item ID to filter for. Examples: on oraxen block interact: broadcast "%player% interacted with an Oraxen block!" on oraxen block interact of "magic_chest": ## General - On Packet Addon: PacketEventsSK Category: Event Syntax: [on] ([any] packet|%*-packettype%) [(sync|async|netty) processed] [with packet[events] priority (lowest|low|normal|high|highest|monitor)] Description: Listen to incoming/outgoing packets, more on [the wiki](https://github.com/3add/PacketEventsSK/wiki/Events) Examples: on serverbound interact entity packet netty processed: cancel packet # can be used to see which packets get sent in certain circumstances on any packet: send packet type of event-packet to console ## General - Cancel Packet Addon: PacketEventsSK Category: Effect Syntax: cancel [the] packet Description: Used to cancel the packet in a packet receive/send event. This just means that the packet won't be processed/sent. Examples: on clientbound chunk data netty processed: if player's name isn't "3add": stop cancel the packet send "You can't view my chunks 3add!" ## Fake Entity - Kill Fake Entity Addon: PacketEventsSK Category: Effect Syntax: kill fake [entit(y|ies)] %fakeentities% Description: Used to kill a spawned fake entity Examples: command spawn: trigger: create new fake dropped item entity at player for players and store it in {_e}: set fake item type of the fake entity to dirt wait 5 seconds kill fake entity {_e} ## Fake Entity - Ride Addon: PacketEventsSK Category: Effect Syntax: (make|let|force) fake [entit(y|ies)] %fakeentities% [to] (ride|mount) %fakeentity/livingentity% Description: Make fake entities ride another entity (fake or real), or remove them as passengers. **Note: Real entities are just a single packet being sent, when a player relogs, changes worlds or some other circumstances the passengers will be altered by the vanilla server.** Examples: command test: trigger: create a new fake text display entity at player for players and store it in {_display} set fake display text of {_display} to "hey" set fake display billboard of {_display} to center make fake entity {_display} ride player wait 5 seconds force fake entity {_display} to dismount as passenger of player ## Fake Entity - Spawn Fake Entity Addon: PacketEventsSK Category: Effect Syntax: spawn fake [entit(y|ies)] %fakeentities% at %location% Description: Spawn a fake entity at a location, it can only be spawned once. To move use teleport. Examples: command test: trigger: set {_p} to player create a new fake text display entity and store it in {_entity}: add players to fake entity viewers of {_entity} spawn fake entity {_entity} at {_p} set fake display content of {_entity} to "hello world" set fake display billboard of {_entity} to center wait 2 seconds kill fake entity {_entity} ## General - Send/Receive Packet Addon: PacketEventsSK Category: Effect Syntax: [(silently|default)] (send|receive) packet %packets% (to|from) %players% Description: Used to force the server to send or receive a packet, optionally silently. (silent means it won't trigger on packet send or receive) Examples: command killTargetForMe: trigger: set {_packet} to a new clientbound destroy entities packet: entity ids: protocol id of target entity silently send packet {_packet} to the player ## Fake Entity - Teleport Fake Entity Addon: PacketEventsSK Category: Effect Syntax: teleport fake [entit(y|ies)] %fakeentities% to %location% Description: Teleport a spawned fake entity to a location. Examples: command test: trigger: set {_p} to player create a new fake text display entity at player for players and store it in {_entity}: set fake display content of {_entity} to minimessage from "Hello" set fake display billboard of {_entity} to center set fake display teleport interpolation duration of {_entity} to 1 second loop 5 times: teleport fake entity {_entity} to {_p} wait 1 second kill fake entity {_entity} ## General - Fetch Skin Addon: PacketEventsSK Category: Effect Syntax: fetch skin (from|of) player (named|with name) %string% and store (it|the result) in %-~objects% Description: Used to fetch a player skin. **This is processed on an async thread and thus will pause your code until it's been loaded.** Examples: command changeMySkinForMe : trigger: fetch skin of player named arg-1 and store it in {_skin} if {_skin} isn't set: send "Couldn't find a skin!" stop set displayed skin of player to {_skin} for player ## Simple Glow - Entity Glow State Addon: PacketEventsSK Category: Effect Syntax: set glow[ing] [state] of %entities% [to] %boolean% [for %-players%] Description: Set the glow state of an entity for a set of viewers. Internally everything is handled by the addon. (fully packet based) Examples: command glowMeForMe: trigger: set glow state of player to true for player ## Simple Skin - Player Displayed Skin Addon: PacketEventsSK Category: Effect Syntax: set displayed skin of %players% to %skin% [for %-players%] Description: Set the displayed skin of a player for a set of viewers. Internally everything is handled by the addon (fully packet based). Examples: command skinMeNotchForMe: trigger: fetch skin of player named "notch" and store it in {_skin} set displayed skin of player to {_skin} for player ## General - Packet Addon: PacketEventsSK Category: Type Syntax: packet Description: A packet sent by the client or server Examples: on serverbound interact entity packet netty processed: cancel packet ## General - Packet Type Addon: PacketEventsSK Category: Type Syntax: packettype Description: Represents a specific type of packet (e.g. clientbound chunk data packet) Examples: on any packet: if event-packet is clientbound: send packet type of event-packet to console ## General - Block Entity Type Addon: PacketEventsSK Category: Type Syntax: blockentitytype Description: Represents a type of block entity (e.g. chest, sign, etc.) Examples: # Snippet from https://github.com/3add/PacketEventsSK/wiki/Examples#sign-exploit set {_setTextPacket} to a new clientbound block entity data packet: block position: {_pos} block entity type: sign block entity type nbt compound: createSignNBT({_keybind}) ## Skin Addon: PacketEventsSK Category: Type Syntax: skin Description: A player skin (texture property list) Examples: command skinMeNotchForMe: trigger: fetch skin of player named "notch" and store it in {_skin} set displayed skin of player to {_skin} for player ## Fake Entity - Fake Entity Addon: PacketEventsSK Category: Type Syntax: fakeentity Description: A fake entity viewable by at least 1 player Examples: command cloneMe: trigger: set {_player} to a new fake player entity: viewers: players location: location of player skin: skin of player username: "Hello_World!" ## General - Entity Meta Addon: PacketEventsSK Category: Type Syntax: entitymeta Description: The entity meta of a minecraft entity (this can both represent a fake entity's meta or a real entity's meta, but is mostly used for fake entities since the only use for real entities is for packet intercepting). Examples: command spawn: trigger: set {_zombie} to a new fake zombie entity: viewers: all players location: location of player set {_meta} to fake entity meta of {_zombie} set meta glowing state of {_meta} to true ## General - Packet Type Bound Addon: PacketEventsSK Category: Condition Syntax: %packettypes% (is|are) (client|server)[ ]bound Description: See in which direction a packet (or packettype) is bound Examples: on any packet: if event-packet is clientbound: send packet type of event-packet to console ## Fake Entity - All Fake Entities Addon: PacketEventsSK Category: Expression Syntax: [all] fake[ ]entities Description: Used to get a list of all fake entities that are viewable by least a single player Examples: command spawn: trigger: set {_zombie} to a new fake player entity: location: location of player viewers: all players skin: skin of player username: "the rizzler" set fake entity scale attribute of {_zombie} to 5 command listfakes: trigger: send "All fake entities: %all fake entities%" ## Simple Glow - Glow Entity Viewers Addon: PacketEventsSK Category: Expression Syntax: [the] glow[ing] [entity][ ]viewers of %entities% Description: The players that are able to see the entity as glowing. Examples: command glowMeForMe: trigger: set glow state of player to true for player if glow entity viewers of player contains player: send "Hey? It worked!" ## Fake Entity - Create Fake Entity Addon: PacketEventsSK Category: Expression Syntax: [a] [new] fake %*entitydata% entity Description: Create a new fake entity from an entity type. ### Available Entities and their fields * **fake entity entity** fields: - `entity viewers* (viewers)` - `entity location* (location)` - `entity id (id)` - `entity meta data (meta data, meta)` - `entity type (type)` - `entity uuid (uuid)` * **fake player entity** fields: - *(Inherits all fields from **fake entity entity**)* - `player skin* (skin)` - `player username* (player name, username, name)` Examples: on load: set {-notchSkin} to skin of player named "notch" command test5: trigger: set {_player} to a new fake player entity: name: "test" skin: skin of player location: location of player viewers: players wait 1 second set fake entity skin of {_player} to {-notchSkin} ## General - Entity Id of Entity Addon: PacketEventsSK Category: Expression Syntax: [the] (protocol|packet) [entity][ ]id of %entity% Description: Gets the entity id of an entity on the server Examples: command killTargetForMe: trigger: set {_packet} to a new clientbound destroy entities packet: entity ids: protocol id of target entity silently send packet {_packet} to the player ## General - Create Meta Addon: PacketEventsSK Category: Expression Syntax: [a] [new] [fake] %*entitydata% [entity] meta [data] Description: Create a new meta from an entity type. ### Available Metas and their fields * **fake entity entity** fields: - `entity id (id)` - `on fire state (on fire)` - `sneaking state (sneaking)` - `sprinting state (sprinting)` - `swimming state (swimming)` - `invisible state (invisible)` - `glowing state (glowing)` - `elytra flying state (elytra flying)` - `custom name` - `custom name visible state (custom name visible)` - `silent state (silent)` - `gravity state (gravity)` - `frozen time (frozen ticks)` - `pose` * **fake livingentity entity** fields: - *(Inherits all fields from **fake entity entity**)* - `health (hp)` * **fake item entity** fields: - *(Inherits all fields from **fake entity entity**)* - `item` * **fake interaction entity** fields: - *(Inherits all fields from **fake entity entity**)* - `interaction width` - `interaction height` - `interaction responsive state (interaction responsive)` * **fake display entity** fields: - *(Inherits all fields from **fake entity entity**)* - `display interpolation delay` - `display transform interpolation duration` - `display teleport interpolation duration` - `display translation` - `display scale` - `display left rotation` - `display right rotation` - `display billboard constraints (display billboard)` - `display brightness override (display brightness)` - `display view range` - `display shadow radius` - `display shadow strength` - `display width` - `display height` - `display glow color override (display glow color)` * **fake block display entity** fields: - *(Inherits all fields from **fake display entity**)* - `display block data (display block state)` * **fake item display entity** fields: - *(Inherits all fields from **fake display entity**)* - `display item (display item stack)` - `display item transform` * **fake text display entity** fields: - *(Inherits all fields from **fake display entity**)* - `display text (display content)` - `display line width` - `display background color` - `display text shadowed state (display shadowed state, display shadowed)` - `display see through state (display see through)` - `display use default background state (display use default background)` - `display text alignment (display alignment)` Examples: set {_meta} to text display meta data: display content: " " display text shadowed state: true display billboard: center display scale: vector(1.2,1.2,1.2) display translation: vector(-0.03,0.65,0) display background color: rgb(random integer between 0 and 255, random integer between 0 and 255, random integer between 0 and 255) display view range: 1 display transform interpolation duration: 2 ticks display interpolation delay: 0 ticks set {_entity} to a new fake text display entity: viewers: all players location: location of player ~ vector(0,0.5,0) meta: {_meta} ## General - Player Skin of Player Addon: PacketEventsSK Category: Expression Syntax: [the] skin of %player% Description: Gets the skin the player had when they joined the server NOTE: This only works on servers in online mode Examples: command revertToMySkin: trigger: set displayed skin of player to player's skin ## Fake Entity - From Entity ID Addon: PacketEventsSK Category: Expression Syntax: fake[ ]entity (from|with) id %integer% Description: Retrieve a fake entity from it's entity id, this only works for spawned fake entities Examples: command spawnfakeplayer: trigger: set {_p} to player set {_player} to a new fake player entity: location: location of player viewers: all players username: "test" skin: skin of player add the fake entity id of {_player} to {-id::*} command lookup : trigger: loop {-id::*}: if {-id::*} contains arg-1 parsed as integer: send "Found %fake entity with id loop-value%" ## General - New Packet Addon: PacketEventsSK Category: Expression Syntax: [a] [new] %*packettype% Description: Create a new packet from a packet type. ### Available Packets and their fields * **clientbound block change packet** fields: - `block position* (block pos, position, pos)` - `block state* (state, block data, data)` * **clientbound entity status packet** fields: - `entity id* (id)` - `entity status* (status)` * **clientbound entity velocity packet** fields: - `entity id* (id)` - `velocity vector* (vector, velocity)` * **clientbound destroy entities packet** fields: - `entity ids* (ids)` * **serverbound select bundle item packet** fields: - `slot id* (id)` - `selected item index* (selected index, item index, index)` * **serverbound interact entity packet** fields: - `entity id* (id)` - `interaction hand* (hand)` - `location vector* (location, loc)` - `sneaking state* (sneaking)` * **clientbound entity metadata packet** fields: - `entity id* (id)` - `entity metadata* (entity meta, metadata, meta)` * **clientbound game test highlight pos packet** fields: - `absolute position* (absolute pos, abs position, abs pos, position, pos)` - `relative position (relative pos, rel position, rel pos)` * **serverbound update sign packet** fields: - `location vector* (location)` - `sign lines* (lines)` - `sign side* (side)` * **clientbound block entity data packet** fields: - `block position* (block pos, position, pos)` - `block entity type* (entity type, type)` - `nbt compound* (nbt, compound)` * **clientbound open sign editor packet** fields: - `block position* (block pos, position, pos)` - `sign side* (side)` Examples: command killTargetForMe: trigger: set {_packet} to a new clientbound destroy entities packet: entity ids: protocol id of target entity silently send packet {_packet} to the player ## General - Packet Type Addon: PacketEventsSK Category: Expression Syntax: [the] packet[ ]type of %packet% Description: The packet type of a packet Examples: # can be used to see which packets get sent in certain circumstances on any packet: send packet type of event-packet to console ## Fake Entity - Visible Fake Entities Addon: PacketEventsSK Category: Expression Syntax: [the] [visible] fake[ ]entities of %player% Description: Used to get all fake entities viewed by a player Examples: command test1: trigger: set {_e} to a new fake zombie entity: location: location of player viewers: players if visible fake entities of player contains {_e}: send "You can see the fake entity!" ## Fake Entity - From Entity UUID Addon: PacketEventsSK Category: Expression Syntax: fake[ ]entity (from|with) uuid %uuid% Description: Retrieve a fake entity from it's entity uuid, this only works for spawned fake entities Examples: command spawnfakeplayer: trigger: set {_p} to player set {_player} to a new fake player entity: location: location of player viewers: all players username: "test" skin: skin of player add the fake entity uuid of {_player} to {-uuid::*} command lookup : trigger: loop {-uuid::*}: if {-uuid::*} contains arg-1 parsed as uuid: send "Found %fake entity with uuid loop-value%" ## General - Player Skin From Base64/Signature Addon: PacketEventsSK Category: Expression Syntax: [new] [player] skin from [value] %string% [(with|and) signature %-string%] Description: Creates a skin object using a Base64 value and an optional cryptographic signature. The value contains the texture URL, while the signature proves the skin is authentic from Mojang. Examples: on load: set {_base64} to "eyJ0aW1lc3RhbXAiOjE0MTEyNjg3OTI3NjUsInByb2ZpbGVJZCI6IjNmYmVjN2RkMGE1ZjQwYmY5ZDExODg1YTU0NTA3MTEyIiwicHJvZmlsZU5hbWUiOiJsYXN0X3VzZXJuYW1lIiwidGV4dHVyZXMiOnsiU0tJTiI6eyJ1cmwiOiJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlLzg0N2I1Mjc5OTg0NjUxNTRhZDZjMjM4YTFlM2MyZGQzZTMyOTY1MzUyZTNhNjRmMzZlMTZhOTQwNWFiOCJ9fX0=" set {_signature} to "u8sG8tlbmiekrfAdQjy4nXIcCfNdnUZzXSx9BE1X5K27NiUvE1dDNIeBBSPdZzQG1kHGijuokuHPdNi/KXHZkQM7OJ4aCu5JiUoOY28uz3wZhW4D+KG3dH4ei5ww2KwvjcqVL7LFKfr/ONU5Hvi7MIIty1eKpoGDYpWj3WjnbN4ye5Zo88I2ZEkP1wBw2eDDN4P3YEDYTumQndcbXFPuRRTntoGdZq3N5EBKfDZxlw4L3pgkcSLU5rWkd5UH4ZUOHAP/VaJ04mpFLsFXzzdU4xNZ5fthCwxwVBNLtHRWO26k/qcVBzvEXtKGFJmxfLGCzXScET/OjUBak/JEkkRG2m+kpmBMgFRNtjyZgQ1w08U6HHnLTiAiio3JswPlW5v56pGWRHQT5XWSkfnrXDalxtSmPnB5LmacpIImKgL8V9wLnWvBzI7SHjlyQbbgd+kUOkLlu7+717ySDEJwsFJekfuR6N/rpcYgNZYrxDwe4w57uDPlwNL6cJPfNUHV7WEbIU1pMgxsxaXe8WSvV87qLsR7H06xocl2C0JFfe2jZR4Zh3k9xzEnfCeFKBgGb4lrOWBu1eDWYgtKV67M2Y+B3W5pjuAjwAxn0waODtEn/3jKPbc/sxbPvljUCw65X+ok0UUN1eOwXV5l2EGzn05t3Yhwq19/GxARg63ISGE8CKw=" set {-skin} to skin from value {_base64} with signature {_signature} command defaultSkin: trigger: set displayed skin of player to {-skin} ## Fake Living Entity Property - Attribute Addon: PacketEventsSK Category: Expression Syntax: [the] [fake] fake entity [field] %attributetype% attribute [value] of %fakeentity% Description: The attribute of a fake living entity. Examples: command spawn: trigger: set {_zombie} to a new fake player entity: location: location of player viewers: all players skin: skin of player username: "the rizzler" set fake entity scale attribute of {_zombie} to 5 ## Fake Entity Property Field Addon: PacketEventsSK Category: Expression Syntax: [the] [fake] fake entity [field] <[a-zA-Z0-9_ ]+> of %fakeentity% Description: Gets or sets a fake entity property field value from a fake entity instance by its name. Note that some entities inherit properties (for example all entities inherit "entity" fields) ### Available Fake Entity Fields by Category * **fake entity entity** fields: - `entity viewers* (viewers)` - `entity location* (location)` - `entity id (id)` - `entity meta data (meta data, meta)` - `entity type (type)` - `entity uuid (uuid)` * **fake player entity** fields: - *(Inherits all fields from **fake entity entity**)* - `player skin* (skin)` - `player username* (player name, username, name)` Examples: on load: set {-notchSkin} to skin of player named "notch" command test5: trigger: set {_player} to a new fake player entity: name: "test" skin: skin of player location: location of player viewers: players wait 1 second set fake entity skin of {_player} to {-notchSkin} ## Entity Meta Property Field Addon: PacketEventsSK Category: Expression Syntax: [the] [fake] [entity] meta [field] <[a-zA-Z0-9_ ]+> of %entitymeta% Description: Gets or sets a metadata property field value from an entity meta instance by its name. Note that some entities inherit properties (for example all entities inherit "entity" fields) ### Available Meta Fields by Category * **fake entity entity** fields: - `entity id (id)` - `on fire state (on fire)` - `sneaking state (sneaking)` - `sprinting state (sprinting)` - `swimming state (swimming)` - `invisible state (invisible)` - `glowing state (glowing)` - `elytra flying state (elytra flying)` - `custom name` - `custom name visible state (custom name visible)` - `silent state (silent)` - `gravity state (gravity)` - `frozen time (frozen ticks)` - `pose` * **fake livingentity entity** fields: - *(Inherits all fields from **fake entity entity**)* - `health (hp)` * **fake item entity** fields: - *(Inherits all fields from **fake entity entity**)* - `item` * **fake interaction entity** fields: - *(Inherits all fields from **fake entity entity**)* - `interaction width` - `interaction height` - `interaction responsive state (interaction responsive)` * **fake display entity** fields: - *(Inherits all fields from **fake entity entity**)* - `display interpolation delay` - `display transform interpolation duration` - `display teleport interpolation duration` - `display translation` - `display scale` - `display left rotation` - `display right rotation` - `display billboard constraints (display billboard)` - `display brightness override (display brightness)` - `display view range` - `display shadow radius` - `display shadow strength` - `display width` - `display height` - `display glow color override (display glow color)` * **fake block display entity** fields: - *(Inherits all fields from **fake display entity**)* - `display block data (display block state)` * **fake item display entity** fields: - *(Inherits all fields from **fake display entity**)* - `display item (display item stack)` - `display item transform` * **fake text display entity** fields: - *(Inherits all fields from **fake display entity**)* - `display text (display content)` - `display line width` - `display background color` - `display text shadowed state (display shadowed state, display shadowed)` - `display see through state (display see through)` - `display use default background state (display use default background)` - `display text alignment (display alignment)` Examples: on clientbound entity metadata: # note that {_meta} is a copy of the packet's meta set {_meta} to packet meta of event-packet set meta glowing state of {_meta} to true # so we set it again here set packet meta of event-packet to {_meta} ## General - Packet Field Addon: PacketEventsSK Category: Expression Syntax: [the] [fake] packet [field] <[a-zA-Z0-9_ ]+> of %packet% Description: Gets or sets a field's value from a packet by its name. ### Available Packets and their fields * **clientbound block change packet** fields: - `block position* (block pos, position, pos)` - `block state* (state, block data, data)` * **clientbound entity status packet** fields: - `entity id* (id)` - `entity status* (status)` * **clientbound entity velocity packet** fields: - `entity id* (id)` - `velocity vector* (vector, velocity)` * **clientbound destroy entities packet** fields: - `entity ids* (ids)` * **serverbound select bundle item packet** fields: - `slot id* (id)` - `selected item index* (selected index, item index, index)` * **serverbound interact entity packet** fields: - `entity id* (id)` - `interaction hand* (hand)` - `location vector* (location, loc)` - `sneaking state* (sneaking)` * **clientbound entity metadata packet** fields: - `entity id* (id)` - `entity metadata* (entity meta, metadata, meta)` * **clientbound game test highlight pos packet** fields: - `absolute position* (absolute pos, abs position, abs pos, position, pos)` - `relative position (relative pos, rel position, rel pos)` * **serverbound update sign packet** fields: - `location vector* (location)` - `sign lines* (lines)` - `sign side* (side)` * **clientbound block entity data packet** fields: - `block position* (block pos, position, pos)` - `block entity type* (entity type, type)` - `nbt compound* (nbt, compound)` * **clientbound open sign editor packet** fields: - `block position* (block pos, position, pos)` - `sign side* (side)` Examples: on clientbound entity metadata: # note that {_meta} is a copy of the packet's meta set {_meta} to packet meta of event-packet set meta glowing state of {_meta} to true # so we set it again here set packet meta of event-packet to {_meta} ## timespan Addon: SkBee Category: Function Syntax: timespan(time: number, timePeriod: timespanperiod) :: timespan ## vibration Addon: SkBee Category: Function Syntax: vibration(to: location, arrivalTime: timespan) :: vibration ## particleSpell Addon: SkBee Category: Function Syntax: particleSpell(color: color, power: number) :: particlespell ## dustTransition Addon: SkBee Category: Function Syntax: dustTransition(fromColor: color, toColor: color, size: number) :: dusttransition ## remove_effects Addon: SkBee Category: Function Syntax: remove_effects(potionEffectTypes: objects) ## peaksAndValleys Addon: SkBee Category: Function Syntax: peaksAndValleys(number: number) :: number ## play_sound Addon: SkBee Category: Function Syntax: play_sound(sound: string) ## trail Addon: SkBee Category: Function Syntax: trail(target: location, color: color, duration: timespan) :: trail ## bukkitColor Addon: SkBee Category: Function Syntax: bukkitColor(alpha: number, red: number, green: number, blue: number) ## formattedTimespan Addon: SkBee Category: Function Syntax: formattedTimespan(timespan: timespan, format: string) :: string ## teleport_randomly Addon: SkBee Category: Function Syntax: teleport_randomly(diameter: number) ## apply_effects Addon: SkBee Category: Function Syntax: apply_effects(potion effects: objects, probability: number) ## dustOption Addon: SkBee Category: Function Syntax: dustOption(color: color, size: number) :: dustoption ## resolver Addon: SkBee Category: Function Syntax: resolver(placeholder: string, replacement: object, [parsable: boolean]) ## clear_all_effects Addon: SkBee Category: Function Syntax: clear_all_effects() ## Tag Aliases Addon: SkBee Category: Structure Syntax: [global|local] [(block|item)] tag aliases Description: Create item/block aliases that use Minecraft tags. Supports paper and datapack tags as well. Custom Skript tags will not work here as they're registered after this structure loads. **Global vs Local**: Global will add your aliases to Skript's aliases and can be used in any script/effect commands. Local will add your aliases to the aliases of that specific script. Will default to local if not specified. Examples: item tag aliases: [any] tool[s] = minecraft:axes, minecraft:pickaxes, minecraft:shovels, minecraft:hoes, minecraft:bundles, paper:buckets [any] enchantable[s] = paper:enchantable [any] cool item = my_pack:cool_items block tag aliases: [any] wall[s] = minecraft:walls [any] leaves = minecraft:leaves [any] log[s] = minecraft:logs # Using the same alias in Skript's aliases structure will add to your tag alias aliases: [any] tool[s] = shears, brush # Aliases can be used to compare items/blocks on break: if player's tool is any tool: if player's tool is any enchantable: if event-block is any log: # Aliases can be used in events on right click holding any tool: on break of any wall: on break of any leaves: on break of any logs: ## ChunkGenerator - Register Generator Addon: SkBee Category: Structure Syntax: register chunk generator with id %string% Description: Register a chunk generator to manipulate the world layout to your liking. ENTRIES: (These are all optional, and will default to false) - `vanilla decor` = Whether Minecraft will decorate the surface based on biomes. - `vanilla caves` = Whether Minecraft will carve caves. - `vanilla structures` = Whether Minecraft will generate structures based on biomes. - `vanilla mobs` = Whether Minecraft will spawn mobs based on biomes. SECTIONS: (These are all optional) - `noise gen` = Generate the base terrain of a chunk [optional, defaults to vanilla noise]. - `surface gen` = Generate the surface above the base terrain of the chunk [optional, defaults to vanilla surface]. - `chunk gen` = A combination of noise and surface gen (Cannot be used WITH noise/surface gen). - `cave gen` = Generate caves in a chunk [optional]. - `biome gen` = Generate the biomes to be placed in a chunk [optional, will default to vanilla biomes]. - `height gen` = Tell Minecraft where the highest block in a chunk is for generating structures. - `block pop` = Used to decorate after initial surface is generated (Structures can be placed during this stage). NOTES: - `world-creator` needs to be enabled in the config - Please see the [**Chunk Generator**](https://github.com/ShaneBeee/SkBee/wiki/Chunk-Generator) wiki for further details. Examples: register chunk generator with id "mars": vanilla decor: false vanilla caves: false vanilla structures: false vanilla mobs: false chunk gen: loop integers between 0 and 15: loop integers between 0 and 15: set {_x} to (loop-number-1) set {_z} to (loop-number-2) # This is just an expression I created with reflect to give you an idea how it can work set {_y} to biome noise at vector({_x} + (chunkdata chunk x * 16), 1, {_z} + (chunkdata chunk z * 16)) # Fill blocks from 0 to y level with concrete set chunkdata blocks within vector({_x}, 0, {_z}) and vector({_x}, {_y}, {_z}) to red_concrete[] # Set the surface layer to concrete powder set chunkdata block at vector({_x}, {_y}, {_z}) to red_concrete_powder[] biome gen: # Set our biome to something mars like set chunkdata biome to crimson forest ## Abort Creature Spawn Addon: SkBee Category: Effect Syntax: [un]abort creature spawn Description: Abort a creature spawn event, preventing it from retrying more attempts after canceling. Aborting should only be done if you're blanket blocking this entity type from spawning. Examples: on pre creature spawn of an animal: cancel event abort creature spawn ## Update Server Recipes/Resources Addon: SkBee Category: Effect Syntax: update server recipes Description: Update recipes will update recipe data and the recipe book for all connected clients. Useful for updating clients to new recipes. Update resources will update all advancement, tag, and recipe data for all connected clients. Useful for updating clients to new advancements/recipes/tags. Examples: update server recipes update server resources ## Load/Unload/Delete World Addon: SkBee Category: Effect Syntax: load world from [[world] creator] %worldcreator% Description: Load a world from a world creator. Worlds created/loaded with a world creator, are saved in the 'plugins/SkBee/worlds.yml' file and automatically loaded on server start if auto-load is enabled in the config. If you wish to import a world, just use a world creator with a name that matches that world folder. You can load a world from a name (assuming this world is in your world directory and not loaded). You can unload a world with an option to save/not save (defaults to saving). You can also delete a world, but only a custom world. Examples: set {_w} to a new world creator named "my-world" load world from world creator {_w} load world "my-world" unload world world("my-world") ## Server Tick - Sprint Addon: SkBee Category: Effect Syntax: request (game|server) to sprint %timespan% Description: Attempts to initiate a sprint, which executes all server ticks at a faster rate then normal. See [**Tick Command**](https://minecraft.wiki/w/Commands/tick) on McWiki for more details. Examples: request game to sprint 10 ticks stop sprinting game ## Drop Held Item Addon: SkBee Category: Effect Syntax: (make|force) %players% [to] drop [all of] [their] held item[s] Description: Forces the player to drop their currently held item. By default it will drop one of their held item, or you can optionally drop the whole stack. Examples: make player drop all of held item force all players to drop all of their held items ## Show Demo Screen Addon: SkBee Category: Effect Syntax: show demo screen to %players% Description: Shows the demo screen to the player, this screen is normally only seen in the demo version of the game. Servers can modify the text on this screen using a resource pack. Examples: show demo screen to all players show demo screen to player ## Random Tick Block Addon: SkBee Category: Effect Syntax: random[ly] tick %blocks% Description: Causes the block to be ticked randomly. This will tick the block the same way Minecraft randomly ticks according to the randomTickSpeed gamerule. Requires Paper 1.19+ Examples: random tick blocks in radius 3 around target block ## Open Container Animation Addon: SkBee Category: Effect Syntax: play (open|close) animation on %blocks% Description: Play the open/close animation on a lidded block (ie: chest, barrel or shulker box). Note: When using the open method, the block will basically be locked 'open', a player opening/closing the block will not close the lid. Examples: play open animation on target block play close animation on all blocks in radius 3 around player ## FastBoard - Toggle Addon: SkBee Category: Effect Syntax: toggle [score|fast]board[s] of %players% [[to ]((on|true)|(off|false))] Description: Toggle a fastboard on or off. Examples: toggle fastboards of all players off toggle player's fastboard ## Recipe - Remove Addon: SkBee Category: Effect Syntax: remove [(custom|mc|minecraft)] recipe[s] %strings% Description: Remove a recipe from your server. Recipes can be removed at any time but it is best to do so during a server load event. If a recipe is removed whilst a player is online it will still show up in their recipe book, but they will not be able to craft it. If need be, you can get a list of all recipes by simply typing "/minecraft:recipe give YourName " in game. You can remove Minecraft recipes, custom recipes and recipes from other plugins. Examples: remove mc recipe "acacia_boat" remove minecraft recipe "cooked_chicken_from_campfire_cooking" remove recipe "minecraft:diamond_sword" remove all minecraft recipes remove all recipes remove custom recipe "my_recipe" remove recipe "another_recipe" remove recipe "some_plugin:some_recipe" ## NBT - Save File Addon: SkBee Category: Effect Syntax: save nbt file[s] (from|for|of) %nbtcompounds% Description: Manually save the NBT from a file. When getting the NBT compound from a file, changing values in the compound will not be automatically applied to the file, and saving will have to be done manually. Examples: set {_n} to nbt compound from file "plugins/maScript/some-data.nbt" set tag "ma-tag" of {_n} to 32 save nbt file of {_n} ## Server Tick - Step Server Addon: SkBee Category: Effect Syntax: step (game|server) [if frozen] [by] %timespan% Description: Steps the game a certain amount of ticks if the server is currently frozen. Steps occur when the server is in a frozen state which can be started by either using the in game `/tick freeze` command or the `server frozen state` expression. See [**Tick Command**](https://minecraft.wiki/w/Commands/tick) on McWiki for more details. Examples: step game if frozen 10 ticks stop stepping game ## Task - Cancel Task Addon: SkBee Category: Effect Syntax: (stop|cancel) task[s] with id[s] %numbers% Description: Stop a task by ID. If running Folia, this effect will do nothing. Examples: run 0 ticks later repeating every second: set {-id} to current task id add 1 to {_a} if {_a} > 10: exit loop on break: stop task with id {-id} ## Fish Hook - Pull In Addon: SkBee Category: Effect Syntax: pull in hooked entit(y|ies) of %entities% Description: Pulls in the entity hooked to this fish hook. Examples: pull in hooked entity of {_fishHook} ## Structure - Save/Delete Addon: SkBee Category: Effect Syntax: (save|delete) structure[s] %structuretemplates% Description: Save a structure template to file (will overwrite if file already exists), or delete a structure template file. Examples: save structure {_s} save structures {_s::*} delete structure {_s} ## FastBoard - Clear Addon: SkBee Category: Effect Syntax: clear [score|fast]board[s] of %players% Description: Clear a fastboard of a player. NOTE: You do NOT need to clear a fastboard before changing lines. Examples: clear fastboard of all players clear fastboard of player ## Spawner - Reset Timer Addon: SkBee Category: Effect Syntax: reset spawner timer [of %blocks%] Description: Resets the spawner timer for a spawner. Examples: on spawner spawn: reset spawner timer ## Sleep Thread Addon: SkBee Category: Effect Syntax: (sleep|halt) thread for %timespan% Description: This effect is used to sleep a thread. This should **NOT** be used on the main server thread. Examples: on async player connection configure: set {-connect::%event-uuid%} to true # Do something while {-connect::%event-uuid%} is set: # Player login will be halted while we wait for something sleep thread for 1 tick #Player will now connect ## Recipe - Discovery Addon: SkBee Category: Effect Syntax: (discover|unlock) [(custom|mc|minecraft)] recipe[s] [with id[s]] %strings% for %players% Description: Lock/Unlock recipes for players. This uses the IDs we created earlier when registering recipes, you can also lock/unlock minecraft recipes. Examples: unlock recipe "smoking_cod" for all players unlock recipe "minecraft:baked_potato_from_smoking" for all players unlock minecraft recipe "baked_potato_from_smoking" for all players unlock recipe "some_plugin:some_recipe" for all players on pickup of diamonds: discover recipe "fancy_diamonds" for player ## List/Unlist Players Addon: SkBee Category: Effect Syntax: [un]list %players% for %players% Description: List/unlist a player for a player. (show/hide them in PlayerList for each other). Examples: unlist all players for player list (all players in world of player) for player ## Dialog - Open/Close Dialog Addon: SkBee Category: Effect Syntax: close dialog[s] of %audiences% Description: Open a dialog to players. You can use keys from your own custom dialogs, as well as dialogs from datapacks. You can also close the currently open dialog of a player. Examples: open dialog with id "minecraft:my_dialog" to player open dialog with id "my_pack:some_dialog" to all players close dialogs of all players close dialogs of world "world" #closes dialogs of all players in that world ## Blockstate - Update/Apply Addon: SkBee Category: Effect Syntax: [force] update %blockstates% [without (neighbour|physics) updates] Description: Attempts to update the block represented by this state. Unless force is applied, this will not modify the state of a block if it is no longer the same type as it was when this state was taken. You can optionally apply this blockstate to another block. If done without physics updates, it will not trigger a physics update on surrounding blocks which could cause them to update or disappear. Examples: set {_state} to blockstate of event-block set event-block to air wait 1 minute force update {_state} without physics updates force apply {_state} to target block ## Give or Drop Item Addon: SkBee Category: Effect Syntax: give or drop %itemtypes% to %players% Description: Attempts to give an item to a player and if they dont have room it will drop instead. Examples: give or drop a diamond to player give or drop {_items::*} to all players ## Parse Effect Addon: SkBee Category: Effect Syntax: parse effect[s] %strings% [from %-commandsender%] Description: This will parse a string as an effect, and then executes it If you provide a command sender it works the same as Skript's 'effect commands'. Otherwise it runs using the current event allowing you to use event-values Examples: on join: parse effect "give player a diamond sword" ## Show/Hide Entities Addon: SkBee Category: Effect Syntax: make %entities% (appear|disappear) (for|to|from) %players% Description: Show/hide entities to/from players. NOTE: This is not persistent across server restarts and/or chunk unloading! Examples: make all entities disappear from player make all mobs appear to all players make target entity of player disappear from all players ## TextComponent - Send Addon: SkBee Category: Effect Syntax: send [(text|action[[ ]bar])] component[s] %objects% [to %audiences%] Description: Send text components to audiences. You can also broadcast components as well. As of 1.16.0 you can also send action bar components to players and you can also send normal strings. `to %audiences%` = An audience is anything that can receieve a component (players, entities, console, worlds, server, etc). The optional sender (supported in Minecraft 1.16.4+) allows you to send components from a specific player. This is useful to make sure players can block messages using MC 1.16.4's new player chat ignore system. Examples: set {_comp::1} to text component of "hi player " set {_comp::2} to text component of "hover over me for a special message!" set hover event of {_comp::2} to hover event showing "OoO look ma I'm hovering!" send component {_comp::*} to player send components {_comp::*} and " ooo pretty!" to player send actionbar component {_comp::1} to player # Send a message to your fellow teammates command /teambroadcast : trigger: set {_team} to team of player set {_mini} to mini message from "[TeamMessage from %player%] %{_msg}%" send component {_mini} to {_team} ## Player Break Block Addon: SkBee Category: Effect Syntax: make %player% break %blocks% Description: Forces a player to break a Block using the item in their main hand. This effect will respect enchantments, handle item durability (if applicable) and drop experience and the correct items according to the tool/item in the player's hand. Note that this method will call a block break event, meaning that this method may not be successful in breaking the block if the event was cancelled by a third party plugin. Care should be taken if running this method in a block break event listener as recursion may be possible if it is invoked on the same block being broken in the event. Examples: make player break target block make player break blocks within {_loc1} and {_loc2} ## Resource Pack Remove Addon: SkBee Category: Effect Syntax: remove all resource packs from %players% Description: Remove all resource packs from a player or remove resource packs from uuids. Examples: remove all resource packs from player remove resource pack with uuid {pack::1} from player remove resource packs with uuids {pack::*} from player ## Recipe - Ingredient Addon: SkBee Category: Effect Syntax: set ingredient (of|for) %string% to %itemstack/recipechoice/minecrafttag% Description: Set/add to the ingredients of a shaped/shapeless recipe. This is specifically used in the ingredients section of shaped/shapeless recipe section. `set ingredient` is used for shaped recipes. `add ingredient` is used for shapeless recipes. Examples: see shaped/shapeless recipe sections. ## Player Connection - Freeze/Unfreeze Addon: SkBee Category: Effect Syntax: freeze connection %playerconnection/audience% [with timeout message %-textcomp%] Description: Freeze/unfreeze a player connect. **FREEZING**: You can freeze a player connection in the async player connection configure event. There is a built in 2 minute timeout just incase you don't handle unfreezing the connection. There is an optional timeout message (Will default to "Timeout"). This will freeze the thread, so make sure to run it last. **UNFREEZING**: You can unfreeze the connection with an option to disconnect. If not disconnecting, the player will join the server after the connection is unfrozen. This can be done in the async player connection configure event and the player custom click event. Examples: on async player connection configure: # open your dialog openDialog(event-audience) # Freeze the connection and wait for the player to respond freeze connection event-playerconnection on player custom click: if event-namespacedkey contains "custom:accept_rules": # Unfreeze the connection and join the player to the server if they accept rules unfreeze connection event-playerconnection if event-namespacedkey contains "custom:decline_rules": # Unfreeze the connection and kick the player if they decline the rules unfreeze connection event-playerconnection and disconnect due to mini message from "You decided to leave!" ## Advancement - Load Addon: SkBee Category: Effect Syntax: load advancement %string% with (key|id) %string% Description: Load an advancement represented by the specified string into the server. The advancement format is governed by Minecraft. It is currently a JSON object, as described by [**Advancement Definition**](https://minecraft.wiki/w/Advancement_definition) on McWiki. NOTE: Bukkit has marked this as 'Unsafe', so please use at your own risk. Watch console for errors when loading an advancement. Examples: # This example was written for Minecraft 26.1.x on load: set {_display} to "{""icon"":{""id"":""minecraft:dirt""},""title"":""Custom Stuff"",""description"":""Some Custom Stuff"",""announce_to_chat"":false,""show_toast"":false,""background"":""minecraft:gui/advancements/backgrounds/stone""}" set {_criteria} to "{""trigger"":""minecraft:inventory_changed"",""conditions"":{""items"":[{""items"":""minecraft:crafting_table""}]}}" set {_parent} to "{""display"":%{_display}%,""criteria"":{""test"":%{_criteria}%}}" load advancement {_parent} with key "something:root" set {_display} to "{""icon"":{""id"":""minecraft:carrot""},""title"":""Carrot Picker Upper"",""description"":{""color"":""green"",""text"":""Pickup a carrot""},""frame"":""task""}" set {_criteria} to "{""trigger"":""minecraft:inventory_changed"",""conditions"":{""items"":[{""items"":""minecraft:carrot""}]}}" set {_json} to "{""parent"":""something:root"",""display"":%{_display}%,""criteria"":{""test_carrot"":%{_criteria}%}}" load advancement {_json} with key "something:carrot_picker_upper" ## ChunkGenerator - Populate Tree Addon: SkBee Category: Effect Syntax: populate %bukkittreetype% at %vectors% Description: Grow a tree in a ChunkGenerator `block pop` section. The vector represents chunk position not world position. Examples: populate cherry tree at vector(0, 64, 15) ## Villager - Effects Addon: SkBee Category: Effect Syntax: zombify %livingentities% Description: A few effects to make villagers do things. Examples: zombify last spawned villager wake up all villagers make target entity shake his head make target entity sleep at location(100, 64, 100, world "world") ## ItemComponent - Apply Effects Addon: SkBee Category: Effect Syntax: apply -> %potioneffects% Description: Used to apply potion/consume effects in a potion contents's `custom_effects` section, death protection's' `death_effects` section and consumable's `on_consume_effects` section. **Patterns**: - `%potioneffects%` = Used to apply a potion effect in a potion contents section. - `%potioneffects% with probability %-number%` = Used to apply a potion/consume effect in a death protection/consumable section. - `remove effects %potioneffecttypes/typedkeys%` = Used to apply a `remove effects` consume effect in a death protection/consumable section. - `clear all effects` = Used to apply a `clear all effects` consume effect in a death protection/consumable section. - `teleport randomly within [[a] diameter [of]] %number% [blocks|meters]` = Used to apply a `teleport randomly` consume effect in a death protection/consumable section. - `play sound %string/typedkey%` - Used to apply a `play sound` consume effect in a death protection/consumable section. Examples: See examples of the respective sections that use this effect. ## ChunkGenerator - WorldCreator Generator Addon: SkBee Category: Effect Syntax: set chunk generator of %worldcreator% to chunk generator with id %string% Description: Set the chunk generator of a world creator. Examples: on load: if world "mars" is not loaded: set {_w} to world creator named "mars" set chunk generator of {_w} to chunk generator with id "mars" load world from creator {_w} ## NBT - Tag Delete Addon: SkBee Category: Effect Syntax: delete tag[s] %strings% of %nbtcompound% Description: Delete an NBT tag without having to specify a tag type. Examples: delete tag "minecraft:enchantments" of nbt of player's tool delete tag "custom;level" of nbt of player ## Merchant - Open Addon: SkBee Category: Effect Syntax: open merchant %merchant/entity% to %player% Description: Open a merchant/villager to a player. Examples: set {_m} to new merchant named "Le Merchant" open merchant {_m} to player ## Break Blocks with Effects Addon: SkBee Category: Effect Syntax: break %blocks% [naturally] with effects [[and] with (experience|exp|xp)] [using %-itemtype%] Description: Breaks blocks as if a player had broken them. Will drop items, play particles and sounds. Requires PaperMC. Optionally you can trigger it to drop experience as well. Optionally you can include an item which is used to determine which drops the block will drop. Examples: break blocks in radius 2 around target block with effects break {_blocks::*} with effects and with xp break {_blocks::*} with effects and with xp using player's tool ## Apply Lock to Block Addon: SkBee Category: Effect Syntax: apply lock to %blocks% using %itemstack% Description: Apply an item as a lock for a block. Examples: apply lock to target block using player's tool apply lock to {_blocks::*} using stick named "Mr Locky" remove lock from target block ## Advancement - Progress Criteria Addon: SkBee Category: Effect Syntax: (award|revoke) criteria %string% of %advancementpros% Description: Award or revoke criteria of an advancement progress. Examples: TODO ## ItemComponent - Clear/Reset Components Addon: SkBee Category: Effect Syntax: (clear|remove|unset|reset) %datacomponenttypes% (item|data) component[s] of %itemstacks/itemtypes/slots% Description: Clear/reset data components of an item. Requires Minecraft 1.21+ - `clear/remove/unset` = Will remove the component from the item. - `reset` = Will reset the data component of the item back to its default value. Examples: clear food component of player's tool clear tool component of player's tool reset attribute modifier component of player's tool ## Entity Use Item Addon: SkBee Category: Effect Syntax: make %livingentities% start using item [in %-equipmentslot%] Description: Makes a LivingEntity start/stop/complete using an item. You can optionally specify which hand. Will default to main hand. **Types**: - Start = Makes the entity start using an item. - Stop = Interrupts any ongoing active "usage" or consumption or an item. - Complete = Finishes using the currently active item. When, for example, a skeleton is drawing its bow, this will cause it to release and fire the arrow.This method does not make any guarantees about the effect of this method as such depends on the entity and its state. Examples: make target entity start using item in main hand slot ## ChunkGenerator - Structure Place Addon: SkBee Category: Effect Syntax: place chunk[ ]data structure %structuretemplate% at %vector% Description: Place a structure in a block populator. Due to the chunk not being finalized yet, the standard structure place effect will not work during generation. Since the chunk isn't finalized yet, we use a vector instead of a location, the vector will represent a chunk position not a world position. Examples: place chunkdata structure {-s} at vector({_x}, {_y}, {_z}) place chunkdata structure {-s} at vector(0,64,0) ## Hurt Animation Addon: SkBee Category: Effect Syntax: play hurt animation on %entities% [with yaw %-number%] Description: Makes this living entity flash red as if they were damaged. Requires MC 1.20.1+ Note: Yaw = The direction the damage is coming from in relation to the entity, where 0 is in front of the player, 90 is to the right, 180 is behind, and 270 is to the left Examples: play hurt animation on player play hurt animation on all players play hurt animation on all players with yaw 270 play hurt animation on all mobs ## Transfer - Store Cookie Addon: SkBee Category: Effect Syntax: store cookie %string% with key %namespacedkey/string% on %players% Description: Store a cookie on a player for transfer. Requires Minecraft 1.20.5+ NOTE: Only a string less than 5120 characters is accepted. NOTE: Cookies are stored on players across server transfers. Examples: store cookie "look mah imma cookie" with key "my_id:super_mom_cookie" on player ## Open Real Inventory Addon: SkBee Category: Effect Syntax: open real anvil [inventory] [at %-location%] [named %-string%] to %players% Description: Open real inventories to players. This will open a real inventory object instead of a custom inventory object to players. Most of these (except enchanting and workbench) require a PaperMC server. `at %location%` is used to open an inventory at an actual block (Optional, will default to player's location). Some inventories require a location of a block for extra functionality,such as an enchanting table uses nearby bookshelves to determine enchantment level. Examples: open real anvil inventory to player open real anvil named "Mr Anvil" to player open real anvil at location(1,1,1) named "Senor Anvil" to player ## Chunk - Unload Addon: SkBee Category: Effect Syntax: unload chunk at %number%,[ ]%number% (in|of) [world] %world% [without saving] Description: Unload a chunk. This will remove any chunk tickets that were holding the chunk open. **Options**: - `%number%,[ ]%number%` = Represents the X/Z coords of a chunk. Not to be confused with a location. Chunk coords are essentially a location divided by 16, example: Chunk 1/1 = Location 16/16 - `without saving` = Will prevent the chunk from saving when unloading. Examples: unload chunk at 1,1 in world "world" unload chunk at 1,1 in world "world" without saving unload chunk at {_loc} ## Entity Damage Entity Addon: SkBee Category: Effect Syntax: make %entity% damage %livingentities% by %number% Description: Make an entity damage another entity by a given amount. Examples: make last spawned entity damage player by 10 make target entity damage player by 1 ## Attribute Modifier - Remove By Key Addon: SkBee Category: Effect Syntax: remove [%-attributetypes%] attribute modifier with key %string/namespacedkey% from %itemtypes/entities% Description: Remove attribute modifiers by key from items/entities. You can optionally specify the attribute types you want to remove. Will default to all attribute types. Examples: remove attribute modifier with key "my:key" from player's tool remove generic scale attribute modifier with key "my:key" from player's tool ## EntityBlockStorage - Add/Release Entities Addon: SkBee Category: Effect Syntax: release [all] entities from [storage of] %blocks% [for %-timespan%] [into %-objects%] Description: Add/release entities to/from blocks which can store entities. When releasing bees at night/during rain, they will immediately go back in their hive, use the optional timespan to keep them outside. You can optionally put the released entities into a variable (see examples). As of 1.15 this only includes beehives/bee nests! Examples: add last spawned bee to storage of target block of player release all entities from storage of target block of player release all entities from storage of event-block for 2 minutes release all entities from storage of target block of player for 1 minute into {_bees::*} ## Chunk - Load Addon: SkBee Category: Effect Syntax: [async] load chunk at %number%,[ ]%number% (in|of) [world] %world% [with ticket] Description: Load a chunk. **Options**: - `%number%,[ ]%number%` = Represents the X/Z coords of a chunk. Not to be confused with a location. Chunk coords are essentially a location divided by 16, example: Chunk 1/1 = Location 16/16 - `chunk key %number%` = Represents the key of a chunk (chunk's chunk coordinates packed into a long). - `async` = Will load the chunk off the main thread. Your code will halt whilst waiting for the chunk[s] to load. - `with ticket` = Will add a ticket to the chunk, preventing it from unloading until you explicitly unload it or the server stops. Examples: load chunk at 1,1 in world "world" load chunk at location(1,1,1, world "world") load chunk at 150,150 in world "world" load chunk at 150,150 in world "world" with ticket load chunks within {_l1} and {_l2} load chunks within {_l1} and {_l2} with tickets async load chunk at {_loc} async load chunk at 100,100 in world "world" async load chunk at 1,1 in world of player with ticket async load chunks within {_l1} and {_l2} with tickets ## DamageSource - Damage Entity Addon: SkBee Category: Effect Syntax: [skbee|le] damage %entities% by %number% (with|using) %damagesource% Description: Damage entities using a damage source. This has the same functionality as Minecraft's `/damage` command. Requires MC 1.20.4+ Examples: set {_source} to damage source from arrow directly by (random element of all entities) set {_source} to damage source of dragon breath set {_source} to damage source of magic set {_source} to damage source of mob_attack_no_aggro caused by target entity of player damage player by 100 with {_source} ## Ranged Attack Addon: SkBee Category: Effect Syntax: make %livingentity% range attack %livingentities% [with charge %-number%] Description: Make a RangedEntity perform a ranged attack. Requires PaperMC. `with charge` = How "charged" the attack is (how far back the bow was pulled for Bow attacks). This should be a value between 0 and 1, represented as targetDistance/maxDistance. RangedEntities: Drowned, Illusioner, Llama, Piglin, Pillager, Skeleton, Snowman, Stray, TraderLlama, Witch, Wither, WitherSkeleton. Examples: make last spawned entity range attack player with charge 0.5 ## Recipe - Knowledge Book Addon: SkBee Category: Effect Syntax: add [(custom|(mc|minecraft))] recipe[s] [with id[s]] %strings% [from plugin %-string%] to %itemtype% Description: Add/Remove custom or minecraft recipes to/from a knowledge book item. Optional string for plugin name, to add recipes from other plugins. Examples: add custom recipe "my_recipe" to player's tool add recipe "my_recipes:fancy_recipe" to player's tool add minecraft recipe "cooked_cod_from_campfire_cooking" to {_book} add recipe "minecraft:cooked_cod_from_campfire_cooking" to {_book} add recipe "some_recipe" from plugin "SomePlugin" to player's tool add recipe "someplugin:some_recipe" to player's tool ## Structure - Template Fill Addon: SkBee Category: Effect Syntax: fill [structure [template]] %structuretemplate% (between|within) %location% and %location% Description: Fill a structure template with blocks from the world. Examples: set {_s} to structure template with id "my_structure" fill structure template {_s} between {loc1} and {loc2} fill structure template {_s} between location at player and location(10,10,10, world "world") ## Bound - Resize Addon: SkBee Category: Effect Syntax: resize [full] bound %bound% (within|between) %block/location% and %block/location% Description: Resize a current bound. Full will mark the bound to use the lowest/highest points of the world. The second pattern will mark as a full bound without changing the locations. NOTE: World of a bound cannot be changed. **SPECIAL NOTE**: - When using locations = The bound resizing will use the locations you pass thru - When using blocks = The bound resizing will extend the x/y/z axes by 1 to fully include those blocks. Examples: resize bound bound with id "test" between {_l1} and {_l1} resize bound bound with id "test" between block at{_l1} and block at {_l1} resize full bound bound with id "test" ## ResourcePack - Apply Pack Addon: SkBee Category: Effect Syntax: apply [resource] pack with url %string% [and] with (uuid|id) %uuid% [and with hash %-string%] Description: Apply a resource pack in the `packs` section of a resouce pack send section. The ID is used to remove the pack later, if you dont plan on removing a pack you can use a `random uuid`. Examples: send resource packs to player: packs: apply pack with url "some.url" with id (random uuid) apply pack with url "anoter.url" with id (random uuid) ## Chunk Refresh Addon: SkBee Category: Effect Syntax: refresh [chunk[s]] %chunks% Description: Resends chunks to the clients. This is useful if you change a biome and need to refresh the client. The two numbers represent a chunk's X/Y coords, NOT a location. A chunk's X/Y coords are basically a location divided by 16. Ex: Chunk 1/1 would be at location X=16, Z=16. Examples: set biome of block at player to plains refresh chunk at player refresh chunk at 1,1 in world "world" ## TextComponent - Replace Text Addon: SkBee Category: Effect Syntax: component [regex] replace [first] %strings% with %object% in %~textcomps% [with case sensitivity] Description: Replaces a given string with another string/text component. **NOTE:** - `regex` Defining the regex keyword will have the provided string be parsed as regex. - `first` Defining the first keyword will only replace the first instance. - Any case-sensitivity checks only apply to literal patterns, for regex append `(?i)` to the start If you're new to regex and want to see how it's parsed you can use https://regex101.com/ for debugging. Examples: component replace "[item]", "[i]" with getItemComponent(player's tool) in async chat message component regex replace "\[(item|i)]" with getItemComponent(player's tool) in async chat message component replace first "Mom!" in {_message} with "Dad!" with case sensitivity ## Dispatch Command Addon: SkBee Category: Effect Syntax: dispatch %commandsender% command %string% [with permission %-string%] Description: Similar to Skript's command effect, with the option to use any command sender (vs. being restricted to only player/console), and the option to temporarily attach a permission. The attached permission will only last for 1 tick, and automatically remove. This is not persistent. Examples: dispatch player command "give %player% stick" with permission "minecraft.command.give" dispatch (random element of all mobs) command "/tell %player% hi" ## Send Block Damage Addon: SkBee Category: Effect Syntax: make %players% see damage of %block% as %number% [(by|from) %-entity/number%] Description: Send fake block damage to a player. Number = The amount of damage (a number between 0 and 1) to be applied to the block. Entity = the entity who is damaging the block. An entity can only damage 1 block at a time. By Entity/Number = The entity/entityID which damaged the block. Examples: make player see damage of target block as 0.5 make player see damage of target block as 0.5 by random element of all entities make player see damage of target block as 0.5 from random integer between 1 and 10000 ## Recipe - Crafting Recipe Addon: SkBee Category: Effect Syntax: register [new] (shaped|shapeless) recipe for %itemtype% (using|with ingredients) %itemtypes/recipechoices% with id %string% [in group %-string%] Description: Register a new shaped/shapeless recipe for a specific item using custom ingredients. Recipes support items and material choices for ingredients. Material choices allow you to use Minecraft tags or lists of items. The ID will be the name given to this recipe. IDs may only contain letters, numbers, periods, hyphens, a single colon and underscores, NOT SPACES!!! By default, if no namespace is provided, recipes will start with the namespace "minecraft:", this can be changed in the config to whatever you want. IDs are used for recipe discovery/unlocking recipes for players. You may also include an optional group for recipes. These will group the recipes together in the recipe book. NOTE: Recipes with 4 or less ingredients will be craftable in the player's crafting grid. Examples: on load: register new shaped recipe for elytra using air, iron chestplate, air, air, iron chestplate and air with id "my_recipes:elytra" set {_s} to emerald named "&3Strong Emerald" register new shaped recipe for {_s} using emerald, emerald, air, emerald, emerald and air with id "strong_emerald" register new shaped recipe for diamond chestplate named "&3Strong Emerald Chestplate" using {_s}, air, {_s}, {_s}, {_s}, {_s}, {_s}, {_s} and {_s} with id "strong_emerald_chestplate" set {_a} to material choice of every plank register new shaped recipe for jigsaw block using {_a}, {_a}, {_a}, {_a}, {_a}, {_a}, {_a}, {_a} and {_a} with id "jigsaw" ## Send Equipment Change Addon: SkBee Category: Effect Syntax: make %players% see %equipmentslots% of %livingentities% as %itemtype% Description: Send an equipment change for an entity. This will not actually change the entity's equipment in any way. Examples: make player see hand slot of target entity as diamond sword make all players see off hand slot of player as shield ## Recipe - StoneCutting Recipe Addon: SkBee Category: Effect Syntax: register [new] stone[ ]cutt(ing|er) recipe for %itemtype% (using|with ingredient) %itemtype/recipechoice% with id %string% [in group %-string%] Description: Register a new stone cutting recipe. The ID will be the name given to this recipe. IDs may only contain letters, numbers, periods, hyphens, a single colon and underscores, NOT SPACES!!! By default, if no namespace is provided, recipes will start with the namespace "minecraft:", this can be changed in the config to whatever you want. IDs are used for recipe discovery/unlocking recipes for players. You may also include an optional group for recipes. These will group the recipes together in the recipe book. Examples: on skript load: register new stone cutting recipe for diamond using diamond ore with id "cutting_diamond" ## TextComponent - Sign Change Addon: SkBee Category: Effect Syntax: make %players% see [front|back] sign lines (at|of) %blocks% as %textcomps% [with color %-color%] [and glowing] Description: Sends a sign change to the player. You CAN send a block change first. Side = Whether to show the front/back change (defaults to front). Color = the color of the text on the sign. Glowing = make the text glow. Examples: set {_m::1} to mini message from "OOOOOOOO" set {_m::2} to text component from "Le-Text" make player see sign lines of target block as {_m::*} with color blue ## Resource Pack Send Addon: SkBee Category: Effect Syntax: send [the] resource pack [from [[the] URL]] %string% with (uuid|id) %string% [with hash %-string%] [with prompt %-string%] to %players% [with force] Description: Send a resource pack to a player with a UUID, optional hash, optional prompt message, and the option to force it. The uuid is used to later remove the pack from the player if need be. Examples: send resource pack from url "some.url" with uuid {pack::1} to all players send resource pack from url "some.url" with uuid {pack::1} to all players with force send resource pack from url "some.url" with uuid {pack::1} with prompt "This Adds Cool Stuff!!!" to player with force ## TextComponent - Send Title Addon: SkBee Category: Effect Syntax: send title [component] %textcomp/string% [with subtitle [component] %-textcomp/string%] [to %audiences%] [for %-timespan%] [with fade[(-| )]in %-timespan%] [(and|with) fade[(-| )]out %-timespan%] Description: Send titles containing components. Supports strings as well. If you are using variables and the title won't send, make sure to add `component`. `to %audiences%` = An audience is anything that can receieve a component (players, entities, console, worlds, server, etc). Examples: send title mini message from "OOO RAINBOW TITLE" send title component {_comp} for 10 seconds with fadein 5 ticks and fadeout 10 ticks ## Recipe - Cooking Recipe Addon: SkBee Category: Effect Syntax: register [new] (furnace|(blast furnace|blasting)|smok(er|ing)|campfire) recipe for %itemtype% (using|with ingredient) %itemtype/recipechoice% with id %string% [[and ]with exp[erience] %-number%] [[and ]with cook[ ]time %-timespan%] [in group %-string%] Description: Register a new cooking recipe for furnaces, blast furnaces, smokers, and campfires. The ID will be the name given to this recipe. IDs may only contain letters, numbers, periods, hyphens, a single colon and underscores, NOT SPACES!!! By default, if no namespace is provided, recipes will start with the namespace "skbee:", this can be changed in the config to whatever you want. IDs are used for recipe discovery/unlocking recipes for players. You may also include an optional group for recipes. These will group the recipes together in the recipe book. Examples: on skript load: register new furnace recipe for diamond using dirt with id "furnace_diamond" register new blasting recipe for emerald using dirt with id "my_recipes:blasting_emerald" register new smoking recipe for cooked cod named "Hot Cod" using puffer fish with id "smoking_cod" ## SwitchCase - Case Inline Addon: SkBee Category: Effect Syntax: case %objects% -> <.+> Description: Inline version of case section where you can return/run an effect all in one line. Multiple objects are supported in cases. - **Switch Expression** = Return an object based on the case matching the switched value. - **Switch Section** = Run 1 effect based on the case matching the switched value. Default will run if all other cases fail to match. Default must go last or all cases after it will be ignored. Examples: # As Effect on damage of a sheep by a player: switch type of attacker's tool: case wooden sword -> give attacker yellow wool case stone sword -> give attacker light gray wool case iron sword -> give attacker gray wool case golden sword -> give attacker orange wool case diamond sword -> give attacker light blue wool case netherite sword -> give attacker black wool default -> give attacker white wool # As Return function getRoman(i: number) :: string: return switch return {_i}: case 1 -> "I" case 2 -> "II" case 3 -> "III" case 4 -> "IV" case 5 -> "V" default -> "potato" function getName(e: entity) :: string: return switch return {_e}: case sheep -> "Mr Sheepy" case cow -> "Mr Cow" case pig -> "Señor Pig" default -> strict proper case "%type of {_e}%" on break: set {_b} to event-block set {_i} to switch return {_b}: case stone -> 1 of stone named "Hard Stone" case grass block -> 1 of grass block named "Green Grass" case dirt -> 1 of dirt named "Dry Dirt" default -> 1 of {_b} named "Some Other Block" give player {_i} on damage of a mob by a player: set {_item} to switch return type of victim: case sheep, cow, pig, chicken -> 1 of potato case zombie, drowned, husk -> 1 of rotten flesh case skeleton, stray, wither skeleton, bogged -> 1 of bone default -> 1 of stick give {_item} to attacker ## Open Sign Addon: SkBee Category: Effect Syntax: open [virtual] sign [gui] [(front|back)] [(for|of)] [%direction%] %location% to %players% Description: Open a sign's GUI to a player, to allow them to edit it. `virtual`: (Added in Paper 1.21.5) - Allows opening a client side sign to a player. - You will have to send a client side sign to the player. - The sign must be within 9 blocks of the player. - You can use the `unchecked sign change` event to listen for changes to virtual signs. If not using `virtual`, the block must be placed in the world. Front/Back support added in MC 1.20. Examples: open sign gui of target block to player open target block's sign gui to player open sign back of target block to player ## NBT - Set Block with NBT Addon: SkBee Category: Effect Syntax: set (nbt[(-| )]block|tile[(-| )]entity) %directions% %locations% to %itemtype/blockdata% with [nbt] %nbtcompound% Description: Set a block at a location to a block with NBT. BlockData is also supported when using MC 1.13+ and Skript 2.5+ Examples: set {_n} to nbt compound from "{CustomName:""{\""text\"":\""&aFurnieFurnace\""}""}" set nbt-block at player to west facing furnace with nbt {_n} set nbt-block at player to furnace[facing=west] with nbt {_n} set {_n} to nbt compound from "{CustomName:""{\""text\"":\""&cHoppieHopper\""}""}" set nbt-block at event-location to hopper with nbt {_n} set {_nbt} to nbt compound from "{custom:{BlockOwner:"%uuid of player%"}}" set nbt-block at player to coal ore with nbt {_n} ## Spawn Falling BlockData Addon: SkBee Category: Effect Syntax: (skbee|le) spawn falling %blockdata% [%directions% %locations%] Description: Spawn a falling block data. This is a temp effect until Skript properly handles block data with spawning of falling blocks. Examples: le spawn falling snow[layers=3] above target block of player ## Structure - Template Place Addon: SkBee Category: Effect Syntax: place [structure [template]] %structuretemplate% [using palette %-number%] %directions% %locations% Description: Place an already created structure template into the world. Palette = The palette index of the structure to use, starting at 0, or -1 to pick a random palette. A palette represents a variation of a structure template. Most structure templates, like the ones generated with structure blocks, only have a single variant. Examples: set {_s} to structure template with id "minecraft:village/taiga/houses/taiga_cartographer_house_1" place structure {_s} above target block of player ## NBT - Spawn Entity with NBT Addon: SkBee Category: Effect Syntax: spawn %entitytypes% [%directions% %locations%] with [nbt] %nbtcompound% Description: Spawn an entity at a location with NBT. The ability to spawn falling was added in 2.10.0 as a temp effect until Skript properly handles falling blocks with block data. Examples: set {_n} to nbt compound from "{NoAI:1b}" spawn sheep at player with nbt {_n} spawn 1 of zombie at player with nbt nbt compound from "{NoGravity:1b}" spawn an armor stand at player with nbt from "{Small:1b,NoBasePlate:1b,Marker:1b}" spawn falling snow[layers=3] at target block with nbt from "{HurtEntities:1b}" ## Particle Spawn Addon: SkBee Category: Effect Syntax: (lerp|draw|make) %number% [of] %minecraftparticle% [particle] [using %-object%] %directions% %locations% [with (delta|offset) %-vector%] [with extra %-number%] [(with force)] [(for|to) %-players%] Description: Spawn a [**particle**](https://skripthub.net/docs/?id=14494). This system is more inline with how Bukkit deals with particles, hence the choices in the pattern. Some particles may be affected differently by these values, so let's break them down: `first number` = count, how many particles to spawn at once. (use '0' if you notice the particle kinda flies away.) `particle` = the particle to spawn. `using` = the data used for this particle (some particles like 'block', 'item' and 'dust' require more data). `location` = where you are going to spawn the particle. `delta` = a vector with the maximum random offset. The position of each particle will be randomized positively and negatively by the offset parameters on each axis. Some particles use the delta to set color/direction if count is set to 0. `extra` = the extra data for this particle, depends on the particle used (normally speed). `force` = whether to send the particle to players within an extended range and encourage their client to render it regardless of settings (this only works when not using `for player[s]`) (default = false) `for %players%` = will only send this particle to a player, not the whole server. Examples: make 3 of item particle using diamond at location of player make 1 of block particle using dirt at location of target block make 10 of poof at player with offset vector(2, 2, 2) with extra 0.5 draw 20 of dust using dustOption(blue, 10) at location above target block draw 1 of dust_color_transition using dustTransition(blue, green, 3) at location of player draw 1 of vibration using vibration({loc1}, {loc2}, 1 second) at {loc1} with force make 0 of shriek using 1 above target block of player make 1 of sculk_charge using 0.1 at {_loc} with force ## Memory Addon: SkBee Category: Type Syntax: memory Description: Represents the different memories of an entity. NOTE: These are auto-generated and may differ between server versions, currently generated for Minecraft 26.1.2. ## Time Period Addon: SkBee Category: Type Syntax: timespanperiod Description: Represents the time periods of a Timespan. ## Block Action Addon: SkBee Category: Type Syntax: blockaction Description: Represents different ways to interact. ## BlockFace Addon: SkBee Category: Type Syntax: blockface Description: Represents the face of a block. NOTE: These are auto-generated and may differ between server versions, currently generated for Minecraft 26.1.2. ## BlockState Addon: SkBee Category: Type Syntax: blockstate Description: Represents a captured state of a block, which will not change automatically. Unlike Block, which only one object can exist per coordinate, BlockState can exist multiple times for any given Block. In a structure, this represents how the block is saved to the structure. Requires MC 1.17.1+ ## Entity Pose Addon: SkBee Category: Type Syntax: pose Description: Represents the pose of an entity. NOTE: These are auto-generated and may differ between server versions, currently generated for Minecraft 26.1.2. ## Spellcaster Spell Addon: SkBee Category: Type Syntax: spellcasterspell Description: Represents the different spells of a spellcaster. NOTE: These are auto-generated and may differ between server versions, currently generated for Minecraft 26.1.2. ## Entity Knockback Cause Addon: SkBee Category: Type Syntax: knockbackcause Description: Represents the cause of knockback in an entity knockback event ## Fail Reason Addon: SkBee Category: Type Syntax: failmovereason Description: The reason a player failed to move in a `player fail move` event. ## ArmorTrim Addon: SkBee Category: Type Syntax: armortrim Description: Represents an armor trim that may be applied to an item. Requires MC 1.19.4+ ## Attribute Modifier Addon: SkBee Category: Type Syntax: attributemodifier Description: Represents an attribute modifier from an item/living entity. ## Attribute Modifier Operation Addon: SkBee Category: Type Syntax: attributeoperation Description: Represents the different operations of an attribute modifer. See [**Attribute Operations**](https://minecraft.wiki/w/Attribute#Operations) on McWiki for more details. NOTE: These are auto-generated and may differ between server versions, currently generated for Minecraft 26.1.2. ## Equipment Slot Group Addon: SkBee Category: Type Syntax: equipmentslotgroup Description: Represents different groups of equipment slots. NOTE: These are auto-generated and may differ between server versions, currently generated for Minecraft 26.1.2. ## Jukebox Song Addon: SkBee Category: Type Syntax: jukeboxsong Description: Represents the songs for jukeboxes. NOTE: These are auto-generated and may differ between server versions, currently generated for Minecraft 26.1.2. ## Instrument Addon: SkBee Category: Type Syntax: instrument Description: Represents the instruments used by goat horns. NOTE: These are auto-generated and may differ between server versions, currently generated for Minecraft 26.1.2. ## ArmorTrim - TrimMaterial Addon: SkBee Category: Type Syntax: trimmaterial Description: Represents a material that may be used in an ArmorTrim. NOTE: These are auto-generated and may differ between server versions, currently generated for Minecraft 26.1.2. ## ArmorTrim - TrimPattern Addon: SkBee Category: Type Syntax: trimpattern Description: Represents a pattern that may be used in an ArmorTrim. NOTE: These are auto-generated and may differ between server versions, currently generated for Minecraft 26.1.2. ## Player Connection Addon: SkBee Category: Type Syntax: playerconnection Description: Represents the connection of a player in an async connect config event and custom click event. ## ResourcePack - Status Addon: SkBee Category: Type Syntax: resourcepackstatus Description: Represents the status of a resource pack request. The values include in square brackets whether they're intermediate (Whether, after receiving this status, further status events might occur), this is not actually part of the pattern. NOTE: These are auto-generated and may differ between server versions, currently generated for Minecraft 26.1.2. ## Bukkit Color Addon: SkBee Category: Type Syntax: bukkitcolor Description: Represents a Bukkit color. This is different than a Skript color as it adds an alpha channel. ## NamespacedKey Addon: SkBee Category: Type Syntax: namespacedkey Description: NamespacedKeys are a way to declare and specify game objects in Minecraft, which can identify built-in and user-defined objects without potential ambiguity or conflicts. For more information see [**Resource Location**](https://minecraft.wiki/w/Resource_location) on McWiki. ## Chunk Load Level Addon: SkBee Category: Type Syntax: chunkloadlevel Description: Represents the types of load levels of a chunk. - `border_level` = Most game logic is not processed, including entities and redstone. - `entity_ticking_level` = All game logic is processed. - `inaccessible_level` = No game logic is processed, world generation may still occur. - `ticking_level` = All game logic except entities is processed. - `unloaded_level` = This chunk is not loaded. ## HeightMap Addon: SkBee Category: Type Syntax: heightmap Description: The height map used during chunk generation. See [**HeightMap**](https://minecraft.wiki/w/Heightmap) on McWiki for more info. NOTE: These are auto-generated and may differ between server versions, currently generated for Minecraft 26.1.2. ## Spawn Category Addon: SkBee Category: Type Syntax: spawncategory Description: Represents groups of entities with shared spawn behaviors and mob caps. ## Bukkit Tree Type Addon: SkBee Category: Type Syntax: bukkittreetype Description: Represents the different types of trees. NOTE: These are auto-generated and may differ between server versions, currently generated for Minecraft 26.1.2. ## NBT - Compound Addon: SkBee Category: Type Syntax: nbtcompound Description: Represents the NBT compound of an entity/block/item/file/string. NBT compounds can be merged by adding together, see examples. Examples: set {_a} to nbt compound of player set {_nbt} to nbt compound of last spawned entity set {_n} to nbt compound from "{Invisible:1b}" add {_n} to nbt of target entity ## Advancement Addon: SkBee Category: Type Syntax: advancement Description: Represents an advancement. These CAN be parsed, see examples. Examples: set {_a} to "minecraft:nether/use_lodestone" parsed as advancement ## Advancement Progress Addon: SkBee Category: Type Syntax: advancementpro Description: Represents the advancement progress of a player. You will see `%advancementpro%` in the docs, this is due to a silly issue with Skript where I couldn't use `progress` in expressions. ## BossBar Addon: SkBee Category: Type Syntax: bossbar Description: Represents a BossBar. Either from an entity or a custom one. Players can be added to/removed from BossBars. Custom BossBars can be deleted, BossBars of entities cannot be deleted. NOTE: BossBars from entities cannot be saved in global variables, as the entity may not be loaded on the server when that variable is trying to load. Custom BossBars can be saved in variables. Examples: set {_bar} to boss bar named "le-bar" add all players to {_bar} ## BossBar Style Addon: SkBee Category: Type Syntax: bossbarstyle Description: Represents the style options of a BossBar. Examples: set bar style of {_bar} to segmented 20 ## BossBar Flag Addon: SkBee Category: Type Syntax: bossbarflag Description: Represents the flag options of a BossBar. Examples: set bar flag darken sky of {_bar} to true ## Bound Addon: SkBee Category: Type Syntax: bound Description: Represents a 3D bounding box between 2 points ## Bound - Move Reason Addon: SkBee Category: Type Syntax: boundmovereason Description: Represents the reason a player moved in/out of a bound. ## Fish Hook State Addon: SkBee Category: Type Syntax: fishhookstate ## ItemComponent - Consume Effect Addon: SkBee Category: Type Syntax: consumeeffect Description: Represents an effect that is used in a consumable/death_protection item component. There are 5 consume effects: apply_effects, remove_effects, clear_all_effects, teleport_randomly and play_sound. Each of these has a function with the same name. ## Data Component Type Addon: SkBee Category: Type Syntax: datacomponenttype Description: Represents the different types of data components. See [**Data Components**](https://minecraft.wiki/w/Data_component_format#List_of_components) on McWiki for more detailed info. ## RayTrace - Result Addon: SkBee Category: Type Syntax: raytraceresult Description: The hit result of a ray trace. Only the hit position is guaranteed to always be available. The availability of the other attributes depends on what got hit and on the context in which the ray trace was performed. ## Recipe Type Addon: SkBee Category: Type Syntax: recipetype Description: Represents the types of recipes. ## Registry - Registry Key Addon: SkBee Category: Type Syntax: registrykey Description: Represents a key for a Minecraft registry. Values in square brackets resemble the Skript type linked to the registry. NOTE: These are auto-generated and may differ between server versions, currently generated for Minecraft 26.1.2. ## Registry - Tag Key Addon: SkBee Category: Type Syntax: tagkey Description: Represents a key for a Minecraft tag. TagKeys can also compare if it contains objects (Think of them like a list). Examples: set {_tagkey} to tag key "minecraft:wool" from block registry if {_tagkey} contains player's tool: if biome registry tag key "minecraft:is_forest" contains biome at player: ## Registry - Typed Key Addon: SkBee Category: Type Syntax: typedkey Description: Represents the key for a value in a Minecraft registry. ## Scoreboard Addon: SkBee Category: Type Syntax: scoreboard Description: Represents the vanilla scoreboard of the server/players. This can be the main server scoreboard, or a custom scoreboard. Do note custom scoreboards are not persistent (do not save to the server). Multiple players can share a custom scoreboard. See [**Scoreboard**](https://minecraft.wiki/w/Scoreboard) on McWiki for more info. ## Scoreboard - Objective Addon: SkBee Category: Type Syntax: objective Description: Represents an objective in a scoreboard. When deleting, the objective will be unregistered. See [**Objectives**](https://minecraft.wiki/w/Scoreboard#Objectives) on McWiki for more info. ## Scoreboard - Criteria Addon: SkBee Category: Type Syntax: criteria Description: Represents a criteria for a scoreboard objective. See [**Criteria**](https://minecraft.wiki/w/Scoreboard#Criteria) on McWiki for more info. ## Scoreboard - Objective Render Type Addon: SkBee Category: Type Syntax: rendertype Description: Controls the way in which an Objective is rendered client side. ## Scoreboard - Objective Display Slot Addon: SkBee Category: Type Syntax: displayslot Description: Locations for displaying objectives to the player ## Team Addon: SkBee Category: Type Syntax: team Description: Represents a scoreboard team. Teams can be deleted (unregistered). Players, entities and strings can be added to and removed from teams. Teams off the main scoreboard cannot be serialized/saved to variables. See [**Teams**](https://minecraft.wiki/w/Scoreboard#Teams) on McWiki for more info. Examples: add all players to team of player add all players to team named "a-team" remove all entities from team named "the-mobs" delete team named "z-team" ## Team - Option Addon: SkBee Category: Type Syntax: teamoption Description: Represents an option for a team. ## Team - Option Status Addon: SkBee Category: Type Syntax: teamoptionstatus Description: Represents an option status for a team option ## Statistic Addon: SkBee Category: Type Syntax: statistic Description: Represents the different statistics for a player. Some stats require extra data, these are distinguished by their data type within the square brackets. Underscores in stat names are not required, you can use spaces. NOTE: 'play_one_minute' stat's name is misleading, it's actually amount of ticks played. NOTE: These are auto-generated and may differ between server versions, currently generated for Minecraft 26.1.2. ## Structure - Template Addon: SkBee Category: Type Syntax: structuretemplate Description: Represents a structure template that can be saved or pasted into a world. See [**Structure Templates**](https://minecraft.wiki/w/Structure_file) on McWiki for more info. These can also be placed using the `/place template` command. Use the 'Structure-Object' expression to get a new/existing structure object. When using `all structures`, this will only show structures that have been currently loaded into the game. ## Structure - Mirror Addon: SkBee Category: Type Syntax: mirror Description: Represents the different states of mirroring for a structure. Examples: set structure mirror of structure {_s} to front back ## Structure - Rotation Addon: SkBee Category: Type Syntax: structurerotation Description: Represents the different states of rotation for a structure template. Examples: set structure rotation of structure {_s} to clockwise 90 ## TextComponent - Text Component Addon: SkBee Category: Type Syntax: textcomp Description: Represents a text component. Text components are how Minecraft manages formatted text in game. See [**Text Component**](https://minecraft.wiki/w/Text_component_format) on McWiki for more information. **NOTE**: These are different than Skript's TextComponent class, as this is a wrapper that holds a component. Examples: set {_t} to text component from "CLICK FOR OUR DISCORD" add hover event showing "Clicky Clicky!" to {_t} add click event to open url "https://OurDiscord.com" to {_t} send component {_t} to player ## Signed Chat Message Addon: SkBee Category: Type Syntax: signedmessage Description: Represents a signed chat message. Examples: remove all players from signed chat message # will remove the message from the client ## Tag Resolver Addon: SkBee Category: Type Syntax: tagresolver Description: Represents an object to replace text in a mini message. Examples: # Create a component set {_t} to translate component of player's tool add hover event showing player's tool to {_t} # Use this component in the resolver to replace "" in the mini message set {_r} to resolver("item", {_t}) # setup the mini message with the replacement placeholder set {_m} to mini message from " Hey guys check out my aint she a beaut?" with {_r} send component {_m} ## Merchant Inventory Addon: SkBee Category: Type Syntax: merchantinventory Description: Represents a trading inventory between a player and a merchant. The holder of this Inventory is the owning Villager, or null if the player is trading with a custom merchant. ## Merchant Recipe Addon: SkBee Category: Type Syntax: merchantrecipe Description: Represents a merchant's trade. Trades can take one or two ingredients, and provide one result. ## ChunkGenerator - Biome Parameter Point Addon: SkBee Category: Type Syntax: biomeparameterpoint Description: The parameter points of a biome during chunk generation. See [**World Generation/Biomes**](https://minecraft.wiki/w/World_generation#Biomes) on McWiki for more details. ## World Creator Addon: SkBee Category: Type Syntax: worldcreator Description: Used to create new worlds. Examples: set {_creator} to new world creator named "my-world" ## World Type Addon: SkBee Category: Type Syntax: worldtype Description: The type of a world Examples: set world type of {_creator} to flat ## Minecraft - EntityType Addon: SkBee Category: Type Syntax: minecraftentitytype Description: Represents a Minecraft entity. These differ slightly from Skript's EntityType as the names match Minecraft namespaces. These also support the use of the Minecraft namespace as well as underscores. NOTE: These are auto-generated and may differ between server versions, currently generated for Minecraft 26.1.2. Examples: mc spawn sheep at player mc spawn minecraft:sheep at player mc spawn minecraft:armor_stand at player ## Potion Type Addon: SkBee Category: Type Syntax: potiontype Description: Represents the different types of potions (not potion effect types) used in vanilla potion items. ## Minecraft Particle Addon: SkBee Category: Type Syntax: minecraftparticle Description: Represents a particle which can be used in the 'Particle Spawn' effect. Some particles require extra data, these are distinguished by their data type within the square brackets. DustOption, DustTransition and Vibration each have their own functions to build the appropriate data for these particles. NOTE: These are auto-generated and may differ between server versions, currently generated for Minecraft 26.1.2. ## Game Event Addon: SkBee Category: Type Syntax: gameevent Description: Represents a Minecraft 'GameEvent', mainly used by Skulk Sensors. Requires MC 1.17+. See [**GameEvents**](https://minecraft.wiki/w/Sculk_Sensor#Vibration_frequencies) on McWiki for more details. NOTE: These are auto-generated and may differ between server versions, currently generated for Minecraft 26.1.2. ## Merchant Addon: SkBee Category: Type Syntax: merchant Description: Represents a merchant. A merchant is a special type of inventory which can facilitate custom trades between items. ## Recipe Choice Addon: SkBee Category: Type Syntax: recipechoice Description: Represents an Exact/Material Choice. MaterialChoice represents a set of materials/minecraft tags which can be used in some recipes. ExactChoice represents a special ItemStack used in some recipes. Requires Minecraft 1.13+ Examples: set {_a} to material choice of diamond sword, diamond shovel and diamond hoe set {_a} to material choice of minecraft tag "minecraft:doors" ## Entity Remove Cause Addon: SkBee Category: Type Syntax: entityremovecause Description: Represents the reasons an entity was removed from the world. NOTE: These are auto-generated and may differ between server versions, currently generated for Minecraft 26.1.2. ## Player Spawn Change Reason Addon: SkBee Category: Type Syntax: playerspawnchangereason Description: Represents the reasons why a player changed their spawn location. NOTE: These are auto-generated and may differ between server versions, currently generated for Minecraft 26.1.2. ## Server Is Paused Addon: SkBee Category: Condition Syntax: server is paused Description: Checks whether the server is sleeping/paused. The server is paused when no players have been online longer than `pause-when-empty-seconds` setting. ## Server Tick - Is Server Frozen/Running Normally Addon: SkBee Category: Condition Syntax: (server|game) (is|(isn't|is not)) [currently] (frozen|running normally) Description: Checks if the server is currently frozen/running normally. When the server is running normally it indicates that the server is not currently frozen. See [**Tick Command**](https://minecraft.wiki/w/Commands/tick) on McWiki for more details. Examples: if server is frozen: teleport all players to spawn of world "world" if server is running normally: kill all sheep ## Server Tick - Is Sprinting/Stepping Addon: SkBee Category: Condition Syntax: (server|game) (is|(isn't|is not)) [currently] (sprinting|stepping) Description: Checks if the server is currently sprinting/stepping. See [**Tick Command**](https://minecraft.wiki/w/Commands/tick) on McWiki for more details. Examples: if server is sprinting: kill all players ## NBT - Is Blank Compound Addon: SkBee Category: Condition Syntax: [a[n]] (blank|empty) nbt compound Description: Checks whether or not the provided nbt compounds are empty. Examples: broadcast whether empty nbt compound is an empty nbt compound send whether nbt from "{}" is an empty nbt compound set {_nbt} to custom nbt copy of player's tool if {_nbt} is a blank nbt compound: broadcast "You got zero nbt ;(" ## Is Critical Hit Addon: SkBee Category: Condition Syntax: hit (is|(isn't|is not)) [a] critical Description: Check if a hit was a critical hit in a damage event. Requires a PaperMC server. Examples: on damage: if attacker is a player: if hit is critical: cancel event ## Advancement - Done Addon: SkBee Category: Condition Syntax: %advancementpro% is done Description: Check if the advancement progress is done. Examples: if advancement progress of {_advancement} of player is done: ## Scoreboard - Objective/Criteria Modifiable Addon: SkBee Category: Condition Syntax: [the] scores of %criterias/objectives% are modifiable Description: Check if an objective/criteria has modifiable scores. Some criteria such as 'health' cannot be modified. See [**Criteria**](https://minecraft.wiki/w/Scoreboard#Criteria) on McWiki for more info. Examples: if the scores of {_objective} are modifiable: if the scores of criteria with id "some_criteria" are modifiable: ## Bound - Is Temporary Addon: SkBee Category: Condition Syntax: %bounds% (is|are) [a] temporary bound[s] Description: Check if a bound is temporary. Examples: if bound with id "temporary-bound" is a temporary bound: ## DamageSource - Property Conditions Addon: SkBee Category: Condition Syntax: %damagesources% (is|are) (indirect|scaled with difficulty) Description: Represents some conditions of a damage source. Examples: if damage source is indirect: if damage source is scaled with difficulty: ## Spawner - Is Activated Addon: SkBee Category: Condition Syntax: %blocks% (is|are) activated Description: Returns true if a player is currently within the required player range of the spawner. Examples: at 7:00: loop {spawners::*}: loop-value is activated broadcast loop-value ## NBT - File Exists Addon: SkBee Category: Condition Syntax: nbt file %string% (exists|doesn't exist) Description: Check if an NBT file already exists. Examples: if nbt file "plugins/MyPlugin/test.nbt" exists: ## ResourcePack - Status - Intermediate Addon: SkBee Category: Condition Syntax: %resourcepackstatus% (is|are) intermediate Description: Whether, after receiving this status, further status events might occur. ## Structure - Template Exists Addon: SkBee Category: Condition Syntax: structure template %string% exists Description: Check if a structure template exists. This can be helpful to prevent overriding structure templates. Examples: if structure template "my_structures:house" exists: if structure template "my_structures:town_hall" doesn't exist: ## Server Tick - Is Entity Frozen Addon: SkBee Category: Condition Syntax: %entities% (is|are) tick frozen Description: Checks if a given entity is frozen. Entities will only be frozen if 3 criteria are met: - Server is frozen (via `/tick freeze` command or frozen state expression). - Entity is not a player. - Entity has no player passengers. I understand the syntax is a bit silly but it's to prevent collission with Skript's `%entity% is frozen` condition. See [**Tick Command**](https://minecraft.wiki/w/Commands/tick) on McWiki for more details. Examples: if target entity is tick frozen: if loop-entity is tick frozen: if all entities are tick frozen: ## World Exists Addon: SkBee Category: Condition Syntax: world file %string% (exists|(does not|doesn't) exist) Description: Check if a world exists in your world directory. Examples: if world file "my-world" exists: ## Is Locked Addon: SkBee Category: Condition Syntax: %blocks% (is|are) locked Description: Check if a lockable container is in a locked state. Examples: on right click on shulker box or beacon: clicked block is locked player has permission "see.locked" send action bar "%container key of clicked block%" to player ## FastBoard - Is On Addon: SkBee Category: Condition Syntax: [score|fast]board of %player% is (on|true) Description: Check if a player's fastboard is currently toggled on/off. Examples: if fastboard of player is on: send "Your scoreboard is on!" ## Block Can Random Tick Addon: SkBee Category: Condition Syntax: %blocks/blockdatas/itemtypes% can random[ly] tick Description: Gets if this block is ticked randomly in the world. The blocks current state may change this value. Examples: on right click: if clicked block can random tick: random tick clicked block ## Is Transferred Addon: SkBee Category: Condition Syntax: %players% (is|are) transferred Description: Check if a player transferred servers. Examples: on join: if player is transferred: kick player due to "No Transfers Bruh!" ## EntityBlockStorage - Is Full Addon: SkBee Category: Condition Syntax: entity storage of %block% is full Description: Check if an entity storage block is fully of entities. As of 1.15 this only includes beehives/bee nests! Examples: if entity storage of block at player is full: if entity storage of target block is not full: ## ItemComponent - Has Components Addon: SkBee Category: Condition Syntax: %itemstacks/itemtypes/slots% (has|doesn't have) (item|data) component %datacomponenttypes% Description: Check if an item has a specific item component. See [Data Component Format](https://minecraft.wiki/w/Data_component_format) on McWiki for more details. Examples: if player's tool has item component minecraft:tooltip_display: if {_i} doesnt have data component minecraft:glider: set {_a} to whether player's tool has max_damage item component ## Entity Would Collide With Addon: SkBee Category: Condition Syntax: %entities% (would|will) collide (with|at) %entity/location/block% Description: Check if an entity would collide with another entity or block. Optionally you can check if an entity would collide with anything at a location. Examples: if player would collide at {_loc}: if {_entity} would collide with {_block}: ## Is Player Listed Addon: SkBee Category: Condition Syntax: %players% (is|are) listed for %players% Description: Check if a player is listed (shown in PlayerList) for another player. Examples: if player is listed for {_p}: ## Bound - Contains Location Addon: SkBee Category: Condition Syntax: %locations% (is|are) [with]in [bound[s]] %bounds% Description: Check if a location is within the bounds of a bounding box. Examples: on break: if location of event-block is within bound with id "spawn.bound": cancel event on damage of a player: if victim is within bound {spawn}: cancel event ## NBT - Has Tag Addon: SkBee Category: Condition Syntax: %nbtcompounds% (has|have) [nbt] tag %string% Description: Check if an NBT Compound contains a tag. Examples: if nbt compound of player has tag "custom;points": if nbt compound of player's tool doesn't have nbt tag "health;score": ## Chunk - Contains BlockData Addon: SkBee Category: Condition Syntax: %chunks% (has|have) block[ ]data %blockdata% Description: Check if a chunk contains a specific block data. This can be useful to check before looping blocks in a chunk. Examples: if chunk at player contains block data sand[]: ## Recipe - Has Discovered Addon: SkBee Category: Condition Syntax: %players% (has|have) discovered recipe[s] %strings% Description: Check if a player has discovered a recipe. Can check recipes you created, another plugin has created, or vanilla Minecraft recipes. When checking recipes that are not your own, make sure to include the namespace, ex "minecraft:diamond_sword", "someplugin:some_recipe". Examples: player has discovered recipe "minecraft:furnace" if player has discovered recipe "my_custom_sword": if player has discovered recipe "someplugin:fancy_shovel": if all players have not discovered recipe "minecraft:golden_shovel": if player has not discovered recipe "my_fancy_hoe": ## Entity Tracked By Player Addon: SkBee Category: Condition Syntax: %entities% (is|are) tracked by %players% Description: Check if entities are tracked by players. Examples: if {_e} is tracked by player: if {_e::*} is not tracked by {_p::*}: ## Team - Is Registered Addon: SkBee Category: Condition Syntax: team[s] [named|with id] %strings% [(of|for) %scoreboard%] (is|are) registered Description: Check if a team is registered. Optionally check for a specific scoreboard (will default to main scoreboard). Examples: if team "a-team" is registered: if team "b-team" of player's scoreboard is registered: ## Folia - Object Owned by Current Region Addon: SkBee Category: Condition Syntax: %entities/blocks/locations% (is|are)[n't] owned by current region Description: Returns whether the current thread is ticking a region and that the region being ticked owns the entity/block/location/chunk at the specified world/position as included in the specified object. The chunk pattern accepts Chunk X/Z, not world position. This is useful to check before manipulating entities/blocks/ect which may not be in the same region as the caller. Examples: on break: if block at location(1,1,1) is owned by current region: set block at location(1,1,1) to stone ## Bound - Intersects Addon: SkBee Category: Condition Syntax: %bound% (intersects with|overlaps) %location% and %location% Description: Check if a bound intersects with another bound or a potential bound at 2 locations. Examples: if {_bound} intersects with {_loc1} and {_loc2}: if {_bound} intersects with {_bound2}: if {_bound} doesn't intersect with {_loc1} and {_loc2}: if {_bound} doesn't intersect with {_bound2}: ## ChunkGenerator - ChunkData X/Z Addon: SkBee Category: Expression Syntax: chunk[ ]data chunk (x|z) Description: Represents the ChunkData's X/Z coordinates. This will typically be used to calculate world position from chunk position for your noise system. Examples: chunk gen: loop 16 times: loop 16 times: set {_x} to (loop-number-1) - 1 set {_z} to (loop-number-2) - 1 set {_noise} to getNoise({_x} + (16 * chunkdata chunk x), {_z} + (16 * chunkdata chunk z)) ## Average Tick Time - MSPT Addon: SkBee Category: Expression Syntax: average tick time Description: Represents the average amount of time (in milliseconds) it takes for the server to finish a tick, also know as MSPT Examples: set {_avg} to average tick time if average tick time > 40: ## BossBar - All Addon: SkBee Category: Expression Syntax: all boss[ ]bars Description: Get a list of all BossBars. Examples: set {_bars::*} to all bossbars ## Entity Shoot Bow - Should Consume Addon: SkBee Category: Expression Syntax: should consume item Description: Get/set whether or not the consumable item should be consumed in an entity shoot bow event. Examples: on entity shoot bow: if shot bow is a bow: set should consume item to false ## TextComponent - Async Chat Format/Message Addon: SkBee Category: Expression Syntax: async chat (format|message) Description: Get/set the chat message from an async chat event as a text component. Set the chat format of an async chat event (no getter for this). Requires PaperMC! Examples: on async chat: set {_m::1} to mini message from "%player% &7» " set {_m::2} to async chat message set {_m} to merge components {_m::*} set async chat format to {_m} ## Entity Shoot Bow - Consumable Addon: SkBee Category: Expression Syntax: consumed item Description: Get the Item to be consumed in an entity shoot bow event (if any). Examples: on entity shoot bow: if consumed item is not an arrow: cancel event ## Fish Event State Addon: SkBee Category: Expression Syntax: fish[ing] [event] state Description: Represents the state of a fishing event. Examples: on fish: if fish event state = caught fish: cancel event ## Server Tick - Tick Rate Addon: SkBee Category: Expression Syntax: server tick rate Description: Represents the tick rate of the server. Can be a value from `1.0` to `10000.0`. Supports fractional numbers, see examples. Default = 20. See [**Tick Command**](https://minecraft.wiki/w/Commands/tick) on McWiki for more details. Examples: set {_rate} to server tick rate set server tick rate to 100 add 1.5 to server tick rate remove 3.75 from server tick rate reset server tick rate ## ChunkGenerator - ChunkData Height Addon: SkBee Category: Expression Syntax: chunk[ ]data height Description: Represents the highest point in a chunk used in a `height gen` section. This is used to tell Minecraft where the highest block is when it needs to generate structures. Examples: height gen: set {_x} to x coord of event-location set {_z} to z coord of event-location set {_n} to getNoise({_x}, {_z}) # This is just an example of a function you could do to get noise) set chunkdata height to {_n} + 1 ## Loaded Custom Worlds Addon: SkBee Category: Expression Syntax: [all] loaded (custom|skbee) worlds Description: Represents all loaded custom worlds created using SkBee. This will not include worlds created by other plugins, such as MultiVerse. Examples: loop all loaded custom worlds: ## NBT - Empty Compound Addon: SkBee Category: Expression Syntax: [a[n]] (blank|empty|new) nbt compound Description: Returns an empty/new NBT compound. Optionally you can define this as a section to modify the created nbt compound directly Examples: set {_nbt} to blank nbt compound set tag "points" of {_nbt} to 10 set {_data} to empty nbt compound: set string tag "name" of nbt to "Jimmy" set int tag "points" of nbt to 99 set compound tag "extra" of nbt to empty nbt compound ## Entity Shoot Bow - Projectile Addon: SkBee Category: Expression Syntax: projectile entity Description: Get/set the projectile which will be launched in an entity shoot bow event. NOTE: Setting doesn't appear to do anything, server bug I guess?!?! Examples: on entity shoot bow: make player ride projectile entity ## Knockback Velocity Addon: SkBee Category: Expression Syntax: simple Description: The knockback velocity in an entity knockback event. Examples: on entity knockback: set knockback velocity to knockback velocity * -1 ## World Creator - Create Section Addon: SkBee Category: Expression Syntax: [[a ]new] world creator Description: Create a new world creator with several options to customize. **Entires**: - `key` = Represents the NamespacedKey of your world (required, accepts NamespacedKey/String). - `seed` = Represents the seed if your world [optional, defaults to random]. - `world_type` = The WorldType of your world [optional, defaults to normal]. - `environment` = The Environment of your world [optional, defaults to normal]. - `generator_settings` = The generator settings of your world used for flat worlds [optional String]. - `structures` = Whether to generate vanilla structures in the world [optional Boolean, defaults to true]. - `hardcore` = Whether to enable hardcore mode in the world [optional Boolean, defaults to false]. - `load_on_start` = Whether to load the world automatically on server start [optional Boolean, defaults to false]. - `spawn_location` = The spawn location of the world [optional Location, Minecraft will try to find one for you]. - `chunk_generator` = A custom chunk generator [optional String, ID of a custom chunk generator]. - `copy_world` = A World to copy settings from [optional World]. - `clone_world` = A World to fully clone [optional World]. Examples: set {_w} to new world creator: key: "my_worlds:cool_world" world_type: large_biomes environment: nether structures: false hardcore: false seed: 12345 clone_world: world("world") set {_w} to new world creator: key: "my_worlds:fancy_world" world_type: normal environment: normal structures: true seed: 9999 chunk_generator: "my_custom_generator" ## ChunkGenerator - Biome Parameter Point Addon: SkBee Category: Expression Syntax: biome parameter point Description: Represents the biome noise parameters which may be passed to a world generator. This is used in the `biome gen` section of a chunk generator. Examples: register chunk generator with id "test": biome gen: if biome continentalness of biome parameter point <= -0.19: set chunkdata biome to ocean else: set {_temp} to biome temp of biome parameter point if {_temp} > 0.55: set chunkdata biome to badlands else if {_temp} > 0.2: set chunkdata biome to desert else if {_temp} > -0.15: set chunkdata biome to jungle else if {_temp} < -0.45: set chunkdata biome to plains else: set chunkdata biome to snowy taiga ## Knockback Attacker/Victim Addon: SkBee Category: Expression Syntax: simple Description: The attacker/victim in an entity knockback event. Examples: on entity knockback: if knockback attacker is a player: if knockback victim is a sheep: cancel event ## Recipe - Result Slot Addon: SkBee Category: Expression Syntax: recipe result [slot] Description: Represents the result slot of a crafting event. Examples: on crafter craft: if event-string = "minecraft:diamond_sword": set name of recipe result to "Señor Sword" else: set recipe result to a stick named "&cNice Try" on preparing craft: set {_e} to event-string if {_e} = "minecraft:diamond_shovel": set name of recipe result to "&cMr Shovel" ## Entity Shoot Bow - Shot Bow Addon: SkBee Category: Expression Syntax: shot bow Description: Gets the bow Item used to fire the arrow in an entity shoot bow event. Examples: on entity shoot bow: if name of shot bow != "Mr Bow": cancel event ## Async Chat Viewers Addon: SkBee Category: Expression Syntax: [async] chat viewers Description: Represents the viewers that this chat message will be displayed to. NOTE: Can only be used in an `async chat event`. Requires PaperMC Examples: on async chat: clear chat viewers add player to chat viewers on async chat: set chat viewers to players in world of player on async chat: remove (all players where [input doesn't have permission "staff.chat"]) from chat viewers ## Server Platform Addon: SkBee Category: Expression Syntax: server platform Description: Returns the platform the server is running on, ex: CraftBukkit, Spigot, Paper. NOTE: This is returned from Skript itself, results may vary when not running a standard Bukkit based server. Examples: set {_platform} to server platform parse if server platform = "Paper": set {_m} to mini message from "OH HI THERE" else: set {_m} to "&bOH HI THERE" send {_m} to player ## DamageSource - Event Value Addon: SkBee Category: Expression Syntax: [the] damage source Description: Get the damage source of a damage/death event. Examples: on damage of player: if damage type of damage source = arrow: broadcast "OUCHIE" if causing entity of damage source is a chicken: broadcast "YOU JERK" ## Game Event - Radius Addon: SkBee Category: Expression Syntax: game[ ]event radius Description: Get/set the radius a game event will broadcast. Examples: on game event: set game event radius to 20 ## Entity Shoot Bow - Force Addon: SkBee Category: Expression Syntax: shoot force Description: Gets the force the arrow was launched with in an entity shoot bow event. This is a number between 0 and 1. Examples: on entity shoot bow: if shot force < 0.5: cancel event ## Server Pause When Empty Time Addon: SkBee Category: Expression Syntax: server pause when empty time Description: Represents the pause when empty threshold seconds. To save resources, the server will pause most functions after this time if there are no players online. Delete will disable this setting. If the returned value is null that means the setting is disabled. Examples: set {_time} to server pause when empty time set server pause when empty time to 1 minute delete server pause when empty time ## BossBar - Create Section Addon: SkBee Category: Expression Syntax: create [a] new boss[ ]bar Description: Create a new BossBar with some optional values. If a BossBar with the same ID already exists, it will be updated with the new values. **Entries**: - `id` = ID for the bossbar (required String/NamespacedKey). - `title` = Title of the bossbar [optional string]. - `color` = Color of the bossbar [optional SkriptColor, defaults to purple]. - `style` = Style of the bossbar [optional BarStyle, defaults to solid]. - `fog` = Whether to enable fog effect [optional Boolean, defaults to false]. - `darken_sky` = Whether to darken the sky [optional Boolean, defaults to false]. - `play_boss_music` = Whether to play boss music [optional Boolean, defaults to false]. - `progress` = Progress of the bossbar [optional Number between 0 and 100]. - `visible` = Whether the bossbar is visible [optional Boolean, defaults to true]. Examples: set {_bar} to create new bossbar: id: "some_id_other" title: "My Bossbar" color: green style: segmented_20 fog: true darken_sky: true play_boss_music: false progress: 75 add all players to {_bar} ## TextComponent - Join/Quit/Kick/Death Message Addon: SkBee Category: Expression Syntax: component join message Description: Get/set the join, quit, kick, death, unknown command messages. Examples: on join: set component join message to mini message from "%player% joined the game" on quit: set component quit message to mini message from "%player% left the game" on death of player: if attacker is a player: set {_t} to translate component of attacker's tool set {_m} to mini message from "<##FA1F01>%victim% <##FAD401>was slain by <##72FA01>%attacker% <##FAD401>using [<##03FCEA>]" set component death message to {_m} ## Signed Chat Message Addon: SkBee Category: Expression Syntax: signed [chat] message Description: Get the signed chat message from the async chat event. This can be used to delete message from clients. Examples: #Simplified Example on async chat: set {_msg} to signed chat message #...a little while later remove all players from {_msg} #Extended Example With Chat Formatting on async chat: #setup chat format set {_m::1} to text component from "&7[&cx&7]" set {_m::2} to text component from " &b%player% &7» " set {_m::3} to async chat message #setup option to delete message when clicking the "[x]" set {_msg} to signed chat message create callback for {_m::1}: if player has permission "admin.chat.deletemessage": remove all players from {_msg} #set chat format to our format set {_format} to merge components {_m::*} set async chat format to {_format} ## Server Tick - Frozen State Addon: SkBee Category: Expression Syntax: server (frozen|freeze) state Description: Get/set the frozen tick state of the server. See [**Tick Command**](https://minecraft.wiki/w/Commands/tick) on McWiki for more details. Examples: set server frozen state to true if server frozen state = false: ## Advancement - All Available Addon: SkBee Category: Expression Syntax: [all] available advancements Description: Get a list of all available advancements currently registered on the server. Examples: set {_a::*} to all available advancements loop all available advancements: ## Block Dropped Items Addon: SkBee Category: Expression Syntax: block dropped (items|item entities) Description: Represents the dropped items in a block drop item event. `block dropped items` = The dropped item entities. `block dropped itemtypes` = The dropped item. Examples: on block drop item: teleport block dropped items to player ## Available Objects Addon: SkBee Category: Expression Syntax: [all] available materials Description: Get a list of all available objects of a specific type. SPECIAL TYPES: `materials` = All materials as ItemTypes (will be a list of blocks and items). `itemtypes` = All item materials as ItemTypes. `blocktypes` = All block materials as ItemTypes. Examples: give player random element of all available itemtypes set {_blocks::*} to all available blocktypes set target block to random element of all available blockdatas ## Bound - Last Created Bound Addon: SkBee Category: Expression Syntax: [the] last[ly] created bound Description: Returns the last created bound. Examples: create a bound with id "" between {_pos1} and {_pos2} broadcast last created bound resize last created bound between {_pos1^2} and {_pos2^2} ## Fishing - Experience Addon: SkBee Category: Expression Syntax: fish[ing] [event] experience Description: Get and modify the amount of experience dropped in a fishing event. Examples: on fishing: add 10xp to fishing experience send fishing experience to player ## Scoreboard - Scoreboard Get Addon: SkBee Category: Expression Syntax: [a] (new|custom) scoreboard Description: Get the vanilla scoreboard, or create a new scoreboard (custom scoreboard are not persistent). Examples: set {_scoreboard} to scoreboard of player set scoreboard of player to a new scoreboard set scoreboard of player to the vanilla scoreboard reset scoreboard of player ## Transfer - Transfer Cookie Addon: SkBee Category: Expression Syntax: transfer cookie Description: Represents the cookie data in a retrieve cookie section. Examples: command /server : trigger: store cookie "%uuid of player%-transfer" with key "transfer" on player transfer player to arg-1 on connect: # only do a cookie check if player was transferred if player is transferred: retrieve cookie with key "transfer" from player: if transfer cookie = "%uuid of player%-transfer": # stop code if cookie is correct stop # kick player if cookie is missing or incorrect kick player due to "&cIllegal Transfer" ## Task - ID Addon: SkBee Category: Expression Syntax: (current|last [created]) task id Description: Get the current task ID. This will only be tasks created with the task section. If running Folia, tasks do not have IDs and this will always return `-1`. You can optionally get the `last task id` which will return the ID of the last created task, this is useful when used outside of the section. Examples: set {_id} to current task id run 0 ticks later repeating every second: set {-id} to current task id add 1 to {_a} if {_a} > 10: exit loop on unload: stop all tasks on break: stop task with id {-id} on place: run task 1 minute later: do some stuff set {_id} to last created task id ## Fish Event Entity Addon: SkBee Category: Expression Syntax: fish[ing] [event] caught entity Description: Represents the caught entity or hook in a fish event. Examples: on fish: if fish state = caught fish: set item of fishing caught entity to diamond ## Spawner - Max Nearby Entities Addon: SkBee Category: Expression Syntax: [the] max nearby [spawner] entities of %blocks% Description: Set the new maximum amount of similar entities that are allowed to be within spawning range of a spawner. If more than the maximum number of entities are within range, the spawner will not spawn and try again. Default value is 16. Examples: add 10 to maximum nearby entities of {_spawner} remove 10 from maximum nearby entities of {_spawner} reset maximum nearby entities of {_spawner} set maximum nearby entities of {_spawner} to 10 ## ItemComponent - Max Stack Size Addon: SkBee Category: Expression Syntax: [the] max stack size component of %itemstacks/itemtypes/slots% Description: Represents the max stack size of an item. See [**MaxStackSize**](https://minecraft.wiki/w/Data_component_format#max_stack_size) on McWiki for more details. **Changers**: - `set` = Set the max stack size, must be an integer between 1 and 99. - `delete` = Will remove the component from the item. - `reset` = Resets back to default stack size. Examples: set max stack size component of player's tool to 1 reset max stack size component of player's tool ## Enchantment Level Addon: SkBee Category: Expression Syntax: [the] enchantment level of %enchantmenttypes% Description: Get the enchantment level from an Enchantment Type. Examples: loop enchantments of player's tool: set {_level} to enchantment level of loop-value set {_enchant} to enchantment of loop-value ## Entity Waypoint Style Addon: SkBee Category: Expression Syntax: [the] waypoint style of %livingentities% Description: Get/set/delete the waypoint style of an entity. Can be set to a NamespacedKey or a string. See [**Waypoint Style**](https://minecraft.wiki/w/Waypoint_style) on McWiki for more info. Examples: set {_key} to waypoint style of player set waypoint style of target entity to "minecraft:bowtie" reset waypoint style of all players ## Entity Visibility Addon: SkBee Category: Expression Syntax: [the] visibility of %entities% Description: Get/set visibility for entities. Armor stands on all versions, ItemFrames on 1.15+ and LivingEntities on 1.16.3+ Examples: set visibility of target entity to false set {_v} to visibility of target entity if visibility of target entity is true: ## Min/Max World Height Addon: SkBee Category: Expression Syntax: [the] (min|max) height of %worlds% Description: Get the min/max height of a world. Examples: set {_height} to max height of world of player ## EntityBlockStorage - Entity Count Addon: SkBee Category: Expression Syntax: (size|amount) of [all] (stored entities|entities stored) in %blocks% Description: Get the amount of entities currently stored in a storage block. As of 1.15 this only includes beehives/bee nests! Requires Spigot/Paper 1.15.2+ Examples: if amount of stored entities in block at player > 10: set {_a} to size of entities stored in event-block ## Chunk Load Level Addon: SkBee Category: Expression Syntax: [the] [chunk] load level of %chunks% Description: Get the load level of a chunk. See type for description of levels. Requires Minecraft 1.19.4+ Examples: if load level of chunk at {_loc} = entity_ticking_level: drop a diamond at {_loc} ## World Time Addon: SkBee Category: Expression Syntax: [the] [full] world time of %worlds% Description: Get/set the time of world, represented as an integer. `world time` = The 24000 tick day cycle of a world. `full world time` = The time of a world over all days. Examples: set {_time} to world time of world of player set {_time} to full world time of world of player set time of world of player to 12000 set full time of world of player to 1000000 add 1000 to world time of world of player add 1000 to full world time of world of player remove 100 from world time of world of player remove 50 from full world time of world of player ## World AutoSave Addon: SkBee Category: Expression Syntax: [the] world auto[ ]save of %worlds% Description: Turn on/off world auto saving. This will prevent changes in the world to be saved to file. This doesn't appear to work when the server stops, so you may need to manually unload your world. Examples: set world autosave of world of player to false ## Recipe - Experience Addon: SkBee Category: Expression Syntax: (experience|[e]xp) of recipe[s] [with id[s]] %strings% Description: Get the experience gained from a cooking recipe. Examples: set {_time} to experience of recipe with id "minecraft:cooked_chicken" ## Biome Key of Location Addon: SkBee Category: Expression Syntax: [the] biome key[s] of %locations% Description: Get/set the biome of a block/location using a NamespacedKey. Requires Paper 1.19+. **NOTES**: - This will support custom biomes. - When setting this will not immediately visually update the biome to players, you will need to use the `refresh %chunk%` effect. Examples: set biome key of block at player to mc key "minecraft:plains" set biome key of blocks in chunk at player to mc key "wythers:ancient_taiga" refresh chunk at player # forces biomes to be re-sent to the player. set {_key} to biome key of block at player set {_keys::*} to biome keys of blocks in chunk at player ## Recipe - All Recipes Addon: SkBee Category: Expression Syntax: [(all [[of] the]|the)] [((mc|minecraft)|custom)] recipe[s] [(for|of) %-itemtypes%] Description: Get a list of all recipes. May be from a specific item, may be just Minecraft recipes or custom recipes. Due to some items having more than 1 recipe this may return multiple recipes. Examples: set {_recipes::*} to all recipes of iron ingot ## TextComponent - Mannequin Description Addon: SkBee Category: Expression Syntax: [the] component mannequin description of %entities% Description: Represents the description of a mannequin entity (text below name). Delete will completely remove the description and reset will take it back to the default value from the Minecraft lang file. Requires Minecraft 1.21.9+ Examples: set component mannequin description of last spawned entity to mini message from "OOOO Imma Mannequin" delete component mannequin description of all mannequins set {_d} to component mannequin description of {_entity} ## Registry - Registry Values Addon: SkBee Category: Expression Syntax: registry values of %registrykey% Description: Get all values from a registry. Examples: set {_biomes::*} to registry values of biome registry loop registry values of item registry: ## Entity Pose Addon: SkBee Category: Expression Syntax: [the] [fixed] pose of %entities% Description: Get/set the pose of an entity. Note: While poses affect some things like hitboxes, they do not change the entity's state (e.g. having sneaking pose does not guarantee `is sneaking` being true). fixed = Forces the state to remain until manually changed (this will not work on players). Examples: set {_pose} to pose of player set pose of target entity to sleeping pose set fixed pose of target entity to swimming pose ## Absorption Amount Addon: SkBee Category: Expression Syntax: [the] absorption amount of %entities% Description: Represents the absorption amount of an entity. Examples: set {_absorption} to absorption amount of player set absorption amount of player to 5 add 2 to absorption amount of player remove 2 from absorption amount of player reset absorption amount of player ## Suspicious Block - Item Addon: SkBee Category: Expression Syntax: [the] suspicious item of %blocks% Description: Represents the item hiding in a Suspicious Block. Requires Minecraft 1.19.4+ Examples: set suspicious item of target block to a diamond delete suspicious item of block at location(199,10,-199, "very_goodNames") ## BlockState - Block Addon: SkBee Category: Expression Syntax: [the] block[s] of %blockstates% Description: Gets the block represented by this block state. Will return nothing if blockstate is not placed in the world. Examples: set {_block} to block of {_blockstate} ## BossBar - Entity/Player Addon: SkBee Category: Expression Syntax: boss[ ]bar of %entity% Description: Get a BossBar from an entity (such as a wither) or all BossBars of players. NOTE: BossBars from entities cannot be saved in global variables, as the entity may not be loaded on the server when that variable is trying to load. Custom BossBars and BossBars from players can be saved in variables. Examples: set {_bar} to boss bar of target entity set {_bars::*} to boss bars of player ## Scoreboard - Objective DisplaySlot Addon: SkBee Category: Expression Syntax: [objective] display[ ]slot of %objective% Description: Get/Set the display slot of an objective. Examples: set display slot of {_objective} to player_list ## TextComponent - Click Event Of Addon: SkBee Category: Expression Syntax: [the] click event of %textcomps% Description: Set the click event of a text component. Examples: set {_t} to text component from "Check out this cool thing at SPAWN!" set hover event of {_t} to a new hover event showing "Clicky clicky to go to spawn!" set click event of {_t} to a new click event to run command "/spawn" send component {_t} to player ## PufferFish - Puff State Addon: SkBee Category: Expression Syntax: [the] puff state of %entities% Description: Represents the puff state of a puffer fish. An integer between 0 and 2 Examples: set puff state of target entity to 1 add 1 to puff state of target entity reset puff state of target entity ## Spawner - Spawn Count Addon: SkBee Category: Expression Syntax: [the] [spawner] spawn count of %blocks% Description: Get how many mobs attempt to spawn. Default is 4. Examples: on place of mob spawner: set spawner spawn count of event-block to 10 add 10 to spawn count of event-block reset spawn count of event-block ## Player Health Scale Addon: SkBee Category: Expression Syntax: [the] health scale of %players% Description: Represents the scaled health of the player sent to the client. NOTE: This is not persistent, does not last restarts/relogs. NOTE: displayedHealth = (health * 2) / (max health * 2) * scale. NOTE: If the player is not currently health scaled, this will not be set. Examples: set health scale of all players to 10 add 10 to health scale of player reset health scale of player set health scale of ("BrettPlaysMC" parsed as offline player) to 0.01 ## Entity Origin Location Addon: SkBee Category: Expression Syntax: [the] origin[ location] of %entities% Description: Represents the location where an entity originates from. Requires PaperMC. Examples: set {_loc} to origin of last spawned entity set {_loc} origin location of {_entity} if distance between {_entity} and origin of {_entity} > 10: ## Pathfinding - Path Points Addon: SkBee Category: Expression Syntax: path [points] of %livingentities% Description: Get all the points along an entity's pathfinding path. Requires Paper 1.13+ Examples: set {_path::*} to path points of last spawned sheep ## ChunkGenerator - ChunkData Biome Addon: SkBee Category: Expression Syntax: chunk[ ]data biome Description: Represents the biome in ChunkData. The first pattern is used to set the biome in the `biome gen` section. The second pattern is used to retrieve biomes in the `chunk gen` and `block pop` sections. NOTE: The vector represents the position of the biome in the chunk, not the world. Examples: biome gen: set chunkdata biome to plains chunk gen: set {_biome} to chunkdata biome at vector(0,0,0) if {_biome} is plains: set chunkdata block at vector(0,0,0) to grass[] ## Minecraft - EntityType Addon: SkBee Category: Expression Syntax: [the] minecraft entity type of %entities% Description: Get the Minecraft EntityType from an entity. Examples: set {_type} to minecraft entity type of target entity ## Team - Color Addon: SkBee Category: Expression Syntax: [the] team color of %teams% Description: Get/set the color of a team. Examples: set team color of {_team} to blue set team color of team of player to red ## Parse Condition - With Return Addon: SkBee Category: Expression Syntax: parse condition[s] %strings% Description: This will parse a string as a condition and then check it and returns whether or not it's valid. If you provide a command sender it works the same as Skript's 'effect commands'. Otherwise it runs using the current event allowing you to use event-values **NOTE:** This is handled very differently from the parse effect expression in addition to behaving differently than Skript's `whether `. If you have no good reason to use this, please check out the other two. *tip: when running into invalid null states try replacing parts with variables* Examples: command /parse : trigger: if parse condition arg-1 is false: send "&4:ERROR&c %arg-1% did not pass" ## Chunk Coordinates Addon: SkBee Category: Expression Syntax: chunk (x|z) of %chunk% Description: Represents the coordinates of a chunk. Examples: set {_x} to chunk x of chunk at player ## Fish Hook - Wait time Addon: SkBee Category: Expression Syntax: [the] (min|max) wait time of %entities% Description: Represents the min/max wait time for a fish hook to catch a fish. NOTE: this is before applying lure. NOTE: min wait time must be less than max wait time. Both must be greater than 0. Defaults: min = 100 ticks (5 seconds), max = 600 ticks (30 seconds). Examples: on fish: if fish state = fishing: set min wait time of fish hook to 1 second set max wait time of fish hook to 2 seconds ## ItemComponent - Charged Projectiles Addon: SkBee Category: Expression Syntax: charged projectiles [component] of %itemstacks/itemtypes/slots% Description: The items loaded as projectiles into a crossbow. If not present, the crossbow is not charged. See [**Charged Projectiles Component**](https://minecraft.wiki/w/Data_component_format#charged_projectiles) on McWiki for more details. Requires Paper 1.21.3+ **Changers**: - `set` = Set the items to be loaded by the crossbow. - `reset` = Reset back to default state. - `delete` = Will delete any value (vanilla or not). Examples: set charged projectiles of player's tool to an arrow and a stick delete charged projectiles component of player's tool reset charged projectiles component of player's tool ## BlockData - All Variations Addon: SkBee Category: Expression Syntax: [all] [possible] block[ ]data (states|variations) of %itemtypes/blockdatas% Description: Returns a list of all possible blockdatas for a particular block type. Requires Paper 1.21.4+ Examples: set {_states::*} to blockdata states of oak log # output: # minecraft:oak_log[axis=x] # minecraft:oak_log[axis=y] # minecraft:oak_log[axis=z] loop all blockdata variations of wall torch: # output: # minecraft:wall_torch[facing=north] # minecraft:wall_torch[facing=south] # minecraft:wall_torch[facing=west] # minecraft:wall_torch[facing=east] ## Structure - Template Object Addon: SkBee Category: Expression Syntax: structure[s] (named|with id[s]|with key[s]) %strings% Description: Create a new, empty structure template or load a structure template from file. If the file you have specified is not available, it will be created upon saving. Structures without a namespace (ex: "tree") will default to the "minecraft" namespace and load from/save to "(main world folder)/generated/minecraft/structure/". Structures with a namespace (ex:"myname:house") will load from/save to "(main world folder)/generated/myname/structure/". To create folders, simply add a slash in your name, ex: "buildings/house". Changes made to structures will not automatically be saved to file, you will need to use the save structure effect. Examples: set {_s} to structure template with id "my-server:houses/house1" set {_s} to structure template with id "my-house" set {_s} to structure template with id "minecraft:village/taiga/houses/taiga_cartographer_house_1" set {_s::*} to structure templates with id "house1" and "house2" ## Spellcaster Spell Addon: SkBee Category: Expression Syntax: [the] [spellcaster] spell of %entities% Description: Get/set/reset the spell of a spell casting entity (Illusioner, Evoker). Examples: set spell of target entity to fangs reset spell of target entity ## Bound - Bounds at Location Addon: SkBee Category: Expression Syntax: [all [[of] the]|the] [-temporary|non[-| ]temporary] bound[s] [id[s]] at %locations% Description: Get a list of non-temporary, temporary, or all bounds bounds/ids at a location. Examples: set {_temporaryBounds::*} to temporary bounds at player set {_nonTemporaryBounds::*} to nontemporary bounds at {_loc} loop all bounds at {locations::*}: broadcast loop-bound ## Enchantment Addon: SkBee Category: Expression Syntax: [the] enchantment of %enchantmenttypes% Description: Get the type of enchantment from an Enchantment Type. Examples: loop enchantments of player's tool: set {_level} to enchantment level of loop-value set {_enchant} to enchantment of loop-value ## ItemComponent - Minimum Attack Charge Addon: SkBee Category: Expression Syntax: [the] min[imum] attack charge [component] of %itemstacks/itemtypes/slots% Description: Represents the minimum attack charge component of an item. The minimum attack charge on the attack indicator required to attack with this item. Must be a non-negative float between 0.0 and 1.0 See [**Minimum Attack Charge**](https://minecraft.wiki/w/Data_component_format#minimum_attack_charge) on McWiki for more details. Requires Minecraft 1.21.11+ **Changers**: `set` = Will set the minimum attack charge of the item. `delete` = Will delete the minimum attack charge of this item. `reset` = Will reset the minimum attack charge back to the original value. Examples: set minimum attack charge of player's tool to 0.5 delete minimum attack charge of player's tool reset minimum attack charge component of player's tool ## Fish Hook - Current Addon: SkBee Category: Expression Syntax: [the] (current|attached) fish[ing] hook[s] of %players% Description: Get the current fish hook attached to a player's fishing rod. Examples: delete current fish hook of player ## ItemComponent - Dyed Color Addon: SkBee Category: Expression Syntax: [the] dyed color [component] of %itemstacks/itemtypes/slots% Description: Represents the dyed color component of an item. This will work on leather armor, or items that have a dye component on their item model. See [**ItemModel**](https://minecraft.wiki/w/Data_component_format#dyed_color) on McWiki for more details. Requires Paper 1.21.3+ **Changers**: `set` = Will set the dyed color of the item. `delete` = Will delete the dyed color of this item. `reset` = Will reset the dyed color back to the original value. Examples: set dyed color of player's tool to red set dyed color of player's tool to rgb(255,100,3) set dyed color of player's tool to yellow delete dyed color of player's tool reset dyed color of {_item} ## NBT - Item from NBT Addon: SkBee Category: Expression Syntax: item[s] (from|of) nbt[s] %nbtcompounds% Description: This expression allows you to grab an item from NBT compounds. This can be useful when wanting to grab items from file nbt, or nbt of an entity or an inventory holding block (like a chest or furnace). It can also be useful for creating your own serializing system. NOTE: Items previously serialized in MC versions 1.20.4 and below, will properly upgrade for MC 1.20.5. Examples: set {_nbt::*} to compound list tag "Inventory" of file nbt of "world/playerdata/some-players-uuid.dat" loop {_nbt::*} set {_i} to item from nbt loop-value ## Bound - World Addon: SkBee Category: Expression Syntax: [the] bound world of %bounds% Description: Get the world of a bound. Examples: set {world} to bound world of bound with id "el-boundo" ## Entity Ticking State Addon: SkBee Category: Expression Syntax: [the] tick[ing] state of %entities% Description: Represents whether or not an entity will tick. Currently this only works for ArmorStands. Examples: spawn an armor stand at player: set ticking state of entity to false ## Chat Completions Addon: SkBee Category: Expression Syntax: [the] [custom] chat completions of %players% Description: Represents the chat completions of a player. `set` = Set the list of chat completion suggestions shown to the player while typing a message. If completions were set previously, this method will remove them all and replace them with the provided completions. `add` = Add custom chat completion suggestions shown to the player while typing a message. `remove` = Remove custom chat completion suggestions shown to the player while typing a message. Online player names cannot be removed with this method. This will affect only custom completions added by add/set. `reset` = Will remove all custom chat completions. NOTE: Supports all objects, will be stringified based on however Skript does it. Examples: add "i like cheese" to chat completions of player add all worlds to chat completions of player set chat completions of player to "potatoes" and "popcorn" reset chat completions of player ## Merchant - Create Addon: SkBee Category: Expression Syntax: [new ]merchant named %string% Description: Creates a new Merchant object with a title. Examples: set {_merch} to new merchant named "Le-Merchant" ## DamageSource - Properties Addon: SkBee Category: Expression Syntax: [the] (causing entity|direct entity|damage type|damage location|food exhaustion|source location) of %damagesources% Description: Represents different elements you can get from a damage source. Examples: on damage of player: if damage type of damage source = arrow: broadcast "OUCHIE" if causing entity of damage source is a chicken: broadcast "YOU JERK" ## Entity NoClip Addon: SkBee Category: Expression Syntax: [the] no[( |-)](clip|physics) (state|mode) of %entities% Description: Set or get the noClip status of an entity (This will not work on players) Examples: spawn a zombie at player set no clip state of last spawned zombie to true set {_var} to no clip state of last spawned sheep loop all entities in radius 5 around player: set no clip state of loop-entity to true push loop-entity up with speed 5 ## TextComponent - Json String Addon: SkBee Category: Expression Syntax: [the] serialized json string of %textcomps% Description: Get the serialized json string of a text component. Useful in NBT. Examples: set {_m} to mini message from "HI MOM, I MADE IT ON THE DOCS" set {_j} to serialized json string of {_m} ## BlockData - Item BlockData Tags Addon: SkBee Category: Expression Syntax: [the] item [block[ ]](data|state) tags of %itemtypes% Description: Get all the tags from the BlockData of an item. Examples: set {_tags::} to item blockdata tags of player's tool ## World Creator Options Addon: SkBee Category: Expression Syntax: [the] (environment|world type|world seed|gen[erator] settings|generator|should gen[erate] structures|[is] hardcore|load on start|fixed spawn location) [option] of %worldcreator% Description: Set different options for world creators. See SkBee wiki for more details. NOTE: 'load on start' will bypass 'auto-load-custom-worlds' in SkBee config. `fixed spawn location` = This is used to override Minecraft attempting to find a spawn location (Which takes a LONG time), this option can greatly speed up world creation. Examples: set {_w} to a new world creator named "my-world" set environment option of {_w} to nether set world type option of {_w} to flat set should generate structures option of {_w} to true set load on start option of {_w} to false set fixed spawn location option of {_w} to location(1,100,1) load world from creator {_w} ## Merchant Recipe - Ingredients Addon: SkBee Category: Expression Syntax: (ingredients|result [item]) of merchant recipe %merchantrecipe% Description: Represents the ingredients/result of a merchant recipe. Ingredients can be set, but the result can not be changed. If you wish to change the result, you will have to create a new merchant recipe. Examples: set {_ing::*} to ingredients of merchant recipe {_recipe} set ingredients of merchant recipe {_recipe} to diamond and stone set {_result} to result item of merchant recipe {_recipe} ## Bound - Blocks Addon: SkBee Category: Expression Syntax: [(all [[of] the]|the)] bound blocks within %bound% Description: Get all of the blocks within a bound. Examples: set {_blocks::*} to all blocks within bound {bound} set {_blocks::*} to bound blocks within bound with id "le-bound" set all bound blocks within {bound} to stone loop all bound blocks within {bound}: if loop-block is stone: set loop-block to grass ## Fish Hook - Hooked State Addon: SkBee Category: Expression Syntax: [the] [fish] hook[ed] state of %entities% Description: Represents the hooked state of a fish hook. Examples: if hook state of fish hook = bobbing: ## Bound - Full State Addon: SkBee Category: Expression Syntax: [the] bound full state of %bounds% Description: Get/set whether this bound is a full bound (reaches from lowest to highest points of a world). Examples: set bound full state of bound with id "home" to true ## Fish Hook - Hooked Entity Addon: SkBee Category: Expression Syntax: [the] hooked entity of %entities% Description: Represents the entity hooked to the fish hook. Examples: on fish: if fish state = caught entity: delete hooked entity of fish event hook ## Structure - Template Entities Addon: SkBee Category: Expression Syntax: structure template entities of %structuretemplate% Description: Get a list of entities in a structure template. This cannot be modified. Examples: loop structure template entities of {_structure}: set {_size} to size of structure template entities of {_structure} ## TextComponent - Item Name Addon: SkBee Category: Expression Syntax: [the] component (item|(custom|display)) name of %itemstacks/itemtypes/slots% Description: Get/set the component name of an Item. `(custom|display) name` = Get/set the `custom_name` component of an item just like you would with Skript's name expression. `item name` = Get/set the `item_name` component of an item (Requires Minecraft 1.20.5+). Unlike setting the custom/display name of an item, this name cannot be changed through an anvil, and does not show in some labels, such as banner markers and item frames. See [**McWiki**](https://minecraft.wiki/w/Data_component_format#item_name) for more details. Examples: set component custom name of player's tool to translate component of "item.minecraft.diamond_sword" delete component custom name of player's tool set component item name of player's tool to mini message from "Stickaxe" delete component item name of player's tool ## Mob Awareness Addon: SkBee Category: Expression Syntax: [the] mob awareness of %entities% Description: Represents whether this mob is aware of its surroundings. Turning this off is essentially like turning off the mobs AI. Unaware mobs will still move if pushed, attacked, etc. but will not move or perform any actions on their own. Unaware mobs will still be affected by gravity. Unaware mobs may also have other unspecified behaviours disabled, such as drowning. Examples: if mob awareness of target entity = true: set mob awareness of target entity to false ## Scoreboard - Team Create Addon: SkBee Category: Expression Syntax: create [a] new team [for %-scoreboard%] Description: Create a new team with a bunch of options. If a Scoreboard is not provided the default server Scoreboard will be used. For more info see [**Teams**](https://minecraft.wiki/w/Scoreboard#Teams) on McWiki. **Entries**: - `id` = The ID/name of this team (required String). - `display_name` = The display name of this team [optional String/TextComponent/TextComp]. - `color` = The color of this team [optional Color]. - `collision_rule` = The collision rule of this team [optional OptionStatus]. - `death_message_visibility` = The death message visibility of this team [optional OptionStatus]. - `nametag_visibility` = The nametag visibility of this team [optional OptionStatus]. - `friendly_fire` = Whether friendly fire is enabled for this team [optional Boolean]. - `see_friendly_invisibles` = Whether friendly invisibles are visible for this team [optional Boolean]. - `prefix` = The prefix of this team [optional String/TextComponent/TextComp]. - `suffix` = The suffix of this team [optional String/TextComponent/TextComp]. Examples: set {-team::blue} to create new team: id: "blue_team" display_name: colored "Blue Team" color: aqua collision_rule: for_other_teams death_message_visibility: always nametag_visibility: for_own_team friendly_fire: false see_friendly_invisibles: true prefix: colored "[Blue Team] " add all players to {-team::blue} ## Player Time Addon: SkBee Category: Expression Syntax: [the] [relative] (player|client) time of %players% Description: Represents the current time on the player's client. When relative is used the player's time will be kept synchronized to its world time with the specified offset. When using non-relative time the player's time will stay fixed at the specified time parameter. It's up to the caller to continue updating the player's time. To restore player time to normal use reset. Both Time and TimeSpan can be used for this. It is best to use Time for non-relative and TimeSpan for relative. Relative will return as a TimeSpan (the offset from world time), non-relative will return as a Time. Examples: set player time of player to 12:00am set player time of all players to 6pm set relative player time of player to 12000 ticks set relative player time of player to 10 minutes set relative player time of all players to 6000 ticks add 10 minutes to player time of player add 1 minute to relative player time of player remove 10 minutes from player time of all players remove 1 minute from relative player time of player reset player time of player reset player time of all players ## Skript Type of Object Addon: SkBee Category: Expression Syntax: [the] (class[ ]info|skript[ ]type) of %objects% Description: Returns the Skript type (also known as 'ClassInfo') of an object. Useful for debugging. Will return as a string. Examples: set {_info} to class info of player's tool ## TextComponent - Effective Name Addon: SkBee Category: Expression Syntax: [the] [component] effective name of %itemstacks% Description: Gets the effective name of an item stack shown to the player. It takes into account the display name (with italics) from the item meta, the potion effect, translatable name, rarity etc. Examples: broadcast effective name of player's tool ## BlockData - Updates Addon: SkBee Category: Expression Syntax: block[ ](data|state) of %blocks% without update[s] Description: Set the BlockData of a block without updates (will prevent physics updates of neighbouring blocks). Examples: set blockdata of target block without updates to oak_fence[] set blockdata of target block without updates to campfire[lit=false] ## ItemComponent - Use Remainder Addon: SkBee Category: Expression Syntax: [the] use remainder [component] of %itemstacks/itemtypes/slots% Description: If present, replaces the item with a remainder item if its stack count has decreased after use. See [**Use Remainder Component**](https://minecraft.wiki/w/Data_component_format#use_remainder) on McWiki for more details. **Changers**: - `set` = Set the item to be replaced with. - `reset` = Reset back to default state. - `delete` = Will delete any value (vanilla or not). Examples: set use remainder of player's tool to 1 of glass bottle delete use remainder of {_item} reset use remainder of {_item} ## Structure - Template Last Placed Location Addon: SkBee Category: Expression Syntax: [the] last placed location of %structuretemplates% Description: Represents the location of the last place a structure template was placed using the place structure effect. **NOTE**: This will only be saved to file if you use the save effect after placing a structure, otherwise it will not persist thru stop/restart. Examples: set {_s} to structure template named "test" place structure {_s} above traget block save structure {_s} set {_last} to last placed location of {_s} ## NBT - UUID for NBT Addon: SkBee Category: Expression Syntax: uuid (int array[( as string)]|most[ bits]|least[ bits]) [(from|of) %-offlineplayer/entity%] Description: Allows you to get an entity's UUID which can be represented in an NBT compound. Prior to 1.16 UUIDs were represented as most/least significant bits. As of 1.16, they are now represented as int arrays. If the player/entity is excluded, this will return a random UUID. Examples: set {_u::*} to uuid int array of player set {_u} to uuid int array as string from player set {_m} to uuid most from target entity set {_l} to uuid least bits of event-entity ## Registry - Tag Key Values Addon: SkBee Category: Expression Syntax: tag[ ]key values of %tagkey% Description: Get all values from a tag key. Examples: set {_biomes::*} to tag key values of tag key "minecraft:has_structure/mineshaft" from biome registry loop tag key values of {_tagKey}: ## Bound - Owners/Members Addon: SkBee Category: Expression Syntax: [the] bound (owner[s]|member[s]) of %bound% Description: Represents the owners and members of a bound. Will be saved as UUIDs in the bound config. Examples: add player to bound members of bound with id "spawn" remove player from bound owners of bound with id "spawn" loop bound owners of bound with id "beach": if loop-offline player is online: teleport loop-offline player to spawn of world "world" ## Tab Completion Argument Addon: SkBee Category: Expression Syntax: tab [complete] arg[ument](s|[(-| )]%number%) Description: Get the argument or a list of all arguments in a tab complete event. Examples: on tab complete of "/breakfast": set tab completions for position 1 to "toast", "eggs" and "waffles" if tab arg-1 = "toast": set tab completions for position 2 to "butter", "peanut_butter" and "jam" else if tab arg-1 = "eggs": set tab completions for position 2 to "sunny_side_up", "scrambled" and "over_easy" set {_l::*} to tab args ## BlockData - Item BlockData Addon: SkBee Category: Expression Syntax: [the] item [block[ ]](data|state) of %itemtypes% Description: Get/set the BlockData that is attached to an item. Examples: set {_item} to a campfire set item blockdata of {_item} to campfire[lit=false] ## Team - Prefix/Suffix Addon: SkBee Category: Expression Syntax: [the] team (prefix|suffix) of %team% Description: Get/set/delete the prefix/suffix of a team. Examples: set team prefix of {_team} to "[OWNER]" set team suffix of {_team} to "[GOLD]" set {_pre} to team prefix of {_team} set team prefix of team of player to "[BestTeam]" ## ItemComponent - Repairable Addon: SkBee Category: Expression Syntax: repairable [component] items of %itemstacks/itemtypes/slots% Description: Represents the items/tags that will be used to repair an item in an anvil. See [**Repairable Component**](https://minecraft.wiki/w/Data_component_format#repairable) on McWiki for more details. **Patterns**: `repairable items` = A list of items that are used. `repairable tag` = A single Minecraft item tag that is used. **Changers**: - `set` = Set the items/tag to allow for repairing. - `reset` = Reset back to default state. - `delete` = Will delete any value (vanilla or not). Examples: set {_items::*} to repairable items of player's tool set {_tag} to repairable tag of player's tool set repairable items of player's tool to diamond, iron ingot and emerald set repairable tag of player's tool to minecraft item tag "diamond_tool_materials" delete repairable tag of player's tool reset repairable tag of player's tool ## Spawner - Spawn Delay Addon: SkBee Category: Expression Syntax: [the] [(-min|max)[imum]] [spawner] spawn delay of %blocks% Description: The delay between a spawner spawning a new entity. Maximum default is 800 ticks (40 seconds). Minimum default is 200 ticks (10 seconds). Examples: on place of mob spawner: set spawner spawn delay of event-block to 3 seconds add 100 to max spawn delay of event-block remove 1 second from min spawn delay of event-block reset spawn delay of event-block ## Structure - Template BlockStates Addon: SkBee Category: Expression Syntax: blockstates of [structure [template]] %structuretemplate% Description: Get a list of the blockstates in a structure template. This represents the palette of blocks a structure template holds. Examples: set {_list::*} to blockstates of structure template {_structure} ## Entity Waypoint Color Addon: SkBee Category: Expression Syntax: [the] waypoint color of %livingentities% Description: Get/set/delete the waypoint color of an entity. Examples: set {_color} to waypoint color of player set waypoint color of all players to red set waypoint color of player to rgb(10, 200, 150) reset waypoint color of target entity ## Scoreboard - Scoreboard of Player Addon: SkBee Category: Expression Syntax: [the] scoreboard of %players% Description: Get/set the scoreboard of players. By default all players share the same main scoreboard unless given a new scoreboard. Do note that custom scoreboards are not persistent. Reset will reset the player's scoreboard back to the main server scoreboard. Examples: set {_scoreboard} to scoreboard of player set scoreboard of player to a new scoreboard set scoreboard of player to the vanilla scoreboard reset scoreboard of player ## BlockState - Get Addon: SkBee Category: Expression Syntax: [the] (captured|block)[ ]state[s] of %blocks% Description: Get a captured state of a block, which will not change automatically. Unlike Block, which only one object can exist per coordinate, BlockState can exist multiple times for any given Block. This can later be used to update, which will force the block back to this state. Examples: set {_state} to blockstate of event-block set event-block to air wait 1 minute force update {_state} without physics updates ## PotionType of Item Addon: SkBee Category: Expression Syntax: [the] potion type of %itemstacks/itemtypes/slots% Description: Get/set/delete the potion type of an item. This is not the same as the potion effect type, this is the base potion Minecraft uses for the potion items in the creative menu. Examples: set potion type of player's tool to strong_leaping if potion type of player's tool = strong leaping: delete potion type of player's tool ## Tab Completions Addon: SkBee Category: Expression Syntax: [skbee] tab completion[s] [(of|for) (last position|position %-number%)] Description: Set the tab completions used in a tab complete event. You can specify which position in the command arguments also. You can also remove texts from tab completions. Examples: on tab complete of "/mycommand": set tab completions for position 1 to "one", "two" and "three" set tab completions for position 2 to 1, 2 and 3 set tab completions for position 3 to all players set tab completions for position 4 to (indexes of {blocks::*}) on tab complete: if event-string contains "/ver": remove "PermissionsEx" from tab completions ## TextComponent - Inventory Name Addon: SkBee Category: Expression Syntax: [the] component inventory (name|title) of %inventories% Description: **DEPRECATED** - Paper will be removing this. Get/set the name of an inventory using components. NOTE: This will only rename OPEN inventories, not inventories saved in variables. NOTE: Internally the component is stringified, so things like fonts wont work. Examples: set component inventory title of player's current inventory to {_t} ## Bound - Locations Addon: SkBee Category: Expression Syntax: [the] bound (center|(greater|lesser) corner) of %bounds% Description: Get/modify the locations of a bound. Greater will always equal the higher south-east corner. Lesser will always equal the lower north-west corner. You can set the two corners of the bound to new values. You can also add/subtract vectors to/from the corners. Examples: set {_center} to bound center of bound with id "spawn-bound" set block at bound greater corner of {_bound} to pink wool set bound lesser corner of {_bound} to location of player set bound greater corner of bound with id "ma_bound" to {_loc} add vector(5,5,5) to bound greater corner of {_bound} subtract vector(0,10,0) from bound greater corner of {_bound} ## RayTrace - Hit Block Addon: SkBee Category: Expression Syntax: [the] [ray[ ]trace] hit block of %raytraceresults% Description: Gets the hit block resulting from a RayTrace. Examples: set {_hit} to ray trace hit block of {_ray} ## Recipe - Result Addon: SkBee Category: Expression Syntax: result[s] of recipe[s] [with id[s]] %strings% Description: Get the result item of a recipe. `ID` = Minecraft or custom NamespacedKey, see examples. Examples: set {_result} to result of recipe "minecraft:oak_door" set {_result} to result of recipe "skbee:some_recipe" set {_result} to result of recipe "my_recipes:some_custom_recipe" ## ItemComponent - Bundle Contents Addon: SkBee Category: Expression Syntax: bundle contents of %itemtypes% Description: Represents the contents of a bundle item. Examples: add 100 diamonds to bundle contents of player's tool remove all diamonds from bundle contents of player's tool delete bundle contents of player's tool ## Chunk - Inhabited Time Addon: SkBee Category: Expression Syntax: [the] inhabited time of %chunks% Description: Get/set the time a chunk has been inhabited. Note that the time is incremented once per tick per player within mob spawning distance of this chunk. Examples: if inhabited time of chunk at player > 10 minutes: set inhabited time of chunk at player to 1 day add 10 minutes to inhabited time of {_chunks::*} remove 3 minutes from inhabited time of {_c} ## ArmorTrim - Item Addon: SkBee Category: Expression Syntax: [the] armor trim of %itemtypes% Description: Represents the armor trim of an item. You can get, set, add or delete/reset. Reset will reset the trim back to any default vanilla value. Delete will remove any trim on the item. Examples: add armor trim from gold_material and eye_pattern to armor trim of player's leggings set armor trim of player's helmet to armor trim from gold_material and eye_pattern delete armor trim of player's leggings reset armor trim of player's boots ## Client Brand Addon: SkBee Category: Expression Syntax: [the] client brand of %players% Description: Returns player's client brand name. If the client didn't send this information, the brand name will be null. For the Notchian client this name defaults to "vanilla". Some modified clients report other names such as "forge". Requires a PaperMC server. Examples: broadcast client brand of player ## BlockState - ItemType Addon: SkBee Category: Expression Syntax: block[ ]state [item[ ]]type of %blockstates% Description: Represents the itemtype of a block state. Examples: set {_type} to blockstate itemtype of {_blockstate} set blockstate itemtype of {_blockstate} to stone ## Spawner - Spawn Range Addon: SkBee Category: Expression Syntax: [the] [spawner] spawn range of %blocks% Description: Get the radius around which a spawner will attempt to spawn mobs in. This area is square, includes the block the spawner is in, and is centered on the spawner's x,z coordinates - not the spawner itself. It is 2 blocks high, centered on the spawner's y-coordinate (its bottom); thus allowing mobs to spawn as high as its top surface and as low as 1 block below its bottom surface. Default value is 4. Examples: on place of mob spawner: set spawn range of event-block to random integer between 0 and 10 ## ItemComponent - Item Model Addon: SkBee Category: Expression Syntax: [the] item model of %itemstacks/itemtypes/slots% Description: Represents the item model component of an item. See [**ItemModel**](https://minecraft.wiki/w/Data_component_format#item_model) on McWiki for more details. **Changers**: `set` = Will set the item model of the item. `delete` = Will delete the item model of this item. `reset` = Will reset the item model back to the vanilla value. Examples: set {_model} to item model of player's tool set item model of player's tool to "minecraft:diamond_sword" set item model of {_item} to "my_pack:some_cool_model" reset item model of player's tool delete item model of {_item} ## Game Tick of World Addon: SkBee Category: Expression Syntax: [the] game[ ]tick[s] of %worlds% Description: Represents the game ticks of a world, essentially how many ticks this world has ticked from since creation. Examples: set {_gt} to game ticks of world of player ## Team - Entries Addon: SkBee Category: Expression Syntax: (string|entity) team entries of %teams% Description: Get the entries of a team. Entries can be entities/players or strings. **NOTE**: When returning as entities, if the entity isn't currently loaded in a world it won't return. OfflinePlayers will also not return. Use strings intead. **NOTE**: When returning as strings this will return the list how Minecraft stores it, player names and entity UUIDs. **NOTE**: adding/removing to/from team entries is now deprecated. Please directly add/remove to/from the team itself. See Team type docs for more info! Examples: set {_team} to team named "my-team" clear team entries of {_team} kill team entries of team named "mob-team" set {_entities::*} to team entries of team named "mobs" set {_strings::*} to team entries as strings of team named "mobs" ## Merchant Recipe - Values Addon: SkBee Category: Expression Syntax: merchant recipe (demand|max uses|price multiplier|special price|uses|villager experience) of %merchantrecipe% Description: Represents different number values of a merchant recipe. Examples: set {_uses} to merchant recipe uses of {_recipe} set merchant recipe demand of {_recipe} to 2 ## BlockState - BlockData Addon: SkBee Category: Expression Syntax: [the] block[ ]state block[ ]data[s] of %blockstates% Description: Represents the blockdata of a block state. Examples: set {_data} to blockstate blockdata of {_blockstate} set blockstate blockdata of {_blockstate} to stone[] ## Spawner - Required Player Range Addon: SkBee Category: Expression Syntax: [the] required (player|activation) range of %blocks% Description: Get the maximum distance(squared) a player can be in order for a spawner to be active. If this value is less than 0, the spawner is always active (given that there are players online). Otherwise if the value is 0 the spawner is never active. Default value is 16. Examples: on place of mob spawner: set required player range of event-block to 0 ## Bound - ID Addon: SkBee Category: Expression Syntax: [the] [bound] id of %bounds% Description: Get/set the id of a bound. When setting the ID of a bound, if another bound has that ID, this will fail with an error in console. You cannot set the IDs of multiple bounds at once. Examples: set {_id} to id of first element of bounds at player loop all bounds at player: set id of loop-bound to "%player%-%id of loop-bound%" set {_id} to id of event-bound send "You entered bound '%id of loop-bound%'" ## ItemComponent - Damage Type Addon: SkBee Category: Expression Syntax: [the] damage type [component] of %itemstacks/itemtypes/slots% Description: Represents the damage type component of an item. See [**Damage Type**](https://minecraft.wiki/w/Data_component_format#damage_type) on McWiki for more details. Requires Minecraft 1.21.11+ **Changers**: `set` = Will set the damage type of the item. `delete` = Will delete the damage type of this item. `reset` = Will reset the damage type back to the original value. Examples: set damage type of player's tool to cactus delete damage type of player's tool reset damage type component of player's tool ## ItemType From NamespacedKey/BlockData Addon: SkBee Category: Expression Syntax: item[ ]type[s] (from|of) %namespacedkeys/blockdatas% Description: Get an ItemType from a Minecraft namespaced key or BlockData. Examples: set {_i} to itemtype from namespaced key from "minecraft:stone" set {_i} to itemtype from block data of target block ## BlockState - Offset Addon: SkBee Category: Expression Syntax: block[ ]state offset[s] of %blockstates% Description: Represents the offset of a blockstate in a structure. This is a vector, distance from the starting block of a structure. Examples: set {_offset} to blockstate offset of {_blockstate} ## RayTrace - Hit Entity Addon: SkBee Category: Expression Syntax: [the] [ray[ ]trace] hit entity of %raytraceresults% Description: Gets the hit entity resulting from a RayTrace. Examples: set {_hit} to raytrace hit entity of {_ray} ## NamespacedKey - Get Addon: SkBee Category: Expression Syntax: (minecraft|mc|namespaced|resource)[ ](key|id[entifier]|location)[s] [(from|of)] %objects% Description: Get the namespaced key of an object or from a string. Note when getting key from string: - NamespacedKeys are a string based key which consists of two components - a namespace and a key (ex: "namespace:key"). - Namespaces may only contain lowercase alphanumeric characters, periods, underscores, and hyphens. - Keys may only contain lowercase alphanumeric characters, periods, underscores, hyphens, and forward slashes. - Minecraft uses the "minecraft:" namespace for built in objects. - If a namespace is not provided, the Minecraft namespace will be used by default -> "minecraft:your_key" - Keys may only contain lowercase alphanumeric characters, periods, underscores, hyphens, and forward slashes. - Keep an eye on your console when using namespaced keys as errors will spit out when they're invalid. For more info please check out [**Identifier**](https://minecraft.wiki/w/Identifier) on McWiki. Examples: set {_key} to mc key of target block set {_key} to namespaced key of player's tool set {_key} to minecraft key of biome at player set {_n} to namespaced key from "minecraft:log" set {_custom} to namespaced key from "my_server:custom_log" set {_n} to namespaced key from "le_test" ## ItemComponent - Stored Enchantments Addon: SkBee Category: Expression Syntax: [the] stored enchant[ment]s of %itemstacks/itemtypes/slots% Description: Get/set the stored enchantments of an enchanted book. Examples: set {_a::*} to stored enchants of player's tool set stored enchants of player's tool to sharpness 3 and unbreaking 2 add sharpness 1 to stored enchants of player's tool delete stored enchants of player's tool remove sharpness from stored enchants of player's tool ## Structure - Template Properties Addon: SkBee Category: Expression Syntax: structure mirror of %structuretemplates% Description: Represents different properties of a structure template, including mirroring, rotation, inclusion of entities and integrity. These properties are only used for placing the structure template in a world, they are NOT saved to the structure file. Mirror determines which way the structure mirrors, either 'none', 'front back' or 'left right'. Rotation determines which way the structure is rotated, either 'none', 'clockwise 90', 'clockwise 180' or 'counterclockwise 90'. Integrity determines how damaged the building should look by randomly skipping blocks to place. This value can range from 0 to 1. With 0 removing all blocks and 1 spawning the structure in pristine condition. Include entities determines if saved entities should be spawned into the structure template (true by default). Size returns a vector offset from the starting point of the structure. This cannot be changed. NOTE: `reset` will reset the value back to default. (added in v-2.7.2) Examples: set structure rotation of {_s} to clockwise 90 set {_r} to structure rotation of {_s} set {_v} to structure size of {_s} set structure include entities of {_s} to false set structure integrity of {_s} to 0.75 reset structure rotation of {_s} reset structure integrity of {_s} ## ItemComponent - Enchantment Glint Override Addon: SkBee Category: Expression Syntax: [the] [enchantment] glint [override] of %itemstacks/itemtypes/slots% Description: Represents the enchantment glint override of an item. Overrides the enchantment glint effect on an item. When `true`, the item will display a glint, even without enchantments. When `false`, the item will not display a glint, even with enchantments. **Note**: If no override is applied, will return null. See [**EnchantmentGlintOverride**](https://minecraft.wiki/w/Data_component_format#enchantment_glint_override) on McWiki for more details. **Changers**: - `set` = Allows you to override the glint. - `reset` = Reset back to default state. - `delete` = Will delete any value (vanilla or not). Examples: set glint override of player's tool to true set glint override of player's tool to false ## TextComponent - Children Addon: SkBee Category: Expression Syntax: [text] component children of %textcomps% Description: Get the children of a text component. This essentially splits the component up into its parts. Examples: set {_children::*} to component children of {_textcomp} ## Recipe - Recipe Type Addon: SkBee Category: Expression Syntax: recipe type of recipe[s] [with id[s]] %strings% Description: Get the type of a recipe. `ID` = Minecraft or custom NamespacedKey, see examples. Examples: set {_type} to recipe type of recipe with id "minecraft:oak_door" set {_type} to recipe type of recipe "skbee:some_recipe" set {_type} to recipe type of recipe with id "my_recipes:some_custom_recipe" if recipe type of recipe with id "my_recipes:some_custom_recipe" = shaped recipe: ## TextComponent - Text Display Entity Text Addon: SkBee Category: Expression Syntax: [the] display [text] component of %displays% Description: Represents the text component of a Text Display Entity. Examples: set display component of {_display} to mini message from "OOO A RAINBOW" ## Translation Key Addon: SkBee Category: Expression Syntax: [the] translation key[s] of %objects% Description: Gets the translation key from an object. Requires PaperMC. Examples: set {_t} to translation key of player's tool ## Block - Exact Location Addon: SkBee Category: Expression Syntax: [the] (exact|true) location of %blocks% Description: Returns the EXACT location of a block. Skript's `location of block` adds 0.5 to each x,y,z coord of the location, the "center" of the block. This expression will return the true location of a block. Examples: set {_loc} to exact location of event-block set {_loc} to exact location of target block if y coord of exact location of event-block = 5: ## Charging Attack Addon: SkBee Category: Expression Syntax: [the] charging attack of %livingentities% Description: Represents a RangedEntity that is "charging" up an attack, by raising its hands. Setting requires a PaperMC server. RangedEntities: Drowned, Illusioner, Llama, Piglin, Pillager, Skeleton, Snowman, Stray, TraderLlama, Witch, Wither, WitherSkeleton. Examples: set charging attack of last spawned entity to true set {_charge} to charging attack of target entity of player if charging attack of target entity of player = true: ## Bound - All Bounds Addon: SkBee Category: Expression Syntax: [all] [temporary|non[-| ]temporary] bound[s] [id[s]] [in %-worlds%] Description: Get a list of non-temporary, temporary, or all bounds/ids. Optionally inside of a specific set of worlds. Examples: set {_temporaryBounds::*} to temporary bounds in world of player set {_nonTemporaryBounds::*} to nontemporary bounds in world("world_nether") loop all bounds: loop all bounds in {worlds::*}: loop all bounds in world of player: loop all bounds in world "world" broadcast loop-bound ## ArmorTrim - Material/Pattern Addon: SkBee Category: Expression Syntax: [the] [armor ]trim (material|pattern) of %armortrims% Description: Represents the material and pattern of an armor trim. These cannot be changed, you'd have to create a new armor trim. Examples: set {_pattern} to trim pattern of armor trim of player's tool ## EntityBlockStorage - Max Entities Addon: SkBee Category: Expression Syntax: [the] max entit(ies|y storage) of %blocks% Description: Get/Set the max amount of entities which can be stored in a block. As of 1.15 this only includes beehives/bee nests! Requires Spigot/Paper 1.15.2+ Examples: set {_m} to max entities of target block of player set max entities of target block of player to 20 set max entity storage of event-block to 5 ## NBT - Tags Addon: SkBee Category: Expression Syntax: [the] nbt tags of %nbtcompound% Description: Get all tags of an NBT compound. Examples: set {_t::*} to nbt tags of {_n} set {_t::*} to nbt tags of nbt compound of player ## Advancement - Progress Criteria Addon: SkBee Category: Expression Syntax: (awarded|remaining) criteria of %advancementpro% Description: Get the awarded/remaining criteria of an advancement progress. Examples: set {_c::*} to awarded criteria of advancement progress of {_advancement} of player ## TextComponent - Team Prefix/Suffix Addon: SkBee Category: Expression Syntax: [the] component team (prefix|suffix) of %teams% Description: Get/set prefix/suffix of teams using components. Examples: set component team prefix of team of player to mini message from "[OWNER] " ## Team - All Teams Addon: SkBee Category: Expression Syntax: all teams [(of|from) %scoreboard%] Description: Get a list of all teams. You have the option to get all teams from a specific scoreboard (defaults to the main scoreboard). Teams off the main scoreboard cannot be serialized/saved to variables (This is due to custom scoreboards not being persistent). Examples: set {_teams::*} to all teams set {_foodBoard} to a custom scoreboard set {_food::*} to all teams from {_foodBoard} ## ItemComponent - Container Addon: SkBee Category: Expression Syntax: container component [items] of %itemstacks/itemtypes/slots% Description: Represents the container component of an item, providing access to its contents. You can add items, remove items, delete the component, go nuts. See [**Container Component**](https://minecraft.wiki/w/Data_component_format#container) on McWiki for more details. **Changers**: - SET = Sets the container component to a specific set of items. - ADD = Adds items to the container component. - REMOVE = Removes items from the container component. - DELETE = Deletes the container component from the item. - RESET = Resets the container component to its default state. ## Recipe - Ingredients of Recipe Addon: SkBee Category: Expression Syntax: [(all [[of] the]|the)] ingredients (for|of) recipe %string% Description: Get the ingredients from a recipe. Examples: set {_ing::*} to ingredients of recipe "minecraft:diamond_sword" loop recipes for iron ingot: set {_ing::*} to ingredients of recipe %loop-value% ## Regeneration Rate Addon: SkBee Category: Expression Syntax: [the] [un]saturated regen[eration] rate of %players% Description: Represents the regeneration rate (1 health per x ticks) of the Player. Saturated = When they have saturation and their food level >= 20. Default is 10 ticks. Unsaturated = When they have no saturation and their food level >= 18. Default is 80 ticks. Examples: set {_regen} to saturated regen rate of player set unsaturated regen rate of player to 10 ticks add 1 second to unsaturated regen rate of player ## BlockData - Tags Addon: SkBee Category: Expression Syntax: [the] block[ ](data|state) tags of %blocks/blockdatas% Description: Get a list of all block data tags of a Block or BlockData. Examples: set {_data::*} to block data tags of target block of player loop block data tags of target block of player: ## SwitchCase - Switch Return Addon: SkBee Category: Expression Syntax: (switch return|return switch) %object% Description: Switch an object and have it return a value. Examples: function getRoman(i: number) :: string: return switch return {_i}: case 1 -> "I" case 2 -> "II" case 3 -> "III" case 4 -> "IV" case 5 -> "V" default -> "potato" function getName(e: entity) :: string: return switch return {_e}: case sheep -> "Mr Sheepy" case cow -> "Mr Cow" case pig -> "Señor Pig" default -> strict proper case "%type of {_e}%" on break: set {_i} to switch return event-block: case stone -> "Stoney Stone" case dirt -> "Dirty Dirt" case grass block -> "Grassy Grass" default: if gamemode of player = creative: return "&c%type of switched object%" else: return "&a%type of switched object%" send "Broken: %{_i}%" to player ## Bound - From ID Addon: SkBee Category: Expression Syntax: bound[s] (of|from|with) id[s] %strings% Description: Get a bound object from a bound ID Examples: set {_b} to bound from id "%player%.home" ## Player Idle Time Addon: SkBee Category: Expression Syntax: [the] idle (time|duration) of %players% Description: Get/reset the idle time of a player. The idle duration is reset when the player sends specific action packets. Requires Paper 1.20.2+ Examples: if idle time of player > 1 minute: kick player due to "hanging out too long" ## Registry - TagKeys from Registry Addon: SkBee Category: Expression Syntax: tag keys (of|from) %registrykey% Description: Get all the tag keys that belong to a registry. Examples: loop tag keys of block registry: set {_keys::*} to tag keys of biome registry ## RayTrace - Hit Location Addon: SkBee Category: Expression Syntax: [the] [ray[ ]trace] hit location of %raytraceresults% Description: Get the hit location resulting from a RayTrace. Examples: set {_hit} to hit location of {_ray} ## TextComponent - Block Name Addon: SkBee Category: Expression Syntax: [the] component [custom] block name of %block% Description: Get/set/delete the custom name of a block. This will work on container blocks and skulls. Even though the custom name of any skull can be set, only a player head will retain its name when broken (Skeleton/creeper/etc skulls will not). Examples: set {_name} to component block name of target block set component block name of target block to mini message from "Mr Potato Head!" delete component block name of target block ## ItemComponent - Food Properties Addon: SkBee Category: Expression Syntax: [the] food (nutrition|saturation) of %itemstacks/itemtypes/slots% Description: Get the food properties of an item. This will only return a value if the item has a food component. See [Food Component](https://minecraft.wiki/w/Data_component_format#food) on McWiki for more details. Examples: set {_nutrition} to food nutrition of player's tool if food saturation of player's tool > 0: ## TextComponent - Player List Name/Header/Footer Addon: SkBee Category: Expression Syntax: [the] component (player|tab)[ ]list (name|header|footer) of %players% Description: Represents the player list name/header/footer of a player. Examples: set component player list name of player to mini message from "%player%" reset component player list name of player set {_comp} to component player list name of player set component player list header of all players to mini message from "MY SERVER!!!" ## Player List Order Addon: SkBee Category: Expression Syntax: [the] player list order of %players% Description: Get/set the relative order that the player is shown on the in-game player list. Examples: set player list order of player to 100 ## FastBoard - Title Addon: SkBee Category: Expression Syntax: title of %players%'[s] [score|fast]board[s] Description: Get/set the title of a player's fastboard. Examples: set title of player's fastboard to "Le Title" set {_title} to title of fastboard of player # Component Support set title of player's fastboard to mini message from "Le Title" set title of player's fastboard to mini message from "Le Title" ## NBT - Compound of Object Addon: SkBee Category: Expression Syntax: [full] [vanilla] [custom] nbt [compound] [copy] (of|from) %objects% Description: Get the NBT compound of a block/entity/item/file/chunk. **SPECIAL CASES**: - `full nbt of %item%` = Returns a copy of the FULL NBT of an item (this includes id, count and 'components' compound). Modifying this will have no effect on the original item. This is useful for serializing items. - `nbt of %item%` = Returns the original. Modifying this will modify the original item. \- This will return the 'components' portion of an item's full NBT. - `custom nbt of %item%` = Returns the 'minecraft:custom_data' component of an item's NBT. Modifying this will modify the original item. Please see [**Data Component Format**](https://minecraft.wiki/w/Data_component_format) on McWiki for more information on item NBT components. - `[full] vanilla nbt of %item%` = Will return the same as above except it will include vanilla components which don't normally show in NBT. - `nbt copy of %objects%` = Returns a copy of the original NBT compound. This way you can modify it without actually modifying the original NBT compound, for example when grabbing the compound from an entity, modifying it and applying to other entities. - `custom nbt of %object%` = Returns the custom portion of the NBT of the object. For many objects Minecraft does not allow for custom NBT, so they're stored in various spots: - Entity: Stored in the entity's PersistentDataContainer. - Item: Stored in the item's `minecraft:custom_data` component. - Block (TileEntity - such as furnace, chest): Stored in the block's PersistentDataContainer. - Block (non TileEntity): Stored in the PersistentDataContainer of the chunk the block is in. NBT from a file will need to be saved manually using the 'NBT - Save File' effect. If the file does not yet exist, a new file will be created. CHANGERS: - `add` = Adding a compound to another compound will merge them (This is controlled by Minecraft, results may vary). - `delete` = Will delete NBT files, or clear the NBT compound (This can break entities/players, be careful!). - `reset` = Will clear the NBT compound (This can break entities/players, be careful!) Examples: set {_n} to nbt of player's tool set {_n} to full nbt of player's tool set {_nbt} to nbt of target entity set {_n} to nbt of chunk at player set {_n} to nbt copy of player set {_n} to nbt from "{components:{""minecraft:enchantments"":{levels:{""minecraft:sharpness"":3}}},count:1,id:""minecraft:diamond_sword""}" set {_nbt} to nbt of file "world/playerdata/some-uuid.dat" add nbt from "{NoAI:1}" to nbt of last spawned entity add nbt from "{NoGravity:1}" to nbt of {_entity} add nbt from "{custom:{points:1}}" to nbt of player add nbt from "{""minecraft:enchantments"":{levels:{""minecraft:sharpness"":10}}}" to component nbt of player's tool delete nbt from file "plugins/some/file.nbt" reset {_n} reset nbt of player's tool ## Team - Name Addon: SkBee Category: Expression Syntax: [the] team [display] name of %teams% Description: Represents the name and display name of a team. NOTE: Display name can be set, name cannot be set. Examples: set team display name of {_team} to "The Warriors" set team display name of team of player to "The Rednecks" set team display name of team named "blue-team" to "Blue Team" set {_name} to team name of team of player ## ItemComponent - Intangible Projectile Addon: SkBee Category: Expression Syntax: [the] intangible projectile component of %itemstacks/itemtypes/slots% Description: If applied, a projectile item can't be picked up by a player when fired, except in creative mode. If the item does not have this component, it will return null, not false. See [**Intangible Projectile Component**](https://minecraft.wiki/w/Data_component_format#intangible_projectile) on McWiki for more details. **Changers**: - `set` = If set to true, the component will be applied, otherwise removed. - `reset` = Reset back to default state. - `delete` = Will delete any value (vanilla or not). Examples: set intangible projectile component of player's tool to true delete intangible projectile component of player's tool reset intangible projectile component of player's tool ## ItemComponent - Enchantable Addon: SkBee Category: Expression Syntax: [the] enchantable component of %itemstacks/itemtypes/slots% Description: If present, and applicable enchantments are available, items with the component can be enchanted in an enchanting table. Positive integer representing the item's enchantability. A higher value allows enchantments with a higher cost to be picked. See [**Enchantable Component**](https://minecraft.wiki/w/Data_component_format#enchantable) on McWiki for more details. **Changers**: - `set` = Allows you to set the enchantability. - `reset` = Reset back to default state. - `delete` = Will delete any value (vanilla or not). Examples: set enchantable component of player's tool to 10 delete enchantable component of player's tool reset enchantable component of {_item} ## ItemComponent - repair cost component Addon: SkBee Category: Expression Syntax: [the] repair cost component of %itemstacks/itemtypes/slots% Description: The number of experience levels to add to the base level cost when repairing, combining, or renaming this item with an anvil. Must be a non-negative integer, defaults to 0. Examples: set repair cost component of player's tool to 3 add 2 to repair cost component of player's tool subtract 1 from repair cost component of player's tool reset repair cost component of player's tool delete repair cost component of {_item} if repair cost component of player's tool > 0: ## Player - Shoulder Entity Addon: SkBee Category: Expression Syntax: [the] (left|right) shoulder entity of %players% Description: Gets the entity currently perched on the shoulder of a player or null if no entity. The returned entity will not be spawned within the world, so most operations are invalid unless the entity is first spawned in. When setting, this will remove the entity from the world. Note that only a copy of the entity will be set to display on the shoulder. Also note that the client will currently only render Parrot entities. Deleting will remove the entity from the player's shoulder. Resetting will release the entity from the player's shoulder. Examples: if right shoulder entity of player is set: set left should entity of player to {_parrot} delete right shoulder entity of player ## Scoreboard - Objective Name Addon: SkBee Category: Expression Syntax: objective (name|id) of %objective% Description: Represents the name/display name of an objective. - `name` = The name/id given to the objective (Cannot be changed). - `display name` = The name the players will see [as a string] (Can be changed). - `component display name` = The name the players will see [as a text component] (Can be changed). Examples: set objective display name of {_objective} to "le-objective" ## Spawn Egg from Entity Addon: SkBee Category: Expression Syntax: [the] spawn egg of %entities/entitydatas% Description: Gets a spawn egg from an entity/entityType. Requires Paper, or Spigot 1.20.1+. Examples: set {_egg} to spawn egg of last spawned entity set {_egg} to spawn egg of (spawner type of target block) ## BossBar - From ID Addon: SkBee Category: Expression Syntax: boss[ ]bar (named|with id|from id) %string% Description: Get an already created BossBar from ID (this will NOT create a new one). Examples: delete boss bar with id "le-bar" set {_bar} to boss bar with id "le-bar" add all players to {_bar} ## TextComponent - Format Addon: SkBee Category: Expression Syntax: [the] (color|bold|italic|(obfuscate[d]|magic)|strikethrough|underline[d]|font|insert[ion]|fallback|shadow color) format of %textcomps% Description: Change formatting options of text components. Most of these are pretty straight forward. Insertion means the text that will copy to chat when a player shift-clicks the component (Might not be available on all versions). Color supports color names as well as RGB color codes via Skript's RGB function (see examples). Fallback is the fallback text used in a translation component when the client cannot find said translation. Examples: set {_t} to text component from "my fancy text component" set bold format of {_t} to true set color format of {_t} to aqua set color format of {_t} to rgb(100, 0, 160) set shadow color format of {_t} to rgb(100,10,255,150) set insertion format of {_t} to "ooooo" set fallback format of {_t} to "Le Fallback" ## Recipe Choice - Material Choice Addon: SkBee Category: Expression Syntax: material choice of %itemtypes/minecrafttags% Description: A material choice is a list of items or a minecraft tag, that can be used as an option in some recipes. Will return as a RecipeChoice. When using the 'every' item type, this will grab all relatable items in a list, ie: 'every sword'. This allows you to have one specific slot of a recipe to accept multiple items, without having to create multiple recipes. Do note that material choices do not accept custom items (ie: items with names, lore, enchants, etc). Requires Minecraft 1.13+ Examples: set {_a} to material choice of diamond sword, diamond shovel and diamond hoe set {_choice} to material choice of minecraft tag "minecraft:planks" ## TextComponent - Entity Name Addon: SkBee Category: Expression Syntax: [the] component entity [custom|display] name of %entities% Description: Get/set the component name of an entity. - `name` = The vanilla name of an Entity, or the player's profile name (cannot be changed). - `custom name` = The custom name of an entity, will only show when the player's crosshair is pointed at them. - `display name` = Same as custom name, but will always show. Examples: set component entity name of target entity to translate component from "entity.minecraft.llama" ## Recipe - CookTime Addon: SkBee Category: Expression Syntax: cook[ ]time of recipe[s] [with id[s]] %strings% Description: Get the cooktime of a cooking recipes. Examples: set {_time} to cooktime of recipe with id "minecraft:cooked_chicken" ## RayTrace - Hit Position Addon: SkBee Category: Expression Syntax: [the] [ray[ ]trace] hit (position|vector) of %raytraceresults% Description: Get the hit position resulting from a RayTrace (returns a vector). Examples: set {_vec} to hit position of {_ray} ## Team - State Addon: SkBee Category: Expression Syntax: [the] (allow friendly fire|can see friendly invisibles) team state of %teams% Description: Represents the friendly fire and can see friendly invisibles states of a team. Examples: set allow friendly fire team state of team named "a-team" to true set can see friendly invisbles team state of team of player to false ## ItemComponent - Glider Addon: SkBee Category: Expression Syntax: [the] glider component of %itemstacks/itemtypes/slots% Description: If applied, allows players to glide (as with elytra) when equipped. If the item does not have a glider, it will return null, not false. See [**Glider Component**](https://minecraft.wiki/w/Data_component_format#glider) on McWiki for more details. **Changers**: - `set` = If set to true, a glider will be applied, otherwise removed. - `reset` = Reset back to default state. - `delete` = Will delete any value (vanilla or not). Examples: if glider component of player's tool is true: if glider component of {_item} is not set: set glider component of player's tool to true delete glider component of {_item} reset glider component of {_item} ## RayTrace - Hit BlockFace Addon: SkBee Category: Expression Syntax: [the] [ray[ ]trace] hit blockface of %raytraceresults% Description: Gets the hit BlockFace resulting from a RayTrace. Examples: set {_face} to ray trace hit blockface of {_ray} ## Entity Collision Addon: SkBee Category: Expression Syntax: [the] (collision|collidable) status of %livingentities% Description: Get/set whether this entity will be subject to collisions with other entities. Note that the client may predict the collision between itself and another entity, resulting in this flag not working for player collisions. This expression should therefore only be used to set the collision status of non-player entities. Resetting will set the collision status to true. Examples: set collision status of {_entity} to false set collision status of all entities to false ## TextComponent - Hover Event Addon: SkBee Category: Expression Syntax: [a] [new] hover event showing %strings/textcomps/itemstacks/entities% Description: Create a new hover event. Can show texts, text components, an item or an entity to a player. 'showing %itemtype%' requires Minecraft 1.18.2+ Examples: set {_t} to text component from "Check out my cool tool!" add hover event showing player's tool to {_t} send component {_t} to player ## Bound - Coords Addon: SkBee Category: Expression Syntax: lesser (x|y|z) coord[inate] of %bounds% Description: DEPRECATED - Use bound locations/world expressions instead The coords and world of a bounding box. You can get the world/coords for a specific bound, you can also set the coords of a bounding box. You can NOT set the world of a bounding box. Greater will always equal the higher south-east corner. Lesser will always equal the lower north-west corner. Examples: set lesser y coord of {bound} to 10 set {_x} to greater x coord of bound with id "my.bound" ## TextComponent - Hover Event Of Addon: SkBee Category: Expression Syntax: [the] hover event of %textcomps% Description: Set the hover event of a text component. Examples: set {_t} to text component from "Check out my cool tool!" set hover event of {_t} to a new hover event showing player's tool send component {_t} to player ## Attribute Modifier Properties Addon: SkBee Category: Expression Syntax: [the] [attribute] modifier (id|amount|slot|operation) of %attributemodifiers% Description: Represents the different components of an attribute modifier. NOTE: These cannot be changed. `id` = The unique NamespacedKey of a modifier. `amount` = Amount of change from the modifier. `slot` = Equipment Slot Group the item must be in for the modifier to take effect. `operation` = The operation of a modifier. See [**McWiki**](https://minecraft.wiki/w/Attribute#Operations) for more details. Examples: set {_id} to modifier id of {_modifier} set {_slot} to modifier slot of {_modifier} if modifier amount of {_mod} > 1: ## ItemComponent - Tooltip Style Addon: SkBee Category: Expression Syntax: [the] tool[ ]tip style [component] of %itemstacks/itemtypes/slots% Description: The key of the custom sprites for the tooltip background and frame which references textures. See [**Tooltip Style Component**](https://minecraft.wiki/w/Data_component_format#tooltip_style) on McWiki for more details. **Changers**: - `set` = Set the key of the texture to use. - `reset` = Reset back to default state. - `delete` = Will delete any value (vanilla or not). Examples: set tooltip style of {_item} to "my_pack:some_style" delete tooltip style of player's tool reset tooltip style of player's tool ## ItemComponent - Damage Resistant Addon: SkBee Category: Expression Syntax: damage resistant [component] of %itemstacks/itemtypes/slots% Description: Represents the damage resistant component of an item. **Requires Minecraft 26.1+** If specified, this item is invulnerable to the specified damage types when in entity form or equipped. See [**Damage Resistant**](https://minecraft.wiki/w/Data_component_format#damage_resistant) on McWiki for more details. **Changers**: `set` = Will set the damage resistant component of the item (Accepts a DamageType TagKey or a list of DamageTypes). `delete` = Will delete the damage resistant component of this item. `reset` = Will reset the damage resistant component back to the original value. Examples: set {_damageTypes::*} to damage resistent component of player's tool set damage resistent component of player's tool to tag key "minecraft:is_fire" from damage_type registry reset damage resistent component of player's tool delete damage resistent component of player's tool ## ChunkGenerator - Biome Parameter Point Values Addon: SkBee Category: Expression Syntax: [the] [min|max|fixed] biome [parameter] ((continentalness|continents)|depth|erosion|(humidity|vegetation)|(peaks and valleys|pv)|temp[erature]|(weirdness|ridges)) of %biomeparameterpoint% Description: Represents the different values of a Biome Parameter Point. This is used in the `biome gen` section of a chunk generator. `fixed` = Will return the grouped ranged value of a param point, example for continentalness: - `-1.2~-1.05` = 0 (Mushroom fields) - `-1.05~-0.455` = 1 (Deep ocean) - `-0.455~-0.19` = 2 (Ocean) - `-0.19~-0.11` = 3 (Coast) - `-0.11~0.03` = 4 (Near-inland) - `0.03~0.3` = 5 (Mid-inland) - `0.3~1.0` = 6 (Far-inland) See [**World Generation/Biomes**](https://minecraft.wiki/w/World_generation#Biomes) on McWiki for more details. Examples: register chunk generator with id "test": biome gen: if biome continentalness of biome parameter point <= -0.19: set chunkdata biome to ocean else: set {_temp} to biome temp of biome parameter point if {_temp} > 0.55: set chunkdata biome to badlands else if {_temp} > 0.2: set chunkdata biome to desert else if {_temp} > -0.15: set chunkdata biome to jungle else if {_temp} < -0.45: set chunkdata biome to plains else: set chunkdata biome to snowy taiga ## TextComponent - Item Lore Addon: SkBee Category: Expression Syntax: [the] component [item] lore of %itemstack/itemtype/slot% Description: Get/set the lore of an item using text components. Examples: set component lore of player's tool to mini message from "OOO RAINBOW LORE" ## Advancement - Criteria Addon: SkBee Category: Expression Syntax: criteria of %advancements% Description: Get a list of the criteria for an advancement. Examples: set {_c::*} to criteria of {_advancement} ## TextComponent - Chest Inventory Addon: SkBee Category: Expression Syntax: [a [new]] chest inventory with component name %textcomp% [with %-number% row[s]] Description: Create a chest inventory with a component name. Examples: set {_t} to mini message from "THIS IS A CHEST" set {_i} to chest inventory with component name {_t} with 2 rows set slot 1 of {_i} to diamond sword open {_i} to player ## Beacon - Entities in Effect Range Addon: SkBee Category: Expression Syntax: [all [[of] the]|the] %*entitydatas% in [beacon] effect range of %blocks% Description: Returns a list of entities in the effect range of a beacon. Examples: command /effected_entities: trigger: set {_block} to target block of player send all entities in beacon effect range of {_block} ## Team - From Entity Addon: SkBee Category: Expression Syntax: team of %entity% [(of|from) %scoreboard%] Description: Get an instance of a team from an entity. You have the option to get a team from a specific scoreboard (defaults to the main scoreboard). Teams off the main scoreboard cannot be serialized/saved to variables (This is because custom scoreboards aren't persistent). Examples: set {_team} to team of player set {_team} to team of player from {-teams::groups} ## BlockData - Item BlockData Tag Addon: SkBee Category: Expression Syntax: [the] item [block[ ]](data|state) tag %string% of %itemtypes% Description: Get/set the value of a tag in the BlockData of an item. ## Recipe - Crafting Result From Items Addon: SkBee Category: Expression Syntax: crafting result [item|id] (of|from) [items] %itemtypes% [in %-world%] Description: Get the result of a crafting recipe from a list of items. This requires either 4 or 9 items, to follow the 2x2 and 3x3 crafting grids respectively. Use `air` to represent blank slots in the crafting grid. I have no clue what the world is for since recipes are not per world, but Bukkit offers it so here we are. Examples: set {_barrel} to crafting result of oak planks, oak slab, oak planks, oak planks, air, oak planks, oak planks, oak slab, oak planks set {_carrotOnStick} to crafting result of fishing rod, air, air, carrot set {_diamondSwordId} to crafting result id of air, diamond, air, air, diamond, air, air, stick, air ## Scoreboard - Objective Get Addon: SkBee Category: Expression Syntax: objective (with id|from [id]) %string% [(from|of) %scoreboard%] Description: Get an already registered objective. Optionally can input a scoreboard (will default to main scoreboard). Examples: set {_obj} to objective with id "le-objective" set {_obj} to objective with id "my_objective" from player's scoreboard ## World Creator Addon: SkBee Category: Expression Syntax: [a] [new] world creator (with name|named) %string% Description: Create a new world creator. This will be used to create a new world. After creating a world creator you will need to load the world. **Name/Key**: - Name: This is the name of your new world (As of Minecraft 26.1, names are discouraged and keys are suggested. - Key: This is the key of your new world, and is used to identify it. - As of Minecraft 26.1, the key will determine where your world folder is saved within the `world/dimensions` folder. **Other**: - Copy will create a fresh new world with the same seed and settings. - Clone will create a carbon copy of your world, if the world is large, this process may take a while. The file copying process will happen on another thread, so this won't freeze your server. - `without saving` = Optionally prevent saving of the world that will be cloned. Saving freezes the server for a bit so this can help speed up the process... if you don't need that world saved at this moment in time. Examples: set {_w} to a new world creator with key "my_stuff:my_world" set environment of {_w} to nether load world from creator {_w} set {_clone} to a new world creator with key "clones:world" to clone world "world" without saving load world from creator {_clone} ## Pathfinding - Path Target Addon: SkBee Category: Expression Syntax: [the] [final] path target[s] [with speed %-number%] of %livingentities% Description: Set the path of an entity to target a specific location, with an optional speed Get the location of the paths end. Delete will stop the entity from pathfinding. Requires Paper 1.13+ Examples: set path target of event-entity to player set path target with speed 1.5 of last spawned entity to location above player set path targets of all entities to location of player delete path target of event-entity ## Team - From ID Addon: SkBee Category: Expression Syntax: team (named|with id) %string% [(of|from) %scoreboard%] Description: Get an instance of a team, by the id. If getting the team and it does not exist, a new team with that name will be registered. You have the option to get a team from a specific scoreboard (defaults to the main scoreboard). Teams off the main scoreboard cannot be serialized/saved to variables (This is because custom scoreboards aren't persistent). Examples: set {_newTeam} to team with id "foo" set team of player to team with id "bar" from {foodbar} ## World Spawn Limit Addon: SkBee Category: Expression Syntax: [the] server wide %spawncategory% spawn limit Description: Get/set the spawn limit of a world. If the world is ommited, the server spawn limit will be returned. World spawn limits can be changed, server spawn limits cannot. If set to a negative number the world will use the server-wide spawn limit instead, reset will do the same. You can read more about [**Mob Caps**](https://minecraft.wiki/w/Mob_spawning#Java_Edition_mob_cap) on McWiki Note: The `misc` category is not supported by this expression. Note: Changes are not persistent thru server restarts. Examples: set the monster spawn limit of player's world to 10 add 1 to animal spawn limit of world("world") reset ambient spawn limit of all worlds set {_limit} to the water animal spawn limit ## Scoreboard - Objective from DisplaySlot Addon: SkBee Category: Expression Syntax: objective[s] (from|by) [display[ ]]slot[s] %displayslots% [(of|from) %scoreboards%] Description: Get/clear objectives from specific display slots of scoreboards. Examples: set {_obj} to objectives from slot sidebar of scoreboard of player set {_obj} to objectives from slot player list set {_obj} to objectives from slot below name from main scoreboard clear objectives from slot player list of main scoreboard ## Team - Options Addon: SkBee Category: Expression Syntax: team option %teamoption% of %teams% Description: Represents an option for a team. Examples: set team option name tag visibility of team named "a-team" to never set team option collision rule of team of player to always ## TextComponent - MiniMessage Addon: SkBee Category: Expression Syntax: mini[ ]message from %string% [with [resolver[s]] %-tagresolvers%] Description: Get a mini message from a string. These messages are still components, which you can still apply hover/click events to. You can also add optional tag resolvers. Essential you create a resolver to replace `` in mini message with something else (See examples for more details). For more info check out the [**Mini Message Format**](https://docs.papermc.io/adventure/minimessage/format/) page. Examples: set {_m} to mini message from "this is a rainbow message" set {_m} to mini message from "PRETTY MESSAGE FROM RED TO BLUE" set {_m} to mini message from "This is a test!" send component mini message from "This is a test!" to all players # Create a component set {_t} to translate component of player's tool add hover event showing player's tool to {_t} # Use this component in the resolver to replace "" in the mini message set {_r} to resolver("item", {_t}) # Setup the mini message with the replacement placeholder set {_m} to mini message from " Hey guys check out my aint she a beaut?" with {_r} send component {_m} ## TextComponent - Click Event Addon: SkBee Category: Expression Syntax: [a] [new] click event to run command %string% Description: Create a new click event to add to a text component. Supports run command, suggest command, open link, copy to clipboard, change book page, open dialog and custom payload. Open dialog and custom payload require Minecraft 1.21.6+ Examples: set {_t} to text component from "Check out my cool website" add hover event showing "Clicky clicky to go to spawn!" to {_t} add click event to open url "https://my.cool.website" to {_t} send component {_t} to player add click event to show dialog with key "some:dialog" to {_t} add click event to run custom payload with key "some:key" with custom data {_nbt} to {_t} ## Scoreboard - Criteria Create Addon: SkBee Category: Expression Syntax: criteria with id %string% Description: Get one of the default Minecraft scoreboard criterias. You can also get a criteria bassed off a statistic. (see [**Scoreboard Criteria**](https://minecraft.wiki/w/Scoreboard#Criteria) on McWiki) or create your own. Examples: set {_c} to criteria with id "health" set {_c} to criteria from sprint_one_cm set {_c} to criteria from mine_block using diamond ore set {_c} to criteria from interact_with_anvil using diamond set {_c} to criteria from craft_item using diamond sword set {_c} to criteria from mob_kills using a player ## NBT - Pretty NBT String Addon: SkBee Category: Expression Syntax: pretty nbt (of|from) %nbtcompounds% [(with|using) split %-string%] Description: Get a 'pretty' NBT string. This is colored the same as when using the vanilla Minecraft '/data' command. Splitting it will output kind of like a JSON output. Requires 1.13.2+ Examples: set {_pretty} to pretty nbt from nbt compound of player's tool send pretty nbt from nbt compound of player's tool set {_nbt} to nbt of player's tool send pretty nbt from {_nbt} to player send pretty nbt from {_nbt} with split " " to console ## BossBar - Properties Addon: SkBee Category: Expression Syntax: [boss[ ]]bar players of %bossbar% Description: Represents the properties of a BossBar that can be changed. Progress of a bar is a number from 0-100. Examples: set {_players::*} to bar players of {_bar} set bar color of {_bar} to blue set bar style of {_bar} to segmented 20 set bar title of {_bar} to "Le-Title" reset bar title of {_bar} set bar progress of {_bar} to 100 set bar flag darken sky of {_bar} to true ## Merchant - Recipes Addon: SkBee Category: Expression Syntax: [all] merchant recipes of %merchants/entities% Description: Represents the recipes of a merchant. All recipes returns a list of all the recipes this merchant offers. You can also set/delete them or add to them. You can also get/set/delete a specific recipe. note: when setting/deleting a specific merchant recipe the merchant MUST have a recipe in that slot Examples: add {_recipe} to merchant recipes of {_merchant} set merchant recipe 1 of {_merchant} to {_recipe} ## Scoreboard - Objective from Criteria Addon: SkBee Category: Expression Syntax: objectives (from|by) criteria[s] %criterias% [(of|from) %scoreboards%] Description: Get objectives from specific criterias of scoreboards. ## Chunks Within Locations Addon: SkBee Category: Expression Syntax: all chunks within %location% and %location% Description: Get a list of all chunks within 2 locations. Examples: loop all chunks within {_l1} and {_l2}: refresh all chunks within {_l1} and {_l2} ## TextComponent - Tooltip Lines Addon: SkBee Category: Expression Syntax: [advanced] [[and] creative] [computed] tool[ ]tip lines of %itemstack/itemtype/slot% [for %-player%] Description: Computes the tooltip lines of an item and returns as a list of text components. **Disclaimer**: Tooltip contents are not guaranteed to be consistent across different Minecraft versions. `advanced` = Whether the context is for advanced tooltips. `creative` = Whether the context is for the creative inventory. `for player` = Creates player specific tooltips. Examples: set {_lines::*} to advanced tooltip lines of player's tool set {_lines::*} to creative tooltip lines of player's tool set {_lines::*} to advanced and creative tooltip lines of player's tool set {_lines::*} to advanced tooltip lines of 1 of diamond sword for player ## NamespacedKey - Object From Addon: SkBee Category: Expression Syntax: %*classinfo% from key[s] %namespacedkeys/strings% Description: Get an object from a namespaced key. This may come in handy in an instance you have a string version that doesn't match Skript and can't be parsed. Also supports some custom objects such as custom Enchantments in Minecraft 1.21+ Currently supported types: attribute, biome, damage type, enchantment, entity type, game event, item type, particle, potion effect type, statistic, world. Examples: set {_n} to mc key from "minecraft:zombie" set {_e} to entity type from key {_n} set {_e} to entity type from key "armadillo" set {_e} to entity type from key "minecraft:breeze" spawn 1 of {_e} above target block set {_i} to itemtype from key "minecraft:stone_sword" give player 1 of {_i} set {_e} to enchantment from key "minecraft:breach" set {_e} to enchantment from key "custom:my_custom_enchant" set enchantment level of {_e} of player's tool to 3 set {_e::*} to enchantments from keys "minecraft:sharpness" and "bloop:shiver" ## Chunk - ChunkKey Addon: SkBee Category: Expression Syntax: chunk key of %chunk% Description: Returns a chunk's chunk coordinates packed into a long. Example would be chunk at 0,0 = 0, chunk at 1,1 = 4294967297. This can be thought of an ID for chunks. ## Book - Pages Addon: SkBee Category: Expression Syntax: page %number% of [book] %itemtype% Description: Allows you to set pages in a book to text components. You can also retrieve the pages. Based on testing, a book's author/title needs to be set AFTER setting the pages, why? I have no idea! Examples: set {_i} to a written book set {_a} to text component of "RULES" set hover event of {_a} to hover event showing "make sure to read our rules" set click event of {_a} to click event to run command "/rules" set page 1 of book {_i} to {_a} set book author of {_i} to "Bob" set book title of {_i} to "MyBook" give player 1 of {_i} ## Entities Sorted by Distance Addon: SkBee Category: Expression Syntax: %entities% sorted by distance from %location% Description: Sort entities by distance from a central location. Examples: loop all entities sorted by distance from player: set {_sort::*} to all mobs sorted by distance from {_loc} set {_p::*} to all players sorted by distance from {spawn} loop all mobs sorted by distance from player: ## Entity Memory Addon: SkBee Category: Expression Syntax: [the] %*memory% memory of %livingentities% Description: Get/set memories of entities. Examples: set {_home} to home memory of {_villager} set home memory of last spawned villager to location of player ## TextComponent - Sign Line Addon: SkBee Category: Expression Syntax: [the] [front|back] sign line %number% of %blocks% Description: Get/set lines of a sign with text components. Optionally set the front/back of a sign. (Defaults to front) Examples: set sign line 1 of target block to mini message from "LINE ONE" set sign line 2 of target block to translate component from "item.minecraft.diamond_sword" set {_line1} to sign line 1 of target block set {_line1} to front sign line 1 of target block set back sign line 1 of {_sign} to mini message from "LINE ONE" ## ArmorTrim - Create Addon: SkBee Category: Expression Syntax: [new] armor trim (of|from|using) %trimmaterial% (and|with) %trimpattern% Description: Create a new armor trim to be applied to an item. Examples: set {_trim} to armor trim using gold_material with eye_pattern add armor trim using gold_material with eye_pattern to armor trim of player's helmet ## BlockFace - Direction Addon: SkBee Category: Expression Syntax: direction of %blockface% [with distance %-number%] Description: Gets a skript direction using a blockface with an optional distance value. Not defining a distance will default it to 0. **NOTE:** this will not work using the `self_face` block face, as Skript makes it NaN. Examples: set {_raytrace} to raytrace from player with max distance {_maxDistance} set {_direction} to direction of (hit blockface of {_raytrace}) spawn zombie {_direction} player ## TextComponent - Object Text Component Addon: SkBee Category: Expression Syntax: object text component [with atlas %-string% [and]] with sprite %string% Description: Create a text component using an atlas/sprite or a player head. The atlas is optional and will default to the "minecraft:blocks" atlas. Requires Minecraft 1.21.9+ See [**Text Component Format on McWiki**](https://minecraft.wiki/w/Text_component_format#Object) for more information. See [**Atlas on McWiki**](https://minecraft.wiki/w/Atlas) for more information on Atlases. Examples: set {_ds} to object text component with sprite "block/diamond_block" set {_head} to object text component with player head from player set {_head} to object text component with player head from "Notch" set {_head} to object text component with player head from {_uuid} ## Parse Effect - With Return Addon: SkBee Category: Expression Syntax: parse effect[s] %strings% [from %-commandsender%] Description: This will parse a string as an effect and then execute it and returns whether or not it executed. If you provide a command sender it works the same as Skript's 'effect commands'. Otherwise it runs using the current event allowing you to use event-values Examples: command /parse : trigger: if parse effect arg-1 = false: send "ERROR: %arg-1%" ## TextComponent - Item Lore Lines Addon: SkBee Category: Expression Syntax: line %integer% of [the] component [item] lore of %itemstack/itemtype/slot% Description: Get/set/delete specific lines of lore of an item using text components. Examples: set {_lore} to line 3 of component lore of {_item} set line 1 of component lore of player's tool to mini message from "Look Mah, I'm in Minecraft!" delete line 6 of component lore of player's tool ## Advancement - Progress Addon: SkBee Category: Expression Syntax: advancement progress of %advancement% (for|of) %players% Description: Returns the advancement progress of a player. ## NBT - Item with NBT Addon: SkBee Category: Expression Syntax: %itemtype% with [custom] [[item( |-)]nbt] %nbtcompound% Description: Get an item with nbt. NOTE: The NBT in the examples represents NBT for Minecraft 1.20.5+ NOTE: The optional `custom` syntax will place nbt in the `"minecraft:custom_data"` component (1.20.5+ only). Examples: give player diamond sword with nbt from "{""minecraft:food"":{nutrition:10,saturation:2.0f}}" set {_n} to nbt from "{custom_data:{points:10}}" set {_i} to netherite axe with nbt {_n} give player diamond pickaxe with nbt from "{""minecraft:damage"":500}" give player 30 apples with nbt from "{""minecraft:max_stack_size"":10}" #These two have the same outcome, just showing the use of `custom` and how it places in the custom_data component. give player diamond sword with nbt from "{""minecraft:custom_data"":{points:10}}" give player diamond sword with custom nbt from "{points:10}" ## Attribute Modifiers of Item/LivingEntity Addon: SkBee Category: Expression Syntax: [default] [transient] %attributetype% [attribute] modifier[s] of %itemtypes/livingentities% Description: Get/change the attribute modifiers of an item/living entity. `default` = This option will return the vanilla modifiers of an item (only used for GET). `transient` = Non-persisent attribute modifier, will not save to the entity's NBT (only used for ADD) (Requires PaperMC). `modifier` will return a single modifier (will default to the 1st element of modifiers of that attribute type if more than 1 exists). `modifiers` will return a list of modifiers of that attribute type. **CHANGERS:** - `add` = Will add a modifier of an attribute type to an item/living entity. - `remove` = Remove a specific modifier of an attribute type from an item/living entity. - `delete` = Will delete all modifiers of an attribute type from an item/living entity. Examples: set {_mods::*} to attack damage modifier of player's tool set {_mod} to first element of attack damage modifier of player's tool set {_mod} to gravity attribute modifier of player delete gravity attribute modifier of player add scale modifier of player's tool to scale modifier of player ## Bound - Values Addon: SkBee Category: Expression Syntax: bound value %string% (of|from) %bound% Description: Get/set/delete custom values for bounds. Some objects will be serialized as their type, others will serialize as just a string. Numbers/Locations/Booleans/(Offline)Players/Items will be serialized as their type. Entities will be serialized as a string version of their UUID. All other objects will be serialized as a string. All bound values will return a list of the values, all bound keys will return a list of keys for these values. Deleting all bound values/keys will clear the list. Examples: set bound value "king" of bound with id "the_garden" to player set {_v} to bound value "king" of {_bound} delete bound value "spawn" of {_bound} set {_values::*} to all bound values of bound with id "ma_bound" set {_keys::*} to all bound keys of bound with id "look_mah_imma_bound" delete all bound values from bound with id "now_im_a_sad_valueless_bound" ## BlockData - Tag Addon: SkBee Category: Expression Syntax: block[ ](data|state) tag %string% of %blocks/blockdatas% [without updates] Description: Get/set a block data tag of BlockData or a Block. Examples: set {_water} to block data tag "waterlogged" of event-block set block data tag "waterlogged" of {_blockData} to true set block data tag "waterlogged" of event-block to true set blockdata tag "waterlogged" of event-block without updates to true ## FastBoard - Line Addon: SkBee Category: Expression Syntax: line %number% of %players%'[s] [score|fast]board[s] Description: Get/set/delete lines of a player's fastboard. Lines are valid from 1 to 15. 1 being the line at the top and 15 being the bottom (This can be changed in the config). Line length is unlimited. Supports number format on Minecraft 1.20.4+ by providing 2 strings (see examples). When running Paper, text components are supported. Examples: set line 1 of player's fastboard to "Look mah I'm on Minecraft" set line 15 of all players' fastboards to "I CAN SEE YOU" set {_line} to line 10 of player's fastboard # NumberFormat on Minecraft 1.20.4+ set line 1 of fastboard of player to "Player:" and "&b%name of player%" # Component Support set line 1 of player's fastboard to mini message from "OOOO RAINBOW" set line 2 of player's fastboard to mini message from "OOOO Tiny Little Text" set line 3 of player's fastboard to translate component of player's tool ## Block - Relative Addon: SkBee Category: Expression Syntax: block[s] relative to %block% (from|using) %blockfaces% Description: Get a block relative to another block using a BlockFace. Examples: set {_rel} to block relative to target block using {_blockFace} set block relative to target block using north to stone ## Bound - Entities Addon: SkBee Category: Expression Syntax: [(all [[of] the]|the)] bound %*entitydatas% (of|in|within) %bounds% Description: Get all of the entities within a bound. NOTE: If the chunk in a bound is unloaded, entities will also be unloaded. Examples: set {_b} to bound with id "my-bound" loop bound entities in {_b}: if loop-entity is a cow or pig: kill loop-entity ## Scoreboard - Objective Score Addon: SkBee Category: Expression Syntax: score of %entities/strings% for %objective% Description: Get/Set the score of an entity/string for an objective. If the score has never been set, it'll return nothing. Examples: set score of player for {_objective} to 10 set score of "le_test" for {_objective} to 25 set {_score} to score of target entity for {_objective} set {_score} to score of "le_test" for {_objective} ## Registry - TagKey from Registry Addon: SkBee Category: Expression Syntax: tag key %string% from %registrykey% Description: Get a TagKey from a registry. You can check if a tag key contains an object. Think of it like a list. Examples: set {_tagkey} to tag key "minecraft:wool" from block registry if {_tagkey} contains player's tool: set {_tagkey} to tag key "my_pack:cool_enchantments" from enchantment registry set {_tagkey} to item registry tag key "minecraft:swords" if biome registry tag key "minecraft:is_forest" contains biome at player: ## Scoreboard - Objective Number Format Addon: SkBee Category: Expression Syntax: number format of %objective% [for %-entities/strings%] Description: Represents the way an objective score can be formatted. There are three format types: Blank (nothing there), Fixed (a string of your choosing) and Styled (colored numbers). NOTES: `set` = You can set the format to any string you'd like (fixed) or a json component (styled number). `delete` = Will leave it blank (nothing will be there, just nothing). `reset` = Will reset back to its original format. See [**Json Formatting**](https://minecraft.wiki/w/Raw_JSON_text_format) on McWiki for more details. Requires Paper 1.20.4+ Examples: # Format to a string/text component set number format of {-obj} to "Look Im Fancy!!" set number format of {-obj} for player to "Im a lil less fancy!" set number format of {-obj} for player to mini message from "Im a lil more fancy!" # Format the number with color/style set number format of {-obj} for player to "{color:red,bold:true}" set number format of {-obj} to "{color:""##0DEAE3"",bold:true}" # Format to blank (will apply the 'blank' format) delete number format of {-obj} delete number format of {-obj} for player # Reset formatting (will remove all formatting) reset number format of {-obj} reset number format of {-obj} for player ## Scoreboard - Objective Score Custom Name Addon: SkBee Category: Expression Syntax: [component] custom score name of %entities/strings% for %objective% Description: Get/change the custom name of the score of an objective for an entry. Supports both components and strings. - `[component]` = Will return as a text component (for set this doesn't matter). - `delete` = Will set the name to an empty component. - `reset` = Will reset back to the original name. Examples: set component custom score name of player for {_someObjective} to mini message from "Some Name" set custom score name of player for {_someObjective} to "Some Name" delete custom score name of "bob" for {_someObjective} reset custom score name of all entities for {_someObjective} ## NBT - Tag Type Addon: SkBee Category: Expression Syntax: [nbt[ ]]tag[ ]type of tag %string% of %nbtcompound% Description: Represents the NBT tag type of a tag in an NBT compound. This is mainly useful for debugging purposes. Examples: set {_type} to tag type of tag "Pos" of nbt compound of player ## Give or Return Items Addon: SkBee Category: Expression Syntax: (give|add) or return %itemtypes% to %inventories% Description: Attempts to add items to an inventory and will return a list of items that did not fit in the inventory. Examples: set {_i::*} to give or return diamond to player if {_i::*} is set: drop {_i::*} at player set {_i::*} to add or return (a diamond and an emerald) to inventory of target block if {_i::*} is set: drop {_i::*} above target block without velocity ## TextComponent - Merge Components Addon: SkBee Category: Expression Syntax: merge components %textcomps/strings% [[join[ed]] (with|using) %-textcomp/string%] Description: Merge multiple components into one. If adding strings/texts, they will be converted into components. Examples: set {_t} to merge components {_t::*} set {_t} to merge components {_t::*} joined with newline ## ChunkGenerator - Highest Block Y Addon: SkBee Category: Expression Syntax: chunk[ ]data highest [block] y at %vector% [for [heightmap] %-heightmap%] Description: Get the highest block y at a position in a chunk in a `block pop` or `surface gen` section. You can optionally choose which HeightMap to use (Defaults to `ocean_floor_wg`). Examples: set {_y} to chunkdata highest y at vector(1,0,1) set {_y} to chunkdata highest y at 1, 1 for heightmap world_surface_wg ## TextComponent - New Text Component Addon: SkBee Category: Expression Syntax: [a] [new] (text|rawtext) component[s] (from|of) %strings% Description: Create a new text component. Can add hover/click events to it. **Types:** Text: Just a plain old text component from a string. Rawtext: Same as text, but color codes will be visible. Keybind: Will use Minecraft's keybind system. Translate: Will use Minecraft's lang file keys. - You can find these in your Minecraft jar `assets/minecraft/lang/.json`. - Also supports getting translations for objects such as ItemTypes, Entities and PotionEffectTypes. - When sent to the client, the client will translate based on the lang they've picked. - Some lang file entries take in other arguments, that's what the optional `using args %objects%` is for. - Optionally you can add a fallback, this is the text sent to the client if the client cannot find the translation key. Json: Will deserialize a json string back into a component. - Minecraft stores components in NBT as json components (ex: name of a held item). Examples: set {_comp::1} to text component from "hi player " set {_comp::2} to text component of "hover over me for a special message!" add hover event showing "OoO look ma I'm hovering!" to {_comp::2} send component {_comp::*} to player set {_t} to translate component from player's tool set {_t} to translate component from "item.minecraft.milk_bucket" set {_death} to translate component from "death.fell.accident.ladder" using args player's name set {_assist} to translate component from "death.fell.assist" using args victim's name and attacker's name set {_custom} to translate component from "my.custom.key" with fallback "Some Message" set {_key} to keybind component of "key.jump" set {_name} to json component from (string tag "custom_name" of nbt of target block) ## Chunk at Coords Addon: SkBee Category: Expression Syntax: chunk at [coord[inate]s] %number%,[ ]%number% [(in|of) %world%] [without (generating|loading)] Description: Get a chunk using chunk coords. NOTE: Chunk coords are different than location coords. Chunk coords are basically location coords divided by 16. Optionally get the chunk without generating it (possibly doesn't load as well). Examples: set {_chunk} to chunk at coords 1,1 set {_chunk} to chunk at coords 1,1 in world "world" set {_chunk} to chunk at 50,50 in world "world_nether" without generating ## Statistic - Get/Set Addon: SkBee Category: Expression Syntax: %statistic% stat[istic] [using %-entitydata/itemtype%] (of|for) %offlineplayers% Description: Represents the statistic of a Player. You can get, set, add, remove or reset stats. Examples: set {_s} to kill entity stat using sheep for player set kill entity stat using zombie for player to 10 add 10 to mine block stat using diamond ore for player remove 10 from chest opened stat for player reset mob kills stat for player ## DamageSource - Create Addon: SkBee Category: Expression Syntax: [[a] new] damage source (of|from) %damagetype% [caused by %-entity%] [directly (by|from) %-entity%] [at %-location%] Description: Create a new damage source which includes a damage type and some optional values. Optional Values: `caused by %entity%` = The entity that caused the damage. `directly by %entity%` = The entity that directly inflicted the damage. `at %location%` = The source of the damage. Examples: set {_source} to damage source from arrow directly by (random element of all entities) set {_source} to damage source of dragon breath set {_source} to damage source of magic set {_source} to damage source of mob_attack_no_aggro caused by target entity of player damage player by 100 with {_source} ## Block in Chunk Addon: SkBee Category: Expression Syntax: block at %number%,[ ]%number%,[ ]%number% (in|of) %chunk% Description: Represents a block in a chunk. X/Z coords will be a value from 0 to 15. Examples: set block at 1,1,1 in chunk at player to stone set {_b} to block at 8,64,8 in chunk at player ## RayTrace - From Entity Addon: SkBee Category: Expression Syntax: ray[ ]trace from %livingentities% [with max distance %-number%] [with ray size %-number%] [while ignoring passable blocks] [while (ignoring|only allowing) %-entities/entitydatas%][while going through %-blocks/itemtypes%] Description: RayTrace from an entity. Default max distance = 'maximum target block distance' in Skript's config. RaySize = entity bounding boxes will be uniformly expanded (or shrunk) by this value before doing collision checks (default = 0.0). IngorePassableBlocks = Will ignore passable but collidable blocks (ex. tall grass, signs, fluids, ..). Ignoring/Only Allowing Entities/EntityTypes = Will ignore/only allow the entities/entitytypes from the final ray. Going through Blocks/ItemTypes = Will ignore the blocks/itemtypes from the final ray. Examples: set {_ray} to ray trace from player with max distance 25 set {_ray} to ray trace from player with max distance 25 while ignoring passable blocks set {_rays::*} to raytrace from all players with ray size 0.1 ## BossBar - Create Addon: SkBee Category: Expression Syntax: [new] boss[ ]bar [(named|with id) %-string%] with title %string% [with (color|colour) %-color%] [with style %-bossbarstyle%] [with progress %-number%] Description: Create your own custom BossBar. **NOTE**: Progress is a number between 0-100. **NOTE**: This just creates a new custom bossbar. It will by default not be visible to anyone until you actually add players to it. See examples!!! **NOTE**: The ID is optional. If excluded, the BossBar will not save to the server. Examples: set {_bar} to boss bar with id "le-bar" with title "My BossBar" set {_bar} to boss bar with id "le-bar" with title "Le Title" with color pink with progress 50 add all players to {_bar} ## Nearest Entity Addon: SkBee Category: Expression Syntax: [%number%] nearest %entitydata% [in radius %-number%] (at|of|around) %location/entity% [excluding %-entities%] Description: Returns the nearest entity around a location/entity. Requires PaperMC. NOTE: When using `around entity`, this will exclude that entity in the search. NOTE: When radius is excluded, the distance will default to Skript's `maximum target block distance`. Examples: kill nearest player in radius 10 around player damage nearest mob in radius 5 around player set {_near} to nearest entity in radius 50 around {_loc} set {_near} to nearest entity in radius 100 around location(100,100,100,world "world") teleport player to nearest player in radius 10 around player damage 10 nearest entity in radius 10 around player by 2 set {_p} to nearest player around player excluding (all player's where [input doesn't have permission "some.perm"]) ## RayTrace - From Location Addon: SkBee Category: Expression Syntax: ray[ ]trace from %location% along %vectors% [with max distance %-number%] [with ray size %-number%] [while ignoring passable blocks] [while (ignoring|only allowing) %-entities/entitydatas%] [while going through %-blocks/itemtypes%] Description: RayTrace from a location along a vector. Default max distance = 'maximum target block distance' in Skript's config. RaySize = entity bounding boxes will be uniformly expanded (or shrunk) by this value before doing collision checks (default = 0.0). IngorePassableBlocks = Will ignore passable but collidable blocks (ex. tall grass, signs, fluids, ..). Ignoring/Only Allowing Entities/EntityTypes = Will ignore/only allow the entities/entitytypes from the final ray. Going through Blocks/ItemTypes = Will ignore the blocks/itemtypes from the final ray. Examples: set {_ray} to ray trace from location of target block along vector(0.25,0.3,0) with max distance 50 ## Scoreboard - Objective Create Addon: SkBee Category: Expression Syntax: objective with id %string% with [criteria] %criteria/string% named %string% [(for|of|from) %scoreboard%] [with render[ ]type %-rendertype%] [(with|in) [display[ ]slot] %-displayslot%] Description: Create an objective. - `id` = The id used to keep track of your objective. - `criteria` = Uses a criteria object. If using an older server version, this will just be a string. - `named` = The display name of this objective. - `for scoreboard` = Optionally use a specific scoreboard (will default to the main scoreboard). - `render type` = How this objective will render, hearts or integer. - `display slot` = Where this objective will render. Examples: set {_obj} to objective with id "le-health" with criteria {_c} named "&bLe &cHealth" with render type hearts in display slot player_list set {_obj} to objective with id "my_objective" with criteria "dummy" named "OUR GOALS!" for scoreboard of player ## Merchant Recipe - Create Addon: SkBee Category: Expression Syntax: [new] merchant recipe with result %itemtype% with max uses %number% [with uses %-number%] [(|with experience reward)] [with villager experience %-number%] [with price multiplier %-number%] [with demand %-number%] [with special price %-number%] Description: Create a merchant recipe. NOTE: You will need to use the merchant recipe ingredients expression to add ingredients. max uses = A trade has a maximum number of uses. A Villager may periodically replenish it's trades by resetting the uses of it's merchant recipes to 0, allowing them to be used again. experience reward = A trade may or may not reward experience for being completed. Demand & Special Price were added in MC 1.18.x: demand = This value is periodically updated by the villager that owns this merchant recipe based on how often the recipe has been used since it has been last restocked in relation to its maximum uses. The amount by which the demand influences the amount of the first ingredient is scaled by the recipe's price multiplier, and can never be below zero. special price = This value is dynamically updated whenever a player starts and stops trading with a villager that owns this merchant recipe. It is based on the player's individual reputation with the villager, and the player's currently active status effects (ex: hero of the village). The influence of the player's reputation on the special price is scaled by the recipe's price multiplier. Examples: set {_m} to merchant recipe with result diamond sword with max uses 10 ## NBT - Tag Addon: SkBee Category: Expression Syntax: %nbttype% %string% of %nbtcompound% Description: Get/set/delete the value of the specified tag of an NBT compound. Also supports getting nested tags using a semi colon as a delimiter. If the return value is a list, you can use it as a list, as it will automatically split it for ya. **Notes**: - `uuid tag` will set an int array tag (This is how MC stores uuids). On return it'll convert back to a uuid. - `boolean tag` will store as a byte but will convert to/from a boolean. - GET FROM LIST BY POSITION: You can get the element of a list by adding `[%number%]` to the end of a tag (This only works for getters, not set/add/remove/delete) see examples. **Custom Tags**: Not all objects in Minecraft support custom NBT data, here are some examples of where custom data can be stored. Optionally you can use `custom nbt of %object%` and let SkBee handle custom data storage. - Entity: Custom data can be stored in the "data" compound tag of an entity's NBT compound. - Block Entity (such as furnace/cheset): Custom data can be stored in the "components" tag within the "minecraft:custom_data" tag. - Item: Custom data can be stored in the "minecraft:custom_data" tag. **Changers**: - ADD: You can add numbers to number type tags, you can also add numbers/strings/compounds to lists type tags. - REMOVE: You can remove numbers from number type tags, you can also remove numbers/strings from lists type tags.(You can NOT remove compounds from lists type tags) Examples: # Getting the value of a simple tag set {_damage} to int tag "minecraft:damage" of nbt of player's tool set {_sheared} to byte tag "Sheared" of nbt of target entity set {_pass::*} to compound list tag "Passengers" of nbt of last spawned entity set {_pos::*} to double list tag "Pos" of nbt of {_sheep} set {_burntime} to short tag "BurnTime" of nbt of target block set {_items::*} to compound list tag "Items" of nbt of target block # Getting the value of a nested tag set {_maybuild} to byte tag "abilities;mayBuild" of nbt of player set {_x} to int tag "Leash;X" of nbt of target entity set {_pos::*} to int array tag "LastDeathLocation;pos" of nbt of player # Setting the value of a simple tag set int tag "Damage" of nbt of player's tool to 100 set byte tag "Sheared" of nbt of last spawned entity to 1 set double list tag "Pos" of nbt of {_sheep} to 1,100,1 set short tag "BurnTime" of nbt of target block to 150 # Setting the value of a nested tag set byte tag "abilities;mayBuild" of nbt of player to 1 set int array tag "LastDeathLocation;pos" of nbt of player to 1,64,1 # Setting the value of a custom tag of an entity/block set int tag "custom;points" of nbt of player to 55 set short tag "custom;bloop" of nbt of last spawned entity to 10 set uuid tag of "custom;owner" of nbt of target block to uuid of player # Adding to the value of a tag add 10 to int tag "Score" of nbt of player add 50 to int tag "custom;points" of nbt of player # Removeing from a value of a tag remove 10 from int tag "Score" of nbt of player remove 25 from int tag "custom;points" of nbt of player # Getting elements from lists set {_c} to compound tag "Inventory[0]" of nbt of player set {_x} to double tag "Pos[0]" of nbt of player set {_y} to double tag "Pos[1]" of nbt of player set {_z} to double tag "Pos[2]" of nbt of player set {_s} to string tag "some_strings[5]" of {_nbt} set {_i} to int tag "intlist[1]" of {_nbt} set {_b} to byte tag "someBytes[10]" of {_nbt} # Minecraft 1.20.5+ item component stuff set int tag "minecraft:max_damage" of nbt of player's tool to 500 set int tag "minecraft:max_stack_size" of nbt of player's tool to 25 set byte tag "minecraft:enchantment_glint_override" of nbt of player's tool to 1 set compound tag "minecraft:fire_resistant" of nbt of player's tool to nbt from "{}" set string tag "minecraft:rarity" of nbt of player's tool to "epic" # All custom data must be within the "minecraft:custom_data" compound # See NBT Compound expression for futher details on the `custom nbt` expression set byte tag "Points" of custom nbt of player's tool to 10 set int tag "MyBloop" of custom nbt of player's tool to 152 # These examples will do the same as above set byte tag "minecraft:custom_data;Points" of nbt of player's tool to 10 set int tag "minecraft:custom_data;MyBloop" of nbt of player's tool to 152 ## ChunkGenerator - ChunkData Block Addon: SkBee Category: Expression Syntax: chunk[ ]data block[data] at %vector% Description: Represents blocks in a ChunkData. The first pattern is used to set a block in a `chunk gen` or `block pop` section. The second pattern is used to fill blocks between 2 points in a `chunk gen` section. NOTE: The vector represents the position in a chunk, not a world. NOTE: You CAN reach into neighbouring chunks going below 0/above 15 in the vector. I don't know how far you can safely reach though. Examples: chunk gen: set chunkdata blocks within vector({_x}, 0, {_z}) and vector({_x}, {_y}, {_z}) to red_concrete[] set chunkdata block at vector({_x}, {_y}, {_z}) to red_concrete_powder[] ## Player Fail Move Addon: SkBee Category: Event Syntax: [on] player fail move Description: Called when a player attempts to move, but is prevented from doing so by the server. Examples: on player fail move: set event-boolean to true set future event-boolean to false if event-failmovereason = clipped_into_block: push player up with speed 1 ## Entity Inside Block Addon: SkBee Category: Event Syntax: [on] entity inside block Description: Called when an entity enters the hitbox of a block. Only called for blocks that react when an entity is inside. If cancelled, any action that would have resulted from that entity being in the block will not happen (such as extinguishing an entity in a cauldron). Currently called for: Big dripleaf, Bubble column, Buttons, Cactus, Campfire, Cauldron, Crops, Ender Portal, Fires, Frogspawn, Honey, Hopper, Detector rails, Nether portals, Pitcher crop, Powdered snow, Pressure plates, Sweet berry bush, Tripwire, Waterlily, Web, Wither rose Examples: on entity inside block: if event-block is a cactus: cancel event broadcast "OUCHIE" ## Player Interact Addon: SkBee Category: Event Syntax: [on] player interact Description: Called when a player interacts (clicks) a block or entity. This is similar to Skript's click event, but more verbose giving you more freedom. Note: This event may be called once for each hand. `event-vector` = `event-equipmentslot` = . `event-blockaction` = . Examples: on player interact: if all: event-equipmentslot = off_hand_slot event-blockaction = right_click_block type of event-item = torch name of event-item = "Mr Torchie" player is sneaking then: cancel event set {_l} to (exact location of clicked block) ~ event-vector make 5 of dust using dustOption(red, 1) at {_l} on player interact on entity: if all: event-equipmentslot = off_hand_slot type of event-item = leash name of event-item = "Mr Leashie" then: cancel event kill clicked entity ## Recipe - Crafter Craft Event Addon: SkBee Category: Event Syntax: [on] crafter craft Description: Called when a Crafter is about to craft an item. Requires Minecraft 1.21.1+ `event-string` = The key for the recipe used in this event. `recipe result` = An expression that reprsents the result slot (can be changed). Examples: on crafter craft: if event-string = "minecraft:diamond_sword": set name of recipe result to "Señor Sword" else: set recipe result to a stick named "&cNice Try" on preparing craft: set {_e} to event-string if {_e} = "minecraft:diamond_shovel": set name of recipe result to "&cMr Shovel" ## Player Click Unknown Entity Addon: SkBee Category: Event Syntax: [on] [player] click unknown entity [with (main|off) hand] Description: Represents an event that is called when a player right-clicks an unknown entity. Useful for dealing with virtual entities (entities that aren't actually spawned on the server). This event may be called multiple times per interaction (this is a server issue). Examples: on right click unknown entity: teleport player to spawn of world "world" ## Player Elytra Boost Addon: SkBee Category: Event Syntax: [on] [player] elytra boost Description: Fired when a player boosts elytra flight with a firework. Examples: on elytra boost: push player forward at speed 50 ## Entity Air Change Addon: SkBee Category: Event Syntax: [on] [entity] air change Description: Called when the amount of air an entity has remaining changes. Examples: on entity air change: if event-entity is a player: cancel event ## World GameRule Change Addon: SkBee Category: Event Syntax: [on] world game[ ]rule change Description: Called when a gamerule is changed in a world. Examples: on world gamerule change: if player is not op: cancel event ## Entity Pose Change Addon: SkBee Category: Event Syntax: [on] entity pose change Description: Called when an entity changes their pose. Examples: on entity pose change: broadcast "%event-entity% changed their pose from %past event-pose% to %event-pose%" ## Pre Phantom Spawn Addon: SkBee Category: Event Syntax: [on] pre phantom spawn[ing] Description: Called before a phantom is spawned for an entity. Note: The phantom entity does not exist when this event is called only the entitytype exists. View the pre creature spawn event for more event values. Examples: on pre phantom spawn: broadcast "Watch out %event-entity% a phantom is coming!" ## Player Leash Addon: SkBee Category: Event Syntax: [on] player leash entity Description: Called immediately prior to a creature being leashed by a player. Examples: on player leash entity: kill event-entity ## Anvil Prepare Event Addon: SkBee Category: Event Syntax: [on] [skbee] anvil prepare Description: Called when a player attempts to combine 2 items in an anvil. 'event-slot' represents the result slot, can be used to get or set. Examples: on anvil prepare: if slot 0 of event-inventory is a diamond sword: if slot 1 of event-inventory is an enchanted book: if stored enchants of slot 1 of event-inventory contains sharpness 5: set {_i} to slot 0 of event-inventory add "&aOOOOOOO" and "&bAHHHHHH" to lore of {_i} enchant {_i} with sharpness 6 set event-slot to {_i} set repair cost of event-inventory to 30 ## Player Purchase Addon: SkBee Category: Event Syntax: [on] player purchase Description: Called when a player trades with a standalone merchant/villager GUI. Requires PaperMC. Examples: on player purchase: ignite event-entity for 1 minute ## Trade Select Addon: SkBee Category: Event Syntax: [on] trade select Description: This event is called whenever a player clicks a new trade on the trades sidebar. This event allows the user to get the index of the trade, letting them get the MerchantRecipe via the Merchant. `event-number` = Used to get the index of the trade the player clicked on. `event-merchantrecipe` = The merchant recipe of the trade that the player clicked on. ## Entity Remove from World Addon: SkBee Category: Event Syntax: [on] entity remove[d] [from world] Description: Fired any time an entity is being removed from a world for any reason. Examples: on entity removed from world: broadcast "a lonely %event-entity% left the world." ## Recipe - Discover Event Addon: SkBee Category: Event Syntax: [on] recipe discover[y] Description: Called when a player unlocks a recipe. Examples: on recipe discover: if event-string = "minecraft:diamond_block" cancel event ## Entity Add to World Addon: SkBee Category: Event Syntax: [on] entity add[ed] to world Description: Fired any time an entity is being added to the world for any reason. Not to be confused with entity spawn event. This will fire anytime a chunk is reloaded too. Requires a PaperMC server. Examples: on entity added to world: delete event-entity ## Unknown Command Addon: SkBee Category: Event Syntax: [on] unknown command Description: This event is fired when a player executes a command that is not defined. ## Entity Place Addon: SkBee Category: Event Syntax: [on] entity place Description: Triggered when an entity is created in the world by a player "placing" an item on a block. Note that this event is currently only fired for four specific placements: armor stands, boats, minecarts, and end crystals. ## Skeleton Horse Trap Event Addon: SkBee Category: Event Syntax: [on] skeleton horse trap Description: Called when a player gets close to a skeleton horse and triggers the lightning trap. Requires Paper 1.13+ Examples: on skeleton horse trap: loop all players in radius 10 around event-entity: if loop-player is an op: cancel event ## Player Attempt Item Pickup Addon: SkBee Category: Event Syntax: [on] player attempt item pickup Description: Called when a player attempts to pick an item up from the ground. Examples: on player attempt item pickup: if event-number > 0: wait 1 tick add (item of event-dropped item) to enderchest of player kill event-dropped item ## Player Chunk Unload Addon: SkBee Category: Event Syntax: [on] player chunk unload Description: Is called when a Player receives a chunk unload packet. Should only be used for packet/clientside related stuff. Not intended for modifying server side. Examples: on player chunk unload: send "looks like you lost your chunk cowboy!" to player ## Block Damage Abort Addon: SkBee Category: Event Syntax: [on] block damage abort Description: Called when a player stops damaging a Block. Requires MC 1.18.x+ Examples: on block damage abort: send "get back to work" ## Player Spawn Change Addon: SkBee Category: Event Syntax: [on] player spawn change Description: This event is fired when the spawn point of the player is changed. Examples: on player spawn change: if event-playerspawnchangereason = bed or respawn_anchor: cancel event send "Nope... sorry!" ## Player Track/Untrack Entity Addon: SkBee Category: Event Syntax: [on] player track entity Description: Called when a player tracks or untracks an entity (Refers to the entity being sent/removed to/from the client). Adding or removing entities from the world at the point in time this event is called is completely unsupported and should be avoided. Track: If cancelled entity is not shown to the player and interaction in both directions is not possible. (This is copied from Paper javadocs and does not seem true. When testing on a zombie, the zombie still attacked me) Examples: on player track entity: if event-entity is a zombie: cancel event ## Entity Pathfind Addon: SkBee Category: Event Syntax: [on] entity start[s] pathfinding Description: Called when an Entity decides to start moving towards a location. This event does not fire for the entities actual movement. Only when it is choosing to start moving to a location. Requires Paper. Examples: on entity starts pathfinding: if event-entity is a sheep: cancel event ## Block Explode Addon: SkBee Category: Event Syntax: [on] block explode Description: Called when a block explodes interacting with blocks. The event isn't called if the gamerule MOB_GRIEFING is disabled as no block interaction will occur. The Block returned by this event is not necessarily the block that caused the explosion, just the block at the location where the explosion originated. ## Async Chat Addon: SkBee Category: Event Syntax: [on] async chat Description: An event fired when a Player sends a chat message to the server. This event is for use with text components, if you don't need components stick with Skript's chat event. **NOTE**: Due to being async, some Skript things won't work and will fire errors (ex: setting a block). Requires PaperMC. Examples: on async chat: set {_m::1} to mini message from "%player% » " set {_m::2} to async chat message set {_m} to merge components {_m::*} set async chat format to {_m} ## Server Resources Reloaded Addon: SkBee Category: Event Syntax: [on] server resources reload[ed] Description: Called when resources such as datapacks are reloaded (e.g. /minecraft:reload). Intended for use to re-register custom recipes, advancements that may be lost during a reload like this. This can also be used after SkBriggy commands are loaded (since they appear to wipe recipes). Examples: function loadRecipes(): register shaped recipe: ... on skript load: # Load recipes when the server starts loadRecipes() on server resources reload: # Reload recipes when datapacks get reloaded loadRecipes() ## Player Stop Using Item Addon: SkBee Category: Event Syntax: [on] [player] stop using item Description: Called when the server detects a player stopping using an item. Examples of this are letting go of the interact button when holding a bow, an edible item, or a spyglass. Examples: on player stop using item: if event-item is a spyglass: kill player ## Unchecked Sign Change Addon: SkBee Category: Event Syntax: [on] unchecked sign change Description: Called when a client attempts to modify a sign, but the location at which the sign should be edited has not yet been checked for the existence of a real sign. This event is used for client side sign changes. `event-text components` = The lines from the sign (will include all 4 lines, reglardless if they were changed). `event-location` = The location of the client side sign block. ## Block Physical Interact Event Addon: SkBee Category: Event Syntax: [on] block (interact|trample) Description: Called when an entity physically interacts with a block, for example, entities trampling farmland and villagers opening doors. Examples: on block trample: if type of event-block is farmland: cancel event ## Player Chunk Load Addon: SkBee Category: Event Syntax: [on] player chunk (send|load) Description: Is called when a Player receives a Chunk. Can for example be used for spawning a fake entity when the player receives a chunk. Should only be used for packet/clientside related stuff. Not intended for modifying server side state. Examples: on player chunk send: loop all blocks in event-chunk: if loop-block is diamond ore: make player see loop-block as stone ## Entity Change Block Addon: SkBee Category: Event Syntax: [on] entity change block Description: Called when any Entity changes a block and a more specific event is not available. Skript does partially have this event, but this version of it opens up ALL possibilities with this event. event-entity = the entity which changed the block event-block = the block that changed event-blockdata = the blockdata the block has changed into Examples: on entity change block: if event-entity is a villager: if event-block is a composter: heal event-entity ## Tick Start Event Addon: SkBee Category: Event Syntax: [on] server tick start Description: Called each time the server starts its main tick loop. ## Entity Zap Addon: SkBee Category: Event Syntax: [on] entity (zap|struck by lightning) Description: Fired when lightning strikes an entity. Requires Paper 1.10.2+ Examples: on entity zap: if event-entity is a pig: spawn 3 zombie pigmen at event-location ## Entity Unleash Addon: SkBee Category: Event Syntax: [on] entity unleash Description: Called immediately prior to an entity being unleashed. Cancelling this event when either the leashed entity dies, the entity changes dimension, or the client has disconnected the leash will have no effect. `event-string` = The reason for unleashing. Options are "distance" (When the entity's leashholder is more than 10 blocks away), "holder_gone" (When the entity's leashholder has died or logged out, and so is unleashed), "player_unleash" (When the entity's leashholder attempts to unleash it), "unknown" Examples: on entity unleash: if event-entity is a cow: if event-string = "distance": cancel event ## Tick End Event Addon: SkBee Category: Event Syntax: [on] server tick end Description: Called when the server has finished ticking the main loop. There may be time left after this event is called, and before the next tick starts. ## Player Advancement Addon: SkBee Category: Event Syntax: [on] [player] advancement done Description: Called when a player has completed all criteria in an advancement. Examples: on advancement done: if event-advancement is "minecraft:story/mine_stone": give player a diamond named "Stone Age" ## Moisture Change Addon: SkBee Category: Event Syntax: [on] moisture change Description: Called when the moisture level of a farmland block changes. Examples: on moisture change: cancel event set event-block to farmland[moisture=7] ## Shear Entity Addon: SkBee Category: Event Syntax: [on] [player] shear entity Description: Called when a player shears an entity. Examples: on player shear entity: ## Recipe Book Click Event Addon: SkBee Category: Event Syntax: [on] [player] recipe book click Description: Called when the player clicks on a recipe in their recipe book. Examples: on recipe book click: if event-string = "minecraft:diamond_sword": cancel event ## Entities Loading Addon: SkBee Category: Event Syntax: [on] entities [un]load[ed] Description: Called when entities are loaded/unloaded. Examples: on entities loaded: if event-entities is set: delete event-entities broadcast "REMOVED ENTITIES!" ## Entity Spell Cast Addon: SkBee Category: Event Syntax: [on] [entity] spell cast Description: Called when a Spellcaster casts a spell. Examples: on spell cast: if event-entity is an evoker: if event-spell is fangs: cancel event ## Player Pickup Experience Orb Addon: SkBee Category: Event Syntax: [on] player pickup (experience|xp) [orb] Description: Fired when a player is attempting to pick up an experience orb. Examples: on player pickup xp: add 10 to level of player ## Async Player Connection Configure Addon: SkBee Category: Event Syntax: [on] async player connection configure Description: An event that allows you to configure the player. This is async and allows you to run configuration code on the player. Once this event has finished execution, the player connection will continue. Freezing code within this event will pause the player from logging in. **NOTE**: When this event is called, there is no Player object yet, so you will have to rely on name/uuid/audience. Examples: on async player connection configure: set {-connect::%event-uuid%} to true # Do something while {-connect::%event-uuid%} is set: # Player login will be halted while we wait for something sleep thread for 1 tick #Player will now connect ## Player Custom Click Event Addon: SkBee Category: Event Syntax: [on] [player] custom (click|payload) Description: This event is fired for any custom click events. This is primarily used for dialogs and text component click events with custom payloads. Examples: on custom click: if event-namespacedkey = "test:key": set {_nbt} to event-nbt set {_blah} to string tag "blah" of {_nbt} send "YourData: %{_blah}%" to player ## Experience Orb Merge Addon: SkBee Category: Event Syntax: [on] (experience|[e]xp) orb merge Description: Fired anytime the server is about to merge 2 experience orbs into one. Examples: on xp merge: cancel event ## Pre Creature Spawn Addon: SkBee Category: Event Syntax: [on] pre [creature] spawn[ing] [of %entitydatas%] Description: Called before an entity is spawned into the world. Note: The spawning entity does not exist when this event is called only the entitytype exists. This event is called very frequently, and can cause server lag, use it sparingly. Examples: on pre spawn of a pig: broadcast "a %event-entitytype% is spawning in" ## Bound - Exit Addon: SkBee Category: Event Syntax: [on] (bound exit|exit bound) [with id %-string%] Description: Called when a player exits a bound. Optional ID of bound. 'event-string' = bound ID. Examples: on bound exit: send "You left a bound" if event-bound = {bound}: send "You left Spawn!" on exit bound with id "spawn": cancel event ## Block Receive Game Event Addon: SkBee Category: Event Syntax: [on] block receive game[ ]event [%-gameevent%] Description: Called when a block receives a Minecraft game event. As of now the only block that receives game events are sculk shrieker, sculk sensor, and calibrated sculk sensor. Requires MC 1.17+ Examples: on block receive game event: set {_e} to event-entity if {_e} is a player: if event-block is set: damage {_e} by 0.5 ## Bound - Enter Addon: SkBee Category: Event Syntax: [on] (bound enter|enter bound) [with id %-string%] Description: Called when a player enters a bound. Optional ID of bound. 'event-string' = bound ID. NOTE: Due to breaking changes in Bukkit API, enter/exit events will not be called when a player mounts/dismounts an entity if running SkBee 3.5.0+ on MC 1.20.4 and below. Examples: on bound enter: if event-bound = {bounds::spawn}: send "You entered spawn!" on enter bound with id "spawn": cancel event on bound enter: if event-bound move reason = teleport: cancel event ## Generic Game Event Addon: SkBee Category: Event Syntax: [on] [generic] game[ ]event [%-gameevent%] Description: Called when a Minecraft game event is fired. These events are provided directly by Minecraft. NOTE: Cancelling this event will not cancel the action, only cancel broadcasting event to blocks. Requires MC 1.17+ Examples: on game event splash: set {_e} to event-entity if {_e} is a player: push {_e} up with speed 0.5 ## Tab Complete Addon: SkBee Category: Event Syntax: [on] [skbee] tab complete [(of|for) %-strings%] Description: Called when a player attempts to tab complete the arguments of a command. NOTE: Tab complete event is only called for the ARGUMENTS of a command, NOT the command itself. Examples: on tab complete of "/mycommand": set tab completions for position 1 to "one", "two" and "three" set tab completions for position 2 to 1, 2 and 3 set tab completions for position 3 to all players set tab completions for position 4 to (indexes of {blocks::*}) on tab complete: if event-string contains "/ver": clear tab completions ## Pre Spawner Spawn Addon: SkBee Category: Event Syntax: [on] pre spawner spawn[ing] [of %entitydatas%] Description: Called before an entity is spawned via a spawner. Note: The spawned entity does not exist when this event is called only the entitytype exists. View the pre creature spawn event for more event values. Examples: on pre spawner spawn of a zombie: broadcast "%event-entitytype% is spawning in" ## Spawner Spawn Addon: SkBee Category: Event Syntax: [on] spawner spawn[ing] [of %entitydatas%] Description: Called whenever an entity is spawned via a spawner. Examples: on spawner spawn of zombie: reset spawner timer of event-block ## Entity Knockback Addon: SkBee Category: Event Syntax: [on] %entitydatas% knockback[ed] [by %-entitydatas%] Description: Fired when an Entity is knocked back by the hit of another Entity. If this event is cancelled, the entity is not knocked back. Examples: on entity knockback: if knockback victim is a cow: cancel event ## Damage By Block Addon: SkBee Category: Event Syntax: [on] damag(e|ing) [of %-entitydata%] (by|from) (block|%itemtypes/blockdatas%) Description: Called when an entity is damaged by a block. Anything that works in vanilla Skript's damage event (victim/damage cause/damage/final damage) will all work in this event too. `victim` = Same as vanilla Skript, `victim` is used to get the damaged entity. Examples: on damage of player by sweet berry bush: cancel event on damage by block: broadcast "%victim% was damaged by %type of event-block%" ## Dialog - Item Body Addon: SkBee Category: Section Syntax: add item body Description: An item with optional description. It appears like it is in the inventory slot when the mouse hovers over the item. The size does not scale even if width and height are set to other values than the default. If the description is present, then it appears next to the right side of the item. See [**Item Body**](https://minecraft.wiki/w/Dialog#item) on McWiki for further details. NOTE: Not all entiries will be discussed here, see McWiki link above for all entries. **Entries**: - `item` = An ItemStack/ItemType that will show in the body of a dialog. - `description` = Accepts a Plain Message Body section to describe the item. Examples: add item body: item: diamond sword of unbreaking 3 damaged by 500 description: add plain message body: contents: "A Cool Item!" width: 300 show_decoration: true show_tooltip: false ## Dialog - Text Input Addon: SkBee Category: Section Syntax: add text input Description: A text input to be used in an `inputs` section of a dialog. See [**Input Control on SkBee wiki**](https://github.com/ShaneBeee/SkBee/wiki/Dialogs#input-control)and [**Input Control on McWiki**](https://minecraft.wiki/w/Dialog#Input_control_format) for further info. **Entries**: - `key` = String identifier of value used when submitting data, must be a valid template argument (letters, digits and _)("id" is reserved). - `label` = A string/text component to be displayed to the left of the input. - `width` = Integer value between 1 and 1024 — The width of the input. Defaults to 200. [Optional] - `label_visible` = Controls if the label is visible. Defaults to true. [Optional] - `initial` = The initial string value of the text input. [Optional] - `max_length` = Maximum length of input. Defaults to 32. [Optional] - The next two represent `multiline` and if used, must be used together. If present, allows users to input multiple lines, optional object with entries: - `multiline_max_lines` = Positive integer. If present, limits maximum lines. - `multiline_height` = Integer value between 1 and 512 — Height of input. Examples: add text input: key: "name_input" label: "Input your name to confirm:" initial: "name" ## ItemComponent - Damage Reduction Rule Addon: SkBee Category: Section Syntax: apply damage reduction Description: Apply a rule for how much and what kinds of damage should be blocked in a given attack. See [**Blocks Attacks Component**](https://minecraft.wiki/w/Data_component_format#blocks_attacks) on McWiki for more info. **Entries**: - `type` = Damage types to block [optional DamageType/String/TagKey, defaults to all damage types]. - `base` = The constant amount of damage to be blocked (required number). - `factor` = The fraction of the dealt damage to be blocked (required number). - `horizontal_blocking_angle` = The maximum angle between the users facing direction and the direction of the incoming attack to be blocked [optional positive number, defaults to 90]. Examples: apply blocks attacks to {_i}: block_delay_seconds: 0.25 seconds disable_cooldown_scale: 1.5 item_damage_threshold: 1.0 item_damage_base: 1.0 item_damage_factor: 3.0 block_sound: "minecraft:item.shield.block" disabled_sound: "minecraft:item.shield.break" bypassed_by: "minecraft:bypasses_shield" damage_reductions: apply damage reduction: type: mob attack, campfire base: 1.0 factor: 2.5 horizontal_blocking_angle: 25 ## ItemComponent - Kinetic Weapon Condition Addon: SkBee Category: Section Syntax: apply kinetic weapon condition Description: Applies a kinetic weapon condition to the kinetic weapon section. See [**Kinetic Weapon Component**](https://minecraft.wiki/w/Data_component_format#kinetic_weapon) on McWiki for more info. **Entries**: - `max_duration_ticks` = The time in ticks after which the condition is no longer checked. This starts after delay has elapsed (requird timespan). - `min_speed` = The minimum speed of the attacker, in blocks per second, along the direction that the attacker is looking. [optional number, defaults to 0.0]. - `min_relative_speed` = The minimum relative speed between the attacker and target, in blocks per second, along the direction that the attacker is looking. [optional number, defaults to 0.0]. Examples: apply kinetic weapon component to {_i}: delay_ticks: 13 ticks forward_movement: 0.38 damage_multiplier: 0.82 sound: "minecraft:item.spear.use" hit_sound: "minecraft:item.spear.hit" damage_conditions: apply kinetic weapon condition: max_duration_ticks: 250 ticks min_relative_speed: 4.6 dismount_conditions: apply kinetic weapon condition: max_duration_ticks: 80 ticks min_speed: 12.0 ## Recipe - Register Transmute Recipe Addon: SkBee Category: Section Syntax: register transmute recipe Description: Represents a recipe which will change the type of the input material when combined with an additional material, but preserve all custom data. Only the material of the result stack will be used. Used for dyeing shulker boxes in Vanilla. See [**crafting_transmute**](https://minecraft.wiki/w/Recipe#crafting_transmute) on McWiki for more info. **Entries**: - `id` = The ID for your recipe. This is used for recipe discovery and Minecraft's /recipe command. - `result` = The material that will be transmuted in the result slot. - `input` = The input ingredient (The item which will have it's data copied to the result). - `material` = The item to be applied to the first (like a dye). - `group` = Define a group to group your recipes together in the recipe book (an example would be having 3 recipes with the same outcome but a variety of ingredients) [optional]. - `category` = The recipe book category your recipe will be in [optional]. Options are "building", "redstone", "equipment", "misc". Examples: register transmute recipe: id: "custom:better_swords" result: netherite sword input: minecraft item tag "minecraft:swords" material: netherite ingot ## Dialog - Single Option Input Addon: SkBee Category: Section Syntax: add single option input Description: A preset option selection input to be used in an `inputs` section of a dialog. See [**Input Control on SkBee wiki**](https://github.com/ShaneBeee/SkBee/wiki/Dialogs#input-control)and [**Input Control on McWiki**](https://minecraft.wiki/w/Dialog#Input_control_format) for further info. **Entries**: - `key` = String identifier of value used when submitting data, must be a valid template argument (letters, digits and _)("id" is reserved). - `label` = A string/text component to be displayed to the left of the input. - `label_visible` = Controls if the label is visible. Defaults to true. - `width` = Integer value between 1 and 1024 — The width of the input. Defaults to 200. - `options` = A section for adding options. See [**options**](https://github.com/ShaneBeee/SkBee/wiki/Dialogs#options) for more info. Examples: add single option input: key: "le_key" label: "Choose favorite animal" options: add options entity: display: "cat" add options entity: display: "dog" add options entity: display: "turtle" add options entity: display: "spider" ## Recipe - Register Shaped Recipe Addon: SkBee Category: Section Syntax: register [a] [new] shaped recipe Description: This section allows you to register a shaped recipe, define the shape and set ingredients. You can optionally add a group and category. **Entries**: - `id` = The ID for your recipe. This is used for recipe discovery and Minecraft's /recipe command. - `result` = The resulting item of this recipe. - `shape` = A list of strings (1 to 3 strings) which each have 1-3 characters (must be the same char count per string). These correspond to the ingredients set for these shapes. (See examples for details.) Blank spaces will just be empty spaces in a crafting grid. - `group` = Define a group to group your recipes together in the recipe book (an example would be having 3 recipes with the same outcome but a variety of ingredients) (optional). - `category` = The recipe book category your recipe will be in (optional).Options are "building", "redstone", "equipment", "misc". - `ingredients` = This section is where you will set the ingredients to correspend with your shape. Examples: on load: register shaped recipe: id: "custom:fancy_stone" result: stone named "&aFANCY STONE" shape: "aaa", "aba", "aaa" group: "bloop" category: "building" ingredients: set ingredient of "a" to stone set ingredient of "b" to diamond register shaped recipe: id: "custom:fancy_sword" result: diamond sword of unbreaking 5 named "&bStrong Sword" shape: "a", "a", "b" ingredients: set ingredient of "a" to emerald set ingredient of "b" to stick named "DOOM" register shaped recipe: id: "custom:string" result: 4 of string shape: "a" ingredients: set ingredient of "a" to material choice of minecraft item tag "minecraft:wool" register shaped recipe: id: "custom:bee_2" result: (skull of "MHF_Bee" parsed as offline player) named "&bMr &3Bee" shape: "x x", " z ", "x x" ingredients: set ingredient of "x" to honeycomb set ingredient of "z" to honey bottle ## Recipe - Register Smithing Recipe Addon: SkBee Category: Section Syntax: register [a] [new] smithing [transform] recipe Description: This section allows you to register a smithing transform recipe, define the output as well as the template, base and addition items **Entries**: - `id` = The ID for your recipe. - `result` = The resulting ItemStack of this recipe. - `template` = Represents the first slot in the smithing inventory (Accepts an ItemStack or RecipeChoice). - `base` = Represents the second slot in the smithing inventory (Accepts an ItemStack or RecipeChoice). - `addition` = Represents the third slot in the smithing inventory (Optional). - `copynbt` = Represents whether to copy the nbt from the input base item to the output, default = true (Requires PaperMC) (Optional). Examples: on load: register smithing transform recipe: id: "test:smithing" result: emerald of unbreaking named "&cFire Stone" with all item flags template: paper named "&cFire Paper" base: diamond addition: blaze powder ## Dialog - Number Range Input Addon: SkBee Category: Section Syntax: add number range input Description: A number slider input to be used in an `inputs` section of a dialog. See [**Input Control on SkBee wiki**](https://github.com/ShaneBeee/SkBee/wiki/Dialogs#input-control)and [**Input Control on McWiki**](https://minecraft.wiki/w/Dialog#Input_control_format) for further info. **Entries**: - `key` = String identifier of value used when submitting data, must be a valid template argument (letters, digits and _)("id" is reserved). - `label` = A string/text component to be displayed to the left of the input. - `label_format` = A translation key to be used for building label (first argument is contents of label field, second argument is current value). Defaults to "options.generic_value". - `width` = Integer value between 1 and 1024 — The width of the input. Defaults to 200. [Optional] - `start` = The minimum number of the slider. - `end` = The maximum number of the slider. - `step` = Step size (If present, only values of initial+*step will be allowed. If absent, any value from the range is allowed). [Optional] - `initial` = The initial increment value of the slider. Defaults to the middle of the range. [Optional] Examples: add number range input: key: "some_key" label: "Slide for Health" width: 300 start: 0 end: 20 step: 1 initial: 20 ## Dialog - Dynamic Run Command Action Button Addon: SkBee Category: Section Syntax: add dynamic run command action button Description: Add a dynamic run command action button to a dialog. See [**Dynamic Run Command Action**](https://minecraft.wiki/w/Dialog#dynamic/run_command) on McWiki for more specific info. This action will run a command using your command template and provided macros. The template format looks for `$(dialog_input_key)` to substitute macros (Must include at least ONE macro). The `input_key` is the key you used for your inputs. **Entries**: - `label` = The name on your button, accepts a string or text component/mini message. - `tooltip` = The hover message, accepts a string or text component/mini message. - `width` = The width of the button. Value between 1 and 1024 — Defaults to 150. - `template` = The command template including macros that will run when clicked. Examples: command /message: rigger: open multi action dialog to player: title: "Send a message:" inputs: add text input: key: "name_input" label: "Player Name" add text input: key: "text_input" label: "Message to send" actions: add dynamic run command action button: label: "Send Message" width: 100 template: "/msg $(name_input) $(text_input)" ## ItemComponent - Tool Rule Apply Addon: SkBee Category: Section Syntax: apply tool rule Description: Apply rules to a tool component. You can add as many as you'd like. See [**McWiki Tool Component**](https://minecraft.wiki/w/Data_component_format#tool) for more details. **Entries/Sections**: NOTE: One of either `block_types` or `block_tag` MUST be used. `blocks` = The blocks to match for this rule to apply (Supports ItemTypes, BlockDatas, Minecraft Tags and TagKeys). `speed` = If the blocks match, overrides the default mining speed (Must be a positive number). [Optional] `correct for drops` = If the blocks match, overrides whether or not this tool is considered correct to mine at its most efficient speed, and to drop items if the block's loot table requires it. [Optional] Examples: set {_i} to a stick apply tool component to {_i}: default_mining_speed: 2.3 damage_per_block: 2 rules: apply tool rule: blocks: minecraft block tag "minecraft:all_signs" # Shown as a Minecraft block tag speed: 1.0 correct_for_drops: true apply tool rule: blocks: stone, granite, andesite and gravel # Shown as a list of ItemTypes speed: 0.5 correct_for_drops: false give {_i} to player ## Dialog - Dynamic Action Button Addon: SkBee Category: Section Syntax: add dynamic action button Description: Add a dynamic action button to a dialog. See [**Custom Dynmaic Action**](https://minecraft.wiki/w/Dialog#dynamic/custom) on McWiki for more specific info. This action will fire the 'Player Custom Click' event along with the id and additions. **Entries**: - `label` = The name on your button, accepts a string or text component/mini message. - `tooltip` = The hover message, accepts a string or text component/mini message. - `width` = The width of the button. Value between 1 and 1024 — Defaults to 150. - `id` = The id of the action. - `additions` = An additional NBT compound to go along with your custom dynamic action. Examples: add dynamic action button: label: "Spawn" tooltip: "Teleport yoursel to spawn!" id: "custom:teleport_to_spawn" additions: nbt from "{some_tag:""some extra info""}" ## Recipe - Register Shapeless Recipe Addon: SkBee Category: Section Syntax: register [a] [new] shapeless recipe Description: This section allows you to register a shapeless recipe and add ingredients. **Entries**: - `id` = The ID for your recipe. This is used for recipe discovery and Minecraft's /recipe command. - `result` = The resulting item of this recipe. - `group` = Define a group to group your recipes together in the recipe book (an example would be having 3 recipes with the same outcome but a variety of ingredients) (optional). - `category` = The recipe book category your recipe will be in (optional) Options are "building", "redstone", "equiptment", "misc". - `ingredients` = This section is where you will add the ingredients. Examples: on load: register shapeless recipe: id: "custom:string" result: 4 string ingredients: add material choice of every wool to ingredients register shapeless recipe: id: "custom:totem_of_undying" result: totem of undying group: "custom tools" category: "redstone" ingredients: add diamond block to ingredients add material choice of minecraft item tag "minecraft:planks" to ingredients add emerald block to ingredients add end rod to ingredients add wither skeleton skull to ingredients register shapeless recipe: id: "custom:end_rod" result: end rod group: "custom tools" category: "redstone" ingredients: add diamond block to ingredients add emerald block to ingredients ## Dialog - Plain Message Body Addon: SkBee Category: Section Syntax: add (text|plain message) body Description: A multiline label for a dialog. See [**Plain Message**](https://minecraft.wiki/w/Dialog#plain_message) on McWiki for further details. **Entries**: - `contents` = A string/text component that will be seen in a dialog. - `width` = Integer value between 1 and 1024 — Maximum width of message. Defaults to 200. [Optional] Examples: add plain message body: contents: mini message from "Do you want to break this block?" width: 150 ## Recipe - Register Cooking Recipe Addon: SkBee Category: Section Syntax: register [a] [new] (furnace|smoking|blasting|campfire) recipe Description: This section allows you to register any cooking recipe and define special properties. **Entries**: - `id` = The ID for your recipe. This is used for recipe discovery and Minecraft's /recipe command. - `result` = The resulting ItemStack of this recipe. - `input` = The item the recipe requires as an input to output the result (Accepts an ItemStack or RecipeChoice) (Required). - `cooktime` = How long the recipe will take to finish cooking before result is given (Optional). - `experience` = The amount of experience gained when the recipe is finished cooking (Optional) Default cook times are, furnace = 10 seconds, smoking/blasting = 5 seconds and campfire = 30 seconds. - `group` = You can define a group in which all recipes under this are sorted together in the recipe book (Optional). Examples of this in game are beds and wood types. - `category` = Which category in the recipe book this recipe should appear within (Optional 1.19.4+). Valid category types are "food", "blocks", "misc", if no category is defined it defaults to "misc". Examples: register new furnace recipe: id: "sieve:gravel_to_sand" result: sand input: gravel group: "sieve" cooktime: 1 minecraft day # 20 minutes experience: 6 category: "blocks" register new campfire recipe: id: "sieve:cobblestone_to_gravel" result: gravel input: cobblestone group: "sieve" category: "blocks" register new smoking recipe: id: "chef:beef_jerky" result: cooked mutton named "&oBeef&r Jerky" input: rotten flesh category: "food" register a new blasting recipe: id: "firery_sword" result: diamond sword of fire aspect named "Flaming Sword" input: diamond sword ## Dialog - Boolean Input Addon: SkBee Category: Section Syntax: add boolean input Description: A simple checkbox input to be used in an `inputs` section of a dialog. See [**Input Control on SkBee wiki**](https://github.com/ShaneBeee/SkBee/wiki/Dialogs#input-control)and [**Input Control on McWiki**](https://minecraft.wiki/w/Dialog#Input_control_format) for further info. **Entries**: - `key` = String identifier of value used when submitting data, must be a valid template argument (letters, digits and _)("id" is reserved). - `label` = A string/text component to be displayed to the left of the input. - `initial` = The initial boolean value of the checkbox. Defaults to false (unchecked). - `on_true` = The string value to send when true. Defaults to "true". - `on_false` = The string value to send when false. Defaults to "false". Examples: add boolean input: key: "some_bool_key" label: "Want some cheese?" initial: true on_true: "true was selected" on_false: "false was selected" ## Dialog - Dynamic Callback Action Button Addon: SkBee Category: Section Syntax: add [dynamic] callback action button Description: Add a dynamic action button to a dialog. This action includes a callback section to run code when the action button is clicked. See [**Custom Dynmaic Action**](https://minecraft.wiki/w/Dialog#dynamic/custom) on McWiki for more specific info. **Entries**: - `label` = The name on your button, accepts a string or text component/mini message. - `tooltip` = The hover message, accepts a string or text component/mini message. - `width` = The width of the button. Value between 1 and 1024 — Defaults to 150. - `trigger` = This section will run code when the button is clicked. **Callback Section Event-Values**: - `event-nbt` = Returns NBT from the event (will contain data from inputs). - `event-audience` = The audience represented in this event. - `event-playerconnection` = The player connection represented in this event (Used if opening a dialog in the async player connection config evnet). - `event-player` = The player represented in this event (Might be null if the player isn't available yet, such as in the async config event). - `event-string` = The name of the player/player connection represented in this event (Useful if the player is null). - `event-uuid` - The uuid of the player/player connection represented in this event. Examples: add callback action button: label: "Spawn" tooltip: "Teleport yoursel to spawn!" trigger: teleport event-player to spawn of world "world" ## Recipe - Register Brewing Recipe Addon: SkBee Category: Section Syntax: register [a] [new] (brewing recipe|potion mix) Description: This section allows you to register a brewing recipe, define the ingredient and input. Requires a PaperMC server. **Entries**: - `id` = The ID of this recipe. - `result` = The resulting output ItemStack of this recipe (What the 3 bottle slots turn into). - `ingredient` = Represents the ItemStack put in the top of the brewer (Accepts an ItemStack or RecipeChoice). - `input` = Represents the ItemStack put in the 3 bottle slots (Accepts an ItemStack or RecipeChoice). Examples: on load: register brewing recipe: id: "custom:brew_glow_diamond" result: diamond of unbreaking with all item flags ingredient: glowstone dust input: potato register brewing recipe: id: "custom:yummy_soup" result: mushroom stew named "&bYummy Soup" ingredient: glowstone dust input: water bottle ## Dialog - Static Action Button Addon: SkBee Category: Section Syntax: add static action button Description: Add a static action button to a dialog. See [**Static Action**](https://minecraft.wiki/w/Dialog#Static_action_types) on McWiki for more detailed info. **Entries**: - `label` = The name on your button, accepts a string or text component/mini message. - `tooltip` = The hover message, accepts a string or text component/mini message. - `width` = The width of the button. Value between 1 and 1024 — Defaults to 150. - `action` = A click event, also called a [**Static Action**](https://minecraft.wiki/w/Dialog#Static_action_types). This is what happens when the player clicks the button. Examples: add static action button: label: mini message from "Creative Gamemode" tooltip: mini message from "Switch to creative gamemode" width: 200 action: click event to run command "gamemode creative" ## Dialog - Single Option Input - Option Entry Addon: SkBee Category: Section Syntax: add options entry Description: An option to be used in an options section of a single option input. See [**Single Option Input on SkBee wiki**](https://github.com/ShaneBeee/SkBee/wiki/Dialogs#single-option-input) for more info. **Entries**: - `display` = A string/text component for what is displayed as the option. - `initial` = Only one option can have this set to true. If true, the option chosen will be the initial one. Defaults to the first option being true, and all others false. Examples: add single option input: key: "le_key" label: "Choose favorite animal" options: add options entry: display: "cat" add options entry: display: "dog" add options entry: display: "turtle" add options entry: display: "spider" ## ItemComponent - Attack Range Component Apply Addon: SkBee Category: Section Syntax: apply attack range component to %itemstacks/itemtypes/slots% Description: Enables a custom attack range when using the item. See [**Attack Range Component**](https://minecraft.wiki/w/Data_component_format#attack_range) on McWiki for more details. Requires Minecraft 1.21.11+ **ENTRIES**: All entries are optional and will use their defaults when omitted. - `min_reach` = The minimum distance in blocks from the attacker to the target to be considered valid. Default = 0, valid range = 0 to 64 - `max_reach` = The maximum distance in blocks from the attacker to the target to be considered valid. Default = 3, valid range = 0 to 64 - `min_creative_reach` = The minimum distance in blocks from the attacker to the target to be considered valid in creative mode. Default = 0, valid range = 0 to 64 - `max_creative_reach` = The maximum distance in blocks from the attacker to the target to be considered valid in creative mode. Default = 5, valid range = 0 to 64 - `hitbox_margin` = Tthe margin applied to the target bounding box when checking for valid hitbox collision. Default = 0.3, valid range = 0 to 1 - `mob_factor` = The multiplier applied to the min_range and max_range when checking for valid distance when item is used by a mob. Default = 1, valid range = 0 to 2 Examples: set {_i} to 1 of diamond shovel apply attack range component to {_i}: min_reach: 0.0 max_reach: 64.0 min_creative_reach: 0 max_creative_reach: 64 hitbox_margin: 0.3 mob_factor: 1 give player 1 of {_i} ## ItemComponent - Tool Component Apply Addon: SkBee Category: Section Syntax: apply tool component to %itemstacks/itemtypes/slots% Description: Apply a tool component to any item making it usable tool. Requires Paper 1.21.3+ See [**Tool Component**](https://minecraft.wiki/w/Data_component_format#tool) on McWiki for more details. **Entries/Sections**: - `default_mining_speed` = The default mining speed of this tool, used if no rules override it. Defaults to 1.0. [Optional] - `damage_per_block` = The amount of durability to remove each time a block is broken with this tool. Must be a non-negative integer. [Optional] - `can_destroy_blocks_in_creative` = Whether players can break blocks while holding this tool in Creative mode. Defaults to true. [Optional] (Requires MC 1.21.5+) - `rules:` = A list of rules for the blocks that this tool has a special behavior with. Examples: set {_i} to a stick apply tool component to {_i}: default_mining_speed: 2.3 damage_per_block: 2 can_destroy_blocks_in_creative: false rules: apply tool rule: blocks: minecraft block tag "minecraft:all_signs" # Shown as a Minecraft block tag speed: 1.0 correct_for_drops: true apply tool rule: blocks: stone, granite, andesite and gravel # Shown as a list of ItemTypes speed: 0.5 correct_for_drops: false give {_i} to player ## NBT - Modify NBT Addon: SkBee Category: Section Syntax: modify [custom] nbt of %entity/block/itemstack/itemtype/slot% Description: Modify NBT of an entity/block(TileEntity)/item. This method is faster than the old NBT expressions, as the changes aren't applied to the object until the section is done. This section creates its own internal event, which means previous event-values will not work. **OPTIONS**: `entity` = Will modify the base nbt of an entity/player. `block` = Will modify the base nbt of a block, must be a tile entity block. `item` = Will modify the base nbt of an item (the components section of an item). `custom` = Will modify the custom nbt of an item (the "minecraft:custom_data" component), entity or block. Examples: # Item modify nbt of player's tool: set int tag "test" of nbt to 1 # Item - Custom modify custom nbt of player's tool: set double tag "points" of nbt to 10.5 # Entity modify nbt of player: set int tag "SomeRealNbtTag" of nbt to 5 # Entity - Custom modify custom nbt of player: set string tag "blah" of nbt to "ooo a string" # Block modify nbt of target block: set short tag "cooking_time_spent" of nbt to 25 # Block - Custom modify custom nbt of target block: set string tag "owner" of nbt to {_nameOfPlayer} ## ItemComponent - Death Protection Component Apply Addon: SkBee Category: Section Syntax: apply death protection [component] to %itemstacks/itemtypes/slots% Description: Apply a death protection component to an item. If present, this item protects the holder from dying by restoring a single health point. Requires Paper 1.21.3+ See [**Death Protection Component**](https://minecraft.wiki/w/Data_component_format#death_protection) on McWiki for more info. `death_effect` = A `consume effect` to by applied to the component (supports a list) [Optional]. `death_effects` = A section to apply `consume effects` [Optional]. Examples: set {_p::1} to potion effect of night vision for 10 seconds set {_p::2} to potion effect of slow mining for 5 seconds set {_effects} to apply_effects({_p::*}, 0.5) set {_i} to 1 of stick apply death protection component to {_i}: death_effects: {_effects} give {_i} to player apply death protection to {_i}: death_effects: apply -> potion effect of slowness for 10 seconds with probability 0.5 apply -> clear all effects apply -> remove effects night vision apply -> play sound "blah.blah" apply -> teleport randomly within 15 apply -> teleport randomly within 20 meters apply -> teleport randomly within 100 blocks ## ItemComponent - Food Component Apply Addon: SkBee Category: Section Syntax: apply food component to %itemstacks/itemtypes/slots% Description: Apply a food component to any item giving it food properties. You will also require a `consumable` component to actually make the item consumable. Requires Paper 1.21.3+ See [**Food Component**](https://minecraft.wiki/w/Data_component_format#food) on McWiki for more details. **Entries/Sections**: - `nutrition` = The number of food points restored by this item when eaten. Must be a non-negative integer. - `saturation` = The amount of saturation restored by this item when eaten. - `can always eat` = If true, this item can be eaten even if the player is not hungry. Defaults to false. [Optional] Examples: apply food component to player's tool: nutrition: 5 saturation: 3 set {_i} to 1 of book apply food component to {_i}: nutrition: 5 saturation: 3 can_always_eat: true give player 1 of {_i} ## Attribute Modifier - Apply Addon: SkBee Category: Section Syntax: apply [transient] attribute modifier to %itemtypes/livingentities% Description: Apply an attribute modifier to an item or living entity. See [**McWiki Component**](https://minecraft.wiki/w/Data_component_format#attribute_modifiers) and [**McWiki Modifiers**](https://minecraft.wiki/w/Attribute#Modifiers) for further details. `transient` = Non-persisent attribute modifier (LivingEntities only, not Items), will not save to the entity's NBT (Requires PaperMC). **Entries/Sections**: - `attribute` = The attribute this modifier is to act upon. - `slot` = EquipmentSlotGroup the item must be in for the modifier to take effect (optional, default = any). - `id` = The NamespacedKey to identify this modifier. - `amount` = Amount of change from the modifier. - `operation` = The operation to decide how to modify. Examples: #Apply Attribute Modifiers to Items set {_i} to a stick apply attribute modifier to {_i}: attribute: scale id: "minecraft:my_hand_scale" slot: mainhand_slot_group amount: 2 operation: add_number apply attribute modifier to {_i}: attribute: scale id: "minecraft:my_hand_scale_off" slot: offhand_slot_group amount: -0.9 operation: add_number give player 1 of {_i} #Apply Attribute Modifiers to LivingEntities apply transient attribute modifier to player: id: "my_mods:mining" attribute: player mining efficiency amount: 50 operation: add_number apply transient attribute modifier to player: id: "my_mods:scale" attribute: scale amount: -0.5 operation: add_number ## ItemComponent - Firework Explosion Component Apply Addon: SkBee Category: Section Syntax: apply firework explosion [component] [to %-itemstacks/itemtypes/slots%] Description: Apply a firework explosion effect to a firework star. This can also be used within the Fireworks Component's `explosions:` section. See [**Firework Explosion Component**](https://minecraft.wiki/w/Data_component_format#firework_explosion) on McWiki for more info. **Entries**: - `shape` = The [firework type](https://docs.skriptlang.org/classes.html#FireworkType) of the explosion. - `colors` = The colors of the initial particles of the explosion, randomly selected from. - `fade_colors` = The colors of the fading particles of the explosion, randomly selected from. - `has_trail` = Whether or not the explosion has a trail effect (diamond). - `has_twinkle` = Whether or not the explosion has a twinkle effect (glowstone dust). Examples: # Apply to item apply firework explosion to {_i}: shape: small ball colors: red, yellow and white fade_colors: blue, green and red has_trail: true has_twinkle: true # Apply as explosion in fireworks apply fireworks to {_i}: flight_duration: 3 explosions: apply firework explosion: shape: small ball colors: red, yellow and white fade_colors: blue, green and red has_trail: true has_twinkle: true apply firework explosion: shape: large ball colors: red, white and blue has_trail: false has_twinkle: false ## ItemComponent - Tooltip Style Component Apply Addon: SkBee Category: Section Syntax: apply tooltip display [component] to %itemstacks/itemtypes/slots% Description: Apply a tooltip style component to any item allowing you to hide the tooltip or specific components. You will also require a `consumable` component to actually make the item consumable. Requires Paper 1.21.5+ See [**Tooltip Style Component**](https://minecraft.wiki/w/Data_component_format#tooltip_style) on McWiki for more details. **Entries/Sections**: - `hide_tooltip` = If true, the item will have no tooltip when hovered (optional, boolean). - `hidden_components` = The tooltips provided by any component in this list will be hidden. If that component provides no tooltip, it will have no effect (optional, data component types). Examples: apply tooltip display component to {_i}: hide_tooltip: false hidden_components: minecraft:attribute_modifiers, minecraft:enchantments apply tooltip display component to {_i}: hide_tooltip: true ## ItemComponent - Equippable Component Apply Addon: SkBee Category: Section Syntax: apply equippable [component] to %itemstacks/itemtypes/slots% Description: Apply an equippable component to any item so it can be equipped in the specified slot. Requires Paper 1.21.3+ See [**Equippable Component**](https://minecraft.wiki/w/Data_component_format#equippable) on McWiki for more info. **Entries**: - `slot` = The slot the item can be put on (See Equipment Slot). - `equip_sound` = The sound to be played when equipped. [Optional] - `asset_id` = The key of the equipment model to use when equipped. [Optional] - `allowed_entities` = A list of entity types or a Minecraft entity tag that can equip this item. [Optional] - `dispensable` = Whether the item can be dispensed by using a dispenser. Defaults to true. [Optional] - `swappable` = Whether the item can be equipped into the relevant slot by right-clicking. Defaults to true. [Optional] - `damage_on_hurt` = Whether this item is damaged when the wearing entity is damaged. Defaults to true. [Optional] - `camera_overlay` = The key of the overlay texture to use when equipped. [Optional] Examples: apply equippable component to {_item}: slot: hand_slot equip_sound: "entity.player.burp" asset_id: "my_pack:some_asset" allowed_entities: player, evoker, zombie # Shown as list of entity types. allowed_entities: minecraft entity tag "undead" # Shown as Minecraft entity tag dispensable: false swappable: true damage_on_hurt: true camera_overlay: "my_pack:some_overlay" ## ItemComponent - Blocks Attacks Apply Addon: SkBee Category: Section Syntax: apply blocks attacks [component] to %itemstacks/itemtypes/slots% Description: When present, this item can be used like a shield to block attacks to the holding player. See [**Blocks Attacks Component**](https://minecraft.wiki/w/Data_component_format#blocks_attacks) on McWiki for more info. **Entries**: - `block_delay_seconds` = The amount of time (in seconds) that use must be held before successfully blocking attacks [optional timespan, defaults to 0 seconds]. - `disable_cooldown_scale` = The multiplier applied to the cooldown time for the item when attacked by a disabling attack [optional number, defaults to 1]. - `damage_reductions` = A section to apply a set of rules for how much and what kinds damage should be blocked in a given attack [optional]. - `item_damage_threshold` = The minimum amount of damage dealt by the attack before item damage is applied to the item [optional number, defaults to 0]. - `item_damage_base` = The constant amount of damage applied to the item, if threshold is passed [optional number, defaults to 0]. - `item_damage_factor` = The fraction of the dealt damage that should be applied to the item, if threshold is passed [optional number, defaults to 1.5]. - `block_sound` = A sound to play when the item successfully blocks an attack [optional string, defaults to none]. - `disabled_sound` = A sound to play when the item goes on its disabled cooldown due to an attack [optional string, defaults to none. - `bypassed_by` = DamageTypes that bypass the blocking [optional String/TagKey]. Examples: apply blocks attacks to {_i}: block_delay_seconds: 0.25 seconds disable_cooldown_scale: 1.5 item_damage_threshold: 1.0 item_damage_base: 1.0 item_damage_factor: 3.0 block_sound: "minecraft:item.shield.block" disabled_sound: "minecraft:item.shield.break" bypassed_by: "minecraft:bypasses_shield" damage_reductions: apply damage reduction: type: mob attack, campfire base: 1.0 factor: 2.5 horizontal_blocking_angle: 25 ## ItemComponent - Instrument Component Apply Addon: SkBee Category: Section Syntax: apply instrument [component] to %itemstacks/itemtypes/slots% Description: Apply an instrument component to an item that supports it (such as a goat horn). It may seem silly that this is a section with only 1 value, but I'm hoping that Paper updates the API to support all the features Minecraft has for this. Requires Paper 1.21.3+ See [**Instrument Component**](https://minecraft.wiki/w/Data_component_format#instrument) on McWiki for more info. **Entries**: - `instrument` = The instrument to be played. Examples: set {_i} to 1 of goat horn apply instrument to {_i}: instrument: admire_goat_horn ## ItemComponent - Potion Contents Component Apply Addon: SkBee Category: Section Syntax: apply potion contents [component] to %itemstacks/itemtypes/slots% Description: Apply a potion contents component to an item (can be used on a potion/arrow or any consumable item). See [**Potion Contents Component**](https://minecraft.wiki/w/Data_component_format#potion_contents) on McWiki for more info. Note: `potion` and `custom_effects` entries cannot be used together. **Entries**: - `potion` = The base potion of the item. - `custom_color` = The overriding color of this potion texture, and/or the particles of the area effect cloud created. - `custom_name` = An optional string used to generate containing stack name. (See McWiki for more details on this) [Optional] - `custom_effects` = A list of the additional effects that this item should apply. [Optional] Examples: apply potion contents to {_i}: potion: long_swiftness custom_color: rgb(126, 207, 243) apply potion contents component to {_i}: custom_color: pink custom_name: "harming" custom_effects: apply -> potion effect of night vision for 5 minutes apply -> potion effect of slowness for 6 minutes set {_i} to 1 of potion set {_pe::*} to active potion effects of player apply potion contents to {_i}: custom_color: rgb(126, 207, 243) custom_effects: apply -> {_pe::*} give {_i} to player ## ItemComponent - Swing Animation Component Apply Addon: SkBee Category: Section Syntax: apply swing animation component to %itemstacks/itemtypes/slots% Description: Specifies the swing animation to play when attacking or interacting using this item. See [**Swing Animation Component**](https://minecraft.wiki/w/Data_component_format#swing_animation) on McWiki for more details. Requires Minecraft 1.21.11+ **ENTRIES**: All entries are optional and will use their defaults when omitted. - `type` = String, The type of swinging animation. Can be "none", "whack", "stab". Defaults to "whack". - `duration` = A timespan that determines the animation's duration. Defaults to 6 ticks. Examples: set {_i} to 1 of diamond sword apply swing animation component to {_i}: type: "stab" duration: 60 ticks give player 1 of {_i} ## ItemComponent - Kinetic Weapon Apply Addon: SkBee Category: Section Syntax: apply kinetic weapon [component] to %itemstacks/itemtypes/slots% Description: Apply a kinetic weapon component to items. Enables a charge-type attack when using the item where, while being used, the damage is dealt along a ray every tick based on the relative speed of the entities. See [**Kinetic Weapon Component**](https://minecraft.wiki/w/Data_component_format#kinetic_weapon) on McWiki for more info. **Entries**: - `delay_ticks` = The time in ticks required before weapon is effective [optiona timespan, defaults to 0 ticks]. - `damage_conditions` = The condition under which the charge attack deals damage [optional section]. - `dismount_conditions` = The condition under which the charge attack dismounts the target [optional section]. - `knockback_conditions` = The condition under which the charge attack deals knockback [optional section]. - `forward_movement` = The distance the item moves out of the wielder's hand during its animation [optional number, defaults to 0.0]. - `damage_multiplier` = The multiplier for the final damage from the relative speed [optional number, defaults to 1.0]. - `sound` = Optional sound event to play when the weapon is engaged [optional string]. - `hit_sound` = Optional sound event to play when the weapon hits an entity [optional string]. Examples: apply kinetic weapon component to {_i}: delay_ticks: 13 ticks forward_movement: 0.38 damage_multiplier: 0.82 sound: "minecraft:item.spear.use" hit_sound: "minecraft:item.spear.hit" damage_conditions: apply kinetic weapon condition: max_duration_ticks: 250 ticks min_relative_speed: 4.6 dismount_conditions: apply kinetic weapon condition: max_duration_ticks: 80 ticks min_speed: 12.0 ## SwitchCase - Switch Addon: SkBee Category: Section Syntax: switch %object% Description: Switch an object and use cases to manage different actions. Examples: on break: switch event-block: case dirt: give player a stick named "Dirt" case stone: give player an apple named "Stone" case grass block: give player an iron ingot named "Iron Ingot" default: kill player on damage of a mob by a player: switch type of victim: case zombie, husk, a drowned: spawn 3 baby zombies at victim case skeleton, stray: spawn a skeleton horse at victim: set {_h} to entity spawn a skeleton at victim: set {_s} to entity make {_s} ride {_h} case sheep, cow, chicken, pig: kill attacker default: give attacker a diamond ## ItemComponent - Fireworks Component Apply Addon: SkBee Category: Section Syntax: apply fireworks [component] to %itemstacks/itemtypes/slots% Description: Apply a fireworks component to a firework rocket. See [**Fireworks Component**](https://minecraft.wiki/w/Data_component_format#fireworks) on McWiki for more info. **Entries**: - `flight_duration` = The flight duration of this firework rocket, i.e. the number of gunpowders used to craft it. (Integer between 0 and 255, defaults to 1) - `explosions` = A section to apply firework explosions (see 'ItemComponent - Firework Explosion Component Apply' section). Examples: apply fireworks to {_i}: flight_duration: 3 explosions: apply firework explosion: shape: small ball colors: red, yellow and white fade_colors: blue, green and red has_trail: true has_twinkle: true apply firework explosion: shape: large ball colors: red, white and blue has_trail: false has_twinkle: false ## ItemComponent - Use Effects Component Apply Addon: SkBee Category: Section Syntax: apply use effects component to %itemstacks/itemtypes/slots% Description: Controls how the player behaves when using an item (right mouse click). See [**Use Effects Component**](https://minecraft.wiki/w/Data_component_format#use_effects) on McWiki for more details. Requires Minecraft 1.21.11+ **ENTRIES**: All entries are optional and will use their defaults when omitted. - `can_sprint` = Boolean, whether the player can sprint during use. Defaults to false - `speed_multiplier` = A ranged float (0.0-1.0 inclusive) speed multiplier inflicted during use. Defaults to 0.2 - `interact_vibrations` = Boolean, whether using this item emits the `minecraft:item_interact_start` and `minecraft:item_interact_finish` game events. Defaults to true Examples: set {_i} to 1 of shield apply use effects component to {_i}: can_sprint: true speed_multiplier: 0.7 interact_vibrations: false give player 1 of {_i} ## ItemComponent - Adventure Predicate Apply Addon: SkBee Category: Section Syntax: apply (can place on|can break) [adventure] predicate to %itemstacks/itemtypes/slots% Description: Apply an adventure can break/can place on predicate to items. Requires Paper 1.21.3+ See [**Can Break**](https://minecraft.wiki/w/Data_component_format#can_break)/[**Can Place On**](https://minecraft.wiki/w/Data_component_format#can_place_on) components on McWiki for more info. **Entries**: - `blocks` = The blocks this item can place on/can break. (Accepts ItemTypes, BlockDatas, Tags, TagKeys and RegistryKeySets(soon™)) Examples: apply can break adventure predicate to player's tool: blocks: grass block, dirt, stone, gravel apply can break adventure predicate to player's tool: blocks: minecraft block tag "minecraft:mineable/pickaxe" apply can place on adventure predicate to player's tool: blocks: minecraft block tag "minecraft:logs" ## Dialog - Multi Action Dialog Addon: SkBee Category: Section Syntax: open [new] multi action dialog to %audiences% Description: Open a dialog screen with a scrollable list of action buttons arranged in columns. If `exit_action` is present, a button for it will appear in the footer, otherwise the footer is not present. `exit_action` is also used for the Escape action. See [**Multi Action Dialog**](https://minecraft.wiki/w/Dialog#multi_action) on McWiki for further details. See [**snippets**](https://github.com/ShaneBeee/SkriptSnippets/tree/master/snippets/dialog) for comprehensive examples. **Entries**: - `title` = Screen title, appearing at the top of the dialog, accepts a string/text component. - `external_title` = Name to be used for a button leading to this dialog (for example, on the pause menu), accepts a string.text component. If not present, `title` will be used instead. [Optional] - `body` = Optional section for body elements or a single body element. See [**Body Format on SkBee wiki**](https://github.com/ShaneBeee/SkBee/wiki/Dialogs#body-format) and [**Body Format on McWiki**](https://minecraft.wiki/w/Dialog#Body_format) for further info. - `inputs` = Optional section for input controls. See [**Input Control on SkBee wiki**](https://github.com/ShaneBeee/SkBee/wiki/Dialogs#input-control)and [**Input Control on McWiki**](https://minecraft.wiki/w/Dialog#Input_control_format) for further info. - `can_close_with_escape` = Can dialog be dismissed with Escape key. Defaults to true. [Optional] - `after_action` = An additional operation performed on the dialog after click or submit actions (accepts a string).Options are "close", "none" and "wait_for_response".See [**Common Entries on SkBee wiki**](https://github.com/ShaneBeee/SkBee/wiki/Dialogs#common-entries) for further info. - `actions` = Similar to above, but you can include as many [action buttons](https://github.com/ShaneBeee/SkBee/wiki/Dialogs#action-format) in this section as you want. - `columns` = Positive integer describing number of columns. Defaults to 2. [Optional] - `exit_action` = Action for leaving the dialog. Same as action sections but will only accept one action. [Optional] ## Dialog - Confirmation Dialog Addon: SkBee Category: Section Syntax: open [new] confirmation dialog to %audiences% Description: Open a dialog screen with two action buttons in footer, specified by 'yes' and 'no' actions. By default, the exit action is 'no' button. See [**Confirmation Dialog**](https://minecraft.wiki/w/Dialog#confirmation) on McWiki for further details. See [**snippets**](https://github.com/ShaneBeee/SkriptSnippets/tree/master/snippets/dialog) for comprehensive examples. **Entries**: - `title` = Screen title, appearing at the top of the dialog, accepts a string/text component. - `external_title` = Name to be used for a button leading to this dialog (for example, on the pause menu), accepts a string.text component. If not present, `title` will be used instead. [Optional] - `body` = Optional section for body elements or a single body element. See [**Body Format on SkBee wiki**](https://github.com/ShaneBeee/SkBee/wiki/Dialogs#body-format) and [**Body Format on McWiki**](https://minecraft.wiki/w/Dialog#Body_format) for further info. - `inputs` = Optional section for input controls. See [**Input Control on SkBee wiki**](https://github.com/ShaneBeee/SkBee/wiki/Dialogs#input-control)and [**Input Control on McWiki**](https://minecraft.wiki/w/Dialog#Input_control_format) for further info. - `can_close_with_escape` = Can dialog be dismissed with Escape key. Defaults to true. [Optional] - `after_action` = An additional operation performed on the dialog after click or submit actions (accepts a string).Options are "close", "none" and "wait_for_response".See [**Common Entries on SkBee wiki**](https://github.com/ShaneBeee/SkBee/wiki/Dialogs#common-entries) for further info. - `actions` = Section for action buttons.See [**Action Format on SkBee wiki**](https://github.com/ShaneBeee/SkBee/wiki/Dialogs#action-format)and [**Action Format on McWiki**](https://minecraft.wiki/w/Dialog#Action_format) for further info. ## ItemComponent - Consumable Component Apply Addon: SkBee Category: Section Syntax: apply consumable [component] to %itemstacks/itemtypes/slots% Description: Apply a consumable component to an item. If present, this item can be consumed by the player. Requires Paper 1.21.3+ See [**Consumable Component**](https://minecraft.wiki/w/Data_component_format#consumable) on McWiki for more info. **Entries**: - `consume_seconds` = The amount of time it takes for a player to consume the item. Defaults to 1.6 seconds. [Optional] - `animation` = The animation used during consumption of the item. [Optional] Must be one of "none", "eat", "drink", "block", "bow", "spear", "crossbow", "spyglass", "toot_horn" or "brush". Defaults to "eat"] - `sound` = A sound key to player when consumed. Defaults to "entity.generic.eat" [Optional] - `has_consume_particles` = Whether consumption particles are emitted while consuming this item. Defaults to true. [Optional] - `on_consume_effect` = A `consume effect` to by applied to the component (supports a list) [Optional]. - `on_consume_effects` = A section to apply `consume effects` [Optional]. Examples: apply consumable to {_i}: animation: "drink" consume_seconds: 2.5 seconds on_consume_effects: apply -> potion effect of slowness for 10 seconds with probability 0.5 apply -> clear all effects apply -> remove effects night vision apply -> play sound "blah.blah" apply -> teleport randomly within 15 apply -> teleport randomly within 20 meters apply -> teleport randomly within 100 blocks set {_effects} to apply_effects(potion effect of night vision for 10 seconds, 0.5) set {_i} to 1 of stick apply consumable component to {_i}: consume_seconds: 3.2 seconds animation: "brush" sound: "block.stone.break" has_consume_particles: false on_consume_effect: {_effects} give {_i} to player ## ResourcePack - Send Request Addon: SkBee Category: Section Syntax: send [a] resource pack[s] to %audience/playerconnection% Description: Send a resource pack request to an audience or player connection. This is similar to the effect but includes a callback section to handle what the client does. This can be used in the 'Async Player Connection Configure' event as well. **Entries**: - `packs` = A section where you can apply multiple packs to send at once (required). - Use the 'ResourcePack - Apply Pack' effect to add packs in this section. - `prompt` = The prompt to send to the player. Accepts String/TextComponent/TextComp. [optional] - `force` = Whether or not to force the player to accept the resource pack [optional boolean]. - `received` = A callback section where you can run code when the resource pack is received. - This section may be called multiple times for different stages of the request. **Event Values in Received Section**: - `event-uuid` = The id of the resource pack. - `event-status` = The status (ResourcePackStatus) of the resource pack request. - `event-audience` = The audience of the resource pack request. Examples: send resource packs to player: prompt: "Please accept our packs" force: true packs: apply pack with url "some.url" with id (random uuid) apply pack with url "anoter.url" with id (random uuid) received: if event-status = successfully_loaded: send "YAY" to event-audience ## ItemComponent - Profile Component Apply Addon: SkBee Category: Section Syntax: apply profile [component] to %itemstacks/itemtypes/slots/blocks/entities% Description: Apply a profile component to an item/entity/block. This is generally used for player heads and mannequins. It can also be used on players but please use with caution. See [**Profile Component**](https://minecraft.wiki/w/Data_component_format#profile) on McWiki for more details. **Entries**: - `name` = A username with a maximum length of 16, and only consisting of username-allowed characters [optional]. - `id` = A UUID. If no other profile fields are specified, this is used to dynamically request the profile of a player with that UUID from Mojang's servers. Once received, that profile's properties (such as its skin, cape, and elytra textures) can be used for rendering. If the profile does not exist, a random default skin is provided [optional]. - `texture-value` = A base64 encoded string representing the texture data for the profile. [optional]. - `texture-signature` = A base64 encoded string representing the signature of the texture data. [optional]. - `model` = The model of the skin, either `classic` or `slim`. Defaults to `classic` if not specified. [optional]. - `texture` = Namespaced path to a player skin texture, relative to the `textures` folder in a resource pack [optional]. - `cape` = Namespaced path to a cape texture, relative to the `textures` folder in a resource pack. [optional]. - `elytra` = Namespaced path to an elytra texture, relative to the `textures` folder in a resource pack. [optional]. Examples: # Hamburger Head set {_i} to 1 of player head apply profile to {_i}: texture-value: "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYmJlNjAyN2NhM2MwZTE3MDJlOGU0ODE4ZjlkYjk0NDc1NTU4MDVjZDE1NjFlYTUyZWNhODRjOTkyNDk1NTRlMyJ9fX0=" give {_i} to player # Yours Truly's Head set {_i} to 1 of player head apply profile to {_i}: name: "ShaneBee" give {_i} to player # Batman spawn a mannequin above target block of player: apply profile to entity: name: "Batman" ## Dialog - Dialog List Dialog Addon: SkBee Category: Section Syntax: open [new] dialog list dialog to %audiences% Description: A dialog screen with scrollable list of buttons leading directly to other dialogs, arranged in columns. Titles of those buttons will be taken from external_title fields of targeted dialogs. If `exit_action` is present, a button for it will appear in the footer, otherwise the footer is not present. `exit_action` is also used for the Escape action. See [**Dialog List Dialog**](https://minecraft.wiki/w/Dialog#dialog_list) on McWiki for further details. See [**snippets**](https://github.com/ShaneBeee/SkriptSnippets/tree/master/snippets/dialog) for comprehensive examples. You can either register a dialog in the `registry registration` structure, and open it later or you can create/open a dialog on the fly. **Register**: Register a dialog with an `id` (The id that represents this dialog, accepts a string or NamespacedKey). **Open**: Create a dialog and directly open it to a player without registration. **Entries**: - `title` = Screen title, appearing at the top of the dialog, accepts a string/text component. - `external_title` = Name to be used for a button leading to this dialog (for example, on the pause menu), accepts a string.text component. If not present, `title` will be used instead. [Optional] - `body` = Optional section for body elements or a single body element. See [**Body Format on SkBee wiki**](https://github.com/ShaneBeee/SkBee/wiki/Dialogs#body-format) and [**Body Format on McWiki**](https://minecraft.wiki/w/Dialog#Body_format) for further info. - `inputs` = Optional section for input controls. See [**Input Control on SkBee wiki**](https://github.com/ShaneBeee/SkBee/wiki/Dialogs#input-control)and [**Input Control on McWiki**](https://minecraft.wiki/w/Dialog#Input_control_format) for further info. - `can_close_with_escape` = Can dialog be dismissed with Escape key. Defaults to true. [Optional] - `after_action` = An additional operation performed on the dialog after click or submit actions (accepts a string).Options are "close", "none" and "wait_for_response".See [**Common Entries on SkBee wiki**](https://github.com/ShaneBeee/SkBee/wiki/Dialogs#common-entries) for further info. - `dialogs` = A list of strings of previously defined dialogs. Will accept the ID of the other dialogs, whether registered by you or from datapacks. - `exit_action` = Action for leaving the dialog. Same as action sections but will only accept one action. [Optional] - `columns` = Positive integer describing number of columns. Defaults to 2. [Optional] - `button_width` = Integer value between 1 and 1024 — Width of the button. Defaults to 150. ## ItemComponent - Use Cooldown Addon: SkBee Category: Section Syntax: apply use cooldown [component] to %itemstacks/itemtypes/slots% Description: Apply a cooldown to all items of the same type when it has been used. See [**Use Cooldown Component**](https://minecraft.wiki/w/Data_component_format#use_cooldown) on McWiki for more details. **Entries**: - `seconds` = The cooldown duration (timespan, must be >= 1 tick). - `group` = The unique key to identify this cooldown group. If present, the item is included in a cooldown group and no longer shares cooldowns with its base item type, but instead with any other items that are part of the same cooldown group. [Optional] Examples: apply use cooldown to {_item}: seconds: 5 seconds group: "blah:special_apple" ## ItemComponent - JukeboxPlayable Component Apply Addon: SkBee Category: Section Syntax: apply jukebox playable [component] to %itemstacks/itemtypes/slots% Description: Apply an jukebox playable component to an item. When applied, the item can be inserted into a jukebox and plays the specified song. Requires Paper 1.21.3+ See [**JukeboxPlayable Component**](https://minecraft.wiki/w/Data_component_format#jukebox_playable) on McWiki for more info. **Entries**: - `song` = A jukebox song to be played. ## ItemComponent - Weapon Addon: SkBee Category: Section Syntax: apply weapon component to %itemstacks/itemtypes/slots% Description: Apply a weapon component to items. See [**Weapon Component**](https://minecraft.wiki/w/Data_component_format#weapon) on McWiki for more details. **Entries**: - `item_damage` - Controls the amount of durability to remove each time the weapon is used to attack [optional number, defaults to 0]. - `disable_blocking` - The amount of seconds that this item can disable a blocking shield on successful attack [optional TimeSpan]. Examples: apply weapon component to player's tool: item_damage: 2 disable_blocking: 5 seconds ## ItemComponent - CustomModelData Component Apply Addon: SkBee Category: Section Syntax: apply custom model data [component] to %itemstacks/itemtypes/slots% Description: Apply a custom model data component to items. Requires Paper 1.21.4+ See [**CustomModelData Component**](https://minecraft.wiki/w/Data_component_format#custom_model_data) on McWiki for more info. **Entries**: - `floats` = A list of numbers. - `flags` = A list of booleans (true/false). - `strings` = A list of strings. - `colors` = A list of colors. Examples: apply custom model data to player's tool: floats: 1, 2, 3, 4, 5 strings: "hello", "yippee" flags: true, true, true, false colors: blue, green, rgb(1,1,1) ## Dialog - Notice Dialog Addon: SkBee Category: Section Syntax: open [new] notice dialog to %audiences% Description: Open a dialog screen with a single action button in footer, specified by an action button. By default, the exit action (which returns the player back to gameplay) is the same as the action button. See [**Notice Dialog**](https://minecraft.wiki/w/Dialog#notice) on McWiki for further details. See [**snippets**](https://github.com/ShaneBeee/SkriptSnippets/tree/master/snippets/dialog) for comprehensive examples. **Entries**: - `title` = Screen title, appearing at the top of the dialog, accepts a string/text component. - `external_title` = Name to be used for a button leading to this dialog (for example, on the pause menu), accepts a string.text component. If not present, `title` will be used instead. [Optional] - `body` = Optional section for body elements or a single body element. See [**Body Format on SkBee wiki**](https://github.com/ShaneBeee/SkBee/wiki/Dialogs#body-format) and [**Body Format on McWiki**](https://minecraft.wiki/w/Dialog#Body_format) for further info. - `inputs` = Optional section for input controls. See [**Input Control on SkBee wiki**](https://github.com/ShaneBeee/SkBee/wiki/Dialogs#input-control)and [**Input Control on McWiki**](https://minecraft.wiki/w/Dialog#Input_control_format) for further info. - `can_close_with_escape` = Can dialog be dismissed with Escape key. Defaults to true. [Optional] - `after_action` = An additional operation performed on the dialog after click or submit actions (accepts a string).Options are "close", "none" and "wait_for_response".See [**Common Entries on SkBee wiki**](https://github.com/ShaneBeee/SkBee/wiki/Dialogs#common-entries) for further info. - `action` = Click action. Defaults to button with `gui.ok` label and no action or tooltip.This is a section where you'll use an [**aAction Format Section**](https://github.com/ShaneBeee/SkBee/wiki/Dialogs#action-format) to add your action[s]. ## SwitchCase - Case Addon: SkBee Category: Section Syntax: case %objects% Description: In a switch section/expression, you can manage different actions based on the case matching the switched value. Multiple objects are supported in cases. Default will run if all other cases fail to match. Default must go last or all cases after it will be ignored. Examples: on break: switch event-block: case dirt: give player a stick named "Dirt" case stone: give player an apple named "Stone" case grass block: give player an iron ingot named "Iron Ingot" default: kill player on damage of a mob by a player: switch type of victim: case zombie, husk, a drowned: spawn 3 baby zombies at victim case skeleton, stray: spawn a skeleton horse at victim: set {_h} to entity spawn a skeleton at victim: set {_s} to entity make {_s} ride {_h} case sheep, cow, chicken, pig: kill attacker default: give attacker a diamond ## ItemComponent - Piercing Weapon Component Apply Addon: SkBee Category: Section Syntax: apply piercing weapon component to %itemstacks/itemtypes/slots% Description: Melee attacks using this item damage multiple entities along a ray, instead of only a single entity. Also prevents this item from being used to mine blocks. See [**Piercing Weapon Component**](https://minecraft.wiki/w/Data_component_format#piercing_weapon) on McWiki for more details. Requires Minecraft 1.21.11+ **ENTRIES**: All entries are optional and will use their defaults when omitted. - `deals_knockback` = Boolean, whether the attack deals knockback. Defaults to true. - `dismounts` = Boolean, whether the attack dismounts the target. Defaults to false. - `sound` = String, sound key to play when a player attacks with the weapon. - `hit_sound` = String, sound key to play when the weapon hits an entity. Examples: set {_i} to 1 of stick apply piercing weapon component to {_i}: deals_knockback: true dismounts: true sound: "minecraft:item.spear.attack" hit_sound: "minecraft:item.spear.hit" give player 1 of {_i} ## Transfer - Retrieve Cookie Addon: SkBee Category: Section Syntax: retrieve cookie with key %namespacedkey/string% [from %player%] Description: Retrieve a cookie from a player. Due to the retrieval process happening async, this will delay proceeding code. While the cookie is being retrieved, the following code will wait. NOTE: Cookies are stored across server transfers. Examples: command /server : trigger: store cookie "%uuid of player%-transfer" with key "transfer" on player transfer player to arg-1 # Connect event is recommended over join event # This way if you have to kick the player it's done before they join on connect: # only do a cookie check if player was transferred if player is transferred: retrieve cookie with key "transfer" from player: if transfer cookie = "%uuid of player%-transfer": # stop code if cookie is correct stop # kick player if cookie is missing or incorrect kick player due to "&cIllegal Transfer" ## Bound - Copy Bound Addon: SkBee Category: Section Syntax: create [a] copy of [bound] %bound% (with|using) [the] id %string% Description: Create an exact replica of an existing bound with a new id. Examples: create a copy of bound with id "some_bound" with id "some_bound_copy" create a copy of bound with id "some_bound" with id "some_bound_copy": resize the bound between {_pos1} and {_pos2} add {_player} to bound owners of bound ## Bound - Create Addon: SkBee Category: Section Syntax: create [a] [new] [temporary] [full] bound with id %string% (within|between) %block/location% and %block/location% Description: Create a bound within 2 locations. This can be used as an effect and as a section. Optional value `temporary` creates a bound which persists until server stops (not saved to file). Optional value `full` will mark the bound to use the world's min/max height. These optional values can be used together. **SPECIAL NOTE**: - When using locations = The bound created will use the locations you pass thru - When using blocks = The bound created will extend the x/y/z axes by 1 to fully include those blocks. Examples: # Create bounds using locations create bound with id "le-test" between {_1} and {_2}: set bound value "le-value" of event-bound to 52 set bound owner of event-bound to {_p} create a new bound with id "%uuid of player%.home" between {loc1} and {loc2} create a temporary bound with id "%{_world}%.safezone-%random uuid%" between {loc1} and {loc2} create a full bound with id "spawn" between {loc} and location of player # Create bounds using blocks create bound with id "my_home" within block at player and block 10 above target block create bound with id "le_bound" within {_block1} and {_block2} create a new bound with id "%uuid of player%.home" between {block1} and {block2} ## TextComponent - Click Event Callback Addon: SkBee Category: Section Syntax: create [a] [new] [click event] callback for %textcomp% [with %-number% use[s]] [[and] with [a] (lifetime|duration) of %-timespan%] Description: Create a click event, that when clicked will run the code in this section. NOTE: Internally this just makes the player run a special command so you will see console messages where a player runs the command "/paper callback" in your console. NOTE: Paper didn't make this command available by default so you'll have to give your players the permission `bukkit.command.paper.callback`. (As of PaperMC 1.20.1[build-169], the permission is no longer required). `uses` = The amount of times the player can click this. Defaults to 1. Use `-1` for unlimited uses. `lifetime` = How long the player has til they can't click it. Defaults to 12 hours. Examples: set {_t} to mini message from "JOIN US AT SPAWN FOR A SPECIAL EVENT (10 SECONDS REMAINING!)" create callback for {_t} with a duration of 10 seconds: teleport player to spawn of world "world" send component {_t} to all players set {_t} to text component from "&cDONT CLICK ME" create callback for {_t} with (size of players) uses: kill player broadcast "&b%player% &eclicked it &cAND DIED&7!!!" send component {_t} to all players set {_t} to text component from "Hey you! Click this for a free item." set {_t2} to text component from "&e&lONE TIME USE!" create a callback for {_t}: give player random item out of available item types send components (merge components {_t} and {_t2} with " ") to players ## Task - Run Task Later Addon: SkBee Category: Section Syntax: [async] (run|execute) [task] %timespan% later [repeating every %-timespan%] [globally] [and store [task] id in %-object%] Description: Run a task later. Similar to Skript's delay effect, with the difference being everything in the section is run later. All code after your section will keep running as normal without a delay. This can be very useful in loops, to prevent halting the loop. You can optionally have your task repeat until cancelled. You can optionally run your code async/on another thread. You can optionally store the task ID in a variable, to help make use of it later. **NOTE**: A good chunk of Bukkit/Minecraft stuff can NOT be run async. It may throw console errors. Please be careful when running async, this is generally reserved for heavy math/functions that could cause lag. Simply waiting a tick, or running a new non-async section will put your code back on the main thread. **Patterns**: The 2nd pattern is only of concern if you are running Folia or have Paper schedulers enabled in the config, otherwise just use the first pattern. - `globally` = Will run this task on the global scheduler. - `for %entity` = Will run this task for an entity, will follow the entity around (region wise)and will cancel itself when the entity is no longer valid. - `at %location%` = Will run this task at a specific location (Use this for block changes in this section). Examples: on explode: loop exploded blocks: set {_loc} to location of loop-block ## Repeating While Loop Addon: SkBee Category: Section Syntax: while <.+> repeating every %timespan% [globally] Description: Similar to Skript's while loop, this while loop will repeat at the given timespan. It is recommended to NOT use a wait within these sections, as the section will repeat regardless. **Patterns**: The 2nd pattern is only of concern if you are running Folia or have Paper schedulers enabled in the config, otherwise just use the first pattern. - `globally` = Will run this loop on the global scheduler (Use this for non entity/block related tasks). - `for %entity` = Will run this task for an entity, will follow the entity around (region wise)and will cancel itself when the entity is no longer valid. - `at %location%` = Will run this loop at a specific location (Use this for block related tasks). Examples: on entity added to world: if event-entity is a wolf: while event-entity is valid repeating every 1 seconds: ## Minecraft - Spawn Entity Addon: SkBee Category: Section Syntax: (minecraft|mc|skbee|le) spawn [%number% of] %minecraftentitytypes/namespacedkeys/strings% [%directions% %locations%] Description: Spawn an entity from a Minecraft Key/EntityType. This is both a section and an effect (used just like Skript's spawn sec/effect). Examples: # Spawn from MinecraftEntityType mc spawn sheep at player mc spawn minecraft:cow at player mc spawn minecraft:wind_charge at player # Spawn from String mc spawn "sheep" at player mc spawn "minecraft:cow" at location(1,100,1) mc spawn "minecraft:wind_charge" above target block # Spawn from Minecraft Key set {_key} to mc key from "minecraft:sheep" mc spawn {_key} above target block mc spawn (mc key from "sheep") at {_location} mc spawn (minecraft key from "minecraft:breeze") at location(1,100,1, world "world_nether") # Spawn Using Section le spawn sheep at player: set ai of entity to false mc spawn minecraft:armor_stand at player: set gravity of entity to false mc spawn "minecraft:breeze" at player: set max health of entity to 100 set health of entity to 100 ## Apply Suggestion Addon: SkBriggy Category: Effect Syntax: apply suggestion %string% with tooltip %~object% Description: Apply a suggestion with tooltip or list of suggestions to an argument. This is used only in the argument registration section of a brig command and the suggestions section of a big command tree. Examples: register string arg "world": apply suggestion all worlds register string arg "homes" using: apply suggestions indexes of {homes::%uuid of player%::*} register string arg "homes" using: loop {homes::%uuid of player%::*}: apply suggestion loop-index with tooltip loop-value register string arg "gamemode": apply suggestion "0" with tooltip "survival" apply suggestion "1" with tooltip "creative" apply suggestion "2" with tooltip "adventure" apply suggestion "3" with tooltip "spectator" ## Predicate - Matches Addon: SkBriggy Category: Condition Syntax: %itemstacks/blocks% match[es] (item|block) predicate %predicate% Description: Check if a block/item matches a predicate. Examples: # /remove @a #wool # /remove @a #minecraft:swords{Damage:0} brig command /remove : trigger: loop {_players::*}: loop items in inventory of loop-value: if loop-item matches item predicate {_i}: remove loop-item from inventory of loop-value-1 # /replace minecraft:short_grass minecraft:air 20 # /replace #minecraft:dirt minecraft:sand 30 # /replace #minecraft:logs minecraft:stone 50 brig command /replace []: trigger: if {_rad} is not set: set {_rad} to 5 loop blocks in radius {_rad} around target block of player: if loop-block matches block predicate {_b}: set loop-block to {_block} ## Integer Range Addon: SkBriggy Category: Type Syntax: intrange Description: Represents a range between 2 integers. Use the IntegerRange expression to get the high/low value. ## Executor Type Addon: SkBriggy Category: Type Syntax: executortype Description: Represents the different types that can run a command. ## Particle Data Addon: SkBriggy Category: Type Syntax: particledata Description: Represents a particle along with its provided data. This is retrieved when using the `particle` argument. You can get the particle/data from this type using the appropriate expressions. Examples: brig command /leparticle : trigger: set {_particle} to particle type of {_p} set {_data} to data type of {_p} if {_data} is set: make 1 of {_particle} using {_data} at {_loc} with extra 0 else: make 1 of {_particle} at {_loc} with extra 0 ## Brig Argument Type Addon: SkBriggy Category: Type Syntax: brigarg Description: Represents a type of argument for a Brig Command. All the types here represent object types in Minecraft, with built in conversions to return Bukkit/Skript types to be able to fully use in Skript. See Wiki for more details https://github.com/ShaneBeee/SkBriggy/wiki/Brig-Argument-Type ## Brig Command Addon: SkBriggy Category: Structure Syntax: brig[(gy|adier)] command /<.+> Description: Register a new Brigadier command. See wiki for more details on registering: [**SkBriggy Wiki**](https://github.com/ShaneBeee/SkBriggy/wiki/Registering-New-Command) Command Format: `brig command /namespace:commandName [] []:` `namespace` = The namespace of a command. (Optional, defaults to "minecraft:") `commandName` = Represents the command itself, ex: '/mycommand'. `brigArgType` = Represents a brig argument type. - While some may match Skript types, this doesn't actually support Skript types. `argName` = The name of the arg, which will be used to create a local variable for the arg. - In some cases this will show when typing out a command in game. - If this isn't set a local variable will be created using the type (see examples). Just like Skript commands, wrapping your arg in `[]` makes it optional. Do note at this time there is no support for defaults. Entries and Sections: `executor_type` = What types of execturs can run this command (Optional, defaults to `all`). `permission:` = Just like Skript, the permission the player will require for this command. `description:` = Just like Skript, this is a string that will be used in the help command. `arguments:` = Section for registering arguments. See `Register Argument` effect. `trigger:` = Section, just like Skript, for executing your code in the command. Event Values: `[event-]sender` = The sender (console/player/entity) who ran the command or the sender used in Minecraft's `/execute as ` command. `[event-]world` = World of the sender, or default world if sender is console, or world used in Minecraft's `/execute in ` command. Examples: brig command /move : trigger: teleport {_player} to {_location} brig command /move : trigger: teleport {_p1} to {_p2} brig command /i []: trigger: set {_amount} to 1 if {_amount} isn't set give {_amount} of {_item} to player brig command /coolserver:party: permission: coolserver.party trigger: teleport all players to spawn of world "world_party" ## CommandTree - Command Addon: SkBriggy Category: Structure Syntax: brig[(gy|adier)] command[ ]tree /<.+> Description: Command trees are similar to regular commands with the difference being the arguments are in a tree. By having a tree, each argument can have sub args as well as their own triggers. See [**SkBriggy Wiki**](https://github.com/ShaneBeee/SkBriggy/wiki/Command-Tree) for more detailed info. Command names can include namespaces, ex: `brig command tree /mycommands:somecommand`. Defaults to `minecraft` when excluded. **Entries/Sections**: `executor_type` = What types of execturs can run this command (Optional, defaults to `all`). `permission` = Just like Skript, the permission the player will require for this command. `description` = Just like Skript, this is a string that will be used in the help command. `usages` = This is the usage which is shown in the specific `/help ` page. Separate multiple usages by comma. `aliases` = Aliases for this command. `override` = Whether to completely wipe out other commands with the same name, such as vanilla Minecraft commands (Defaults to false). `register arg` = Register another subcommand within this one. Supports multiple. `trigger` = Like any other command, this is what will execute when the command is run. Examples: # Example with optional arg that can be bypassed brig command tree /legamemode: literal arg "gamemode" using "adventure", "creative", "spectator", "survival": # When optional, the trigger will still run but the arg is ignored optional players arg "players": trigger: # if the player arg is not used, we will default to the command sender set {_players::*} to {_players::*} ? player set {_gamemode} to {_gamemode} parsed as gamemode set gamemode of {_players::*} to {_gamemode} # Example similar to above but using 2 different triggers brig command tree /spawn: world arg "world": trigger: teleport player to spawn of {_world} # if the argument isn't entered, this will execute trigger: teleport player to spawn of world of player # Example showing off suggestions with tooltips brig command tree /lewarp: string arg "warp": suggestions: loop {warps::*}: set {_s} to "&7x: &b%x coord of loop-value% &7y: &b%y coord of loop-value% &7z: &b%z coord of loop-value% &7world: &a%world of loop-value%" apply suggestion loop-index with tooltip {_s} trigger: if {warps::%{_warp}%} is set: teleport player to {warps::%{_warp}%} else: send "No warp available for %{_warp}%" brig command tree /leban: description: &bThis allows you to ban players usages: /leban &7<&bplayers&7> &7<&btimespan&7> players arg "players": int arg "time": string arg "span" using "minutes", "hours", "days": # When optional, the trigger will still run but the arg is ignored optional greedy string arg "reason": trigger: set {_timespan} to "%{_time}% %{_span}%" parsed as timespan set {_reason} to {_reason} ? "Unknown Reason" ban {_players::*} due to "&c" + {_reason} for {_timespan} kick {_players::*} due to "&c" + {_reason} ## ParticleData - Particle Addon: SkBriggy Category: Expression Syntax: [the] particle type of %particledata% Description: Represents the particle of a ParticleData. Examples: brig command /leparticle : trigger: set {_particle} to particle type of {_p} set {_data} to data type of {_p} if {_data} is set: make 1 of {_particle} using {_data} at {_loc} with extra 0 else: make 1 of {_particle} at {_loc} with extra 0 ## IntegerRange - Low/High Addon: SkBriggy Category: Expression Syntax: [the] (low|high) range of %intrange% Description: Get the low/high point of an integer range. Examples: set {_low} to low range of {_intrange} set {_high} to high range of {_intrange} set {_ints::} to integers between {_low} and {_high} ## ParticleData - Data Type Addon: SkBriggy Category: Expression Syntax: [the] data type of %particledata% Description: Represents the data type of a ParticleData. Examples: brig command /leparticle : trigger: set {_particle} to particle type of {_p} set {_data} to data type of {_p} if {_data} is set: make 1 of {_particle} using {_data} at {_loc} with extra 0 else: make 1 of {_particle} at {_loc} with extra 0 ## Brig Command Arg Addon: SkBriggy Category: Expression Syntax: brig-arg-%*number% Description: Represents the arguments in a Brig Command. These works the same way as Skript's `arg` and `arg-1`. Since command args create local variables at runtime, these are virtually useless. These can be used in both the `register argument` and `trigger` sections. Examples: brig command /i : trigger: give brig-arg-2 of brig-arg-1 to player ## Argument Suggestions Addon: SkBriggy Category: Expression Syntax: suggestions of arg[ument][s] %strings/numbers% Description: Set the suggestions for an argument. Will accept any object, but strings are the best way to go. For args you can use a number (the position of the argument) or a string (name of the argument), see examples. NOTE: This expression is not dynamic, meaning if variables/expressions are used, they wont update. Examples: brig command /spawn : arguments: set suggestions of arg 1 to all worlds trigger: teleport player to spawn of world({_string}) brig command /setnick : arguments: set suggestions of "name" argument to "" trigger: set display name of player to {_name} ## Predicate - Filter Addon: SkBriggy Category: Expression Syntax: %itemstacks% (that|which) match item[[ ]stack] predicate %predicate% Description: Represents a item/block predicate for filtering objects. Examples: # /destroy minecraft:short_grass 10 # /destroy #minecraft:stairs 50 brig command /destroy []: trigger: if {_rad} is not set: set {_rad} to 5 loop ((blocks in radius {_rad} around target block) that match block predicate {_b}): break loop-block # /remove @a #minecraft:swords # /remove @a #minecraft:swords{Damage:0} brig command /remove : trigger: loop {_players::*}: remove ((items in loop-value's inventory) that match item predicate {_i}) from inventory of loop-value ## Register Argument Addon: SkBriggy Category: Section Syntax: register [optional] %*brigarg% arg[ument] [(named|with name)] %string% Description: Register an argument for a brig command. Within this section you can apply suggestions with tooltips. The section itself will run when a player types a command, thus variables CAN be used and the [event-]player will be the player typing the command. Local variables will be created for the previously typed args, and can be used in this section. See examples. `brigarg` = Type of argument. See Brig Argument Type for more details. `string` = Name of the argument. (Used for local variables and how it shows in game) `%objects`% = Suggestions for this argument. (If object is not a string, Skript will stringify it) `min/max` = The min/max range of a number (long/int/float/double) argument. Examples: register string arg "world" using all worlds register string arg "world": apply suggestion all worlds register string arg "homes" using indexes of {homes::%uuid of player%::*} register string arg "homes" using: apply suggestions indexes of {homes::%uuid of player%::*} register string arg "homes" using: loop {homes::%uuid of player%::*}: apply suggestion loop-index with tooltip loop-value register string arg "gamemode": apply suggestion "0" with tooltip "survival" apply suggestion "1" with tooltip "creative" apply suggestion "2" with tooltip "adventure" apply suggestion "3" with tooltip "spectator" brig command /breaky: arguments: register string arg named "type" using "bacon", "eggs" and "toast" register string arg named "style": if brig-arg-1 = "bacon": # Brig-Args can be used here apply suggestion "crispy" with tooltip "nice and crispy" apply suggestion "soft" with tooltip "ewww" else if {_type} = "eggs": # Local variables of the previous arg are also created apply suggestion "sunny_side_up" with tooltip "facing the sun" apply suggestion "scrambled" with tooltip "all mixed up" apply suggestion "soft_boiled" with tooltip "swimmin for a short time" apply suggestion "hard_boiled" with tooltip "eww, thats nasty bitch" else if {_type} = "toast": apply suggestion "light" with tooltip "just a touch of heat" apply suggestion "medium" with tooltip "well that sounds perfect" apply suggestion "dark" with tooltip "nice and crisy" apply suggestion "burnt" with tooltip "now ya done an fucked er up" ## CommandTree - SubCommand Addon: SkBriggy Category: Section Syntax: [optional] %*brigarg% arg[ument] [(named|with (name|id))] %*string% Description: Register a sub command in a command tree. A sub command is just an argument that can have its own sub commands and triggers. See [**SkBriggy Wiki**](https://github.com/ShaneBeee/SkBriggy/wiki/Command-Tree) for more detailed info. **Notes**: - A `greedy string` arg always has to be last, you cannot register another subcommand within it. - Optionals are a little funny, you cannot have a required subcommand within an optional subcommand. - Min/Max can only be used on number subcommands. - The name/id you choose for your subcommand will automatically be made into a local variable. - List arg types (ie: players/entities) will create list variables. DO NOT repeat names. See examples. **Entries/Sections**: `permission` = Each subcommand can have its own permission. `suggestions` = You can apply suggestions (with tooltips) to a subcommand. See `apply suggestion` effect, and examples. `register arg` = Register another subcommand within this one. Supports multiple. `trigger` = Like any other command, this is what will execute when the command is run. Examples: # Example with optional arg that can be bypassed brig command tree /legamemode: literal arg "gamemode" using "adventure", "creative", "spectator", "survival": # When optional, the trigger will still run but the arg is ignored optional players arg "players": trigger: # if the player arg is not used, we will default to the command sender set {_players::*} to {_players::*} ? player set {_gamemode} to {_gamemode} parsed as gamemode set gamemode of {_players::*} to {_gamemode} # Example similar to above but using 2 different triggers brig command tree /spawn: world arg "world": trigger: teleport player to spawn of {_world} # if the argument isn't entered, this will execute trigger: teleport player to spawn of world of player # Example showing off suggestions with tooltips brig command tree /lewarp: string arg "warp": suggestions: loop {warps::*}: set {_s} to "&7x: &b%x coord of loop-value% &7y: &b%y coord of loop-value% &7z: &b%z coord of loop-value% &7world: &a%world of loop-value%" apply suggestion loop-index with tooltip {_s} trigger: if {warps::%{_warp}%} is set: teleport player to {warps::%{_warp}%} else: send "No warp available for %{_warp}%" brig command tree /leban: description: &bThis allows you to ban players usages: /leban &7<&bplayers&7> &7<&btimespan&7> players arg "players": int arg "time": string arg "span" using "minutes", "hours", "days": # When optional, the trigger will still run but the arg is ignored optional greedy string arg "reason": trigger: set {_timespan} to "%{_time}% %{_span}%" parsed as timespan set {_reason} to {_reason} ? "Unknown Reason" ban {_players::*} due to "&c" + {_reason} for {_timespan} kick {_players::*} due to "&c" + {_reason} ## pair Addon: SkCheese Category: Function Syntax: pair(first: object, second: object) :: pair ## Pair Addon: SkCheese Category: Type Syntax: pair Description: A pair is a single value that can hold 2 objects at once. ## Future Addon: SkCheese Category: Type Syntax: future Description: Represents a completable future. ## Wrapped List Addon: SkCheese Category: Type Syntax: wrappedlist Description: Represents a wrapped list. ## All True? Addon: SkCheese Category: Condition Syntax: %booleans%\? Description: Checks if a list of booleans are all true. Examples: if {_booleans::*}?: broadcast "all booleans in the list are true ## If Not Addon: SkCheese Category: Condition Syntax: \!\(<.+>\) Description: Checks if a condition doesn't pass. Examples: if !(1 = 2): broadcast "1 is indeed not 2" ## Section - Switch Case Addon: SkCheese Category: Section Syntax: case %objects% ## Switch Case Addon: SkCheese Category: Section Syntax: switch %~object% Description: The switch case executes one statement from multiple ones. Thus, it is like an if-else-if ladder statement. The switch statement is used to test the equality of a variable against several values specified in the tests cases. Examples: switch {_var}: case 1: broadcast "1" case 2: broadcast "2" default: broadcast "neither" ## String Builder - New String Builder Addon: SkCheese Category: Section Syntax: new string [joined with %-string%] [stored in %-~object%] Description: Creates a new string that is joined by a new line by default. Examples: new string stored in {_string}: "line 1" "line 2" send {_string} ## Run Function (Section) Addon: SkCheese Category: Section Syntax: (execute|run) function <.+> [with arg[ument]s] Description: Executes a function using a section. Pass parameters by doing 'parameter name as value' Examples: function add(1: int, 2: int): broadcast {_1} + {_2} execute function add: 1 set to 5 # (the order of the parameters don't matter) 2 set to 10 broadcast {_result} # 15 ## Labels - Goto Addon: SkCheese Category: Effect Syntax: (go|jump)[ ]to %string% Description: Jumps to a label. Examples: on load: goto "code" broadcast "hi" # gets skipped label code broadcast "hello" ## Runtime Error / Warning Addon: SkCheese Category: Effect Syntax: throw runtime (warning|error) %string% Description: Throws a runtime error or warning. Examples: throw runtime warning "This is bad..." throw runtime error "This is really really bad..." ## WrappedList - Unwrap List Addon: SkCheese Category: Effect Syntax: unwrap %wrappedlist% into %-~objects% Description: Unwraps a wrapped list inside a list variable. Examples: unwrap {_wl} into {_var::*} ## Futures - Wait for Future Addon: SkCheese Category: Effect Syntax: wait for [future] %future% and store the result in %-~object% Description: Waits for a future until it is completed or it timeouts. Examples: wait for {_future} and store the result in {_result} ## Futures - Complete Future Addon: SkCheese Category: Effect Syntax: complete [future] %future% with %objects% Description: Completes a future with the given value. Examples: complete future {_future} with {_value} ## Evaluate Addon: SkCheese Category: Effect Syntax: eval[uate] %strings% [as %-commandsender%] Description: Runs Skript code from a string as if you used effect commands. This shouldn't be used in production. Examples: eval "broadcast 2+2" ## Labels - New Label Addon: SkCheese Category: Effect Syntax: label <.+> Description: Creates a label that you can jump to later on. Examples: on load: goto "code" label code broadcast "hi" ## Assert Addon: SkCheese Category: Effect Syntax: assert <.+> with (error|warning) [message] %string% Description: Checks if a condition is true, otherwise throws an error or a warning with a custom message and stops the code. Examples: assert {_x} is 1 with error "{_x} should've been 1" assert {_var} > 5000 with warning "{_var} should've been more than 5000" ## String Builder - Last String Addon: SkCheese Category: Expression Syntax: last string Description: Represents the last string created by the string builder, if it wasn't stored anywhere. Examples: new string: "line 1" "line 2" send last string ## Futures - New Future Addon: SkCheese Category: Expression Syntax: [a] [new] future with %timespan% timeout Description: Creates a new future that can be waited for. Examples: set {_future} to new future with 5 second timeout ## Tree of List Variable Addon: SkCheese Category: Expression Syntax: tree of %~objects% Description: Returns all indices of a list variable. In vanilla Skript, if you set "{_var::a::b}" and loop {_var::*} nothing would be looped but this expression recursively gets all indices. Examples: set {_var::1} to "a" set {_var::1::3} to "c" set {_var::2} to "b" loop tree of {_var::*}: send loop-branch # 1, 2, 1::3 send {_var::%loop-branch%} # "a", "b", "c" ## Expression - Sec New String Addon: SkCheese Category: Expression Syntax: new string [joined with %-string%] ## Inverted Boolean Addon: SkCheese Category: Expression Syntax: !%boolean% Description: Returns the opposite of a boolean. Examples: set {ability::%player%} to !{ability::%player%} send "Toggled your ability!" to player ## Pairs - Value of Pair Addon: SkCheese Category: Expression Syntax: (first|second) value of %pair% Description: Gets the first/second value of a pair. Examples: set {_pair} to pair(1, "hello") ## WrappedList - New Wrapped List Addon: SkCheese Category: Expression Syntax: wrapped %-~objects% Description: Converts a list variable to a wrapped list. Examples: set {_wl} to wrapped {_var::*} ## Bits - Shift Addon: SkCheese Category: Expression Syntax: %number% \<\< %number% Description: Performs a bitwise shift operation and returns the value. Examples: broadcast 10 >> 3 ## Bits - Bit of Number Addon: SkCheese Category: Expression Syntax: [the] %integer%(st|nd|rd|th) bit (in|of) %numbers% Description: Gets the bit at index in a number. Examples: set {_first} to bit 1 of 150 ## Parsed As Type Addon: SkCheese Category: Expression Syntax: %string% parsed as type %~classinfo% Description: Parse a string as a type. The type can be a non-literal unlike vanilla Skript. Examples: set {_c} to class info of {variable} set {_new.value} to {_input} parsed as type {_c} if {_new.value} isn't set: send "Please make sure the input is the same type as the old value." to player stop set {variable} to {_new.value} ## Bits - Bitwise Operation Addon: SkCheese Category: Expression Syntax: %number% \& %number% Description: Performs bitwise operations on numbers and returns their value. Examples: broadcast 5 & 3 ## Binary and Hexadecimal Numbers Addon: SkCheese Category: Expression Syntax: 0(x|X)<[A-Fa-f0-9]+> Description: Allows the use of hexadecimal and binary formats to represent literal numbers. Examples: set {_hex} to 0xFF # 255 set {_bin} to 0b1010 # 10 ## Run Function (Expression Section) Addon: SkCheese Category: Expression Syntax: [the] function <.+> with [the] arg[ument][s] Description: Runs a function with the specified arguments. Examples: local function multiply(x: number, y: number) returns number: return {_x} * {_y} set {_x} to function multiply with arguments: x set to 2 y set to 3 broadcast "%{_x}%" # returns 6 ## Print Send Log With Severity To Console Addon: SkLogs Category: Effect Syntax: (print|send|log) %strings% with [the|a] severity [of] %loglevel% to [the] console ## Log Level Addon: SkLogs Category: Type Syntax: log[ ]level[s] ## Last Log Message Addon: SkLogs Category: Expression Syntax: [the] last log[ged] message ## Log Level Addon: SkLogs Category: Expression Syntax: [the] log [message] level ## Log Message Addon: SkLogs Category: Expression Syntax: [the] log[ged] message ## On Log Addon: SkLogs Category: Event Syntax: [on] [console] log Description: This is called when a message is sent in console. Note that using broadcast on the on log event will infinitely loop. Examples: on log: ## Packet Addon: SkNMS Category: Type Syntax: nmspacket Description: Represents a packet that is sent to/receivd by a player. See [Packets](https://minecraft.wiki/w/Java_Edition_protocol/Packets) on McWiki for more info. ## Packet Type Addon: SkNMS Category: Type Syntax: nmspackettype Description: Represents a type of packet that can be sent to/received by a player. See [Packets](https://minecraft.wiki/w/Java_Edition_protocol/Packets) on McWiki for more info. ## Particle Option Addon: SkNMS Category: Type Syntax: particleoption Description: Represents a particle option for a biome effect. ## Environment Attribute Addon: SkNMS Category: Type Syntax: environmentattribute Description: Represents an environment attribute for a biome effect. NOTE: These are auto-generated and may differ between server versions, currently generated for Minecraft 26.1.2. ## Registry Registration Addon: SkNMS Category: Structure Syntax: registry registration Description: This structure is used for registering new registry entries such as custom biomes and enchantments. ## Available Object Keys Addon: SkNMS Category: Expression Syntax: [all] available configured feature keys Description: Get a list of available NamespacedKeys for different Minecraft objects. **NOTES**: - `structure` = A structure like an entire village. - `structure template` = A structure piece like an individual house in a village. Examples: send all available biome keys set {_keys::*} to all available structure keys ## Local Difficulty Addon: SkNMS Category: Expression Syntax: [the] (local|regional) difficulty of %locations% Description: Represents the local difficulty of a location. This is the number that shows on the client's debug screen `Local Difficulty: (local difficulty) //...` Minecraft uses this to decide how monsters will spawn near players. This number changes based on how long a player spends in a chunk, world time and moon phase. See [**Regional Difficulty on McWiki**](https://minecraft.wiki/w/Difficulty#Regional_difficulty) for more info. Examples: if local difficulty of location of player > 1: ## BlockData for Placement Addon: SkNMS Category: Expression Syntax: block[ ]data for placement (of|from) %players% [using %-itemtype%] Description: Get the BlockData as if a player were to place a block. **Options**: - `using %itemtype%` = Check for a specific item. If excluded, will default to the player's held item. Examples: set {_data} to blockdata for placement of player set {_data} to blockdata for placement of player using oak stairs ## Particle Option Addon: SkNMS Category: Expression Syntax: particle option of %particle/minecraftparticle% [(with data|using) %-object%] [and] with probability %float% Description: Create a particle option to use in custom biomes. You can use either Skript's `particle` (along with its built in data) or SkBee's `minecraftParticle`. Probability is a value between 0 and 1 (Anything higher/lower will be clamped), this is how often the particle will spawn in the biome. Examples: particle option of white_ash with probability 1 particle option of pale_oak_leaves with probability 0.05 particle option of block with data oak_leaves[] with probability 0.1 ## Packet Received/Sent Addon: SkNMS Category: Event Syntax: [on] packet received Description: Simple listener for packets sent to/received by a player. Cancelling this event will prevent the packet from being sent or received. Any special data outside the event-values can be accessed via skript-reflect. **NOTE**: This event is called asynchronously, so be careful how you use it. Examples: on packet received: if event-string = "serverbound/minecraft:use_item_on": cancel event ## Apply Biome Definition Tag Addon: SkNMS Category: Effect Syntax: apply to [biome] tag[s] %strings% Description: Used in a `tags` section of the biome registration section, you can specify which biome tags for your biome to be included in. Examples: registry registration: register new biome: id: "skbee:colorful_forest" has_precipitation: true temperature: 0.7 downfall: 0.8 tags: apply to tag "minecraft:has_structure/village_taiga" apply to tag "minecraft:is_forest" ## Apply Biome Definition Feature Addon: SkNMS Category: Effect Syntax: apply [biome] feature[s] %strings% Description: Used in a `features` section of the biome registration section, you can apply different features to generate in the biome. Refer to [**BiomeDefinition**](https://minecraft.wiki/w/Biome_definition) and [**Placed Feature**](https://minecraft.wiki/w/Placed_feature) on McWiki for full details. Examples: set {-biomes::colorful_coast} to register new biome: id: "my_biomes:colorful_coast" has_precipitation: true temperature: 0.7 downfall: 0.8 features: underground_ores: apply feature "minecraft:ore_dirt" apply feature "minecraft:ore_coal_upper" apply feature "minecraft:ore_coal_lower" vegetal_decoration: apply feature "wythers:vegetation/bushes_mediterranean" apply feature "wythers:vegetation/trees_mediterranean_woods" apply feature "wythers:vegetation/placed_random_patch/mediterranean_lilacs" apply feature "minecraft:glow_lichen" apply feature "minecraft:patch_grass_savanna" apply feature "minecraft:patch_tall_grass_2" apply feature "minecraft:brown_mushroom_normal" apply feature "minecraft:red_mushroom_normal" apply feature "minecraft:patch_sugar_cane" ## Registry Object Serialization Addon: SkNMS Category: Effect Syntax: (dump|serialize) %biomes/enchantments% to [json|data[ ]pack] file Description: Serialize a registry object to a json file. This will serialize to Minecraft's datapack format and output to the `plugins/SkNMS/data` folder. Examples: serialize my:custom_biome to json file serialize minecraft:sharpness to datapack file serialize all biomes to file serialize all enchantments to file ## Tag Registration - Apply Objects Addon: SkNMS Category: Effect Syntax: apply %objects% to tag Description: Applies objects to the tag being registered. This accepts any object that the tag allows, as well as Tags and TagKeys. Examples: registry registration: register tag "my_tags:tools" to item registry: apply item tag "minecraft:shovels" to tag apply item tag "minecraft:pickaxes" to tag apply item tag "minecraft:axes" to tag apply item tag "minecraft:hoes" to tag apply item tag "minecraft:swords" to tag apply item tag "minecraft:spears" to tag register tag "my_tags:ouchie_blocks" to block registry: apply cactus (itemtype) to tag apply fire to tag apply campfire (itemtype) to tag apply soul campfire to tag register tag "my_tags:hot_biomes" to biome registry: apply desert (biome) to tag apply savanna (biome) to tag apply badlands to tag ## Apply Biome Definition Carver Addon: SkNMS Category: Effect Syntax: apply [biome] carver[s] %strings% Description: Used in a `carvers` section of the biome registration section, you can apply different carvers to carve caves in the biome. You can optionally apply the default ("cave", "cave_extra_underground", "canyon") cave carvers. Refer to [**BiomeDefinition**](https://minecraft.wiki/w/Biome_definition) and [**Carver Definition**](https://minecraft.wiki/w/Carver_definition) on McWiki for full details. Examples: set {-biomes::colorful_coast} to register new biome: id: "my_biomes:colorful_coast" has_precipitation: true temperature: 0.7 downfall: 0.8 carvers: apply default carvers # OR apply carver "minecraft:cave" apply carver "minecraft:cave_extra_underground" apply carver "minecraft:canyon" ## Apply Biome Environmental Attribute Addon: SkNMS Category: Effect Syntax: set environment[al] attribute %string/environmentattribute% to %boolean/number/color% Description: Set the [**Environmental Attributes**](https://minecraft.wiki/w/Environment_attribute) of a biome. These are to be used in the `attributes` section of biome registration. Examples: registry registration: register new biome: id: "my_biomes:blue_forest" has_precipitation: true temperature: 0.8 downfall: 0.2 attributes: set environmental attribute visual/sky_color to rgb(0, 47, 255) set environmental attribute visual/fog_color to rgb(0, 47, 100) set environmental attribute visual/star_brightness to 1.0 set environmental attribute visual/sky_light_color to rgb(0, 47, 255) ## Block Fill Addon: SkNMS Category: Effect Syntax: fill blocks within %location% and %location% with %blockdata% [to replace %-blockdata%] Description: Fill blocks within 2 locations, with an option to only replace specific blockdata. This will work just like the Minecraft `/fill` command. Examples: fill blocks within {_loc1} and {_loc2} with stone[] fill blocks within {_loc1} and {_loc2} with dirt[] replacing air[] ## Biome Fill Addon: SkNMS Category: Effect Syntax: fill biome within %location% and %location% with %namespacedkey/biome% [to replace %-namespacedkey/biome%] Description: Fill a biome within 2 locations. Optionally only replace a specific biome. Supports keys for custom biomes. This will also refresh biomes to players. Examples: fill biome within {_loc1} and {_loc2} with mc key from "terralith:moonlit_valley" fill biome within {_loc1} and {_loc2} with mc key from "terralith:moonlit_valley" to replace plains ## Apply Biome Definition Spawner Addon: SkNMS Category: Effect Syntax: apply spawner (of|for) %minecraftentitytypes% with weight [of] %integer% [[and] with min count %-integer% [[and] max count %-integer%]] Description: Create a spawner entry for the `spawners` section of a biome registration. See [**Biome Definition**](https://minecraft.wiki/w/Biome_definition) on McWiki for more details. `minecraftentitytypes` = The type of entity to spawn (This is from SkBee). `weight` = How often this mob should spawn, higher values produce more spawns. `min count` = The minimum count of mobs to spawn in a pack. Must be greater than 0 (optional, defaults to 1). `max count` = The maximum count of mobs to spawn in a pack. Must be greater than 0 (optional, defaults to min count). Examples: spawners: creature: apply spawner for sheep with weight 12 and with min count 4 monster: apply spawner for illusioner with weight 1 and with min count 1 apply spawner for zombie, skeleton and creeper with weight 3 and with min count 1 ## Place Feature Addon: SkNMS Category: Effect Syntax: place (configured|placed) feature %string/namespacedkey% %direction% %location% Description: Place a [**configured feature**](https://minecraft.wiki/w/Configured_feature) or [**placed feature**](https://minecraft.wiki/w/Placed_feature) at a location. Note: Sometimes the blocks will place, but won't update client side. This is a Minecraft bug. Simple solution is to use SkBee's refresh chunk effect (This will resend chunks to players). **Notes on Placed Features**: - When placing a placed feature, if the rules don't match its predicate, it won't place. Some features require specific biomes. - Placed features are tested at 0,0,0 in a chunk, therefor your exact location will not be used. Examples: place configured feature "minecraft:trees_plains" at target block place placed feature "minecraft:pale_moss_patch" at target block ## Biome Definition Registration Addon: SkNMS Category: Section Syntax: register [new] [custom] biome Description: Register a new biome. NOTE: These custom biomes will NOT show up in natural world generation. See [**Biome Definition**](https://minecraft.wiki/w/Biome_definition) on McWiki for more details. See more examples on the [**SkNMS Wiki**](https://github.com/ShaneBeee/SkNMS/wiki/Custom-Biomes). **Entries/Sections**: - `has_precipitation` = Determines whether or not the biome has precipitation. - `temperature` = Controls gameplay features like grass and foliage color, and a height adjusted temperature (which controls whether raining or snowing if `has precipitation` is true, and generation details of some features). - `downfall` = Controls grass and foliage color. - `effects` = A section to add special effects to a biome (see Biome Effects section). - `attributes` = A section to set different [**Environmental Attributes**](https://minecraft.wiki/w/Environment_attribute). - `features` = A section to apply different [**Placed Features**](https://minecraft.wiki/w/Placed_feature) that will apply during chunk generation. See the Biome Features section and Apply Biome Features effect for more information. - `spawners` = A section to determine which mobs spawn in this biome (See the biome spawners section and apply biome spawner effect for more information). - `tags` = A section to specify which biome tags you would like to include your biome in. Examples: registry registration: register new biome: id: "my_biomes:blue_forest" has_precipitation: true temperature: 2.0 downfall: 1.0 attributes: set environmental attribute "visual/sky_color" to rgb(0, 47, 255) set environmental attribute "visual/fog_color" to rgb(0, 47, 100) set environmental attribute "visual/star_brightness" to 1.0 set environmental attribute "visual/sky_light_color" to rgb(0, 47, 255) effects: water_color: rgb(159,240,215) foliage_color: yellow grass_color: blue ## Enchantment Definition Registration Addon: SkNMS Category: Section Syntax: register [new] [custom] enchantment Description: Register a new custom enchantment. There are a LOT of entries for this, so please refer to the [**Enchantment Definition**](https://minecraft.wiki/w/Enchantment_definition) page on McWiki for all the details. More examples and detailed information provided in the [**SkNMS Wiki**](https://github.com/ShaneBeee/SkNMS/wiki/Custom-Enchantments). **NOTES**: - Custom enchantments cannot be removed at runtime (a restart is the only way to get rid of them or change them after they're registered). - If you make a change to your custom enchantment, you'll have to restart your server (reloading the script just won't cut it). - I did not add an `effects` entry as it's super duper convoluted, and you can handle what your enchantment does via code. **DEFINITION ENTRIES**: These entries are directly related to the Enchantment Definition in Minecraft (as seen in the above mentioned wiki). I'm only going to touch on a few here, as there are so many to type out, see the above mentioned wiki for full details. - `id` = Takes in a string to identify your new enchantment, think vanilla "minecraft:sharpness". - `description` = Takes in a text component (from SkBee) or string, this is how your enchantment will show up in lore. - `exclusive_set` = The enchantments your enchantment will not work with. Either a single string (enchantment tag) or a list of enchantments. - `supported_items/primary_items` = See wiki for explanations. Either a single string (item tag) or a list of items. - `slots` = I don't think this is needed as it would be handled by the effects in Minecraft, which we aren't using here. **TAG ENTRIES**: These entries are related to the Minecraft Enchantment tags that this enchantment will be added to (all default to false). - `is_cursed` = Will add to the `#minecraft:curse` tag making your item a cursed item (These enchantments have red colored description and cannot be removed with a grindstone). - `is_treasure` = Will add to the `#minecraft:treasure` tag. - `is_tradeable` = Will add to the `#minecraft:treasure` and `#minecraft:double_trade_price` tags. - `is_discoverable` = Will add to the `#minecraft:in_enchanting_table` tag if not cursed or a treasure. - `is_on_random_loot` = Will add to the `#minecraft:on_random_loot` tag and can be found on naturally generated equipment from loot tables. - `is_on_mob_spawn_equipment` = If not a treasure, will add to the `#minecraft:on_mob_spawn_equipment` tag and can be found on spawned mobs' equipment. - `is_on_traded_equipment` = If not a treasure, will add to the `#minecraft:on_traded_equipment` tag and can be found on equipment sold by villagers. **WARNINGS**: - Enchantments are not supposed to be created at runtime. This method is super hacky and I highly HIGHLY recommend just using a datapack instead. - You must ensure 1 of 2 things: - If your spawn keeps loaded in your world, you must make sure no items are in any chests or anything in that area that contain these enchantments. - Or just make sure to turn off your spawn chunk radius (set the gamerule `spawnChunkRadius` to 0 for all worlds). This is due to these enchantments will register to Minecraft via Skript AFTER your world/spawn chunks load. - Do not, I repeat... DO NOT save custom enchantments to variables (Skript will panic trying to load enchantments that arent registered yet). RAM/Memory variables are safe! That said, enjoy your new custom enchantments. Examples: # Wither Sword Enchantment registry registration: register enchantment: id: "my_pack:wither" description: mini message from "Wither" supported_items: "minecraft:swords" max_level: 5 on damage of mob by player: set {_level} to enchantment level of my_pack:wither of attacker's tool if {_level} > 0: set {_time} to "%{_level} * 3% seconds" parsed as timespan apply wither to victim for {_time} ## Biome Definition Effects Addon: SkNMS Category: Section Syntax: effects Description: Create effects in a biome registration `effects` section. See [**Biome Definition**](https://minecraft.wiki/w/Biome_definition) on McWiki for more details. See more examples on the [**SkNMS Wiki**](https://github.com/ShaneBeee/SkNMS/wiki/Custom-Biomes). **Entries**: All color entries accept Skript colors, RGB colors as well as integers (Refer to the above wiki to see information about the integers). - `fog_color` = The color of fog in this biome (required, deprecated in Minecraft 1.21.11+, use environmental attributes instead). - `sky_color` = The color of the sky in this biome (required, deprecated in Minecraft 1.21.11+, use environmental attributes instead). - `water_fog_color` = The color of the fog when underwater in this biome (required, deprecated in Minecraft 1.21.11+, use environmental attributes instead). - `water_color` = The color of the water in this biome (required). - `foliage_color` = The color to use for tree leaves and vines. If not present, the value depends on downfall and temperature (optional). - `dry_foliage_color` = The color used for tinting blocks using dry foliage tinting. - `grass_color` = The color to use for grass blocks, short grass, tall grass, ferns, tall ferns, and sugar cane. If not present, the value depends on downfall and temperature (optional). - `grass_color_modifier` = Built in color modifier for grass blocks (Can be `none`, `dark_forest` or `swamp`). - `particle` = Add a particle to use throughout this biome. Accepts a ParticleOption. Examples: registry registration: register new biome: id: "my_biomes:blue_forest" has_precipitation: true temperature: 2.0 downfall: 1.0 effects: fog_color: 12638463 # Deprecated in MC 1.21.11+ sky_color: 7907327 # Deprecated in MC 1.21.11+ water_fog_color: 2302743 # Deprecated in MC 1.21.11+ foliage_color: rgb(37, 245, 201) water_color: rgb(37, 211, 245) grass_color: rgb(43, 171, 196) attributes: set environmental attribute "visual/sky_color" to rgb(0, 47, 255) set environmental attribute "visual/fog_color" to rgb(0, 47, 100) set environmental attribute "visual/star_brightness" to 1.0 set environmental attribute "visual/sky_light_color" to rgb(0, 47, 255) set environmental attribute "visual/sun_angle" to 45 ## Biome Definition Spawners Addon: SkNMS Category: Section Syntax: monster Description: Define which mobs will spawn in your biome. This is used in the `spawners` section of the biome registration section. See [**Biome Definition**](https://minecraft.wiki/w/Biome_definition) on McWiki for more details. Examples: spawners: creature: apply spawner for sheep with weight 12 and with min count 4 monster: apply spawner for illusioner with weight 1 and with min count 1 apply spawner for zombie, skeleton and creeper with weight 3 and with min count 1 ## Biome Definition Features Addon: SkNMS Category: Section Syntax: raw_generation Description: Apply features to biomes. Refer to [**BiomeDefinition**](https://minecraft.wiki/w/Biome_definition) and [**Placed Feature**](https://minecraft.wiki/w/Placed_feature) on McWiki for full details. Examples: register new biome: id: "my_biomes:colorful_coast" has_precipitation: true temperature: 0.7 downfall: 0.8 features: underground_ores: apply feature "minecraft:ore_dirt" apply feature "minecraft:ore_coal_upper" apply feature "minecraft:ore_coal_lower" vegetal_decoration: apply feature "wythers:vegetation/bushes_mediterranean" apply feature "wythers:vegetation/trees_mediterranean_woods" apply feature "wythers:vegetation/placed_random_patch/mediterranean_lilacs" apply feature "minecraft:glow_lichen" apply feature "minecraft:patch_grass_savanna" apply feature "minecraft:patch_tall_grass_2" apply feature "minecraft:brown_mushroom_normal" apply feature "minecraft:red_mushroom_normal" apply feature "minecraft:patch_sugar_cane" ## Tag Registration Addon: SkNMS Category: Section Syntax: register tag %string/tagkey/namespacedkey% to %registrykey% Description: Register tags in Minecraft registries. Similar to creating custom tags in Skript, but these are added directly to the Minecraft registry and can be used anywhere Minecraft uses tags. **NOTE**: Currently overriding vanilla tags appears to be broken. Examples: registry registration: register tag "my_tags:tools" to item registry: apply item tag "minecraft:shovels" to tag apply item tag "minecraft:pickaxes" to tag apply item tag "minecraft:axes" to tag apply item tag "minecraft:hoes" to tag apply item tag "minecraft:swords" to tag apply item tag "minecraft:spears" to tag register tag "my_tags:ouchie_blocks" to block registry: apply cactus (itemtype) to tag apply fire to tag apply campfire (itemtype) to tag apply soul campfire to tag register tag "my_tags:hot_biomes" to biome registry: apply desert (biome) to tag apply savanna (biome) to tag apply badlands to tag ## Skin Addon: Skonic Category: Type Syntax: skin Description: Represents a Skin. Examples: player's skin ## Download Player Skin Addon: Skonic Category: Effect Syntax: (download|save) %skin% Description: Downloads a skin Examples: on join: download player's skin ## Change Skin Addon: Skonic Category: Effect Syntax: (change|set) %player%['s] skin to %skin% Description: Changes the skin of a player. Examples: change player's skin to skin from url "https://www.minecraftskins.com/uploads/skins/2024/12/12/--*ginger-bread-man*----tcer3--22929673.png?v695" ## Head from Value Addon: Skonic Category: Expression Syntax: (head|skull) from value %string% Description: Gets a head by value. Examples: set {_cacti} to head from value "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMmY1ODViNDFjYTVhMWI0YWMyNmY1NTY3NjBlZDExMzA3Yzk0ZjhmOGExYWRlNjE1YmQxMmNlMDc0ZjQ3OTMifX19" ## URL In Value Addon: Skonic Category: Expression Syntax: [skin] url within value %string% Description: Retrieves the url within a skin value Examples: set {_skinurl} to skin url within value "value of player's skin" ## Head from Player Addon: Skonic Category: Expression Syntax: (head|skull) from %player% Description: Gets a head by player Examples: set helmet of player to head from player ## Skin from URL Addon: Skonic Category: Expression Syntax: skin from url %string% Description: Gets a skin from a url.URL must link directly to an image. Examples: set {_cacti} to skin from url "http://textures.minecraft.net/texture/2f585b41ca5a1b4ac26f556760ed11307c94f8f8a1ade615bd12ce074f4793" ## Skin from UUID Addon: Skonic Category: Expression Syntax: skin from uuid %string% Description: Gets a skin from player's uuid. Examples: set {_skin} to skin from uuid "%player's uuid%" ## Skin from File Addon: Skonic Category: Expression Syntax: [slim] skin from file %string% Description: Creates a skin instance from an image file stored in the skins/ folder within the plugin folder. Examples: set {skin} to skin from file "skin.png" ## Head from Skin Addon: Skonic Category: Expression Syntax: (head|skull) from %skin% Description: Gets a head by skin. Examples: set helmet of player to head from player's skin ## Head from UUID Addon: Skonic Category: Expression Syntax: (head|skull) from uuid %string% Description: Gets a head by player UUID Examples: set player's helmet to head from uuid "%player's uuid%" ## Head from URL Addon: Skonic Category: Expression Syntax: (head|skull) from url %string% Description: Gets a head by URL Examples: set {_melon} to head from url "http://textures.minecraft.net/texture/9636dee806ba47a2c40e95b57a12f37de6c2e677f2160132a07e24eeffa6" ## Head from Name Addon: Skonic Category: Expression Syntax: (head|skull) from name %string% Description: Gets a head by player name Examples: set helmet of player to head from name "%player's name%" ## Enchanted Book With Enchantments Addon: Skonic Category: Expression Syntax: %itemstack% (with|containing) %enchantmenttypes% Description: Returns an enchanted book with the given enchantments. Examples: set {_sharpbook} to enchanted book with sharpness 5 ## Skin With Addon: Skonic Category: Expression Syntax: skin with value %string% and signature %string% Description: Used to create a skin. Examples: set {_skin} to skin with value {_value} and signature {_sig} ## Value of Head Addon: Skonic Category: Expression Syntax: [the] value of %itemstack% Description: Gets the value of a head Examples: broadcast value of {_melon} ## Owner of Head Addon: Skonic Category: Expression Syntax: [the] owner of %itemstack% Description: Gets the owner of a player head.Will only work if the head is from a player. Examples: broadcast owner of player's tool ## URL of Head Addon: Skonic Category: Expression Syntax: [the] url of %itemstack% Description: Gets the URL of a head Examples: broadcast url of {_head} ## Player's Skin Addon: Skonic Category: Expression Syntax: [the] skin of %player% Description: Gets the player's skin.Cannot be set, to set, use 'Change Player Skin' effect. Examples: on join: set {skins::%player's uuid%} to player's skin ## Skin Value Addon: Skonic Category: Expression Syntax: [the] texture value of %skin% Description: Gets the texture value of a skin Examples: broadcast value of player's skin ## Skin Signature Addon: Skonic Category: Expression Syntax: [the] [skin] signature of %skin% Description: Gets the signature of a skin. Examples: broadcast signature of {_skin} ## Smelted Form Addon: Skonic Category: Expression Syntax: [the] smelt[ed] [(result|form) of] %itemtypes% Description: Returns the smelted form of an itemtype. If it cannot be smelted, it will return the same itemtype. Examples: give player the smelted form of raw iron ## floor Addon: Skript Category: Function Syntax: floor(n: number) :: long Description: Rounds a number down, i.e. returns the closest integer smaller than or equal to the argument. Examples: floor(2.34) = 2 floor(2) = 2 floor(2.99) = 2 ## factorial Addon: Skript Category: Function Syntax: factorial(number: number) :: number Description: Get the factorial of a number. Getting the factorial of any number above 21 will return an approximation, not an exact value. Any number after 170 will always return Infinity. Should not be used to calculate permutations or combinations manually. Examples: factorial(0) = 1 factorial(3) = 3*2*1 = 6 factorial(5) = 5*4*3*2*1 = 120 factorial(171) = Infinity ## concat Addon: Skript Category: Function Syntax: concat(texts: objects) :: string Description: Joins the provided texts (and other things) into a single text. Examples: concat("hello ", "there") # hello there concat("foo ", 100, " bar") # foo 100 bar ## asin Addon: Skript Category: Function Syntax: asin(n: number) :: number Description: The inverse of the sine, also called arcsin. Returns result in degrees, not radians. Only returns values from -90 to 90. Examples: asin(0) = 0 asin(1) = 90 asin(0.5) = 30 ## tan Addon: Skript Category: Function Syntax: tan(n: number) :: number Description: The tangent function. This is basically sin(arg)/cos(arg). Uses degrees, not radians. Examples: tan(0) = 0 tan(45) = 1 tan(89.99) = 5729.5779 ## isNaN Addon: Skript Category: Function Syntax: isNaN(n: number) :: boolean Description: Returns true if the input is NaN (not a number). Examples: isNaN(0) # false isNaN(0/0) # true isNaN(sqrt(-1)) # true ## permutations Addon: Skript Category: Function Syntax: permutations(options: number, selected: number) :: number Description: Get the number of possible ordered arrangements from 1 to 'options' with each arrangement having a size equal to 'selected' For example, permutations with 3 options and an arrangement size of 1, returns 3: (1), (2), (3) Permutations with 3 options and an arrangement size of 2 returns 6: (1, 2), (1, 3), (2, 1), (2, 3), (3, 1), (3, 2) Note that the bigger the 'options' and lower the 'selected' may result in approximations or even infinity values. Permutations differ from combinations in that permutations account for the arrangement of elements within the set, whereas combinations focus on unique sets and ignore the order of elements. Example: (1, 2) and (2, 1) are two distinct permutations because the positions of '1' and '2' are different, but they represent a single combination since order doesn't matter in combinations. Examples: permutations(10, 2) = 90 permutations(10, 4) = 5040 permutations(size of {some list::*}, 2) ## mod Addon: Skript Category: Function Syntax: mod(d: number, m: number) :: number Description: 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. Examples: mod(3, 2) = 1 mod(256436, 100) = 36 mod(-1, 10) = 9 ## log Addon: Skript Category: Function Syntax: log(n: number, [base: number]) :: number Description: 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. Examples: log(100) = 2 # 10^2 = 100 log(16, 2) = 4 # 2^4 = 16 ## combinations Addon: Skript Category: Function Syntax: combinations(options: number, selected: number) :: number Description: Get the number of possible sets from 1 to 'options' with each set having a size equal to 'selected' For example, a combination with 3 options and a set size of 1, returns 3: (1), (2), (3) A combination of 3 options with a set size of 2 returns 3: (1, 2), (1, 3), (2, 3) Note that the bigger the 'options' and lower the 'selected' may result in approximations or even infinity values. Combinations differ from permutations in that combinations focus on unique sets, ignoring the order of elements, whereas permutations account for the arrangement of elements within the set. Example: (1, 2) and (2, 1) represent a single combination since order doesn't matter in combinations, but they are two distinct permutations because permutations consider the order. Examples: combinations(10, 8) = 45 combinations(5, 3) = 10 combinations(size of {some list::*}, 2) ## axisAngle Addon: Skript Category: Function Syntax: axisAngle(angle: number, axis: vector) :: quaternion Description: Returns a quaternion from the given angle (in degrees) and axis (as a vector). This represents a rotation around the given axis by the given angle. Examples: axisangle(90, (vector from player's facing)) ## toBase Addon: Skript Category: Function Syntax: toBase(n: objects, base: long) :: strings Description: Turns a number in a string using a specific base (decimal, hexadecimal, octal). For example, converting 32 to hexadecimal (base 16) would be 'toBase(32, 16)', which would return "20". You can use any base between 2 and 36. Examples: send "Decode this binary number for a prize! %toBase({_guess}, 2)%" ## ceiling Addon: Skript Category: Function Syntax: ceiling(n: number) :: long Description: Alias of ceil. Examples: ceiling(2.34) = 3 ceiling(2) = 2 ceiling(2.99) = 3 ## product Addon: Skript Category: Function Syntax: product(ns: objects) :: number Description: Calculates the product of a list of numbers. Examples: product(1) = 1 product(2, 3, 4) = 24 product({some list variable::*}) product(2, {_v::*}, and the player's y-coordinate) ## sin Addon: Skript Category: Function Syntax: sin(n: number) :: number Description: 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. Examples: sin(90) = 1 sin(60) = 0.866 ## min Addon: Skript Category: Function Syntax: min(ns: objects) :: number Description: Returns the minimum number from a list of numbers. Examples: min(1) = 1 min(1, 2, 3, 4) = 1 min({some list variable::*}) ## abs Addon: Skript Category: Function Syntax: abs(n: number) :: number Description: Returns the absolute value of the argument, i.e. makes the argument positive. Examples: abs(3) = 3 abs(-2) = 2 ## sum Addon: Skript Category: Function Syntax: sum(ns: objects) :: number Description: Sums a list of numbers. Examples: sum(1) = 1 sum(2, 3, 4) = 9 sum({some list variable::*}) sum(2, {_v::*}, and the player's y-coordinate) ## root Addon: Skript Category: Function Syntax: root(n: number, number: number) :: number Description: Calculates the nth root of a number. Examples: root(2, 4) = 2 # same as sqrt(4) root(4, 16) = 2 root(-4, 16) = 0.5 # same as 16^(-1/4) ## median Addon: Skript Category: Function Syntax: median(numbers: objects) :: number Description: Get the middle value of a sorted list of numbers. If the list has an even number of values, the median is the average of the two middle numbers. You cannot get the median of a set of numbers that includes NaN. Examples: median(1, 2, 3, 4, 5) = 3 median(1, 2, 3, 4, 5, 6) = 3.5 median(0, 123, 456, 789) = 289.5 ## rgb Addon: Skript Category: Function Syntax: rgb(red: long, green: long, blue: long, [alpha: long]) :: color Description: Returns a RGB color from the given red, green and blue parameters. Alpha values can be added optionally, but these only take affect in certain situations, like text display backgrounds. Examples: dye player's leggings rgb(120, 30, 45) set the colour of a text display to rgb(10, 50, 100, 50) ## round Addon: Skript Category: Function Syntax: round(n: number, [d: number]) :: number Description: Rounds a number, i.e. returns the closest integer to the argument. Place a second argument to define the decimal placement. Examples: round(2.34) = 2 round(2) = 2 round(2.99) = 3 round(2.5) = 3 ## sqrt Addon: Skript Category: Function Syntax: sqrt(n: number) :: number Description: 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. Examples: sqrt(4) = 2 sqrt(2) = 1.4142 sqrt(-1) = NaN ## formatNumber Addon: Skript Category: Function Syntax: formatNumber(number: number, [format: string]) :: string Description: Converts numbers to human-readable format. By default, '###,###' (e.g. '123,456,789') will be used for whole numbers and '###,###.##' (e.g. '123,456,789.00) will be used for decimal numbers. A hashtag '#' represents a digit, a comma ',' is used to separate numbers, and a period '.' is used for decimals. Will return none if the format is invalid. For further reference, see this article. Examples: command /balance: aliases: bal executable by: players trigger: set {_money} to formatNumber({money::%sender's uuid%}) send "Your balance: %{_money}%" to sender ## clamp Addon: Skript Category: Function Syntax: clamp(values: objects, min: number, max: number) :: numbers Description: Clamps one or more values between two numbers. This function retains indices Examples: clamp(5, 0, 10) = 5 clamp(5.5, 0, 5) = 5 clamp(0.25, 0, 0.5) = 0.25 clamp(5, 7, 10) = 7 clamp((5, 0, 10, 9, 13), 7, 10) = (7, 7, 10, 9, 10) set {_clamped::*} to clamp({_values::*}, 0, 10) ## calcExperience Addon: Skript Category: Function Syntax: calcExperience(level: long) :: long Description: Calculates the total amount of experience needed to achieve given level from scratch in Minecraft. ## fromBase Addon: Skript Category: Function Syntax: fromBase(string value: objects, base: long) :: longs Description: Turns a text version of a number in a specific base (decimal, hexadecimal, octal) into an actual number. For example, converting "20" in hexadecimal (base 16) would be 'fromBase("20", 16)', which would return 32. You can use any base between 2 and 36. Examples: # /binaryText 01110011 01101011 01110010 01101001 01110000 01110100 00100001 # sends "skript!" command binaryText : trigger: set {_characters::*} to argument split at " " without trailing empty string transform {_characters::*} with fromBase(input, 2) # convert to codepoints transform {_characters::*} with character from codepoint input # convert to characters send join {_characters::*} ## exp Addon: Skript Category: Function Syntax: exp(n: number) :: number Description: The exponential function. You probably don't need this if you don't know what this is. Examples: exp(0) = 1 exp(1) = 2.7183 ## atan Addon: Skript Category: Function Syntax: atan(n: number) :: number Description: The inverse of the tangent, also called arctan. Returns result in degrees, not radians. Only returns values from -90 to 90. Examples: atan(0) = 0 atan(1) = 45 atan(10000) = 89.9943 ## max Addon: Skript Category: Function Syntax: max(ns: objects) :: number Description: Returns the maximum number from a list of numbers. Examples: max(1) = 1 max(1, 2, 3, 4) = 4 max({some list variable::*}) ## mean Addon: Skript Category: Function Syntax: mean(numbers: objects) :: number Description: Get the mean (average) of a list of numbers. You cannot get the mean of a set of numbers that includes infinity or NaN. Examples: mean(1, 2, 3) = 2 mean(0, 5, 10) = 5 mean(13, 97, 376, 709) = 298.75 ## cos Addon: Skript Category: Function Syntax: cos(n: number) :: number Description: 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. Examples: cos(0) = 1 cos(90) = 0 ## atan2 Addon: Skript Category: Function Syntax: atan2(x: number, y: number) :: number Description: 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). Examples: atan2(0, 1) = 0 atan2(10, 0) = 90 atan2(-10, 5) = -63.4349 ## ceil Addon: Skript Category: Function Syntax: ceil(n: number) :: long Description: Rounds a number up, i.e. returns the closest integer larger than or equal to the argument. Examples: ceil(2.34) = 3 ceil(2) = 2 ceil(2.99) = 3 ## ln Addon: Skript Category: Function Syntax: ln(n: number) :: number Description: 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. Examples: ln(1) = 0 ln(exp(5)) = 5 ln(2) = 0.6931 ## acos Addon: Skript Category: Function Syntax: acos(n: number) :: number Description: The inverse of the cosine, also called arccos. Returns result in degrees, not radians. Only returns values from 0 to 180. Examples: acos(0) = 90 acos(1) = 0 acos(0.5) = 30 ## uuid Addon: Skript Category: Function Syntax: uuid(uuid: string) :: uuid Description: Returns a UUID from the given string. The string must be in the format of a UUID. Examples: uuid("069a79f4-44e9-4726-a5be-fca90e38aaf5") ## world Addon: Skript Category: Function Syntax: world(name: string) :: world Description: Gets a world from its name. Examples: set {_nether} to world("%{_world}%_nether") ## location Addon: Skript Category: Function Syntax: location(x: number, y: number, z: number, [world: world], [yaw: float], [pitch: float]) :: location Description: Creates a location from a world and 3 coordinates, with an optional yaw and pitch. If for whatever reason the world is not found, it will fallback to the server's main world. Examples: # TELEPORTING teleport player to location(1,1,1, world "world") teleport player to location(1,1,1, world "world", 100, 0) teleport player to location(1,1,1, world "world", yaw of player, pitch of player) teleport player to location(1,1,1, world of player) teleport player to location(1,1,1, world("world")) teleport player to location({_x}, {_y}, {_z}, {_w}, {_yaw}, {_pitch}) # SETTING BLOCKS set block at location(1,1,1, world "world") to stone set block at location(1,1,1, world "world", 100, 0) to stone set block at location(1,1,1, world of player) to stone set block at location(1,1,1, world("world")) to stone set block at location({_x}, {_y}, {_z}, {_w}) to stone # USING VARIABLES set {_l1} to location(1,1,1) set {_l2} to location(10,10,10) set blocks within {_l1} and {_l2} to stone if player is within {_l1} and {_l2}: # OTHER kill all entities in radius 50 around location(1,65,1, world "world") delete all entities in radius 25 around location(50,50,50, world "world_nether") ignite all entities in radius 25 around location(1,1,1, world of player) ## offlineplayer Addon: Skript Category: Function Syntax: offlineplayer(nameOrUUID: string, [allowLookups: boolean]) :: offlineplayer Description: Returns a offline player from their name or UUID. This function will still return the player if they're online. If Paper 1.16.5+ is used, the 'allowLookup' parameter can be set to false to prevent this function from doing a web lookup for players who have not joined before. Lookups can cause lag spikes of up to multiple seconds, so use offline players with caution. Examples: set {_p} to offlineplayer("Notch") set {_p} to offlineplayer("069a79f4-44e9-4726-a5be-fca90e38aaf5") set {_p} to offlineplayer("Notch", false) ## player Addon: Skript Category: Function Syntax: player(nameOrUUID: string, [getExactPlayer: boolean]) :: player Description: Returns an online player from their name or UUID, if player is offline function will return nothing. Setting 'getExactPlayer' parameter to true will return the player whose name is exactly equal to the provided name instead of returning a player that their name starts with the provided name. Examples: set {_p} to player("Notch") # will return an online player whose name is or starts with 'Notch' set {_p} to player("Notch", true) # will return the only online player whose name is 'Notch' set {_p} to player("069a79f4-44e9-4726-a5be-fca90e38aaf5") # if player is offline ## quaternion Addon: Skript Category: Function Syntax: quaternion(w: number, x: number, y: number, z: number) :: quaternion Description: Returns a quaternion from the given W, X, Y and Z parameters. Examples: quaternion(1, 5.6, 45.21, 10) ## date Addon: Skript Category: Function Syntax: date(year: number, month: number, day: number, [hour: number], [minute: number], [second: number], [millisecond: number], [zone_offset: number], [dst_offset: number]) :: date Description: 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). Examples: 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) ## vector Addon: Skript Category: Function Syntax: vector(n: number) :: vector Description: Creates a vector from a single argument. Equivalent to vector(n, n, n). Examples: vector(1) # = vector(1, 1, 1) ## Boolean Addon: Skript Category: Type Syntax: boolean Description: 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. Examples: set {config.%player%.use mod} to false ## Text Addon: Skript Category: Type Syntax: string Description: 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. Examples: broadcast "Hello World!" message "Hello %player%" message "The id of ""%type of tool%"" is %id of tool%." ## UUID Addon: Skript Category: Type Syntax: uuid Description: UUIDs are unique identifiers that ensure things can be reliably distinguished from each other. They are generated in a way that makes it practically impossible for duplicates to occur. Read more about UUIDs and how they are used in Minecraft in the wiki entry about UUIDs. ## Weather Type Addon: Skript Category: Type Syntax: weathertype Description: The weather types sunny, rainy, and thundering. Examples: is raining is sunny in the player's world message "It is %weather in the argument's world% in %world of the argument%" ## Time Addon: Skript Category: Type Syntax: time Description: 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. Examples: at 20:00: time is 8 pm broadcast "It's %time%" ## Timeperiod Addon: Skript Category: Type Syntax: timeperiod Description: 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. Examples: time in world is night ## Date Addon: Skript Category: Type Syntax: date Description: A date is a certain point in the real world's time which can be obtained with now expression, unix date expression and date function. See time and timespan for the other time types of Skript. Examples: set {_yesterday} to now subtract a day from {_yesterday} # now {_yesterday} represents the date 24 hours before now ## Direction Addon: Skript Category: Type Syntax: direction Description: 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. Examples: 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 ## Color Addon: Skript Category: Type Syntax: color Description: Wool, dye and chat colors. Examples: color of the sheep is red or black set the color of the block to green message "You're holding a <%color of tool%>%color of tool% wool block" ## Tree Type Addon: Skript Category: Type Syntax: structuretype Description: A tree type represents a tree species or a huge mushroom species. These can be generated in a world with the generate tree effect. Examples: grow any regular tree at the block grow a huge red mushroom above the block ## Experience Addon: Skript Category: Type Syntax: experience Description: 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. Examples: give 10 xp to the player ## Gamerule Value Addon: Skript Category: Type Syntax: gamerulevalue Description: A wrapper for the value of a gamerule for a world. ## Config Addon: Skript Category: Type Syntax: config Description: A configuration (or code) loaded by Skript, such as the config.sk or aliases. Configs can be reloaded or navigated to find options. Examples: the skript config ## Node Addon: Skript Category: Type Syntax: node Description: A node (entry) from a script config file. This may have navigable children. Examples: the current script ## Function Addon: Skript Category: Type Syntax: function Description: A function loaded by Skript. This can be executed (with arguments) and may return a result. Examples: run {_function} with arguments 1 and true set {_result} to the result of {_function} ## Any Valued Thing Addon: Skript Category: Type Syntax: valued Description: Something that has a value. Examples: the text of {node} ## Anything with Contents Addon: Skript Category: Type Syntax: containing Description: Something that contains other things. Examples: {a} contains {b} ## Projectile Addon: Skript Category: Type Syntax: projectile Description: A projectile, e.g. an arrow, snowball or thrown potion. Examples: projectile is a snowball shoot an arrow at speed 5 from the player ## World Addon: Skript Category: Type Syntax: world Description: 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. Examples: broadcast "Hello!" to the world "world_nether" ## Inventory Action Addon: Skript Category: Type Syntax: inventoryaction Description: What player just did in inventory event. Note that when in creative game mode, most actions do not work correctly. ## Click Type Addon: Skript Category: Type Syntax: clicktype Description: Click type, mostly for inventory events. Tells exactly which keys/buttons player pressed, assuming that default keybindings are used in client side. ## Inventory Type Addon: Skript Category: Type Syntax: inventorytype Description: Minecraft has several different inventory types with their own use cases. ## Game Mode Addon: Skript Category: Type Syntax: gamemode Description: The game modes survival, creative, adventure and spectator. Examples: player's gamemode is survival set the player argument's game mode to creative ## Chunk Addon: Skript Category: Type Syntax: chunk Description: A chunk is a cuboid of 16×16×128 (x×z×y) blocks. Chunks are spread on a fixed rectangular grid in their world. ## Enchantment Addon: Skript Category: Type Syntax: enchantment Description: 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. NOTE: Minecraft namespaces are supported, ex: 'minecraft:basalt_deltas'. As of Minecraft 1.21 this will also support custom enchantments using namespaces, ex: 'myenchants:explosive'. ## Teleport Cause Addon: Skript Category: Type Syntax: teleportcause Description: The teleport cause in a teleport event. ## Spawn Reason Addon: Skript Category: Type Syntax: spawnreason Description: The spawn reason in a spawn event. ## Respawn Reason Addon: Skript Category: Type Syntax: respawnreason Description: The respawn reason in a respawn event. ## Server Icon Addon: Skript Category: Type Syntax: cachedservericon Description: A server icon that was loaded using the load server icon effect. ## Firework Type Addon: Skript Category: Type Syntax: fireworktype Description: The type of a fireworkeffect. ## Firework Effect Addon: Skript Category: Type Syntax: fireworkeffect Description: A configuration of effects that defines the firework when exploded which can be used in the launch firework effect. See the firework effect expression for detailed patterns. Examples: launch flickering trailing burst firework colored blue and green at player launch trailing flickering star colored purple, yellow, blue, green and red fading to pink at target entity launch ball large colored red, purple and white fading to light green and black at player's location with duration 1 ## Difficulty Addon: Skript Category: Type Syntax: difficulty Description: The difficulty of a world. ## Resource Pack State Addon: Skript Category: Type Syntax: resourcepackstate Description: The state in a resource pack request response event. ## Sound Category Addon: Skript Category: Type Syntax: soundcategory Description: The category of a sound, they are used for sound options of Minecraft. See the play sound and stop sound effects. ## Heal Reason Addon: Skript Category: Type Syntax: healreason Description: The health regain reason in a heal event. ## Gamerule Addon: Skript Category: Type Syntax: gamerule Description: A gamerule ## Enchantment Offer Addon: Skript Category: Type Syntax: enchantmentoffer Description: The enchantmentoffer in an enchant prepare event. Examples: on enchant prepare: set enchant offer 1 to sharpness 1 set the cost of enchant offer 1 to 10 levels ## Attribute Type Addon: Skript Category: Type Syntax: attributetype Description: Represents the type of an attribute. Note that this type does not contain any numerical values.See attribute types for more info. NOTE: Minecraft namespaces are supported, ex: 'minecraft:generic.attack_damage'. ## World Environment Addon: Skript Category: Type Syntax: environment Description: Represents the environment of a world. ## Moon Phase Addon: Skript Category: Type Syntax: moonphase Description: Represents the phase of a moon. ## Quit Reason Addon: Skript Category: Type Syntax: quitreason Description: Represents a quit reason from a player quit server event. ## Inventory Close Reasons Addon: Skript Category: Type Syntax: inventoryclosereason Description: The inventory close reason in an inventory close event. ## Transform Reason Addon: Skript Category: Type Syntax: transformreason Description: Represents a transform reason of an entity transform event. ## Unleash Reason Addon: Skript Category: Type Syntax: unleashreason Description: Represents an unleash reason of an unleash event. ## Item Flag Addon: Skript Category: Type Syntax: itemflag Description: Represents flags that may be applied to hide certain attributes of an item. ## Experience Cooldown Change Reason Addon: Skript Category: Type Syntax: experiencecooldownchangereason Description: Represents a change reason of an experience cooldown change event. ## Villager Profession Addon: Skript Category: Type Syntax: villagerprofession Description: Represents the different professions of villagers. ## Entity Snapshot Addon: Skript Category: Type Syntax: entitysnapshot Description: Represents a snapshot of an entity's data. This includes all of the data associated with an entity (its name, health, attributes, etc.), at the time this expression is used. Essentially, these are a way to create templates for entities. Individual attributes of a snapshot cannot be modified or retrieved. ## World Border Addon: Skript Category: Type Syntax: worldborder Description: Represents the border of a world or player. ## Banner Pattern Type Addon: Skript Category: Type Syntax: bannerpatterntype Description: Represents the various banner patterns that can be applied to a banner. ## Teleport Flag Addon: Skript Category: Type Syntax: teleportflag Description: Teleport Flags are settings to retain during a teleport. ## Vehicle Addon: Skript Category: Type Syntax: vehicle Description: Represents a vehicle. ## Equipment Slot Addon: Skript Category: Type Syntax: equipmentslot Description: Represents an equipment slot of an entity. ## Villager Career Change Reason Addon: Skript Category: Type Syntax: villagercareerchangereason Description: Represents a reason why a villager changed its career. ## Script Addon: Skript Category: Type Syntax: script Description: A script loaded by Skript. Disabled scripts will report as being empty since their content has not been loaded. Examples: the current script ## Quaternion Addon: Skript Category: Type Syntax: quaternion Description: Quaternions are four dimensional vectors, often used for representing rotations. ## Queue Addon: Skript Category: Type Syntax: queue Description: A queued list of values. Entries are removed from a queue when they are queried. Examples: set {queue} to a new queue add "hello" to {queue} broadcast the 1st element of {queue} ## Block Addon: Skript Category: Type Syntax: block Description: 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. ## Inventory Addon: Skript Category: Type Syntax: inventory Description: 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). ## Location Addon: Skript Category: Type Syntax: location Description: 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. Examples: teleport player to location at 0, 69, 0 set {home::%uuid of player%} to location of the player ## Player Addon: Skript Category: Type Syntax: player Description: 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 their inventory) on an offline player. You have two possibilities to use players as command arguments: and . 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. Examples: set {_p} to "Notch" parsed as a player # returns unless Notch is actually online or starts with Notch like Notchan set {_p} to "N" parsed as a player # returns Notch if Notch is online because their name starts with 'N' (case insensitive) however, it would return nothing if no player whose name starts with 'N' is online. ## Slot Addon: Skript Category: Type Syntax: slot Description: 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. Examples: set tool of player to dirt delete helmet of the victim set the color of the player's tool to green enchant the player's chestplate with projectile protection 5 ## Vector Addon: Skript Category: Type Syntax: vector Description: Vector is a collection of numbers. In Minecraft, 3D vectors are used to express velocities of entities. ## Damage Source Addon: Skript Category: Type Syntax: damagesource Description: Represents the source from which an entity was damaged. Cannot change any attributes of the damage source from an 'on damage' or 'on death' event. ## Damage Type Addon: Skript Category: Type Syntax: damagetype Description: References a damage type of a damage source. ## Display Entity Addon: Skript Category: Type Syntax: display Description: A text, block or item display entity. ## Display Billboard Addon: Skript Category: Type Syntax: billboard Description: Represents the billboard setting of a display. ## Display Text Alignment Addon: Skript Category: Type Syntax: textalignment Description: Represents the text alignment setting of a text display. ## Item Display Transforms Addon: Skript Category: Type Syntax: itemdisplaytransform Description: Represents the transform setting of an item display. ## Fishing State Addon: Skript Category: Type Syntax: fishingstate Description: Represents the different states of a fishing event. ## Input Key Addon: Skript Category: Type Syntax: inputkey Description: Represents a movement input key that is pressed by a player. ## Loot Table Addon: Skript Category: Type Syntax: loottable Description: Loot tables represent what items should be in naturally generated containers, what items should be dropped when killing a mob, or what items can be fished. You can find more information about this in https://minecraft.wiki/w/Loot_table ## Loot Context Addon: Skript Category: Type Syntax: lootcontext Description: Represents additional information a loot table can use to modify its generated loot. Some loot tables will require some values (i.e. looter, location, looted entity) in a loot context when generating loot whereas others may not. For example, the loot table of a simple dungeon chest will only require a location, whereas the loot table of a cow will require a looting player, looted entity, and location. You can find more information about this in https://minecraft.wiki/w/Loot_context ## Game Effect Addon: Skript Category: Type Syntax: gameeffect Description: Various game effects that can be played for players, like record disc songs, splash potions breaking, or fake bone meal effects. ## Entity Effect Addon: Skript Category: Type Syntax: entityeffect Description: Various entity effects that can be played for entities, like wolf howling, or villager happy. ## Converging Particle Effect Addon: Skript Category: Type Syntax: convergingparticle Description: A particle effect where particles converge towards a point. ## Directional Particle Effect Addon: Skript Category: Type Syntax: directionalparticle Description: A particle effect which can be given a directional velocity. ## Scalable Particle Effect Addon: Skript Category: Type Syntax: scalableparticle Description: A particle effect which can be scaled up or down. ## Potion Effect Addon: Skript Category: Type Syntax: potioneffect Description: A potion effect, including the potion effect type, tier and duration. ## Potion Effect Type Addon: Skript Category: Type Syntax: potioneffecttype Description: A potion effect type, e.g. 'strength' or 'swiftness'. Examples: apply swiftness 5 to the player apply potion of speed 2 to the player for 60 seconds remove invisibility from the victim ## Potion Effect Event Cause Addon: Skript Category: Type Syntax: potioncause Description: Represents the cause of an 'entity potion effect' event. For example, an arrow hitting an entity or a command being executed. Examples: on entity potion effect: if the event-potion effect cause is arrow affliction: message "You were hit by a tipped arrow!" ## Potion Effect Event Action Addon: Skript Category: Type Syntax: potionaction Description: Represents the action being performed in an 'entity potion effect' event. 'added' indicates the entity does not already have a potion effect of the event potion effect type. 'changed' indicates the entity already has a potion effect of the event potion effect type, but some property about the potion effect is changing. 'cleared' indicates that the effect is being removed because all of the entity's effects are being removed. 'removed' indicates that the event potion effect type has been specifically removed from the entity. Examples: on entity potion effect: if the event-potion effect action is removal: message "One of your existing potion effects was removed!" ## Potion Effect Type Category Addon: Skript Category: Type Syntax: potioneffecttypecategory Description: Represents the type of effect a potion effect type has on an entity. ## Minecraft Tag Addon: Skript Category: Type Syntax: minecrafttag Description: A tag that classifies a material, or entity. ## Text Component Addon: Skript Category: Type Syntax: textcomponent Description: Text components are used to represent how text is displayed in Minecraft. This includes colors, decorations, and more. Examples: "This text is red and bold!" ## Cat Type Addon: Skript Category: Type Syntax: cattype Description: Represents the race/type of a cat entity. NOTE: Minecraft namespaces are supported, ex: 'minecraft:british_shorthair'. ## Chicken Variant Addon: Skript Category: Type Syntax: chickenvariant Description: Represents the variant of a chicken entity. NOTE: Minecraft namespaces are supported, ex: 'minecraft:warm'. ## Cow Variant Addon: Skript Category: Type Syntax: cowvariant Description: Represents the variant of a cow entity. NOTE: Minecraft namespaces are supported, ex: 'minecraft:warm'. ## Frog Variant Addon: Skript Category: Type Syntax: frogvariant Description: Represents the variant of a frog entity. NOTE: Minecraft namespaces are supported, ex: 'minecraft:warm'. ## Gene Addon: Skript Category: Type Syntax: gene Description: Represents a Panda's main or hidden gene. See genetics for more info. ## Pig Variant Addon: Skript Category: Type Syntax: pigvariant Description: Represents the variant of a pig entity. NOTE: Minecraft namespaces are supported, ex: 'minecraft:warm'. ## Wolf Variant Addon: Skript Category: Type Syntax: wolfvariant Description: Represents the variant of a wolf entity. NOTE: Minecraft namespaces are supported, ex: 'minecraft:ashen'. ## Zombie Nautilus Variant Addon: Skript Category: Type Syntax: zombienautilusvariant Description: Represents the variant of a zombie nautilus. ## Money Addon: Skript Category: Type Syntax: money Description: A certain amount of money. Please note that this differs from numbers as it includes a currency symbol or name, but usually the two are interchangeable, e.g. you can both add 100$ to the player's balance and add 100 to the player's balance. Examples: add 10£ to the player's account remove Fr. 9.95 from the player's money set the victim's money to 0 increase the attacker's balance by the level of the victim * 100 ## Timespan Addon: Skript Category: Type Syntax: timespan Description: 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'. NOTE: Months always have the value of 30 days, and years of 365 days. See date and time for the other time types of Skript. Examples: 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 ## Enchantment Type Addon: Skript Category: Type Syntax: enchantmenttype Description: An enchantment with an optional level, e.g. 'sharpness 2' or 'fortune'. Examples: enchant the player's tool with sharpness 5 helmet is enchanted with waterbreathing ## Executable Addon: Skript Category: Type Syntax: executable Description: Something that can be executed (run) and may accept arguments, e.g. a function. This may also return a result. Examples: run {_function} with arguments 1 and true ## Living Entity Addon: Skript Category: Type Syntax: livingentity Description: A living entity, i.e. a mob or player, not inanimate entities like projectiles or dropped items. Examples: spawn 5 powered creepers shoot a zombie from the creeper ## Entity Addon: Skript Category: Type Syntax: entity Description: 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. Examples: entity is a zombie or creeper player is an op projectile is an arrow shoot a fireball from the player ## Offline Player Addon: Skript Category: Type Syntax: offlineplayer Description: 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. Examples: set {_p} to "Notch" parsed as an offlineplayer # returns Notch even if they're offline ## Particle Addon: Skript Category: Type Syntax: particle Description: Various particles. ## Region Addon: Skript Category: Type Syntax: region Description: A region of a regions plugin. Skript currently supports WorldGuard, Factions, GriefPrevention and PreciousStones. Please note that some regions plugins do not have named regions, some use numerical ids to identify regions, and some may have regions with the same name in different worlds, thus using regions like "region name" in scripts may or may not work. ## Number Addon: Skript Category: Type Syntax: number Description: A number, e.g. 2.5, 3, -9812454, 30 degrees or 3.14 radians. Please note that many expressions only need integers, i.e. will discard any fractional parts of any numbers without producing an error. Radians will be converted to degrees. Examples: set the player's health to 5.5 set {_temp} to 2*{_temp} - 2.5 set {_angle} to 3.14 in radians # will be converted to degrees ## Command Sender Addon: Skript Category: Type Syntax: commandsender Description: A player or the console. Examples: command /push []: trigger: if arg-1 is not set: if command sender is console: send "You can't push yourself as a console :\" to sender stop push sender upwards with force 2 send "Yay!" else: push arg-1 upwards with force 2 send "Yay!" to sender and arg-1 ## Item Type Addon: Skript Category: Type Syntax: itemtype Description: An item type is an alias that 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. Examples: give 4 torches to the player add oak slab to the inventory of the block player's tool is a diamond sword of sharpness block is dirt or farmland ## Nameable Addon: Skript Category: Type Syntax: nameable Description: A variety of Bukkit types that can have names, such as entities and some blocks. ## Audience Addon: Skript Category: Type Syntax: audience Description: An audience is a receiver of media, such as individual players, the console, or groups of players (such as those on a team or in a world). Examples: send "Hello world!" to the player send action bar "ALERT! A horde of zombies has overrun the central village." to the world ## Entity Type Addon: Skript Category: Type Syntax: entitydata Description: The type of an entity, e.g. player, wolf, powered creeper, etc. Examples: victim is a cow spawn a creeper ## Entity Type with Amount Addon: Skript Category: Type Syntax: entitytype Description: 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. Examples: spawn 5 creepers behind the player ## Type Addon: Skript Category: Type Syntax: classinfo Description: Represents a type, e.g. number, object, item type, location, block, world, entity type, etc. This is mostly used for expressions like 'event-', '-argument', 'loop-', etc., e.g. event-world, number-argument and loop-player. Examples: {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 ## Any Named Thing Addon: Skript Category: Type Syntax: named Description: Something that has a name (e.g. an item). Examples: {thing}'s name ## Any Numbered/Sized Thing Addon: Skript Category: Type Syntax: numbered Description: Something that has an amount or size. Examples: the size of {thing} the amount of {thing} ## Block Data Addon: Skript Category: Type Syntax: blockdata Description: Block data is the detailed information about a block, referred to in Minecraft as BlockStates, allowing for the manipulation of different aspects of the block, including shape, waterlogging, direction the block is facing, and so much more. Information regarding each block's optional data can be found on Minecraft's Wiki. Find the block you're looking for and scroll down to 'Block States'. Different states must be separated by a semicolon (see examples). The 'minecraft:' namespace is optional, as well as are underscores. Examples: set block at player to campfire[lit=false] set target block of player to oak stairs[facing=north;waterlogged=true] set block at player to grass_block[snowy=true] set loop-block to minecraft:chest[facing=north] set block above player to oak_log[axis=y] set target block of player to minecraft:oak_leaves[distance=2;persistent=false] ## Item Addon: Skript Category: Type Syntax: itemstack Description: 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. Examples: set {_item} to type of the targeted block {_item} is a torch ## Equippable Components Addon: Skript Category: Type Syntax: equippablecomponent Description: Represents an equippable component used for items. NOTE: Equippable component elements are experimental. Thus, they are subject to change and may not work as intended. ## Damage Cause Addon: Skript Category: Type Syntax: damagecause Description: 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. ## Item Component Addon: Skript Category: Type Syntax: itemcomponent Description: Represents an item component for items. i.e. equippable components. ## Biome Addon: Skript Category: Type Syntax: biome Description: All possible biomes Minecraft uses to generate a world. NOTE: Minecraft namespaces are supported, ex: 'minecraft:basalt_deltas'. Examples: biome at the player is desert ## Villager Type Addon: Skript Category: Type Syntax: villagertype Description: Represents the different types of villagers. These are usually the biomes a villager can be from. ## Consume Brewing Fuel Addon: Skript Category: Effect Syntax: make [the] brewing stand consume [its|the] fuel Description: Makes 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. Examples: on brewing fuel consumption: prevent the brewing stand from consuming the fuel ## Consume Boosting Firework Addon: Skript Category: Effect Syntax: (prevent|disallow) [the] (boosting|used) firework from being consumed Description: Prevent the firework used in an 'elytra boost' event to be consumed. Examples: on elytra boost: if the used firework will be consumed: prevent the used firework from being consume ## Suppress Type Hints (Experimental) Addon: Skript Category: Effect Syntax: [un]suppress [local variable] type hints Description: An 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}' Examples: start suppressing local variable type hints # potentially unsafe code goes here stop suppressing local variable type hints ## Cancel Command Cooldown Addon: Skript Category: Effect Syntax: (cancel|ignore) [the] [current] [command] cooldown Description: Only usable in commands. Makes it so the current command usage isn't counted towards the cooldown. Examples: command /nick : 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 ## Apply Fishing Lure Addon: Skript Category: Effect Syntax: (reel|pull) in [the] hook[ed] entity Description: Sets whether the lure enchantment should be applied, which reduces the wait time. Examples: on fishing line cast: apply lure enchantment bonus ## Stop Server Addon: Skript Category: Effect Syntax: (stop|shut[ ]down) [the] server Description: Stops or restarts the server. If restart is used when the restart-script spigot.yml option isn't defined, the server will stop instead. Examples: stop the server restart server ## Locally Suppress Warning Addon: Skript Category: Effect Syntax: [local[ly]] 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] Description: Suppresses target warnings from the current script. Examples: locally suppress missing conjunction warnings suppress the variable save warnings ## Cancel Event Addon: Skript Category: Effect Syntax: cancel [the] event Description: Cancels the event (e.g. prevent blocks from being placed, or damage being taken). Examples: on damage: victim is a player victim has the permission "skript.god" cancel the event ## Cancel Drops Addon: Skript Category: Effect Syntax: (cancel|clear|delete) [the] drops [of (items|[e]xp[erience][s])] Description: Cancels 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. Examples: 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 on player block harvest: cancel the item drops ## Keep Inventory / Experience Addon: Skript Category: Effect Syntax: keep [the] (inventory|items) [(and [e]xp[erience][s] [point[s]])] Description: Keeps the inventory or/and experiences of the dead player in a death event. Examples: on death of a player: if the victim is an op: keep the inventory and experiences ## Apply Fishing Lure Addon: Skript Category: Effect Syntax: apply [the] lure enchantment bonus Description: Sets whether the lure enchantment should be applied, which reduces the wait time. Examples: on fishing line cast: apply lure enchantment bonus ## Allow / Prevent Leash Drop Addon: Skript Category: Effect Syntax: (force|allow) [the] (lead|leash) [item] to drop Description: Allows or prevents the leash from being dropped in an unleash event. Examples: on unleash: if player is not set: prevent the leash from dropping else if player is op: allow the leash to drop ## Make Egg Hatch Addon: Skript Category: Effect Syntax: make [the] egg [not] hatch Description: Makes the egg hatch in a Player Egg Throw event. Examples: on player egg throw: # EGGS FOR DAYZ! make the egg hatch ## Player Info Visibility Addon: Skript Category: Effect Syntax: hide [all] player [related] info[rmation] [(in|on|from) [the] server list] Description: 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. Examples: hide player info hide player related information in the server list reveal all player related info ## Enforce Whitelist Addon: Skript Category: Effect Syntax: [un]enforce [the] [server] white[ ]list Description: Enforces or un-enforce a server's whitelist. All non-whitelisted players will be kicked upon enforcing the whitelist. Examples: enforce the whitelist unenforce the whitelist ## Load Server Icon Addon: Skript Category: Effect Syntax: load [the] server icon (from|of) [the] [image] [file] %string% Description: 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. Examples: 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::*} ## Persistent Addon: Skript Category: Effect Syntax: make %entities/blocks% [not] persist[ent] Description: Make 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. Examples: prevent all entities from persisting force {_leaves} to persist command /kickcheater : permission: op trigger: prevent {_cheater} from persisting kick {_cheater} ## Make Fly Addon: Skript Category: Effect Syntax: force %players% to [(start|stop)] fly[ing] Description: Forces a player to start/stop flying. Examples: make player fly force all players to stop flying ## Strider Shivering Addon: Skript Category: Effect Syntax: make %livingentities% start shivering Description: Make a strider start/stop shivering. Examples: if last spawned strider is shivering: make last spawned strider stop shivering ## Potion Effect - Icon Addon: Skript Category: Effect Syntax: (show|hide) [the] [potion] icon[s] [(of|for) %skriptpotioneffects%] Description: Modify whether a potion effect shows an icon. Examples: hide the icon for the player's potion effects ## Equippable Component - Swap Equipment Addon: Skript Category: Effect Syntax: (allow|force) %equippablecomponents% to swap equipment [on right click|when right clicked] Description: 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. Examples: allow {_item} to swap equipment set {_component} to the equippable component of {_item} prevent {_component} from swapping equipment on right click ## op/deop Addon: Skript Category: Effect Syntax: [de[-]]op %offlineplayers% Description: Grant/revoke a user operator state. Examples: op the player deop all players ## Make Invulnerable Addon: Skript Category: Effect Syntax: make %entities% (invulnerable|invincible) Description: Makes an entity invulnerable/not invulnerable. Examples: make target entity invulnerable ## Make Fire Resistant Addon: Skript Category: Effect Syntax: make %itemtypes% [not] (fire resistant|resistant to fire) Description: Makes items fire resistant. Examples: make player's tool fire resistant make {_items::*} not resistant to fire ## Equippable Component - Shear Off Addon: Skript Category: Effect Syntax: allow %equippablecomponents% to be sheared off [of entities] Description: 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. Examples: allow {_item} to be sheared off set {_component} to the equippable component of {_item} if {_component} can be sheared off of entities: prevent {_component} from being sheared off of entities ## Title - Clear/Reset Addon: Skript Category: Effect Syntax: (clear|delete|reset) [the] title[s] [of %audiences%] Description: 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. Examples: reset the titles of all players clear the title ## Force Eating Addon: Skript Category: Effect Syntax: make %livingentities% (start|stop) eating Description: Make a panda or horse type (horse, camel, donkey, llama, mule) start/stop eating. Examples: if last spawned panda is eating: make last spawned panda stop eating ## Item Tooltips Addon: Skript Category: Effect Syntax: (show|reveal|hide) %itemtypes%'[s] [entire|additional] tool[ ]tip Description: 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. Examples: hide the entire tooltip of player's tool hide {_item}'s additional tool tip ## Make Sign Glow Addon: Skript Category: Effect Syntax: make %blocks/itemtypes% have glowing text Description: Makes a sign (either a block or item) have glowing text or normal text Examples: make target block of player have glowing text ## Force Respawn Addon: Skript Category: Effect Syntax: force %players% to respawn Description: 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. Examples: on death of player: force event-player to respawn ## Make Incendiary Addon: Skript Category: Effect Syntax: make %entities% [(not)] incendiary Description: Sets if an entity's explosion will leave behind fire. This effect is also usable in an explosion prime event. Examples: on explosion prime: make the explosion fiery ## Item Despawn Addon: Skript Category: Effect Syntax: (prevent|disallow) %itementities% from (naturally despawning|despawning naturally) Description: Prevent a dropped item from naturally despawning through Minecraft's timer. Examples: prevent all dropped items from naturally despawning allow all dropped items to naturally despawn ## Text Display Drop Shadow Addon: Skript Category: Effect Syntax: (apply|add) (drop|text) shadow to [[the] text of] %displays% Description: Applies or removes drop shadow from the displayed text on a text display. Examples: apply drop shadow to last spawned text display if {_display} has drop shadow: remove drop shadow from the text of {_display} ## Potion Effect - Ambient Addon: Skript Category: Effect Syntax: make %skriptpotioneffects% [not] ambient Description: Modify whether a potion effect is ambient. That is, whether the potion effect produces more, translucent, particles. Examples: make the player's potion effects ambient ## Force Enchantment Glint Addon: Skript Category: Effect Syntax: (force|make) %itemtypes% [to] [start] glint[ing] Description: Forces the items to glint or not, or removes its existing enchantment glint enforcement. Examples: force {_items::*} to glint force the player's tool to stop glinting ## Shear Addon: Skript Category: Effect Syntax: [force] shear %livingentities% Description: 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 Examples: on rightclick on a sheep holding a sword: shear the clicked sheep chance of 10% force shear the clicked sheep ## Make Interaction Responsive Addon: Skript Category: Effect Syntax: make %entities% responsive Description: Makes an interaction either responsive or unresponsive. This determines whether clicking the entity will cause the clicker's arm to swing. Interactions default to unresponsive. Examples: make last spawned interaction responsive ## Clear Entity Storage Addon: Skript Category: Effect Syntax: (clear|empty) the (stored entities|entity storage) of %blocks% Description: Clear the stored entities of an entity block storage (i.e. beehive). Examples: clear the stored entities of {_beehive} ## Enable/Disable/Unload/Reload Script Addon: Skript Category: Effect Syntax: ((enable|load)|reload|disable|unload) script [file|named] %string% [with errors] Description: 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. Examples: reload script "test" enable script file "testing" unload script file "script.sk" ## Force Panda On Back Addon: Skript Category: Effect Syntax: make %livingentities% get (on|off) (its|their) back[s] Description: Make a panda get on/off its back. Examples: if last spawned panda is on its back: make last spawned panda get off its back ## Make Allay Duplicate Addon: Skript Category: Effect Syntax: make %livingentities% (duplicate|clone) Description: Make an allay duplicate itself. This effect will always make an allay duplicate regardless of whether the duplicate attribute is disabled. Examples: make all allays duplicate ## Text Display See Through Blocks Addon: Skript Category: Effect Syntax: make %displays% visible through (blocks|walls) Description: Forces a text display to either be or not be visible through blocks. Examples: force last spawned text display to be visible through walls prevent all text displays from being visible through walls ## Make Adult/Baby Addon: Skript Category: Effect Syntax: make %livingentities% [a[n]] (adult|baby|child) Description: Force a animal to become an adult or baby. Examples: on spawn of mob: entity is not an adult make entity an adult ## Make Panda Roll Addon: Skript Category: Effect Syntax: make %livingentities% ((start rolling|roll)|stop rolling) Description: Make a panda start/stop rolling. Examples: if last spawned panda is not rolling: make last spawned panda start rolling ## Make Breedable Addon: Skript Category: Effect Syntax: make %livingentities% breedable Description: Sets whether or not entities will be able to breed. Only works on animals. Examples: on spawn of animal: make entity unbreedable ## Swing Hand Addon: Skript Category: Effect Syntax: make %livingentities% swing [their] [main] hand Description: Makes an entity swing their hand. This does nothing if the entity does not have an animation for swinging their hand. Examples: make player swing their main hand ## Hide Player from Server List Addon: Skript Category: Effect Syntax: hide %players% (in|on|from) [the] server list Description: Hides a player from the hover list and decreases the online players count (only if the player count wasn't changed before). Examples: on server list ping: hide {vanished::*} from the server list ## Potion Effect - Infinite Addon: Skript Category: Effect Syntax: make %skriptpotioneffects% [not] (infinite|permanent) Description: Modify whether a potion effect is infinite. That is, whether the potion effect will ever expire. Examples: make the player's potion effects infinite ## Return Addon: Skript Category: Effect Syntax: return %objects% Description: Makes a trigger or a section (e.g. a function) return a value Examples: function double(i: number) :: number: return 2 * {_i} function divide(i: number) returns number: return {_i} / 2 ## Toggle Flight Addon: Skript Category: Effect Syntax: (allow|enable) (fly|flight) (for|to) %players% Description: Toggle the flight mode of a player. Examples: allow flight to event-player ## Handedness Addon: Skript Category: Effect Syntax: make %livingentities% (left|right)( |-)handed Description: Make mobs left or right-handed. This does not affect players. Examples: spawn skeleton at spawn of world "world": make entity left handed make all zombies in radius 10 of player right handed ## Open/Close Lid Addon: Skript Category: Effect Syntax: (open|close) [the] lid[s] (of|for) %blocks% Description: Open or close the lid of the block(s). Examples: open the lid of {_chest} close the lid of {_blocks::*} ## Cancel Active Item Addon: Skript Category: Effect Syntax: (cancel|interrupt) [the] us[ag]e of %livingentities%'[s] [active|current] item Description: Interrupts the action entities may be trying to complete. For example, interrupting eating, or drawing back a bow. Examples: on damage of player: if the victim's active tool is a bow: interrupt the usage of the player's active item ## Explode Creeper Addon: Skript Category: Effect Syntax: instantly explode [creeper[s]] %livingentities% Description: Starts the explosion process of a creeper or instantly explodes it. Examples: start explosion of the last spawned creeper stop ignition of the last spawned creeper ## Sprinting Addon: Skript Category: Effect Syntax: make %players% (start sprinting|sprint) Description: 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. Examples: make player start sprinting force player to start sprinting ## Equippable Component - Lose Durability Addon: Skript Category: Effect Syntax: (make|let) %equippablecomponents% (lose durability|be damaged) (on [wearer['s]] injury|when [[the] wearer [is]] (hurt|injured|damaged)) Description: 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. Examples: make {_item} lose durability when hurt set {_component} to the equippable component of {_item} if {_component} will lose durability when injured: make {_component} lose durability on injury ## Allay Duplicate Addon: Skript Category: Effect Syntax: allow %livingentities% to (duplicate|clone) Description: Set whether an allay can or cannot duplicate itself. This is not the same as breeding allays. Examples: allow all allays to duplicate prevent all allays from duplicating ## Make Entity Scream Addon: Skript Category: Effect Syntax: make %livingentities% (start screaming|scream) Description: Make a goat or enderman start or stop screaming. Examples: make last spawned goat start screaming force last spawned goat to stop screaming make {_enderman} scream force {_enderman} to stop screaming ## Equippable Component - Dispense Addon: Skript Category: Effect Syntax: allow %equippablecomponents% to be dispensed Description: Whether 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. Examples: allow {_item} to be dispensed set {_component} to the equippable component of {_item} prevent {_component} from being dispensed ## Toggle Addon: Skript Category: Effect Syntax: (open|turn on|activate) %blocks% Description: Toggle the state of a block or boolean. Examples: # 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 ## Equippable Component - Equip On Entities Addon: Skript Category: Effect Syntax: allow %equippablecomponents% to be equipped on[to] entities Description: Whether 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. Examples: allow {_item} to be equipped onto entities ## Make Invisible Addon: Skript Category: Effect Syntax: make %livingentities% (invisible|not visible) Description: 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. Examples: make target entity invisible ## Tame / Untame Addon: Skript Category: Effect Syntax: [un](tame|domesticate) %entities% Description: Tame a tameable entity (horse, parrot, cat, etc.). Examples: tame {_horse} untame {_horse} ## Play Dead Addon: Skript Category: Effect Syntax: make %livingentities% (start playing|play) dead Description: Make an axolotl start or stop playing dead. Examples: make last spawned axolotl play dead ## Silence Entity Addon: Skript Category: Effect Syntax: silence %entities% Description: Controls whether or not an entity is silent. Examples: make target entity silent ## Allow Aging Addon: Skript Category: Effect Syntax: lock age of %livingentities% Description: Sets whether or not living entities will be able to age. Examples: on spawn of animal: allow aging of entity ## Detonate Entities Addon: Skript Category: Effect Syntax: detonate %entities% Description: Immediately detonates an entity. Accepted entities are fireworks, TNT minecarts, primed TNT, wind charges and creepers. Examples: detonate last launched firework ## Toggle Picking Up Items Addon: Skript Category: Effect Syntax: allow %livingentities% to pick([ ]up items| items up) Description: Determines whether living entities are able to pick up items or not Examples: forbid player from picking up items send "You can no longer pick up items!" to player on drop: if player can't pick up items: allow player to pick up items ## Delay Addon: Skript Category: Effect Syntax: (wait|halt) [for] %timespan% Description: 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! Examples: wait 2 minutes halt for 5 minecraft hours wait a tick ## PvP Addon: Skript Category: Effect Syntax: enable PvP [in %worlds%] Description: Set the PvP state for a given world. Examples: enable PvP #(current world only) disable PvP in all worlds ## Potion Effect - Particles Addon: Skript Category: Effect Syntax: (show|hide) [the] [potion] particles [(of|for) %skriptpotioneffects%] Description: Modify whether a potion effect shows particles. Examples: hide the particles for the player's potion effects ## Make Panda Sneeze Addon: Skript Category: Effect Syntax: make %livingentities% ((start sneezing|sneeze)|stop sneezing) Description: Make a panda start/stop sneezing. Examples: if last spawned panda is not sneezing: make last spawned panda start sneezing ## Conditional / Unconditional Addon: Skript Category: Effect Syntax: make command block[s] %blocks% [(un|not )]conditional Description: Sets whether the provided command blocks are conditional or not. Examples: make command block {_block} conditional make command block {_block} unconditional if {_block} is conditional ## Goat Horns Addon: Skript Category: Effect Syntax: remove [the] (left horn[s]|right horn[s]|both horns) of %livingentities% Description: Make a goat have or not have a left, right, or both horns. Examples: remove the left horn of last spawned goat regrow {_goat}'s horns remove both horns of all goats ## Kill Addon: Skript Category: Effect Syntax: kill %entities% Description: Kills an entity. Examples: kill the player kill all creepers in the player's world kill all endermen, witches and bats ## Toggle Custom Name Visibility Addon: Skript Category: Effect Syntax: (show|hide) [the] (custom|display)[ ]name of %entities% Description: Toggles the custom name visibility of an entity. Examples: show the custom name of event-entity hide target's display name ## Charge Entity Addon: Skript Category: Effect Syntax: make %entities% [(un|not |non[-| ])](charged|powered) Description: Charges or uncharges a creeper or wither skull. A creeper is charged when it has been struck by lightning. Examples: on spawn of creeper: charge the event-entity ## Entity Despawn Addon: Skript Category: Effect Syntax: make %livingentities% despawn[able] (on chunk unload|when far away) Description: 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. Examples: make all entities not despawnable on chunk unload spawn zombie at location(0, 0, 0): force event-entity to not despawn when far away ## Save World Addon: Skript Category: Effect Syntax: save [[the] world[s]] %worlds% Description: Save all worlds or a given world manually. Note: saving many worlds at once may possibly cause the server to freeze. Examples: save "world_nether" save all worlds ## Make Say Addon: Skript Category: Effect Syntax: make %players% (say|send [the] message[s]) %strings% Description: 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. Examples: make the player say "Hello." force all players to send the message "I love this server" ## Log Addon: Skript Category: Effect Syntax: log %strings% [(to|in) [file[s]] %-strings%] [with [the|a] severity [of] (warning|severe)] Description: 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. Examples: 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 ## Leash entities Addon: Skript Category: Effect Syntax: (leash|lead) %livingentities% to %entity% Description: Leash living entities to other entities. When trying to leash an Ender Dragon, Wither, Player, or a Bat, this effect will not work. See Spigot's Javadocs for more info. Examples: on right click: leash event-entity to player send "&aYou leashed &2%event-entity%!" to player ## Load World Addon: Skript Category: Effect Syntax: load [the] world[s] %strings% [with environment %-environment%] Description: 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 Examples: load world "world_nether" with environment nether load the world "myCustomWorld" unload "world_nether" unload "world_the_end" without saving unload all worlds ## Equip Addon: Skript Category: Effect Syntax: equip [%livingentities%] with %itemtypes% Description: Equips or unequips an entity with the given itemtypes (usually armor). This effect will replace any armor that the entity is already wearing. Examples: equip player with diamond helmet equip player with diamond leggings, diamond chestplate, and diamond boots unequip diamond chestplate from player unequip player's armor ## Message Addon: Skript Category: Effect Syntax: (message|send [message[s]]) %objects% [to %audiences%] Description: 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. Examples: message "A wild %player% appeared!" message "This message is a distraction. Mwahaha!" send "Your kill streak is %{kill streak::%uuid of player%}%." to player ## Release From Entity Storage Addon: Skript Category: Effect Syntax: (release|evict) [the] (stored entities|entity storage) of %blocks% [for %-timespan%] Description: 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+. Examples: release the stored entities of {_beehive} release the entity storage of {_hive} for 5 seconds ## Open/Close Inventory Addon: Skript Category: Effect Syntax: close %players%'[s] inventory [view] Description: 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. Examples: show the victim's inventory to the player open the player's inventory for the player ## Register Tag Addon: Skript Category: Effect Syntax: register [a[n]] [custom] (item|block|entity [type]) tag named %string% (containing|using) %entitydatas/itemtypes% Description: 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. Examples: register a new custom entity tag named "fish" using cod, salmon, tropical fish, and pufferfish register an item tag named "skript:wasp_weapons/swords" containing diamond sword and netherite sword register block tag named "pokey" containing sweet berry bush and bamboo sapling ## Insert Entity Storage Addon: Skript Category: Effect Syntax: (add|insert) %livingentities% [in[ ]]to [the] (stored entities|entity storage) of %block% Description: 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+. Examples: add last spawned bee into the entity storage of {_beehive} ## Copy Into Variable Addon: Skript Category: Effect Syntax: copy %~objects% [in]to %~objects% Description: 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. Examples: 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!" ## Enderman Teleport Addon: Skript Category: Effect Syntax: make %livingentities% (randomly teleport|teleport randomly) Description: Make an enderman teleport randomly or towards an entity. Teleporting towards an entity teleports in the direction to the entity and not to them. Examples: make last spawned enderman teleport randomly loop 10 times: make all endermen teleport towards player ## Make Goat Ram Addon: Skript Category: Effect Syntax: make %livingentities% ram %livingentity% Description: Make a goat ram an entity. Ramming does have a cooldown and currently no way to change it. Examples: make all goats ram player ## Kick Addon: Skript Category: Effect Syntax: kick %players% [(by reason of|because [of]|on account of|due to) %-string%] Description: Kicks a player from the server. Examples: on place of TNT, lava, or obsidian: kick the player due to "You may not place %block%!" cancel the event ## Poison/Cure Addon: Skript Category: Effect Syntax: poison %livingentities% [for %-timespan%] Description: Poison or cure an entity. If the entity is already poisoned, the duration may be overwritten. Examples: poison the player poison the victim for 20 seconds cure the player from of poison ## Action Bar Addon: Skript Category: Effect Syntax: send [the] action[ ]bar [with text] %object% [to %audiences%] Description: Sends an action bar message to an audience. Examples: send action bar "Hello player!" to player ## Apply Bone Meal Addon: Skript Category: Effect Syntax: apply [%-number%] bone[ ]meal[s] [to %blocks%] Description: Applies bone meal to a crop, sapling, or composter Examples: apply 3 bone meal to event-block ## Ignite/Extinguish Addon: Skript Category: Effect Syntax: (ignite|set fire to) %entities% [for %-timespan%] Description: Lights entities on fire or extinguishes them. Examples: ignite the player extinguish the player ## Open Book Addon: Skript Category: Effect Syntax: (open|show) book %itemtype% (to|for) %players% Description: Opens a written book to a player. Examples: open book player's tool to player ## Run Addon: Skript Category: Effect Syntax: run %executable% [with arg[ument]s %-objects%] Description: Executes a task (a function). Any returned result is discarded. Examples: set {_function} to the function named "myFunction" run {_function} run {_function} with arguments {_things::*} ## Entity Visibility Addon: Skript Category: Effect Syntax: hide %entities% [(from|for) %-players%] Description: 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. Examples: on spawn: if event-entity is a chicken: hide event-entity reveal hidden players of players ## Broadcast Addon: Skript Category: Effect Syntax: broadcast %objects% [(to|in) %-worlds%] Description: Broadcasts a message to the server. Examples: broadcast "Welcome %player% to the server!" broadcast "Woah! It's a message!" ## Update Block Addon: Skript Category: Effect Syntax: update %blocks% (as|to be) %blockdata% [without [neighbo[u]r[ing]|adjacent] [physics] update[s]] Description: 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. Examples: update {_blocks::*} as gravel update {_blocks::*} to be sand without physics updates update {_blocks::*} as stone without neighbouring updates ## Vehicle Addon: Skript Category: Effect Syntax: (make|let|force) %entities% [to] (ride|mount) [(in|on)] %entity/entitydata% Description: Makes an entity ride another entity, e.g. a minecart, a saddled pig, an arrow, etc. Examples: make the player ride a saddled pig make the attacker ride the victim ## Zombify Villager Addon: Skript Category: Effect Syntax: zombify %livingentities% Description: 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. Examples: zombify last spawned villager set {_villager} to last spawned villager zombify {_villager} if {_villager} is a zombie villager: # This will pass because '{_villager}' gets changed to the new zombie villager set {_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 zombifying ## Feed Addon: Skript Category: Effect Syntax: feed [the] %players% [by %-number% [beef[s]]] Description: Feeds the specified players. Examples: feed all players feed the player by 5 beefs ## Enchant/Disenchant Addon: Skript Category: Effect Syntax: enchant %~itemtypes% with %enchantmenttypes% Description: 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. Examples: enchant the player's tool with sharpness 5 enchant the player's tool at level 30 disenchant the player's tool ## Break Block Addon: Skript Category: Effect Syntax: break %blocks% [naturally] [using %-itemtype%] Description: 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) Examples: 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 ## Command Addon: Skript Category: Effect Syntax: [execute] [the] [bungee[cord]] command[s] %strings% [by %-commandsenders%] Description: Executes a command. This can be useful to use other plugins in triggers. If the command is a bungeecord side command, you can use the [bungeecord] option to execute command on the proxy. Examples: make player execute command "/home" execute console command "/say Hello everyone!" execute player bungeecord command "/alert &6Testing Announcement!" ## Apply Potion Effect Addon: Skript Category: Effect Syntax: (apply|grant) %skriptpotioneffects% to %livingentities% [for %-timespan%] Description: Applies a potion effect to an entity. Examples: apply swiftness 2 to the player command /strengthboost: trigger: apply strength 10 to the player for 5 minutes apply the potion effects of the player's tool to the player ## Stop Sound Addon: Skript Category: Effect Syntax: stop (all sound[s]|sound[s] %-strings%) [(in [the]|from) %-soundcategory%] [(from playing to|for) %players%] Description: 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. Examples: stop sound "block.chest.open" for the player stop playing sounds "ambient.underwater.loop" and "ambient.underwater.loop.additions" to the player stop all sounds for all players stop sound in the record category ## Pathfind Addon: Skript Category: Effect Syntax: make %livingentities% (pathfind|move) to[wards] %livingentity/location% [at speed %-number%] Description: 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. Examples: make all creepers pathfind towards player make all cows stop pathfinding make event-entity pathfind towards player at speed 1 ## Ban Addon: Skript Category: Effect Syntax: ban [and kick] %strings/offlineplayers% [(by reason of|because [of]|on account of|due to) %-string%] [for %-timespan%] Description: 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. Examples: unban player ban "127.0.0.1" IP-ban the player because "he is an idiot" ban player due to "inappropriate language" for 2 days ban and kick player due to "inappropriate language" for 2 days ## Launch firework Addon: Skript Category: Effect Syntax: (launch|deploy) [[a] firework [with effect[s]]] %fireworkeffects% at %locations% [([with] (duration|power)|timed) %number%] Description: Launch firework effects at the given location(s). Examples: launch ball large colored red, purple and white fading to light green and black at player's location with duration 1 ## Send Resource Pack Addon: Skript Category: Effect Syntax: send [the] resource pack [from [[the] URL]] %string% to %players% Description: 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. Examples: on join: send the resource pack from "URL" with hash "hash" to the player ## Damage/Heal/Repair Addon: Skript Category: Effect Syntax: damage %livingentities/itemtypes/slots% by %number% [heart[s]] Description: Damage, heal, or repair an entity or item. Servers running Spigot 1.20.4+ can optionally choose to specify a fake damage cause. Examples: damage player by 5 hearts damage player by 3 hearts with fake cause fall heal the player repair tool of player ## Push Addon: Skript Category: Effect Syntax: (push|thrust|pull) %entities% [along] %direction% [(at|with) [a] (speed|velocity|force) [of] %-number%] Description: Push entities in a given direction or towards a specific location. Examples: push the player upwards push the victim downwards at speed 0.5 push player towards player's target at speed 2 pull player along vector(1,1,1) at speed 1.5 ## Expand/Shrink World Border Addon: Skript Category: Effect Syntax: (expand|grow) [[the] (diameter|radius) of] %worldborders% (by|to) %number% [over [a period of] %-timespan%] Description: 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. Examples: expand world border of player by 100 over 5 seconds shrink world border of world "world" to 100 over 10 seconds ## Connect Addon: Skript Category: Effect Syntax: connect %players% to [proxy|bungeecord] [server] %string% Description: 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`. Examples: connect all players to proxy server "hub" transfer player to server "my.server.com" transfer player to server "localhost" on port 25566 ## Send Block Change Addon: Skript Category: Effect Syntax: make %players% see %locations% as %itemtype/blockdata% Description: Makes a player see a block as something else or as the original. Examples: make player see block at player as dirt make 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 original ## Ring Bell Addon: Skript Category: Effect Syntax: ring %blocks% [from [the]] [%-direction%] Description: 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. Examples: make player ring target-block ## Force Attack Addon: Skript Category: Effect Syntax: make %livingentities% attack %entities% Description: 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. Examples: spawn a wolf at location(0, 0, 0) make last spawned wolf attack all players spawn a zombie at location(0, 0, 0) make player damage last spawned zombie by 2 ## Replace Addon: Skript Category: Effect Syntax: replace [(all|every)|[the] first] %strings% in %strings% with %string% [with case sensitivity] Description: 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. Examples: replace "" 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 "(idiot|noob)" with "****" in the message # Regex version using word boundaries for better results ## Generate Loot Addon: Skript Category: Effect Syntax: generate [the] loot (of|using) %loottable% [(with|using) %-lootcontext%] in %inventories% Description: 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. Examples: 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} ## Rotate Addon: Skript Category: Effect Syntax: rotate %vectors/quaternions/displays% around [the] [global] (x|y|z)(-| )axis by %number% Description: 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. Examples: rotate {_quaternion} around x axis by 10 degrees rotate last spawned block display around y axis by 10 degrees rotate {_vector} around vector(1, 1, 1) by 45 rotate {_quaternion} by x 45, y 90, z 135 ## Look At Addon: Skript Category: Effect Syntax: (force|make) %livingentities% [to] (face [towards]|look [(at|towards)]) %entity%'s (feet|eyes) [(at|with) [head] [rotation] speed %-number%] [[and] max[imum] [head] pitch %-number%] Description: Forces the mob(s) or player(s) to look at an entity, vector or location. Vanilla max head pitches range from 10 to 50. Examples: force the player to look towards event-entity's feet on entity explosion: set {_player} to the nearest player {_player} is set distance between {_player} and the event-location is less than 15 make {_player} look towards vector from the {_player} to location of the event-entity force {_enderman} to face the block 3 meters above {_location} at head rotation speed 100.5 and max head pitch -40 ## Title - Send Addon: Skript Category: Effect Syntax: send title %object% [with subtitle %-object%] [to %audiences%] [for %-timespan%] [with fade[(-| )]in %-timespan%] [[and] [with] fade[(-| )]out %-timespan%] Description: 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. Examples: 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 ## Play Sound Addon: Skript Category: Effect Syntax: play sound[s] %strings% [[with] seed %-number%] [(in|from) %-soundcategory%] [(at|with) volume %-number%] [(and|at|with) pitch %-number%] (at|on|from) %locations/entities% [(to|for) %-players%] Description: 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. Examples: play sound "block.note_block.pling" play sound "entity.experience_orb.pickup" with volume 0.5 to the player play sound "custom.music.1" in jukebox category at {speakerBlock} play sound "BLOCK_AMETHYST_BLOCK_RESONATE" with seed 1 on target entity for the player ## Exit Addon: Skript Category: Effect Syntax: (exit|stop) [trigger] Description: Exits a given amount of loops and conditionals, or the entire trigger. Examples: loop blocks above the player: loop-block is not air: exit 2 sections set loop-block to water ## Continue Addon: Skript Category: Effect Syntax: continue [this loop|[the] [current] loop] Description: Moves 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. Examples: # 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)" ## Do If Addon: Skript Category: Effect Syntax: <.+> if <.+> Description: Execute an effect if a condition is true. Examples: on join: give a diamond to the player if the player has permission "rank.vip" ## Sort Addon: Skript Category: Effect Syntax: sort %~objects% [in (descending|ascending) order] [(by|based on) <.+>] Description: 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.) Examples: set {_words::*} to "pineapple", "banana", "yoghurt", and "apple" sort {_words::*} # alphabetical sort sort {_words::*} by length of input # shortest to longest sort {_words::*} in descending order by length of input # longest to shortest sort {_words::*} based on {tastiness::%input%} # sort based on custom value ## Transform List Addon: Skript Category: Effect Syntax: (transform|map) %~objects% (using|with) <.+> Description: 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. Examples: 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 ## Change: Set/Add/Remove/Remove All/Delete/Reset Addon: Skript Category: Effect Syntax: (add|give) %objects% to %~objects% Description: 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. Examples: set the player's display name to "%name of player%" set the block above the victim to lava add 2 to the player's health # preferably use 'heal' for this add argument to {blacklist::*} give a diamond pickaxe of efficiency 5 to the player increase the data value of the clicked block by 1 remove 2 pickaxes from the victim subtract 2.5 from {points::%uuid of player%} ## Lightning Addon: Skript Category: Effect Syntax: (create|strike) lightning([ ]effect|) %directions% %locations% Description: Strike lightning at a given location. Can use 'lightning effect' to create a lightning that does not harm entities or start fires. Examples: strike lightning at the player strike lightning effect at the victim ## Make Disturbance Addon: Skript Category: Effect Syntax: make %livingentities% sense [a] disturbance %direction% %location% Description: 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. Examples: make last spawned warden sense a disturbance at location(0, 0, 0) ## Knockback Addon: Skript Category: Effect Syntax: (apply knockback to|knock[back]) %livingentities% [%direction%] [with (strength|force) %-number%] Description: Apply the same velocity as a knockback to living entities in a direction. Mechanics such as knockback resistance will be factored in. Examples: knockback player north knock victim (vector from attacker to victim) with strength 10 ## Wake And Sleep Addon: Skript Category: Effect Syntax: make %livingentities% (start sleeping|[go to] sleep) [%-direction% %-location%] Description: 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. Examples: make {_fox} go to sleep make {_bat} stop sleeping make {_villager} start sleeping at location(0, 0, 0) make player go to sleep at location(0, 0, 0) with force make player wake up without spawn location update ## Dance Addon: Skript Category: Effect Syntax: make %livingentities% (start dancing|dance) [%-direction% %-location%] [for %-timespan%] Description: 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. Examples: if last spawned allay is not dancing: make last spawned allay start dancing if block at location(0, 0, 0) is a jukebox: make all allays dance at location(0, 0, 0) make last spawned piglin start dancing ## Teleport Addon: Skript Category: Effect Syntax: [force] teleport %entities% (to|%direction%) %location% [[while] retaining %-teleportflags%] Description: Teleport an entity to a specific location. This effect is delayed by default on Paper, meaning certain syntax such as the return effect for functions cannot be used after this effect. The keyword 'force' indicates this effect will not be delayed, which may cause lag spikes or server crashes when using this effect to teleport entities to unloaded chunks. Teleport flags are settings to retain during a teleport. Such as direction, passengers, x coordinate, etc. Examples: teleport the player to {home::%uuid of player%} teleport the attacker to the victim on dismount: cancel event teleport the player to {server::spawn} retaining vehicle and passengers ## Drop Addon: Skript Category: Effect Syntax: drop %itemtypes/experiences% [%directions% %locations%] [(without velocity)] Description: Drops one or more items. Examples: on death of creeper: drop 1 TNT ## Explosion Addon: Skript Category: Effect Syntax: [(create|make)] [an] explosion (of|with) (force|strength|power) %number% [%directions% %locations%] [(with fire)] Description: 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. Examples: create an explosion of force 10 at the player create an explosion of force 0 at the victim ## Tree Addon: Skript Category: Effect Syntax: (grow|create|generate) tree [of type %structuretype%] %directions% %locations% Description: 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. Examples: grow a tall redwood tree above the clicked block ## Color Items Addon: Skript Category: Effect Syntax: (dye|colo[u]r|paint) %itemtypes% %color% Description: 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. Examples: dye player's helmet blue color the player's tool red ## Play or Draw an Effect Addon: Skript Category: Effect Syntax: [force] (play|show|draw) %gameeffects/particles% [%-directions% %locations%] [as %-player%] Description: 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! Examples: draw 2 smoke particles at player force draw 10 red dust particles of size 3 for player play blue instant splash potion break effect with a view radius of 10 play ravager attack animation on player's target ## Options Addon: Skript Category: Structure Syntax: options Description: Options are used for replacing parts of a script with something else. For example, an option may represent a message that appears in multiple locations. Take a look at the example below that showcases this. Examples: options: no_permission: You're missing the required permission to execute this command! command /ping: permission: command.ping permission message: {@no_permission} trigger: message "Pong!" command /pong: permission: command.pong permission message: {@no_permission} trigger: message "Ping!" ## Aliases Addon: Skript Category: Structure Syntax: aliases Description: Used for registering custom aliases for a script. Examples: # Example aliases for a script aliases: blacklisted items = TNT, bedrock, obsidian, mob spawner, lava, lava bucket shiny swords = golden sword, iron sword, diamond sword ## Variables Addon: Skript Category: Structure Syntax: variables Description: Used for defining variables present within a script. This section is not required, but it ensures that a variable has a value if it doesn't exist when the script is loaded. Examples: variables: {joins} = 0 {balance::%player%} = 0 on join: add 1 to {joins} message "Your balance is %{balance::%player%}%" ## Auto Reload Addon: Skript Category: Structure Syntax: auto[matically] reload [(this|the) script] Description: Place at the top of a script file to enable and configure automatic reloading of the script. When the script is saved, Skript will automatically reload the script. The config.sk node 'script loader thread size' must be set to a positive number (async or parallel loading) for this to be enabled. available optional nodes: recipients: The players to send reload messages to. Defaults to console. permission: The permission required to receive reload messages. 'recipients' will override this node. Examples: auto reload auto reload: recipients: "SkriptDev", "61699b2e-d327-4a01-9f1e-0ea8c3f06bc6" and "Njol" permission: "skript.reloadnotify" ## Command Addon: Skript Category: Structure Syntax: command <.+> Description: Used for registering custom commands. Examples: command /broadcast : usage: A command for broadcasting a message to all players. permission: skript.command.broadcast permission message: You don't have permission to broadcast messages aliases: /bc executable by: players and console cooldown: 15 seconds cooldown message: You last broadcast a message %elapsed time% ago. You can broadcast another message in %remaining time%. cooldown bypass: skript.command.broadcast.admin cooldown storage: {cooldown::%player%} trigger: broadcast the argument ## Function Addon: Skript Category: Structure Syntax: [local] function <.+> Description: Functions are structures that can be executed with arguments/parameters to run code. They can also return a value to the trigger that is executing the function. Note that local functions come before global functions execution Examples: function sayMessage(message: text): broadcast {_message} # our message argument is available in '{_message}' local function giveApple(amount: number) :: item: return {_amount} of apple function getPoints(p: player) returns number: return {points::%{_p}%} ## Using Experimental Feature Addon: Skript Category: Structure Syntax: using [[the] experiment] <.+> Description: Place at the top of a script file to enable an optional experimental feature. Experimental features may change behavior in Skript and may contain bugs. Use at your own discretion. A list of the available experimental features can be found in the changelog for your version of Skript. Examples: using 1.21 using the experiment my-cool-addon-feature ## Event Addon: Skript Category: Structure Syntax: [on] [uncancelled|cancelled|(any|all)] <.+> [with priority (lowest|low|normal|high|highest|monitor)] Description: The structure used for listening to events. Optionally allows specifying whether to listen to events that have been cancelled, and allows specifying with which priority to listen to events. Events are called in the following order of priorities. ``` lowest -> low -> normal -> high -> highest -> monitor ``` Modifying event-values or cancelling events is not supported when using the 'monitor' priority. It should only be used for monitoring the outcome of an event. Examples: on load: broadcast "loading!" on join: if {first-join::%player's uuid%} is not set: set {first-join::%player's uuid%} to now cancelled block break: send "You can't break that here" to player ## Fishing Lure Applied Addon: Skript Category: Condition Syntax: lure enchantment bonus is (applied|active) Description: Checks if the lure enchantment is applied to the current fishing event. Examples: on fishing line cast: if lure enchantment bonus is applied: cancel event ## Brewing Will Consume Fuel Addon: Skript Category: Condition Syntax: [the] brewing stand will consume [the] fuel Description: Checks if the 'brewing fuel' event will consume fuel. Preventing the fuel from being consumed will keep the fuel item and still add to the fuel level of the brewing stand. Examples: on brewing fuel: if the brewing stand will consume the fuel: prevent the brewing stand from consuming the fuel ## Event Cancelled Addon: Skript Category: Condition Syntax: [the] event is cancel[l]ed Description: Checks whether or not the event is cancelled. Examples: on click: if event is cancelled: broadcast "no clicks allowed!" ## Is Bed/Anchor Spawn Addon: Skript Category: Condition Syntax: [the] respawn location (was|is)[(n'| no)t] [a] (bed|respawn anchor) Description: Checks what the respawn location of a player in the respawn event is. Examples: on respawn: the respawn location is a bed broadcast "%player% is respawning in their bed! So cozy!" ## Will Consume Boosting Firework Addon: Skript Category: Condition Syntax: [the] (boosting|used) firework will be consumed Description: Checks to see if the firework used in an 'elytra boost' event will be consumed. Examples: on elytra boost: if the used firework will be consumed: prevent the used firework from being consumed ## Egg Will Hatch Addon: Skript Category: Condition Syntax: [the] egg (will|will not|won't) hatch Description: Whether the egg will hatch in a Player Egg Throw event. Examples: on player egg throw: if an entity won't hatch: send "Better luck next time!" to the player ## Leash Will Drop Addon: Skript Category: Condition Syntax: [the] (lead|leash) [item] (will|(won't|will not)) (drop|be dropped) Description: Checks whether the leash item will drop during the leash detaching in an unleash event. Examples: on unleash: if the leash will drop: prevent the leash from dropping else: allow the leash to drop ## Damage Source - Was Indirectly Caused Addon: Skript Category: Condition Syntax: %damagesources% (was|were) ([in]directly caused|caused [in]directly) Description: Whether the damage from a damage source was indirectly caused. Vanilla damage sources are considered indirect if the 'causing entity' and the 'direct entity' are not the same. For example, taking damage from an arrow that was shot by an entity. Examples: on damage: if event-damage source was indirectly caused: ## Equippable Component - Will Lose Durability Addon: Skript Category: Condition Syntax: %equippablecomponents% will (lose durability|be damaged) (on [wearer['s]] injury|when [[the] wearer [is]] (hurt|injured|damaged)) Description: Whether an item will be damaged when the wearer gets injured. NOTE: Equippable component elements are experimental. Thus, they are subject to change and may not work as intended. Examples: if {_item} will lose durability when hurt: add "Damageable on injury" to lore of {_item} set {_component} to the equippable component of {_item} if {_component} won't lose durability on injury: make {_component} lose durability when injured ## Has Played Before Addon: Skript Category: Condition Syntax: %offlineplayers% [(has|have|did)] [already] play[ed] [on (this|the) server] (before|already) Description: Checks whether a player has played on this server before. You can also use on first join if you want to make triggers for new players. Examples: player has played on this server before player hasn't played before ## Is Whitelisted Addon: Skript Category: Condition Syntax: [the] server (is|(isn't|is not)) (in white[ ]list mode|white[ ]listed) Description: Whether or not the server or a player is whitelisted, or the server is whitelist enforced. Examples: if the player is whitelisted: if the server is whitelisted: if the server whitelist is enforced: ## Is From A Mob Spawner Addon: Skript Category: Condition Syntax: %entities% (is|are) from a [mob] spawner Description: Checks if an entity was spawned from a mob spawner. Examples: send whether target is from a mob spawner ## Do Respawn Anchors Work Addon: Skript Category: Condition Syntax: respawn anchors [do[(n't| not)]] work in %worlds% Description: Checks whether or not respawn anchors work in a world. Examples: respawn anchors work in world "world_nether" ## Resource Pack Addon: Skript Category: Condition Syntax: [the] resource pack (was|is|has) [been] %resourcepackstate% Description: Checks state of the resource pack in a resource pack request response event. Examples: on resource pack response: if the resource pack wasn't accepted: kick the player due to "You have to install the resource pack to play in this server!" ## Has Item Tooltips Addon: Skript Category: Condition Syntax: [the] [entire|additional] tool[ ]tip[s] of %itemtypes% (is|are) (shown|hidden) Description: Whether the entire or additional tooltip of an item is shown or hidden. The 'entire tooltip' is what shows to the player when they hover an item (i.e. name, lore, etc.). The 'additional tooltip' hides certain information from certain items (potions, maps, books, fireworks, and banners). Examples: send true if entire tooltip of player's tool is shown if additional tooltip of {_item} is hidden: ## Damage Cause Addon: Skript Category: Condition Syntax: [the] damage (was|is|has)(|n('|o)t) [been] (caused|done|made) by %damagecause% Description: Tests what kind of damage caused a damage event. Refer to the Damage Cause type for a list of all possible causes. Examples: # make players use their potions of fire resistance whenever they take any kind of fire damage on damage: damage was caused by lava, fire or burning victim is a player victim has a potion of fire resistance cancel event apply fire resistance to the victim for 30 seconds remove 1 potion of fire resistance from the victim # prevent mobs from dropping items under certain circumstances on death: entity is not a player damage wasn't caused by a block explosion, an attack, a projectile, a potion, fire, burning, thorns or poison clear drops ## Alphanumeric Addon: Skript Category: Condition Syntax: %strings% (is|are) alphanumeric Description: Checks if the given string is alphanumeric. Examples: if the argument is not alphanumeric: send "Invalid name!" ## In The Past/Future Addon: Skript Category: Condition Syntax: %dates% (is|are)[(n't| not)] in the (past|future) Description: Checks whether a date is in the past or future. Note that using the 'now' expression will not be in the past or future when used directly in the condition. Examples: set {_date} to now wait 5 seconds if {_date} is in the past: # this will be true if now is in the future: # this will be false set {_dates::*} to 1 day from now, 12 days from now, and 1 year from now if {_dates::*} are in the future: # this will be true if {_dates::*} have passed: # this will be false ## Is Banned Addon: Skript Category: Condition Syntax: %offlineplayers/strings% (is|are) banned Description: Checks whether a player or IP is banned. Examples: player is banned victim is not IP-banned "127.0.0.1" is banned ## Is Plugin Enabled Addon: Skript Category: Condition Syntax: plugin[s] %strings% (is|are) enabled Description: Check if a plugin is enabled/disabled on the server. Plugin names can be found in the plugin's 'plugin.yml' file or by using the '/plugins' command, they are NOT the name of the plugin's jar file. When checking if a plugin is not enabled, this will return true if the plugin is either disabled or not on the server. When checking if a plugin is disabled, this will return true if the plugin is on the server and is disabled. Examples: if plugin "Vault" is enabled: if plugin "WorldGuard" is not enabled: if plugins "Essentials" and "Vault" are enabled: if plugin "MyBrokenPlugin" is disabled: ## Is Block Redstone Powered Addon: Skript Category: Condition Syntax: %blocks% (is|are) redstone powered Description: Checks if a block is indirectly or directly powered by redstone Examples: if clicked block is redstone powered: send "This block is well-powered by redstone!" if clicked block is indirectly redstone powered: send "This block is indirectly redstone powered." ## Exists/Is Set Addon: Skript Category: Condition Syntax: %~objects% (exist[s]|(is|are) set) Description: Checks whether a given expression or variable is set. Examples: {teams::%player's uuid%::preferred-team} is not set on damage: projectile exists broadcast "%attacker% used a %projectile% to attack %victim%!" ## PvP Addon: Skript Category: Condition Syntax: (is PvP|PvP is) enabled [in %worlds%] Description: Checks the PvP state of a world. Examples: PvP is enabled PvP is disabled in "world" ## Running Minecraft Addon: Skript Category: Condition Syntax: running [(below)] minecraft %string% Description: Checks if current Minecraft version is given version or newer. Examples: running minecraft "1.14" ## Is Custom Name Visible Addon: Skript Category: Condition Syntax: %entities%'[s] custom name[s] (is|are) visible Description: Checks if an entity's custom name is visible. Examples: send true if target's custom name is visible ## Is Script Loaded Addon: Skript Category: Condition Syntax: script[s] [%-strings%] (is|are) loaded Description: Check if the current script, or another script, is currently loaded. Examples: script is loaded script "example.sk" is loaded ## Damage Source - Does Scale With Difficulty Addon: Skript Category: Condition Syntax: %damagesources% ((does|do) scale|scales) damage with difficulty Description: Whether the damage from a damage source scales with the difficulty of the server. Examples: on death: if event-damage source scales damage with difficulty: ## Is Hand Raised Addon: Skript Category: Condition Syntax: %livingentities%'[s] [main] hand[s] (is|are) raised Description: Checks whether an entity has one or both of their hands raised. Hands are raised when an entity is using an item (eg: blocking, drawing a bow, eating). Examples: on damage of player: if victim's main hand is raised: drop player's tool at player set player's tool to air ## Ignition Process Addon: Skript Category: Condition Syntax: [creeper[s]] %livingentities% ((is|are)|(isn't|is not|aren't|are not)) going to explode Description: Checks if a creeper is going to explode. Examples: if the last spawned creeper is going to explode: loop all players in radius 3 of the last spawned creeper send "RUN!!!" to the loop-player ## Can See Messages Addon: Skript Category: Condition Syntax: %player% can see all messages [in chat] Description: Checks whether a player can see specific message types in chat. Examples: if player can see all messages: send "You can see all messages." if player can only see commands: send "This game doesn't work with commands-only chat." if player can't see any messages: send action bar "Server shutting down in 5 minutes!" ## Is Incendiary Addon: Skript Category: Condition Syntax: %entities% ((is|are) incendiary|cause[s] a[n] (incendiary|fiery) explosion) Description: Checks if an entity will create fire when it explodes. This condition is also usable in an explosion prime event. Examples: on explosion prime: if the explosion is fiery: broadcast "A fiery explosive has been ignited!" ## Chance Addon: Skript Category: Condition Syntax: chance of %number%(\%|) [(fails|failed)] Description: A condition that randomly succeeds or fails. Valid values are between 0% and 100%, or if the percent sign is omitted, between 0 and 1. Examples: chance of 50%: drop a diamond at location(100, 100, 100, "world') chance of {chance}% # {chance} between 0 and 100 chance of {chance} # {chance} between 0 and 1 ## Can Hold Addon: Skript Category: Condition Syntax: %inventories% (can hold|ha(s|ve) [enough] space (for|to hold)) %itemtypes% Description: Tests whether a player or a chest can hold the given item. Examples: block can hold 200 cobblestone player has enough space for 64 feathers ## Has Item Cooldown Addon: Skript Category: Condition Syntax: %players% (has|have) [([an] item|a)] cooldown (on|for) %itemtypes% Description: Checks whether a cooldown is active on the specified item for a specific player. If the provided item has a cooldown group component specified, the cooldown group will take priority. Otherwise, the cooldown of the item material will be used. Examples: if player has player's tool on cooldown: send "You can't use this item right now. Wait %item cooldown of player's tool for player%" ## Has Metadata Addon: Skript Category: Condition Syntax: %metadataholders% (has|have) metadata [(value|tag)[s]] %strings% Description: Checks whether a metadata holder has a metadata tag. Examples: if player has metadata value "healer": ## Time Addon: Skript Category: Condition Syntax: %date% (was|were)( more|(n't| not) less) than %timespan% [ago] Description: Tests whether a given real time was more or less than some time span ago. Examples: command /command-with-cooldown: trigger: {command::%player's uuid%::last-usage} was less than a minute ago: message "Please wait a minute between uses of this command." stop set {command::%player's uuid%::last-usage} to now # ... actual command trigger here ... ## Contains (Property) Addon: Skript Category: Condition Syntax: %objects% contain[s] %objects% Description: Checks whether a type or list contains certain elements. When checking if a list contains a specific element, use '{list::*} contains {x}'. When checking if a single type contains something, use `player's inventory contains {x}`. When checking if many types contain something, use '{inventories::*} contain {x}` or `contents of {inventories::*} contain {x}`. Examples: block contains 20 cobblestone player has 4 flint and 2 iron ingots {list::*} contains 5 names of {list::*} contain "prefix" contents of the inventories of all players contain 1 stick ## Is Spawnable Addon: Skript Category: Condition Syntax: %entitydatas% is spawnable [in [the [world]] %world%] Description: Whether an entity type can be spawned in a world. Any general types such as 'monster, mob, entity, living entity' etc. will never be spawnable. Examples: if a pig is spawnable in world "world": # true if a monster can be spawned in {_world}: # false ## Has Permission Addon: Skript Category: Condition Syntax: %commandsenders% (has|have) [the] permission[s] %strings% Description: Test whether a player has a certain permission. Examples: player has permission "skript.tree" victim has the permission "admin": send "You're attacking an admin!" to attacker ## Can See Addon: Skript Category: Condition Syntax: %entities% (is|are) [visible|invisible] for %players% Description: Checks whether the given players can see the provided entities. Examples: if sender can't see the player-argument: message "who dat?" if the player can see the last spawned entity: message "hello there!" ## Is Using Experimental Feature Addon: Skript Category: Condition Syntax: %script% is using %strings% Description: Checks whether a script is using an experimental feature by name. Examples: the script is using "example feature" on load: if the script is using "example feature": broadcast "You're using an experimental feature!" ## Is Preferred Tool Addon: Skript Category: Condition Syntax: %itemtypes% (is|are) %blocks/blockdatas%'s preferred tool[s] Description: Checks whether an item is the preferred tool for a block. A preferred tool is one that will drop the block's item when used. For example, a wooden pickaxe is a preferred tool for grass and stone blocks, but not for iron ore. Examples: on left click: event-block is set if player's tool is the preferred tool for event-block: break event-block naturally using player's tool else: cancel event ## Is Member/Owner of Region Addon: Skript Category: Condition Syntax: %offlineplayers% (is|are) ([a] member|[(the|an)] owner) of [[the] region] %regions% Description: Checks whether a player is a member or owner of a particular region. This condition requires a supported regions plugin to be installed. Examples: on region enter: player is the owner of the region message "Welcome back to %region%!" send "%player% just entered %region%!" to all members of the region ## Is Pressing Key Addon: Skript Category: Condition Syntax: %players% (is|are) pressing %inputkeys% Description: Checks if a player is pressing a certain input key. Examples: on player input: if player is pressing forward movement key: send "You are moving forward!" ## Matches Addon: Skript Category: Condition Syntax: %strings% (match[es]|do[es](n't| not) match) %strings% Description: Checks whether the defined strings match the input regexes (Regular expressions). Examples: on chat: if message partially matches "\d": send "Message contains a digit!" if message doesn't match "[A-Za-z]+": send "Message doesn't only contain letters!" ## Starts/Ends With Addon: Skript Category: Condition Syntax: %strings% (start|end)[s] with %strings% Description: Checks if a text starts or ends with another. Examples: if the argument starts with "test" or "debug": send "Stop!" ## Has Line of Sight Addon: Skript Category: Condition Syntax: %livingentities% (has|have) [a] [direct] line of sight to %entities/locations% Description: Checks whether living entities have an unobstructed line of sight to other entities or locations. Examples: player has direct line of sight to location 5 blocks to the right of player victim has line of sight to attacker player has no line of sight to location 100 blocks in front of player ## Is Holding Addon: Skript Category: Condition Syntax: [%livingentities%] ha(s|ve) %itemtypes% in [main] hand Description: Checks whether a player is holding a specific item. Cannot be used with endermen, use 'entity is [not] an enderman holding <item type>' instead. Examples: player is holding a stick victim isn't holding a diamond sword of sharpness ## Is Evenly Divisible By Addon: Skript Category: Condition Syntax: %numbers% (is|are) evenly divisible by %number% [with [a] tolerance [of] %-number%] Description: Checks if a number is evenly divisible by another number. An optional tolerance can be provided to counteract floating point error. The default tolerance is 1e-10. Any input smaller than the tolerance is considered to be 0. This means divisors that are too small will always return false, and dividends that are too small will always return true. Examples: if 5 is evenly divisible by 5: if 11 cannot be evenly divided by 10: if 0.3 can be evenly divided by 0.1 with a tolerance of 0.0000001: ## Is Within Addon: Skript Category: Condition Syntax: %locations% (is|are) within %location% and %location% Description: Whether a location is within something else. The "something" can be a block, an entity, a chunk, a world, or a cuboid formed by two other locations. Note that using the is between condition will refer to a straight line between locations, while this condition will refer to the cuboid between locations. Examples: if player's location is within {_loc1} and {_loc2}: send "You are in a PvP zone!" to player if player is in world("world"): send "You are in the overworld!" to player if attacker's location is inside of victim: cancel event send "Back up!" to attacker and victim ## Region Contains Addon: Skript Category: Condition Syntax: [[the] region] %regions% contain[s] %directions% %locations% Description: Checks whether a location is contained in a particular region. This condition requires a supported regions plugin to be installed. Examples: player is in the region {regions::3} on region enter: region contains {flags.%world%.red} message "The red flag is near!" ## Is Loaded Addon: Skript Category: Condition Syntax: chunk[s] %directions% [%locations%] (is|are)[(n't| not)] loaded Description: Checks whether a world, chunk or script is loaded. 'chunk at 1, 1' uses chunk coordinates, which are location coords divided by 16. Examples: if chunk at {home::%player's uuid%} is loaded: if chunk 1, 10 in world "world" is loaded: if world("lobby") is loaded: if script named "MyScript.sk" is loaded: ## Can Build Addon: Skript Category: Condition Syntax: %players% (can|(is|are) allowed to) build %directions% %locations% Description: Tests whether a player is allowed to build at a certain location. This condition requires a supported regions plugin to be installed. Examples: command /setblock : description: set the block at your crosshair to a different type trigger: player cannot build at the targeted block: message "You do not have permission to change blocks there!" stop set the targeted block to argument ## Is Swimming Addon: Skript Category: Condition Syntax: %livingentities% (is|are) swimming Description: Checks whether a living entity is swimming. Examples: player is swimming ## Is Climbing Addon: Skript Category: Condition Syntax: %livingentities% (is|are) climbing Description: Whether a living entity is climbing, such as a spider up a wall or a player on a ladder. Examples: spawn a spider at location of spawn wait a second if the last spawned spider is climbing: message "The spider is now climbing!" ## Is Invulnerable Addon: Skript Category: Condition Syntax: %entities/gamemodes% (is|are) (invulnerable|invincible) Description: Checks whether an entity or a gamemode is invulnerable. For gamemodes, Paper and Minecraft 1.20.6 are required Examples: target entity is invulnerable loop all gamemodes: if loop-value is not invulnerable: broadcast "the gamemode %loop-value% is vulnerable!" ## Is Baby Addon: Skript Category: Condition Syntax: %livingentities% (is|are) a (child|baby) Description: Checks whether or not a living entity is a baby. Examples: on drink: event-entity is a baby kill event-entity ## Is Fire Resistant Addon: Skript Category: Condition Syntax: %itemtypes% (is|are) (fire resistant|resistant to fire) Description: Checks whether an item is fire resistant. Examples: if player's tool is fire resistant: if {_items::*} aren't resistant to fire: ## Is Burning Addon: Skript Category: Condition Syntax: %entities% (is|are) (burning|ignited|on fire) Description: Checks whether an entity is on fire, e.g. a zombie due to being in sunlight, or any entity after falling into lava. Examples: # increased attack against burning targets victim is burning: increase damage by 2 ## Is Charged Addon: Skript Category: Condition Syntax: %entities% (is|are) (charged|powered) Description: Checks if a creeper, wither, or wither skull is charged (powered). Examples: if the last spawned creeper is charged: broadcast "A charged creeper is at %location of last spawned creeper%" ## Is Playing Dead Addon: Skript Category: Condition Syntax: %livingentities% (is|are) playing dead Description: Checks to see if an axolotl is playing dead. Examples: if last spawned axolotl is playing dead: make last spawned axolotl stop playing dead ## Has AI Addon: Skript Category: Condition Syntax: %livingentities% (has|have) (ai|artificial intelligence) Description: Checks whether an entity has AI. Examples: target entity has ai ## Is Alive Addon: Skript Category: Condition Syntax: %entities% (is|are) (alive|dead) Description: Checks whether an entity is alive. Works for non-living entities too. Examples: if {villager-buddy::%player's uuid%} is not dead: on shoot: while the projectile is alive: ## Equippable Component - Can Be Sheared Off Addon: Skript Category: Condition Syntax: %equippablecomponents% can be sheared off [of entities] Description: Whether an item can be sheared off of an entity. NOTE: Equippable component elements are experimental. Thus, they are subject to change and may not work as intended. Examples: if {_item} can be sheared off: add "Shearable" to lore of {_item} set {_component} to the equippable component of {_item} if {_component} can not be sheared off: allow {_component} to be sheared off ## Has Glowing Text Addon: Skript Category: Condition Syntax: %blocks/itemtypes% (has|have) glowing text Description: Checks whether a sign (either a block or an item) has glowing text Examples: if target block has glowing text ## Potion Effect - Is Ambient Addon: Skript Category: Condition Syntax: %skriptpotioneffects% (is|are) ambient Description: Checks whether a potion effect is ambient. That is, whether the potion effect produces more, translucent, particles. Examples: on entity potion effect modification: if the potion effect is ambient: message "It's particle time!" ## Equippable Component - Can Swap Equipment Addon: Skript Category: Condition Syntax: %equippablecomponents% can swap equipment [on right click|when right clicked] Description: Whether an item can swap equipment by right clicking with it in your hand. The item will swap places of the set 'equipment slot' of the item. If an equipment slot is not set, defaults to helmet. NOTE: Equippable component elements are experimental. Thus, they are subject to change and may not work aas intended. Examples: if {_item} can swap equipment: add "Swappable" to lore of {_item} set {_component} to the equippable component of {_item} if {_component} can not be equipped when right clicked: make {_component} swappable ## Is Interactable Addon: Skript Category: Condition Syntax: %itemtypes% (is|are) interactable Description: Checks wether or not a block is interactable. Examples: on block break: if event-block is interactable: cancel event send "You cannot break interactable blocks!" ## Is Saddled Addon: Skript Category: Condition Syntax: %livingentities% (is|are) [properly] saddled Description: Checks whether a given entity (horse or steerable) is saddled. If 'properly' is used, this will only return true if the entity is wearing specifically a saddle item. Examples: send whether {_horse} is saddled ## Has Client Weather Addon: Skript Category: Condition Syntax: %players% (has|have) [a] (client|custom) weather [set] Description: Checks whether the given players have a custom client weather Examples: if the player has custom weather: message "Your custom weather is %player's weather%" ## Is Fuel Addon: Skript Category: Condition Syntax: %itemtypes% (is|are) [furnace] fuel Description: Checks whether an item can be used as fuel in a furnace. Examples: on right click on furnace: if player's tool is not fuel: send "Please hold a valid fuel item in your hand" cancel event ## Enderman Has Been Stared At Addon: Skript Category: Condition Syntax: %livingentities% (has|have) been stared at Description: Checks to see if an enderman has been stared at. This will return true as long as the entity that stared at the enderman is still alive. Examples: if last spawned enderman has been stared at: ## Is Empty Addon: Skript Category: Condition Syntax: %objects% (is|are) empty Description: Checks whether something is empty. Examples: player's inventory is empty ## Is Block Addon: Skript Category: Condition Syntax: %itemtypes% (is|are) ([a] block|blocks) Description: Checks whether an item is a block. Examples: player's held item is a block {list::*} are blocks ## Can Despawn Addon: Skript Category: Condition Syntax: %livingentities% can despawn (on chunk unload|when far away) Description: Check if an entity can despawn when the chunk they're located at is unloaded. More information on what and when entities despawn can be found at reference. Examples: if last spawned entity can despawn on chunk unload: make last spawned entity not despawn on chunk unload ## Bell Is Resonating Addon: Skript Category: Condition Syntax: %blocks% (is|are) resonating Description: Checks to see if a bell is currently resonating. A bell will start resonating five game ticks after being rung, and will continue to resonate for 40 game ticks. Examples: target block is resonating ## Is Infinite Addon: Skript Category: Condition Syntax: %potioneffects/timespans% (is|are) infinite Description: Checks whether potion effects or timespans are infinite. Examples: all of the active potion effects of the player are infinite if timespan argument is infinite: ## Potion Effect - Has Particles Addon: Skript Category: Condition Syntax: %skriptpotioneffects% (has|have) particles Description: Checks whether a potion effect has particles. Examples: on entity potion effect modification: if the potion effect has particles: hide the particles of event-potioneffecttype for event-entity ## Can Fly Addon: Skript Category: Condition Syntax: %players% can fly Description: Whether a player is allowed to fly. Examples: player can fly ## Equippable Component - Can Be Dispensed Addon: Skript Category: Condition Syntax: %equippablecomponents% can be dispensed Description: Whether an 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. Examples: if {_item} can be dispensed: add "Dispensable" to lore of {_item} set {_component} to the equippable component of {_item} if {_component} is not able to be dispensed: allow {_component} to be dispensed ## Is Sneaking Addon: Skript Category: Condition Syntax: %players% (is|are) sneaking Description: Checks whether a player is sneaking. Examples: # prevent mobs from seeing sneaking players if they are at least 4 meters apart on target: target is sneaking distance of target and the entity is bigger than 4 cancel the event ## Strider Is Shivering Addon: Skript Category: Condition Syntax: %livingentities% (is|are) shivering Description: Whether a strider is shivering. Examples: if last spawned strider is shivering: make last spawned strider stop shivering ## Is Leashed Addon: Skript Category: Condition Syntax: %livingentities% (is|are) leashed Description: Checks to see if an entity is currently leashed. Examples: target entity is leashed ## Is Eating Addon: Skript Category: Condition Syntax: %livingentities% (is|are) eating Description: Whether a panda or horse type (horse, camel, donkey, llama, mule) is eating. Examples: if last spawned panda is eating: force last spawned panda to stop eating ## Has Custom Model Data Addon: Skript Category: Condition Syntax: %itemtypes% (has|have) [custom] model data [floats|flags|strings|colo[u]rs] Description: Check if an item has a custom model data tag Examples: player's tool has custom model data if player's tool has custom model data flags: loop custom model data flags of player's tool: send "Flag %loop-index%: %loop-value%" set {_coloured} to whether player's tool has model data colours ## Is Screaming Addon: Skript Category: Condition Syntax: %livingentities% (is|are) screaming Description: Check whether a goat or enderman is screaming. Examples: if last spawned goat is not screaming: make last spawned goat scream if {_enderman} is screaming: force {_enderman} to stop screaming ## Entity is Wet Addon: Skript Category: Condition Syntax: %entities% (is|are) wet Description: Checks whether an entity is wet or not (in water, rain or a bubble column). Examples: if player is wet: ## Entity is in Liquid Addon: Skript Category: Condition Syntax: %entities% (is|are) in (water|lava|[a] bubble[ ]column|rain) Description: Checks whether an entity is in rain, lava, water or a bubble column. Examples: if player is in rain: if player is in water: player is in lava: player is in bubble column ## Is Dancing Addon: Skript Category: Condition Syntax: %livingentities% (is|are) dancing Description: Checks to see if an entity is dancing, such as allays, parrots, or piglins. Examples: if last spawned allay is dancing: broadcast "Dance Party!" ## Goat Has Horns Addon: Skript Category: Condition Syntax: %livingentities% (has|have) ((any|a) horn|[a] left horn[s]|[a] right horn[s]|both horns) Description: Checks to see if a goat has or does not have a left, right, or both horns. Examples: if last spawned goat does not have both horns: make last spawned goat have both horns if {_goat} has a right horn: force {_goat} to not have a right horn ## Is Normalized Addon: Skript Category: Condition Syntax: %vectors% (is|are) normalized Description: Checks whether a vector is normalized i.e. length of 1 Examples: vector of player's location is normalized ## Will Despawn Addon: Skript Category: Condition Syntax: %itementities% can (despawn naturally|naturally despawn) Description: Checks if the dropped item will be despawned naturally through Minecraft's timer. Examples: if all dropped items can despawn naturally: prevent all dropped items from naturally despawning ## Bell Is Ringing Addon: Skript Category: Condition Syntax: %blocks% (is|are) ringing Description: Checks to see if a bell is currently ringing. A bell typically rings for 50 game ticks. Examples: target block is ringing ## Panda Is Sneezing Addon: Skript Category: Condition Syntax: %livingentities% (is|are) sneezing Description: Whether a panda is sneezing. Examples: if last spawned panda is sneezing: make last spawned panda stop sneezing ## Is Ticking Addon: Skript Category: Condition Syntax: %entities% (is|are) ticking Description: Checks if an entity is ticking. Examples: send true if target is ticking ## Text Display Visible Through Blocks Addon: Skript Category: Condition Syntax: %displays% (is|are) visible through (blocks|walls) Description: Returns whether text displays can be seen through blocks or not. Examples: if last spawned text display is visible through walls: prevent last spawned text display from being visible through walls ## Allay Can Duplicate Addon: Skript Category: Condition Syntax: %livingentities% can (duplicate|clone) Description: Checks to see if an allay is able to duplicate naturally. Examples: if last spawned allay can duplicate: disallow last spawned to duplicate ## Is Online Addon: Skript Category: Condition Syntax: %offlineplayers% (is|are) (online|offline|connected) Description: Checks whether a player is online. The 'connected' pattern will return false once this player leaves the server, even if they rejoin. Be aware that using the 'connected' pattern with a variable will not have this special behavior. Use the direct event-player or other non-variable expression for best results. Examples: player is online player-argument is offline while player is connected: wait 60 seconds send "hello!" to player ## Is Lootable Addon: Skript Category: Condition Syntax: %blocks/entities% (is|are) lootable Description: Checks whether an entity or block is lootable. Lootables are entities or blocks that can have a loot table. Examples: spawn a pig at event-location set {_pig} to last spawned entity if {_pig} is lootable: set loot table of {_pig} to "minecraft:entities/cow" # the pig will now drop the loot of a cow when killed, because it is indeed a lootable entity. set block at event-location to chest if block at event-location is lootable: set loot table of block at event-location to "minecraft:chests/simple_dungeon" # the chest will now generate the loot of a simple dungeon when opened, because it is indeed a lootable block. set block at event-location to white wool if block at event-location is lootable: # uh oh, nothing will happen because a wool is not a lootable block. ## Is on Ground Addon: Skript Category: Condition Syntax: %entities% (is|are) on [the] ground Description: Checks whether an entity is on ground. Examples: player is not on ground ## Is Adult Addon: Skript Category: Condition Syntax: %livingentities% (is|are) [an] adult Description: Checks whether or not a living entity is an adult. Examples: on drink: event-entity is not an adult kill event-entity ## Is Occluding Addon: Skript Category: Condition Syntax: %itemtypes% (is|are) occluding Description: Checks whether an item is a block and completely blocks vision. Examples: player's tool is occluding ## Is Frozen Addon: Skript Category: Condition Syntax: %entities% (is|are) frozen Description: Checks whether an entity is frozen. Examples: if player is frozen: kill player ## Is Jumping Addon: Skript Category: Condition Syntax: %livingentities% (is|are) jumping Description: Checks whether a living entity is jumping. This condition does not work on players. Examples: on spawn of zombie: while event-entity is not jumping: wait 5 ticks push event-entity upwards ## Lid Is Open/Closed Addon: Skript Category: Condition Syntax: [the] lid[s] of %blocks% (is|are) (open[ed]|close[d]) Description: Check to see whether lidded blocks (chests, shulkers, etc.) are open or closed. Examples: if the lid of {_chest} is closed: open the lid of {_block} ## Item Has Enchantment Glint Override Addon: Skript Category: Condition Syntax: %itemtypes% (has|have) enchantment glint overrid(den|e) Description: Checks whether an item has the enchantment glint overridden, or is forced to glint or not. Examples: if the player's tool has the enchantment glint override send "Your tool has the enchantment glint override." to player if {_item} is forced to glint: send "This item is forced to glint." to player else if {_item} is forced to not glint: send "This item is forced to not glint." to player else: send "This item does not have any glint override." to player ## Text Display Has Drop Shadow Addon: Skript Category: Condition Syntax: [[the] text of] %displays% (has|have) [a] (drop|text) shadow Description: Returns whether the text of a display has drop shadow applied. Examples: if {_display} has drop shadow: remove drop shadow from the text of {_display} ## Is Sprinting Addon: Skript Category: Condition Syntax: %players% (is|are) sprinting Description: Checks whether a player is sprinting. Examples: player is not sprinting ## Panda Is Scared Addon: Skript Category: Condition Syntax: %livingentities% (is|are) scared Description: Whether a panda is scared. Examples: if last spawned panda is scared: ## Left Handed Addon: Skript Category: Condition Syntax: %livingentities% (is|are) (left|right)( |-)handed Description: Checks if living entities or players are left or right-handed. Armor stands are neither right nor left-handed. Examples: on damage of player: if victim is left handed: cancel event ## Can Breed Addon: Skript Category: Condition Syntax: %livingentities% can (breed|be bred) Description: Checks whether or not a living entity can be bred. Examples: on right click on living entity: event-entity can't breed send "Turns out %event-entity% is not breedable. Must be a Skript user!" to player ## Is Charging Fireball Addon: Skript Category: Condition Syntax: %livingentities% (is|are) charging [a] fireball Description: Check whether a ghast is charging a fireball. Examples: if last spawned ghast is charging fireball: kill last spawned ghast ## Can Age Addon: Skript Category: Condition Syntax: %livingentities% can (age|grow (up|old[er])) Description: Checks whether or not an entity will be able to age/grow up. Examples: on breeding: entity can't age broadcast "An immortal has been born!" to player ## Is Valid Addon: Skript Category: Condition Syntax: %entities/scripts% (is|are) valid Description: Checks whether something (an entity, a script, a config, etc.) is valid. An invalid entity may have died or de-spawned for some other reason. An invalid script reference may have been reloaded, moved or disabled since. Examples: if event-entity is valid ## Is Conditional Addon: Skript Category: Condition Syntax: %blocks% (is|are) [un]conditional Description: Checks whether a command block is conditional or not. Examples: if {_block} is conditional: make {_block} unconditional ## Is Poisoned Addon: Skript Category: Condition Syntax: %livingentities% (is|are) poisoned Description: Checks whether an entity is poisoned. Examples: if the player is poisoned: cure the player from poison message "You have been cured!" to the player ## Is Silent Addon: Skript Category: Condition Syntax: %entities% (is|are) silent Description: Checks whether an entity is silent i.e. its sounds are disabled. Examples: target entity is silent ## Beehive Is Sedated Addon: Skript Category: Condition Syntax: %blocks% (is|are) sedated Description: Checks if a beehive is sedated from a nearby campfire. Examples: if {_beehive} is sedated: ## Is Solid Addon: Skript Category: Condition Syntax: %itemtypes% (is|are) solid Description: Checks whether an item is solid. Examples: grass block is solid player's tool isn't solid ## Is Sleeping Addon: Skript Category: Condition Syntax: %livingentities% (is|are) sleeping Description: Checks whether an entity is sleeping. Examples: if player is sleeping: make player wake up without spawn location update if last spawned fox is sleeping: make last spawned fox stop sleeping ## Is Unbreakable Addon: Skript Category: Condition Syntax: %itemtypes% (is|are) [un]breakable Description: Checks whether an item is unbreakable. Examples: if event-item is unbreakable: send "This item is unbreakable!" to player if tool of {_p} is breakable: send "Your tool is breakable!" to {_p} ## Is Persistent Addon: Skript Category: Condition Syntax: %entities/blocks% (is|are) persistent Description: Whether entities, players, or leaves are 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. Examples: on spawn: if event-entity is persistent: make event-entity not persistent ## Is Responsive Addon: Skript Category: Condition Syntax: %entities% (is|are) (responsive|unresponsive) Description: Checks whether an interaction is responsive or not. Responsiveness determines whether clicking the entity will cause the clicker's arm to swing. Examples: if last spawned interaction is responsive: if last spawned interaction is unresponsive: ## Can Pick Up Items Addon: Skript Category: Condition Syntax: %livingentities% can pick([ ]up items| items up) Description: Whether living entities are able to pick up items off the ground or not. Examples: if player can pick items up: send "You can pick up items!" to player on drop: if player can't pick up items: send "Be careful, you won't be able to pick that up!" to player ## Is Tameable Addon: Skript Category: Condition Syntax: %livingentities% (is|are) tameable Description: Check if an entity is tameable. Examples: on damage: if victim is tameable: cancel event ## Is Transparent Addon: Skript Category: Condition Syntax: %itemtypes% (is|are) transparent Description: Checks whether an item is transparent. Note that this condition may not work for all blocks, due to the transparency list used by Spigot not being completely accurate. Examples: player's tool is transparent. ## Is Stackable Addon: Skript Category: Condition Syntax: %itemstacks% (is|are) stackable Description: Checks whether an item is stackable. Examples: diamond axe is stackable birch wood is stackable torch is stackable ## Will Despawn Addon: Skript Category: Condition Syntax: %itementities% will (despawn naturally|naturally despawn) Description: Checks if the dropped item will be despawned naturally through Minecraft's timer. Examples: if all dropped items can despawn naturally: prevent all dropped items from naturally despawning ## Has Loot Table Addon: Skript Category: Condition Syntax: %blocks/entities% (has|have) [a] loot[ ]table Description: Checks whether an entity or block has a loot table. The loot tables of chests will be deleted when the chest is opened or broken. Examples: set event-block to chest if event-block has a loot table: # this will never happen, because it doesn't have a loot table. set loot table of event-block to "minecraft:chests/simple_dungeon" if event-block has a loot table: # this will happen, because it now has a loot table. ## Has Chat Filtering Addon: Skript Category: Condition Syntax: %players% (has|have) (chat|text) filtering (on|enabled) Description: Checks whether a player has chat filtering enabled. Examples: if player doesn't have chat filtering enabled: send "This server may contain mature chat messages. You have been warned!" to player ## Potion Effect Type - Is Instant Addon: Skript Category: Condition Syntax: %potioneffecttypes% (is|are) instant Description: Checks whether a potion effect type is instant. That is, whether the effect happens once/immediately. Examples: if any of the potion effects of the player's tool are instant: message "Use your tool for immediate benefits!" ## Entity Storage Is Full Addon: Skript Category: Condition Syntax: [the] entity storage of %blocks% (is|are) full Description: Checks to see if the an entity block storage (i.e beehive) is full. Examples: if the entity storage of {_beehive} is full: release the entity storage of {_beehive} ## Is Blocking Addon: Skript Category: Condition Syntax: %players% (is|are) (blocking|defending) [with [a] shield] Description: Checks whether a player is blocking with their shield. Examples: on damage of player: victim is blocking damage attacker by 0.5 hearts ## Potion Effect - Has Icon Addon: Skript Category: Condition Syntax: %skriptpotioneffects% (has|have) ([an] icon|icons) Description: Checks whether a potion effect has an icon. Examples: on entity potion effect modification: if the potion effect has an icon: hide the icon of event-potioneffecttype for event-entity ## Is Riptiding Addon: Skript Category: Condition Syntax: %livingentities% (is|are) riptiding Description: Checks to see if an entity is currently using the Riptide enchantment. Examples: target entity is riptiding ## Entity Is Sheared Addon: Skript Category: Condition Syntax: %livingentities% (is|are) (sheared|shorn) Description: Checks whether entities are sheared. Examples: if targeted entity of player is sheared: send "This entity has nothing left to shear!" to player ## Is Slime Chunk Addon: Skript Category: Condition Syntax: %chunk% (is|are) ([a] slime chunk|slime chunks|slimey) Description: Tests whether a chunk is a so-called slime chunk. Slimes can generally spawn in the swamp biome and in slime chunks. For more info, see the Minecraft wiki. Examples: command /slimey: trigger: if chunk at player is a slime chunk: send "Yeah, it is!" else: send "Nope, it isn't" ## Is a Skript command Addon: Skript Category: Condition Syntax: %string% (is|are) [a] s(k|c)ript (command|cmd) Description: Checks whether a command/string is a custom Skript command. Examples: on command: command is a skript command ## Is Edible Addon: Skript Category: Condition Syntax: %itemtypes% (is|are) edible Description: Checks whether an item is edible. Examples: cooked beef is edible player's tool is edible ## Panda Is On Its Back Addon: Skript Category: Condition Syntax: %livingentities% (is|are) on (its|their) back[s] Description: Whether a panda is on its back. Examples: if last spawned panda is on its back: make last spawned panda get off its back ## Equippable Component - Can Equip On Entities Addon: Skript Category: Condition Syntax: %equippablecomponents% can be (equipped|put) on[to] entities Description: Whether 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. Examples: if {_item} can be equipped on entities: ## Is Fish Hook in Open Water Addon: Skript Category: Condition Syntax: %entities% (is|are) in open water[s] Description: Checks whether the fish hook is in open water. Open water is defined by a 5x4x5 area of water, air and lily pads. If in open water, treasure items may be caught. Examples: on fish catch: if fish hook is in open water: send "You will catch a shark soon!" ## Can See Chat Colors Addon: Skript Category: Condition Syntax: %players% can see chat colo[u]r[s|ing] Description: Checks whether a player can see chat colors. Examples: if player can see chat colors: send "Find the red word in this message." else: send "You cannot partake in finding the colored word." ## Is In Love Addon: Skript Category: Condition Syntax: %livingentities% (is|are) in lov(e|ing) [state|mode] Description: Checks whether or not a living entity is in love. Examples: on spawn of living entity: if entity is in love: broadcast "That was quick!" ## Has Resource Pack Addon: Skript Category: Condition Syntax: %players% (has|have) [a] resource pack [(loaded|installed)] Description: Checks whether the given players have a server resource pack loaded. Please note that this can't detect player's own resource pack, only the resource pack that sent by the server. Examples: if the player has a resource pack loaded: ## Is Operator Addon: Skript Category: Condition Syntax: %offlineplayers% (is|are) [[a] server|an] op[erator][s] Description: Checks whether a player is a server operator. Examples: player is an operator ## Is Gliding Addon: Skript Category: Condition Syntax: %livingentities% (is|are) gliding Description: Checks whether a living entity is gliding. Examples: if player is gliding ## Panda Is Rolling Addon: Skript Category: Condition Syntax: %livingentities% (is|are) rolling Description: Whether a panda is rolling. Examples: if last spawned panda is rolling: make last spawned panda stop rolling ## Camel Is Dashing Addon: Skript Category: Condition Syntax: %livingentities% (is|are) dashing Description: Checks whether a camel is currently using its dash ability. Examples: if last spawned camel is dashing: kill last spawned camel ## Is Invisible Addon: Skript Category: Condition Syntax: %livingentities% (is|are) (invisible|visible) Description: Checks whether a living entity is invisible. Examples: target entity is invisible ## Is Tamed Addon: Skript Category: Condition Syntax: %entities% (is|are) (tamed|domesticated) Description: Check if a tameable entity is tamed (horse, parrot, cat, etc.). Examples: send true if {_horse} is tamed tame {_horse} if {_horse} is untamed ## Item Has Enchantment Glint Override Addon: Skript Category: Condition Syntax: %itemtypes% (is|are) forced to [not] glint Description: Checks whether an item has the enchantment glint overridden, or is forced to glint or not. Examples: if the player's tool has the enchantment glint override send "Your tool has the enchantment glint override." to player if {_item} is forced to glint: send "This item is forced to glint." to player else if {_item} is forced to not glint: send "This item is forced to not glint." to player else: send "This item does not have any glint override." to player ## Is Flying Addon: Skript Category: Condition Syntax: %players% (is|are) flying Description: Checks whether a player is flying. Examples: player is not flying ## Is Passable Addon: Skript Category: Condition Syntax: %blocks% (is|are) passable Description: Checks whether a block is passable. A block is passable if it has no colliding parts that would prevent players from moving through it. Blocks like tall grass, flowers, signs, etc. are passable, but open doors, fence gates, trap doors, etc. are not because they still have parts that can be collided with. Examples: if player's targeted block is passable ## Is Flammable Addon: Skript Category: Condition Syntax: %itemtypes% (is|are) flammable Description: Checks whether an item is flammable. Examples: send whether the tag contents of minecraft tag "planks" are flammable player's tool is flammable ## Is Tagged Addon: Skript Category: Condition Syntax: %itemtypes/entities/entitydatas% (is|are) tagged (as|with) %minecrafttags% Description: Checks whether an item, block, entity, or entitydata is tagged with the given tag. Examples: if player's tool is tagged with minecraft tag "enchantable/sharp_weapon": enchant player's tool with sharpness 1 if all logs are tagged with tag "minecraft:logs" ## Has Persistent Data Tag Addon: Skript Category: Condition Syntax: %objects% (has|have) [persistent] data tag[s] %strings% Description: Checks if the specified objects have persistent data tags with the given keys. Keys should be in the format "namespace:key" or "key". If a namespace is omitted, "minecraft" will be used instead. If a key is invalid, it will be ignored and a warning will be logged. Examples: if player has persistent data tag "koth:capturePoint": add 1 to {points::%{team::%player%}%} if player's tool has persistent data tags "custom:damage" and "custom:owner": if data tag "custom:owner" of player's tool is not player: broadcast "You are not the owner of this tool!" stop if data tag "custom:damage" of player's tool > 10: broadcast "Your tool is heavily damaged!" else: broadcast "Your tool is in good condition." ## Is of Type Addon: Skript Category: Condition Syntax: %itemstacks/entities% (is|are) of type[s] %itemtypes/entitydatas% Description: Checks whether an item or an entity is of the given type. This is mostly useful for variables, as you can use the general 'is' condition otherwise (e.g. 'victim is a creeper'). Examples: tool is of type {selected type} victim is of type {villager type} ## Has Scoreboard Tag Addon: Skript Category: Condition Syntax: %entities% (has|have) [the] score[ ]board tag[s] %strings% Description: Checks whether the given entities has the given scoreboard tags. Examples: if the targeted armor stand has the scoreboard tag "test tag": ## Is Enchanted Addon: Skript Category: Condition Syntax: %itemtypes% (is|are) enchanted [with %-enchantmenttypes% [or ((better|greater|higher|above)|(worse|lesser|lower|below))]] Description: Checks whether an item is enchanted. Enchants must match the exact level by default, unless 'or better' or 'or worse' are used. Examples: tool of the player is enchanted with efficiency 2 if player's helmet or player's boots are enchanted with protection 3 or better: if player's chestplate is enchanted with protection ## Has Potion Effect Addon: Skript Category: Condition Syntax: %livingentities% (has|have) ([any|a[n]] [active] potion effect[s]|[any|a] potion effect[s] active) Description: Checks whether an entity has a potion effect with certain properties. An entity is considered having a potion effect if it has a potion effect with at least the specified properties. For example, if an entity has an 'ambient speed 5' effect, they would be considered as having 'speed 5'. For exact comparisons, consider using the Potion Effect of Entity/Item expression in an 'is' comparison. Examples: if the player has a potion effect of speed: message "You are sonic!" if all players have speed and haste active: broadcast "This server is ready to mine!" ## Is Pathfinding Addon: Skript Category: Condition Syntax: %livingentities% (is|are) pathfinding [to[wards] %-livingentity/location%] Description: Checks whether living entities are pathfinding. Can only be a living entity that is a Mob. Examples: make {_entity} pathfind to {_location} at speed 2 while {_entity} is pathfinding wait a second launch flickering trailing burst firework colored red at location of {_entity} subtract 10 from {defence::tower::health} clear entity within {_entity} ## Is Riding Addon: Skript Category: Condition Syntax: %entities% (is|are) riding [%-entitydatas/entities%] Description: Tests whether an entity is riding any entity, a specific entity type, or a specific entity. Examples: if player is riding: if player is riding an entity: if player is riding a saddled pig: if player is riding last spawned horse: ## Is Wearing Addon: Skript Category: Condition Syntax: %livingentities% (is|are) wearing %itemtypes% Description: Checks whether an entity is wearing some items (usually armor). Examples: player is wearing an iron chestplate and iron leggings target is wearing wolf armor ## Is Within Radius Addon: Skript Category: Condition Syntax: %locations% (is|are) within %number% (block|metre|meter)[s] (around|of) %locations% Description: Checks whether a location is within a certain radius of another location. Examples: on damage: if attacker's location is within 10 blocks around {_spawn}: cancel event send "You can't PVP in spawn." ## Comparison Addon: Skript Category: Condition Syntax: (neither|) %objects% ((is|are)(|(n't| not| neither)) ((greater|more|higher|bigger|larger) than|above)|\>) %objects% Description: A very general condition, it simply compares two values. Usually you can only compare for equality (e.g. block is/isn't of <type>), but some values can also be compared using greater than/less than. In that case you can also test for whether an object is between two others. Note: This is the only element where not all patterns are shown. It has actually another two sets of similar patters, but with (was|were) or will be instead of (is|are) respectively, which check different time states of the first expression. Examples: the clicked block is a stone slab or a double stone slab time in the player's world is greater than 8:00 the creature is not an enderman or an ender dragon ## Unleash Reason Addon: Skript Category: Expression Syntax: [the] unleash[ing] reason Description: The unleash reason in an unleash event. Examples: if the unleash reason is distance: broadcast "The leash was snapped in half." ## On-Screen Kick Message Addon: Skript Category: Expression Syntax: [the] on-screen kick message Description: The kick message that is displayed on a player's screen when they are kicked. Examples: on kick: set the on-screen kick message to "You've been booted!" ## Location Addon: Skript Category: Expression Syntax: [the] [event-](location|position) Description: 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). Examples: 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 ## Reduced Value Addon: Skript Category: Expression Syntax: [the] reduced value Description: Returns the current accumulated/reduced value within a reduce expression. This represents the result of all previous reduction operations. Can only be used inside the reduce expression's operation block. Examples: set {_sum} to {_numbers::*} reduced with [reduced value + input] set {_max} to {_values::*} reduced with [reduced value if reduced value > input else input] set {_combined} to {_items::*} reduced with ("%reduced value%, %input%") ## Initiator Inventory Addon: Skript Category: Expression Syntax: [the] [event-]initiator[( |-)inventory] Description: Returns the initiator inventory in an on inventory item move event. Examples: on inventory item move: holder of event-initiator-inventory is a chest broadcast "Item transport happening at %location at holder of event-initiator-inventory%!" ## Hatching Entity Type Addon: Skript Category: Expression Syntax: [the] hatching entity [type] Description: The type of the entity that will be hatched in a Player Egg Throw event. Examples: on player egg throw: set the hatching entity type to a primed tnt ## All Banned Players/IPs Addon: Skript Category: Expression Syntax: [all [[of] the]|the] banned (players|(ips|ip addresses)) Description: Obtains the list of all banned players or IP addresses. Examples: command /banlist: trigger: send all the banned players ## Source Block Addon: Skript Category: Expression Syntax: [the] source block Description: The source block in a spread event. Examples: on spread: if the source block is a grass block: set the source block to dirt ## Moved blocks Addon: Skript Category: Expression Syntax: [the] moved blocks Description: Blocks which are moved in a piston event. Cannot be used outside of piston events. Examples: the moved blocks ## Breeding Family Addon: Skript Category: Expression Syntax: [the] breeding mother Description: Represents family members within a breeding event. Examples: on breeding: send "When a %breeding mother% and %breeding father% love each other very much, they make a %bred offspring%" to breeder ## Maximum Float Value Addon: Skript Category: Expression Syntax: [the] max[imum] float value Description: A number representing the maximum value of a float number type. Examples: if {_number} >= maximum float value: ## Protocol Version Addon: Skript Category: Expression Syntax: [the] [server] [(sent|required|fake)] protocol version [number] Description: 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). Examples: on server list ping: set the version string to "Version: %minecraft version%" set the protocol version to 0 # 13w41a (1.7) - so the player will see the custom version string almost always ## Picked Item/Block/Entity Addon: Skript Category: Expression Syntax: [the] picked (item|block|entity) Description: The item, block, or entity picked by a player using the pick block key (default middle mouse button). Examples: on player pick item: send "You picked %the picked item%!" to the player ## Quit Message Addon: Skript Category: Expression Syntax: [the] (quit|leave|log[ ]out)( |-)message Description: The message sent to all online players when a player quits the server. Examples: on quit: if {vanish::%player's uuid%} is set: clear the quit message else: set the quit message to "%player% left this server... they will be missed!" ## Kick Message Addon: Skript Category: Expression Syntax: [the] kick( |-)message Description: The message sent to all online players when a player is kicked from server. Examples: on kick: set the kick message to "%player% was booted from the server! They won't be missed..." ## Join Message Addon: Skript Category: Expression Syntax: [the] (join|log[ ]in)( |-)message Description: The message sent to all online players when a player joins the server. Examples: on first join: set the join message to "Welcome %player% to our awesome server!" on join: player has played before set the join message to "Welcome back, %player%!" ## Last Caught Errors Addon: Skript Category: Expression Syntax: [the] last caught [run[ ]time] errors Description: Gets the last caught runtime errors from a 'catch runtime errors' section. Examples: catch runtime errors: set worldborder center of {_border} to location(0, 0, NaN value) if last caught runtime errors contains "Your location can't have a NaN value as one of its components": set worldborder center of {_border} to location(0, 0, 0) ## Final Damage Addon: Skript Category: Expression Syntax: [the] final damage Description: How much damage is done in a damage event, considering all types of damage reduction. Can NOT be changed. Examples: send "%final damage%" to victim ## Mending Repair Amount Addon: Skript Category: Expression Syntax: [the] [mending] repair amount Description: The number of durability points an item is to be repaired in a mending event. Modifying the repair amount will affect how much experience is given to the player after mending. Examples: on item mend: set the mending repair amount to 100 ## Hanging Entity/Remover Addon: Skript Category: Expression Syntax: [the] hanging (entity|remover) Description: Returns the hanging entity or remover in hanging break and place events. Examples: on break of item frame: if item of hanging entity is diamond pickaxe: cancel event if hanging remover is a player: send "You can't break that item frame!" to hanging remover ## Damage Addon: Skript Category: Expression Syntax: [the] damage Description: How much damage is done in a entity/vehicle/item damage events. For entity damage events, possibly ignoring armour, criticals and/or enchantments (remember that in Skript '1' is one full heart, not half a heart). For items, it's the amount of durability damage the item will be taking. Examples: on item damage: event-item is any tool clear damage # unbreakable tools as the damage will be 0 on damage: increase the damage by 2 ## All Scripts Addon: Skript Category: Expression Syntax: [all [of the]|the] scripts [without ([subdirectory] paths|parents)] Description: Returns all of the scripts, or just the enabled or disabled ones. Examples: command /scripts: trigger: send "All Scripts: %scripts%" to player send "Loaded Scripts: %enabled scripts%" to player send "Unloaded Scripts: %disabled scripts%" to player ## Random UUID Addon: Skript Category: Expression Syntax: [a] random uuid Description: Returns a random UUID. Examples: set {_uuid} to random uuid ## Death Message Addon: Skript Category: Expression Syntax: [the] death( |-)message Description: The message sent to all online players when a player dies. Examples: on death of player: set the death message to "%player% died!" ## Worlds Addon: Skript Category: Expression Syntax: [(all [[of] the]|the)] worlds Description: All worlds of the server, useful for looping. Examples: loop all worlds: broadcast "You're in %loop-world%" to loop-world ## All Groups Addon: Skript Category: Expression Syntax: all groups Description: All the groups a player can have. This expression requires Vault and a compatible permissions plugin to be installed. Examples: command /group <text>: trigger: if argument is "list": send "%all groups%" ## Portal Addon: Skript Category: Expression Syntax: [the] portal['s] blocks Description: The blocks associated with a portal in the portal creation event. Examples: on portal creation: loop portal blocks: broadcast "%loop-block% is part of a portal!" ## Enchanting Experience Cost Addon: Skript Category: Expression Syntax: [the] [displayed] ([e]xp[erience]|enchanting) cost Description: The cost of enchanting in an enchant event. This is number that was displayed in the enchantment table, not the actual number of levels removed. Examples: on enchant: send "Cost: %the displayed enchanting cost%" to player ## Parse Error Addon: Skript Category: Expression Syntax: [the] [last] [parse] error Description: 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. Examples: set {var} to line 1 parsed as integer if {var} is not set: parse error is set: message "Line 1 is invalid: %last parse error%" else: message "Please put an integer on line 1!" ## Maximum Integer Value Addon: Skript Category: Expression Syntax: [the] max[imum] integer value Description: A number representing the maximum value of an integer number type. Examples: if {_number} >= maximum integer value: ## Minimum Double Value Addon: Skript Category: Expression Syntax: [the] min[imum] double value Description: A number representing the minimum value of a double number type. Examples: if {_number} <= minimum double value: ## Pi Addon: Skript Category: Expression Syntax: (pi|π) Description: Returns the mathematical constant pi. (approx. 3.1415926535) Examples: set {_tau} to pi * 2 ## Absorbed blocks Addon: Skript Category: Expression Syntax: [the] absorbed blocks Description: The blocks absorbed by a sponge block. Examples: the absorbed blocks ## Sent Command List Addon: Skript Category: Expression Syntax: [the] [sent] [server] command[s] list Description: The commands that will be sent to the player in a send commands to player event. Modifications will affect what commands show up for the player to tab complete. They will not affect what commands the player can actually run. Adding new commands to the list is illegal behavior and will be ignored. Examples: on send command list: set command list to command list where [input does not contain ":"] remove "help" from command list ## New Line Addon: Skript Category: Expression Syntax: nl Description: Returns a line break separator. Examples: send "Hello%nl%Goodbye!" to player ## Chat Message Addon: Skript Category: Expression Syntax: [the] [chat( |-)]message Description: The chat message in a chat event. Examples: on chat: player has permission "admin" set the message to "%message%" ## Message of the Day Addon: Skript Category: Expression Syntax: [the] [default|shown|displayed] (MOTD|message of [the] day) Description: The message of the day in the server list. This can be changed in a server list ping event only. Use 'default MOTD' to obtain the default MOTD set through the server configuration. This cannot be changed. Examples: on server ling ping: set the motd to "Join our server today!" ## Inventory Close Reason Addon: Skript Category: Expression Syntax: [the] inventory clos(e|ing) (reason|cause) Description: The inventory close reason of an inventory close event. Examples: on inventory close: inventory close reason is teleport send "Your inventory closed due to teleporting!" to player ## Consumed Item Addon: Skript Category: Expression Syntax: [the] consumed item Description: Represents the item consumed within an entity shoot bow and item consume event. Examples: on player or skeleton shoot projectile: if the consumed item is an arrow: cancel event send "You're now allowed to shoot your arrows." to shooter on player consume: if the consumed item is cooked porkchop: send "Well aren't you just a little piggy wiggly!" to player if player has scoreboard tag "vegetarian": set the consumed item to a carrot ## Block Addon: Skript Category: Expression Syntax: [the] [event-]block Description: 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'. Examples: block is iron ore set block below to air spawn a creeper above the block ## Whitelist Addon: Skript Category: Expression Syntax: [the] white[ ]list Description: An expression for obtaining and modifying the server's whitelist. Players may be added and removed from the whitelist. The whitelist can be enabled or disabled by setting the whitelist to true or false respectively. Examples: set the whitelist to false add all players to whitelist reset the whitelist ## Free / Max / Total Memory Addon: Skript Category: Expression Syntax: [the] [server] (free|max[imum]|total) (memory|ram) Description: The free, max or total memory of the server in Megabytes. Examples: while player is online: send action bar "Memory left: %free memory%/%max memory%MB" to player wait 5 ticks ## Hatching Number Addon: Skript Category: Expression Syntax: [the] hatching number Description: The number of entities that will be hatched in a Player Egg Throw event. Please note that no more than 127 entities can be hatched at once. Examples: on player egg throw: set the hatching number to 10 ## Version String Addon: Skript Category: Expression Syntax: [the] [shown|custom] version [string|text] Description: 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. Examples: 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%" ## All Operators Addon: Skript Category: Expression Syntax: [all [[of] the]|the] [server] [non(-| )]op[erator]s Description: The list of operators on the server. Examples: set {_ops::*} to all operators ## Transform Reason Addon: Skript Category: Expression Syntax: [the] transform[ing] (cause|reason|type) Description: The transform reason within an entity entity transform event. Examples: on entity transform: transform reason is infection, drowned or frozen ## Chat Recipients Addon: Skript Category: Expression Syntax: [the] [chat( | -)]recipients Description: The recipients of a chat event Examples: chat recipients ## NaN Addon: Skript Category: Expression Syntax: NaN [value] Description: A number representing an undefined value. NaN occurs as a result of illegal math, like dividing 0 by 0. NaN is deliberately not equal to any other number, including itself. Examples: if {_number} is not {_number}: if isNaN({_number}) is true: ## Console Addon: Skript Category: Expression Syntax: [the] (console|server) Description: Represents the server's console which can receive messages and execute commands Examples: execute console command "/stop" send "message to console" to the console ## Maximum Double Value Addon: Skript Category: Expression Syntax: [the] max[imum] double value Description: A number representing the maximum value of a double number type. Examples: if {_number} >= maximum double value: ## Offline players Addon: Skript Category: Expression Syntax: [(all [[of] the]|the)] offline[ ]players Description: All players that have ever joined the server. This includes the players currently online. Examples: send "Size of all players who have joined the server: %size of all offline players%" ## Drops Addon: Skript Category: Expression Syntax: [the] drops Description: This expression only works in death and harvest events. In a death event, will hold 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. Examples: clear drops remove 4 planks from the drops ## Loot Addon: Skript Category: Expression Syntax: [the] loot Description: The loot that will be generated in a 'loot generate' event. Examples: on loot generate: chance of %10 add 64 diamonds to loot send "You hit the jackpot!!" ## Loaded Plugins Addon: Skript Category: Expression Syntax: [(all [[of] the]|the)] [loaded] plugins Description: An expression to obtain a list of the names of the server's loaded plugins. Examples: if the loaded plugins contains "Vault": broadcast "This server uses Vault plugin!" send "Plugins (%size of loaded plugins%): %plugins%" to player ## Enchantment Bonus Addon: Skript Category: Expression Syntax: [the] enchantment bonus Description: The enchantment bonus in an enchant prepare event. This represents the number of bookshelves affecting/surrounding the enchantment table. Examples: on enchant: send "There are %enchantment bonus% bookshelves surrounding this enchantment table!" to player ## Maximum Long Value Addon: Skript Category: Expression Syntax: [the] max[imum] long value Description: A number representing the maximum value of a long number type. Examples: if {_number} >= maximum long value: ## Applied Enchantments Addon: Skript Category: Expression Syntax: [the] applied enchant[ment]s Description: The applied enchantments in an enchant event. Deleting or removing the applied enchantments will prevent the item's enchantment. Examples: on enchant: set the applied enchantments to sharpness 10 and fire aspect 5 ## Infinity Addon: Skript Category: Expression Syntax: positive (infinity|∞) [value] Description: A number representing positive infinity. Examples: if {_number} is infinity: ## Minimum Float Value Addon: Skript Category: Expression Syntax: [the] min[imum] float value Description: A number representing the minimum value of a float number type. Examples: if {_number} <= minimum float value: ## Brewing Results Addon: Skript Category: Expression Syntax: [the] brewing results Description: The resulting items in an 'on brew complete' event. Examples: on brew complete: set {_results::*} to the brewing results ## Attacked Addon: Skript Category: Expression Syntax: [the] (attacked|damaged|victim) [<(.+)>] Description: The victim of a damage event, e.g. when a player attacks a zombie this expression represents the zombie. Examples: on damage: victim is a creeper damage the attacked by 1 heart ## Loop value Addon: Skript Category: Expression Syntax: [the] [current] loop-<.+> Description: Returns the previous, current, or next looped value. Examples: # Countdown loop 10 times: message "%11 - loop-number%" wait a second # Generate a 10x10 floor made of randomly colored wool below the player loop blocks from the block below the player to the block 10 east of the block below the player: loop blocks from the loop-block to the block 10 north of the loop-block: set loop-block-2 to any wool loop {top-balances::*}: loop-iteration <= 10 send "#%loop-iteration% %loop-index% has $%loop-value%" ## Explosion Yield Addon: Skript Category: Expression Syntax: [the] explosion (yield|radius|size) Description: The yield of the explosion in an explosion prime event. This is how big the explosion is. When changing the yield, values less than 0 will be ignored. Read this wiki page for more information Examples: on explosion prime: set the yield of the explosion to 10 ## Tamer Addon: Skript Category: Expression Syntax: [the] tamer Description: The tamer of an entity. Can only be used in entity tame events. You can use 'event-entity' to refer tamed entity itself. Examples: on tame: if the tamer is a player: send "someone tamed something!" to console ## Config Addon: Skript Category: Expression Syntax: [the] [skript] config Description: The Skript config. This can be reloaded, or navigated to retrieve options. Examples: set {_node} to node "language" in the skript config if text value of {_node} is "french": broadcast "Bonjour!" ## Heal Amount Addon: Skript Category: Expression Syntax: [the] heal[ing] amount Description: The amount of health healed in a heal event. Examples: on player healing: increase the heal amount by 2 remove 0.5 from the healing amount ## Minimum Long Value Addon: Skript Category: Expression Syntax: [the] min[imum] long value Description: A number representing the minimum value of a long number type. Examples: if {_number} <= minimum long value: ## Blank Equippable Component Addon: Skript Category: Expression Syntax: a (blank|empty) equippable component Description: Gets a blank equippable component. NOTE: Equippable component elements are experimental. Thus, they are subject to change and may not work as intended. Examples: set {_component} to a blank equippable component: set the camera overlay to "custom_overlay" set the allowed entities to a zombie and a skeleton set the equip sound to "block.note_block.pling" set the equipped model id to "custom_model" set the shear sound to "ui.toast.in" set the equipment slot to chest slot allow event-equippable component to be damage when hurt allow event-equippable component to be dispensed allow event-equippable component to be equipped onto entities allow event-equippable component to be sheared off allow event-equippable component to swap equipment set the equippable component of {_item} to {_component} ## Barter Drops Addon: Skript Category: Expression Syntax: [the] [piglin] barter[ing] drops Description: The items dropped by the piglin in a piglin bartering event. Examples: on piglin barter: if the bartering drops contain a jack o lantern: remove jack o lantern from bartering output broadcast "it's not halloween yet!" ## Projectile Force Addon: Skript Category: Expression Syntax: [the] projectile force Description: Returns the force at which a projectile was shot within an entity shoot bow event. Examples: on entity shoot projectile: set the velocity of shooter to vector(0,1,0) * projectile force ## Readied Arrow/Bow Addon: Skript Category: Expression Syntax: [the] (readied|selected|drawn) (arrow|bow) Description: The bow or arrow in a Ready Arrow event. Examples: on player ready arrow: selected bow's name is "Spectral Bow" if selected arrow is not a spectral arrow: cancel event ## Now Addon: Skript Category: Expression Syntax: now Description: The current system time of the server. Use time to get the Minecraft time of a world. Examples: broadcast "Current server time: %now%" ## Hostname Addon: Skript Category: Expression Syntax: [the] (host|domain)[ ][name] Description: The hostname used by the connecting player to connect to the server in a connect event. Examples: on connect: hostname is "testers.example.com" send "Welcome back tester!" ## Fertilized Blocks Addon: Skript Category: Expression Syntax: [all] [the] fertilized blocks Description: The blocks fertilized in block fertilize events. Examples: the fertilized blocks ## Barter Input Addon: Skript Category: Expression Syntax: [the] [piglin] barter[ing] input Description: The item picked up by the piglin in a piglin bartering event. Examples: on piglin barter: if the bartering input is a gold ingot: broadcast "my precious..." ## Command Addon: Skript Category: Expression Syntax: [the] (full|complete|whole) command Description: The command that caused an 'on command' event (excluding the leading slash and all arguments) Examples: # 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 ## Minimum Integer Value Addon: Skript Category: Expression Syntax: [the] min[imum] integer value Description: A number representing the minimum value of an integer number type. Examples: if {_number} <= minimum integer value: ## Enchant Item Addon: Skript Category: Expression Syntax: [the] enchant[ed] item Description: The enchant item in an enchant prepare event or enchant event. It can be modified, but enchantments will still be applied in the enchant event. Examples: on enchant: set the enchanted item to a diamond chestplate on enchant prepare: set the enchant item to a wooden sword ## Create WorldBorder Addon: Skript Category: Expression Syntax: a [virtual] world[ ]border Description: Creates a new, unused world border. World borders can be assigned to either worlds or specific players. Borders assigned to worlds apply to all players in that world. Borders assigned to players apply only to those players, and different players can have different borders. Examples: on join: set {_location} to location of player set worldborder of player to a virtual worldborder: set worldborder radius to 25 set world border center of event-worldborder to {_location} on load: set worldborder of world "world" to a worldborder: set worldborder radius of event-worldborder to 200 set worldborder center of event-worldborder to location(0, 64, 0) set worldborder warning distance of event-worldborder to 5 ## Broadcast Message Addon: Skript Category: Expression Syntax: [the] broadcast(-|[ed] )message Description: The message broadcasted in a broadcast event. Examples: on broadcast: set broadcast message to "[BROADCAST] %broadcast message%" ## Attacker Addon: Skript Category: Expression Syntax: [the] (attacker|damager) Description: 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. Examples: on damage: attacker is a player health of attacker is less than or equal to 2 damage victim by 1 heart ## Chat Format Addon: Skript Category: Expression Syntax: [the] (message|chat) format[ting] Description: Can be used to modify the chat format. The sender of a message is represented by [player] or [sender]. The message is represented by [message] or [msg]. Examples: set the chat format to "[player]: [message]" ## Version Addon: Skript Category: Expression Syntax: ([craft]bukkit|minecraft|skript)( |-)version Description: The version of Bukkit, Minecraft or Skript respectively. Examples: message "This server is running Minecraft %minecraft version% on Bukkit %bukkit version%" message "This server is powered by Skript %skript version%" ## Cooldown Time/Remaining Time/Elapsed Time/Last Usage/Bypass Permission Addon: Skript Category: Expression Syntax: [the] remaining [time] [of [the] (cooldown|wait) [(of|for) [the] [current] command]] Description: Only usable in command events. Represents the cooldown time, the remaining time, the elapsed time, the last usage date, or the cooldown bypass permission. Examples: 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%} ## Vectors - Random Vector Addon: Skript Category: Expression Syntax: [a] random vector Description: Creates a random unit vector. Examples: set {_v} to a random vector ## TPS (ticks per second) Addon: Skript Category: Expression Syntax: tps from [the] last ([1] minute|1[ ]m[inute]) Description: Returns the 3 most recent TPS readings, like the /tps command. This expression is only supported on some server software (PaperSpigot). Examples: broadcast "%tps%" ## Hover List Addon: Skript Category: Expression Syntax: [the] [custom] [player|server] (hover|sample) ([message] list|message) Description: 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. Examples: on server list ping: clear the hover list add "&aWelcome to the &6Minecraft &aserver!" to the hover list add "" to the hover list # A blank line add "&cThere are &6%online players count% &conline players!" to the hover list ## Respawn location Addon: Skript Category: Expression Syntax: [the] respawn location Description: The location that a player should respawn at. This is used within the respawn event. Examples: on respawn: set respawn location to {example::spawn} ## Negative Infinity Addon: Skript Category: Expression Syntax: (-|minus |negative )(infinity|∞) [value] Description: A number representing negative infinity. Examples: if {_number} is -infinity: ## Experience Addon: Skript Category: Expression Syntax: [the] (spawned|dropped|) [e]xp[erience] [orb[s]] Description: How much experience was spawned in an experience spawn or block break event. Can be changed. Examples: on experience spawn: add 5 to the spawned experience on break of coal ore: clear dropped experience on break of diamond ore: if tool of player = diamond pickaxe: add 100 to dropped experience ## All commands Addon: Skript Category: Expression Syntax: [(all|the|all [of] the)] [registered] [(script)] commands Description: Returns all registered commands or all script commands. Examples: send "Number of all commands: %size of all commands%" send "Number of all script commands: %size of all script commands%" ## Hotbar Button Addon: Skript Category: Expression Syntax: [the] hotbar button Description: The hotbar button clicked in an inventory click event. Examples: on inventory click: send "You clicked the hotbar button %hotbar button%!" ## Last Loaded Server Icon Addon: Skript Category: Expression Syntax: [the] [last[ly]] loaded server icon Description: Returns the last loaded server icon with the load server icon effect. Examples: set {server-icon} to the last loaded server icon ## All Tags of a Type Addon: Skript Category: Expression Syntax: [all [[of] the]|the] [minecraft|datapack|paper|(custom|skript)] [item|block|entity [type]] tags Description: Returns all the tags. `minecraft tag` will return only the vanilla tags, `datapack tag` will return only datapack-provided tags, `paper tag` will return only Paper's custom tags (if you are running Paper), and `custom tag` will look in the "skript" namespace for custom tags you've registered. You can also filter by tag types using "item", "block", or "entity". Examples: broadcast minecraft tags send paper entity tags broadcast all block tags ## Applied Beacon Effect Addon: Skript Category: Expression Syntax: [the] applied [beacon] effect Description: The type of effect applied by a beacon. Examples: on beacon effect: if the applied effect is primary beacon effect: broadcast "Is Primary" else if applied effect = secondary effect: broadcast "Is Secondary" ## Affected Entities Addon: Skript Category: Expression Syntax: [the] affected entities Description: The affected entities in the area cloud effect event. Examples: 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 ## An Eternity Addon: Skript Category: Expression Syntax: [an] eternity Description: Represents a timespan with an infinite duration. An eternity is also created when arithmetic results in a timespan larger than about 292 million years. Infinite timespans generally follow the rules of infinity, where most math operations do nothing. However, operations that would return NaN with numbers will instead return a timespan of 0 seconds. Note that an eternity will often be treated as the longest duration something supports, rather than a true eternity. Examples: set fire to the player for an eternity ## Me Addon: Skript Category: Expression Syntax: me Description: A 'me' expression that can be used in players' effect commands only. Examples: !heal me !kick myself !give a diamond axe to me ## All Scripts Addon: Skript Category: Expression Syntax: [all [[of] the]|the] scripts Description: Returns all of the scripts, or just the enabled or disabled ones. Examples: command /scripts: trigger: send "All Scripts: %scripts%" to player send "Loaded Scripts: %enabled scripts%" to player send "Unloaded Scripts: %disabled scripts%" to player ## Number of Characters Addon: Skript Category: Expression Syntax: number of upper[ ]case char(acters|s) in %string% Description: The number of uppercase, lowercase, or digit characters in a string. Examples: #Simple Chat Filter on chat: if number of uppercase chars in message / length of message > 0.5 cancel event send "<red>Your message has to many caps!" to player ## Argument Addon: Skript Category: Expression Syntax: [the] last arg[ument] Description: Usable in script commands and command events. Holds the value of an argument given to the command, e.g. if the command "/tell <player> <text>" 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'. Please note that specifying the argument type is only supported in script commands. Examples: 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 ## Shooter Addon: Skript Category: Expression Syntax: [the] shooter [of %projectile%] Description: The shooter of a projectile. Examples: shooter is a skeleton ## Case Text Addon: Skript Category: Expression Syntax: %strings% in (upper|lower)[ ]case Description: Copy of given text in Lowercase, Uppercase, Proper Case, camelCase, PascalCase, Snake_Case, and Kebab-Case Examples: "Oops!" in lowercase # oops! "oops!" in uppercase # OOPS! "hellO i'm steve!" in proper case # HellO I'm Steve! "hellO i'm steve!" in strict proper case # Hello I'm Steve! "spAwn neW boSs ()" in camel case # spAwnNeWBoSs() "spAwn neW boSs ()" in strict camel case # spawnNewBoss() "geneRate ranDom numBer ()" in pascal case # GeneRateRanDomNumBer() "geneRate ranDom numBer ()" in strict pascal case # GenerateRandomNumber() "Hello Player!" in snake case # Hello_Player! "Hello Player!" in lower snake case # hello_player! "Hello Player!" in upper snake case # HELLO_PLAYER! "What is your name?" in kebab case # What-is-your-name? "What is your name?" in lower kebab case # what-is-your-name? "What is your name?" in upper kebab case # WHAT-IS-YOUR-NAME? ## Last Spawned Entity Addon: Skript Category: Expression Syntax: [the] [last[ly]] (spawned|shot) %*entitydata% Description: Holds the entity that was spawned most recently with the spawn effect (section), dropped with the drop effect, shot with the shoot effect or created with the lightning 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. Examples: 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 ## X Times Addon: Skript Category: Expression Syntax: %number% time[s] Description: Integers between 1 and X, used in loops to loop X times. Examples: loop 20 times: broadcast "%21 - loop-number% seconds left.." wait 1 second ## Loop Iteration Addon: Skript Category: Expression Syntax: [the] loop(-| )(counter|iteration)[-%-*number%] Description: Returns the loop's current iteration count (for both normal and while loops). Examples: while player is online: give player 1 stone wait 5 ticks if loop-counter > 30: stop loop loop {top-balances::*}: if loop-iteration <= 10: broadcast "#%loop-iteration% %loop-index% has $%loop-value%" ## Angle Addon: Skript Category: Expression Syntax: %number% [in] deg[ree][s] Description: Represents the passed number value in degrees. If radians is specified, converts the passed value to degrees. This conversion may not be entirely accurate, due to floating point precision. Examples: set {_angle} to 90 degrees {_angle} is 90 # true 180 degrees is pi # true pi radians is 180 degrees # true ## Raw Name Addon: Skript Category: Expression Syntax: (raw|minecraft|vanilla) name[s] of %itemtypes% Description: The raw Minecraft material name of the given item. Note that this is not guaranteed to give same results on all servers. Examples: raw name of tool of player ## World from Name Addon: Skript Category: Expression Syntax: [the] world [(named|with name)] %string% Description: Returns the world from a string. Examples: world named {game::world-name} the world "world" ## Script Addon: Skript Category: Expression Syntax: [the] [current] script Description: The current script, or a script from its (file) name. If the script is enabled or disabled (or reloaded) this reference will become invalid. Therefore, it is recommended to obtain a script reference when needed. Examples: on script load: broadcast "Loaded %the current script%" on script load: set {running::%script%} to true on script unload: set {running::%script%} to false ## Enchantment Offer Addon: Skript Category: Expression Syntax: [all [of]] [the] enchant[ment] offers Description: The enchantment offer in enchant prepare events. Examples: on enchant prepare: send "Your enchantment offers are: %the enchantment offers%" to player ## Clicked Block/Entity/Inventory/Slot Addon: Skript Category: Expression Syntax: [the] (clicked [enchant[ment]] (button|option)|clicked (block|%-*itemtype/entitydata%)|clicked slot|clicked inventory|click (type|action)|inventory action) Description: The clicked block, entity, inventory, inventory slot, inventory click type or inventory action. Examples: 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 ## Vectors - Spherical Shape Addon: Skript Category: Expression Syntax: [a] [new] spherical vector [(from|with)] [radius] %number%, [yaw] %number%(,[ and]| and) [pitch] %number% Description: Forms a 'spherical shaped' vector using yaw and pitch to manipulate the current point. Examples: 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 ## Vectors - Cylindrical Shape Addon: Skript Category: Expression Syntax: [a] [new] cylindrical vector [from|with] [radius] %number%, [yaw] %number%(,[ and]| and) [height] %number% Description: Forms a 'cylindrical shaped' vector using yaw to manipulate the current point. Examples: 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 ## Region Addon: Skript Category: Expression Syntax: [the] [event-]region Description: The region involved in an event. This expression requires a supported regions plugin to be installed. Examples: on region enter: region is {forbidden region} cancel the event ## Teleport Cause Addon: Skript Category: Expression Syntax: [the] teleport (cause|reason|type) Description: The teleport cause within a player teleport event. Examples: on teleport: teleport cause is nether portal, end portal or end gateway cancel event ## Quit Reason Addon: Skript Category: Expression Syntax: [the] (quit|disconnect) (cause|reason) Description: The quit reason as to why a player disconnected in a quit event. Examples: on quit: quit reason was kicked player is banned clear {server::player::%uuid of player%::*} ## Fishing Hook Addon: Skript Category: Expression Syntax: [the] fish[ing] (hook|bobber) Description: The fishing hook in a fishing event. Examples: on fish line cast: wait a second teleport player to fishing hook ## Fishing Approach Angle Addon: Skript Category: Expression Syntax: (min[imum]|max[imum]) fish[ing] approach[ing] angle Description: Returns the angle at which the fish will approach the fishing hook, after the wait time. The angle is in degrees, with 0 being positive Z, 90 being negative X, 180 being negative Z, and 270 being positive X. By default, returns a value between 0 and 360 degrees. Examples: on fish approach: if any: maximum fishing approach angle is bigger than 300.5 degrees min fishing approach angle is smaller than 59.5 degrees then: cancel event ## Heal Reason Addon: Skript Category: Expression Syntax: [the] (regen|health regain|heal[ing]) (reason|cause) Description: The heal reason of a heal event. Examples: on heal: heal reason is satiated send "You ate enough food and gained full health back!" ## Fishing Bite Time Addon: Skript Category: Expression Syntax: fish[ing] bit(e|ing) [wait] time Description: Returns the time it takes a fish to bite the fishing hook, after it started approaching the hook. May return a timespan of 0 seconds. If modifying the value, it should be at least 1 tick. Examples: on fish approach: set fishing bite time to 5 seconds ## Respawn Reason Addon: Skript Category: Expression Syntax: [the] respawn[ing] reason Description: The respawn reason in a respawn event. Examples: on respawn: if respawn reason is end portal: broadcast "%player% took the end portal to the overworld!" ## Experience Cooldown Change Reason Addon: Skript Category: Expression Syntax: [the] (experience|[e]xp) cooldown change (reason|cause|type) Description: The experience change reason within an experience cooldown change event. Examples: on player experience cooldown change: if xp cooldown change reason is plugin: #Changed by a plugin else if xp cooldown change reason is orb pickup: #Changed by picking up xp orb ## Command Sender Addon: Skript Category: Expression Syntax: [the] [command['s]] (sender|executor) Description: The player or the console who sent a command. Mostly useful in commands and command events. If the command sender is a command block, its location can be retrieved by using %block's location% Examples: make the command sender execute "/say hi!" on command: log "%executor% used command /%command% %arguments%" to "commands.log" ## Item Addon: Skript Category: Expression Syntax: [the] item Description: The item involved in an event, e.g. in a drop, dispense, pickup or craft event. Examples: on dispense: item is a clock set the time to 6:00 ## Loot Context Addon: Skript Category: Expression Syntax: [the] loot[ ]context Description: The loot context involved in the context create section. Examples: set {_context} to a new loot context at {_location}: broadcast loot context ## Fishing Hooked Entity Addon: Skript Category: Expression Syntax: [the] hook[ed] entity Description: Returns the hooked entity in the hooked event. Examples: on entity hooked: if hooked entity is a player: teleport hooked entity to player ## The Egg Addon: Skript Category: Expression Syntax: [the] [thrown] egg Description: The egg thrown in a Player Egg Throw event. Examples: spawn an egg at the egg ## Created Damage Source Addon: Skript Category: Expression Syntax: [the] created damage source Description: Get the created damage source being created/modified in a 'custom damage source' section. Examples: set {_source} to a custom damage source: set the damage type of the created damage source to magic ## Damage Cause Addon: Skript Category: Expression Syntax: [the] damage cause Description: The damage cause of a damage event. Please click on the link for more information. Examples: damage cause is lava, fire or burning ## Inventory Action Addon: Skript Category: Expression Syntax: [the] inventory action Description: The inventory action of an inventory event. Please click on the link for more information. Examples: inventory action is pickup all ## Created Potion Effect Addon: Skript Category: Expression Syntax: [the] [created] [potion] effect Description: An expression to obtain the potion effect being made in a potion effect creation section. Examples: set {_potion} to a potion effect of speed 2 for 10 minutes: hide the effect's icon hide the effect's particles ## Spawn Reason Addon: Skript Category: Expression Syntax: [the] spawn[ing] reason Description: The spawn reason in a spawn event. Examples: on spawn: spawn reason is reinforcements or breeding cancel event ## Fishing Wait Time Addon: Skript Category: Expression Syntax: (min[imum]|max[imum]) fish[ing] wait[ing] time Description: Returns the minimum and/or maximum waiting time of the fishing hook. Default minimum value is 5 seconds and maximum is 30 seconds, before lure is applied. Examples: on fishing line cast: set min fish waiting time to 10 seconds set max fishing waiting time to 20 seconds ## Armor Change Item Addon: Skript Category: Expression Syntax: [the] (old|unequipped) armo[u]r item Description: Get the unequipped or equipped armor item from a 'armor change' event. Examples: on armor change broadcast the old armor item ## Exploded Blocks Addon: Skript Category: Expression Syntax: [the] exploded blocks Description: Get all the blocks that were destroyed in an explode event. Supports add/remove/set/clear/delete blocks. Examples: on explode: loop exploded blocks: add loop-block to {exploded::blocks::*} on explode: loop exploded blocks: if loop-block is grass: remove loop-block from exploded blocks on explode: clear exploded blocks ## Input Addon: Skript Category: Expression Syntax: input Description: Represents the input in a filter expression or sort effect. 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. The 'input index' pattern can be used when acting on a variable to access the index of the input. Examples: send "congrats on being staff!" to all players where [input has permission "staff"] sort {_list::*} based on length of input index ## Brewing Stand Slot Addon: Skript Category: Expression Syntax: [the] [brewing stand['s]] (first|1st) bottle slot[s] [of %blocks%] Description: A slot of a brewing stand, i.e. the first, second, or third bottle slot, the fuel slot or the ingredient slot. Examples: set the 1st bottle slot of {_block} to potion of water clear the brewing stand second bottle slot of {_block} ## Game Effects with Data Addon: Skript Category: Expression Syntax: [record] song (of|using) %itemtype% Description: Creates game effects that require some extra information, such as colors, particle counts, or block data. Game effects consist of combinations particles and/or sounds that are used in Minecraft, such as the bone meal particles, the sound of footsteps on a specific block, or the particles and sound of breaking a splash potion. Game effects not present here do not require data and can be found in the Game Effect type. Data requirements vary from version to version, so these docs are only accurate for the most recent Minecraft version at time of release. Examples: play compost success sound effect to player ## Targeted Block Addon: Skript Category: Expression Syntax: [the] [(actual[ly]|exact)] target[ed] block[s] [of %livingentities%] Description: 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 actual target block will regard the actual hit box of the block. Examples: set target block of player to stone set target block of player to oak_stairs[waterlogged=true] break target block of player using player's tool give player 1 of type of target block teleport player to location above target block kill all entities in radius 3 around target block of player set {_block} to actual target block of player break actual target block of player ## Inverse Boolean Addon: Skript Category: Expression Syntax: [the] (inverse|opposite)[s] of %booleans% Description: An expression to obtain the inverse value of a boolean Examples: set {_gravity} to inverse of player's flight mode ## Last Interaction Date Addon: Skript Category: Expression Syntax: [the] last (date|time)[s] [that|when] %entities% (were|was) (attacked|interacted with|clicked [on]) Description: Returns the date of the last attack (left click), or interaction (right click) on an interaction entity Using 'clicked on' will return the latest attack or interaction, whichever was more recent. Examples: if the last time {_interaction} was clicked < 5 seconds ago ## Queue (Experimental) Addon: Skript Category: Expression Syntax: [a] [new] queue [(of|with) %-objects%] Description: Requires the using queues experimental feature flag to be enabled. Creates a new queue. A queue is a set of elements that can have things removed from the start and added to the end. Any value can be added to a queue. Adding a non-existent value (e.g. `{variable that isn't set}`) will have no effect. This means that removing an element from the queue will always return a value unless the queue is empty. Requesting an element from a queue (e.g. `the 1st element of {queue}`) also removes it from the queue. Examples: set {queue} to a new queue add "hello" and "there" to {queue} broadcast the first element of {queue} # hello broadcast the first element of {queue} # there # queue is now empty set {queue} to a new queue of "hello" and "there" broadcast the last element of {queue} # removes 'there' add "world" to {queue} broadcast the first 2 elements of {queue} # removes 'hello', 'world' ## Tags of X Addon: Skript Category: Expression Syntax: [all [[of] the]|the] [minecraft|datapack|paper|(custom|skript)] [item|block|entity [type]] tags of %itemtype/entity/entitydata% Description: Returns all the tags of an item, block, or entity. `minecraft tag` will return only the vanilla tags, `datapack tag` will return only datapack-provided tags, `paper tag` will return only Paper's custom tags (if you are running Paper), and `custom tag` will look in the "skript" namespace for custom tags you've registered. You can also filter by tag types using "item", "block", or "entity". Examples: broadcast minecraft tags of dirt send true if paper item tags of target block contains paper tag "doors" broadcast the block tags of player's tool ## Banner Pattern Item Addon: Skript Category: Expression Syntax: [a[n]] %*bannerpatterntypes% item[s] Description: Gets the item from a banner pattern type. Note that not all banner pattern types have an item. Examples: set {_item} to creeper charged banner pattern item set {_item} to snout banner pattern item set {_item} to thing banner pattern item ## Shuffled List Addon: Skript Category: Expression Syntax: shuffled %objects% Description: Shuffles given list randomly. Examples: set {_list::*} to shuffled {_list::*} ## Loot Table from Key Addon: Skript Category: Expression Syntax: [the] loot[ ]table[s] %strings% Description: Returns the loot table from a namespaced key. Examples: set {_table} to loot table "minecraft:chests/simple_dungeon" ## Items Addon: Skript Category: Expression Syntax: [all [[of] the]|the] block[[ ]type]s Description: Items or blocks of a specific type, useful for looping. Examples: loop tag values of tag "diamond_ores" and tag values of tag "oak_logs": 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 ## Blocks in Region Addon: Skript Category: Expression Syntax: [(all|the)] blocks (in|of) [[the] region[s]] %regions% Description: All blocks in a region. This expression requires a supported regions plugin to be installed. Examples: loop all blocks in the region {arena.%{faction.%player%}%}: clear the loop-block ## Indices of List Addon: Skript Category: Expression Syntax: [(the|all [[of] the])] (indexes|indices) of %~objects% Description: Returns all the indices of a list variable, optionally sorted by their values. To sort the indices, all objects in the list must be comparable; Otherwise, this expression will just return the unsorted indices. Examples: set {l::*} to "some", "cool" and "values" broadcast "%indices of {l::*}%" # result is 1, 2 and 3", " set {_leader-board::first} to 17 set {_leader-board::third} to 30 set {_leader-board::second} to 25 set {_leader-board::fourth} to 42 set {_ascending-indices::*} to sorted indices of {_leader-board::*} in ascending order broadcast "%{_ascending-indices::*}%" #result is first, second, third, fourth set {_descending-indices::*} to sorted indices of {_leader-board::*} in descending order broadcast "%{_descending-indices::*}%" #result is fourth, third, second, first ## Vectors - Normalized Addon: Skript Category: Expression Syntax: normalize[d] %vector% Description: Returns the same vector but with length 1. Examples: set {_v} to normalized {_v} ## Item Component - Copy Addon: Skript Category: Expression Syntax: [the|a[n]] [item] component copy of %itemcomponents% Description: Grab a copy of an item component of an item. Any changes made to the copy will not be present on the item. Examples: set {_component} to the item component copy of (the equippable component of {_item}) ## Reversed List Addon: Skript Category: Expression Syntax: reversed %objects% Description: Reverses given list. Examples: set {_list::*} to reversed {_list::*} ## De-queue Queue (Experimental) Addon: Skript Category: Expression Syntax: (de|un)queued %queue% Description: Requires the using queues experimental feature flag to be enabled. Unrolls a queue into a regular list of values, which can be stored in a list variable. The order of the list will be the same as the order of the elements in the queue. If a list variable is set to this, it will use numerical indices. The original queue will not be changed. Examples: set {queue} to a new queue add "hello" and "there" to {queue} set {list::*} to dequeued {queue} ## Keyed Addon: Skript Category: Expression Syntax: (keyed|indexed) %~objects% Description: This expression is used to explicitly pass the keys of an expression alongside its values. For example, when setting a list variable or passing an expression to a function. Examples: set {_first::foo} to "value1" set {_first::bar} to "value2" set {_second::*} to keyed {_first::*} # {_second::foo} is "value1" and {_second::bar} is "value2" function indices(objects: objects) returns strings: return indices of {_objects::*} on load: set {_list::foo} to "value1" set {_list::bar} to "value2" set {_list::baz} to "value3" broadcast indices({_list::*}) # "1", "2", "3" broadcast indices(keyed {_list::*}) # "foo", "bar", "baz" function plusOne(numbers: numbers) returns numbers: loop {_numbers::*}: set {_numbers::%loop-index%} to loop-value + 1 return {_numbers::*} on load: set {_numbers::foo} to 1 set {_numbers::bar} to 2 set {_numbers::baz} to 3 set {_result::*} to keyed plusOne(keyed {_numbers::*}) # {_result::foo} is 2, {_result::bar} is 3, {_result::baz} is 4 ## Colored/Formatted/Uncolored Addon: Skript Category: Expression Syntax: [(un|non)[-]](colo[u]r-|colo[u]red )%strings% Description: Parses or removes colors and, optionally, chat styles in/from a message. Examples: on chat: set message to colored message # only safe tags, such as colors, will be parsed command /fade : trigger: set the display name of the player-argument to the uncolored display name of the player-argument command /format : trigger: message formatted text-argument # parses all tags, but this is okay as the output is sent back to the executor ## Raw String Addon: Skript Category: Expression Syntax: raw %strings% Description: Returns the string without formatting (colors, decorations, etc.) and without stripping them from it. For example, raw "&aHello There!" would output &aHello There! Examples: send raw "&aThis text is unformatted!" to all players ## Filter Addon: Skript Category: Expression Syntax: %objects% (where|that match) \[<.+>\] Description: 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. Examples: send "congrats on being staff!" to all players where [player input has permission "staff"] loop (all blocks in radius 5 of player) where [block input is not air]: ## Hash Addon: Skript Category: Expression Syntax: %strings% hash[ed] with (MD5|SHA-256|SHA-384|SHA-512) Description: Hashes the given text using the MD5 or SHA algorithms. Each algorithm is suitable for different use cases. These hashing algorithms are not suitable for hashing passwords. If handling passwords, use a hashing algorithm specifically designed for passwords. MD5 is deprecated and may be removed in a future release. It is provided mostly for backwards compatibility, as it is outdated and not secure. SHA is more secure, but is not suitable for hashing passwords (even with salting). When hashing data, you must specify algorithms that will be used for security reasons! Please note that a hash cannot be reversed under normal circumstances. You will not be able to get original value from a hash with Skript. Examples: set {_hash} to "hello world" hashed with SHA-256 ## Tag Addon: Skript Category: Expression Syntax: [minecraft|datapack|paper|(custom|skript)] [item|block|entity [type]] tag %strings% Description: Represents a tag which can be used to classify items, blocks, or entities. Tags are composed of a value and an optional namespace: "minecraft:oak_logs". If you omit the namespace, one will be provided for you, depending on what kind of tag you're using. For example, `tag "doors"` will be the tag "minecraft:doors", while `paper tag "doors"` will be "paper:doors". `minecraft tag` will search through the vanilla tags, `datapack tag` will search for datapack-provided tags (a namespace is required here!), `paper tag` will search for Paper's custom tags if you are running Paper, and `custom tag` will look in the "skript" namespace for custom tags you've registered. You can also filter by tag types using "item", "block", or "entity". Examples: minecraft tag "dirt" # minecraft:dirt paper tag "doors" # paper:doors tag "skript:custom_dirt" # skript:custom_dirt custom tag "dirt" # skript:dirt datapack block tag "dirt" # minecraft:dirt datapack tag "my_pack:custom_dirt" # my_pack:custom_dirt tag "minecraft:mineable/pickaxe" # minecraft:mineable/pickaxe custom item tag "blood_magic_sk/can_sacrifice_with" # skript:blood_magic_sk/can_sacrifice_with ## Plain Item Addon: Skript Category: Expression Syntax: [a[n]] (plain|unmodified) %itemtype% Description: A plain item is an item with no modifications. It can be used to convert items to their default state or to match with other default items. Examples: if the player's tool is a plain diamond: # check if player's tool has no modifications send "You are holding a plain diamond!" ## Damage Source Addon: Skript Category: Expression Syntax: [a] custom damage source [(with|using) [the|a] [damage type [of]] %-damagetype%] Description: Create a custom damage source and change the attributes. When setting a 'causing entity' you must also set a 'direct entity'. Attributes of a damage source cannot be changed once created, only while within the 'custom damage source' section. Examples: set {_source} to a custom damage source: set the damage type to magic set the causing entity to {_player} set the direct entity to {_arrow} set the damage location to location(0, 0, 10) damage all players by 5 using {_source} on damage: if the damage type of event-damage source is magic: set the damage to damage * 2 ## Recursive Addon: Skript Category: Expression Syntax: recursive %~objects% Description: Returns all values of an expression, including those in nested structures such as lists of lists. Examples: on load: set {_data::a::b::c} to "value1" set {_data::a::b::d} to "value2" set {_data::a::e} to "value3" set {_data::f} to "value4" broadcast recursive {_data::*} # broadcasts "value1", "value2", "value3", "value4" broadcast recursive indices of {_data::*} # broadcasts "a::b::c", "a::b::d", "a::e", "f" ## Alphabetical Sort Addon: Skript Category: Expression Syntax: alphabetically sorted %strings% Description: Sorts given strings in alphabetical order. Examples: set {_list::*} to alphabetically sorted {_strings::*} ## Last Interaction Player Addon: Skript Category: Expression Syntax: [the] last player[s] to (attack|interact with|click [on]) %entities% Description: Returns the last player to attack (left click), or interact (right click) with an interaction entity. If 'click on' or 'clicked on' are used, this will return the last player to either attack or interact with the entity whichever was most recent. Examples: kill the last player that attacked the last spawned interaction feed the last player who interacted with {_i} ## Block Sphere Addon: Skript Category: Expression Syntax: [(all [[of] the]|the)] blocks in radius %number% [(of|around) %location%] Description: All blocks in a sphere around a center, mostly useful for looping. Examples: loop blocks in radius 5 around the player: set loop-block to air ## Vectors - Angle Between Addon: Skript Category: Expression Syntax: [the] angle between [[the] vectors] %vector% and %vector% Description: Gets the angle between two vectors. Examples: send "%the angle between vector 1, 0, 0 and vector 0, 1, 1%" ## Entity Attribute Addon: Skript Category: Expression Syntax: [the] %attributetype% [(total|final|modified)] attribute [value] of %entities% Description: The numerical value of an entity's particular attribute. Note that the movement speed attribute cannot be reliably used for players. For that purpose, use the speed expression instead. Resetting an entity's attribute is only available in Minecraft 1.11 and above. Examples: on damage of player: send "You are wounded!" to victim set victim's attack speed attribute to 2 ## Vectors - Vector Projection Addon: Skript Category: Expression Syntax: [vector] projection [of] %vector% on[to] %vector% Description: An expression to get the vector projection of two vectors. Examples: set {_projection} to vector projection of vector(1, 2, 3) onto vector(4, 4, 4) ## Random Addon: Skript Category: Expression Syntax: [a] random %*classinfo% [out] of %objects% Description: Gets a random item out of a set, e.g. a random player out of all players online. Examples: give a diamond to a random player out of all players give a random item out of all items to the player ## Vectors - Cross Product Addon: Skript Category: Expression Syntax: %vector% cross %vector% Description: Gets the cross product between two vectors. Examples: send "%vector 1, 0, 0 cross vector 0, 1, 0%" ## Banner Pattern Addon: Skript Category: Expression Syntax: [a] %bannerpatterntype% colo[u]red %color% Description: Creates a new banner pattern. Examples: set {_pattern} to a creeper banner pattern colored red add {_pattern} to banner patterns of {_banneritem} remove {_pattern} from banner patterns of {_banneritem} set the 1st banner pattern of block at location(0,0,0) to {_pattern} clear the 1st banner pattern of block at location(0,0,0) ## Vectors - Dot Product Addon: Skript Category: Expression Syntax: %vector% dot %vector% Description: Gets the dot product between two vectors. Examples: set {_dot} to {_v1} dot {_v2} ## Default Value Addon: Skript Category: Expression Syntax: %objects% (otherwise|?) %objects% Description: A shorthand expression for giving things a default value. If the first thing isn't set, the second thing will be returned. Examples: broadcast {score::%player's uuid%} otherwise "%player% has no score!" ## Damaged Item Addon: Skript Category: Expression Syntax: %itemtype% with (damage|data) [value] %number% Description: Directly damages an item. In MC versions 1.12.2 and lower, this can be used to apply data values to items/blocks Examples: 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" ## Particle with Offset/Distribution/Velocity Addon: Skript Category: Expression Syntax: %particles% with [an] offset [of] %vector% Description: Applies a specific offset to a particle. Offsets are treated as distributions if particle count is greater than 0. Offsets are treated as velocity or some other special behavior if particle count is 0. Setting distribution/velocity with this method may change the particle count to 1/0 respectively. More detailed information on particle behavior can be found at Paper's particle documentation. Examples: draw an electric spark particle with a velocity of vector(1,2,3) at player draw 12 red dust particles with a distribution of vector(1,2,1) at player's head location ## Item Cooldown Addon: Skript Category: Expression Syntax: [the] [item] cooldown of %itemtypes% for %players% Description: Gets the current cooldown of a provided item for a player. If the provided item has a cooldown group component specified the cooldown of the group will be prioritized. Otherwise the cooldown of the item material will be used. Examples: on right click using stick: set item cooldown of player's tool for player to 1 minute set item cooldown of stone and grass for all players to 20 seconds reset item cooldown of cobblestone and dirt for all players ## Indices of Value Addon: Skript Category: Expression Syntax: [the] [first|last|all] (position[s]|indices|index[es]) of [[the] value] %strings% in %string% Description: Get the first, last or all positions of a character (or text) in another text using 'positions of %texts% in %text%'. Nothing is returned when the value does not occur in the text. Positions range from 1 to the length of the text (inclusive). Using 'indices/positions of %objects% in %objects%', you can get the indices or positions of a list where the value at that index is the provided value. Indices are only supported for keyed expressions (e.g. variable lists) and will return the string indices of the given value. Positions can be used with any list and will return the numerical position of the value in the list, counting up from 1. Additionally, nothing is returned if the value is not found in the list. Whether string comparison is case-sensitive or not can be configured in Skript's config file. Examples: set {_first} to the first position of "@" in the text argument if {_s} contains "abc": set {_s} to the first (position of "abc" in {_s} + 3) characters of {_s} # removes everything after the first "abc" from {_s} set {_list::*} to 1, 2, 3, 1, 2, 3 set {_indices::*} to indices of the value 1 in {_list::*} # {_indices::*} is now "1" and "4" set {_indices::*} to all indices of the value 2 in {_list::*} # {_indices::*} is now "2" and "5" set {_positions::*} to all positions of the value 3 in {_list::*} # {_positions::*} is now 3 and 6 set {_otherlist::bar} to 100 set {_otherlist::hello} to "hi" set {_otherlist::burb} to 100 set {_otherlist::tud} to "hi" set {_otherlist::foo} to 100 set {_indices::*} to the first index of the value 100 in {_otherlist::*} # {_indices::*} is now "bar" set {_indices::*} to the last index of the value 100 in {_otherlist::*} # {_indices::*} is now "foo" set {_positions::*} to all positions of the value 100 in {_otherlist::*} # {_positions::*} is now 1, 3 and 5 set {_positions::*} to all positions of the value "hi" in {_otherlist::*} # {_positions::*} is now 2 and 4 ## Result Addon: Skript Category: Expression Syntax: [the] result[s] of [running|executing] %executable% [with arg[ument]s %-objects%] Description: Runs something (like a function) and returns its result. If the thing is expected to return multiple values, use 'results' instead of 'result'. Examples: set {_function} to the function named "myFunction" set {_result} to the result of {_function} set {_list::*} to the results of {_function} set {_result} to the result of {_function} with arguments 13 and true ## Custom Chest Inventory Addon: Skript Category: Expression Syntax: [a] [new] chest inventory (named|with name) %textcomponent% [with %-number% row[s]] Description: Returns a chest inventory with the given amount of rows and the name. Use the open inventory effect to open it. Examples: open chest inventory with 1 row named "test" to player set {_inventory} to a chest inventory with 1 row set slot 4 of {_inventory} to a diamond named "example" open {_inventory} to player open chest inventory named "<#00ff00>hex coloured title!" with 6 rows to player ## Warden Anger Level Addon: Skript Category: Expression Syntax: [the] anger level [of] %livingentities% towards %livingentities% Description: The anger level a warden feels towards an entity. A warden can be angry towards multiple entities with different anger levels. If an entity reaches an anger level of 80+, the warden will pursue it. Anger level maxes out at 150. Examples: set the anger level of last spawned warden towards player to 20 clear the last spawned warden's anger level towards player ## Difference Addon: Skript Category: Expression Syntax: difference (between|of) %object% and %object% Description: The difference between two values Supported types include numbers, dates and times. Examples: 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!" ## Repeat String Addon: Skript Category: Expression Syntax: %strings% repeated %integer% time[s] Description: Repeats inputted strings a given amount of times. Examples: broadcast nl and nl repeated 200 times broadcast "Hello World " repeated 5 times if "aa" repeated 2 times is "aaaa": broadcast "Ahhhh" repeated 100 times ## Loot of Loot Table Addon: Skript Category: Expression Syntax: [the] loot of %loottables% [(with|using) %-lootcontext%] Description: Returns the items of 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. Examples: set {_items::*} to loot items of the loot table "minecraft:chests/simple_dungeon" with loot context {_context} # this will set {_items::*} to the items that would be dropped from the simple dungeon loot table with the given loot context give player loot items of entity's loot table with loot context {_context} # this will give the player the items that the entity would drop with the given loot context ## Function Addon: Skript Category: Expression Syntax: [the|a] function [named] %string% [(in|from) %-script%] Description: Obtain a function by name, which can be executed. Examples: set {_function} to the function named "myFunction" run {_function} with arguments 13 and true ## Particle with Speed/Extra Value Addon: Skript Category: Expression Syntax: %particles% with ([a] particle speed [value]|[an] extra value) [of] %number% Description: Applies a specific 'speed' or 'extra' value to a particle. This value is used in different ways depending on the particle, but in general it: * acts as the speed at which the particle moves if the particle count is greater than 0. * acts as a multiplier to the particle's offset if the particle count is 0. More detailed information on particle behavior can be found at Paper's particle documentation. Examples: draw an electric spark particle with a particle speed of 0 at player draw 12 red dust particles with an extra value of 0.4 at player's head location ## Characters Between Addon: Skript Category: Expression Syntax: [(all [[of] the]|the)] [alphanumeric] characters (between|from) %string% (and|to) %string% Description: All characters between two given characters, useful for generating random strings. This expression uses the Unicode numerical code of a character to determine which characters are between the two given characters. The ASCII table linked here shows this ordering for the first 256 characters. If you would like only alphanumeric characters you can use the 'alphanumeric' option in the expression. If strings of more than one character are given, only the first character of each is used. Examples: loop characters from "a" to "f": broadcast "%loop-value%" # 0123456789:;<=>?@ABC... ...uvwxyz send characters between "0" and "z" # 0123456789ABC... ...uvwxyz send alphanumeric characters between "0" and "z" ## Except Addon: Skript Category: Expression Syntax: %objects% (except|excluding|not including) %objects% Description: Filter a list by providing objects to be excluded. Examples: spawn zombie at location(0, 0, 0): hide entity from all players except {_player} set {_items::*} to a copper ingot, an iron ingot and a gold ingot set {_except::*} to {_items::*} excluding copper ingot ## Join & Split Addon: Skript Category: Expression Syntax: (concat[enate]|join) %strings% [(with|using|by) [[the] delimiter] %-string%] Description: Joins several texts with a common delimiter (e.g. ", "), or splits a text into multiple texts at a given delimiter. Examples: message "Online players: %join all players' names with "" | ""%" # %all players% would use the default "x, y, and z" set {_s::*} to the string argument split at "," ## Item with Item Flags Addon: Skript Category: Expression Syntax: %itemtypes% with [the] item flag[s] %itemflags% Description: Creates a new item with the specified item flags. Examples: give player diamond sword with item flags hide enchants and hide attributes set {_item} to player's tool with item flag hide additional tooltip give player torch with hide placed on item flag set {_item} to diamond sword with all item flags ## Date Ago/Later Addon: Skript Category: Expression Syntax: %timespan% (ago|in the past|before [the] [date] %-date%) Description: A date the specified timespan before/after another date. Examples: set {_yesterday} to 1 day ago set {_hourAfter} to 1 hour after {someOtherDate} set {_hoursBefore} to 5 hours before {someOtherDate} ## Nearest Entity Addon: Skript Category: Expression Syntax: [the] (nearest|closest) %*entitydatas% [[relative] to %entity/location%] Description: Gets the entity nearest to a location or another entity. Examples: kill the nearest pig and cow relative to player teleport player to the nearest cow relative to player teleport player to the nearest entity relative to player ## Vectors - Vector Between Locations Addon: Skript Category: Expression Syntax: [the] vector (from|between) %location% (to|and) %location% Description: Creates a vector between two locations. Examples: set {_v} to vector between {_loc1} and {_loc2} ## Inventory Slot Addon: Skript Category: Expression Syntax: [the] slot[s] %numbers% of %inventory% Description: Represents a slot in an inventory. It can be used to change the item in an inventory too. Examples: 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 ## Vectors - Vector from Yaw and Pitch Addon: Skript Category: Expression Syntax: [a] [new] vector (from|with) yaw %number% and pitch %number% Description: Creates a vector from a yaw and pitch value. Examples: set {_v} to vector from yaw 45 and pitch 45 ## Gamerule Value Addon: Skript Category: Expression Syntax: [the] gamerule %gamerule% of %worlds% Description: The gamerule value of a world. Examples: set the gamerule commandBlockOutput of world "world" to false ## Ternary Addon: Skript Category: Expression Syntax: %objects% if <.+>[,] (otherwise|else) %objects% Description: A shorthand expression for returning something based on a condition. Examples: set {points} to 500 if {admin::%player's uuid%} is set else 100 ## Block Break Speed Addon: Skript Category: Expression Syntax: [the] break speed[s] [of %blocks%] [for %players%] Description: Gets the speed at which the given player would break this block, taking into account tools, potion effects, whether or not the player is in water, enchantments, etc. The returned value is the amount of progress made in breaking the block each tick. When the total breaking progress reaches 1.0, the block is broken. Note that the break speed can change in the course of breaking a block, e.g. if a potion effect is applied or expires, or the player jumps/enters water. Examples: on left click using diamond pickaxe: event-block is set send "Break Speed: %break speed for player%" to player ## Midpoint Addon: Skript Category: Expression Syntax: [the] mid[-]point (of|between) %object% and %object% Description: Get the midpoint between two vectors or two locations in the same world. Examples: set {_center} to the midpoint between location(0, 0, 0) and location(10, 10, 10) set {_centerBlock} to the block at {_center} set {_midpoint} to the mid-point of vector(20, 10, 5) and vector(3, 6, 9) ## Direction Addon: Skript Category: Expression Syntax: [%-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%] Description: A helper expression for the direction type. Examples: 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 ## Numbers Addon: Skript Category: Expression Syntax: [(all [[of] the]|the)] (numbers|integers|decimals) (between|from) %number% (and|to) %number% Description: 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 also use 'decimals' if you want to use the decimal precision of the start number. You may want to use the 'times' expression instead, for instance 'loop 5 times:' Examples: 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 loop decimals from 3.94 to 4: # loops 3.94, 3.95, 3.96, 3.97, 3.98, 3.99, 4 ## Entity Sound Addon: Skript Category: Expression Syntax: [the] (damage|hurt) sound[s] of %livingentities% Description: Gets the sound that a given entity will make in a specific scenario. Examples: play sound (hurt sound of player) at player set {_sounds::*} to death sounds of (all mobs in radius 10 of player) ## Distance Addon: Skript Category: Expression Syntax: [the] distance between %location% and %location% Description: The distance between two points. Examples: if the distance between the player and {home::%uuid of player%} is smaller than 20: message "You're very close to your home!" ## Substring Addon: Skript Category: Expression Syntax: [the] (part|sub[ ](text|string)) of %strings% (between|from) (ind(ex|ices)|character[s]|) %number% (and|to) (index|character|) %number% Description: Extracts part of a text. You can either get the first <x> characters, the last <x> characters, the character at index <x>, or the characters between indices <x> and <y>. The indices <x> and <y> should be between 1 and the length of the text (other values will be fit into this range). Examples: 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 set {_characters::*} to characters at 1, 2 and 7 in player's display name send the last character of all players' names ## Random Numbers Addon: Skript Category: Expression Syntax: [a|%-integer%] random (integer|number)[s] (from|between) %number% (to|and) %number% Description: A given amount of random numbers or integers 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. Examples: 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 set {_chances::*} to 5 random integers between 5 and 96 set {_decimals::*} to 3 random numbers between 2.7 and -1.5 ## Firework Effect Addon: Skript Category: Expression Syntax: (|flickering|trailing|flickering trailing|trailing flickering) %fireworktype% [firework [effect]] colo[u]red %colors% Description: Represents a 'firework effect' which can be used in the launch firework effect. Examples: launch flickering trailing burst firework colored blue and green at player launch trailing flickering star colored purple, yellow, blue, green and red fading to pink at target entity launch ball large colored red, purple and white fading to light green and black at player's location with duration 1 ## Vectors - Create from XYZ Addon: Skript Category: Expression Syntax: [a] [new] vector [(from|at|to)] %number%,[ ]%number%(,[ ]| and )%number% Description: Creates a vector from x, y and z values. Examples: set {_v} to vector 0, 1, 0 ## Drops Of Block Addon: Skript Category: Expression Syntax: [(all|the|all [of] the)] drops of %blocks% [(using|with) %-itemtype% [(as %-entity%)]] Description: A list of the items that will drop when a block is broken. Examples: on break of block: give drops of block using player's tool to player ## New Potion Effect Addon: Skript Category: Expression Syntax: [a[n]] [ambient] potion effect of %potioneffecttype% [[of tier] %-number%] [for %-timespan%] Description: Create a new potion effect that can be applied to an entity or item type. Examples: set {_potion} to a potion effect of speed 2 for 10 minutes: hide the effect's icon hide the effect's particles add strength 5 to the potion effects of the player's tool apply invisibility to the player for 5 minutes: hide the effect's particles ## Random Character Addon: Skript Category: Expression Syntax: [a|%-integer%] random [alphanumeric] character[s] (from|between) %string% (to|and) %string% Description: One or more random characters between two given characters. Use 'alphanumeric' if you want only alphanumeric characters. This expression uses the Unicode numerical code of a character to determine which characters are between the two given characters. If strings of more than one character are given, only the first character of each is used. Examples: set {_captcha} to join (5 random characters between "a" and "z") with "" send 3 random alphanumeric characters between "0" and "z" ## Location with Yaw/Pitch Addon: Skript Category: Expression Syntax: %locations% with [a] (yaw|pitch) [of] %number% Description: Returns the given locations with the specified yaw and/or pitch. Examples: set {_location} to player's location with yaw 0 and pitch 0 ## Location Addon: Skript Category: Expression Syntax: [the] (location|position) %directions% [%location%] Description: 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). Examples: 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 ## Blocks Addon: Skript Category: Expression Syntax: [(all [[of] the]|the)] blocks %direction% [%locations%] Description: Blocks relative to other blocks or between other blocks. Can be used to get blocks relative to other blocks or for looping. Blocks from/to and between will return a straight line whereas blocks within will return a cuboid. Examples: 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 set all blocks within {loc1} and {loc2} to stone set all blocks within chunk at player to air ## Block Addon: Skript Category: Expression Syntax: [the] block %direction% [%location%] Description: 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'. Examples: block is iron ore set block below to air spawn a creeper above the block ## Vectors - Create Location from Vector Addon: Skript Category: Expression Syntax: %vector% to location in %world% Description: Creates a location from a vector in a world. Examples: set {_loc} to {_v} to location in world "world" set {_loc} to {_v} to location in world "world" with yaw 45 and pitch 90 set {_loc} to location of {_v} in "world" with yaw 45 and pitch 90 ## Chunk Addon: Skript Category: Expression Syntax: [(all [[of] the]|the)] chunk[s] (of|%-directions%) %locations% Description: Returns the chunk of a block, location or entity is in, or a list of the loaded chunks of a world. Examples: add the chunk at the player to {protected chunks::*} set {_chunks::*} to the loaded chunks of the player's world ## Particles with Data Addon: Skript Category: Expression Syntax: [%-*number%|a[n]] %color% effect particle[s] (of|with) power %number% Description: Creates particles that require some extra information, such as colors, locations, or block data. Particles not present here do not require data and can be found in the Particle type. Data requirements vary from version to version, so these docs are only accurate for the most recent Minecraft version at time of release. For example, between 1.21.8 and 1.21.9, the 'flash' particle became colourable and now requires a colour data. Examples: set {blood-effect} to a red dust particle of size 1 draw 3 blue trail particles moving to player's target over 3 seconds at player ## Rotated Quaternion/Vector Addon: Skript Category: Expression Syntax: %quaternions/vectors% rotated around [the] [global] (x|y|z)(-| )axis by %number% Description: Rotates a quaternion or vector 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. Note that rotating a quaternion around a vector results in a rotation around the local vector, so results may not be what you expect. For example, rotating 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. Examples: set {_new} to {_quaternion} rotated around x axis by 10 degrees set {_new} to {_vector} rotated around vector(1, 1, 1) by 45 set {_new} to {_quaternion} rotated by x 45, y 90, z 135 ## Location At Addon: Skript Category: Expression Syntax: [the] (location|position) [at] [\(][x[ ][=[ ]]]%number%, [y[ ][=[ ]]]%number%, [and] [z[ ][=[ ]]]%number%[\)] [[(in|of) [[the] world]] %world%] Description: Allows to create a location from three coordinates and a world. Examples: 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 ## Percent of Addon: Skript Category: Expression Syntax: %number%(\%| percent) of %numbers% Description: Returns a percentage of one or more numbers. Examples: set damage to 10% of victim's health set damage to 125 percent of damage set {_result} to {_percent} percent of 999 set {_result::*} to 10% of {_numbers::*} set experience to 50% of player's total experience ## Furnace Event Items Addon: Skript Category: Expression Syntax: [the] (smelted item|result[ item]) Description: Represents the different items in furnace events. Only 'smelting item' can be changed. Examples: on furnace smelt: broadcast smelted item # Or 'result' on furnace extract: broadcast extracted item on fuel burn: broadcast burned fuel ## Explosion Block Yield Addon: Skript Category: Expression Syntax: [the] [explosion['s]] block (yield|amount) Description: The percentage of exploded blocks dropped in an explosion event. When changing the yield, a value greater than 1 will function the same as using 1. Attempting to change the yield to a value less than 0 will have no effect. Examples: on explode: set the explosion's block yield to 10% ## Server Icon Addon: Skript Category: Expression Syntax: [the] [((default)|(shown|sent))] [server] icon Description: 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. Examples: on script load: set {server-icons::default} to the default server icon ## Max Players Addon: Skript Category: Expression Syntax: [the] [(real|default)|(fake|shown|displayed)] max[imum] player[s] [count|amount|number|size] Description: 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 and can be modified on Paper 1.16 or later. Examples: on server list ping: set the max players count to (online players count + 1) ## Online Player Count Addon: Skript Category: Expression Syntax: [the] [((real|default)|(fake|shown|displayed))] [online] player (count|amount|number) Description: 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 return the real count of online players and can't be changed. Examples: 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 player count + 1) ## Looter of Loot Context Addon: Skript Category: Expression Syntax: [the] (looter|looting player) [of %lootcontexts%] Description: Returns the looter of a loot context. Note that setting the looter will read the looter's tool enchantments (e.g. looting) when generating loot. Examples: set {_killer} to looter of {_context} set {_context} to a loot context at player: set loot luck value to 10 set looter to player set looted entity to last spawned pig ## Hex Code Addon: Skript Category: Expression Syntax: [the] hex[adecimal] code of %colors% Description: Returns the hexadecimal value representing the given color(s). The hex value of a colour does not contain a leading #, just the RRGGBB value. For those looking for hex values of numbers, see the asBase and fromBase functions. Examples: send formatted "<#%hex code of rgb(100, 10, 10)%>darker red" to all players ## Equippable Component - Shear Sound Addon: Skript Category: Expression Syntax: [the] shear[ed [off]] sound [of %equippablecomponents%] Description: The sound to be played when the item is sheared off of an entity. NOTE: Equippable component elements are experimental. Thus, they are subject to change and may not work as intended. Examples: set the shear sound of {_item} to "entity.experience_orb.pickup" set {_component} to the equippable component of {_item} set the shear sound of {_component} to "block.note_block.pling" ## Skull Owner Addon: Skript Category: Expression Syntax: [the] (head|skull) owner of %slots/itemtypes/itemstacks/blocks% Description: The skull owner of a player skull. Examples: set {_owner} to the skull owner of event-block set skull owner of {_block} to "Njol" parsed as offlineplayer set head owner of player's tool to {_player} ## Active Item Use Time Addon: Skript Category: Expression Syntax: [the] [elapsed|remaining] (item|tool) us[ag]e time of %livingentities% Description: Returns the time that the entities have either spent using an item, or the time left for them to finish using an item. If an entity is not using any item, this will return 0 seconds. Examples: on right click: broadcast player's remaining item use time wait 1 second broadcast player's item use time ## Moon Phase Addon: Skript Category: Expression Syntax: [the] (lunar|moon) phase[s] of %worlds% Description: The current moon phase of a world. Examples: if moon phase of player's world is full moon: send "Watch for the wolves!" ## Time Addon: Skript Category: Expression Syntax: [the] time[s] [([with]in|of) %worlds%] Description: The time of a world. Use the "minecraft timespan" syntax to change the time according to Minecraft's time intervals. Since Minecraft uses discrete intervals for time (ticks), changing the time by real-world minutes or real-world seconds only changes it approximately. Removing an amount of time from a world's time will move the clock forward a day. Examples: set time of world "world" to 2:00 add 2 minecraft hours to time of world "world" add 54 real seconds to time of world "world" # approximately 1 minecraft hour ## Rounding Addon: Skript Category: Expression Syntax: [a|the] (round[ed] down|floored) %numbers% Description: Rounds numbers normally, up (ceiling) or down (floor) respectively. Examples: 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 ## Item of an Entity Addon: Skript Category: Expression Syntax: [the] item [inside] of %entities% Description: An item associated with an entity. For dropped item entities, it gets the item that was dropped. For item frames, the item inside the frame is returned. For throwable projectiles (snowballs, enderpearls etc.) or item displays, it gets the displayed item. For arrows, it gets the item that will be picked up when retrieving the arrow. Note that setting the item may not change the displayed model, and that setting a spectral arrow to a non-spectral arrow or vice-versa will not affect the effects of the projectile. Other entities do not have items associated with them. Examples: item of event-entity set the item inside of event-entity to a diamond sword named "Example" ## Item with Tooltip Addon: Skript Category: Expression Syntax: %itemtypes% with[out] [entire|additional] tool[ ]tip[s] Description: Get an item with or without entire/additional tooltip. 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. Examples: set {_item with additional tooltip} to diamond with additional tooltip set {_item without entire tooltip} to diamond without entire tooltip ## Alpha/Red/Green/Blue Color Value Addon: Skript Category: Expression Syntax: [the] (alpha|red|green|blue) (value|component) of %colors% Description: The alpha, red, green, or blue value of colors. Ranges from 0 to 255. Alpha represents opacity. Examples: broadcast red value of rgb(100, 0, 50) # sends '100' set {_red} to red's red value + 10 ## Display Brightness Addon: Skript Category: Expression Syntax: [the] [block|sky] (light [level]|brightness) override[s] of %displays% Description: Returns or changes the brightness override of displays. Unmodified displays will not have a brightness override value set. Resetting or deleting this value will remove the override. Use the 'block' or 'sky' options to get/change specific values or get both values as a list by using neither option. NOTE: setting only one of the sky/block light overrides of a display without an existing override will set both sky and block light to the given value. Make sure to set both block and sky levels to your desired values for the best results. Likewise, you can only clear the brightness override, you cannot clear/reset the sky/block values individually. Examples: set sky light override of the last spawned text display to 7 subtract 3 from the block light level override of the last spawned text display if sky light level override of {_display} is 5: clear brightness override of {_display} ## Middle of Location Addon: Skript Category: Expression Syntax: [the] (middle|center) [point] of %location% Description: Returns the middle/center of a location. In other words, returns the middle of the X, Z coordinates and the floor value of the Y coordinate of a location. Examples: command /stuck: executable by: players trigger: teleport player to the center of player's location send "You're no longer stuck." ## Damage Buffer of World Border Addon: Skript Category: Expression Syntax: [the] world[ ]border damage buffer [of %worldborders%] Description: The amount of blocks a player may safely be outside the border before taking damage. Players only take damage when outside of the world's world border, and the damage buffer distance cannot be less than 0. Examples: set world border damage buffer of {_worldborder} to 10 ## Scoreboard Tags Addon: Skript Category: Expression Syntax: [(all [[of] the]|the)] scoreboard tags of %entities% Description: 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). Examples: 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 ## Damage Value/Durability Addon: Skript Category: Expression Syntax: [the] (damage[s] [value[s]]|durabilit(y|ies)) of %itemtypes/itemstacks/slots% Description: The damage value/durability of an item. Examples: set damage value of player's tool to 10 reset the durability of {_item} set durability of player's held item to 0 ## Damage Source - Damage Location Addon: Skript Category: Expression Syntax: [the] damage location [of %damagesources%] Description: The location where the damage was originated from. The 'damage location' on vanilla damage sources will be set if an entity did not cause the damage. Attributes of a damage source cannot be changed once created, only while within the 'custom damage source' section. Examples: damage all players by 5 using a custom damage source: set the damage type to magic set the causing entity to {_player} set the direct entity to {_arrow} set the damage location to location(0, 0, 10) on death: set {_location} to the damage location of event-damage source ## Level Addon: Skript Category: Expression Syntax: [the] [xp|exp[erience]] level [of %players%] Description: The experience level of a player. Examples: reduce the victim's level by 1 set the player's level to 0 on level change: set {_diff} to future xp level - past exp level broadcast "%player%'s level changed by %{_diff}%!" ## Tag Namespaced Key Addon: Skript Category: Expression Syntax: [the] [namespace[d]] key[s] of %minecrafttags% Description: The namespaced key of a minecraft tag. This takes the form of "namespace:key", e.g. "minecraft:dirt". Examples: broadcast namespaced keys of the tags of player's tool if the key of {_my-tag} is "minecraft:stone": return true ## Max Durability Addon: Skript Category: Expression Syntax: [the] max[imum] (durabilit(y|ies)|damage) of %itemtypes/itemstacks/slots% Description: The maximum durability of an item. Changing requires Minecraft 1.20.5+ Note: 'delete' will remove the max durability from the item (making it a non-damageable item). Delete requires Paper 1.21+ Examples: maximum durability of diamond sword if max durability of player's tool is not 0: # Item is damageable set max durability of player's tool to 5000 add 5 to max durability of player's tool reset max durability of player's tool delete max durability of player's tool ## Beehive Target Flower Addon: Skript Category: Expression Syntax: [the] target flower [of %blocks%] Description: The flower a beehive has selected to pollinate from. Examples: set the target flower of {_beehive} to location(0, 0, 0) clear the target flower of {_beehive} ## Furnace Times Addon: Skript Category: Expression Syntax: [the] [furnace] cook[ing] time [of %blocks%] Description: The cook time, total cook time, and burn time of a furnace. Can be changed.
  • cook time: The amount of time an item has been smelting for.
  • total cook time: The amount of time required to finish smelting an item.
  • burn time: The amount of time left for the current fuel until consumption of another fuel item.
Examples: set the cooking time of {_block} to 10 set the total cooking time of {_block} to 50 set the fuel burning time of {_block} to 100 ## Passenger Addon: Skript Category: Expression Syntax: [the] passenger[s] of %entities% Description: 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 Examples: 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 ## Dropped Item Owner Addon: Skript Category: Expression Syntax: [the] uuid of [the] [dropped] item owner [of %itementities%] Description: The uuid of the owner of the dropped item. Setting the owner of a dropped item means only that entity or player can pick it up. Dropping an item does not automatically make the entity or player the owner. Examples: set the uuid of the dropped item owner of last dropped item to player if the uuid of the dropped item owner of last dropped item is uuid of player: ## Number Of Addon: Skript Category: Expression Syntax: [the] number[s] of %objects% Description: The number of something. Using 'number of {list::*}' will return the length of the list, so if you want the numbers of the things inside the lists, use 'numbers of {list::*}'. Examples: message "There are %number of all players% players online!" ## Unbreakable Items Addon: Skript Category: Expression Syntax: [un]breakable %itemtypes% Description: Creates breakable or unbreakable copies of given items. Examples: set {_item} to unbreakable iron sword give breakable {_weapon} to all players ## Length Addon: Skript Category: Expression Syntax: [the] length of %strings% Description: The length of a text, in number of characters. Examples: set {_l} to length of the string argument ## Custom Model Data Addon: Skript Category: Expression Syntax: [the] [custom] model data of %itemtypes% Description: Get/set the custom model data of an item. Using just `custom model data` will return an integer. Items without model data will return 0. Since 1.21.4, custom model data instead consists of a list of numbers (floats), a list of booleans (flags), a list of strings, and a list of colours. Accessing and modifying these lists can be done type-by-type, or all at once with `complete custom model data`. This is the more accurate and recommended method of using custom model data. Examples: set custom model data of player's tool to 3 set {_model} to custom model data of player's tool set custom model data colours of {_flag} to red, white, and blue add 10.5 to the model data floats of {_flag} set the full custom model data of {_item} to 10, "sword", and rgb(100, 200, 30) ## Warden Most Angered At Addon: Skript Category: Expression Syntax: [the] most angered entity of %livingentities% Description: The entity a warden is most angry at. A warden can be angry towards multiple entities with different anger levels. Examples: if the most angered entity of last spawned warden is not player: set the most angered entity of last spawned warden to player ## Vectors - Squared Length Addon: Skript Category: Expression Syntax: [the] squared length[s] of %vectors% Description: Gets the squared length of a vector. Examples: send "%squared length of vector 1, 2, 3%" ## Tags Contents Addon: Skript Category: Expression Syntax: [the] tag (contents|values) of %minecrafttag% Description: Returns all the values that a tag contains. For item and block tags, this will return items. For entity tags, it will return entity datas (a creeper, a zombie). Examples: broadcast tag values of minecraft tag "dirt" broadcast (first element of player's tool's block tags)'s tag contents ## Simulation Distance Addon: Skript Category: Expression Syntax: [the] simulation distance[s] of %worlds/players% Description: The simulation distance of a world or a player. Simulation distance is the minimum distance in chunks for entities to tick. Simulation distance is capped to the current view distance of the world or player. The view distance is capped between 2 and 32 chunks. Examples: set simulation distance of player to 10 add 50 to the simulation distance of world "world" reset the simulation distance of player clear the simulation distance of world "world" ## Last Damage Cause Addon: Skript Category: Expression Syntax: [the] last damage (cause|reason|type) of %livingentities% Description: Cause of last damage done to an entity Examples: set last damage cause of event-entity to fire tick ## Equippable Component Addon: Skript Category: Expression Syntax: [the] equippable component[s] of %slots/itemtypes% Description: The equippable component of an item. Any changes made to the equippable component will be present on the item. NOTE: Equippable component elements are experimental. Thus, they are subject to change and may not work as intended. Examples: set {_component} to the equippable component of {_item} set the equipment slot of {_component} to helmet slot clear the equippable component of {_item} reset the equippable component of {_item} ## Vectors - Length Addon: Skript Category: Expression Syntax: [the] (vector|standard|normal) length[s] of %vectors% Description: Gets or sets the length of a vector. Examples: 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}%" ## Entity Size Addon: Skript Category: Expression Syntax: [the] entity size of %livingentities% Description: Changes the entity size of slimes and phantoms. This is not the same as changing the scale attribute of an entity. When changing the size of a slime, its health is fully resorted and will have changes done to its max health, movement speed and attack damage. The default minecraft size of a slime is anywhere between 0 and 2, with a maximum of 126. The default minecraft size of a phantom is 0 with a maximum size of 64. Examples: spawn a slime at player: set entity size of event-entity to 5 set name of event-entity to "King Slime Jorg" ## Beacon Range Addon: Skript Category: Expression Syntax: [the] beacon [effect] range of %blocks% Description: The range of a beacon's effects, in blocks. Examples: if the beacon tier of the clicked block is 4: set the beacon effect range of the clicked block to 100 ## Damage Source - Damage Type Addon: Skript Category: Expression Syntax: [the] damage type [of %damagesources%] Description: The type of damage of a damage source. Attributes of a damage source cannot be changed once created, only while within the 'custom damage source' section. Examples: set {_source} to a custom damage source: set the damage type to magic set the causing entity to {_player} set the direct entity to {_arrow} set the damage location to location(0, 0, 10) damage all players by 5 using {_source} on death: set {_type} to the damage type of event-damage source ## Loot Table Addon: Skript Category: Expression Syntax: [the] loot[ ]table[s] of %entities/blocks% Description: Returns the loot table of an entity or block. Setting the loot table of a block will update the block state, and once opened will generate loot of the specified loot table. Please note that doing so may cause warnings in the console due to over-filling the chest. Please note that resetting/deleting the loot table of an ENTITY will reset the entity's loot table to its default. Examples: set loot table of event-entity to "minecraft:entities/ghast" # this will set the loot table of the entity to a ghast's loot table, thus dropping ghast tears and gunpowder set loot table of event-block to "minecraft:chests/simple_dungeon" ## Color of Addon: Skript Category: Expression Syntax: [the] colo[u]r[s] of %blocks/itemtypes/entities/fireworkeffects/potioneffecttypes/displays% Description: The color of an item, entity, block, firework effect, or text display. This can also be used to color chat messages with "<%color of ...%>this text is colored!". Do note that firework effects support setting, adding, removing, resetting, and deleting; text displays support setting and resetting; and items, entities, and blocks only support setting, and only for very few items/blocks. Examples: on click on wool: if event-block is tagged with minecraft tag "wool": message "This wool block is <%color of block%>%color of block%!" set the color of the block to black ## Sea Pickles Addon: Skript Category: Expression Syntax: [the] [(min|max)[imum]] [sea] pickle(s| (count|amount)) of %blocks% Description: An expression to obtain or modify data relating to the pickles of a sea pickle block. Examples: on block break: type of block is sea pickle send "Wow! This stack of sea pickles contained %event-block's sea pickle count% pickles!" send "It could've contained a maximum of %event-block's maximum sea pickle count% pickles!" send "It had to have contained at least %event-block's minimum sea pickle count% pickles!" cancel event set event-block's sea pickle count to event-block's maximum sea pickle count send "This bad boy is going to hold so many pickles now!!" ## Block Sound Addon: Skript Category: Expression Syntax: [the] (break|fall|hit|place|step) sound[s] of %blocks/blockdatas/itemtypes% Description: Gets the sound that a given block, blockdata, or itemtype will use in a specific scenario. This will return a string in the form of "SOUND_EXAMPLE", which can be used in the play sound syntax. Check out this website for a list of sounds in Minecraft, or this one to go to the Sounds wiki page. Examples: play sound (break sound of dirt) at all players set {_sounds::*} to place sounds of dirt, grass block, blue wool and stone ## Villager Level/Experience Addon: Skript Category: Expression Syntax: [the] villager (level|experience) of %livingentities% Description: Represents the level/experience of a villager. The level will determine which trades are available to players (value between 1 and 5, defaults to 1). When a villager's level is 1, they may lose their profession if they don't have a workstation. Experience works along with the leveling system, determining which level the villager will move to. Experience must be greater than or equal to 0. Learn more about villager levels on Minecraft Wiki Examples: set {_level} to villager level of {_villager} set villager level of last spawned villager to 2 add 1 to villager level of target entity remove 1 from villager level of event-entity reset villager level of event-entity set villager experience of last spawned entity to 100 ## Ender Chest Addon: Skript Category: Expression Syntax: [the] ender[ ]chest[s] of %players% Description: The ender chest of a player. Examples: open the player's ender chest to the player ## Projectile Critical State Addon: Skript Category: Expression Syntax: [the] (projectile|arrow) critical (state|ability|mode) of %projectiles% Description: A projectile's critical state. The only currently accepted projectiles are arrows and tridents. Examples: on shoot: event-projectile is an arrow set projectile critical mode of event-projectile to true ## Potion Effects of Entity/Item Addon: Skript Category: Expression Syntax: [the] [active|hidden|(active and hidden|hidden and active)] potion effects of %livingentities/itemtypes% Description: An expression to obtain the active or hidden potion effects of an entity or item. When an entity is affected by a potion effect but already has a weaker version of that effect type, the weaker version becomes hidden. If the weaker version has a longer duration, it returns after the stronger version expires. NOTE: Hidden effects are not able to be changed. NOTE: Clearing the base potion effects of a potion item is not possible. If you wish to do so, just set the item to a water bottle. Examples: set {_effects::*} to the active potion effects of the player clear the player's hidden potion effects add the potion effects of the player to the potion effects of the player's tool reset the potion effects of the player's tool remove speed and night vision from the potion effects of the player ## Warning Distance of World Border Addon: Skript Category: Expression Syntax: [the] world[ ]border warning distance [of %worldborders%] Description: The warning distance of a world border. The player's screen will be tinted red when they are within this distance of the border. Players only see a red tint when approaching a world's worldborder and the warning distance has to be an integer greater than or equal to 0. Examples: set world border warning distance of {_worldborder} to 1 ## Display Shadow Radius/Strength Addon: Skript Category: Expression Syntax: [the] shadow (radius|strength) [of %displays%] Description: Returns or changes the shadow radius/strength of displays. Examples: set shadow radius of the last spawned text display to 1.75 ## Potion Effect - Amplifier Addon: Skript Category: Expression Syntax: [the] ([potion] amplifier|potion tier|potion level)[s] [of %skriptpotioneffects%] Description: An expression to obtain the amplifier of a potion effect. Examples: set the amplifier of {_potion} to 10 add 10 to the amplifier of the player's speed effect ## Display Teleport Duration Addon: Skript Category: Expression Syntax: [the] teleport[ation] duration[s] [of %displays%] Description: The teleport duration of displays is the amount of time it takes to get between locations. 0 means that updates are applied immediately. 1 means that the display entity will move from current position to the updated one over one tick. Higher values spread the movement over multiple ticks. Max of 59 ticks. Examples: set teleport duration of the last spawned text display to 2 ticks teleport last spawned text display to {_location} wait 2 ticks message "display entity has arrived at %{_location}%" ## Time Since/Until Addon: Skript Category: Expression Syntax: [the] time since %dates% Description: The time since a date has passed or the time until a date will pass. This expression will return 0 seconds if the time since or time until would be negative, e.g. if one tries to get the time since a future date. Examples: send "%time since 5 minecraft days ago% has passed since 5 minecraft days ago!" to player send "%time until {countdown::end}% until the game begins!" to player ## Size Addon: Skript Category: Expression Syntax: [the] size[s] of %objects% Description: The size of something. Using 'size of {list::*}' will return the length of the list, so if you want the sizes of the things inside the lists, use 'sizes of {list::*}'. Examples: message "There are %size of all players% players online!" ## Anvil Text Input Addon: Skript Category: Expression Syntax: [the] anvil [inventory] (rename|text) input of %inventories% Description: An expression to get the name to be applied to an item in an anvil inventory. Examples: on inventory click: type of event-inventory is anvil inventory if the anvil text input of the event-inventory is "FREE OP": ban player ## Text Display Line Width Addon: Skript Category: Expression Syntax: [the] line width [of %displays%] Description: Returns or changes the line width of text displays. Default is 200. Examples: set the line width of the last spawned text display to 300 ## Particle Distribution Addon: Skript Category: Expression Syntax: [the] particle distribution of %particles% Description: Determines the normal distribution that particles may be drawn within. The distribution is defined by a vector of x, y, and z standard deviations. Particles will be randomly drawn based on these values, clustering towards the center. 68% of particles will be within 1 standard deviation, 95% within 2, and 99.7% within three. The area the particles will spawn in can be roughly estimated as being within 2 times the standard deviation in each axis. For example, a distribution of 1, 2, and 1 would spawn particles within roughly 2 blocks on the x and z axes, and within 4 blocks on the y axis. Please note that distributions only take effect if the particle count is greater than 0! Particles with counts of 0 do not have distributions. If the particle count is 0, the offset is treated differently depending on the particle. More detailed information on particle behavior can be found at Paper's particle documentation. Examples: set the particle distribution of {_my-particle} to vector(1, 2, 1) ## Arrows Stuck Addon: Skript Category: Expression Syntax: [number of] arrow[s] stuck in %livingentities% Description: The number of arrows stuck in a living entity. Examples: set arrows stuck in player to 5 ## Queue Start/End (Experimental) Addon: Skript Category: Expression Syntax: [the] (start|end) of %queue% Description: Requires the using queues experimental feature flag to be enabled. The first or last element in a queue. Asking for this does not remove the element from the queue. This is designed for use with the add changer: to add or remove elements from the start or the end of the queue. Examples: set {queue} to a new queue add "hello" to {queue} add "foo" to the start of {queue} broadcast the first element of {queue} # foo broadcast the first element of {queue} # hello # queue is now empty ## Tablisted Players Addon: Skript Category: Expression Syntax: [the] (tablist[ed]|listed) players [of %players%] Description: The players shown in the tab lists of the specified players. `delete` will remove all the online players from the tab list. `reset` will reset the tab list to the default state, which makes all players visible again. Examples: tablist players of player ## Experience Pickup Cooldown Addon: Skript Category: Expression Syntax: [the] (experience|[e]xp) [pickup|collection] cooldown of %players% Description: The experience cooldown of a player. Experience cooldown is how long until a player can pick up another orb of experience. The cooldown of a player must be 0 to pick up another orb of experience. Examples: send experience cooldown of player set the xp pickup cooldown of player to 1 hour if exp collection cooldown of player >= 10 minutes: clear the experience pickup cooldown of player ## World Seed Addon: Skript Category: Expression Syntax: [the] seed[s] (from|of) %worlds% Description: The seed of given world. Note that it will be returned as Minecraft internally treats seeds, not as you specified it in world configuration. Examples: broadcast "Seed: %seed of player's world%" ## Temperature Addon: Skript Category: Expression Syntax: [the] temperature[s] of %blocks% Description: Temperature at given block. Examples: message "%temperature of the targeted block%" ## No Damage Time Addon: Skript Category: Expression Syntax: [the] (invulnerability|invincibility|no damage) time[[ ]span] [of %livingentities%] Description: The amount of time an entity is invulnerable to any damage. Examples: on damage: set victim's invulnerability time to 20 ticks #Victim will not take damage for the next second if the no damage timespan of {_entity} is 0 seconds: set the invincibility time span of {_entity} to 1 minute ## Horse Domestication Addon: Skript Category: Expression Syntax: [the] [max[imum]] domestication level of %livingentities% Description: Gets and/or sets the (max) domestication of a horse. The domestication of a horse is how close a horse is to becoming tame - the higher the domestication, the closer they are to becoming tame (must be between 1 and the max domestication level of the horse). The max domestication of a horse is how long it will take for a horse to become tame (must be greater than 0). Examples: function domesticateAndTame(horse: entity, p: offline player, i: int = 10): add {_i} to domestication level of {_horse} if domestication level of {_horse} >= max domestication level of {_horse}: tame {_horse} set tamer of {_horse} to {_p} ## Seed of Loot Table Addon: Skript Category: Expression Syntax: [the] loot[[ ]table] seed[s] of %entities/blocks% Description: Returns the seed of a loot table. Setting the seed of a block or entity that does not have a loot table will not do anything. Examples: set {_seed} loot table seed of block set loot table seed of entity to 123456789 ## Item Flags Addon: Skript Category: Expression Syntax: [the] item flags of %itemtypes% Description: The item flags of an item. Can be modified. Examples: set item flags of player's tool to hide enchants and hide attributes add hide potion effects to item flags of player's held item remove hide enchants from item flags of {legendary sword} ## Block Data Addon: Skript Category: Expression Syntax: [the] block[ ]data of %blocks/displays/entities% Description: Get the block data associated with a block. This data can also be used to set blocks. Examples: set {_data} to block data of target block set block at player to {_data} set block data of target block to oak_stairs[facing=south;waterlogged=true] ## Potion Effect - Duration Addon: Skript Category: Expression Syntax: [the] ([potion] duration|potion length)[s] [of %skriptpotioneffects%] Description: An expression to obtain the duration of a potion effect. Examples: set the duration of {_potion} to 10 seconds add 10 seconds to the duration of the player's speed effect ## Spawn Egg Entity Addon: Skript Category: Expression Syntax: [the] spawn egg entity of %itemstacks/itemtypes/slots% Description: Gets or sets the entity snapshot that the provided spawn eggs will spawn when used. Examples: set {_item} to a zombie spawn egg broadcast the spawn egg entity of {_item} spawn a pig at location(0,0,0): set the max health of entity to 20 set the health of entity to 20 set {_snapshot} to the entity snapshot of entity clear entity set the spawn egg entity of {_item} to {_snapshot} ## Equippable Component - Model Addon: Skript Category: Expression Syntax: [the] equipped (model|asset) (key|id) [of %equippablecomponents%] Description: The model of the item when equipped. The model key is represented as a namespaced key. A namespaced key can be formatted as 'namespace:id' or 'id'. It can only contain one ':' to separate the namespace and the id. Only alphanumeric characters, periods, underscores, and dashes can be used. NOTE: Equippable component elements are experimental. Thus, they are subject to change and may not work as intended. Examples: set the equipped model key of {_item} to "custom_model" set {_component} to the equippable component of {_item} set the equipped model id of {_component} to "custom_model" ## Type of Addon: Skript Category: Expression Syntax: [the] type of %entitydatas/itemtypes/inventories/potioneffects/blockdatas/enchantmenttypes% Description: Type of a block, item, entity, inventory, potion effect or enchantment type. Types of items, blocks and block datas 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. Types of potion effects are potion effect types. Types of enchantment types are enchantments. Examples: on rightclick on an entity: message "This is a %type of clicked entity%!" ## Arrow Knockback Strength Addon: Skript Category: Expression Syntax: [the] arrow knockback strength of %projectiles% Description: An arrow's knockback strength. Examples: on shoot: event-projectile is an arrow set arrow knockback strength of event-projectile to 10 ## Loot Location of Loot Context Addon: Skript Category: Expression Syntax: [the] loot[ing] [context] location [of %lootcontexts%] Description: Returns the loot location of a loot context. Examples: set {_player} to player set {_context} to a loot context at player: if {_player} is in "world_nether": set loot location to location of last spawned pig send loot location of {_context} to player ## Attack Cooldown Addon: Skript Category: Expression Syntax: [the] attack cooldown of %players% Description: Returns the current cooldown for a player's attack. This is used to calculate damage, with 1.0 representing a fully charged attack and 0.0 representing a non-charged attack. NOTE: Currently this can not be set to anything. Examples: on damage: if attack cooldown of attacker < 1: set damage to 0 send "Your hit was too weak! wait until your weapon is fully charged next time." to attacker ## Beacon Effects Addon: Skript Category: Expression Syntax: [the] (primary|secondary) [beacon] effect [of %blocks%] Description: The active effects of a beacon. The secondary effect can be set to anything, but the icon in the GUI will not display correctly. The secondary effect can only be set when the beacon is at max tier. The primary and secondary effect can not be the same, primary will always retain the potion type and secondary will be cleared. Examples: set primary beacon effect of {_block} to haste set secondary effect of {_block} to resistance ## Unix Timestamp Addon: Skript Category: Expression Syntax: [the] unix timestamp of %dates% Description: Converts given date to Unix timestamp. This is roughly how many seconds have elapsed since 1 January 1970. Examples: unix timestamp of now ## Love Time Addon: Skript Category: Expression Syntax: [the] love[d] time of %livingentities% Description: The amount of time the animals have been in love for. Using a value of 30 seconds is equivalent to using an item to breed them. Only works on animals that can be bred and returns '0 seconds' for animals that can't be bred. Examples: on right click: send "%event-entity% has been in love for %love time of event-entity% more than you!" to player ## Humidity Addon: Skript Category: Expression Syntax: [the] humidit(y|ies) of %blocks% Description: Humidity of given blocks. Examples: set {_humidity} to event-block's humidity ## Timespan Details Addon: Skript Category: Expression Syntax: [the] (tick|second|minute|hour|day|week|month|year)s of %timespans% Description: Retrieve specific information of a timespan such as hours/minutes/etc. Examples: set {_t} to difference between now and {Payouts::players::%uuid of player%::last-date} send "It has been %days of {_t}% day(s) since last payout." ## Display Billboard Addon: Skript Category: Expression Syntax: [the] bill[ |-]board[ing] [setting] [of %displays%] Description: Returns or changes the billboard setting of displays. This describes the axes/points around which the display can pivot. Displays spawn with the 'fixed' billboard by default. Resetting this expression will also set it to 'fixed'. Examples: set billboard of the last spawned text display to center ## Character Codepoint Addon: Skript Category: Expression Syntax: [the] [unicode|character] code([ ]point| position) of %strings% Description: Returns the Unicode codepoint of a character Examples: function is_in_order(letters: strings) :: boolean: loop {_letters::*}: set {_codepoint} to codepoint of lowercase loop-value return false if {_codepoint} is not set # 'loop-value is not a single character' if: {_previous-codepoint} is set # if the codepoint of the current character is not # 1 more than the codepoint of the previous character # then the letters are not in order {_codepoint} - {_previous-codepoint} is not 1 then: return false set {_previous-codepoint} to {_codepoint} return true ## Rotation Axis/Angle Addon: Skript Category: Expression Syntax: [the] rotation (angle|axis) of %quaternions% Description: Returns the axis or angle that a quaternion will rotate by/around. All quaternions can be represented by a rotation of some amount around some axis, so this expression provides the ability to get that angle/axis. Examples: set {_quaternion} to axisAngle(45, vector(1, 2, 3)) send rotation axis of {_quaternion} # 1, 2, 3 send rotation angle of {_quaternion} # 45 set rotation angle of {_quaternion} to 135 set rotation axis of {_quaternion} to vector(0, 1, 0) ## Damage Source - Food Exhaustion Addon: Skript Category: Expression Syntax: [the] food exhaustion [of %damagesources%] Description: The amount of hunger exhaustion caused by a damage source. Examples: on damage: if the food exhaustion of event-damage source is 10: ## Book Author Addon: Skript Category: Expression Syntax: [the] [book] (author|writer|publisher) of %itemtypes% Description: The author of a book. Examples: on book sign: broadcast "A new book has been created by %author of event-item%" ## Unix Date Addon: Skript Category: Expression Syntax: [the] unix date of %numbers% Description: Converts given Unix timestamp to a date. The Unix timespan represents the number of seconds elapsed since 1 January 1970. Examples: unix date of 946684800 #1 January 2000 12:00 AM (UTC Time) ## Recursive Size Addon: Skript Category: Expression Syntax: [the] recursive (amount|number|size) of %objects% Description: The recursive size of list. Returns the recursive size of the list with sublists included, e.g.
 {list::*} Structure
├──── {list::1}: 1
├──── {list::2}: 2
│ ├──── {list::2::1}: 3
│ │ └──── {list::2::1::1}: 4
│ └──── {list::2::2}: 5
└──── {list::3}: 6
Where using %size of {list::*}% will only return 3 (the first layer of indices only), while %recursive size of {list::*}% will return 6 (the entire list) Please note that getting a list's recursive size can cause lag if the list is large, so only use this expression if you need to! Examples: if recursive size of {player-data::*} > 1000: ## Speed Addon: Skript Category: Expression Syntax: [the] (walk[ing]|fl(y[ing]|ight))[( |-)]speed of %players% Description: 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 their FOV just like potions do. Examples: set the player's walk speed to 1 increase the argument's fly speed by 0.1 ## Dropped Item Thrower Addon: Skript Category: Expression Syntax: [the] uuid of [the] [dropped] item thrower [of %itementities%] Description: The uuid of the entity or player that threw/dropped the dropped item. Examples: set the uuid of the dropped item thrower of {_dropped item} to player if the uuid of the dropped item thrower of {_dropped item} is uuid of player: clear the item thrower of {_dropped item} ## UUID Addon: Skript Category: Expression Syntax: [the] UUID of %offlineplayers/worlds/entities% Description: The UUID of a player, entity or world. Examples: # 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 command /what-is-my-uuid: trigger: set {_uuid} to uuid of player send "Your UUID is '%string within {_uuid}%'" ## Maximum Freeze Time Addon: Skript Category: Expression Syntax: [the] max[imum] freeze time of %entities% Description: The maximum amount of time an entity can spend in powdered snow before taking damage. Examples: difference between player's freeze time and player's max freeze time is less than 1 second: send "you're about to freeze!" to the player ## Sorted List Addon: Skript Category: Expression Syntax: sorted %objects% Description: Sorts given list in natural order. All objects in list must be comparable; if they're not, this expression will return nothing. Examples: set {_sorted::*} to sorted {_players::*} command /leaderboard: trigger: loop reversed sorted {most-kills::*}: send "%loop-counter%. %loop-index% with %loop-value% kills" to sender ## Weather Addon: Skript Category: Expression Syntax: [the] weather [(in|of) %players/worlds%] Description: The weather of a world or player. Clearing or resetting the weather of a player will make the player's weather match the weather of the world. Clearing or resetting the weather of a world will make the weather clear. Examples: set weather to clear weather in "world" is rainy reset custom weather of player set weather of player to clear ## Scale Addon: Skript Category: Expression Syntax: [the] scale[s] of %objects% Description: Represents the physical size/scale of something. For example, the scale of a display entity would be a vector containing multipliers on its size in the x, y, and z axis. For a particle effect like the sweeping edge particle, scale is a number determining how large the particle should be. Examples: set the scale of {_display} to vector(0,2,0) set the scale of {_particle} to 1.5 ## Entity Storage Entity Count Addon: Skript Category: Expression Syntax: [the] [max[imum]] [stored] entity count [of %blocks%] Description: The current number of entities stored inside an entity block storage (i.e. beehive). The maximum amount of entities an entity block storage can hold. Examples: broadcast the stored entity count of {_beehive} set the maximum entity count of {_beehive} to 20 ## World Environment Addon: Skript Category: Expression Syntax: [the] [world] environment of %worlds% Description: The environment of a world Examples: if environment of player's world is nether: apply fire resistance to player for 10 minutes ## Glowing Addon: Skript Category: Expression Syntax: [the] glowing of %entities% Description: Indicates if targeted entity is glowing (new 1.9 effect) or not. Glowing entities can be seen through walls. Examples: set glowing of player to true ## Active Item Addon: Skript Category: Expression Syntax: [the] (raised|active) (tool|item|weapon) of %livingentities% Description: Returns the item the entities are currently using (ie: the food they're eating, the bow they're drawing back, etc.). This cannot be changed. If an entity is not using any item, this will return null. Examples: on damage of player: if victim's active tool is a bow: interrupt player's active item use ## Last Death Location Addon: Skript Category: Expression Syntax: [the] [last] death location[s] of %offlineplayers% Description: Gets the last death location of a player, or offline player, if available. Can also be set, reset, and deleted if the player is online. Examples: set {_loc} to the last death location of player teleport player to last death location of (random element out of all players) ## Gliding State Addon: Skript Category: Expression Syntax: [the] (gliding|glider) [state] of %livingentities% Description: 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. Examples: set gliding of player to off ## Level Progress Addon: Skript Category: Expression Syntax: [the] level progress of %players% Description: 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 their progress was more than 50%. Examples: # 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 ## Slot Index Addon: Skript Category: Expression Syntax: [the] [(raw|unique)] index of %slots% Description: 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. Raw index of slot is unique for the view, see Minecraft Wiki Examples: if index of event-slot is 10: send "You bought a pie!" if display name of player's top inventory is "Custom Menu": # 3 rows inventory if raw index of event-slot > 27: # outside custom inventory cancel event ## Location Addon: Skript Category: Expression Syntax: (location|position) of %location% Description: 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. Examples: set {home::%uuid of player%} to the location of the player message "You home was set to %player's location% in %player's world%." ## Damage Source - Causing Entity Addon: Skript Category: Expression Syntax: [the] (causing|responsible) entity [of %damagesources%] Description: The causing entity of a damage source. The causing entity is the entity that ultimately caused the damage. (e.g. the entity that shot an arrow) When setting a 'causing entity' you must also set a 'direct entity'. Attributes of a damage source cannot be changed once created, only while within the 'custom damage source' section. Examples: set {_source} to a custom damage source: set the damage type to magic set the causing entity to {_player} set the direct entity to {_arrow} set the damage location to location(0, 0, 10) on damage: set {_causing} to the causing entity of event-damage source ## Leash Holder Addon: Skript Category: Expression Syntax: [the] leash holder[s] of %livingentities% Description: The leash holder of a living entity. Examples: set {_example} to the leash holder of the target mob ## Last Damage Addon: Skript Category: Expression Syntax: [the] last damage of %livingentities% Description: The last damage that was done to an entity. Note that changing it doesn't deal more/less damage. Examples: set last damage of event-entity to 2 ## First Empty Slot in Inventory Addon: Skript Category: Expression Syntax: [the] first empty slot[s] of %inventories% Description: Returns the first empty slot in an inventory. If no empty slot is found, it returns nothing. Examples: set the first empty slot in player's inventory to 5 diamonds if the first empty slot in player's inventory is not set: message "No empty slot available in your inventory!" to player ## Enderman Carrying BlockData Addon: Skript Category: Expression Syntax: [the] carr(ied|ying) block[[ ]data] of %livingentities% Description: The block data an enderman is carrying. Custom attributes such as NBT or names do not transfer over. Blocks, blockdatas and items are acceptable objects to change the carrying block. Examples: broadcast the carrying blockdata of last spawned enderman set the carried block of last spawned enderman to an oak log set the carrying block data of {_enderman} to oak stairs[facing=north] set the carried blockdata of {_enderman} to {_item} clear the carried blockdata of {_enderman} ## Center of World Border Addon: Skript Category: Expression Syntax: [the] world[ ]border (center|middle) [of %worldborders%] Description: The center of a world border. Examples: set world border center of {_worldborder} to location(10, 0, 20) ## Item with Enchantment Glint Addon: Skript Category: Expression Syntax: %itemtypes% with[out] [enchant[ment]] glint Description: Get an item with or without enchantment glint. Examples: set {_item with glint} to diamond with enchantment glint set {_item without glint} to diamond without enchantment glint ## Gravity Addon: Skript Category: Expression Syntax: [the] gravity of %entities% Description: If entity is affected by gravity or not, i.e. if it has Minecraft 1.10+ NoGravity flag. Examples: set gravity of player off ## View Distance of Client Addon: Skript Category: Expression Syntax: [the] client view distance[s] of %players% Description: The view distance of the client. Can not be changed. This differs from the server side view distance of player as this will retrieve the view distance the player has set on their client. Examples: set {_clientView} to the client view distance of player set view distance of player to client view distance of player ## Health Addon: Skript Category: Expression Syntax: [the] health of %livingentities% Description: 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). Examples: message "You have %health% HP left." ## Group Addon: Skript Category: Expression Syntax: [the] group[s] of %offlineplayers% Description: The primary group or all groups of a player. This expression requires Vault and a compatible permissions plugin to be installed. If you have LuckPerms, ensure you have vault integration enabled in the luck perms configurations. Examples: on join: broadcast "%group of player%" # this is the player's primary group broadcast "%groups of player%" # this is all of the player's groups ## Damage Amount of World Border Addon: Skript Category: Expression Syntax: [the] world[ ]border damage amount [of %worldborders%] Description: The amount of damage a player takes per second for each block they are outside the border plus the border buffer. Players only take damage when outside of the world's world border, and the damage value cannot be less than 0. Examples: set world border damage amount of {_worldborder} to 1 ## Spawn Addon: Skript Category: Expression Syntax: [the] spawn[s] [(point|location)[s]] [of %worlds%] Description: The spawn point of a world. Examples: teleport all players to spawn set the spawn point of "world" to the player's location ## Display Height/Width Addon: Skript Category: Expression Syntax: [the] display (height|width) [of %displays%] Description: Returns or changes the height or width of displays. The rendering culling bounding box spans horizontally width/2 from entity position, which determines the point at which the display will be frustum culled (no longer rendered because the game determines you are no longer able to see it). If set to 0, no culling will occur on both the vertical and horizontal directions. Default is 0.0. Examples: set display height of the last spawned text display to 2.5 ## Beacon Tier Addon: Skript Category: Expression Syntax: [the] beacon tier of %blocks% Description: The tier of a beacon. Ranges from 0 to 4. Examples: if the beacon tier of the clicked block is 4: send "This is a max tier beacon!" ## Opened Inventory Addon: Skript Category: Expression Syntax: [the] (current|open|top) inventory [of %players%] Description: Return the currently opened inventory of a player. If no inventory is open, it returns the own player's crafting inventory. Examples: set slot 1 of player's current inventory to diamond sword ## Vectors - Create from Direction Addon: Skript Category: Expression Syntax: vector[s] [from] %directions% Description: Creates vectors from given directions. Relative directions are relative to the origin, (0, 0, 0). Therefore, the vector from the direction 'forwards' is (0, 0, 1). Examples: set {_v} to vector from direction upwards set {_v} to vector in direction of player set {_v} to vector in horizontal direction of player set {_v} to vector from facing of player set {_v::*} to vectors from north, south, east, and west ## Command Block Command Addon: Skript Category: Expression Syntax: [the] [command[ ]block] command of %blocks/entities% Description: Gets or sets the command associated with a command block or minecart with command block. Examples: send command of {_block} set command of {_cmdMinecart} to "say asdf" ## Total Experience Addon: Skript Category: Expression Syntax: [the] [total] experience of %entities% Description: The total experience, in points, of players or experience orbs. Adding to a player's experience will trigger Mending, but setting their experience will not. Examples: set total experience of player to 100 add 100 to player's experience if player's total experience is greater than 100: set player's total experience to 0 give player 1 diamond ## Command Info Addon: Skript Category: Expression Syntax: [the] main command [label|name] [of [[the] command[s] %-strings%]] Description: Get information about a command. Examples: main command label of command "skript" description of command "help" label of command "pl" ## Block Hardness Addon: Skript Category: Expression Syntax: [the] [block] hardness of %itemtypes% Description: Obtains the block's hardness level (also known as "strength"). This number is used to calculate the time required to break each block. Examples: set {_hard} to block hardness of target block if block hardness of target block > 5: ## Text Of Addon: Skript Category: Expression Syntax: [the] text[s] of %displays% Description: Returns or changes the text/string of displays. Note that currently you can only use Skript chat codes when running Paper. Examples: set text of the last spawned text display to "example" ## Particle Offset Addon: Skript Category: Expression Syntax: [the] particle offset of %particles% Description: Determines the offset value for a particle. Offsets are treated as distributions if particle count is greater than 0. Offsets are treated as velocity or some other special behavior if particle count is 0. Setting distribution/velocity with this method may change the particle count to 1/0 respectively. More detailed information on particle behavior can be found at Paper's particle documentation. Examples: set the particle offset of {_my-particle} to vector(1, 2, 1) ## Altitude Addon: Skript Category: Expression Syntax: [the] altitude[s] of %locations% Description: Effectively an alias of 'y-coordinate of …', it represents the height of some location within the world. Examples: on damage: altitude of the attacker is higher than the altitude of the victim set damage to damage * 1.2 ## Resonating Time Addon: Skript Category: Expression Syntax: [the] resonat(e|ing) time of %block% Description: Returns the resonating time of a bell. A bell will start resonating five game ticks after being rung, and will continue to resonate for 40 game ticks. Examples: broadcast "The bell has been resonating for %resonating time of target block%" ## Display Name Addon: Skript Category: Expression Syntax: [the] (display|nick|chat|custom)[ ]name[s] of %objects% Description: Represents the display name of a player, or the custom name of an item, entity, block, or inventory. Players: The name of the player that is displayed in messages. This name can be changed freely and can include color codes, and is shared among all plugins (e.g. chat plugins will use the display name). Entities: The custom name of the entity. Can be changed, which will also enable custom name visibility of the entity so name tag of the entity will be visible always. Items: The custom name of the item (not the Minecraft locale name). Can be changed. Inventories: 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. Examples: on join: player has permission "name.red" set the player's display name to "<red>[admin] <gold>%name of player%" ## Warning Time of World Border Addon: Skript Category: Expression Syntax: [the] world[ ]border warning time [of %worldborders%] Description: The warning time of a world border. If the border is shrinking, the player's screen will be tinted red once the border will catch the player within this time period. Examples: set world border warning time of {_worldborder} to 1 second ## Damage Source - Direct Entity Addon: Skript Category: Expression Syntax: [the] direct entity [of %damagesources%] Description: The direct entity of a damage source. The direct entity is the entity that directly caused the damage. (e.g. the arrow that was shot) Attributes of a damage source cannot be changed once created, only while within the 'custom damage source' section. Examples: set {_source} to a custom damage source: set the damage type to magic set the causing entity to {_player} set the direct entity to {_arrow} set the damage location to location(0, 0, 10) damage all players by 5 using {_source} on death: set {_direct} to the direct entity of event-damage source ## World Addon: Skript Category: Expression Syntax: [the] world [of %locations/entities/chunk%] Description: The world the event occurred in. Examples: world is "world_nether" teleport the player to the world's spawn set the weather in the player's world to rain set {_world} to world of event-chunk ## Vehicle Addon: Skript Category: Expression Syntax: [the] vehicle[s] [of %entities%] Description: 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 Examples: set the vehicle of {game::players::*} to a saddled pig give {game::players::*} a carrot on a stick on vehicle enter: vehicle is a horse add 1 to {statistics::horseMounting::%uuid of player%} ## Spectator Target Addon: Skript Category: Expression Syntax: spectator target [of %-players%] Description: Grabs the spectator target entity of the players. Examples: on player start spectating of player: message "&c%spectator target% currently has %{game::kills::%spectator target%}% kills!" to the player on player stop spectating: past spectator target was a zombie set spectator target to the nearest skeleton ## Language Addon: Skript Category: Expression Syntax: [the] [([currently] selected|current)] [game] (language|locale) [setting] of %players% Description: 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. Examples: message player's current language ## Head location Addon: Skript Category: Expression Syntax: [the] (head|eye[s]) [location[s]] of %livingentities% Description: 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. Examples: 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: ## Vectors - Vector from Location Addon: Skript Category: Expression Syntax: [the] vector (of|from|to) %location% Description: Creates a vector from a location. Examples: set {_v} to vector of {_loc} ## Minecart Derailed / Flying Velocity Addon: Skript Category: Expression Syntax: [the] [minecart] (derailed|flying) velocity of %entities% Description: The velocity of a minecart as soon as it has been derailed or as soon as it starts flying. Examples: on right click on minecart: set derailed velocity of event-entity to vector 2, 10, 2 ## Portal Cooldown Addon: Skript Category: Expression Syntax: [the] portal cooldown of %entities% Description: The amount of time before an entity can use a portal. By default, it is 15 seconds after exiting a nether portal or end gateway. Players in survival/adventure get a cooldown of 0.5 seconds, while those in creative get no cooldown. Resetting will set the cooldown back to the default 15 seconds for non-player entities and 0.5 seconds for players. Examples: on portal: wait 1 tick set portal cooldown of event-entity to 5 seconds ## Item Enchantments Addon: Skript Category: Expression Syntax: [the] enchantments of %itemtypes% Description: All the enchantments an item type has. Examples: clear enchantments of event-item ## Player List Header and Footer Addon: Skript Category: Expression Syntax: [the] (player|tab)[ ]list (header|footer) [text|message] of %players% Description: The message above and below the player list in the tab menu. Examples: set all players' tab list header to "Welcome to the Server!" send "%the player's tab list header%" to player reset all players' tab list header ## WXYZ Component/Coordinate Addon: Skript Category: Expression Syntax: [the] (x|y|z|w)( |-)[component[s]|coord[inate][s]|(pos[ition[s]]|loc[ation][s])] of %objects% Description: Gets or changes the W, X, Y or Z component of anything with these components/coordinates, like locations, vectors, or quaternions. The W axis is only used for quaternions, currently. Examples: 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}%" set {_x} to x of player set {_z} to z of player if: {_x} is between 0 and 100 {_z} is between 0 and 100 then: set y component of player's velocity to 10 ## Book Title Addon: Skript Category: Expression Syntax: [the] book (name|title) of %itemtypes% Description: The title of a book. Examples: on book sign: message "You finished your book titled %title of event-item%" ## Food Level Addon: Skript Category: Expression Syntax: [the] (food|hunger)[[ ](level|met(er|re)|bar)] [of %players%] Description: The food level of a player from 0 to 10. Has several aliases: food/hunger level/meter/bar. Examples: set the player's food level to 10 ## Allay Target Jukebox Addon: Skript Category: Expression Syntax: [the] target jukebox [of %livingentities%] Description: The location of the jukebox an allay is set to. Examples: set {_loc} to the target jukebox of last spawned allay ## Cursor Slot Addon: Skript Category: Expression Syntax: [the] cursor slot of %players% Description: The item which the player has on their inventory cursor. This slot is always empty if player has no inventory open. Examples: cursor slot of player is dirt set cursor slot of player to 64 diamonds ## Item Amount Addon: Skript Category: Expression Syntax: [the] item[[ ]stack] (amount|size|number) of %slots/itemtypes/itemstacks% Description: The amount of an item stack. Examples: send "You have got %item amount of player's tool% %player's tool% in your hand!" to player ## Character from Codepoint Addon: Skript Category: Expression Syntax: character (from|at|with) code([ ]point| position) %integer% Description: Returns the character at the specified codepoint Examples: function chars_between(lower: string, upper: string) :: strings: set {_lower} to codepoint of {_lower} return {_none} if {_lower} is not set set {_upper} to codepoint of {_upper} return {_none} if {_upper} is not set loop integers between {_lower} and {_upper}: add character from codepoint loop-value to {_chars::*} return {_chars::*} ## Max Health Addon: Skript Category: Expression Syntax: [the] max[imum] health of %livingentities% Description: The maximum health of an entity, e.g. 10 for a player. Examples: on join: set the maximum health of the player to 100 spawn a giant set the last spawned entity's max health to 1000 ## Luck of Loot Context Addon: Skript Category: Expression Syntax: [the] loot[ing] [context] luck [value|factor] [of %lootcontexts%] Description: Returns the luck of a loot context as a float. This represents the luck potion effect that an entity can have. Examples: set {_luck} to loot luck value of {_context} set {_context} to a loot context at player: set loot luck value to 10 set looter to player set looted entity to last spawned pig ## Ringing Time Addon: Skript Category: Expression Syntax: [the] ring[ing] time of %block% Description: Returns the ringing time of a bell. A bell typically rings for 50 game ticks. Examples: broadcast "The bell has been ringing for %ringing time of target block%" ## Compass Target Addon: Skript Category: Expression Syntax: [the] compass target of %players% Description: The location a player's compass is pointing at. As of Minecraft 1.21.4, the compass is controlled by the resource pack and by default will not point to this compass target when used outside of the overworld dimension. Examples: # 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%} ## Player Input Keys Addon: Skript Category: Expression Syntax: [the] [current] (inputs|input keys) of %players% Description: Get the current input keys of a player. Examples: broadcast "%player% is pressing %current input keys of player%" ## World Border Addon: Skript Category: Expression Syntax: [the] world[ ]border [of %worlds/players%] Description: Get the border of a world or a player. A player's world border is not persistent. Restarts, quitting, death or changing worlds will reset the border. Examples: set {_border} to world border of player's world ## Player List Name Addon: Skript Category: Expression Syntax: [the] (player|tab)[ ]list name[s] of %players% Description: The name of a player in the player list in the tab menu. Examples: on join: player has permission "name.red" set the player's tab list name to "%player's name%" ## Entity AI Addon: Skript Category: Expression Syntax: [the] (ai|artificial intelligence) of %livingentities% Description: Returns whether an entity has AI. Examples: set artificial intelligence of target entity to false ## Tool Addon: Skript Category: Expression Syntax: [the] (tool|held item|weapon) [of %livingentities%] Description: The item an entity is holding in their main or off hand. Examples: player's tool is tagged with minecraft tag "pickaxes" player's off hand tool is a shield set tool of all players to a diamond sword set offhand tool of target entity to a bow ## Villager Profession Addon: Skript Category: Expression Syntax: [the] villager profession of %livingentities% Description: Represents the profession of a villager/zombie villager. Examples: set {_p} to villager profession of event-entity villager profession of event-entity = nitwit profession set villager profession of {_villager} to librarian profession delete villager profession of event-entity ## View Distance Addon: Skript Category: Expression Syntax: [the] view distance[s] of %players/worlds% Description: The view distance of a world or a player. The view distance of a player is the distance in chunks sent by the server to the player. This has nothing to do with client side view distance settings. View distance is capped between 2 to 32 chunks. Examples: set view distance of player to 10 add 50 to the view distance of world "world" reset the view distance of player clear the view distance of world "world" ## Equippable Component - Equipment Slot Addon: Skript Category: Expression Syntax: [the] equipment slot [of %equippablecomponents%] Description: The equipment slot an item can be equipped to. NOTE: Equippable component elements are experimental. Thus, they are subject to change and may not work as intended. Examples: set the equipment slot of {_item} to chest slot set {_component} to the equippable component of {_item} set the equipment slot of {_component} to boots slot ## Entity Fire Burn Duration Addon: Skript Category: Expression Syntax: [the] [max[imum]] (burn[ing]|fire) (time|duration) of %entities% Description: How much time an entity will be burning for. Examples: send "You will stop burning in %fire time of player%" send the max burn time of target ## Ping Addon: Skript Category: Expression Syntax: [the] ping of %players% Description: 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). Examples: command /ping : trigger: send "%arg-1%'s ping is %arg-1's ping%" ## Time Played Addon: Skript Category: Expression Syntax: [the] (time played|play[ ]time) of %offlineplayers% Description: The amount of time a player has played for on the server. This info is stored in the player's statistics in the main world's data folder. Changing this will also change the player's stats which can be views in the client's statistics menu. Using this expression on offline players on Minecraft 1.14 and below will return nothing <none>. Examples: set {_t} to time played of player if player's time played is greater than 10 minutes: give player a diamond sword set player's time played to 0 seconds ## Yaw / Pitch Addon: Skript Category: Expression Syntax: [the] (yaw|pitch) of %entities/locations/vectors% Description: The yaw or pitch of a location or vector. A yaw of 0 or 360 represents the positive z direction. Adding a positive number to the yaw of a player will rotate it clockwise. A pitch of 90 represents the negative y direction, or downward facing. A pitch of -90 represents upward facing. Adding a positive number to the pitch will rotate the direction downwards. Only Paper 1.19+ users may directly change the yaw/pitch of players. Examples: log "%player%: %location of player%, %player's yaw%, %player's pitch%" to "playerlocs.log" set {_yaw} to yaw of player set {_p} to pitch of target entity set pitch of player to -90 # Makes the player look upwards, Paper 1.19+ only add 180 to yaw of target of player # Makes the target look behind themselves ## Explosive Yield Addon: Skript Category: Expression Syntax: [the] explosive (yield|radius|size|power) of %entities% Description: The yield of an explosive (creeper, ghast, primed tnt, fireball, etc.). This is how big of an explosion is caused by the entity. Read this wiki page for more information. The yield of ghasts can only be set to between 0 and 127. Examples: on spawn of a creeper: set the explosive yield of the event-entity to 10 ## Entity Owner Addon: Skript Category: Expression Syntax: [the] (owner|tamer) of %livingentities% Description: The owner of a tameable entity (i.e. horse or wolf). Examples: set owner of last spawned wolf to player if the owner of last spawned wolf is player: ## Last/First Login Time Addon: Skript Category: Expression Syntax: [the] (last|first) login of %offlineplayers% Description: When a player last/first logged in the server. 'last login' requires paper to get the last login, otherwise it will get the last time they were seen on the server. Examples: command /onlinefor: trigger: send "You have been online for %difference between player's last login and now%." send "You first joined the server %difference between player's first login and now% ago." ## Lowest/Highest Solid Block Addon: Skript Category: Expression Syntax: [the] (highest|lowest) [solid] block (at|of) %locations% Description: An expression to obtain the lowest or highest solid (impassable) block at a location. Note that the y-coordinate of the location is not taken into account for this expression. Examples: teleport the player to the block above the highest block at the player set the highest solid block at the player's location to the lowest solid block at the player's location ## Time Lived of Entity Addon: Skript Category: Expression Syntax: [the] time (alive|lived) of %entities% Description: Returns the total amount of time the entity has lived. Note: This does not reset when a player dies. Examples: clear all entities where [input's time lived > 1 hour] on right click on entity: send "%entity% has lived for %time lived of entity%" to player ## Amount Addon: Skript Category: Expression Syntax: [the] amount[s] of %objects% Description: The amount of something. Using 'amount of {list::*}' will return the length of the list, so if you want the amounts of the things inside the lists, use 'amounts of {list::*}'. Examples: message "There are %amount of all players% players online!" if amount of player's tool > 5: if amounts of player's tool and player's offhand tool > 5: ## Player Skull Addon: Skript Category: Expression Syntax: [the] skull of %offlineplayers% Description: Gets a skull item representing a player. Skulls for other entities are provided by the aliases. Examples: give the victim's skull to the attacker set the block at the entity to the entity's skull ## Hotbar Slot Addon: Skript Category: Expression Syntax: [the] [([currently] selected|current)] hotbar slot[s] [of %players%] Description: The currently selected hotbar slot. To retrieve its number use Slot Index expression. Use future and past tense to grab the previous slot in an item change event, see example. Examples: message "%player's current hotbar slot%" set player's selected hotbar slot to slot 4 of player send "index of player's current hotbar slot = 1" # second slot from the left ## Spawner Type Addon: Skript Category: Expression Syntax: [the] (spawner|entity|creature) type[s] of %blocks% Description: The entity type of a spawner (mob spawner). Change the entity type, reset it (pig) or clear it (Minecraft 1.20.0+). Examples: on right click: if event-block is a spawner: send "Spawner's type if %spawner type of event-block%" to player set the creature type of {_spawner} to a trader llama reset {_spawner}'s entity type # Pig ## Potion Effect Type Category Addon: Skript Category: Expression Syntax: [the] potion [effect [type]] category of %potioneffecttypes% Description: An expression to obtain the category of a potion effect type. That is, whether the potion effect type is beneficial, harmful, or neutral. Examples: on entity potion effect modification: if the potion effect type category is harmful: message "You have been afflicted with %potion effect type%" ## Velocity Addon: Skript Category: Expression Syntax: [the] velocit(y|ies) of %entities/directionalparticles% Description: Gets or changes velocity of an entity or particle. Setting the velocity of a particle will remove its random dispersion and force it to be a single particle. Examples: set player's velocity to {_v} set the velocity of {_particle} to vector(0, 1, 0) if the vector length of the player's velocity is greater than 5: send "You're moving fast!" to the player ## Anvil Repair Cost Addon: Skript Category: Expression Syntax: [the] [anvil] [item] [max[imum]] repair cost [of %inventories%] Description: Returns the experience cost (in levels) to complete the current repair or the maximum experience cost (in levels) to be allowed by the current repair. The default value of max cost set by vanilla Minecraft is 40. Examples: on inventory click: if {AnvilRepairSaleActive} = true: wait a tick # recommended, to avoid client bugs set anvil repair cost to anvil repair cost * 50% send "Anvil repair sale is ON!" to player on inventory click: player have permission "anvil.repair.max.bypass" set max repair cost of event-inventory to 99999 ## Remaining Air Addon: Skript Category: Expression Syntax: [the] remaining air of %livingentities% Description: How much time a player has left underwater before starting to drown. Examples: if the player's remaining air is less than 3 seconds: send "hurry, get to the surface!" to the player ## Inventory Addon: Skript Category: Expression Syntax: [the] inventor(y|ies) of %inventoryholders/itemtypes% Description: 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. Examples: add a plank to the player's inventory clear the player's inventory remove 5 wool from the inventory of the clicked block ## Saturation Addon: Skript Category: Expression Syntax: [the] saturation of %players% Description: The saturation of a player. If used in a player event, it can be omitted and will default to event-player. Examples: set saturation of player to 20 ## Age of Block/Entity Addon: Skript Category: Expression Syntax: [the] [max[imum]] age of %blocks/entities% Description: Returns the age or maximum age of blocks and age for entities (there in no maximum age for entities). For blocks, 'Age' represents the different growth stages that a crop-like block can go through. A value of 0 indicates that the crop was freshly planted, whilst a value equal to 'maximum age' indicates that the crop is ripe and ready to be harvested. For entities, 'Age' represents the time left for them to become adults and it's in minus increasing to be 0 which means they're adults, e.g. A baby cow needs 20 minutes to become an adult which equals to 24,000 ticks so their age will be -24000 once spawned. Examples: # Set targeted crop to fully grown crop set age of targeted block to maximum age of targeted block # Spawn a baby cow that will only need 1 minute to become an adult spawn a baby cow at player set age of last spawned entity to -1200 # in ticks = 60 seconds ## Entity/Player/World from UUID Addon: Skript Category: Expression Syntax: [offline[ ]]player[s] from %uuids% Description: Get an entity, player, offline player or world from a UUID. Unloaded entities or players that are offline (when using 'player from %uuid%') will return nothing. Examples: set {_player} to player from "a0789aeb-7b46-43f6-86fb-cb671fed5775" parsed as uuid set {_offline player} to offline player from {_some uuid} set {_entity} to entity from {_some uuid} set {_world} to world from {_some uuid} ## Exact Item Addon: Skript Category: Expression Syntax: [the] exact item[s] of %blocks% Description: Get an exact item representation of a block, carrying over any data. For example, using this expression on a chest block with items stored inside will return a chest item with the exact same items in its inventory as the chest block. Examples: set {_item} to exact item of block at location(0, 0, 0) ## Fall Distance Addon: Skript Category: Expression Syntax: [the] fall[en] (distance|height) of %entities% Description: The distance an entity has fallen for. Examples: set all entities' fall distance to 10 on damage: send "%victim's fall distance%" to victim ## No Damage Ticks Addon: Skript Category: Expression Syntax: [the] (invulnerability|invincibility|no damage) tick[s] [of %livingentities%] Description: The number of ticks that an entity is invulnerable to damage for. Examples: on damage: set victim's invulnerability ticks to 20 #Victim will not take damage for the next second ## Display Transformation Rotation Addon: Skript Category: Expression Syntax: [the] (left|right) [transformation] rotation [of %displays%] Description: Returns or changes the transformation rotation of displays. The left rotation is applied first, with the right rotation then being applied based on the rotated axis. Examples: set left transformation rotation of last spawned block display to quaternion(1, 0, 0, 0) # reset block display ## Name Addon: Skript Category: Expression Syntax: [the] name[s] of %objects% Description: Represents the Minecraft account name of a player, or the custom name of an item, entity, block, inventory, gamerule, world, script or function. Players: The Minecraft account name of the player. Can't be changed. Entities: 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'. Items: The custom name of the item (not the Minecraft locale name). Can be changed. Inventories: The name/title of the inventory. Changing name of an inventory means opening the same inventory with the same contents but with a different name to its current viewers. Gamerules: The name of the gamerule. Cannot be changed. Worlds: The name of the world. Cannot be changed. Scripts: The name of a script, excluding its file extension. Examples: on join: player has permission "name.red" set the player's display name to "<red>[admin] <gold>%name of player%" set the name of the player's tool to "Legendary Sword of Awesomeness" ## Item Display Transform Addon: Skript Category: Expression Syntax: [the] item [display] transform [of %displays%] Description: Returns or changes the item display transform of item displays. Examples: set the item transform of the last spawned item display to first person left handed set the item transform of the last spawned item display to no transform # Reset to default ## Text Display Opacity Addon: Skript Category: Expression Syntax: [the] [display] [text] opacity [of %displays%] Description: Returns or changes the text opacity of text displays. The default is 255, fully opaque. Values are between 0 and 255. 0 to 3 are treated the same as 255, meaning fully opaque. Values from 4 to 26 are fully transparent, and opacity increases linearly from there up to 255. For backwards compatability, setting negative values between -1 and -128 wrap around, so -1 is the same as 255 and -128 is the same as 128. Adding or subtracting values will adjust the opacity within the bounds of 0-255, so subtracting 300 wil always result in an opacity of 0. Examples: set the text opacity of the last spawned text display to 0 # fully opaque set text opacity of all text displays to 255 # fully opaque set text opacity of all text displays to 128 # semi-transparent set text opacity of all text displays to 4 # fully transparent ## Equippable Component - Allowed Entities Addon: Skript Category: Expression Syntax: [the] allowed entities [of %equippablecomponents%] Description: The entities allowed to wear the item. NOTE: Equippable component elements are experimental. Thus, they are subject to change and may not work as intended. Examples: set the allowed entities of {_item} to a zombie and a skeleton set {_component} to the equippable component of {_item} clear the allowed entities of {_component} ## Difficulty Addon: Skript Category: Expression Syntax: [the] difficult(y|ies) of %worlds% Description: The difficulty of a world. Examples: set the difficulty of "world" to hard ## Furnace Slot Addon: Skript Category: Expression Syntax: [the] (ore|input) slot[s] [of %blocks%] Description: A slot of a furnace, i.e. either the ore, fuel or result slot. Examples: set the fuel slot of the clicked block to a lava bucket set the block's ore slot to 64 iron ore clear the result slot of the block ## Arrow Attached Block Addon: Skript Category: Expression Syntax: [the] (attached|hit) block[s] of %projectiles% Description: Returns the attached block of an arrow. If running Paper 1.21.4+, the plural version of the expression should be used as it is more reliable compared to the single version. Examples: set hit block of last shot arrow to diamond block on projectile hit: wait 1 tick break attached blocks of event-projectile kill event-projectile ## Allay Duplication Cooldown Addon: Skript Category: Expression Syntax: [the] (duplicat(e|ing|ion)|clon(e|ing)) cool[ ]down [time] [of %livingentities%] Description: The cooldown time until an allay can duplicate again naturally. Resetting the cooldown time will set the cooldown time to the same amount of time after an allay has duplicated. Examples: set {_time} to the duplicate cooldown of last spawned allay add 5 seconds to the duplication cool down time of last spawned allay remove 3 seconds from the duplicating cooldown time of last spawned allay clear the clone cool down of last spawned allay reset the cloning cool down time of last spawned allay ## Display View Range Addon: Skript Category: Expression Syntax: [the] [display] view (range|radius) [of %displays%] Description: Returns or changes the view range of displays. Default value is 1.0. This value is then multiplied by 64 and the player's entity view distance setting to determine the actual range. For example, a player with 150% entity view distance will see a block display with a view range of 1.2 at 1.2 * 64 * 150% = 115.2 blocks away. Examples: set view range of the last spawned text display to 2.9 ## Entity Snapshot Addon: Skript Category: Expression Syntax: [the] entity snapshot of %entities/entitydatas% Description: Returns the entity snapshot of a provided entity, which includes all the data associated with it (name, health, attributes, etc.) at the time this expression is used. Individual attributes of a snapshot cannot be modified or retrieved. Examples: spawn a pig at location(0, 0, 0): set the max health of entity to 20 set the health of entity to 20 set {_snapshot} to the entity snapshot of entity clear entity spawn {_snapshot} at location(0, 0, 0) ## Bed Addon: Skript Category: Expression Syntax: [the] [((safe|valid)|(unsafe|invalid))] bed[s] [location[s]] of %offlineplayers% Description: Returns the bed location of a player, i.e. the spawn point of a player if they ever slept in a bed and the bed still exists and is unobstructed however, you can set the unsafe bed location of players and they will respawn there even if it has been obstructed or doesn't exist anymore and that's the default behavior of this expression otherwise you will need to be specific i.e. safe bed location. NOTE: Offline players can not have their bed location changed, only online players. Examples: if bed of player exists: teleport player the the player's bed else: teleport the player to the world's spawn point set the bed location of player to spawn location of world("world") # unsafe/invalid bed location set the safe bed location of player to spawn location of world("world") # safe/valid bed location ## Damage Source - Source Location Addon: Skript Category: Expression Syntax: [the] source location [of %damagesources%] Description: The final location where the damage was originated from. The 'source location' for vanilla damage sources will retrieve the 'damage location' if set. If 'damage location' is not set, will attempt to grab the location of the 'causing entity', otherwise, null. Examples: on death: set {_location} to the source location of event-damage source ## With Fire Resistance Addon: Skript Category: Expression Syntax: %itemtype% with[out] fire[ ]resistance Description: Creates a copy of an item with (or without) fire resistance. Examples: set {_x} to diamond sword with fire resistance equip player with netherite helmet without fire resistance drop fire resistant stone at player ## Inventory Holder/Viewers/Rows/Slots Addon: Skript Category: Expression Syntax: (holder[s]|viewers|[amount of] rows|[amount of] slots) of %inventories% Description: Gets the amount of rows/slots, viewers and holder of an inventory. NOTE: 'Viewers' expression returns a list of players viewing the inventory. Note that a player is considered to be viewing their own inventory and internal crafting screen even when said inventory is not open. Examples: event-inventory's amount of rows holder of player's top inventory {_inventory}'s viewers ## Particle Count Addon: Skript Category: Expression Syntax: [the] particle count of %particles% Description: Sets how many particles to draw. Particle count has an influence on how the 'offset' and 'extra' values of a particle apply. Offsets are treated as distributions if particle count is greater than 0. Offsets are treated as velocity or some other special behavior if particle count is 0. This means that setting the particle count may change how your particle behaves. Be careful! More detailed information on particle behavior can be found at Paper's particle documentation. Examples: draw 7 blue dust particles at player ## Sea Level Addon: Skript Category: Expression Syntax: [the] sea level of %worlds% Description: Gets the sea level of a world. Examples: send "The sea level in your world is %sea level in player's world%" ## Exhaustion Addon: Skript Category: Expression Syntax: [the] exhaustion of %players% Description: The exhaustion of a player. This is mainly used to determine the rate of hunger depletion. Examples: set exhaustion of all players to 1 ## Money Addon: Skript Category: Expression Syntax: [the] (money|balance|[bank] account) of %offlineplayers% Description: How much virtual money a player has (can be changed). Examples: message "You have %player's money%" # the currency name will be added automatically remove 20$ from the player's balance # replace '$' by whatever currency you use add 200 to the player's account # or omit the currency altogether ## All Permissions Addon: Skript Category: Expression Syntax: [(all [[of] the]|the)] permissions (from|of) %players% Description: Returns all permissions of the defined player(s). Note that the modifications to resulting list do not actually change permissions. Examples: set {_permissions::*} to all permissions of the player ## Max Item Use Time Addon: Skript Category: Expression Syntax: [the] max[imum] [item] us(e|age) (time|duration) of %itemstacks% Description: Returns the max duration an item can be used for before the action completes. E.g. it takes 1.6 seconds to drink a potion, or 1.4 seconds to load an unenchanted crossbow. Some items, like bows and shields, do not have a limit to their use. They will return 1 hour. Examples: on right click: broadcast max usage duration of player's tool ## Last Attacker Addon: Skript Category: Expression Syntax: [the] last attacker of %entity% Description: The last block or entity that attacked an entity. Examples: send "%last attacker of event-entity%" ## All Persistent Data Keys Addon: Skript Category: Expression Syntax: [all [[of] the]] [persistent] data [tag] keys of %objects% Description: Returns all persistent data keys stored in the specified objects. This is not limited to tags set by Skript, but includes all keys regardless of their origin. Examples: set {_keys::*} to persistent data keys of player's tool if size of {_keys::*} > 0: broadcast "The tool has the following persistent data keys: %{_keys::*}%" else: broadcast "The tool has no persistent data keys." for each {_key} in persistent data keys of player's tool: broadcast "Persistent data tag %{_key}%: %data tag {_key} of player's tool%" ## Brushing Stage Addon: Skript Category: Expression Syntax: [the] [max[imum]] (dust|brush)[ed|ing] (value|stage|progress[ion]) of %blocks/blockdatas% Description: Represents how far the block has been uncovered. The only blocks that can currently be "brushed" are Suspicious Gravel and Suspicious Sand. 0 means the block is untouched, the max (usually 3) means nearly fulled brushed. Resetting this value will set it to 0. Examples: # prevent dusting past level 1 on player change block: if dusting progress of future event-blockdata > 1: cancel event # draw particles when dusting is complete! on player change block: if brushing progress of event-block is max brushing stage of event-block: draw 20 totem of undying particles at event-block ## Buried Item Addon: Skript Category: Expression Syntax: [the] (brushable|buried) item of %blocks% Description: Represents the item that is uncovered when dusting. The only blocks that can currently be "dusted" are Suspicious Gravel and Suspicious Sand. Examples: send target block's brushable item set {_gravel}'s brushable item to emerald ## Text Display Alignment Addon: Skript Category: Expression Syntax: [the] text alignment[s] [of %displays%] Description: Returns or changes the alignment setting of text displays. Examples: set text alignment of the last spawned text display to left aligned ## Player Chat Completions Addon: Skript Category: Expression Syntax: [the] [custom] chat completion[s] of %players% Description: The custom chat completion suggestions. You can add, set, remove, and clear them. Removing the names of online players with this expression is ineffective. This expression will not return anything due to Bukkit limitations. Examples: add "Skript" and "Njol" to chat completions of all players remove "text" from {_p}'s chat completions clear player's chat completions ## Display Transformation Scale/Translation Addon: Skript Category: Expression Syntax: [the] (display|[display] transformation) (scale|translation) [of %displays%] Description: Returns or changes the transformation scale or translation of displays. Examples: set transformation translation of display to vector from -0.5, -0.5, -0.5 # Center the display in the same position as a block ## Former/Future State Addon: Skript Category: Expression Syntax: [the] (former|past|old) [state] [of] %~objects% Description: 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. Examples: 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 ## Brewing Time Addon: Skript Category: Expression Syntax: [the] [current|remaining] brewing time [of %blocks%] Description: The remaining brewing time of a brewing stand. Examples: set the brewing time of {_block} to 10 seconds clear the remaining brewing time of {_block} ## Panda Gene Addon: Skript Category: Expression Syntax: [the] (main|hidden) gene[s] of %livingentities% Description: The main or hidden gene of a panda. Examples: if the main gene of last spawned panda is lazy: set the main gene of last spawned panda to playful ## String Colors Addon: Skript Category: Expression Syntax: [all [[of] the]|the] string colo[u]r[s] [code[s]] of %strings% Description: Retrieve the first, the last, or all of the color objects or color codes of a string. The retrieved color codes of the string will be formatted with the color symbol. Examples: set {_colors::*} to the string colors of "heyyo" set {_color} to the first string color code of "&aGoodbye!" send "%{_color}%Howdy!" to all players ## Debug Info Addon: Skript Category: Expression Syntax: [the] debug info[rmation] of %objects% Description: Returns a string version of the given objects, but with their type attached: debug info of 1, "a", 0.5 -> 1 (long), "a" (string), 0.5 (double) This is intended to make debugging easier, not as a reliable method of getting the type of a value. Examples: broadcast debug info of {list::*} ## Display Interpolation Delay/Duration Addon: Skript Category: Expression Syntax: [the] interpolation (delay|duration)[s] [of %displays%] Description: Returns or changes the interpolation delay/duration of displays. Interpolation duration is the amount of time a display will take to interpolate, or shift, between its current state and a new state. Interpolation delay is the amount of ticks before client-side interpolation will commence.Setting to 0 seconds will make it immediate. Resetting either value will return that value to 0. Examples: set interpolation delay of the last spawned text display to 2 ticks ## Brewing Stand Fuel Level Addon: Skript Category: Expression Syntax: [the] brewing [stand] fuel (level|amount) [of %blocks%] Description: The fuel level of a brewing stand. The fuel level is decreased by one at the start of brewing each potion. Examples: set the brewing stand fuel level of {_block} to 10 clear the brewing stand fuel level of {_block} ## Color from Hex Code Addon: Skript Category: Expression Syntax: [the] colo[u]r[s] (from|of) hex[adecimal] code[s] %strings% Description: Returns a proper argb color from a hex code string. The hex code must contain RRGGBB values, but can also contain a leading # or AARRGGBB format. Invalid codes will cause runtime errors. Examples: send color from hex code "#FFBBA7" send color from hex code "FFBBA7" send color from hex code "#AAFFBBA7" ## Respawn Anchor Charges Addon: Skript Category: Expression Syntax: [the] [max[imum]] charge[s] of %blocks% Description: The charges of a respawn anchor. Examples: set the charges of event-block to 3 ## Villager Type Addon: Skript Category: Expression Syntax: [the] villager type of %livingentities% Description: Represents the type of a villager/zombie villager. This usually represents the biome the villager is from. Examples: set {_type} to villager type of {_villager} villager type of {_villager} = plains set villager type of event-entity to plains ## Equippable Component - Equip Sound Addon: Skript Category: Expression Syntax: [the] equip sound [of %equippablecomponents%] Description: The sound to be played when the item is equipped. NOTE: Equippable component elements are experimental. Thus, they are subject to change and may not work as intended. Examples: set the equip sound of {_item} to "entity.experience_orb.pickup" set {_component} to the equippable component of {_item} set the equip sound of {_component} to "block.note_block.pling" ## Player Protocol Version Addon: Skript Category: Expression Syntax: [the] protocol version of %players% Description: Player's protocol version. For more information and list of protocol versions visit wiki.vg. Examples: command /protocolversion : trigger: send "Protocol version of %arg-1%: %protocol version of arg-1%" ## Last Resource Pack Response Addon: Skript Category: Expression Syntax: [the] [last] resource pack response[s] of %players% Description: Returns the last resource pack response received from a player. Examples: if player's last resource pack response is deny or download fail: ## Beehive Honey Level Addon: Skript Category: Expression Syntax: [the] [max[imum]] honey level [of %blocks%] Description: The current or max honey level of a beehive. The max level is 5, which cannot be changed. Examples: set the honey level of {_beehive} to the max honey level of {_beehive} ## Game Mode Addon: Skript Category: Expression Syntax: [the] game[ ]mode of %players% Description: The gamemode of a player. (Gamemodes) Examples: player's gamemode is survival set the player's gamemode to creative ## Equippable Component - Camera Overlay Addon: Skript Category: Expression Syntax: [the] camera overlay [of %equippablecomponents%] Description: The camera overlay for the player when the item is equipped. Example: The jack-o'-lantern view when having a jack-o'-lantern equipped as a helmet. The camera overlay is represented as a namespaced key. A namespaced key can be formatted as 'namespace:id' or 'id'. It can only contain one ':' to separate the namespace and the id. Only alphanumeric characters, periods, underscores, and dashes can be used. NOTE: Equippable component elements are experimental. Thus, they are subject to change and may not work as intended. Examples: set the camera overlay of {_item} to "custom_overlay" set {_component} to the equippable component of {_item} set the camera overlay of {_component} to "custom_overlay" ## Display Glow Color Override Addon: Skript Category: Expression Syntax: [the] glow[ing] colo[u]r[s] override[s] [of %displays%] Description: Returns or changes the glowing color override of displays. This overrides whatever color is already set for the scoreboard team of the displays. Examples: set glow color override of the last spawned text display to blue ## Enchantment Offer Cost Addon: Skript Category: Expression Syntax: [the] [enchant[ment]] cost of %enchantmentoffers% Description: The cost of an enchantment offer. This is displayed to the right of an enchantment offer. If the cost is changed, it will always be at least 1. This changes how many levels are required to enchant, but does not change the number of levels removed. To change the number of levels removed, use the enchant event. Examples: set cost of enchantment offer 1 to 50 ## Maximum Stack Size Addon: Skript Category: Expression Syntax: [the] max[imum] stack[[ ]size] of %itemtypes/inventories% Description: The maximum stack size of an item (e.g. 64 for torches, 16 for buckets, 1 for swords, etc.) or inventory. In 1.20.5+, the maximum stack size of items can be changed to any integer from 1 to 99, and stacked up to the maximum stack size of the inventory they're in. Examples: send "You can hold %max stack size of player's tool% of %type of player's tool% in a slot." to player set the maximum stack size of inventory of all players to 16 add 8 to the maximum stack size of player's tool reset the maximum stack size of {_gui} ## Interaction Height/Width Addon: Skript Category: Expression Syntax: [the] interaction (height|width)[s] [of %entities%] Description: Returns the height or width of an interaction entity's hitbox. Both default to 1. The width of the hitbox determines the x/z widths Examples: set interaction height of last spawned interaction to 5.3 set interaction width of last spawned interaction to 2 ## Flight Mode Addon: Skript Category: Expression Syntax: [the] fl(y[ing]|ight) (mode|state) of %players% Description: Whether the player(s) are allowed to fly. Use Make Fly effect to force player(s) to fly. Examples: set flight mode of player to true send "%flying state of all players%" ## Facing Addon: Skript Category: Expression Syntax: [the] (horizontal|) facing of %livingentities/blocks% Description: 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') Examples: # makes a bridge loop blocks from the block below the player in the horizontal facing of the player: set loop-block to cobblestone ## Hidden Players Addon: Skript Category: Expression Syntax: [(all [[of] the]|the)] hidden players (of|for) %players% Description: The players hidden from a player that were hidden using the entity visibility effect. Examples: message "<light red>You are currently hiding: <light gray>%hidden players of the player%" ## Size of World Border Addon: Skript Category: Expression Syntax: [the] world[ ]border (size|diameter|radius) [of %worldborders%] Description: The size of a world border. The size can not be smaller than 1. Examples: set world border radius of {_worldborder} to 10 ## IP Addon: Skript Category: Expression Syntax: IP[s][( |-)address[es]] of %players% Description: The IP address of a player, or the connected player in a connect event, or the pinger in a server list ping event. Examples: 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 ## Freeze Time Addon: Skript Category: Expression Syntax: [the] freeze time of %entities% Description: How much time an entity has been in powdered snow for. Examples: player's freeze time is less than 3 seconds: send "you're about to freeze!" to the player ## Looted Entity of Loot Context Addon: Skript Category: Expression Syntax: [the] looted entity [of %lootcontexts%] Description: Returns the looted entity of a loot context. Examples: set {_entity} to looted entity of {_context} set {_context} to a loot context at player: set loot luck value to 10 set looter to player set looted entity to last spawned pig ## Max Minecart Speed Addon: Skript Category: Expression Syntax: [the] max[imum] minecart (speed|velocity) of %entities% Description: The maximum speed of a minecart. Examples: on right click on minecart: set max minecart speed of event-entity to 1 ## Region Members & Owners Addon: Skript Category: Expression Syntax: (all|the|) (members|owner[s]) of [[the] region[s]] %regions% Description: A list of members or owners of a region. This expression requires a supported regions plugin to be installed. Examples: on entering of a region: message "You're entering %region% whose owners are %owners of region%" ## Pickup Delay Addon: Skript Category: Expression Syntax: [the] pick[ ]up delay of %entities% Description: The amount of time before a dropped item can be picked up by an entity. Examples: drop diamond sword at {_location} without velocity set pickup delay of last dropped item to 5 seconds ## Particle Speed/Extra Value Addon: Skript Category: Expression Syntax: [the] (particle speed [value]|extra value) of %particles% Description: Determines the specific 'speed' or 'extra' value of a particle. This value is used in different ways depending on the particle, but in general it: * acts as the speed at which the particle moves if the particle count is greater than 0. * acts as a multiplier to the particle's offset if the particle count is 0. More detailed information on particle behavior can be found at Paper's particle documentation. Examples: set the extra value of {_my-flame-particle} to 2 set the particle speed of {_my-flame-particle} to 0 ## Redstone Block Power Addon: Skript Category: Expression Syntax: [the] redstone power of %blocks% Description: Power of a redstone block Examples: if redstone power of targeted block is 15: send "This block is very powerful!" ## Value Addon: Skript Category: Expression Syntax: [the] [%-*classinfo%] value of %objects% Description: Returns the value of something that has a value, e.g. a node in a config. The value is automatically converted to the specified type (e.g. text, number) where possible. Examples: set {_node} to node "update check interval" in the skript config broadcast text value of {_node} # text value of {_node} = "12 hours" (text) wait for {_node}'s timespan value # timespan value of {_node} = 12 hours (duration) ## Lore Addon: Skript Category: Expression Syntax: [the] lore of %itemtype% Description: Returns the lore of an item. Examples: set the 1st line of the item's lore to "Excalibur 2.0" ## Amount of Items Addon: Skript Category: Expression Syntax: [the] (amount|number) of %itemtypes% (in|of) %inventories% Description: Counts how many of a particular item type are in a given inventory. Examples: message "You have %number of tag values of minecraft tag "diamond_ores" in the player's inventory% diamond ores in your inventory." ## Sign Text Addon: Skript Category: Expression Syntax: line %integer% [of %block%] Description: A line of text on a sign. Can be changed, but note that there is a 16 character limit per line. Examples: on right click: clicked block is tagged as "minecraft:all_signs" if line 2 of the clicked block is "[Heal]": heal the player ## Book Pages Addon: Skript Category: Expression Syntax: [all [[of] the]|the] [book] (pages|content) of %itemtypes% Description: The pages of a book (Supports Skript's chat format) Note: In order to modify the pages of a new written book, you must have the title and author of the book set. Skript will do this for you, but if you want your own, please set those values. Examples: on book sign: if the number of pages of event-item is greater than 1: message "The second page of the authored book is: %page 2 of event-item%" set page 1 of the player's held item to "This page was written with Skript!" ## Banner Patterns Addon: Skript Category: Expression Syntax: [all [[of] the]|the] banner pattern[s] of %itemstacks/itemtypes/slots/blocks% Description: Gets or sets the banner patterns of a banner. In order to set a specific position of a banner, there needs to be that many patterns already on the banner. This expression will add filler patterns to the banner to allow the specified position to be set. For Example, setting the 3rd banner pattern of a banner that has no patterns on it, will internally add 3 base patterns, allowing the 3rd banner pattern to be set. Examples: broadcast banner patterns of {_banneritem} broadcast 1st banner pattern of block at location(0,0,0) clear banner patterns of {_banneritem} ## Item with Custom Model Data Addon: Skript Category: Expression Syntax: %itemtype% with [custom] model data %numbers/booleans/strings/colors% Description: Get an item with custom model data. Examples: give player a diamond sword with custom model data 2 set slot 1 of inventory of player to wooden hoe with custom model data 357 give player a diamond hoe with custom model data 2, true, true, "scythe", and rgb(0,0,100) ## Vectors - Location Vector Offset Addon: Skript Category: Expression Syntax: %location% offset by [[the] vectors] %vectors% [using local axes] Description: Returns the location offset by vectors. Supports both global and local axes. When using local axes, the vector is applied relative to the direction the location is facing. Examples: set {_loc} to {_loc} ~ {_v} # spawn a tnt 5 blocks in front of player set {_l} to player's location offset by vector(0, 1, 5) using local axes spawn tnt at {_l} ## Potion Effect of Entity/Item Addon: Skript Category: Expression Syntax: [the] [active|hidden|(active and hidden|hidden and active)] %potioneffecttypes% [potion] effect[s] of %livingentities/itemtypes% Description: An expression to obtain a specific potion effect type of an entity or item. When an entity is affected by a potion effect but already has a weaker version of that effect type, the weaker version becomes hidden. If the weaker version has a longer duration, it returns after the stronger version expires. NOTE: Hidden effects are not able to be changed. Examples: set {_effect} to the player's active speed effect add 10 seconds to the player's slowness effect clear the player's hidden strength effects reset the player's weakness effects delete the player's active jump boost effect ## Node Addon: Skript Category: Expression Syntax: [the] node %string% (of|in) %node% Description: Returns a node inside a config (or another section-node). Nodes in Skript configs are written in the format `key: value`. Section nodes can contain other nodes. Examples: set {_node} to node "language" in the skript config if text value of {_node} is "french": broadcast "Bonjour!" set {_script} to the current script loop nodes of the current script: broadcast name of loop-value ## Named Item/Inventory Addon: Skript Category: Expression Syntax: %itemtype/inventorytype% (named|with name[s]) %textcomponent% Description: 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 name of <item/inventory> to <text>. Examples: give a diamond sword of sharpness 100 named "Excalibur" to the player set tool of player to the player's tool named "Wand" set the name of the player's tool to "Wand" open hopper inventory named "Magic Hopper" to player ## Item with Lore Addon: Skript Category: Expression Syntax: %itemtype% with [a|the] lore %textcomponents/strings% Description: Returns a copy of an item with with new lore. If passing multiple components, each with be a line of lore. Examples: set {_item} to stone with lore "line 1" and "line 2" give {_item} to player ## Items In Addon: Skript Category: Expression Syntax: [all [[of] the]] items ([with]in|of|contained in|out of) [inventor(y|ies)] %inventories% Description: All items or specific type(s) of 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. Examples: 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 ## Armor Slot Addon: Skript Category: Expression Syntax: [the] (%-*equipmentslots%|[the] armo[u]r[s]) [item[s]] of %livingentities% Description: Equipment of living entities, i.e. the boots, leggings, chestplate or helmet. Body armor is a special slot that can only be used for:
  • Horses: Horse armour (doesn't work on zombie or skeleton horses)
  • Wolves: Wolf Armor
  • Llamas (regular or trader): Carpet
  • Happy Ghasts: Harness
Saddle is a special slot that can only be used for: pigs, striders and horse types (horse, camel, llama, mule, donkey). Examples: set chestplate of the player to a diamond chestplate helmet of player is neither tag values of tag "paper:helmets" nor air # player is wearing a block, e.g. from another plugin ## Formatted Date Addon: Skript Category: Expression Syntax: %dates% formatted [human-readable] [(with|as) %-string%] Description: 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. Examples: command /date: trigger: send "Full date: %now formatted human-readable%" to sender send "Short date: %now formatted as "yyyy-MM-dd"%" to sender ## Metadata Addon: Skript Category: Expression Syntax: metadata [(value|tag)[s]] %strings% of %metadataholders% Description: Metadata is a way to store temporary data on entities, blocks and more that disappears after a server restart. Examples: set metadata value "healer" of player to true broadcast "%metadata value "healer" of player%" clear metadata value "healer" of player ## Value Within Addon: Skript Category: Expression Syntax: [the] (%-*classinfo%|value[s]) (within|in) %~objects% Description: Gets the value within objects. Usually used with variables to get the value they store rather than the variable itself, or with lists to get the values of a type. Examples: set {_entity} to a random entity out of all entities delete entity within {_entity} # This deletes the entity itself and not the value stored in the variable set {_list::*} to "something", 10, "test" and a zombie broadcast the strings within {_list::*} # "something", "test" ## Enchantment Level Addon: Skript Category: Expression Syntax: [the] [enchant[ment]] level[s] of %enchantments% (on|of) %itemtypes% Description: The level of a particular enchantment on an item. Examples: player's tool is a sword of sharpness: message "You have a sword of sharpness %level of sharpness of the player's tool% equipped" ## Value of Subnode Addon: Skript Category: Expression Syntax: [the] %*classinfo% value [at] %string% (from|in) %node% Description: Returns the value of an sub-node of the given node, following the provided path. The value is automatically converted to the specified type (e.g. text, number) where possible. Examples: set {_node} to node "language" in the skript config broadcast the text value of {_node} ## Persistent Data Value Addon: Skript Category: Expression Syntax: [the] [persistent] [%-*classinfo%] [list] data (value|tag) %string% of %chunks/worlds/entities/blocks/itemtypes/offlineplayers% Description: Provides access to the 'persistent data container' Bukkit provides on many objects. These values are stored on the chunk/world/item/entity directly, like custom NBT, but are much faster and reliable to access. Persistent values natively support numbers and text, but any Skript type that can be saved in a variable can also be stored in PDC via this expression. Lists of objects can also be saved. If you attempt to save invalid types, runtime errors will be thrown. The names of tags must be valid namespaced keys, i.e. a-z, 0-9, '_', '.', '/', and '-' are the allowed characters. If no namespace is provided, it will default to 'minecraft'. Examples: set persistent data tag "custom_damage" of player's tool to 10 on jump: if data tag "boost" of player's boots is set: push player upwards on shoot: set {_strength} to number data tag "strength" of shooter's tool if {_strength} is set: set number data tag "damage" of projectile to {_strength} on damage: set {_damage} to data tag "damage" of projectile if {_damage} is set: set damage to {_damage} ## Target Addon: Skript Category: Expression Syntax: [the] target[[ed] %-*entitydata%] [of %livingentities%] [ignoring blocks] [[with|at] [a] ray[ ]size [of] %-number%] Description: For players this is the entity at the crosshair. For mobs and experience orbs this is the entity they are attacking/following (if any). The 'ray size' and 'ignoring blocks' options are only valid for players' targets. The 'ray size' option effectively increases the area around the crosshair an entity can be in. It does so by expanding the hitboxes of entities by the given amount. Display entities have a hit box of 0, so using the 'ray size' option can be helpful when targeting them. May grab entities in unloaded chunks. Examples: on entity target: if entity's target is a player: send "You're being followed by an %entity%!" to target of entity reset target of entity # Makes the entity target-less delete targeted entity of player # for players it will delete the target ## Elements Addon: Skript Category: Expression Syntax: [the] (first|last) element [out] of %objects% Description: The first, last, range or a random element of a set, e.g. a list variable, or a queue. Asking for elements from a queue will also remove them from the queue, see the new queue expression for more information. See also: random expression Examples: broadcast the first 3 elements of {top players::*} set {_last} to last element of {top players::*} set {_random player} to random element out of all players send 2nd last element of {top players::*} to player set {page2::*} to elements from 11 to 20 of {top players::*} broadcast the 1st element in {queue} broadcast the first 3 elements in {queue} ## Light Level Addon: Skript Category: Expression Syntax: [(sky|sun|block)[ ]]light[ ]level [(of|%direction%) %location%] Description: 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. Examples: # 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 ## Regions At Addon: Skript Category: Expression Syntax: [the] region(s|) %direction% %locations% Description: All regions at a particular location. This expression requires a supported regions plugin to be installed. Examples: On click on a sign: line 1 of the clicked block is "[region info]" set {_regions::*} to regions at the clicked block if {_regions::*} is empty: message "No regions exist at this sign." else: message "Regions containing this sign: %{_regions::*}%." ## Biome Addon: Skript Category: Expression Syntax: [the] biome [(of|%direction%) %locations%] Description: 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), up until Minecraft 1.15.x. As of Minecraft 1.16, biomes are now 3D (per block vs column). Examples: # damage player in deserts constantly every real minute: loop all players: biome at loop-player is desert damage the loop-player by 1 ## Whether Addon: Skript Category: Expression Syntax: whether <.+> Description: A shorthand for returning the result of a condition (true or false). This is functionally identical to using `true if else false`. Examples: set {fly} to whether player can fly broadcast "Flying: %whether player is flying%" ## Creature/Entity/Player/Projectile/Villager/Powered Creeper/etc. Addon: Skript Category: Expression Syntax: [the] [event-]<.+> Description: 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'. Examples: 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 ## New Potion Effect Addon: Skript Category: Expression Syntax: %*potioneffecttype% <-?\d+(_\d+)*> Description: Create a new potion effect that can be applied to an entity or item type. Examples: set {_potion} to a potion effect of speed 2 for 10 minutes: hide the effect's icon hide the effect's particles add strength 5 to the potion effects of the player's tool apply invisibility to the player for 5 minutes: hide the effect's particles ## Reduce Addon: Skript Category: Expression Syntax: %objects% (reduced|folded) (to|with|by) \[<.+>\] Description: Reduces lists to single values by repeatedly applying an operation. The reduce expression takes each element and combines it with an accumulator value. Use 'reduced value' to access the current accumulated value and 'input' for the current element. Examples: set {_sum} to {_numbers::*} reduced with [reduced value + input] set {_product} to {_values::*} reduced with [reduced value * input] set {_concatenated} to {_strings::*} reduced with ["%reduced value%%input%"] ## Transformed List Addon: Skript Category: Expression Syntax: %objects% (transformed|mapped) (using|with) \[<.+>\] Description: Transforms (or 'maps') a list's values using a given expression. This is akin to looping over the list and getting a modified version of each value. 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. Examples: set {_a::*} to (1, 2, and 3) transformed using (input * 2 - 1, input * 2) # {_a::*} is now 1, 2, 3, 4, 5, and 6 # get a list of the sizes of all clans without manually looping set {_clan-sizes::*} to keyed {clans::*} transformed using [{clans::%input index%::size}] # using the 'keyed' expression retains the indices of the clans list ## Sets Addon: Skript Category: Expression Syntax: [all [[of] the]|the|every] %*classinfo% Description: Returns a list of all the values of a type. Useful for looping. Examples: loop all attribute types: set loop-value attribute of player to 10 message "Set attribute %loop-value% to 10!" ## Any Of Addon: Skript Category: Expression Syntax: (any [one]|one) of [the] %objects% Description: Returns an 'or list' composed of the given objects. For example, `any of (1, 2, and 3)` is equivalent to `1, 2, or 3` Useful when doing comparisons with variable lists. Examples: if any of {_numbers::*} are 1: if any of {teamA::*} are within location(0, 0, 0) and location(10, 10, 10): ## Parse Addon: Skript Category: Expression Syntax: %string% parsed as (%-*classinfo%|"<.*>") Description: 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}. Examples: 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 ## Arithmetic Addon: Skript Category: Expression Syntax: \(%object%\)[ ]^[ ]\(%object%\) Description: Arithmetic expressions, e.g. 1 + 2, (health of player - 2) / 3, etc. Examples: 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!" ## X of Item/Entity Type Addon: Skript Category: Expression Syntax: %number% of %itemstacks/itemtypes/entitytypes/particles% Description: An expression for using an item or entity type with a different amount. Examples: give level of player of iron pickaxes to the player ## Entities Addon: Skript Category: Expression Syntax: [(all [[of] the]|the)] %*entitydatas% [(in|of) (world[s] %-worlds%|%-worlds/chunks%)] Description: All entities in all worlds, in a specific world, in a chunk, in a radius around a certain location or within two locations. e.g. all players, all creepers in the player's world, or players in radius 100 of the player. Examples: kill all creepers in the player's world send "Psst!" to all players within 100 meters of the player give a diamond to all ops heal all tamed wolves in radius 2000 around {town center} delete all monsters in chunk at player size of all players within {_corner::1} and {_corner::2}} ## Create Loot Context Addon: Skript Category: Expression Syntax: [a] loot context %direction% %location% Description: Create a loot context. Examples: set {_player} to player set {_context} to a loot context at player: set loot luck value to 10 set looter to {_player} set looted entity to last spawned pig give player loot items of loot table "minecraft:entities/iron_golem" with loot context {_context} ## On Brewing Start Addon: Skript Category: Event Syntax: [on] brew[ing] start[ed|ing] Description: Called when a brewing stand starts brewing. Examples: on brewing start: set the brewing time to 1 second ## On Loot Generate Addon: Skript Category: Event Syntax: [on] loot generat(e|ing) Description: Called when a loot table of an inventory is generated in the world. For example, when opening a shipwreck chest. Examples: on loot generate: chance of 10% add 64 diamonds to the loot send "You hit the jackpot at %event-location%!" ## On Chat Addon: Skript Category: Event Syntax: [on] chat Description: Called whenever a player chats. Use chat format to change message format. Use chat recipients to edit chat recipients. Examples: on chat: if the player has permission "owner": set the chat format to "[player]: [message]" else if the player has permission "admin": set the chat format to "[player]: [message]" else: # default message format set the chat format to "[player]: [message]" ## On Love Mode Enter Addon: Skript Category: Event Syntax: [on] [entity] enter[s] love mode Description: Called whenever an entity enters a state of being in love. Examples: on love mode enter: cancel event # No one is allowed love here ## On Fishing Addon: Skript Category: Event Syntax: [on] [fishing] (line|rod) cast Description: Called when a player triggers a fishing event. An entity hooked event is triggered when an entity gets caught by a fishing rod. A fish escape event is called when the player fails to click on time, and the fish escapes. A fish approaching event is when the bobber is waiting to be hooked, and a fish is approaching. A fishing state change event is triggered whenever the fishing state changes. Examples: on fishing line cast: send "You caught a fish!" to player on entity caught: push event-entity vector from entity to player on fishing state change: if event-fishing state is fish caught: broadcast "A fish has been caught!" ## On AoE Cloud Effect Addon: Skript Category: Event Syntax: [on] (area|AoE) [cloud] effect Description: Called when area effect cloud applies its potion effect. This happens every 5 ticks by default. Examples: on area cloud effect: ## On Stop Using Item Addon: Skript Category: Event Syntax: [on] [player] (stop|end) (using item|item use) Description: Called when a player stops using an item. For example, when the player releases the interact button when holding a bow, an edible item, or a spyglass. Note that event-timespan will return the time the item was used for. Examples: on player stop using item: broadcast "%player% used %event-item% for %event-timespan%." ## On Chunk Unload Addon: Skript Category: Event Syntax: [on] chunk unload[ing] Description: Called when a chunk is unloaded due to not being near any player. Examples: on chunk unload: ## On Explosion Prime Addon: Skript Category: Event Syntax: [on] explosion prime Description: 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. Examples: on explosion prime: ## On Item Mend Addon: Skript Category: Event Syntax: [on] item mend[ing] Description: Called when a player has an item repaired via the Mending enchantment. Examples: on item mend: chance of 50%: cancel the event send "Oops! Mending failed!" to player ## On Bucket fill Addon: Skript Category: Event Syntax: [on] bucket fill[ing] Description: Called when a player fills a bucket. Examples: on player filling a bucket: ## On Language Change Addon: Skript Category: Event Syntax: [on] [player] (language|locale) chang(e|ing) Description: 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. Examples: on language change: if player's language starts with "en": send "Hello!" ## On Block Damage Addon: Skript Category: Event Syntax: [on] block damag(ing|e) Description: Called when a player starts to break a block. You can usually just use the leftclick event for this. Examples: on block damaging: if block is tagged with minecraft tag "logs": send "You can't break the holy log!" ## On Book Sign Addon: Skript Category: Event Syntax: [on] book sign[ing] Description: Called when a player signs a book. Examples: on book sign: ## On Book Edit Addon: Skript Category: Event Syntax: [on] book (edit|change|write) Description: Called when a player edits a book. Examples: on book edit: ## On Sprint Toggle Addon: Skript Category: Event Syntax: [on] [player] toggl(e|ing) sprint Description: Called when a player starts or stops sprinting. Use is sprinting to get whether the player was sprinting before the event was called. Examples: on sprint toggle: player is not sprinting send "Run!" ## On Target Addon: Skript Category: Event Syntax: [on] [entity] target Description: Called when a mob starts/stops following/attacking another entity, usually a player. Examples: on entity target: target is a player ## On Inventory Close Addon: Skript Category: Event Syntax: [on] inventory clos(ing|e[d]) Description: Called when player's currently viewed inventory is closed. Examples: on inventory close: if player's location is {location}: send "You exited the shop!" ## On Explode Addon: Skript Category: Event Syntax: [on] explo(d(e|ing)|sion) Description: Called when an entity (a primed TNT or a creeper) explodes. Examples: on explosion: ## On Player Chunk Enter Addon: Skript Category: Event Syntax: [on] [player] (enter[s] [a] chunk|chunk enter[ing]) Description: Called when a player enters a chunk. Note that this event is based on 'player move' event, and may be called frequent internally. Examples: on player enters a chunk: send "You entered a chunk: %past event-chunk% -> %event-chunk%!" to player ## On Zombie Break Door Addon: Skript Category: Event Syntax: [on] zombie break[ing] [a] [wood[en]] door Description: Called when a zombie is done breaking a wooden door. Can be cancelled to prevent the zombie from breaking the door. Examples: on zombie breaking a wood door: ## On Vehicle Destroy Addon: Skript Category: Event Syntax: [on] vehicle destroy Description: Called when a vehicle is destroyed. Any passenger will be ejected and the vehicle might drop some item(s). Examples: on vehicle destroy: cancel event ## On Entity Jump Addon: Skript Category: Event Syntax: [on] entity jump[ing] Description: Called when an entity jumps. Examples: on entity jump: if entity is a wither skeleton: cancel event ## On Flow Addon: Skript Category: Event Syntax: [on] [block] flow[ing] Description: Called when a blocks flows or teleports to another block. This not only applies to water and lava, but teleporting dragon eggs as well. Examples: on block flow: if event-block is water: broadcast "Build more dams! It's starting to get wet in here" ## On Piston Retract Addon: Skript Category: Event Syntax: [on] piston retract[ing] Description: Called when a piston is about to retract. Examples: on piston retract: broadcast "A piston is retracting!" ## On Tool Change Addon: Skript Category: Event Syntax: [on] [player['s]] (tool|item held|held item) chang(e|ing) Description: Called whenever a player changes their 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. Examples: on player's held item change: ## On Spawn Change Addon: Skript Category: Event Syntax: [on] [world] spawn change Description: Called when the spawn point of a world changes. Examples: on spawn change: broadcast "someone changed the spawn!" ## On Tame Addon: Skript Category: Event Syntax: [on] [entity] tam(e|ing) Description: Called when a player tames a wolf or ocelot. Can be cancelled to prevent the entity from being tamed. Examples: on tame: ## On Item Break Addon: Skript Category: Event Syntax: [on] [player] tool break[ing] Description: Called when a player breaks their tool because its damage reached the maximum value. This event cannot be cancelled. Examples: on tool break: ## On Swim Toggle Addon: Skript Category: Event Syntax: [on] [entity] toggl(e|ing) swim Description: Called when an entity swims or stops swimming. Examples: on swim toggle: event-entity does not have permission "swim" cancel event ## On Vehicle Create Addon: Skript Category: Event Syntax: [on] vehicle create Description: Called when a new vehicle is created, e.g. when a player places a boat or minecart. Examples: on vehicle create: ## On Enchant Addon: Skript Category: Event Syntax: [on] [item] enchant Description: Called when a player successfully enchants an item. To get the enchanted item, see the enchant item expression Examples: on enchant: if the clicked button is 1: # offer 1 set the applied enchantments to sharpness 10 and unbreaking 10 ## On Horse Jump Addon: Skript Category: Event Syntax: [on] horse jump Description: Called when a horse jumps. Examples: on horse jump: push event-entity upwards at speed 2 ## On Script Load/Unload Addon: Skript Category: Event Syntax: [on] [async] [script] (load|init|enable) Description: Called directly after the trigger is loaded, or directly before the whole script is unloaded. The keyword 'async' indicates the trigger can be ran asynchronously, Examples: on load: set {running::%script%} to true on unload: set {running::%script%} to false ## On Chunk Load Addon: Skript Category: Event Syntax: [on] chunk load[ing] Description: Called when a chunk loads. The chunk might or might not contain mobs when it's loaded. Examples: on chunk load: ## On Villager Career Change Addon: Skript Category: Event Syntax: [on] villager career chang(e[d]|ing) Description: Called when a villager changes its career. Can be caused by being employed or losing their job. Examples: on villager career change: if all: event-career change reason is employment event-villager profession is armorer profession then: cancel event ## On Experience Change Addon: Skript Category: Event Syntax: [on] [player] (level progress|[e]xp|experience) (change|update|increase|decrease) Description: Called when a player's experience changes. Examples: on level progress change: set {_xp} to event-experience broadcast "%{_xp}%" ## On Pressure Plate / Trip Addon: Skript Category: Event Syntax: [on] [step[ping] on] [a] [pressure] plate Description: Called when a player steps on a pressure plate or tripwire respectively. Examples: on step on pressure plate: ## On Beacon Toggle Addon: Skript Category: Event Syntax: [on] beacon toggle Description: Called when a beacon is activated or deactivated. Examples: on beacon toggle: on beacon activate: on beacon deactivate: ## On Beacon Change Effect Addon: Skript Category: Event Syntax: [on] beacon change effect Description: Called when a player changes the effects of a beacon. Examples: on beacon effect change: broadcast event-player broadcast event-block broadcast primary beacon effect broadcast secondary beacon effect on beacon change effect: on player change beacon effect: ## On Projectile Collide Addon: Skript Category: Event Syntax: [on] projectile collide Description: Called when a projectile collides with an entity. Examples: on projectile collide: teleport shooter of event-projectile to event-entity ## On Kick Addon: Skript Category: Event Syntax: [on] [player] (kick|being kicked) Description: Called when a player is kicked from the server. You can change the kick message or cancel the event entirely. Examples: on kick: ## On Server Start/Stop Addon: Skript Category: Event Syntax: [on] (server|skript) (start|load|enable) Description: Called when the server starts or stops (actually, when Skript starts or stops, so a /reload will trigger these events as well). Examples: on skript start: on server stop: ## On Entity Mount Addon: Skript Category: Event Syntax: [on] mount[ing] Description: Called when entity starts riding another. Examples: on mount: cancel event ## On Piglin Barter Addon: Skript Category: Event Syntax: [on] piglin (barter[ing]|trad(e|ing)) Description: Called when a piglin finishes bartering. A piglin may start bartering after picking up an item on its bartering list. Cancelling will prevent piglins from dropping items, but will still make them pick up the input. Examples: on piglin barter: if barter drops contain diamond: send "Diamonds belong in the money pit!" to player cancel event ## On Slime Split Addon: Skript Category: Event Syntax: [on] slime split[ting] Description: Called when a slime splits. Usually this happens when a big slime dies. Examples: on slime split: ## On Block Fertilize Addon: Skript Category: Event Syntax: [on] [block] fertilize Description: Called when a player fertilizes blocks. Examples: on block fertilize: send "Fertilized %size of fertilized blocks% blocks got fertilized." ## On Bucket Empty Addon: Skript Category: Event Syntax: [on] bucket empty[ing] Description: Called when a player empties a bucket. You can also use the place event with a check for water or lava. Examples: on bucket empty: ## On Portal Create Addon: Skript Category: Event Syntax: [on] portal creat(e|ion) Description: 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. In Minecraft 1.14+, you can use the player in this event. Please note that there may not always be a player (or other entity) in this event. Examples: on portal create: ## On Piston Extend Addon: Skript Category: Event Syntax: [on] piston extend[ing] Description: Called when a piston is about to extend. Examples: on piston extend: broadcast "A piston is extending!" ## On Inventory Drag Addon: Skript Category: Event Syntax: [on] inventory drag[ging] Description: Called when a player drags an item in their cursor across the inventory. Examples: on inventory drag: if player's current inventory is {_gui}: send "You can't drag your items here!" to player cancel event ## On Vehicle Exit Addon: Skript Category: Event Syntax: [on] vehicle exit Description: Called when an entity exits a vehicle. Examples: on vehicle exit: if event-entity is a spider: kill event-entity ## On Connect Addon: Skript Category: Event Syntax: [on] [player] connect[ing] Description: 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. Examples: 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." ## On Sign Change Addon: Skript Category: Event Syntax: [on] sign (chang[e]|edit)[ing] Description: As signs are placed empty, this event is called when a player is done editing a sign. Examples: on sign change: line 2 is empty set line 1 to "<red>%line 1%" ## On Respawn Addon: Skript Category: Event Syntax: [on] [player] respawn[ing] Description: Called when a player respawns via death or entering the end portal in the end. You should prefer this event over the death event as the player is technically alive when this event is called. Examples: on respawn: ## On Inventory Pickup Addon: Skript Category: Event Syntax: [on] inventory pick[ ]up Description: Called when an inventory (a hopper, a hopper minecart, etc.) picks up an item Examples: on inventory pickup: ## On Ignition Addon: Skript Category: Event Syntax: [on] [block] ignit(e|ion) Description: 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. Examples: on block ignite: if event-block is a ladder: cancel event ## On Spread Addon: Skript Category: Event Syntax: [on] spread[ing] Description: Called when a new block forms as a result of a block that can spread, e.g. water or mushrooms. Examples: on spread: ## On Send Command List Addon: Skript Category: Event Syntax: [on] send[ing] [of [the]] [server] command[s] list Description: Called when the server sends a list of commands to the player. This usually happens on join. The sent commands can be modified via the sent commands expression. Modifications will affect what commands show up for the player to tab complete. They will not affect what commands the player can actually run. Adding new commands to the list is illegal behavior and will be ignored. Examples: on send command list: set command list to command list where [input does not contain ":"] remove "help" from command list ## On Hunger Meter Change Addon: Skript Category: Event Syntax: [on] (food|hunger) (level|met(er|re)|bar) chang(e|ing) Description: Called when the hunger bar of a player changes, i.e. either increases by eating or decreases over time. Examples: on food bar change: ## On Item Damage Addon: Skript Category: Event Syntax: [on] item damag(e|ing) Description: Called when an item is damaged. Most tools are damaged by using them; armor is damaged when the wearer takes damage. Examples: on item damage: cancel event ## On Portal Addon: Skript Category: Event Syntax: [on] [player] portal Description: Called when a player or an entity uses a nether or end portal. Note that 'on entity portal' event does not apply to players. Cancel the event to prevent the entity from teleporting. Examples: on portal: broadcast "%player% has entered a portal!" on player portal: player's world is world("wilderness") set world of event-location to player's world add 9000 to x-pos of event-location on entity portal: broadcast "A %type of event-entity% has entered a portal! ## On Anvil Damage Addon: Skript Category: Event Syntax: [on] anvil damag(e|ing) Description: Called when an anvil is damaged/broken from being used to repair/rename items. Note: this does not include anvil damage from falling. Examples: on anvil damage: cancel the event ## On Anvil Prepare Addon: Skript Category: Event Syntax: [on] anvil prepar(e|ing) Description: Called when an item is put in a slot for repair by an anvil. Please note that this event is called multiple times in a single item slot move. Examples: on anvil prepare: event-item is set # result item chance of 5%: set repair cost to repair cost * 50% send "You're LUCKY! You got 50% discount." to player ## On Bed Leave Addon: Skript Category: Event Syntax: [on] bed leav(e|ing) Description: Called when a player leaves a bed. Examples: on player leaving a bed: ## On Gliding State Change Addon: Skript Category: Event Syntax: [on] (gliding state change|toggl(e|ing) gliding) Description: Called when an entity toggles glider on or off, or when server toggles gliding state of an entity forcibly. Examples: on toggling gliding: cancel the event # bad idea, but you CAN do it! ## On Redstone Addon: Skript Category: Event Syntax: [on] redstone [current] [chang(e|ing)] Description: Called when the redstone current of a block changes. This event is of not much use yet. Examples: on redstone change: send "someone is using redstone" to console ## On Quit Addon: Skript Category: Event Syntax: [on] (quit[ting]|disconnect[ing]|log[ ]out|logging out|leav(e|ing)) Description: Called when a player leaves the server. Examples: on quit: on disconnect: ## On Resurrect Attempt Addon: Skript Category: Event Syntax: [on] [entity] resurrect[ion] [attempt] Description: Called when an entity dies, always. If they are not holding a totem, this is cancelled - you can, however, uncancel it. Examples: on resurrect attempt: entity is player entity has permission "admin.undying" uncancel the event ## On Sneak Toggle Addon: Skript Category: Event Syntax: [on] [player] toggl(e|ing) sneak Description: Called when a player starts or stops sneaking. Use is sneaking to get whether the player was sneaking before the event was called. Examples: # make players that stop sneaking jump on sneak toggle: player is sneaking push the player upwards at speed 0.5 ## On Vehicle Damage Addon: Skript Category: Event Syntax: [on] vehicle damage Description: Called when a vehicle gets damage. Too much damage will destroy the vehicle. Examples: on vehicle damage: ## On Jump Addon: Skript Category: Event Syntax: [on] [player] jump[ing] Description: Called whenever a player jumps. This event requires PaperSpigot. Examples: on jump: event-player does not have permission "jump" cancel event ## On Vehicle Enter Addon: Skript Category: Event Syntax: [on] vehicle enter Description: Called when an entity enters a vehicle, either deliberately (players) or by falling into them (mobs). Examples: on vehicle enter: entity is a player cancel event ## On First Join Addon: Skript Category: Event Syntax: [on] first (join|login) Description: Called when a player joins the server for the first time. Examples: on first join: broadcast "Welcome %player% to the server!" ## On Bed Enter Addon: Skript Category: Event Syntax: [on] bed enter[ing] Description: Called when a player starts sleeping. Examples: on bed enter: ## On World Border Center Change Addon: Skript Category: Event Syntax: [on] world[ ]border center chang(e|ing) Description: Called when a world border's center has changed. This event does not get called for virtual borders. Examples: on worldborder center change: broadcast "The center of %event-worldborder% has moved from %past event-location% to %event-location%" ## On Level Change Addon: Skript Category: Event Syntax: [on] [player] level (change|up|-down) Description: Called when a player's level changes, e.g. by gathering experience or by enchanting something. Examples: on level change: ## On Enderman Enrage Addon: Skript Category: Event Syntax: [on] enderman (enrage|anger) Description: Called when an enderman gets mad because a player looked at them. Note: This does not stop enderman from targeting the player as a result of getting damaged. Examples: # Stops endermen from getting angry players with the permission "safeFrom.enderman" on enderman enrage: if player has permission "safeFrom.enderman": cancel event ## On Combust Addon: Skript Category: Event Syntax: [on] combust[ing] Description: Called when an entity is set on fire, e.g. by fire or lava, a fireball, or by standing in direct sunlight (zombies, skeletons). Examples: on combust: ## On Enchant Prepare Addon: Skript Category: Event Syntax: [on] [item] enchant prepare Description: Called when a player puts an item into enchantment table. This event may be called multiple times. To get the enchant item, see the enchant item expression Examples: on enchant prepare: set enchant offer 1 to sharpness 1 set the cost of enchant offer 1 to 10 levels ## On Player World Change Addon: Skript Category: Event Syntax: [on] [player] world chang(ing|e[d]) Description: Called when a player enters a world. Does not work with other entities! Examples: on player world change: world is "city" send "Welcome to the City!" ## On Can Build Check Addon: Skript Category: Event Syntax: [on] [block] can build check Description: 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. Examples: on block can build check: cancel event ## On Elytra Boost Addon: Skript Category: Event Syntax: [on] elytra boost Description: Called when a player uses a firework to boost their fly speed when flying with an elytra. Examples: on elytra boost: if the used firework will be consumed: prevent the used firework from being consume ## On Inventory Open Addon: Skript Category: Event Syntax: [on] inventory open[ed] Description: Called when an inventory is opened for player. Examples: on inventory open: close player's inventory ## On Lightning Strike Addon: Skript Category: Event Syntax: [on] lightning [strike] Description: Called when lightning strikes. Examples: on lightning: spawn a zombie at location of event-entity ## On Ready Arrow Addon: Skript Category: Event Syntax: [on] [player] ((ready|choose|draw|load) arrow|arrow (choose|draw|load)) Description: Called when a player is firing a bow and the server is choosing an arrow to use. Cancelling this event will skip the current arrow item and fire a new event for the next arrow item. The arrow and bow in the event can be accessed with the Readied Arrow/Bow expression. Examples: on player ready arrow: selected bow's name is "Spectral Bow" if selected arrow is not a spectral arrow: cancel event ## On Chunk Generate Addon: Skript Category: Event Syntax: [on] chunk (generat|populat)(e|ing) Description: Called after a new chunk was generated. Examples: on chunk generate: ## On Entity Dismount Addon: Skript Category: Event Syntax: [on] dismount[ing] Description: Called when an entity dismounts. Examples: on dismount: kill event-entity ## On Arm Swing Addon: Skript Category: Event Syntax: [on] [player] arm swing Description: Called when a player swings their arm. Examples: on arm swing: send "You swung your arm!" ## On Vehicle Move Addon: Skript Category: Event Syntax: [on] vehicle move Description: Called when a vehicle moves. Please note that using this event can cause lag if there are multiple vehicle entities, i.e. Horse, Pig, Boat, Minecart Examples: on vehicle move: broadcast past event-location broadcast event-location ## On Inventory Item Move Addon: Skript Category: Event Syntax: [on] inventory item (move|transport) Description: Called when an entity or block (e.g. hopper) tries to move items directly from one inventory to another. When this event is called, the initiator may have already removed the item from the source inventory and is ready to move it into the destination inventory. If this event is cancelled, the items will be returned to the source inventory. Examples: on inventory item move: broadcast "%holder of past event-inventory% is transporting %event-item% to %holder of event-inventory%!" ## On Sheep Regrow Wool Addon: Skript Category: Event Syntax: [on] sheep [re]grow[ing] wool Description: Called when sheep regrows its sheared wool back. Examples: on sheep grow wool: cancel event ## On Pig Zap Addon: Skript Category: Event Syntax: [on] pig[ ]zap Description: Called when a pig is stroke by lightning and transformed into a zombie pigman. Cancel the event to prevent the transformation. Examples: on pig zap: ## On Bell Resonate Addon: Skript Category: Event Syntax: [on] bell resonat(e|ing) Description: Called when a bell resonates, highlighting nearby raiders. Examples: on bell resonate: send "Raiders are nearby!" to all players in radius 32 around event-block ## On Hand Item Swap Addon: Skript Category: Event Syntax: [on] swap[ping of] [(hand|held)] item[s] Description: 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. Examples: on swap hand items: event-player's tool is a diamond sword cancel event ## On World Border Bounds Change Addon: Skript Category: Event Syntax: [on] world[ ]border [bounds] chang(e|ing) Description: Called when a world border changes its bounds, either over time, or instantly. This event does not get called for virtual borders. Examples: on worldborder bounds change: broadcast "The diameter of %event-worldborder% is changing from %past event-number% to %event-number% over the next %event-timespan%" ## On World Border Bounds Finish Change Addon: Skript Category: Event Syntax: [on] world[ ]border [bounds] finish chang(e|ing) Description: Called when a moving world border has finished its move. This event does not get called for virtual borders. Examples: on worldborder bounds finish change: broadcast "Over the past %event-timespan%, the diameter of %event-worldborder% went from %past event-number% to %event-number%" ## On Projectile Hit Addon: Skript Category: Event Syntax: [on] projectile hit Description: Called when a projectile hits an entity or a block. Examples: on projectile hit: if victim's health <= 3: delete event-projectile ## On Vault Display Item Addon: Skript Category: Event Syntax: [on] vault display[ing] item Description: Called when a vault in a trial chamber is about to display an item. Examples: on vault display item: set event-item to a netherite ingot ## On Leaves Decay Addon: Skript Category: Event Syntax: [on] leaves decay[ing] Description: Called when a leaf block decays due to not being connected to a tree. Examples: on leaves decay: ## On Inventory Slot Change Addon: Skript Category: Event Syntax: [on] [player] inventory slot chang(e|ing) Description: Called when a slot in a player's inventory is changed. Warning: setting the event-slot to a new item can result in an infinite loop. Examples: on inventory slot change: if event-item is a diamond: send "You obtained a diamond!" to player ## On Physics Addon: Skript Category: Event Syntax: [on] [block] physics Description: 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. Examples: # prevents sand from falling on block physics: block is sand cancel event ## On Creeper Power Addon: Skript Category: Event Syntax: [on] creeper power Description: Called when a creeper is struck by lighting and gets powered. Cancel the event to prevent the creeper from being powered. Examples: on creeper power: ## On Shoot Addon: Skript Category: Event Syntax: [on] [projectile] (shoot|launch) Description: Called whenever a projectile is shot. Use the shooter expression to get who shot the projectile. Examples: on shoot: if projectile is an arrow: send "you shot an arrow!" to shooter ## On Bat Toggle Sleep Addon: Skript Category: Event Syntax: [on] bat toggle sleep Description: Called when a bat attempts to go to sleep or wakes up. Examples: on bat toggle sleep: ## On Player Pickup Arrow Addon: Skript Category: Event Syntax: [on] [player] (pick[ing| ]up [an] arrow|arrow pick[ing| ]up) Description: Called when a player picks up an arrow from the ground. Examples: on arrow pickup: cancel the event teleport event-projectile to block 5 above event-projectile ## On Player Trade Addon: Skript Category: Event Syntax: [on] player trad(e|ing) Description: Called when a player has traded with a villager. Examples: on player trade: chance of 50%: cancel event send "The trade was somehow denied!" to player ## On Join Addon: Skript Category: Event Syntax: [on] [player] (login|logging in|join[ing]) Description: 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. Examples: on join: message "Welcome on our awesome server!" broadcast "%player% just joined the server!" ## On Bell Ring Addon: Skript Category: Event Syntax: [on] bell ring[ing] Description: Called when a bell is rung. Examples: on bell ring: send "Ding-dong!" to all players in radius 10 of event-block ## On Portal Enter Addon: Skript Category: Event Syntax: [on] portal enter[ing] Description: Called when an entity enters a nether portal or an end portal. Please note that this event will be fired many times for a nether portal. Examples: on portal enter: ## On Flight Toggle Addon: Skript Category: Event Syntax: [on] [player] flight toggl(e|ing) Description: Called when a players stops/starts flying. Examples: on flight toggle: if {game::%player%::playing} exists: cancel event ## On Broadcast Addon: Skript Category: Event Syntax: [on] broadcast Description: Called when a message is broadcasted. Examples: on broadcast: set broadcast-message to "&c[BROADCAST] %broadcasted message%" ## On Sponge Absorb Addon: Skript Category: Event Syntax: [on] sponge absorb Description: Called when a sponge absorbs blocks. Examples: on sponge absorb: loop absorbed blocks: broadcast "%loop-block% was absorbed by a sponge"! ## On Experience Cooldown Change Addon: Skript Category: Event Syntax: [on] player (experience|[e]xp) cooldown change Description: Called when a player's experience cooldown changes. Experience cooldown is how long until a player can pick up another orb of experience. Examples: on player experience cooldown change: broadcast event-player broadcast event-timespan broadcast past event-timespan broadcast xp cooldown change reason ## On Experience Spawn Addon: Skript Category: Event Syntax: [on] [e]xp[erience] [orb] spawn Description: Called whenever experience is about to spawn. Please note that this event will not fire for xp orbs spawned by plugins (including Skript) with Bukkit. Examples: on xp spawn: world is "minigame_world" cancel event ## On Egg Throw Addon: Skript Category: Event Syntax: [on] throw[ing] [of] [an] egg Description: Called when a player throws an egg and it lands. You can just use the shoot event in most cases. However, this event allows modification of properties like the hatched entity type and the number of entities to hatch. Examples: on throw of an egg: ## On Riptide Addon: Skript Category: Event Syntax: [on] [use of] riptide [enchant[ment]] Description: Called when the player activates the riptide enchantment, using their trident to propel them through the air. Note: the riptide action is performed client side, so manipulating the player in this event may have undesired effects. Examples: on riptide: send "You are riptiding!" ## On Server List Ping Addon: Skript Category: Event Syntax: [on] server [list] ping Description: 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. Examples: 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::*} ## On Player Deep Sleep Addon: Skript Category: Event Syntax: [on] [player] deep sleep[ing] Description: Called when a player has slept long enough to count as passing the night/storm. Cancelling this event will prevent the player from being counted as deeply sleeping unless they exit and re-enter the bed. Examples: on player deep sleeping: send "Zzzz.." to player ## On Bucket Catch Entity Addon: Skript Category: Event Syntax: [on] bucket (catch[ing]|captur(e|ing)) [[of] %-entitydatas%] ## On Player Input Addon: Skript Category: Event Syntax: [on] [player] (toggle|toggling|press[ing]|release|releasing) of (%-inputkeys%|(an|any) input key) Description: Called when a player sends an updated input to the server. Note: The input keys event value is the set of keys the player is currently pressing, not the keys that were pressed or released. Examples: on input key press: send "You are pressing: %event-inputkeys%" to player ## On Furnace Item Extract Addon: Skript Category: Event Syntax: [on] furnace [item] extract[ion] [of %-itemtypes%] Description: Called when a player takes any item out of the furnace. Examples: on furnace extract: if event-items is an iron ingot: remove event-items from event-player's inventory ## On Player Pick Item Addon: Skript Category: Event Syntax: [on] [player] pick[ing] [of] [an|any] item Description: Called when a player picks an item, block or an entity using the pick block key (default middle mouse button). The past event-slot represents the slot containing the item that will be put into the players hotbar, or nothing, if the item is not in the inventory. The event-slot represents the slot in the hotbar where the picked item will be placed. Both event-slots may be set to new slots. Examples: on player picking a diamond block: cancel event send "You cannot pick diamond blocks!" to the player ## On Smelt Addon: Skript Category: Event Syntax: [on] [furnace] [ore] smelt[ed|ing] [of %-itemtypes%] Description: Called when a furnace smelts an item in its input slot. Examples: on smelt: clear the smelted item on smelt of raw iron: broadcast smelted item set the smelted item to iron block ## On Entity Breed Addon: Skript Category: Event Syntax: [on] [entity] breed[ing] [of %-entitytypes%] Description: Called whenever two animals begin to conceive a child. The type can be specified. Examples: on breeding of llamas: send "When a %breeding mother% and %breeding father% love each other very much they make %offspring%" to breeder ## On Start Smelt Addon: Skript Category: Event Syntax: [on] [furnace] start [of] smelt[ing] [[of] %-itemtypes%] Description: Called when a furnace starts smelting an item in its ore slot. Examples: on smelting start: if the smelting item is raw iron: set total cook time to 1 second on smelting start of raw iron: add 20 seconds to total cook time ## On Resource Pack Request Response Addon: Skript Category: Event Syntax: [on] resource pack [request] response Description: 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. Examples: 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!" ## On Firework Explode Addon: Skript Category: Event Syntax: [on] [a] firework explo(d(e|ing)|sion) [colo[u]red %-colors%] Description: Called when a firework explodes. Examples: on firework explode: if event-colors contains red: on firework exploding colored red, light green and black: on firework explosion colored rgb 0, 255, 0: broadcast "A firework colored %colors% was exploded at %location%!" ## On Spectate Addon: Skript Category: Event Syntax: [on] [player] stop spectating [(of|from) %-*entitydatas%] Description: Called with a player starts, stops or swaps spectating an entity. Examples: on player start spectating of a zombie: ## On Stonecutter Recipe Select Addon: Skript Category: Event Syntax: [on] stonecutting [[of] %-itemtypes%] Description: Called when a player selects a recipe in a stonecutter. Examples: on stonecutting stone slabs cancel the event on stonecutting: broadcast "%player% is using stonecutter to craft %event-item%!" ## On Command Addon: Skript Category: Event Syntax: [on] command [%-strings%] Description: Called when a player enters a command (not necessarily a Skript command) but you can check if command is a skript command, see Is a Skript command condition. Examples: on command: on command "/stop": on command "pm Njol ": ## On Pick Up Addon: Skript Category: Event Syntax: [on] [(player|entity)] (pick[ ]up|picking up) [[of] %-itemtypes%] Description: Called when a player/entity picks up an item. Please note that the item is still on the ground when this event is called. Examples: on pick up: on entity pickup of wheat: ## On Block Growth Addon: Skript Category: Event Syntax: [on] (plant|crop|block) grow[(th|ing)] [[of] %-itemtypes%] Description: Called when a crop grows. Alternative to new form of generic grow event. Examples: on crop growth: ## On Death Addon: Skript Category: Event Syntax: [on] death [of %-entitydatas%] Description: Called when a living entity (including players) dies. Examples: on death: on death of player: on death of a wither or ender dragon: broadcast "A %entity% has been slain in %world%!" ## On Teleport Addon: Skript Category: Event Syntax: [on] [%-entitytypes%] teleport[ing] Description: This event can be used to listen to teleports from non-players or player entities respectively. When teleporting entities, the event may also be called due to a result of natural causes, such as an enderman or shulker teleporting, or wolves teleporting to players. When teleporting players, the event can be called by teleporting through a nether/end portal, or by other means (e.g. plugins). Examples: on teleport: on player teleport: on creeper teleport: ## On Attempt Attack Addon: Skript Category: Event Syntax: [on] attack attempt Description: Called when a player attempts to attack an entity. The event will be cancelled as soon as it is fired for non-living entities. Cancelling this event will prevent the attack and any sounds from being played when attacking. Any damage events will not be called if this is cancelled. Examples: on attack attempt: if event is cancelled: broadcast "%attacker% failed to attack %victim%!" else: broadcast "%attacker% damaged %victim%!" on attempt to attack an animal: cancel event on attempting to attack an entity: if victim is a creeper: cancel event ## On Item Merge Addon: Skript Category: Event Syntax: [on] (item[ ][stack]|[item] %-itemtypes%) merg(e|ing) Description: Called when dropped items merge into a single stack. event-entity will be the entity which is trying to merge, and future event-entity will be the entity which is being merged into. Examples: on item merge of gold blocks: cancel event ## On Fade Addon: Skript Category: Event Syntax: [on] [block] fad(e|ing) [[of] %-itemtypes/blockdatas%] Description: Called when a block 'fades away', e.g. ice or snow melts. Examples: on fade of snow or blue ice: on fade of snow[layers=2] ## On Dispense Addon: Skript Category: Event Syntax: [on] dispens(e|ing) [[of] %-itemtypes%] Description: Called when a dispenser dispenses an item. Examples: on dispense of iron block: send "that'd be 19.99 please!" ## On Brewing Fuel Addon: Skript Category: Event Syntax: [on] brew[ing [stand]] consum(e|ing) fuel [of %-itemtypes%] Description: Called when a brewing stand is about to use an item to increase its fuel level. Examples: on brewing consume fuel: prevent the brewing stand from consuming fuel on brewing fuel consumption of blaze powder: ## On Vehicle Collision Addon: Skript Category: Event Syntax: [on] vehicle collision [(with|of) [a[n]] %-itemtypes/blockdatas/entitydatas%] Description: Called when a vehicle collides with a block or entity. Examples: on vehicle collision: on vehicle collision with obsidian: on vehicle collision with a zombie: ## On Inventory Click Addon: Skript Category: Event Syntax: [on] [player] inventory(-| )click[ing] [[at] %-itemtypes%] Description: Called when clicking on inventory slot. Examples: on inventory click: if event-item is stone: give player 1 stone remove 20$ from player's balance ## On Move On Addon: Skript Category: Event Syntax: [on] (step|walk)[ing] (on|over) %-*itemtypes% Description: 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. Examples: on walking on dirt or grass: on stepping on stone: ## On Craft Addon: Skript Category: Event Syntax: [on] [player] craft[ing] [[of] %-itemtypes%] Description: Called when a player crafts an item. Examples: on craft: ## On Spawn Addon: Skript Category: Event Syntax: [on] spawn[ing] [of %-entitydatas%] Description: Called when an entity spawns (excluding players). Examples: on spawn of a zombie: on spawn of an ender dragon: broadcast "A dragon has been sighted in %world%!" ## On Consume Addon: Skript Category: Event Syntax: [on] [player] ((eat|drink)[ing]|consum(e|ing)) [[of] %-itemtypes%] Description: Called when a player is done eating/drinking something, e.g. an apple, bread, meat, milk or a potion. Examples: on consume: ## On Leash / Unleash Addon: Skript Category: Event Syntax: [on] [player] [un]leash[ing] [of %-entitydatas%] Description: Called when an entity is leashed or unleashed. Cancelling these events will prevent the leashing or unleashing from occurring. Examples: on player leash of a sheep: send "Baaaaa--" to player on player leash: send "<%event-entity%> Let me go!" to player on unleash: broadcast "<%event-entity%> I'm free" ## On Region Enter/Leave Addon: Skript Category: Event Syntax: [on] (enter[ing]|leav(e|ing)|exit[ing]) [of] ([a] region|[[the] region] %-regions%) Description: Called when a player enters or leaves a region. This event requires a supported regions plugin to be installed. Examples: on region exit: message "Leaving %region%." ## On Weather Change Addon: Skript Category: Event Syntax: [on] weather change [to %-weathertypes%] Description: Called when a world's weather changes. Examples: on weather change: on weather change to sunny: ## On World Load Addon: Skript Category: Event Syntax: [on] world load[ing] [of %-worlds%] Description: 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). Examples: on world load of "world_nether": broadcast "The world %event-world% has been loaded!" ## On Beacon Effect Addon: Skript Category: Event Syntax: [on] [primary|secondary] beacon effect [of %-potioneffecttypes%] Description: Called when a player gets an effect from a beacon. Examples: on beacon effect: broadcast applied effect broadcast event-player broadcast event-block on primary beacon effect apply of haste: on application of secondary beacon effect: ## On Drop Addon: Skript Category: Event Syntax: [on] [player|entity] drop[ping] [[of] %-itemtypes%] Description: Called when a player drops an item from their inventory, or an entity drops an item, such as a chicken laying an egg. Examples: on drop: if event-item is compass: cancel event on entity drop of an egg: if event-entity is a chicken: set item of event-dropped item to a diamond ## On Item Spawn Addon: Skript Category: Event Syntax: [on] item spawn[ing] [[of] %-itemtypes%] Description: 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 their inventory, or a dispenser dispensing an item (not shooting it). Examples: on item spawn of iron sword: broadcast "Someone dropped an iron sword!" ## On World Unload Addon: Skript Category: Event Syntax: [on] world unload[ing] [of %-worlds%] Description: Called when a world is unloaded. This event will never be called if you don't have a world management plugin. Examples: on world unload: broadcast "the %event-world% has been unloaded!" ## On Entity Shoot Bow Addon: Skript Category: Event Syntax: [on] %-entitydatas% shoot[ing] (bow|projectile) Description: Called when an entity shoots a bow. event-entity refers to the shot projectile/entity. Examples: on player shoot bow: chance of 30%: damage event-slot by 10 send "Your bow has taken increased damage!" to shooter on stray shooting bow: set {_e} to event-entity spawn a cow at {_e}: set velocity of entity to velocity of {_e} set event-entity to last spawned entity ## On Fuel Burn Addon: Skript Category: Event Syntax: [on] [furnace] fuel burn[ing] [of %-itemtypes%] Description: Called when a furnace burns an item from its fuel slot. Examples: on fuel burning: broadcast fuel burned if burned fuel is coal: add 20 seconds to burn time ## On Armor Change Addon: Skript Category: Event Syntax: [on] [player] armo[u]r change[d] Description: Called when armor pieces of a player are changed. Examples: on armor change: broadcast the old armor item on helmet change: ## On Brewing Complete Addon: Skript Category: Event Syntax: [on] brew[ing] [complet(e[d]|ion)|finish[ed]] [(of|for) %-itemtypes/potioneffecttypes%] Description: Called when a brewing stand finishes brewing an ingredient and changes the potions. Examples: on brew: broadcast event-item on brewing of speed potion: on brew finished for speed 2 potion: ## On World Init Addon: Skript Category: Event Syntax: [on] world init[ialization] [of %-worlds%] Description: Called when a world is initialized. As all default worlds are initialized 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. Examples: on world init of "world_the_end": ## On Enderman/Sheep/Silverfish/Falling Block Addon: Skript Category: Event Syntax: [on] enderman place Description: Called when an enderman places or picks up a block, a sheep eats grass, a silverfish boops into/out of a block or a falling block lands and turns into a block respectively. event-block represents the old block and event-blockdata represents the new replacement that'll be applied to the block. Examples: on sheep eat: kill event-entity broadcast "A sheep stole some grass!" on falling block land: event-entity is a falling dirt cancel event ## On Break / Mine Addon: Skript Category: Event Syntax: [on] [block] (break[ing]|min(e|ing)) [[of] %-itemtypes/blockdatas%] Description: 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. Examples: on mine: on break of stone: on break of chest[facing=north]: ## On Block Drop Addon: Skript Category: Event Syntax: [on] block drop[ping] [[of] %-itemtypes/blockdatas%] Description: Called when a block broken by a player drops something.
  • event-player: The player that broke the block
  • past event-block: The block that was broken
  • event-block: The block after being broken
  • event-items (or drops): The drops of the block
  • event-entities: The entities of the dropped items
If the breaking of the block leads to others being broken, such as torches, they will appearin "event-items" and "event-entities". Examples: on block drop: broadcast event-player broadcast past event-block broadcast event-block broadcast event-items broadcast event-entities on block drop of oak log: ## On System Time Addon: Skript Category: Event Syntax: [on] at %-times% [in] real time Description: Called when the local time of the system the server is running on reaches the provided real-life time. Examples: at 14:20 in real time: at 2:30am real time: at 6:10 pm in real time: ## On Prepare Craft Addon: Skript Category: Event Syntax: [on] [player] (preparing|beginning) craft[ing] [[of] %-itemtypes%] Description: Called just before displaying crafting result to player. Note that setting the result item might or might not work due to Bukkit bugs. Examples: on preparing craft of torch: ## On Place Addon: Skript Category: Event Syntax: [on] [block] (plac(e|ing)|build[ing]) [[of] %-itemtypes/blockdatas%] Description: Called when a player places a block. Examples: on place: on place of a furnace, crafting table or chest: on break of chest[type=right] or chest[type=left] ## On Burn Addon: Skript Category: Event Syntax: [on] [block] burn[ing] [[of] %-itemtypes/blockdatas%] Description: Called when a block is destroyed by fire. Examples: on burn: on burn of oak wood, oak fences, or chests: on burn of oak_log[axis=y]: ## On Gamemode Change Addon: Skript Category: Event Syntax: [on] game[ ]mode change [to %-gamemode%] Description: Called when a player's gamemode changes. Examples: on gamemode change: on gamemode change to adventure: ## On Move / Rotate Addon: Skript Category: Event Syntax: [on] %-entitydata% (move|walk|step|(turn[ing] around|rotate)) Description: Called when a player or entity moves or rotates their head. NOTE: Move event will only be called when the entity/player moves position, keyword 'turn around' is for orientation (ie: looking around), and the combined syntax listens for both. NOTE: These events can be performance heavy as they are called quite often. Examples: on player move: if player does not have permission "player.can.move": cancel event on skeleton move: if event-entity is not in world "world": kill event-entity on player turning around: send action bar "You are currently turning your head around!" to player ## On Harvest Block Addon: Skript Category: Event Syntax: [on] [player] [block|crop] harvest[ing] [of %-itemtypes/blockdatas%] Description: Called when a player harvests a block. A block being harvested is when a block drops items and the state of the block is changed, but the block is not broken. An example is harvesting berries from a berry bush. Examples: on player block harvest: send "You have harvested %event-block% that dropped %event-items% using your %item of event-slot% in your %event-equipment slot%" on crop harvesting of sweet berry bush: chance 5%: set drops to a diamond chance 1% cancel the drops ## On World Save Addon: Skript Category: Event Syntax: [on] world sav(e|ing) [of %-worlds%] Description: Called when a world is saved to disk. Usually all worlds are saved simultaneously, but world management plugins could change this. Examples: on world save of "world": broadcast "The world %event-world% has been saved" ## Periodical Addon: Skript Category: Event Syntax: [on] every %-timespan% Description: An event that is called periodically. Examples: every 2 seconds: every minecraft hour: every tick: # can cause lag depending on the code inside the event ## On Form Addon: Skript Category: Event Syntax: [on] [block] form[ing] [[of] %-itemtypes/blockdatas%] Description: 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). Examples: on form of snow: ## On Item Despawn Addon: Skript Category: Event Syntax: [on] (item[ ][stack]|[item] %-itemtypes%) despawn[ing] Description: Called when an item is about to be despawned from the world, usually 5 minutes after it was dropped. Examples: on item despawn of diamond: send "Not my precious!" cancel event ## On Click Addon: Skript Category: Event Syntax: [on] [(right|left)(| |-)][mouse(| |-)]click[ing] [on %-entitydata/itemtype/blockdata%] [(with|using|holding) %-itemtype%] Description: 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. Also note that a leftclick on an entity is an attack and thus not covered by the 'click' event, but the 'damage' event. Examples: on click: on rightclick holding a fishing rod: on leftclick on a stone or obsidian: ## On Damage Addon: Skript Category: Event Syntax: [on] damag(e|ing) [of %-entitydata%] [by %-entitydata%] Description: Called when an entity receives damage, e.g. by an attack from another entity, lava, fire, drowning, fall, suffocation, etc. Examples: on damage: on damage of a player: on damage of player by zombie: ## On Entity Transform Addon: Skript Category: Event Syntax: [on] (entit(y|ies)|%*-entitydatas%) transform[ing] [due to %-transformreasons%] Description: Called when an entity is about to be replaced by another entity. Examples when it's called include; when a zombie gets cured and a villager spawns, an entity drowns in water like a zombie that turns to a drown, an entity that gets frozen in powder snow, a mooshroom that when sheared, spawns a new cow. Examples: on a zombie transforming due to curing: on mooshroom transforming: on zombie, skeleton or slime transform: ## On Heal Addon: Skript Category: Event Syntax: [on] heal[ing] [of %-entitydatas%] [(from|due to|by) %-healreasons%] Description: 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). Examples: on heal: on player healing from a regeneration potion: on healing of a zombie, cow or a wither: heal reason is healing potion cancel event ## Periodical Addon: Skript Category: Event Syntax: [on] every %-timespan% in [world[s]] %-worlds% Description: An event that is called periodically. Examples: every 2 seconds in "world": every minecraft hour in "flatworld": every tick in "world": # can cause lag depending on the code inside the event ## At Time Addon: Skript Category: Event Syntax: [on] at %-time% [in %-worlds%] Description: An event that occurs at a given minecraft time in every world or only in specific worlds. Examples: at 18:00 at 7am in "world" ## On Entity Potion Effect Addon: Skript Category: Event Syntax: [on] entity potion effect [modif[y|ication]] [[of] %-potioneffecttypes%] [%-potionactions%] [due to %-potioncauses%] Description: Called when an entity's potion effect is modified. Examples: on entity potion effect modification: broadcast "A potion effect was added to %event-entity%!" on entity potion effect of night vision added: message "You can now see in the dark!" on entity potion effect of strength removed: message "You're now weaker!" ## On Grow Addon: Skript Category: Event Syntax: [on] grow[th] [of (%-structuretypes%|%-itemtypes/blockdatas%)] Description: Called when a tree, giant mushroom or plant grows to next stage. "of" matches any grow event, "from" matches only the old state, "into" matches only the new state,and "from into" requires matching both the old and new states. Using "and" lists in this event is equivalent to using "or" lists. The event will trigger if any one of the elements is what grew. Examples: on grow: on grow of tree: on grow of wheat[age=7]: ## Catch Runtime Errors Addon: Skript Category: Section Syntax: catch [run[ ]time] error[s] Description: Catch any runtime errors produced by code within the section. This is an in progress feature. Examples: catch runtime errors: set worldborder center of {_border} to location(0, 0, NaN value) if last caught runtime errors contains "Your location can't have a NaN value as one of its components": set worldborder center of {_border} to location(0, 0, 0) ## Loop Addon: Skript Category: Section Syntax: loop %objects% Description: Loop sections repeat their code with multiple values. A loop will loop through all elements of the given expression, e.g. all players, worlds, items, etc. The conditions & effects inside the loop will be executed for every of those elements, which can be accessed with ‘loop-’, e.g. send "hello" to loop-player. When a condition inside a loop is not fulfilled the loop will start over with the next element of the loop. You can however use stop loop to exit the loop completely and resume code execution after the end of the loop. Loopable Values All expressions that represent more than one value, e.g. ‘all players’, ‘worlds’, etc., as well as list variables, can be looped. You can also use a list of expressions, e.g. loop the victim and the attacker, to execute the same code for only a few values. List Variables When looping list variables, you can also use loop-index in addition to loop-value inside the loop. loop-value is the value of the currently looped variable, and loop-index is the last part of the variable's name (the part where the list variable has its asterisk *). Examples: loop all players: send "Hello %loop-player%!" to loop-player loop items in player's inventory: if loop-item is dirt: set loop-item to air loop 10 times: send title "%11 - loop-value%" and subtitle "seconds left until the game begins" to player for 1 second # 10, 9, 8 etc. wait 1 second ## Filter Addon: Skript Category: Section Syntax: filter %~objects% to match [any|all] Description: Filters a variable list based on the supplied conditions. Unlike the filter expression, this effect maintains the indices of the filtered list. It also supports filtering based on meeting any of the given criteria, rather than all, like multi-line if statements. Examples: set {_a::*} to integers between -10 and 10 filter {_a::*} to match: input is a number mod(input, 2) = 0 input > 0 send {_a::*} # sends 2, 4, 6, 8, and 10 ## For Each Loop Addon: Skript Category: Section Syntax: (for [each]|loop) [value] %~object% in %objects% Description: A specialised loop section run for each element in a list. Unlike the basic loop, this is designed for extracting the key & value from pairs. The loop element's key/index and value can be stored in a variable for convenience. When looping a simple (non-indexed) set of values, e.g. all players, the index will be the loop counter number. Examples: for each {_player} in players: send "Hello %{_player}%!" to {_player} loop {_item} in {list of items::*}: broadcast {_item}'s name for each key {_index} in {list of items::*}: broadcast {_index} ## Shoot Addon: Skript Category: Section Syntax: shoot %entitydatas% [from %livingentities/locations%] [(at|with) (speed|velocity) %-number%] [%-direction%] Description: Shoots a projectile (or any other entity) from a given entity or location. Examples: shoot arrow from all players at speed 2 shoot a pig from all players: add event-entity to {_projectiles::*} ## Conditionals Addon: Skript Category: Section Syntax: else Description: Conditional sections if: executed when its condition is true else if: executed if all previous chained conditionals weren't executed, and its condition is true else: executed if all previous chained conditionals weren't executed parse if: a special case of 'if' condition that its code will not be parsed if the condition is not true else parse if: another special case of 'else if' condition that its code will not be parsed if all previous chained conditionals weren't executed, and its condition is true Examples: if player's health is greater than or equal to 4: send "Your health is okay so far but be careful!" else if player's health is greater than 2: send "You need to heal ASAP, your health is very low!" else: # Less than 2 hearts send "You are about to DIE if you don't heal NOW. You have only %player's health% heart(s)!" parse if plugin "SomePluginName" is enabled: # parse if %condition% # This code will only be executed if the condition used is met otherwise Skript will not parse this section therefore will not give any errors/info about this section ## While Loop Addon: Skript Category: Section Syntax: [do] while <.+> Description: While Loop sections are loops that will just keep repeating as long as a condition is met. Examples: while size of all players < 5: send "More players are needed to begin the adventure" to all players wait 5 seconds set {_counter} to 1 do while {_counter} > 1: # false but will increase {_counter} by 1 then get out add 1 to {_counter} # Be careful when using while loops with conditions that are almost # always true for a long time without using 'wait %timespan%' inside it, # otherwise it will probably hang and crash your server. while player is online: give player 1 dirt wait 1 second # without using a delay effect the server will crash ## Spawn Addon: Skript Category: Section Syntax: (spawn|summon) %entitytypes/entitysnapshots% [%directions% %locations%] Description: 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'). Examples: spawn 3 creepers at the targeted block spawn a ghast 5 meters above the player spawn a zombie at the player: set name of the zombie to "" ## Create Slime World Addon: SlimeLink Category: Effect Syntax: (create|new) (slimeworld|slime world) named %string% with props %slimepropertymap% [as ReadOnly] with [datasource|data source] %slimeloader% Description: Create a new Slime World with a name, slime properties, and whether it's readOnly. Examples: create slimeworld named "Test" with props {globalProps} with datasource %file% new slime world named "MyWorld" with props {worldProps} with %file% create slimeworld named "ReadOnlyWorld" with props {minimalProps} as ReadOnly with datasource %file% new slime world named "AnotherWorld" with props {customProps} as ReadOnly with %mysql% ## Delete Slime World Addon: SlimeLink Category: Effect Syntax: delete (slimeworld|slime world) named %string% Description: Delete a Slime World with a specified name. Examples: delete slimeworld named "Test" delete slime world named "MyWorld" delete slimeworld named "OldWorld" ## EffCloneWorld Addon: SlimeLink Category: Effect Syntax: clone (slimeworld|slime world) from %string% to %string% [ with [datasource|data source] %slimeloader%] Description: Default description for EffCloneWorld ## Initialize Loader Addon: SlimeLink Category: Effect Syntax: initialize slime loader with [datasource|data source] %slimeloader% Description: Initializes the loader for the given datasource. Examples: initialize slime loader with datasource %file% initialize slime loader with %mysql% ## Load Slime World Addon: SlimeLink Category: Effect Syntax: load (slimeworld|slime world) named %string% Description: Load a new Slime World with a specified name. Examples: load slimeworld named "Test" load slime world named "MyWorld" load slimeworld named "GameWorld" ## Save Slime World Addon: SlimeLink Category: Effect Syntax: save (slimeworld|slime world) named %string% Description: Save a Slime World with a specified name. Examples: save slimeworld named "Test" save slime world named "MyWorld" save slimeworld named "ServerWorld" ## Save Slime World By Object Addon: SlimeLink Category: Effect Syntax: save (slimeworld|slime world) %world% Description: Save a Slime World using a Bukkit World object. Examples: save slimeworld {world} save slime world {myWorld} save slimeworld {serverWorld} ## Unload Slime World Addon: SlimeLink Category: Effect Syntax: unload (slimeworld|slime world) named %string% [and teleport to %location%] Description: Unload a Slime World with a specified name. Optionally teleport players out of the world, to a specified location. Examples: unload slimeworld named "Test" unload slime world named "MyWorld" unload slimeworld named "Test" and teleport to {spawnLocation} unload slime world named "MyWorld" and teleport to location(0, 64, 0, world("world")) ## Unload Slime World By Object Addon: SlimeLink Category: Effect Syntax: unload (slimeworld|slime world) %world% [and teleport [to %location%]] Description: Unload a Slime World using a Bukkit World object. Optionally teleport players out of the world, to a specified location. Examples: unload slimeworld {world} unload slime world {myWorld} unload slimeworld {world} and teleport to {spawnLocation} unload slime world {myWorld} and teleport to location(0, 64, 0, world("world")) ## slimepropertymap Addon: SlimeLink Category: Type Syntax: slimepropertymap Description: Default description for slimepropertymap ## Check Slime Property Addon: SlimeLink Category: Condition Syntax: %slimeproperty% of %slimepropertymap% (is|is(n't| not)) %object% Description: Checks if the specified property in the property map is equal to the specified value. Examples: if spawn x of slimePropertyMap is 5 if allow monsters of slimePropertyMap isn't true ## Check Slime World Loaded Addon: SlimeLink Category: Condition Syntax: (slimeworld|slime world) named %string% (is|is(n't| not)) loaded Description: Checks if the specified world is loaded or not. Examples: if slime world named "exampleWorld" is loaded: broadcast "World is currently loaded!" if slimeworld named "testWorld" isn't loaded: load slime world named "testWorld" if slime world named "anotherWorld" is not loaded: broadcast "World needs to be loaded first!" ## Check Slime World ReadOnly Addon: SlimeLink Category: Condition Syntax: (slimeworld|slime world) named %string% (is|is(n't| not)) readonly Description: Checks if the specified world is readonly or not. Examples: if slime world named "exampleWorld" is readonly: broadcast "World is read-only!" if slimeworld named "testWorld" isn't readonly: broadcast "World can be modified!" if slime world named "anotherWorld" is not readonly: broadcast "World can be modified!" ## Change Slime Properties Addon: SlimeLink Category: Expression Syntax: slime property %slimeproperty% of %slimepropertymap% Description: Modify a property value in a SlimePropertyMap. Examples: set slime property pvp of {_slimeProperty} to true set slime property spawn x of {_slimeProperty} to 100 ## Create Slime Properties Addon: SlimeLink Category: Expression Syntax: [default|new] slime world properties Description: Create a SlimePropertyMap with default values. Examples: set {_slimeProperty} to slime world properties set {_props} to default slime world properties set {_config} to new slime world properties create slimeworld named "Test" with props (new slime world properties) with datasource %file% ## Fetch All Slime Worlds Addon: SlimeLink Category: Expression Syntax: all (slimeworlds|slime worlds) Description: List all SlimeWorlds from the config file. Examples: set {allSlimeWorlds::*} to all slimeworlds set {worlds::*} to all slime worlds broadcast "Available worlds: %all slime worlds%" ## Fetch Loaded Slime Worlds Addon: SlimeLink Category: Expression Syntax: all loaded (slimeworlds|slime worlds) with [datasource|data source] %slimeloader% Description: List all loaded SlimeWorlds for a specific loader type. Examples: set {loadedSlimeWorlds::*} to all loaded slimeworlds with datasource %file% set {loadedSlimeWorlds::*} to all loaded slime worlds with %file% set {worlds} to all loaded slimeworlds with type %mysql% ## Fetch Slime World Addon: SlimeLink Category: Expression Syntax: fetch (slimeworld|slime world) named %string% Description: Fetch a slime world using the specified world name. Examples: set {_slimeWorld} to fetch slimeworld named "Test" set {_world} to fetch slime world named "MyWorld" teleport player to spawn of (fetch slimeworld named "Lobby") ## activemodel Addon: animated-skript Category: Type Syntax: activemodel Description: N/A Examples: N/A ## animation Addon: animated-skript Category: Type Syntax: activemodelanimation Description: N/A Examples: N/A ## node Addon: animated-skript Category: Type Syntax: activemodelnode Description: N/A Examples: N/A ## variant Addon: animated-skript Category: Type Syntax: activemodelvariant Description: N/A Examples: N/A ## Effect - Reload Models Addon: animated-skript Category: Effect Syntax: [animated-skript] reload (model-configs|active-models) ## Effect - Remove Active Model Addon: animated-skript Category: Effect Syntax: [animated-skript] remove [the] active-model %activemodel% ## Effect - Reset Rotation Addon: animated-skript Category: Effect Syntax: [animated-skript] reset %activemodel%('s|s) rotation ## Effect - Reset Tint Addon: animated-skript Category: Effect Syntax: [animated-skript] reset %activemodel%('s|s) tint colo[u]r ## Effect - Reset Active Variant Addon: animated-skript Category: Effect Syntax: [animated-skript] reset %activemodel%('s|s) variant ## Effect - Reset Scale Addon: animated-skript Category: Effect Syntax: [animated-skript] reset %activemodel%('s|s) scale ## Effect - Stop All Animations Addon: animated-skript Category: Effect Syntax: [animated-skript] stop all of %activemodel%('s|s) current animations ## Effect - Teleport Active Model Addon: animated-skript Category: Effect Syntax: [animated-skript] teleport active-model %activemodel% to %location% ## Effect - Stop Animation Addon: animated-skript Category: Effect Syntax: [animated-skript] stop current-animation %string% of %activemodel% ## Effect - Set Rotation Addon: animated-skript Category: Effect Syntax: [animated-skript] set %activemodel%('s|s) rotation [to] %quaternion% ## Effect - Default Visibility Addon: animated-skript Category: Effect Syntax: [animated-skript] set %activemodel%('s|s) default visibility %boolean% ## Effect - Set Persistence Addon: animated-skript Category: Effect Syntax: [animated-skript] set %activemodel%('s|s) persistence to %boolean% ## Effect - Animation Control Addon: animated-skript Category: Effect Syntax: [animated-skript] (play|stop) animation %string% of %activemodel% ## Effect - Set Scale Addon: animated-skript Category: Effect Syntax: [animated-skript] set %activemodel%('s|s) scale to %double% ## Effect - Set Teleport Duration Addon: animated-skript Category: Effect Syntax: [animated-skript] set %activemodel%('s|s) teleport duration [to] %integer% ## Effect - Spawn Loaded Model Addon: animated-skript Category: Effect Syntax: [animated-skript] spawn [the] loaded-model %string% at [the] %location% ## Effect - Pause Animation Addon: animated-skript Category: Effect Syntax: [animated-skript] (pause||unpause||resume) the active animation %string% of [the] %activemodel% ## Effect - Set Active Variant Addon: animated-skript Category: Effect Syntax: [animated-skript] set %activemodel%('s|s) active variant [to] %string% ## Effect - Set Tint Addon: animated-skript Category: Effect Syntax: [animated-skript] set %activemodel%('s|s) tint [colo[u]r] to %color% ## Effect - Set Visibility Addon: animated-skript Category: Effect Syntax: [animated-skript] set %activemodel%('s|s) visibility [to] %boolean% for %player% ## Expression - Event Get Event Current Frame Addon: animated-skript Category: Expression Syntax: [animated-skript] event-current frame ## Expression - Event Get Event Critical Addon: animated-skript Category: Expression Syntax: [animated-skript] event-is critical ## Expression - Event Get Event New Frame Addon: animated-skript Category: Expression Syntax: [animated-skript] event-future frame ## Expression - Get All Active Models Addon: animated-skript Category: Expression Syntax: [animated-skript] [get] all [the] active-models ## Expression - Event Get Event Damage Addon: animated-skript Category: Expression Syntax: [animated-skript] event-damage ## Expression - Event Get Event Damage Cause Addon: animated-skript Category: Expression Syntax: [animated-skript] event-damage cause ## Expression - Event Get Event Damager Addon: animated-skript Category: Expression Syntax: [animated-skript] event-damage source ## Expression - Last Spawned Active Model Addon: animated-skript Category: Expression Syntax: [animated-skript] [get] last spawned active-model ## Expression - Get All Loaded Models Addon: animated-skript Category: Expression Syntax: [animated-skript] [get] all [the] loaded-models ## Expression - Event Get Event Final Damage Addon: animated-skript Category: Expression Syntax: [animated-skript] event-final damage ## Expression - Event Get Event Uuid Addon: animated-skript Category: Expression Syntax: [animated-skript] event-hitbox uuid ## Expression - Get Active Models Nodes Addon: animated-skript Category: Expression Syntax: [animated-skript] [get] [the||all] nodes of %activemodel% ## Expression - Get Active Models Type Addon: animated-skript Category: Expression Syntax: [animated-skript] [get] %activemodel%('s|s) model type ## Expression - Get Origin Addon: animated-skript Category: Expression Syntax: [animated-skript] [get] [the] %activemodel%('s|s) origin ## Expression - Get Active Models Rotation Addon: animated-skript Category: Expression Syntax: [animated-skript] [get] %activemodel%('s|s) rotation ## Expression - Get Variants Name Addon: animated-skript Category: Expression Syntax: [animated-skript] get %activemodelvariant%('s|s) name ## Expression - Get Node Transformation Addon: animated-skript Category: Expression Syntax: [animated-skript] [get] [the] active-node %activemodelnode%('s|s) transform ## Expression - Get Animation Uuid Addon: animated-skript Category: Expression Syntax: [animated-skript] [get] [the] %activemodelanimation%('s|s) uuid ## Expression - Get Animation Loop Mode Addon: animated-skript Category: Expression Syntax: [animated-skript] [get] [the] %activemodelanimation%('s|s) loopmode ## Expression - Get Active Models Scale Addon: animated-skript Category: Expression Syntax: [animated-skript] [get] %activemodel%('s|s) scale ## Expression - Get Animation Loop Delay Addon: animated-skript Category: Expression Syntax: [animated-skript] [get] [the] %activemodelanimation%('s|s) loopdelay ## Expression - Get Animation Max Frame Time Addon: animated-skript Category: Expression Syntax: [animated-skript] [get] [the] %activemodelanimation%('s|s) (max frame time|maxframetime) ## Expression - Get Animation Duration Addon: animated-skript Category: Expression Syntax: [animated-skript] [get] [the] %activemodelanimation%('s|s) duration ## Expression - Get Active Models Location Addon: animated-skript Category: Expression Syntax: [animated-skript] [get] location of active-model %activemodel% ## Expression - Get Variants Uuid Addon: animated-skript Category: Expression Syntax: [animated-skript] get %activemodelvariant%('s|s) uuid ## Expression - Get Node Name Addon: animated-skript Category: Expression Syntax: [animated-skript] [get] [the] active-node %activemodelnode%('s|s) name ## Expression - Get Current Animations Is Paused Addon: animated-skript Category: Expression Syntax: [animated-skript] [get] current-animation %activemodelanimation%('s|s) paused state ## Expression - Get Current Animations Current Frame Time Addon: animated-skript Category: Expression Syntax: [animated-skript] [get] current-animation %activemodelanimation%('s|s) (current frame time|current-frame) ## Expression - Is Persistent Addon: animated-skript Category: Expression Syntax: [animated-skript] [get] %activemodel%('s|s) persistence ## Expression - Get Variants Display Name Addon: animated-skript Category: Expression Syntax: [animated-skript] get %activemodelvariant%('s|s) display name ## Expression - Get Active Models Display Nodes Addon: animated-skript Category: Expression Syntax: [animated-skript] [get] [the||all] display nodes of %activemodel% ## Expression - Get Active Models Active Variant Addon: animated-skript Category: Expression Syntax: [animated-skript] get %activemodel%('s|s) active variant ## Expression - Get Active Model Addon: animated-skript Category: Expression Syntax: [animated-skript] [get] [the] active-model %string% ## Expression - Get Active Models Animations Addon: animated-skript Category: Expression Syntax: [animated-skript] [get] [all|the] %activemodel%('s|s) animations ## Expression - Get Node Type Addon: animated-skript Category: Expression Syntax: [animated-skript] [get] [the] active-node %activemodelnode%('s|s) type ## Expression - Get Active Models Variants Addon: animated-skript Category: Expression Syntax: [animated-skript] get all %activemodel%('s|s) variant ## Expression - Get Node Uuid Addon: animated-skript Category: Expression Syntax: [animated-skript] [get] [the] active-node %activemodelnode%('s|s) uuid ## Expression - Get Active Models Active Animations Addon: animated-skript Category: Expression Syntax: [animated-skript] [get] [all|the] %activemodel%('s|s) active-animations ## Expression - Get Animation Frame Addon: animated-skript Category: Expression Syntax: [animated-skript] [get] %activemodel%('s|s) current-animation %string% (frame|max frame) ## Expression - Get Active Models Node Addon: animated-skript Category: Expression Syntax: [animated-skript] [get] [the] node %string% of %activemodel% ## Expression - Get Animation From Active Model Addon: animated-skript Category: Expression Syntax: [animated-skript] [get] [the] animation %string% from active-model %activemodel% ## Expression - Get Active Models Display Node Addon: animated-skript Category: Expression Syntax: [animated-skript] [get] [the] display node %string% of %activemodel% ## On Reload Addon: animated-skript Category: Event Syntax: [on] animated-skript reloaded ## On Model Removed Addon: animated-skript Category: Event Syntax: [on] [animated-skript] model spawned ## On Animation Ended Addon: animated-skript Category: Event Syntax: [on] [animated-skript] animation ended ## On Animation Frame Set Addon: animated-skript Category: Event Syntax: [on] [animated-skript] animation frame set ## On Hitbox Interact Addon: animated-skript Category: Event Syntax: [on] [animated-skript] hitbox interact ## On Animation Resumed Addon: animated-skript Category: Event Syntax: [on] [animated-skript] animation (unpaused||resumed) ## On Hitbox Attacked Addon: animated-skript Category: Event Syntax: [on] [animated-skript] hitbox attacked ## On Model Spawned Addon: animated-skript Category: Event Syntax: [on] [animated-skript] model spawned ## On Animation Started Addon: animated-skript Category: Event Syntax: [on] [animated-skript] animation started ## On Animation Paused Addon: animated-skript Category: Event Syntax: [on] [animated-skript] animation paused ## Struct Addon: oopsk Category: Type Syntax: struct[s] Description: A struct is a collection of typed fields. ## Struct Template Addon: oopsk Category: Structure Syntax: struct <([\p{IsAlphabetic}_][\p{IsAlphabetic}\p{IsDigit}_]*)> Description: Creates a struct template. The template name is case insensitive and has the same restrictions as function names. Fields are defined in the format '[const[ant]] : [= %object%]'. Their names are case insensitive and consist of letters, underscores, and spaces. No two fields in the same template can have the same name. The field type can be a single type or a plural type. The default value can be set by adding an optional '= value' at the end of the line.The default value will be evaluated when the struct is created. Fields can be marked as constant by adding 'const' or 'constant' at the beginning of the line. Constant fields cannot be changed after the struct is created. Dynamic fields can be made by adding 'dynamic' to the beginning of the line. Dynamic fields require a default value and will always re-evaluate their value each time they are called. This means they cannot be changed directly, but can rely on the values of other fields or even functions. Converters can be defined in a 'converts to:' section. Each converter is defined in the format ' via %expression%'. Note that oopsk cannot generate chained converters reliably, so you should expressly define converters for all target types you wish to convert to. Be careful when using converters, as they can cause unexpected behavior in all of your scripts if not used properly.Best practice is to ensure you reload all scripts after defining or modifying struct templates to ensure all converters are registered correctly. Examples: struct message: sender: player message: string const timestamp: date = now attachments: objects converts to: string via this->message struct Vector2: x: number y: number dynamic length: number = sqrt(this->x^2 + this->y^2) struct CustomPlayer const player: player rank: string = "Member" dynamic isAdmin: boolean = whether this->rank is "Admin" converts to: player via this->player location via this->player's location ## Struct Is From Template Addon: oopsk Category: Condition Syntax: [the] %structs% (is|are)[n't| not] [a] %string% struct[s] [the] %structs% (were|was)[n't| not] made from [the] %string% template Description: Checks if a struct is from a specific template. The template name is case insensitive. The template name can be a string or a literal. Examples: if {_message} is a "message" struct: broadcast whether {_message} or {_response} is a "message" struct ## Struct Copy Addon: oopsk Category: Expression Syntax: [the] [a] struct copy of %structs% %structs%'[s] [a] struct copy Description: Makes a copy of a struct. The field contents may or may not be copies, depending on their types. Entities, for example, cannot be copied. Examples: set {_a} to a struct copy of {_b}->playerdata ## Struct Creation Addon: oopsk Category: Expression Syntax: [a[n]] <([\w ]+)> struct instance [with [the] [initial] values [of]] Description: Creates an instance of a struct based off a template. The template name is case insensitive. Initial field values can be set by adding entries with the format 'fieldname: value'. Examples: set {a} to a message struct return a result struct instance return a result struct instance with the initial values of: valid: true error: "No error" data: {_data::*} ## Struct Field Access Addon: oopsk Category: Expression Syntax: [the] field <[\w ]+> [of] %struct% %struct%'[s] <[\w ]+> field %struct%[ ]->[ ]<[\w ]+> Description: Access a field of a struct. The field name is case insensitive. Non-constant fields can be set, reset, or deleted. Examples: set the field name of {_struct} to "test" set {_struct}'s name field to "test" reset {_struct}->name ## Template of Struct Addon: oopsk Category: Expression Syntax: [the] [struct] template of %structs% %structs%'[s] [struct] template Description: Returns the name of the template used to create a struct. Examples: set {_struct} to a message struct set {_template} to template of {_struct} # {_template} is now "message" ## This Struct Addon: oopsk Category: Expression Syntax: this [struct] Description: Usable only in dynamic field expressions, this refers to whatever struct is evaluating this field. Examples: struct Vector2: x: number y: number dynamic length: number = sqrt(this->x^2 + this-y^2) ## Execute String In Datasource Output To Objects Addon: skript-db Category: Effect Syntax: execute %string% (in|on) %datasource% [and store [[the] (output|result)[s]] (to|in) [the] [var[iable]] %objects%] quickly execute %string% (in|on) %datasource% [and store [[the] (output|result)[s]] (to|in) [the] [var[iable]] %objects%] ## datasource Addon: skript-db Category: Type Syntax: datasource[s] ## Database String Lifetime Of Timespan Addon: skript-db Category: Expression Syntax: [the] data(base|[ ]source) [(of|at)] %string% [with [a] [max[imum]] [connection] life[ ]time of %timespan%] ## Sql Error Addon: skript-db Category: Expression Syntax: [the] [last] (sql|db|data(base|[ ]source)) error ## Sql Query Addon: skript-db Category: Expression Syntax: sql query ## Unsafe String Addon: skript-db Category: Expression Syntax: unsafe %string% ## On complete of sql query Addon: skript-db Category: Event Syntax: [on] complete of [(sql|database)] query ## Cancel GUI Close Addon: skript-gui Category: Effect Syntax: (cancel|uncancel) [the] gui clos(e|ing) Description: Cancels or uncancels the closing of a GUI. This effect can be used within a GUI close section. A 1 tick delay is applied by this effect after the code has run. Examples: create a gui with virtual chest inventory with 3 rows named "My GUI": run on gui close: cancel the gui closing ## GUI Addon: skript-gui Category: Type Syntax: guiinventory Description: Represents a skript-gui GUI Examples: See the GUI creation section. ## Has GUI Addon: skript-gui Category: Condition Syntax: %players% (has|have) a gui [open] Description: Checks whether the given player(s) has/have a GUI open. Examples: command /guiviewers: # Returns a list of all players with a GUI open. set {_viewers::*} to all players where [input has a gui] send "GUI Viewers: %{_viewers::*}%" to player ## GUI Open/Close Addon: skript-gui Category: Section Syntax: run (when|while) (open[ing]|clos(e|ing)) [[the] gui] Description: Sections that will run when a user opens or closes the GUI. This section is optional. Examples: create a gui with virtual chest inventory with 3 rows named "My GUI" run on gui open: send "You just opened this GUI!" to player run on gui close: send "You just closed this GUI!" to player ## Set GUI Slots Addon: skript-gui Category: Section Syntax: (make|format) [the] next gui [slot] (with|to) [([re]mov[e]able|stealable)] %itemtype% Description: Set or clear GUI slots. Examples: create a gui with virtual chest inventory with 3 rows named "My GUI" make next gui with dirt # Formats the next available GUI slot with dirt. Doesn't do anything when clicked on. make gui 10 with water bucket: #code here is run when the gui slot is clicked unformat gui 10 # Removes the GUI item at slot 10 unformat the next gui # Removes the GUI item at the slot before the next available slot. ## Create / Edit GUI Addon: skript-gui Category: Section Syntax: create [a] [new] gui [[with id[entifier]] %-string%] with %inventory% [(and|with) ([re]move[e]able|stealable) items] [(and|with) shape %-strings%] Description: The base of creating and editing GUIs. Examples: create a gui with virtual chest inventory with 3 rows named "My GUI" edit gui last gui: set the gui-inventory-name to "New GUI Name!" ## GUI Values Addon: skript-gui Category: Expression Syntax: [the] gui slot Description: Different utility values for a GUI. Some are available in vanilla Skript. Not all values are available for the GUI close section. Examples: create a gui with virtual chest inventory: make gui 10 with water bucket: set the gui item to lava bucket ## Global GUI Identifiers Addon: skript-gui Category: Expression Syntax: [(all [[of] the]|the)] (global|registered) gui id(s|entifiers) Description: A list of the identifiers of all registered global GUIs. Examples: command /guis: trigger: loop all of the registered gui identifiers: send loop-string ## Expression - GUIs Addon: skript-gui Category: Expression Syntax: all guis ## Next GUI Slot Addon: skript-gui Category: Expression Syntax: %guiinventorys%'[s] next gui slot[s] Description: An expression that returns the number/character of the next open slot in a GUI. Examples: make the next gui slot with dirt named "Slot: %the next gui slot%" ## Last GUI/GUI from ID Addon: skript-gui Category: Expression Syntax: [the] (last[ly] [(created|edited)]|(created|edited)) gui Description: It is used to return the last created/edited gui or a gui from a string id. Examples: open the created gui for player open the gui with the id "globalGUI" for player ## Paginated List Addon: skript-gui Category: Expression Syntax: page[s] %numbers% of %objects% with %number% lines Description: Returns the "pages" of a list based on the given number of lines per page. Examples: # The SECOND set of 36 items in the "guiItems" list. This represents the elements from indexes 37 to 72 set {_guiPage2::*} to page 2 of {_guiItems::*} with 36 lines ## Virtual Inventory Addon: skript-gui Category: Expression Syntax: virtual ((crafting [table]|workbench)|chest|anvil|hopper|dropper|dispenser|%-inventorytype%) [with size %-number%] [(named|with (name|title)) %-string%] Description: An expression to create inventories that can be used with GUIs. Examples: create a gui with virtual chest inventory with 3 rows named "My GUI" ## GUI Properties Addon: skript-gui Category: Expression Syntax: [the] ([skript-]gui name[s]|([skript-]gui size[s]|rows)|shape[s]|lock status[es]) of %guiinventorys% Description: Different properties of a GUI. They can be modified. Examples: edit gui last gui: set the name of the edited gui to "New GUI Name!" set the rows of the edited gui to 3 # Sets the number of rows to 3 (if possible) set the shape of the edited gui to "xxxxxxxxx", "x-------x", and "xxxxxxxxx" set the lock status of the edited gui to false # Players can take items from this GUI now ## GUI of Player Addon: skript-gui Category: Expression Syntax: [the] gui of %players% Description: The GUI that the player currently has open. Examples: edit the player's gui: make gui 1 with dirt named "Edited Slot" ## ID of GUI Addon: skript-gui Category: Expression Syntax: [the] id[entifier] of %guiinventorys% Description: An expression that returns the ID of a GUI if the GUI is a global GUI. This expression may be used to change the ID of a global GUI. It may also be used to register a GUI as a global GUI. Examples: send "%id of {gui}%" to player set id of {gui} to "new id" ## LuckPerms Group Addon: skript-luckperms Category: Type Syntax: luckpermsgroup Description: A LuckPerms group. ## LuckPerms ChatMeta Addon: skript-luckperms Category: Type Syntax: luckpermschatmeta Description: A LuckPerms prefix or suffix node. ## LuckPerms Track Addon: skript-luckperms Category: Type Syntax: luckpermstrack Description: A LuckPerms track. ## LuckPerms User Addon: skript-luckperms Category: Type Syntax: luckpermsuser Description: A LuckPerms user. ## Edit User Addon: skript-luckperms Category: Section Syntax: edit [the] user %luckpermsuser% Description: Creates a section that allows you to modify the properties of the provided user. After the code in the section has finished the user will be saved asynchronously. Examples: edit group user {_lp}: grant permission "mypermission" ## Edit Group Addon: skript-luckperms Category: Section Syntax: edit [the] group %string% Description: Creates a section that allows you to modify the properties of the provided group. After the code in the section has finished the group will be saved asynchronously. Examples: edit group "example": add 5 to group weight ## Promote User Addon: skript-luckperms Category: Effect Syntax: promote [user] [%-luckpermsuser%] (along|on) track %luckpermstrack% Description: Promotes a user along a track. If the user is not on the track or is at end of track, nothing will happen. Examples: function example(p: offlineplayer,track: string): get luckperms user {_p} and store it in {_lp} edit user {_lp}: promote user {_lp} along track {_track} if {_p} is online: send "You were promoted on track %{_track}%!" to {_p} ## Revoke Group Addon: skript-luckperms Category: Effect Syntax: (revoke|remove) luckperm[s] group [%-luckpermsgroup%] [from %-luckpermsuser%] Description: Removes a group from a user. Examples: function example(p: offlineplayer,group: string): get luckperms user {_p} and store it in {_lp} edit user {_lp}: revoke luckperms group {_group} send "You just lost group %{_group}% ;c" to {_p} ## Demote User Addon: skript-luckperms Category: Effect Syntax: demote [user] [%-luckpermsuser%] (along|on) track %luckpermstrack% Description: Demotes a user along a track. If the user is not on the track nothing will happen. Examples: function example(p: offlineplayer,track: string): get luckperms user {_p} and store it in {_lp} edit user {_lp}: demote user {_lp} along track {_track} if {_p} is online: send "You were demoted on track %{_track}%!" to {_p} ## Permission Members Addon: skript-luckperms Category: Effect Syntax: (fetch|get) [the] [luckperm[s]] (users|players) with perm[ission] %string% and store (it|the result) in %-~objects% Description: Returns a list of UUIDS of users who have the specified permission. Should be relatively fast depending on how many users have said permission. Examples: function search(): get the users with perm "example" and store it in {_lp::*} send "%size of {_lp::*}% have 'example' permission!" to all ops ## Group Members Addon: skript-luckperms Category: Effect Syntax: (fetch|get) [the] [luckperm[s]] (members|players) (of|in) group %luckpermsgroup% and store (it|the result) in %-~objects% Description: Returns a list of UUIDS of users who have the specified group. Should be relatively fast depending on how many users have a group. Examples: function search(): get the members of group "example" and store it in {_lp::*} send "%size of {_lp::*}% have 'example' group!" to all ops ## Load Player Addon: skript-luckperms Category: Effect Syntax: (fetch|get) luckperm[s] user [from] %offlineplayer% and store (it|the result) in %-~objects% Description: Loads a LuckPerms user. This is required for basically everything relating to users. Examples: function example(p: offlineplayer): get luckperms user {_p} and store it in {_lp} broadcast "%{_p}% has %size of groups of {_lp}% groups!" ## Revoke Permission Addon: skript-luckperms Category: Effect Syntax: (revoke|remove) [luckperm[s]] perm[ission] %string% [from %-luckpermsuser%] Description: Removes a permission from a user. Examples: function example(p: offlineplayer,perm: string): get luckperms user {_p} and store it in {_lp} edit user {_lp}: revoke permission {_perm} send "You just lost permission %{_perm}% ;c" to {_p} ## Grant Permission Addon: skript-luckperms Category: Effect Syntax: (grant|add) [luckperm[s]] perm[ission] %string% [to %-luckpermsuser%] [for %-timespan%] Description: Adds a permission to a user. Examples: function example(p: offlineplayer,perm: string,duration: timespan=0 seconds): get luckperms user {_p} and store it in {_lp} if {_duration} is not 0 seconds: edit user {_lp}: grant permission {_perm} for {_duration} send "You just got %{_perm}% permission for %{_duration}%!" to {_p} else: edit user {_lp}: grant permission {_perm} send "You just got %{_perm}% permission!" to {_p} ## Grant Group Addon: skript-luckperms Category: Effect Syntax: (grant|add) luckperm[s] group %luckpermsgroup% [to %-luckpermsuser%] [for %-timespan%] Description: Adds a group to a user. Examples: function example(p: offlineplayer,group: string,duration: timespan=0 seconds): get luckperms user {_p} and store it in {_lp} if {_duration} is not 0 seconds: edit user {_lp}: grant luckperms group {_group} for {_duration} send "You just got %{_group}% group for %{_duration}%!" to {_p} else: edit user {_lp}: grant luckperms group {_group} send "You just got %{_group}% permission!" to {_p} ## Has LuckPerms Permission Addon: skript-luckperms Category: Condition Syntax: %luckpermsuser% has luckperm[s] perm[ission] %string% Description: Returns whether a user has/doesn't have a permission. This is different from Skript's has permission condition as with `user` this supports offline players. Examples: function hasPerm(p: player,perm: string) :: boolean: get luckperms user {_p} and store it in {_lp} if {_lp} has luckperms permission {_perm}: return true else: return false ## Has LuckPerms Group Addon: skript-luckperms Category: Condition Syntax: %luckpermsuser% has luckperm[s] group %luckpermsgroup% Description: Returns whether a user has/doesn't have a group. This is different from Skript's has group condition as with `user` this supports offline players. Examples: function hasGroup(p: player,group: string) :: boolean: get luckperms user {_p} and store it in {_lp} if {_lp} has luckperms group {_group}: return true else: return false ## All Tracks Addon: skript-luckperms Category: Expression Syntax: all [of the] luckperm[s] tracks Description: returns a list of all tracks. Examples: command /getalltracks: trigger: send all of the luckperms tracks to player ## Chat Meta Builder Addon: skript-luckperms Category: Expression Syntax: a [new] (prefix|suffix) builder Description: Creates a builder for a prefix/suffix. You can add said prefix/suffix to a user or a group via the prefix or suffix expression. Examples: command /test: trigger: fetch luckperms user player and store it in {_lp} set {_m} to a new suffix builder: value: "NERD" priority: 5 duration: 1 week add {_m} to suffixes of {_lp} command /test: trigger: fetch luckperms user player and store it in {_lp} set {_m} to a new prefix builder: value: "ADMIN" priority: 255 duration: 1 hour add {_m} to prefixes of {_lp} ## All Groups Addon: skript-luckperms Category: Expression Syntax: all [of the] luckperm[s] groups Description: returns a list of all groups. This expression will require `luckperms` in it until Skript deprecates their `groups of`. Examples: command /getallgroups: trigger: send all of the luckperms groups to player ## Chat Meta Source Addon: skript-luckperms Category: Expression Syntax: [the] [luckperm[s]] (prefix|suffix) source of %luckpermschatmeta% Description: Represents the source of a chatmeta. If inherited directly (not from a group) it will return the user's UUID. Examples: command /getsource: trigger: get luckperms user player and store it in {_lp} set {_g} to luckperms prefix of {_lp} set {_source} to prefix source of {_g} send "The source of your main prefix is %{_source}%!" to player ## Chat Meta Priority Addon: skript-luckperms Category: Expression Syntax: [the] [luckperm[s]] (prefix|suffix) priority of %luckpermschatmeta% Description: Represents the priority of a chat meta node. Examples: command /getpriority: trigger: get luckperms user player and store it in {_lp} set {_g} to highest luckperms group of {_lp} set {_prefix} to group prefix of {_g} set {_priority} to {_prefix}'s priority send "Your group's priority is %{_priority}%!" to player ## Permissions Of Addon: skript-luckperms Category: Expression Syntax: [luckperm[s]] (perms|permissions) of %luckpermsusers% Description: Represents the permissions of a user. Examples: function example(p: offlineplayer): get luckperms user {_p} and store it in {_lp} broadcast "%{_p}% has %size of luckperms permissions of {_lp}% permissions!% broadcast "their permissions: %luckperms p ermissions of {_lp}%" ## Groups Of Addon: skript-luckperms Category: Expression Syntax: luckperm[s] groups of %luckpermsusers% Description: Represents the groups of a user. This expression will require `luckperms` in it until Skript deprecates their `groups of`. Examples: function example(p: offlineplayer): get luckperms user {_p} and store it in {_lp} broadcast "%{_p}% has %size of luckperms groups of {_lp}% groups!% broadcast "their groups: %luckperm groups of {_lp}%" ## Suffix Addon: skript-luckperms Category: Expression Syntax: [the] [luckperm[s]] suffix[es] of group %luckpermsgroup% Description: Returns the primary suffix of a user/group. If `suffixes` is used it will return a sorted list of all suffixes of the user/group. Use `ExprChatMetaPriority` to get priority of a suffix. Examples: function get(p: offlineplayer): get luckperms user {_p} and store it in {_lp} set {_suffix} to formatted luckperms suffix of {_lp} set {_suffixes::*} to luckperms suffixes of {_lp} if {_p} is online: send "Your suffix: %{_suffix}%" to {_p} send "You have %size of {_suffixes::*}% suffixes!" to {_p} loop {_suffixes::*}: set {_suffix} to formatted loop-value send "Priority: %suffix priority of loop-value% Suffix: %{_suffix}%" to {_p} function get(group: string): set {_prefix} to formatted luckperms prefix of {_group} set {_prefixes::*} to luckperms prefixes of {_group} broadcast "%{_group}%'s primary prefix: %{_prefix}%" broadcast "Amount of all prefixes: %size of {_prefixes::*}%x" broadcast "All:" loop {_prefixes::*}: set {_prefix} to formatted loop-value broadcast "Priority: %prefix priority of loop-value% Prefix: %{_prefix}%" ## Permissions Of Addon: skript-luckperms Category: Expression Syntax: [luckperm[s]] group weight of [group] [%-luckpermsgroup%] Description: Represents the permissions of a user. Examples: function example(p: offlineplayer): get luckperms user {_p} and store it in {_lp} broadcast "%{_p}% has %size of luckperms permissions of {_lp}% permissions!% broadcast "their groups: %luckperm permissions of {_lp}%" ## Prefix Addon: skript-luckperms Category: Expression Syntax: [the] [luckperm[s]] prefix[es] of group %luckpermsgroup% Description: Returns the primary prefix of a user/group. If `prefixes` is used it will return a sorted list of all prefixes of the user/group. Use `ExprChatMetaPriority` to get priority of a prefix. Examples: function get(p: offlineplayer): get luckperms user {_p} and store it in {_lp} set {_prefix} to formatted luckperms prefix of {_lp} set {_prefixes::*} to luckperms prefixes of {_lp} if {_p} is online: send "Your prefix: %{_prefix}%" to {_p} send "You have %size of {_prefixes::*}% prefixes!" to {_p} loop {_prefixes::*}: set {_prefix} to formatted loop-value send "Priority: %prefix priority of loop-value% Prefix: %{_prefix}%" to {_p} function get(group: string): set {_prefix} to formatted luckperms prefix of {_group} set {_prefixes::*} to luckperms prefixes of {_group} broadcast "%{_group}%'s primary prefix: %{_prefix}%" broadcast "Amount of all prefixes: %size of {_prefixes::*}%x" broadcast "All:" loop {_prefixes::*}: set {_prefix} to formatted loop-value broadcast "Priority: %prefix priority of loop-value% Prefix: %{_prefix}%" ## On Group Lose Permission Addon: skript-luckperms Category: Event Syntax: [on] [luckperm[s]] group lose perm[ission] Description: Called when a group loses a permission. `event-permission` = The permission that was removed. `event-group` = The group that lost the permission. Examples: on group lose permission: broadcast "Wow! %event-group% just lost permission %event-permission%!" to player ## On User Promote Addon: skript-luckperms Category: Event Syntax: [on] [luckperm[s]] user promote[d] Description: Called when a group of a player is updated via a promotion on a track (/lp user notch promote staff)") Do note that %past event-group% will be unset if player didn't previously have a group on that track. `event-group` = The group the user was promoted to. `past event-group` = The group the user previously had on the track. Examples: on user promoted: broadcast "Wow! %player% got promoted to %event-group% (previous group was %past event-group% along track %event-track%" ## On User Receive Permission Addon: skript-luckperms Category: Event Syntax: [on] [luckperm[s]] user receive perm[ission] Description: Called when a user receives a permission. If the permission duration is infinite %event-timespan% will return 0 seconds. `event-permission` = The permission that the user received. `event-timespan` = The duration the user will have the permission for. Examples: on user receive permission: send "You just got the permission %event-permission% for %event-duration%" to player ## On User Demote Addon: skript-luckperms Category: Event Syntax: [on] [luckperm[s]] user demote[d] Description: Called when a group of a player is updated via a demotion on a. `event-group` = The group the user was demoted to. `past event-group` = The group the user had on the track. `event-track` = The track that the demotion happened on. Examples: on user demote: broadcast "Wow! %player% got demoted from %previous event-group% on track %event-track%!" ## On User Meta Set Addon: skript-luckperms Category: Event Syntax: [on] [luckperm[s]] user meta set Description: Called when the meta of a user is set. Only called when meta is SET not unset etc for that case use `user meta remove` `event-key` = The key e.g. "prefix" or "suffix" `event-value` = The result that key was set to. Examples: on user meta set: set {_m} to formatted event-value event-key is "prefix" send "Your prefix has been updated: %{_m}%" to player ## On User Receive Group Addon: skript-luckperms Category: Event Syntax: [on] [luckperm[s]] user receive group Description: Called when a user receives a group. If the group duration is infinite %event-timespan% will return 0 seconds. `event-group` = The group the user received. `event-timespan` = The duration the user will have the group for. Examples: on user receive group: send "You just received %event-group% for %event-duration%!" to player ## On Group Meta Remove Addon: skript-luckperms Category: Event Syntax: [on] [luckperm[s]] group meta remove Description: Called when the meta of a group is removed. Only called when meta is REMOVED not set/added to for that case use `group meta set` `event-key` = The key e.g. "prefix" or "suffix" `event-value` = The result that key was set to. `event-group` = The group that lost said meta. Examples: on group meta remove: set {_m} to formatted event-value event-key is "prefix" broadcast "%event-group% no longer has prefix %{_m}%!" ## On User Lose Group Addon: skript-luckperms Category: Event Syntax: [on] [luckperm[s]] user lose group Description: Called when a user loses a group. `event-group` = The group the user lost. Examples: on user lose group: send "You just lost %event-group% ;o" to player ## On User Lose Permission Addon: skript-luckperms Category: Event Syntax: [on] [luckperm[s]] user lose perm[ission] Description: Called when a user loses a permission. `event-permission` = The permission the user lost. Examples: on user lose permission: send "You just lost %event-permission%!" to player ## On User Meta Remove Addon: skript-luckperms Category: Event Syntax: [on] [luckperm[s]] user meta remove Description: Called when the meta of a user is removed. Note: This event may be called multiple times if you clear a meta. `event-key` = The key e.g. "prefix" or "suffix" `event-value` = The result that key was set to. Examples: on user meta remove: set {_m} to formatted event-value event-key is "prefix" send "You lost the prefix %{_m}%!" to player ## On Group Meta Set Addon: skript-luckperms Category: Event Syntax: [on] [luckperm[s]] group meta set Description: Called when the meta of a group is set. Only called when meta is SET not unset etc for that case use `group meta remove` `event-key` = The key e.g. "prefix" or "suffix" `event-value` = The result that key was set to. `event-group` = The group that received the meta. Examples: on group meta set: set {_m} to formatted event-value event-key is "prefix" broadcast "%event-group%'s prefix has been updated: %{_m}%" ## On Group Receive Permission Addon: skript-luckperms Category: Event Syntax: [on] [luckperm[s]] group receive perm[ission] Description: Called when a group receives a permission. If the permission duration is infinite %event-timespan% will return 0 seconds. `event-permission` = The permission the group received. `event-group` = The group that received the permission. `event-timespan` = The duration the group will have the permission for. Examples: on group receive permission: broadcast "Wow! %event-group% just got permission %event-permission%!" to player ## Custom Particle Addon: skript-particle Category: Type Syntax: customparticle Description: Represents a particle with extra shape-related data, like motion. ## Radial Shape Addon: skript-particle Category: Type Syntax: radialshape Description: Represents an abstract particle shape that has a radius. E.g. circle, sphere, etc. ## Length/Width/Height Shape Addon: skript-particle Category: Type Syntax: lwhshape Description: Represents an abstract particle shape that has a length, width, and/or height. E.g. cube, cylinder, ellipse, etc. ## Cutoff Shape Addon: skript-particle Category: Type Syntax: cutoffshape Description: Represents an abstract particle shape that has a cutoff angle. E.g. arc, spherical cap, etc. ## Polygonal/Polyhedral Shape Addon: skript-particle Category: Type Syntax: polyshape Description: Represents an abstract particle shape that is a polygon or polyhedron, with a side length and side count. Irregular shapes are included in this category, but do not support changing either side count or side length. ## Shape Addon: skript-particle Category: Type Syntax: shape Description: Represents an abstract particle shape. E.g. circle, line, etc. ## Custom Particle Section Addon: skript-particle Category: Section Syntax: create [a] [new] custom %particle% [particle] [with] Description: This section can be used in conjunction with the `last created particle` expression to create custom particles. The particle can be any custom particle from skript-particle or from skbee. Fields include: count: integer - the number of particles to create (required) offset: vector - the offset value of the particle. See the Minecraft wiki on /particle for more info. (default: 0, 0, 0) velocity: vector - the velocity of the particle. Can be a vector or a motion (inwards/clockwise/etc.). (default: 0, 0, 0) extra: number - the extra value of the particle. Forces `count` to be 0 and cannot be combined with `offset`. See the Minecraft wiki on /particle for more info. (default: 0) force: boolean - whether or not to force the particle to be seen at long range. (default: false) Examples: create a new custom electric spark particle with: count: 10 offset: vector(1, 1, 1) extra: 0.2 force: true set {_particle} to last created particle create a new custom red dust particle with: count: 0 velocity: inwards extra: 0.5 force: true set {_particle} to last created particle ## Draw Shape Animation Addon: skript-particle Category: Section Syntax: draw [an] (animation [of] [the]|animated) shape[s] [of] %shapes% [%-directions% %-locations/entities%] [to %-players%] over %timespan% ## Draw Shape Addon: skript-particle Category: Section Syntax: [sync[hronously]] draw [the] shape[s] [of] %shapes% [%-directions% %-locations/entities%] [to %-players%] Description: Draws the given shapes at the given locations. The shapes will be drawn in the order they are given. The code inside the draw shape section will be executed before drawing begins. You can use `event-shape` or `drawn shape` to get the shape being drawn. Modifying this shape affects the end result, but it does not modify the original shape! This means you can set particle data, or change the shape's location, rotation, or scale, without affecting the shape the next time it's drawn. **Note that this means the section is run once for each shape!** This is the same way the spawn section works in Skript. This is subject to change if people find it cumbersome. By default, this effect will run asynchronously, meaning it will do all the calculation and drawing on a separate thread, instead of blocking your server's main thread. This is much better if you want to draw a lot of shapes at once, or if you want to draw large and complex shapes. Be aware that this changes the behavior of the section slightly. All the section code will first be executed synchronously, and then the drawing will be done asynchronously. This means that the time the shape appears may be slightly delayed compared to the completion of the section code. Additionally, the code immediately after the draw shape section will be executed immediately, often before the drawing is finished. If you stumble across issues with this, please report them on the Skript-Particles GitHub page and use the synchronous option instead. Drawing a shape for a duration is async only. Examples: draw the shape (sphere with radius 1) at player's location draw the shapes of (a sphere with radius 1 and a cube with radius 1) at player's location for (all players in radius 10 of player) synchronously draw the shape of a sphere with radius 1 at player's location draw the shape {_shape} at player's location: set event-shape's particle to red dust synchronously draw shape (a sphere with radius 1 and a cube with radius 1) at player's location: set event-shape's radius to 2 ## axisAngleDegrees Addon: skript-particle Category: Function Syntax: axisAngleDegrees(angle: number, x: number, y: number, z: number) :: quaternion Description: Returns a quaternion from the given axis and angle parameters. The axis is a vector composed of 3 numbers, x, y, and z, and the angle is the rotation around that axis, in degrees. Examples: set {_v} to axisAngleDegrees(180, 1, 0, 0) ## Shape Animation Ordering Addon: skript-particle Category: Effect Syntax: set the animation order of %shapes% to (default|lowest-to-highest|highest-to-lowest) Description: Controls the order in which the draw animation effect will draw points. Currently WIP, only supports 2 special orderings. lowest-to-highest, which draws from -x -y -z to x y z, and the reverse. Examples: set the animation order of {_circle} to lowest-to-highest ## Toggle Axes Addon: skript-particle Category: Effect Syntax: (show|hide) [local] [and] [global] axes of [shape[s]] %shapes% Description: Toggles the visibility of the local and/or global axes of a shape. When on, the shape will also draw its local and/or global axes when drawn. This is intended for debugging purposes. Examples: show local axes of {_shape} hide global axes of {_shape} hide local and global axes of {_shape} show local axes of {_shape} and {_shape2} ## Rotate Shape Addon: skript-particle Category: Effect Syntax: rotate shape[s] %shapes% around [(relative|local)] (%-vector%|((x|y|z)(-| )axis)) by %number% [degrees|radians] Description: Rotates shapes around a given axis by a given angle. The axis can be specified as a vector or as a single axis (x, y, or z). By default, the rotation is done in degrees. The axis can also be specified as a local or relative axis, which rotate relative to the shape's current rotation. For example, you can rotate a shape around the global y axis, or around the shape's local y axis. Examples: rotate shape {_shape} around x axis by 90 degrees rotate shape {_shape} around vector(0, 1, 0) by 1.4 radians rotate shape {_shape} around local y axis by 90 ## Last Created Particle Addon: skript-particle Category: Expression Syntax: last created [custom] particle Description: Returns the last particle created with the custom particle section. Examples: set {_particle} to last created particle ## Drawn Shape Addon: skript-particle Category: Expression Syntax: [the] drawn shape Description: Returns the shape that is being drawn by the draw section. Examples: draw the shapes {_shapes::*} at player's head with radius 1: # only affects the drawn version, the original shape is not changed set radius of drawn shape to 2 ## Shape Copy Addon: skript-particle Category: Expression Syntax: [a] shape cop(y|ies) of %shapes% Description: Returns a copy of the given shape. This is useful if you want a modified version of a shape without changing the original. Examples: set {_shape-2} to a copy of {_shape} set {_shape} to a copy of a sphere with radius 1 ## Particle Sphere Addon: skript-particle Category: Expression Syntax: [a] [solid] sphere (with|of) radius %number% Description: Creates a sphere shape with the given radius. The radius must be greater than 0. Default style is a hollow sphere, but you can use the 'solid' tag to make it solid. Examples: set {_shape} to sphere with radius 3 set {_shape} to solid sphere with radius 10 ## Particle Regular Polyhedron Addon: skript-particle Category: Expression Syntax: [a[n]] [outlined|hollow|solid] (tetra|octa|icosa|dodeca)hedron (with|of) radius %number% Description: Creates a regular polyhedron shape with the given radius. The radius must be greater than 0. Valid polyhedra are tetrahedra (4 faces), octahedra (8), dodecahedra (12), and icosahedra (20). Polyhedra currently do not support the particle count expression, only particle density. Examples: set {_shape} to a tetrahedron with radius 1 set {_shape} to a solid icosahedron with radius 2 draw the shape of a tetrahedron with radius 5 at player ## Particle Regular Polygon Addon: skript-particle Category: Expression Syntax: [a] [(solid|filled)] regular polygon with %number% sides and radius %number% Description: Creates a regular polygon with the given number of sides and radius. The number of sides must be at least 3. The radius must be greater than 0. Examples: set {_shape} to a regular polygon with 5 sides and radius 10 set {_shape} to a solid regular polygon with 6 sides and side length 3 draw the shape of a triangle with side length 5 at player ## Particle Spherical Cap Addon: skript-particle Category: Expression Syntax: [a] spherical (cap|sector) (with|of) radius %number% and [cutoff] angle [of] %number% [degrees|radians] Description: Creates a spherical cap or spherical sector shape with the given radius and cutoff angle. The radius must be greater than 0. The angle must be between 0 and 180 degrees. If the angle is 180 degrees, the shape will be a sphere. A spherical cap is a portion of the surface of a sphere. A spherical sector, or spherical cone, is essentially a cone with a rounded base. Examples: set {_shape} to spherical cap with radius 10 and angle 45 degrees set {_shape} to a spherical sector of radius 3 and angle 90 degrees ## Particle Irregular Polygon Addon: skript-particle Category: Expression Syntax: [a] [2d] polygon (from|with) [vertices|points] %vectors/locations% [and height %-number%] Description: Creates an irregular polygon from a list of vectors or locations. If locations are used, the polygon can be drawn without giving a specific location to draw at. The height of the polygon will be the height between the lowest and highest points. It can also be set with the optional height parameter. Irregular polygons currently only support the wireframe style. Also, they do not currently support Dynamic Locations like lines and cuboids do. Examples: set {_shape} to a polygon with points vector(0, 0, 0), vector(1, 0, 0), and vector(1, 1, 1) set {_shape} to a 2d polygon from points vector(0,0,1), vector(1,0,1), vector(0,0,-1) and height 0.5 ## Particle Line Addon: skript-particle Category: Expression Syntax: [a] line[s] (from|between) %locations/entities/vectors% (to|and) %locations/entities/vectors% Description: Creates a line shape between points, or in a direction for a given length. The length must be greater than 0. When defining a line from points, the points can either be vectors or locations/entities. Each point in the first set will connect to each point in the second set. You can use the third pattern to connect points in series, like a path along the points. You cannot use both vectors and locations/entities, but you can mix and match locations and entities.When using locations, this is a shape that can be drawn without a specific location. It will be drawn between the two given locations. If using vectors, or a direction and length, the shape does require a location to be drawn at. Examples: set {_shape} to line from vector(0, 0, 0) to vector(10, 10, 10) set {_shape} to a line in direction vector(1, 1, 1) and length 10 draw the shape of a line from vector(0, 0, 0) to vector(10, 10, 10) at player # note that the following does not require a location to be drawn at draw the shape of a line from player to player's target draw the shape of a line from player to (all players in radius 10 of player) draw the shape of a line connecting {_locations::*} ## Particle Circle or Cylinder Addon: skript-particle Category: Expression Syntax: [a] (circle|disc) (with|of) radius %number% Description: Creates a circle, disc, or cylinder shape with the given radius. The radius must be greater than 0 and the height cannot be negative. Examples: set {_shape} to circle with radius 10 set {_shape} to a disc of radius 3 set {_shape} to a solid cylinder with radius 3 and height 5 ## Particle Rectangle Addon: skript-particle Category: Expression Syntax: [a[n]] [(solid|filled)] [xz|xy|yz] rectangle (with|of) length %number% and width %number% Description: Creates a rectangle from a length and a width, or from two corners. The length and width must be greater than 0. When defining a rectangle from two corners, the corners can either be vectors or locations/entities. You cannot use both vectors and locations/entities, but you can mix and match locations and entities. When using locations, this is a shape that can be drawn without a specific location. It will be drawn between the two given locations. Note that the rectangle defaults to the xz plane, or parallel to the ground, with x being width and z being length. You can change this to the xy or yz plane by using the 'xy' or 'yz'. In all cases, the first axis is length and the second is width. Examples: set {_shape} to rectangle with length 10 and width 5 set {_shape} to a yz rectangle from vector(0, 0, 0) to vector(10, 10, 10) draw the shape of a rectangle with length 10 and width 5 at player # note that the following does not require a location to be drawn at draw the shape of a rectangle from player to player's target ## Rotation Addon: skript-particle Category: Expression Syntax: [the|a] rotation (from|around) [the] [vector] %vector% (with|by) [[the|an] angle [of]] %number% [degrees|radians] Description: Describes a rotation around a vector by a given angle, or from one vector to another. An alternative to the `axisAngle` and `quaternion` functions. Returns a quaternion. Examples: set {_rotation} to rotation around vector(1, 0, 0) by an angle of 90 degrees set {_rotation} to a rotation around vector(1, 1, 1) by 1.57 radians set {_rotation} to a rotation from vector(1, 0, 0) to vector(0, 1, 0) set {_rotation} to a rotation between vector(1, 0, 1) and vector(0, 1, 2) ## Particle Star Addon: skript-particle Category: Expression Syntax: [a] [solid] star with %number% points(,| and) inner radius %number%[,] and outer radius %number% Description: Creates a star shape with the given number of points, inner radius, and outer radius. The number of points must be at least 2, and the inner and outer radii must be greater than 0. Note that "points" in this context is referring to the tips of the star, not the number of particles. Examples: set {_shape} to star with 5 points, inner radius 1, and outer radius 2 draw the shape of a star with 4 points, inner radius 2, and outer radius 4 at player ## Particle Helix / Spiral Addon: skript-particle Category: Expression Syntax: [a[n]] [solid] [[(counter|anti)[-]]clockwise] (helix|spiral) (with|of) radius %number%[,] [and] height %number%[[,] [and] winding rate [of] %-number% [loops per (meter|block)]] Description: Creates a helix or spiral shape with the given radius and height. The radius and height must be greater than 0. The winding rate is the number of loops per meter or block. If omitted, the winding rate will be 1 loop per block. The height of the helix can be manipulated through both the length and height expressions. Examples: set {_shape} to helix with radius 10 and height 5 set {_shape} to a spiral with radius 3 and height 5 and winding rate of 2 loops per meter set {_shape} to a solid anti-clockwise helix with radius 3, height 5, winding rate 1 ## Particle Arc or Sector Addon: skript-particle Category: Expression Syntax: [a[n]] [circular] (arc|sector) (with|of) radius %number% and [cutoff] angle [of] %number% [degrees|radians] Description: Creates an arc or sector with the given radius and cutoff angle. The radius must be greater than 0 and the height, if given, must be positive. The angle must be between 0 and 360 degrees. If the angle is 360 degrees, the shape will be a circle or cylinder. An arc is a portion of the circle's circumference. A sector is a portion of the circle's area. Examples: set {_shape} to an arc with radius 10 and angle 45 degrees set {_shape} to a circular sector of radius 3 and angle 90 degrees set {_shape} to a sector of radius 3 and height 5 and angle 90 degrees set {_shape} to a cylindrical sector of radius 1, height 0.5, and angle 45 ## Particle Bezier Curve Addon: skript-particle Category: Expression Syntax: [a] [bezier] curve from [start] %vector/entity/location% to [end] %vector/entity/location% (with|using) control point[s] %vectors/entities/locations% Description: Creates a bezier curve between the given start and end points, using the given control points to change the curve. Examples: set {_shape} to a bezier curve from {a} to {b} with control points {c} and {d} set {_shape} to a curve from player to player's target with control point (location 3 above player) ## Particle Ellipse or Elliptical Cylinder Addon: skript-particle Category: Expression Syntax: [a[n]] [(solid|filled)] (ellipse|oval) (with|of) radi(i|us) %number% and %number% Description: Creates a ellipse, elliptical disc, or elliptical cylinder shape with the given radii. The radii must be greater than 0. The first radius is the x radius, and the second radius is the z radius. These are relative to the shape's rotation, so they only correspond exactly to the x and z axes if the shape is not rotated. NOTE: Very eccentric elliptical discs/sectors (those with a large difference between the x and z radii) may have many more particles than expected. Be careful. Examples: set {_shape} to oval with radii 10 and 3 set {_shape} to a solid ellipse of radius 3 and 5 set {_shape} to a hollow elliptical cylinder with radii 3 and 6 and height 5 ## Particle Heart Addon: skript-particle Category: Expression Syntax: [a] [solid] heart [shape] (with|of) width %number%[,] [and] length %number%[[,] [and] eccentricity %-number%] Description: Creates a heart shape with the given width and height, and optionally eccentricity. The width (x) and length (z) must be greater than 0. The eccentricity defaults to 3, but must be at least 1. This determines how round/pointy the heart is. Values between 1 and 5 are recommended. Note that the width and length are not exact, but they're roughly the width and length of the heart. Finally, this shape does not support the particle count expression and its particle density is not uniform. If anyone knows a good way to compute the complete elliptic integral of the second kind, please let me know. Examples: set {_heart} to heart with width 5 and length 4 set {_heart} to heart shape with width 5, length 7, and eccentricity 2 draw the shape of a heart of width 2 and length 2 at player ## Particle Ellipsoid Addon: skript-particle Category: Expression Syntax: [a[n]] [(outlined|wireframe|hollow|(solid|filled))] ellipsoid (with|of) radi(i|us) %number%(,| and) %number%[,] and %number% Description: Creates a ellipsoid shape with the given radii. The radii must be greater than 0. The first radius is the x radius, and the second is the y radius, and the last is the z radius. These are relative to the shape's rotation, so they only correspond exactly to the world axes if the shape is not rotated. Note that this shape is modified using the Length/Width/Height modifiers, not the Radius modifier. This means the length/width/height of the shape will be twice the radius in each direction. Length is the x axis, width is the z axis, and height is the y axis. NOTE: Very eccentric solid ellipsoids (those with a large difference between the radii) may have many more particles than expected. Be careful. Examples: set {_shape} to ellipsoid with radii 10, 3, and 8 set {_shape} to a solid ellipsoid of radius 3 and 5 and 6 set {_shape} to a hollow ellipsoid with radii 3, 6 and 5 ## Particle Cuboid Addon: skript-particle Category: Expression Syntax: [a] [hollow|solid] cuboid (with|of) length %number%(,| and) width %number%[,] and height %number% Description: Creates a cuboid from a length, a width, and a height, or from two corners. The specified length, width, and height must be greater than 0. Length is the x-axis, width is the z-axis, and height is the y-axis. When defining a cuboid from two corners, the corners can either be vectors or locations/entities. You cannot use both vectors and locations/entities, but you can mix and match locations and entities.When using locations, this is a shape that can be drawn without a specific location. It will be drawn between the two given locations. Examples: set {_shape} to a solid cuboid with length 10, width 10, and height 10 set {_shape} to a hollow cuboid from vector(-5, -5, -5) to vector(5, 5, 5) draw the shape of a cuboid from player to player's target ## Particle Elliptical Arc or Sector Addon: skript-particle Category: Expression Syntax: [an] elliptical (arc|sector) (with|of) radi(i|us) %number%(,| and) %number%[,] and [cutoff] angle [of] %number% [degrees|radians] Description: Creates an elliptical arc or sector with the given radii and cutoff angle. The radii must be greater than 0 and the height, if given, must be positive. The angle must be between 0 and 360 degrees. If the angle is 360 degrees, the shape will be a ellipse or elliptical cylinder. An arc is a portion of the ellipse's circumference. A sector is a portion of the ellipse's area. NOTE: Very eccentric elliptical sectors (those with a large difference between the x and z radii) may have many more particles than expected. Be careful. Examples: set {_shape} to an elliptical arc with radii 10 and 3 and cutoff angle of 90 degrees set {_shape} to a elliptical sector of radius 3 and 5 and cutoff angle of 45 degrees set {_shape} to a elliptical cylinder with radii 3 and 5, height 10, and cutoff angle of 3.1415 radians ## Shape Locations Addon: skript-particle Category: Expression Syntax: (particle|point) locations of %shapes% [[centered] %direction% %location%] Description: Returns all the locations that particles would be spawned at if the shape was centered at the given location. If you want the vectors relative to the center of the shape, use the 'shape points' expression. Examples: set {_locations::*} to point locations of (circle of radius 10) centered at player teleport player to random element of {_locations::*} # drawing the shape yourself: (skbee particle syntax) draw 1 red dust at (particle locations of (circle of radius 10) centered at player) ## Shape Points Addon: skript-particle Category: Expression Syntax: [the] points of %shapes% Description: Returns all the vectors from the center of the shape to the various points particles would be drawn at. If you want the locations of the particles, it's advised use the 'shape locations' expression rather than doing it yourself. Examples: set {_vectors::*} to points of (circle of radius 10) teleport player to (player ~ random element of {_vectors::*}) set {_randomVectorInEllipsoid} to random element of points of (solid ellipsoid of radius 10, 5, 2) ## Shape Particle Addon: skript-particle Category: Expression Syntax: [the] [custom] particle of %shapes% Description: The particle of a shape. This is the particle that the shape uses to draw itself. Changing this will change the particle of the shape. Resetting or deleting it will set it back to the default particle (flame). You can set the particle to any base or custom particle. Examples: set {_shape}'s particle to flame set {_shape}'s particle to 1 of electric spark with extra 0 reset {_shape}'s particle create a new custom particle: particle: soul fire flame velocity: inwards extra: 0.5 force: true set {_shape}'s particle to the last created particle ## Shape Cutoff Angle Addon: skript-particle Category: Expression Syntax: [the] cutoff angle of %cutoffshapes% Description: The cutoff angle of a shape in degrees. This determines the portion of the whole shape that will be drawn in shapes like arcs and spherical caps. For example, a cutoff angle of 90 on an arc will create a quarter of a circle. Note that an arc can range from 0 to 360 degrees, while a spherical cap can range from 0 to 180 degrees. Examples: set {_shape}'s cutoff angle to 90 set cutoff angle of {_shape} to 180 reset {_shape}'s cutoff angle ## Shape Particle Density / Particle Count Addon: skript-particle Category: Expression Syntax: [the] particle (density|count) of %shapes% Description: The density at which particles are spawned in a shape. This is in "particles per meter" (ppm), and defaults to 4.Be careful with this property, as it can cause lag if set to a high number. It's recommended to not go above 20 or so for this reason. 1000 ppm is the maximum value. Keep in mind that this value scales with dimensions. A 1 meter line with a density of 20 will spawn 20 particles, but a 1 meter cube with a density of 20 will spawn 8,000 particles (2,400 if hollow). Also, be aware that this may not be exact. Some shapes, like cuboids, will tweak the density a bit to ensure particles land exactly on the borders of the shape. This syntax also supports setting the particle count directly, which is the amount of particles spawned in a shape. Note that this is NOT exact. The actual amount of particles spawned will be the closest multiple of the particle count to the amount of particles needed to draw the shape. For example, if the particle count of a solid cube is set to 100, the actual amount of particles spawned will be 125, which is the nearest cubic number. The returned value of this expression will always be the accurate amount of particles spawned in a shape. Changing this will change the particle density or count of the shape. Resetting or deleting it will set it back to the default density (4). Examples: set {_shape}'s particle density to 10 set {_shape}'s particle count to 100 reset {_shape}'s particle density reset {_shape}'s particle count ## Shape Relative Axis Addon: skript-particle Category: Expression Syntax: [the] (relative|local) (x|y|z)(-| )axis of %shapes% Description: Returns the relative axis of a shape. These are the x, y, z axis of the shape AFTER rotation. These are meant to be used to work within the rotated frame of reference of the shape. Examples: set {_vX} to {_shape}'s relative x axis set {_vY} to {_shape}'s relative y axis set {_vZ} to {_shape}'s relative z axis rotate shape {_shape} around {_vy} by 90 degrees set {_vY-offset} to {_shape}'s relative y axis ++ {_shape}'s relative z axis rotate shape {_shape} around {_vY-offset} by 60 degrees ## Normal Vector of Shape Addon: skript-particle Category: Expression Syntax: [the] normal [vector] of %shapes% Description: Returns the normal vector of a shape. This, by default, is the vector (0, 1, 0) which points directly up.If the shape is rotated, this will be the vector that is pointing up after the rotation. Treat it as what the shape thinks is "up". Changing this will rotate the shape accordingly. Resetting or deleting it will set it back to the default orientation. Examples: set {_shape}'s normal vector to vector(1, 0, 0) set {_v} to {_shape}'s normal reset {_shape}'s normal vector ## Shape Scale Addon: skript-particle Category: Expression Syntax: [the] shape scale of %shapes% Description: Returns the scale of a shape. This is will scale the shape up or down accordingly, with respect to its center. This does not affect the number of particles drawn, so a scaled up shape will look more sparse. A negative scale will flip the shape inside-out. Changing this will scale the shape accordingly. Resetting or deleting it will set it back to the default scale of 1. Examples: set {_shape}'s shape scale to 2 set shape scale of {_shape} to 0.5 set shape scale of {_shape} to 2 * (scale of {_shape}) reset {_shape}'s shape scale ## Helix Winding Rate Addon: skript-particle Category: Expression Syntax: [the] winding rate of %shapes% Description: Gets or sets the winding rate of a helix. The winding rate is the number of times the helix wraps around the axis per block. The default winding rate is 1 loop per block, which delete or reset will set it to. The winding rate must be positive and non-zero. Examples: set {_helix} to helix with radius 5, height 10, and winding rate 2 loops per block set winding rate of {_helix} to 1 set winding rate of {_helix} to 1/10 set winding rate of {_helix} to 10.4 ## Shape Orientation Addon: skript-particle Category: Expression Syntax: [the] orientation of %shapes% Description: The orientation of a shape. This is the rotation that is applied to the shape before drawing. Changing this will rotate the shape accordingly. Resetting or deleting it will set it back to the default orientation of (0, 0, 0, 1). The expression returns a quaternion. You can use the quaternion and axis angle functions or the rotation expression to create an orientation. Examples: set {_shape}'s orientation to quaternion(0, 0, 0, 1) set {_shape}'s orientation to axisAngle(90, 0, 1, 0) set {_shape}'s orientation to {_shape2}'s orientation reset {_shape}'s orientation ## Shape Radius Addon: skript-particle Category: Expression Syntax: [the] radius of %radialshapes% Description: The radius of a shape. For circular or spherical shapes, this is the distance from the center to the edge. For shapes like regular polygons, this is the distance from the center to a corner. Changing this will change the size of the shape. Resetting or deleting it will set it back to the default radius of 1. Examples: set {_shape}'s radius to 5 set radius of {_shape} to 10 reset {_shape}'s radius ## Star Points Addon: skript-particle Category: Expression Syntax: [the] star points of %shapes% Description: Returns the number of points on a star. This is the number of points on the star, not the number of particles drawn. Changing this will change the number of points on the star. The number of points must be at least 2. Examples: set {_shape}'s star points to 5 set star points of {_shape} to 10 set star points of {_shape} to 2 * (star points of {_shape}) ## Shape Length/Width/Height Addon: skript-particle Category: Expression Syntax: [the] shape (length|width|height) of %lwhshapes% Description: The length, width, or height of a shape. Changing this will change the size of the shape. Resetting or deleting it will set it back to the default value of 1. Examples: set {_shape}'s shape length to 5 set {_shape}'s shape width to 5 set {_shape}'s shape height to 5 reset {_shape}'s shape length reset {_shape}'s shape width add 6 to {_shape}'s shape height ## Shape Style Addon: skript-particle Category: Expression Syntax: [the] style of %shapes% Description: Returns the style of a shape. This determines how the shape is drawn. See the shape style type for more information. Changing this will change the style of the shape accordingly. Examples: set style of {_shape} to solid set {_shape}'s style to wireframe set style of {_shape} to hollow ## Shape Offset Addon: skript-particle Category: Expression Syntax: [the] offset [vector] of %shapes% Description: Returns the offset vector of a shape. This is the vector that is added to the location of the shape before drawing. Changing this will move the shape accordingly. Resetting or deleting it will set it back to the default offset of (0, 0, 0). Examples: set {_shape}'s offset vector to vector(1, 0, 0) set offset of {_shape} to vector(0, 10, 0) reset {_shape}'s offset vector ## Shape Side Length - Polygonal/Polyhedral Addon: skript-particle Category: Expression Syntax: [the] side length of %polyshapes% Description: Returns the side length of a polygonal/polyhedral shape. This determines how long each side of the shape is. Changing this will change the side length of the shape accordingly. Likewise, this changes the radius of the shape. Resetting this will set the side length to the default value of 1 and non-positive values will be set to 0.001. Note that changing this property will not affect custom polygons, only regular polygons and polyhedrons. Examples: set side length of {_shape} to 5 set {_shape}'s side length to 6 send side length of {_shape} ## Star Radii Addon: skript-particle Category: Expression Syntax: [the] (inner|outer) radius of %shapes% Description: Returns the inner or outer radius of a star. The inner radius is the distance from the center of the star to the innermost points, and likewise the outer radius is the distance to the tips of the star. Changing this will change the size of the star. Both radii must be greater than 0. Examples: set {_star} to a star with 5 points, inner radius 1, and outer radius 2 set {_star}'s inner radius to 2 set {_star}'s outer radius to 3 ## Shape Side Count - Polygonal/Polyhedral Addon: skript-particle Category: Expression Syntax: [the] side(s| count) of %polyshapes% Description: Returns the number of sides of a polygonal or polyhedral shape. This determines how many sides the shape has. Changing this will change the number of sides of the shape accordingly, with a minimum of 3. Note that custom polygons will return their side count, but will not be affected by this expression. Polyhedrons will return their face count, and can only be set to 4, 8, 12, or 20. Examples: set sides of {_shape} to 5 set {_shape}'s side count to 6 send sides of {_shape} ## Custom Placeholder Addon: skript-placeholders Category: Structure Syntax: (placeholder[ ]api|papi) [relational] placeholder (with|for) [the] prefix %*string% Description: A structure for creating custom placeholders. The code will be executed every time the placeholder plugin requests a value for the placeholder. Examples: placeholderapi placeholder with the prefix "skriptplaceholders": if the identifier is "author": # Placeholder is "%skriptplaceholders_author%" set the result to "APickledWalrus" placeholderapi relational placeholder with the prefix "skriptplaceholders": if the identifier is "longer_name": # Placeholder is "%rel_skriptplaceholders_longer_name%" if the length of the name of the first player > the length of the name of the second player: set the result to the name of the first player else: set the result to the name of the second player mvdw placeholder named "skriptplaceholders_author": # Placeholder is "{skriptplaceholders_author}" set the result to "APickledWalrus" ## Relational Placeholder Players Addon: skript-placeholders Category: Expression Syntax: [the] first player Description: The two players involved in a relational placeholder request. Examples: placeholderapi relational placeholder with the prefix "skriptplaceholders": if the identifier is "longer_name": # Placeholder is "%rel_skriptplaceholders_longer_name%" if the length of the name of the first player > the length of the name of the second player: set the result to the name of the first player else: set the result to the name of the second player ## Placeholder Addon: skript-placeholders Category: Expression Syntax: [the] placeholder Description: An expression to obtain the placeholder (or part of it) in a placeholder request event. Examples: placeholderapi placeholder with the prefix "skriptplaceholders": broadcast "Placeholder: %the placeholder%" broadcast "Prefix: %the placeholder prefix%" broadcast "Identifier: %the placeholder identifier%" mvdw placeholder named "skriptplaceholders_test": broadcast "Placeholder: %the placeholder%" ## Placeholder Result Addon: skript-placeholders Category: Expression Syntax: [the] [placeholder] result Description: The value of a placeholder in a placeholder event. Can be set, reset, or deleted. Examples: placeholderapi placeholder with the prefix "skriptplaceholders": if the identifier is "author": # Placeholder is "%skriptplaceholders_author%" set the result to "APickledWalrus" mvdw placeholder named "skriptplaceholders_author": # Placeholder is "{skriptplaceholders_author}" set the result to "APickledWalrus" ## Placeholder Value Addon: skript-placeholders Category: Expression Syntax: [the] [value[s] of [the]] [relational] placeholder[s] [in] %strings% [(for|from|of) %-players/offlineplayers%] Description: An expression to obtain the value of a placeholder from a supported plugin. Examples: command /ping : trigger: set {_ping} to the placeholder "player_ping" from arg-1 # PlaceholderAPI set {_ping} to the placeholder "{ping}" from arg-1 # MVdWPlaceholderAPI send "Ping of %arg-1%: %{_ping}%" to the player command /friend status : trigger: set {_status} to the relational placeholder "rel_friendship_status" from arg-1 and arg-2 send "Status: %{_status}%" to the player ## event Addon: skript-reflect Category: Type Syntax: event ## javatype Addon: skript-reflect Category: Type Syntax: javatype ## null Addon: skript-reflect Category: Type Syntax: null ## javaobject Addon: skript-reflect Category: Type Syntax: javaobject ## section Addon: skript-reflect Category: Type Syntax: section ## On custom event Addon: skript-reflect Category: Event Syntax: [on] this is here because at least one pattern is required ## reflection Addon: skript-reflect Category: Event Syntax: [on] %-javatypes% ## Condition - Is Instance Of Addon: skript-reflect Category: Condition Syntax: %objects% (is|are) [a[n]] instance[s] of %javatypes% ## Custom Condition Addon: skript-reflect Category: Condition Syntax: this is here because at least one pattern is required ## Condition - Event Cancelled Addon: skript-reflect Category: Condition Syntax: %events% (is|are) cancelled ## Condition - Expression Statement Addon: skript-reflect Category: Condition Syntax: [await] <.+> ## Section - Section Addon: skript-reflect Category: Section Syntax: create [new] section [with [arguments variables] %-objects%] (and store it|stored) in %objects% ## Structure - Import Addon: skript-reflect Category: Structure Syntax: import ## Structure - Custom Event Addon: skript-reflect Category: Structure Syntax: [local] [custom] event %string% ## Structure - Custom Effect Addon: skript-reflect Category: Structure Syntax: [local] effect <.+> ## Structure - Custom Constant Addon: skript-reflect Category: Structure Syntax: option <.+> ## Structure - Custom Condition Addon: skript-reflect Category: Structure Syntax: [local] condition <.+> ## Structure - Custom Expression Addon: skript-reflect Category: Structure Syntax: [local] [(plural|non[-| ]single)] expression <.+> ## Effect - Negate Condition Addon: skript-reflect Category: Effect Syntax: negate [the] [current] condition ## Effect - Delay Effect Addon: skript-reflect Category: Effect Syntax: delay [the] [current] effect ## Effect - Continue Addon: skript-reflect Category: Effect Syntax: continue ## Effect - Return Addon: skript-reflect Category: Effect Syntax: return [%-objects%] ## Effect - Call Event Addon: skript-reflect Category: Effect Syntax: call [event] %events% ## Effect - Run Section Addon: skript-reflect Category: Effect Syntax: run section %section% [(sync|async)] [with [arguments] %-objects%] [and store [the] result in %-objects%] [(and wait)] ## Effect - Expression Statement Addon: skript-reflect Category: Effect Syntax: [await] <.+> ## Custom Effect Addon: skript-reflect Category: Effect Syntax: this is here because at least one pattern is required ## Effect - Import Addon: skript-reflect Category: Effect Syntax: import <((?:[_a-zA-Z$][\w$]*\.)*(?:[_a-zA-Z$][\w$]*))(?:\s+as ([_a-zA-Z$][\w$]*))?> ## Expression - Parse Regex Addon: skript-reflect Category: Expression Syntax: [the] [parse[r]] (regex|regular expression)(-| )<\d+> ## Expression - Change Value Addon: skript-reflect Category: Expression Syntax: [the] change value[s] ## Expression - Parse Mark Addon: skript-reflect Category: Expression Syntax: [the] [parse[r]] mark ## Expression - Event Classes Addon: skript-reflect Category: Expression Syntax: event-classes ## Expression - Parse Tags Addon: skript-reflect Category: Expression Syntax: [the] parse[r] tags ## Literal - Null Object Addon: skript-reflect Category: Expression Syntax: null ## Expression - Expression Addon: skript-reflect Category: Expression Syntax: [the] expr[ession][s](-| )<\d+> ## Expression - Java Error Addon: skript-reflect Category: Expression Syntax: [the] [last] [java] (throwable|exception|error) ## Expression - Event Addon: skript-reflect Category: Expression Syntax: [the] event ## Expression - Spread Addon: skript-reflect Category: Expression Syntax: ...%object% ## Expression - Event Data Addon: skript-reflect Category: Expression Syntax: [extra] [event(-| )]data %string% ## Expression - Class Reference Addon: skript-reflect Category: Expression Syntax: (<(boolean|byte|double|char|short|float|int|long)>|%-javatype%).class ## Expression - Java Type Addon: skript-reflect Category: Expression Syntax: [the] [java] class %string% ## Expression - New Array Addon: skript-reflect Category: Expression Syntax: new (<(boolean|byte|double|char|short|float|int|long)>|%-javatype%)\[%number%\] ## Expression - Collect Addon: skript-reflect Category: Expression Syntax: \[%objects%[ as %-javatype%[ ]]\] ## Expression - Proxy Addon: skript-reflect Category: Expression Syntax: [a] [new] proxy [instance] of %javatypes% (using|from) %objects% ## Expression - Array Access Addon: skript-reflect Category: Expression Syntax: %javaobject%\[%number%\] ## Expression - Matched Pattern Addon: skript-reflect Category: Expression Syntax: [the] [matched] pattern ## Expression - Java Type Of Addon: skript-reflect Category: Expression Syntax: [the] [java] class[es] of %objects% ## Expression - Member Names Addon: skript-reflect Category: Expression Syntax: [the] (field|method) names of %objects% ## Expression - Plugin Addon: skript-reflect Category: Expression Syntax: [(an|the)] instance of [the] plugin %javatype/string% ## Expression - Members Addon: skript-reflect Category: Expression Syntax: [the] (fields|methods|constructors) of %objects% ## Expression - Function Addon: skript-reflect Category: Expression Syntax: [the] function(s| [reference[s]]) %strings% [called with [[the] [arg[ument][s]]] %-objects%] ## Expression - Bits Addon: skript-reflect Category: Expression Syntax: [the] (bit %-number%|bit(s| range) [from] %-number%( to |[ ]-[ ])%-number%) of %numbers% ## Expression - Raw Expression Addon: skript-reflect Category: Expression Syntax: [the] (raw|underlying) expression[s] of %objects% ## Expression - Custom Event Addon: skript-reflect Category: Expression Syntax: [a] [new] custom event %string% [(with|using)] data %-objects% ## Expression - Custom Event Value Addon: skript-reflect Category: Expression Syntax: [the] [event-]<.+> ## Expression - Java Call Addon: skript-reflect Category: Expression Syntax: [try] %object%..%string%[\(([%-objects%])\)] ## Custom Expression Addon: skript-reflect Category: Expression Syntax: this is here because at least one pattern is required ## World Edit Pattern Addon: skript-worldedit Category: Type Syntax: worldeditpattern Description: Represents a pattern that can be used for WorldEdit operations. ## World Edit Mask Addon: skript-worldedit Category: Type Syntax: worldeditmask Description: Represents a mask that can be used for WorldEdit operations. ## World Edit Region Addon: skript-worldedit Category: Type Syntax: worldeditregion Description: Represents a region that can be used for WorldEdit operations. ## Schematic - Exists Addon: skript-worldedit Category: Condition Syntax: schem[atic] [named] %string% exists Description: Checks whether a schematic with a given name exists. Examples: if schematic named "example" exists: ## Schematic - Delete Addon: skript-worldedit Category: Effect Syntax: delete schem[atic][s] [named|with name] %strings% Description: Deletes a schematic. Nothing too fancy. Examples: delete schematic "example_name" ## Region - Naturalize Addon: skript-worldedit Category: Effect Syntax: naturalize %worldeditregions% [lazily] Description: Naturalizes a given region. This just changes the top 3 layers of blocks into grass/dirt, and the bottom layers into stone. Examples: naturalize {region} ## Region - Inset/Outset Addon: skript-worldedit Category: Effect Syntax: (in|out)set %worldeditregions% by %number% [blocks] [vertically|horizontally] Description: Insets or outsets a region by a given number of blocks. Can optionally only perform the operation vertically (up and down) or horizontally (north, south, east, and west). Examples: outset {region} by 10 blocks ## Region - Regenerate Addon: skript-worldedit Category: Effect Syntax: regen[erate] %worldeditregions% [with seed %-number%] [while regen[erat]ing biomes] [lazily] Description: Regenerates the area within a given region while optionally regenerating biomes, using a given seed. The default seed is just the seed of the region's world, and biomes will not be regenerated by default. Examples: regenerate {region} while regenerating biomes ## Region - Create Faces Addon: skript-worldedit Category: Effect Syntax: (create|place|make|generate) [the] faces (of|around) %worldeditregions% ([made] out of|with|using) [pattern] %string/itemtype/worldeditpattern% [lazily] Description: Creates the faces (walls + ceiling + floor) of a given region using a given pattern. Examples: create the faces of {region} made out of "50%%stone,30%%stone_bricks,20%%cobblestone" ## Set Blocks Addon: skript-worldedit Category: Effect Syntax: (use ([fastasync]world[ ]edit|[fa]we) to|[fastasync]world[ ]edit|[fa]we) set [the] blocks in %worldeditregions% to [pattern] %string/itemtype/worldeditpattern% [lazily] Description: Sets the blocks in a region with a given pattern. Examples: use we to set blocks in {region} to "33%%red_wool,33%blue_wool,33%green_wool" ## Region - Place Centre Addon: skript-worldedit Category: Effect Syntax: (create|place|make|generate) [a] block at [the] cent(re|er) of %worldeditregions% (with|using) [pattern] %string/itemtype/worldeditpattern% [lazily] Description: Places a block in the centre of a given region using a given pattern. Examples: place a block at the centre of {region} using bedrock ## Region - Biome Addon: skript-worldedit Category: Effect Syntax: set biome of %worldeditregions% to %biome% [lazily] Description: Sets the biome of given region. Examples: set biome of {region} to (random element out of all biomes) ## Region - Create Walls Addon: skript-worldedit Category: Effect Syntax: create [the] walls (of|around) %worldeditregions% ([made] out of|with|using) [pattern] %string/itemtype/worldeditpattern% [lazily] Description: Creates the walls of a given region using a given pattern. Examples: create the walls of {region} made out of "50%%stone,30%%stone_bricks,20%%cobblestone" ## Region - Overlay Addon: skript-worldedit Category: Effect Syntax: overlay [the] [top level of] blocks (in|of) %worldeditregions% (with|using) [pattern] %string/itemtype/worldeditpattern% [lazily] Description: Overlays the top level of blocks in a given region using a given pattern. Examples: overlay the top level of blocks in {region} with torch ## Region - Flora Addon: skript-worldedit Category: Effect Syntax: (create|place|make|generate) flora [with]in %worldeditregions% [with density %-number%] [lazily] Description: Generates flora in a given region, with a given density. The default density is 5. Examples: make flora within {region} with density 10 ## Region - Expand/Contract Addon: skript-worldedit Category: Effect Syntax: (expand|contract) %worldeditregions% (up|down|north|south|east|west) [[by] %-number% [blocks|times]] [and %-number% [in opposite direction]] Description: Makes a region larger or smaller in a given direction by a given amount. Optionally takes an opposite amount to expand the region in the other direction. Regions can also be expanded vertically, which makes them span from the min to the max of the world they're in. Examples: expand {region} up by 10 blocks and 3 in opposite direction ## Schematic - Save Addon: skript-worldedit Category: Effect Syntax: save %worldeditregion% as [a] [schem[atic] (named|with name)] %string% [with [the] (cent(re|er)|origin) (at|of) %-location%] [[and] overwrit(e|ing) existing] Description: Saves a region as a schematic. The name of the schematic shouldn't include any path, as skript-worldedit will always start at WorldEdit's schematics directory. The centre of the schematic can be set, as well as whether or not it should overwrite an existing schematic of the same name. Examples: save {region} as a schematic named "example_schematic" and overwrite existing ## Schematic - Paste Addon: skript-worldedit Category: Effect Syntax: paste [schem[atic] [named|with name]] %string% at %locations% [(with rotation|rotated by) %-number% [degrees]] [[and] while ignoring air] Description: Pastes a schematic at a location(s). Can be rotated, and can choose whether it should ignore air or not. There is also a section for pasting schematics, which features more options. Examples: paste schematic "example_schematic" at {locations::*} rotated by 90 while ignoring air ## Create Spline Addon: skript-worldedit Category: Effect Syntax: (create|place|make|generate) [a] [hollow] [rigid|straight] (curve|spline|line) (with|using|from) %locations% (with|using) [pattern] %string/itemtype/worldeditpattern% [[and] with thickness %-number%] [lazily] Description: Create a spline using a set of locations. The order of the locations in this effect matter. A rigid spline will create straight lines from location to location, whereas a non-rigid spline will createa curved line which goes through all the locations. Examples: create a hollow spline using {locations::*} with pattern "50%%quartz_block,50%%quartz_bricks" and with thickness 2 ## Region - Forest Addon: skript-worldedit Category: Effect Syntax: generate [a] %treetype% forest [with]in %worldeditregions% [with density %-number%] [lazily] Description: Generates a forest of a specific tree type in a given region, with a given density. The default density is 5. Note that this effect uses a new tree type, not the Skript one. Examples: generate a tall mangrove forest within {region} with density 10 ## Shape - Sphere Addon: skript-worldedit Category: Effect Syntax: create [a] [hollow] (sphere|ellipsoid) ([made] out of|with|using) [pattern] %string/itemtype/worldeditpattern% [with radi(us|i) %-numbers%] at %locations% [lazily] Description: Creates a sphere using a given pattern at a certain location. You can choose for the sphere to be hollow, and it can take a set of radii. By default, the radius is 5, and the sphere will not be hollow. Examples: create a hollow sphere made out of emerald block with radii (5,4,3) at {location} ## Shape - Pyramid Addon: skript-worldedit Category: Effect Syntax: create [a] [hollow] pyramid ([made] out of|with|using) [pattern] %string/itemtype/worldeditpattern% [with size %-number%] at %locations% [lazily] Description: Creates a pyramid using a given pattern at a certain location. You can choose for the pyramid to be hollow, and it can take a size. By default, the size is 5, and the pyramid will not be hollow. Examples: create a hollow pyramid made out of gold block with size 10 at {location} ## Replace Blocks Addon: skript-worldedit Category: Effect Syntax: (use ([fastasync]world[ ]edit|[fa]we) to|[fastasync]world[ ]edit|[fa]we) replace [all] blocks in %worldeditregion% that match [mask] %string/itemtype/worldeditmask% with [pattern] %string/itemtype/worldeditpattern% [lazily] Description: Replaces blocks in a region that match a certain mask with a given pattern. Examples: use we to replace all stone in {region} with diamond ore use we to replace all blocks in {region} that match mask "stone,cobblestone" with pattern "50%%diamond_block,50%%gold_block" ## Region - Hollow Out Addon: skript-worldedit Category: Effect Syntax: hollow out %worldeditregions% [with thickness %-number%] [and] [(with pattern|leaving behind) %-string/itemtype/worldeditpattern%] [lazily] Description: Hollows out objects in a given region, using a given thickness and leaving behind a given pattern. The default thickness is 1, and the default pattern is just air. Examples: hollow out {region} with thickness 2 leaving behind glass ## Shape - Cylinder Addon: skript-worldedit Category: Effect Syntax: create [a] [hollow] cylinder ([made] out of|with|using) [pattern] %string/itemtype/worldeditpattern% [with radi(us|i) %-numbers%][,| and] [[with] height %-number%] at %locations% [lazily] Description: Creates a cylinder using a given pattern at a certain location. You can choose for the cylinder to be hollow, and it can take a set of radii and a height. By default, the radius is 5, the height is 1, and the cylinder will not be hollow. Examples: create a hollow cylinder made out of diamond block with radii (5,4) with height 10 at {location} ## Region - Move Addon: skript-worldedit Category: Effect Syntax: move [(blocks that match|all) %-string/itemtype/worldeditmask% in] %worldeditregions% (up|down|north|south|east|west) [[by] %-number% (time|block)[s]] [and (fill the area with|leave behind) [pattern] %-string/itemtype/worldeditpattern%] [while ignoring air[,]] [while copying entities[,| and]] [while copying biomes] [lazily] Description: Moves the blocks in a given region in a given direction a given distance. You can choose to only move the blocks that match a given mask too, as well as filling the left-behind area using a certain pattern. Additionally, air can be ignored, and entities and biomes can be copied. By default, the distance will be 1, all blocks will be moved, no pattern will be left behind, air will not be ignored, and entities and biomes will not be copied. Examples: move all stone in {region} up 10 blocks and leave behind glass block while ignoring air, while copying entities, while copying biomes ## Region - Smooth Addon: skript-worldedit Category: Effect Syntax: smooth [(blocks that match|all) %-string/itemtype/worldeditmask% in] %worldeditregions% [%-number% time[s]] [lazily] Description: Smooths the area within a given region a certain number of times. The default number of times is 1. You can choose to only smooth blocks that match a certain mask. Examples: smooth all grass block in {region} 10 times ## Region - Vertices Addon: skript-worldedit Category: Expression Syntax: [the] region vert(ices|exes) of %worldeditregion% Description: Gets the vertices of a given region. This expression can only be used on convex polyhedral regions. Examples: set {vertices::*} to region vertices of {convex} ## Pattern Addon: skript-worldedit Category: Expression Syntax: pattern (of|from|that matches) %string/itemtype% Description: Gets a WorldEdit pattern from a string or itemtype. Examples: set {simplePattern} to pattern of stone set {complexPattern} to pattern from "33%%stone,33%%cobblestone,33%%stone_bricks" ## Region - Convex Polyhedral Addon: skript-worldedit Category: Expression Syntax: [a] [new] convex [poly[hedral]] region (at|with|using) %locations% Description: Creates a convex polyhedral region, which can be used for operations. Examples: set {convex} to a new convex polyhedral region using {locations::*} ## Mask Addon: skript-worldedit Category: Expression Syntax: mask (of|from|that matches) %string/itemtype% Description: Gets a WorldEdit mask from a string or itemtype. Examples: set {simpleMask} to mask of stone set {complexMask} to mask from "stone,cobblestone,stone_bricks" ## Region - Ellipsoid Addon: skript-worldedit Category: Expression Syntax: [a] [new] (ellips(e|oid)|spher(e|ical)) region at %location% with radi(i|us) %numbers% Description: Creates an ellipsoid region, which can be used for operations. Examples: set {ellipsoid} to a new ellipsoid region at {location} with radii (10,9,8) ## Region - Cuboid Addon: skript-worldedit Category: Expression Syntax: [a] [new] [cuboid] region (between|within|from) %location% (and|to) %location% Description: Creates a cuboid region, which can be used for operations. Examples: set {cuboid} to a new cuboid region from {location1} to {location2} ## Region - Block Count Addon: skript-worldedit Category: Expression Syntax: [the] (count|number) of blocks in %worldeditregions% that match [mask] %string/itemtype/worldeditmask% Description: Gets the number of a certain type of block in a region. Can use a mask to specify more than one kind of block. Examples: set {stone} to the number of stone in {region} set {multiple} to the number of blocks in {region} that match "stone,diamond_block,oak_planks" ## Region - Cylinder Addon: skript-worldedit Category: Expression Syntax: [a] [new] cyl[ind(er|rical)] region at %location% with radi(i|us) %numbers% [and] with height %number% Description: Creates a cylindrical region, which can be used for operations. Examples: set {cylinder} to a new cylindrical region at {location} with radii (5,4) and with height 10 ## Region - Faces Addon: skript-worldedit Category: Expression Syntax: [the] [region] faces of %worldeditregion% Description: Gets the faces of a given region. This expression only works on cuboid regions. This returns another region, which can be used in other operations. Examples: set {faces} to region faces of {cuboid} ## Region - Walls Addon: skript-worldedit Category: Expression Syntax: [the] [region] walls of %worldeditregion% Description: Gets the walls of a given region. This expression only works on cuboid regions. This returns another region, which can be used in other operations. Examples: set {walls} to region walls of {cuboid} ## Region - Centre Addon: skript-worldedit Category: Expression Syntax: [the] region cent(re|er) of %worldeditregions% Description: Gets the centre of a given region. Examples: set {centre} to region centre of {region} ## Region - Dimensions Addon: skript-worldedit Category: Expression Syntax: [the] region (height|length|width) of %worldeditregions% Description: Gets the dimensions of a given region. Examples: set {_height} to height of {region} set {_length} to length of {region} set {_width} to width of {region} ## Region - Volume Addon: skript-worldedit Category: Expression Syntax: [the] region volume of %worldeditregions% Description: Gets the volume of a given region. Examples: send region volume of {region} ## Shape - General Addon: skript-worldedit Category: Section Syntax: create [a] %*worldeditshape% at %locations% Description: Creates a shape at a given location. Depending on which shape is being created, a different set of entries can be used. Entries that can be used with any shape: * pattern (pattern): the pattern that the shape will be made out of (no default, and this has to be a pattern object (via the pattern expression)) * hollow (boolean): whether the shape will be hollow (default is true) Entries that can be used with a pyramid: * size (integer): the size of the pyramid (no default) Entries that can be used with both a sphere and cylinder: * radius (number): the radius (on the x-axis) of the shape (no default) * radiusZ (number): the radius (on the z-axis) of the shape (this is optional, and if not provided, will default to the radius) Entries that can be used only with a sphere: * radiusY (number): the radius (on the y-axis) of the shape (this is optional, and if not provided, will default to the radius) Entries that can be used only with a cylinder: * height (number): the height of the cylinder (no default) This section is effectively the same as just using the shape effects, but might be preferable. Examples: create a sphere at {location}: pattern: pattern of stone hollow: false radius: 5 radiusY: 4 radiusZ: 3 ## Schematic - Save Addon: skript-worldedit Category: Section Syntax: save %worldeditregion% as [a] [schem[atic] (named|with name)] %string% Description: Saves a region as a schematic, with a bunch of configurable options (see below for a list of them). Note that the name of the schematic shouldn't include any path, as skript-worldedit will always start at WorldEdit's schematics directory. Entries: * copy entities: whether the schematic should copy entities * copy biomes: whether the schematic should copy biomes * remove entities: whether the schematic should remove entities * overwrite: whether the schematic should overwrite any schematics of the same name (if false, the schematic won't save if a schematic is found with the same name) * origin: where the origin of the saved schematic should be * mask: a mask which will only let matching blocks be copied Examples: save {region} as a schematic named "example": copy entities: true copy biomes: true mask: mask from "stone,red_wool,blue_wool" origin: location of (first element out of all players) remove entities: true overwrite: true ## Schematic - Paste Addon: skript-worldedit Category: Section Syntax: paste [schem[atic] (named|with name)] %string% at %locations% Description: Pastes a schematic, with a bunch of configurable options (see below for a list of them). Note that the name of the schematic shouldn't include any path, as skript-worldedit will always start at WorldEdit's schematics directory. Entries: * paste entities: whether the schematic should copy entities * paste biomes: whether the schematic should copy biomes * ignore air: whether the schematic should paste air blocks * rotation: the number of degrees that the pasted schematic should be rotated by (around the y-axis) * mask: a mask which will only let matching blocks be pasted Examples: paste schematic named "example" at {location}: paste entities: true paste biomes: true mask: mask from "stone,red_wool,blue_wool" rotation: 45 ignore air: true ## Region Addon: skript-worldguard Category: Type Syntax: worldguardregion Description: A WorldGuard region. Examples: region "region" in world("world" ## On Region Enter/Leave Addon: skript-worldguard Category: Event Syntax: [on] region enter[ing] Description: Called when a player enters or leaves a region. Examples: on region enter: send "You entered %region%" ## Create Region Addon: skript-worldguard Category: Effect Syntax: create [a] [temporary] global [worldguard] region [named] %string% [in %world%] Description: An effect to create a WorldGuard region. A temporary region is a region that will not be saved, meaning it is lost when the server restarts. A global region is a region that has no boundaries, meaning it covers the entire world. A cuboid region is the traditional WorldGuard region. It has two points to determine the boundaries. A polygonal region comprises many points. These points are used to draw a two-dimensional shape. Then, with the provided heights, the shape is extended vertically to form the region. At least three points must be provided to create a polygonal region. Note that if you do not specify the world for a region, you must be sure that the locations provided all have the same world. Note that Region IDs are only valid if they contain letters, numbers, underscores, commas, single quotation marks, dashes, pluses, and forward slashes. Note that if you attempt to create a region in a world where a region with the same ID already exists, that region will be replaced. Note that if you do not specify the minimum and maximum heights for a polygonal region, those values will be calculated from the points. Examples: create a temporary global region named "temporary_global_region" in the player's world create region "cuboid_region" in player's world between the location (0, 60, 0) and the location (10, 70, 10) create a polygonal region named "polygonal_region" with a minimum height of 10 and a maximum height of 20 with points {points::*} ## Is Region Member/Owner Addon: skript-worldguard Category: Condition Syntax: %offlineplayers/strings% (is|are) ([a] member|[the|an] owner) of %worldguardregions% Description: A condition to test whether a player/group is a member/owner of a region. Examples: on region enter: player is the owner of the region message "Welcome back to %region%" message "%player's name% just entered %region%" to the members of the region ## Is Region Type Addon: skript-worldguard Category: Condition Syntax: %worldguardregions% (is|are) [a] (global|cuboid[s]|polygon[s|al]) [region[s]] Description: A condition to test what type/shape a region is. Examples: on region enter: if the region is polygonal: message "Welcome to my wacky region!" ## Is Valid Region ID Addon: skript-worldguard Category: Condition Syntax: %strings% (is|are) [a] valid [worldguard] region id Description: A condition to test whether a string is a valid region ID. Valid region IDs only contain letters, numbers, underscores, commas, single quotation marks, dashes, pluses, or forward slashes. Examples: command /createregion : if the text-argument is not a valid region id: message "'%text-argument%' is not a valid region ID") # here is where the rest of the command would go :) ## Is Region Temporary Addon: skript-worldguard Category: Condition Syntax: %worldguardregions% (is|are) (temporary|transient) Description: A condition to test whether a region is temporary. Temporary regions are those that are removed when the server restarts. Examples: on region enter: if the region is temporary: message "Be ready! This protected region will expire when the server restarts." ## Is Parent Region Addon: skript-worldguard Category: Condition Syntax: %worldguardregions% (is|are) a parent region[s] of %worldguardregions% Description: A condition to test whether a region is a parent region of another. Examples: command /printchildren : trigger: set {_parent} to the region text-argument message "Children of %{_parent}%:" loop all regions: if {_parent} is a parent region of loop-region: message "- %loop-region%" ## Can Build In Regions Addon: skript-worldguard Category: Condition Syntax: %players% (is|are) allowed to build (%-directions% %-locations%|[in] %-worldguardregions%) Description: A condition to test whether a player can build in a region or at a specific location. Examples: command /setblock : description: Sets your targeted block to a different type. trigger: if the player cannot build at the targeted block: message "You do not have permission to modify your targeted block!" else: set the targeted block to the material-argument ## WorldGuard Move Type Addon: skript-worldguard Category: Expression Syntax: [the] [worldguard] move[ment][ ]type Description: The movement type in a 'region enter/leave' event. This represents how the player ended up in/out of a region. Examples: on region enter: if the movement type is swimming: message "You have swum into %region%!" ## Region Addon: skript-worldguard Category: Expression Syntax: [the] [worldguard] region Description: The region in any region related event. Examples: on region enter: send "You have entered %region%" ## Regions Addon: skript-worldguard Category: Expression Syntax: [the] [worldguard] region[s] [named] %strings% [(in|of) %world%] Description: An expression to obtain all regions of a specific world or the region with a specific name in a world. Please note that region names (IDs) are case insensitive. Examples: the region "region" in world("world" all of the regions in the player's world ## Region Points Addon: skript-worldguard Category: Expression Syntax: [the] (min|max)[imum] point[s] of %worldguardregions% Description: An expression to obtain the points of a region. Note that when obtaining the points of a region, the region itself is projected onto an X-Z plane. Thus, the points do not have a y-component. However, for simplicity, the y-component of the minimum point is used. Examples: command /highlight-points : trigger: set the blocks at the points of the region text-argument to red wool ## Blocks of Region Addon: skript-worldguard Category: Expression Syntax: [the] blocks of %worldguardregions% Description: An expression that returns all of the blocks in the given regions. Examples: command /fillregion : trigger: set {_region} to the region text-argument in the player's world set the blocks of {_region} to material-argument ## Region Members/Owners Addon: skript-worldguard Category: Expression Syntax: [the] [player|group] (members|owners) of %worldguardregions% Description: An expression to obtain the members/owners of the given regions. The members/owners of a region are made up of players and groups (strings). By default, this expression returns both. However, keyword specifiers for each type (player/group) are available. Examples: on region enter: message "You have entered %region%. It is owned by %owners of region%." command /promote : trigger: set {_region} to the region text-argument in the player's world if player-argument is an owner of {_region}: message "%player-argument% is already an owner of %{_region}%" else if player-argument is a member of {_region}: add player to the owners of {_region} message "%player-argument% has been promoted to an owner of %{_region}%" else: add player to the members of {_region} message "%player-argument% has been promoted to a member of %{_region}%" ## Region Parent Addon: skript-worldguard Category: Expression Syntax: [the] parent region[s] of %worldguardregions% Description: An expression to obtain and change the direct parent of a region. It is also possible to obtain all parents of a region (e.g., including a parent region's parent region). When a region has a parent, it inherits the parents members, owners, and flags (that aren't defined on the child). Examples: command /setparent : trigger: set the parent of the region text-argument-1 to the region text-argument-2 if any of all of the parent regions of {_region} are global ## Region Priority Addon: skript-worldguard Category: Expression Syntax: [the] [region] priority of %worldguardregions% Description: An expression to obtain and change the priority of a region. When regions overlap, the priority is used to determine properties such as membership, ability to build, and flag values. Examples: function get_highest_priority_region(location: location) returns worldguard region: set {_regions::*} to the regions at {_location} sort {_regions::*} in descending order by priority of input return {_regions::1} ## Region Flag Addon: skript-worldguard Category: Expression Syntax: [the] [region] [group flag of [the]] flag %string% of %worldguardregions% Description: An expression for working with the flag of a region. The region group flag of a flag supports controlling which groups of a region (i.e., members, owners, etc.) a flag applies to. NOTE: Skript may not support all flags, specifically those representing values Skript cannot understand. Examples: message flag "greeting" of player's region ## Regions At Addon: skript-worldguard Category: Expression Syntax: [the] regions %direction% %locations% Description: An expression to obtain the regions at a specific location. Note that the regions will be returned in ascending order by priority. Examples: on right click: the clicked block is tagged with minecraft tag "all_signs" line 1 of the clicked block is "[Region Info]" set {_regions::*} to the regions at the clicked block if {_regions::*} is not set: message "No regions exist at this sign." else: message "You are in: %{_regions::*}%." ## loadYaml Addon: skript-yaml Category: Function Syntax: loadYaml(name: string, file: string, [isNonRelative: boolean]) :: boolean Description: Loads a yaml file. Returns true is the load was successful. - 1st parameter: (string) The id you would like to use - 2nd parameter: (string) The file path - 3rd parameter: (boolean) Whether you want to use a non relative path ie. c:/somefolder rather than relative to the server Examples: loadYaml("someId", "plugins/someThing/someYamlFile.yml") loadYaml("someId", "plugins/someThing/someYamlFile.yml", true) ## Load all YAML from directory Addon: skript-yaml Category: Effect Syntax: [re]load all y[a]ml from [(non[(-| )]relative)] director(y|ies) %strings% Description: Loads a directory YAML files into memory. - The input is a directory (ie. "plugins/MyAwesomePlugin/"). - If for example a file in that directory is named test.yml then the output ID would be 'plugins/MyAwesomePlugin/test.yml' - Using the optional filename ID would output `test.yml` Examples: #This isn't something you would really want to do, or is it? load all yaml from directory "/plugins/skript-yaml/test" loop all of the currently loaded yaml files: loop yaml nodes "" from loop-value-1: loop yaml nodes loop-value-2 from loop-value-1: broadcast yaml value "%loop-value-2%.%loop-value-3%" from loop-value-1 ## Unload YAML Addon: skript-yaml Category: Effect Syntax: unload y[a]ml [(director(y|ies))] %strings% Description: Unloads one or more YAML files or directories full of YAML files from memory. Examples: unload yaml "config" unload yaml directory "plugins\skript-yaml" ## Delete YAML Addon: skript-yaml Category: Effect Syntax: delete y[a]ml %strings% [and keep loaded in memory] Description: Deletes a YAML file and optionally removes it from memory. - If you want to keep the file loaded in memory, use the 'and keep loaded in memory' option Examples: delete yaml "config" delete yaml "config" and keep loaded in memory ## Delete all YAML from one or more directories Addon: skript-yaml Category: Effect Syntax: delete (all|any) [loaded] y[a]ml from [(non[(-| )]relative)] director(y|ies) %strings% Description: Syntax 1: Deletes all YAML files from one or more directories and removes them from memory. Syntax 2&3: Only deletes any loaded YAML files from one or more directories and removes them from memory. - The input is one or more directories (ie. "plugins/MyAwesomePlugin/" and "plugins/skript-yaml/"). Examples: delete all yaml from directory "/plugins/skript-yaml/test" delete all loaded yaml from directory "/plugins/skript-yaml/test" delete all loaded yaml from directory "/plugins/skript-yaml/test" using the filename as the id ## Load YAML Addon: skript-yaml Category: Effect Syntax: [re]load [(non[(-| )]relative)] y[a]ml %strings% Description: Loads a YAML file into memory. - The first input is the YAML file path (ie. "plugins/MyAwesomePlugin/config.yml"). - The second input allows you to choose your own ID for this file. - If the second input isn't used then the files name minus the extention is used as the ID for example `config.yml` becomes `config`. - When using non-relative, the file path should be relative to root directory of the pc (ie. "C:/MinecraftServer/plugins/MyAwesomePlugin/config.yml") Examples: #Both examples produce the same id for use in other effects/expressions load yaml "plugins/MyAwesomePlugin/config.yml" load yaml "plugins/MyAwesomePlugin/config.yml" as "config" #to get similar function as the other addons you would do this sort of thing with the id... load yaml "plugins/MyAwesomePlugin/config.yml" as file path set yaml value "version" from "plugins/MyAwesomePlugin/config.yml" to 1.0 broadcast "%yaml value ""version"" from ""plugins/MyAwesomePlugin/config.yml""%" ## Change YAML ID Addon: skript-yaml Category: Effect Syntax: (change|rename|update) y[a]ml id [from] %string% to %string% Description: Changes the ID of a loaded YAML file or reassigns its file path. - The first syntax changes the ID of a YAML file. Any changes to the ID are made at your own risk as this can cause issues with any other scripts that use the YAML file. - The second syntax reassigns the file path of a YAML file. This is useful when a file has been deleted but kept in memory. - The YAML file must be loaded before changing its ID or file path. - The new ID must not already be in use by another loaded YAML file. Examples: # Change the ID of a YAML file change yaml id from "config" to "newconfig" # Change the ID of a YAML file with variables set {_oldId} to "oldconfig" set {_newId} to "newconfig" change yaml id from "%{_oldId}%" to "%{_newId}%" # Reassign the file path of a deleted YAML change yaml "config" file path to "plugins/MyPlugin/newconfig.yml" # Change multiple YAML IDs change yaml id from "config1" to "newconfig1" change yaml id from "config2" to "newconfig2" ## Save YAML Addon: skript-yaml Category: Effect Syntax: save y[a]ml %strings% [with an indentation of %-number%] [([and] with(out| no) extra lines between nodes)] Description: Saves the current cached YAML elements to file. - Using the `[with an indentation of %-number%]` option allows you to save the file with a different amount of spacing between 1 and 10 - Option to remove extra lines between nodes - Use `to %string%` or `as %string%` to save to a different file path Examples: save yaml "config" save yaml "config" with an indentation of 2 save yaml "config" to "plugins/MyPlugin/backup.yml" save yaml "config" as "plugins/MyPlugin/config_backup.yml" with an indentation of 4 ## Is YAML Empty Addon: skript-yaml Category: Condition Syntax: [skript-]y[a]ml %string% is empty Description: Checks if a cached YAML file using said ID is empty. - Input is the ID. Examples: yaml "config" is empty: broadcast "is empty" ## Is YAML Modified Addon: skript-yaml Category: Condition Syntax: y[a]ml %string% is (modified|unsaved) Description: Checks if a YAML file has been modified since it was last loaded or saved. Examples: # Basic check yaml "config" is modified: broadcast "Config has unsaved changes!" save yaml "config" # Negation yaml "config" is not modified: broadcast "Config is up to date!" # Synonyms yaml "config" is unsaved: save yaml "config" # Auto-save example every 5 minutes: if yaml "playerdata" is modified: save yaml "playerdata" broadcast "Player data auto-saved!" # Prevent data loss on quit on quit: if yaml "playerdata" is modified: save yaml "playerdata" broadcast "Saved unsaved changes before shutdown!" # Conditional save function function saveIfModified(yamlId: text): if yaml "%{_yamlId}%" is modified: save yaml "%{_yamlId}%" return true return false # Comment change triggers modified state set yaml comment "A new comment" in "config" if yaml "config" is modified: save yaml "config" ## Does YAML Exist Addon: skript-yaml Category: Condition Syntax: [(non[(-| )]relative)] y[a]ml file %string% exists Description: Checks if a YAML file exists at a file location. You shouldn't have to use this condition since the load yaml effect will create the file if it doesn't exist Examples: yaml file "plugins/skript-yaml/test.yml" exists: yaml file "plugins/skript-yaml/test.yml" doesn't exist: ## Is YAML Loaded Addon: skript-yaml Category: Condition Syntax: y[a]ml[s] %strings% (is|are) loaded Description: Checks if one or more YAML files are loaded into memory using said ID. Examples: yaml "config" is loaded: yaml "config" and "messages" aren't loaded: ## YAML Node Is Type Addon: skript-yaml Category: Condition Syntax: y[a]ml (node|path) %string% (of|in|from) %string% is [a] (list|node|value) Description: Checks if a YAML node is a specific type (list, value, or node). Examples: if yaml node "test1.test2" of "config" is value: broadcast "It's a value!" else if yaml node "my.list" of "config" is list: broadcast "It's a list!" else if yaml node "test1" of "config" is node: broadcast "It's a node!" ## Does YAML Path Have Value Addon: skript-yaml Category: Condition Syntax: [skript-]y[a]ml [(node|path)[s]] %strings% (of|in|from) %string% has [a] value[s] Description: Checks if one or more values exist at a path in a cached YAML file using said ID. - First input is the path. - Second input is the ID. - If multiple paths are checked at once it will return false on the first one found to not contain a value. Examples: set skript-yaml value "test.test" from "config" to "test" yaml path "test.test" in "config" has value: broadcast "value exists" ## Does YAML Path Have List Addon: skript-yaml Category: Condition Syntax: [skript-]y[a]ml [(node|path)[s]] %string% (of|in|from) %string% has [a] list Description: Checks if one or more paths contain a list in a cached YAML file using said ID. - First input is the path. - Second input is the ID. Examples: if yaml node "listnode" from "example" has list: loop yaml list "listnode" from "example": broadcast "%loop-val%" ## Does YAML Path Exist Addon: skript-yaml Category: Condition Syntax: [skript-]y[a]ml [(node|path)[s]] %strings% (of|in|from) %string% exists Description: Checks if one or more paths exist in a cached YAML file using said ID. - First input is the path. - Second input is the ID. - If multiple paths are checked at once it will return false on the first one found to not exist. Examples: set skript-yaml value "test.test" from "config" to "test" set skript-yaml value "test2.test2" from "config" to "test" yaml path "test.test" and "test2.test2" in "config" exists: broadcast "this works" yaml path "test.test" and "boop.boop" in "config" exists: broadcast "this will fail" ## All YAML Nodes Addon: skript-yaml Category: Expression Syntax: [all] [skript-]y[a]ml (node|path)[s] (of|in|from) %string% Description: Gets a list of all nodes of a cached YAML file. Examples: set yaml value "test1.test2" from "config" to "test3" set yaml value "boop.beep" from "config" to "bop" set {_list::*} to all yaml nodes of "config" broadcast "%{_list::*}%" ## Return All YAML (un)loaded in memory Addon: skript-yaml Category: Expression Syntax: [(the|all [(of the|the)])] [currently] loaded y[a]ml [files] [from (director(y|ies) %-strings%|all directories)] Description: Returns a list of all "cached" yaml file IDs or from a certain directory or list of directories. - Can also return list of directories. - Can also return list of unloaded yaml files from a certain directory or list of directories. - To remain consistent with the load effect, the list of unloaded yaml files will not include the server path so that you don't have to use the non-relative option. - Some of the listed unloaded yaml files can include the server path which will require you to use the non-relative option in the yaml load effect. Examples: set {_list::*} to the currently loaded yaml files broadcast "%{_list::*}%" loop the loaded yaml broadcast loop-value loop the loaded yaml from directory "plugins\skript-yaml" broadcast loop-value loop the loaded yaml directories broadcast loop-value loop the unloaded yaml from directory "plugins\skript-yaml" broadcast loop-value ## Yaml Loop Addon: skript-yaml Category: Expression Syntax: [the] loop-(id|val|list|node|key|subnodekey[s])[-%-*integer%] Description: The currently looped value of a yaml expression. Examples: loop yaml node keys "node" from "config": message yaml value loop-node from loop-id loop yaml node list "node" from "config": message yaml value loop-node from loop-id ## YAML Comments/header Addon: skript-yaml Category: Expression Syntax: [the] comment[s] (of|from) y[a]ml node[s] %strings% (of|in|from) %string% [(with [an] extra line)] Description: Gets, sets, deletes comments or the header of a cached yaml file - Headers don't contain '#' so add it yourself if you want it - Comments can only be at root level ie. 'root' not 'root.something' - Both comment and header expressions can be set to multiple elements - This expression does not save to file - Option to have an extra line or not depending if you use comment or header - Any 'extra lines' are removed when deleting comments/headers Examples: set the comments of yaml node "test" from "config" to "First line" and "Second line" delete the comments of yaml node "test" from "config" set {_header::*} to "First line" and "Second line" set the comments at the top of "config" to {_header::*} delete the comments at the top of "config" set the header of "config" to {_header::*} ## YAML Addon: skript-yaml Category: Expression Syntax: [skript-]y[a]ml (value|(node|path) list|(node|path)[s with] key[s]|list) %string% (of|in|from) %string% [without string checks] Description: Gets, sets, removes values/nodes etc.. of a cached yaml file - Requires the id used/created from the load effect - This expression does not save to file - Lists accept list variables for input - Using 'without string checks' optional is a tiny bit faster but doesn't check/convert strings for numbers or booleans Examples: set yaml value "test1.test2" from "config" to "test3" # sets the node "test1.test2" to the string "test3" set yaml list "list.name" from "config" to {_list::*} set {_test} to yaml value "test1.test2" from "config" broadcast "%{_test}%" # To delete a value you can use either of these two syntax delete yaml value "test1.test2" in "uniqueID" remove "test2" from yaml node key "test1" in "uniqueID" ## YAML list value Addon: skript-yaml Category: Expression Syntax: (index|value) %number% (of|in|from) [skript-]y[a]ml list %string% (of|in|from) %string% [without string checks] Description: Gets, sets, removes values from a list from a cached yaml file using an index - Requires index between 1 and the size of the list - Requires the id used/created from the load effect - This expression does not save to file - Using 'without string checks' optional is a tiny bit faster but doesn't check/convert strings for numbers or booleans Examples: set index 1 in yaml list "test1.test2" from "config" to "test3" set {_test} to yaml index 1 in list "test1.test2" from "config" broadcast "%{_test}%"