Functions

Note:

These functions are defined by Skript. You may also create your own functions! Tutorial for doing so is planned, but right now you need to seek it elsewhere.

abs

🔗

Function

Patterns:
  • abs(n: number)
Since: 2.2
Return Type: Number
Returns the absolute value of the argument, i.e. makes the argument positive.

Examples:

abs(3) = 3
abs(-2) = 2

acos

🔗

Function

Patterns:
  • acos(n: number)
Since: 2.2
Return Type: Number
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

asin

🔗

Function

Patterns:
  • asin(n: number)
Since: 2.2
Return Type: Number
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

atan

🔗

Function

Patterns:
  • atan(n: number)
Since: 2.2
Return Type: Number
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

atan2

🔗

Function

Patterns:
  • atan2(x: number, y: number)
Since: 2.2
Return Type: Number
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

axisAngle

🔗

New

Function

Patterns:
  • axisAngle(angle: number, axis: vector)
Since: 2.10.0
Return Type: Quaternion
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))

calcExperience

🔗

Function

Patterns:
  • calcExperience(level: long)
Since: 2.2-dev32
Return Type: long
Calculates the total amount of experience needed to achieve given level from scratch in Minecraft.

Examples:

Missing examples.

caseEquals

🔗

Function

Patterns:
  • caseEquals(strs: strings)
Since: 2.5
Return Type: Boolean
Checks if the contents of a list of strings are strictly equal with case sensitivity.

Examples:

caseEquals("hi", "Hi") = false
caseEquals("text", "text", "text") = true
caseEquals({some list variable::*})

ceil

🔗

Function

Patterns:
  • ceil(n: number)
Since: 2.2
Return Type: long
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

ceiling

🔗

Function

Patterns:
  • ceiling(n: number)
Since: 2.2
Return Type: long
Alias of ceil.

Examples:

ceiling(2.34) = 3
ceiling(2) = 2
ceiling(2.99) = 3

clamp

🔗

Function

Patterns:
  • clamp(values: numbers, min: number, max: number)
Since: 2.8.0
Return Type: Number
Clamps one or more values between two numbers.

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)

concat

🔗

Function

Patterns:
  • concat(texts: objects)
Since: 2.9.0
Return Type: Text
Joins the provided texts (and other things) into a single text.

Examples:

concat("hello ", "there") # hello there
concat("foo ", 100, " bar") # foo 100 bar

cos

🔗

Function

Patterns:
  • cos(n: number)
Since: 2.2
Return Type: Number
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

date

🔗

Function

Patterns:
  • date(year: number, month: number, day: number, hour: number = 0, minute: number = 0, second: number = 0, millisecond: number = 0, zone_offset: number = NaN, dst_offset: number = NaN)
Since: 2.2
Return Type: Date
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)

exp

🔗

Function

Patterns:
  • exp(n: number)
Since: 2.2
Return Type: Number
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

floor

🔗

Function

Patterns:
  • floor(n: number)
Since: 2.2
Return Type: long
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

formatNumber

🔗

New

Function

Patterns:
  • formatNumber(number: number, format: string = )
Since: 2.10.0
Return Type: Text
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

isNaN

🔗

Function

Patterns:
  • isNaN(n: number)
Since: 2.8.0
Return Type: Boolean
Returns true if the input is NaN (not a number).

Examples:

isNaN(0) # false
isNaN(0/0) # true
isNaN(sqrt(-1)) # true

ln

🔗

Function

Patterns:
  • ln(n: number)
Since: 2.2
Return Type: Number
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

location

🔗

Function

Patterns:
  • location(x: number, y: number, z: number, world: world = event-world, yaw: number = 0, pitch: number = 0)
Since: 2.2
Return Type: Location
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)

log

🔗

Function

Patterns:
  • log(n: number, base: number = 10)
Since: 2.2
Return Type: Number
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

max

🔗

Function

Patterns:
  • max(ns: numbers)
Since: 2.2
Return Type: Number
Returns the maximum number from a list of numbers.

Examples:

max(1) = 1
max(1, 2, 3, 4) = 4
max({some list variable::*})

min

🔗

Function

Patterns:
  • min(ns: numbers)
Since: 2.2
Return Type: Number
Returns the minimum number from a list of numbers.

Examples:

min(1) = 1
min(1, 2, 3, 4) = 1
min({some list variable::*})

mod

🔗

Function

Patterns:
  • mod(d: number, m: number)
Since: 2.2
Return Type: Number
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

offlineplayer

🔗

Function

Patterns:
  • offlineplayer(nameOrUUID: string, allowLookups: boolean = true)
Since: 2.8.0, 2.9.0 (prevent lookups)
Return Type: Offline Player
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

🔗

Function

Patterns:
  • player(nameOrUUID: string, getExactPlayer: boolean = false)
Since: 2.8.0
Return Type: Player
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") # <none> if player is offline

product

🔗

Function

Patterns:
  • product(ns: numbers)
Since: 2.2
Return Type: Number
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)

quaternion

🔗

New

Function

Patterns:
  • quaternion(w: number, x: number, y: number, z: number)
Since: 2.10.0
Return Type: Quaternion
Returns a quaternion from the given W, X, Y and Z parameters.

Examples:

quaternion(1, 5.6, 45.21, 10)

rgb

🔗

New

Function

Patterns:
  • rgb(red: long, green: long, blue: long, alpha: long = 255)
Since: 2.5, 2.10.0 (alpha)
Return Type: Color
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

🔗

Function

Patterns:
  • round(n: number, d: number = 0)
Since: 2.2, 2.7 (decimal placement)
Return Type: Number
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

sin

🔗

Function

Patterns:
  • sin(n: number)
Since: 2.2
Return Type: Number
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

sqrt

🔗

Function

Patterns:
  • sqrt(n: number)
Since: 2.2
Return Type: Number
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

sum

🔗

Function

Patterns:
  • sum(ns: numbers)
Since: 2.2
Return Type: Number
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)

tan

🔗

Function

Patterns:
  • tan(n: number)
Since: 2.2
Return Type: Number
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

vector

🔗

Function

Patterns:
  • vector(x: number, y: number, z: number)
Since: 2.2-dev23
Return Type: Vector
Creates a new vector, which can be used with various expressions, effects and functions.

Examples:

vector(0, 0, 0)

world

🔗

Function

Patterns:
  • world(name: string)
Since: 2.2
Return Type: World
Gets a world from its name.

Examples:

set {_nether} to world("%{_world}%_nether")