Skip to main content
Version: Beta-2.0

Seon Language


Seon - Space Eternity Objects Notation. It's a scripting language designed to create strucutres in SE3 easily.

Contents

Seon stream

Seon interpreter reads arguments and loads them into a stream. Arguments can be separated by strings, which consit only of these chars: ' ', '\t', '[', ']', '\n', "\r". The interpreter reads every single argument individually. If it gets error, it continues its interpretation from current or next argument, so every correct command in a stream will be executed even if interpreter has found some errors.

Note: Seon interpreter supports both , and . decimal separators (you can write 0.0 or 0,0).

Comments

Comment system is not implemented into the seon language, but if it's a part of a datapack, you can simply put your comment into <>. Datapack interpreter will automatically remove it before it becomes a seon code. Because of error ignoring you can put your comments as a raw code too, but try avoiding key-words in it.

Interpreter variables

When reading seon code, interpreter stores some variables in memory. They can be changed using commands and have very important meaning when trying to understand that language.

VariableDescriptionDefault valueCommandAllowed values
currentStores ID of a specified object. Every command, which don't need object ID as its argument, but has to do some actions on it takes ID from here.-1catch #X / summon #X (...)int <0;1023>
findexStores ID of an asteroid object. Every command, which access one object on one asteroid (has child in its name) takes asteroid object ID from here.-1catch child $Xint <0;19>
findex_min & findex_maxStores IDs of multiple asteroid objects. Every command, which access multiple objects on one asteroid (has children in its name) takes asteroid object IDs from here.0 & 19catch children $X $Yint <0;19>
setrandomInteger number used to randomize structures. You can set it to a random number <0;X) with command setrandom %X.-1setrandom %Xint <0;99999>
ifrandomInteger number used to randomize structures. Commands execute only when ifrandom = setrandom or when ifrandom = -1 (break).-1ifrandom X/breakint32

Note: Changing one variable never affects others directly.