Skip to main content
Version: Release-2.3

Objects

info

Here you can learn about objects available in Seon and how to manage them.

Contents

ID system

#IDs

Objects in Seon are imported into the array of size 1000. Every object must have the #ID connected to it. There are different types of #IDs depending on which objects are available and recommended to use:

#ID rangeTypeDescription
<0;0>RootThe only #ID, where you can put a boss. Can be used for everything.
<1;199>DataAll asteroids need to be contained here. Can be used for everything except bosses.
<200;999>OtherMay contain all objects, which do not store any data: walls, spheres, respblocks etc.

$IDs

Every asteroid has up to 20 asteroid objects on it. Every one of them can be pointed using the proper $ID along with the #ID of the asteroid. The 0th object is on top of the asteroid and every next comes in the clockwise direction. The highest $ID can be 19.

Catch

To set pointing on a specific #ID or $ID command catch can be used. It has the following structure:

catch #/$ [range]

Range can be written as one number, for example 5 or as a range, for example 10-19. When interpreter is pointing on some objects, every command will be executed on all of them.

tip

#ID and $ID pointers are independent from each other. Most commands use only #ID pointer. $ID pointer is used only in commands, which have $ character in their name (they affect fobs, and not objects), for example move$ or rotate$.

Here is the example how to use it:

catch # 200 summon hole 50      < create empty space >

catch # 1 < set #ID to 1 >
summon asteroid 5 0 < summon asteroid at this #ID >
move 10 0 < move this asteroid 10 units right >
catch $ 2-4 < set $ID to 2-4 >
move$ 0 3 < move these fobs 3 units up >

Summon

Command summon allows you to summon objects. Every object will be summoned in the middle of a structure and can be moved using command move. The structure of summon command is different for every object. Here is a list of them all and their summon parameters:

summon asteroid [size-4-10] [type] [fobcode]
summon wall [size-X] [size-Y] [type]
summon sphere [size-X] [size-Y] [type]
summon piston [size-X] [size-Y] [type]
summon star
summon monster

summon hole [range]
summon respblock
summon animator
summon boss [type]
note
  • [type] must be an integer.
  • [range], [size-X] and [size-Y] can be decimals.
  • [size-4-10] must be an integer from <4;10>.
  • [fobcode] is a special format, which you can read about here.
tip

If you don't use enough parameters, the last ones will be replaced with an empty string, which means, that the default value will be chosen for them.

You can read more about specific objects here:

Physical objects

NamePreviewRecommended #ID typeNotes
AsteroidDataJust a normal asteroid. Fobs are summoned along with it.
WallOtherThe customizable arena wall.
SphereOtherThe customizable asteroid-like sphere without fobs.
PistonOtherThe customizable piston.
StarOtherJust a normal star.
Monster-OtherUnfinished and unsupported object. It is never used in game.

Technical objects

NameRecommended #ID typeNotes
HoleOtherCreates empty space in a specific range
RespblockOtherDisables respawns in a specific range.
AnimatorOtherCan be configured to animate other objects during boss battles.
BossRootThe boss object. It will automatically link with the bedrock storage, if both present in the structure.
tip

There is no such thing as factory object. Copper facility factories are generated automatically, when asteroid contains at least one treasure_base object (ID = 81). To make a custom factory, create the asteroid and make sure, that it will contain at least one treasure base. You can use ObjectsGenerate settings or fobcode. Lastly, choose the loottable, which you want to use and modify the treasure string in such way to include treasure bases of the asteroid type, that you are using.

Fobcode

Fobcode is a special format, which allows you to place specific objects on any summoned asteroid. It consists of multiple integer numbers, representing fob IDs separated by , characters. Each of them represents one fob. The numeration is done like in $IDs. For example, here you can see, how the asteroid in the middle of any arena is generated:

52,53,50,,,,,,,,50,53
tip

Total Vacuum has ID = 72. You can use it to remove the specific fob completely.

tip

If you leave the fobcode empty or replace it with a single letter like x, all fobs will generate randomly using objects_generate settings.