getvar <vsvarname>[, <veexists>] Sets varname to the current variable called <varname> if it's set. If exists is passed, it's set to a bool indicating whether the variable was set.
add <vnto>, <nfrom> to += from
add <vbto>, <bfrom> to = to and from
add <vsto>, <sfrom> to = to .. from
mul <vnto>, <nfrom> to *= from
mul <vbto>, <bfrom> to = to or from
mul <vsstr>, <ncnt> str = str:rep(from)
neg <vnnum> num = -num
neg <vbvar> var = not var
neg <vsstr> str = str:rev()
inv <vnnum> num = 1 / num
mod <vnnum>, <ndv> num = num % dv
jmp <uip>[, <ec>] If c is not false, the instruction pointer is set to p. To disallow infinite loops, the program is interrupted after changing the ip, the mod should then consider restarting it.
call <uip> push the ip, then jmp p; used to execute subroutines
ret pop something, then jmp there; used to exit subroutines
push <ea>[, <eb>[, <ec>[…]]] put values onto the stack; from left to right
pop <va>[, <vb>[, <vc>[…]]] takes values from the stack and sets the passed variables to them; from left to right
equal <va>, <eb> a = a == b
less <vna>, <nb> a = a <b;afterexecuting,aisabool
less <vsa>, <sb> a = a <b;lessalsoworksforstrings
usleep <nt> aborts the program for at least floor(max(0, t)) ms
sleep <nt> executes usleep with t * 1000000 as argument
get_us_time <vto> stores minetest.get_us_time() into to; can be used to measure time differences
tostring <vevar> var = tostring(var)
print <ea>[, <eb>[, <ec>[…]]] adds variables to the log, seperated by \t, \n is added at the end
flush Output the log, this should vary for every mod.