# Functions

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 🔗
 Patterns: abs(n: number) Since: 2.2
Returns the absolute value of the argument, i.e. makes the argument positive.
Examples:
abs(3) = 3
abs(-2) = 2
acos 🔗
 Patterns: acos(n: number) Since: 2.2
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 🔗
 Patterns: asin(n: number) Since: 2.2
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 🔗
 Patterns: atan(n: number) Since: 2.2
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 🔗
 Patterns: atan2(x: number, y: number) Since: 2.2
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 🔗
 Patterns: calcExperience(level: long) Since: 2.2-dev32
Calculates the total amount of experience needed to achieve given level from scratch in Minecraft.
Examples:
ceil 🔗
 Patterns: ceil(n: number) Since: 2.2
Rounds a number down, 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 🔗
 Patterns: ceiling(n: number) Since: 2.2
Alias of ceil.
Examples:
ceiling(2.34) = 3
ceiling(2) = 2
ceiling(2.99) = 3
cos 🔗
 Patterns: cos(n: number) Since: 2.2
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 🔗
 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
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 🔗
 Patterns: exp(n: number) Since: 2.2
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 🔗
 Patterns: floor(n: number) Since: 2.2
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
ln 🔗
 Patterns: ln(n: number) Since: 2.2
The natural logarithm. You probably don't need this if you don't know what this is. Returns NaN (not a number) if the argument is negative.
Examples:
ln(1) = 0
ln(exp(5)) = 5
ln(2) = 0.6931
location 🔗
 Patterns: location(x: number, y: number, z: number, world: world = event-world, yaw: number = [[integer:0]], pitch: number = [[integer:0]]) Since: 2.2
Creates a location from a world and 3 coordinates, with an optional yaw and pitch.
Examples:
location(0, 128, 0)
location(player's x-coordinate, player's y-coordinate + 5, player's z-coordinate, player's world, 0, 90)
log 🔗
 Patterns: log(n: number, base: number = [[integer:10]]) Since: 2.2
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 🔗
 Patterns: max(ns: numbers) Since: 2.2
Returns the maximum number from a list of numbers.
Examples:
max(1) = 1
max(1, 2, 3, 4) = 4
max({some list variable::*})
min 🔗
 Patterns: min(ns: numbers) Since: 2.2
Returns the minimum number from a list of numbers.
Examples:
min(1) = 1
min(1, 2, 3, 4) = 1
min({some list variable::*})
mod 🔗
 Patterns: mod(d: number, m: number) Since: 2.2
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
product 🔗
 Patterns: product(ns: numbers) Since: 2.2
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 🔗
 Patterns: rgb(red: long, green: long, blue: long) Since: 2.5
Returns a RGB color from the given red, green and blue parameters.
Examples:
dye player's leggings rgb(120, 30, 45)
round 🔗
 Patterns: round(n: number) Since: 2.2
Rounds a number, i.e. returns the closest integer to the argument.
Examples:
round(2.34) = 2
round(2) = 2
round(2.99) = 3
round(2.5) = 3
sin 🔗
 Patterns: sin(n: number) Since: 2.2
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 🔗
 Patterns: sqrt(n: number) Since: 2.2
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 🔗
 Patterns: sum(ns: numbers) Since: 2.2
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 🔗
 Patterns: tan(n: number) Since: 2.2
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 🔗
 Patterns: vector(x: number, y: number, z: number) Since: 2.2-dev23
Creates a new vector, which can be used with various expressions, effects and functions.
Examples:
vector(0, 0, 0)
world 🔗
 Patterns: world(name: string) Since: 2.2
Gets a world from its name.
Examples:
set {_nether} to world("%{_world}%_nether")