Unit
Used in Painter API
#Info
Units are not really a class, but more its own language. It's very similar to MoLang. It's always represented as a string, and is evaluated on client side while rendering, rather than when code is ran.
- Most basic unit is plain number, such as 
'1'or'4.5'. - You can use variables with a 
$, like'$example'. - Each function requires name parenthesis and comma separated arguments e.g. 
'min(PI, $example)'. - You can combine as many as you want, e.g. 
'min(PI, 10 + $example)'. - You can do pretty complex infix, e.g. 
'atan2($MY, $MX) - HALF_PI - HALF_PI / 2'. 
#Constants
#true
Boolean true value, equal to 
1#false
Boolean false value, equal to 
0#PI
Number equal to 
3.14159265358979323846#HALF_PI
Number equal to 
1.57079632679#TWO_PI
Number equal to 
6.28318530718#E
Number equal to 
2.7182818284590452354#Variables
#$SW
Screen width
(legacy: 
$screenW)#$SH
Screen height
(legacy: 
$screenH)#$D
Render tick delta
(legacy: 
$delta)#$MX
Mouse X position
(legacy: 
$mouseX)#$MY
Mouse Y position
(legacy: 
$mouseY)#Operations
#cond ? a : b
#-a
Negate
#a + b
Add
#a - b
Subtract
#a * b
Multiply
#a / b
Divide
#a % b
Modulo
#a ** b
Power
#a & b
Bitwise AND
#a | b
Bitwise OR
#a ^ b
Bitwise/Boolean XOR
#~a
Bitwise NOT
#!a
Boolean NOT
#a << b
Shift Left
#a >> b
Shift Right
#a == b
Equals
#a != b
Not Equals
#a > b
Greater Than
#a < b
Less Than
#a >= b
Greater or Equal Than
#a <= b
Less or Equal Than
#Functions
#random(): Unit
Random number between 
0 and 1.#time(): Unit
Current time in seconds (includes milliseconds).
#roundTime(): Unit
Current time in seconds (rounded to nearest second).
#min(a: Unit, b: Unit): Unit
Smallest of two Units.
#max(a: Unit, b: Unit): Unit
Largest of two Units.
#pow(a: Unit, b: Unit): Unit
a to the power of b.#abs(a: Unit): Unit
Absolute value of 
a (always positive).#sin(a: Unit): Unit
Math.sin(a)
#cos(a: Unit): Unit
Math.cos(a)
#tan(a: Unit): Unit
Math.tan(a)
#atan(a: Unit): Unit
Math.atan(a)
#atan2(y: Unit, x: Unit): Unit
Math.atan2(y, x)
#deg(a: Unit): Unit
Converts radians to degrees.
#rad(a: Unit): Unit
Converts degrees to radians.
#log(a: Unit): Unit
Logarithm of 
a.#log10(a: Unit): Unit
Logarithm base 10 of 
a.#log1p(a: Unit): Unit
Returns the natural logarithm of the sum of 
a and 1.#sqrt(a: Unit): Unit
Square root of 
a.#sq(a: Unit): Unit
Square of 
a.#floor(a: Unit): Unit
Round 
a down to nearest integer.#ceil(a: Unit): Unit
Round 
a up to nearest integer.#if(statement: Unit, trueUnit: Unit, falseUnit: Unit): Unit
Returns 
trueUnit if statement is not equal to 0, otherwise falseUnit.