# 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

# 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)

# 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 = [[integer:0]], minute: number = [[integer:0]], second: number = [[integer:0]], millisecond: number = [[integer:0]], zone_offset: number = [[double:NaN]], dst_offset: number = [[double: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

# 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 = [[integer:0]], pitch: number = [[integer: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 = [[integer: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) Since: 2.8.0 Return Type: Offline Player
Returns a offline player from their name or UUID. This function will still return the player if they're online.

Examples:

set {_p} to offlineplayer("Notch")
set {_p} to offlineplayer("069a79f4-44e9-4726-a5be-fca90e38aaf5")

# player

🔗

Function

 Patterns: player(nameOrUUID: string, getExactPlayer: boolean = [[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") # &lt;none&gt; 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)

# rgb

🔗

Function

 Patterns: rgb(red: long, green: long, blue: long) Since: 2.5 Return Type: Color
Returns a RGB color from the given red, green and blue parameters.

Examples:

dye player's leggings rgb(120, 30, 45)

# round

🔗

Function

 Patterns: round(n: number, d: number = [[integer: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")