Literals

Data values directly written in the script source code.

Any value written into the script source itself is a literal.

A literal is an absolute value stored in the code itself, rather than extracted from some expression during the program run-time.

Some expressions act as literals by writing a raw value into the compiled source code, but are not included in this section.

Boolean

Booleans are the true/false value-types.

The two boolean literals are true and false.

(true|false)

set {var} to true
if {var} is true:
if {var} is false:

Occasionally, booleans can be exchanged with other types. The true and false values can be equated with 1 and 0 in some syntax. For some boolean comparisons, null will count as a false value.

String

Strings are the most common text value-type.

Strings are written inside "<text>" double-quotes.

set {var} to "my text here"
if {var} is "hello":
if "hello" contains "h":

Strings do not support parsed inputs. Instead, they may be joined with the + operator.

set {var} to "hello " + "there"
set {var} to "hello " + {name}
set {var} to "hello" + newline + ":)"

This is different from original Skript. A simple comparison is given below, for users that need help converting scripts to this format.

ByteSkript VersionSkriptLang Version

"hello " + {name}

"hello %{name}%"

"hello " + my_func() + " there"

"hello %my_func()% there"

newline + ":)"

"%newline%:)"

Integer

Integers are whole (non-decimal) numbers.

Integers are written directly in standard 0-9 numerals.

set {var} to 5
if {var} is -443:
if 66 > 21:
set {var} to {var} + 23

Integers are between -2147483648 and 2147483647. If you need a smaller or larger value, use a long.

Double

Doubles are decimal numbers.

Doubles are written directly in standard 0-9 numerals. Almost all decimals should be handled as double form.

set {var} to 5.5
if {var} is 4.0:
if 66.5 > 21.5:
set {var} to {var} + 23.0

Long

Longs are whole (non-decimal) numbers.

Longs are written directly in standard 0-9 numerals with the L suffix. Longs have a much greater limit than integers, but take up twice the space in memory.

set {var} to 5L
if {var} is -443L:
if 66L > 21000000000000L:
set {var} to {var} + 2L

Float

Floats are smaller, less-precise decimal numbers.

Floats are written directly in standard 0-9 numerals with the F suffix. Floats take up less space in memory than doubles, but support fewer decimal places.

set {var} to 5.5F
if {var} is 4.0F:
if 66.5F > 21.5F:
set {var} to {var} + 23.0F

RegEx

Regular expressions are a standard form of text-matching pattern.

RegEx is written inside /pattern/ slash-characters. A / character inside the pattern must be escaped with a backslash \.

set {var} to /hello there/
set {var} to /.+?/
set {var} to /[0-9]/

Be careful! A double // marks a line-comment!

Null

The null value is an empty value, used when a variable or expression has no value.

(null|none)
set {var} to null
set {var} to none
if {var} is null:
if {var} is none:

The null value is equal to other null values (all null values are the same - nothing.)

Last updated