Skip to content

Entities

UnderDragon edited this page Jun 21, 2026 · 7 revisions

Advanced Spikes

A fully customizable spikes --- Spikes x Timed Trigger Spikes

You can rotate it in Loenn using 'R' for fast placing

This entity allows you to adjust the spike sprites and how the sprites should behave, whether it's allowed to trigger, and whether it's allowed to retract etc.

To display Triggered Spikes options, simply enable Trigger option

Animated Spikes

This entity is the animated version of the Advanced Spikes, apart from the features in Advanced Spikes, this entity also allows adjusting the spikes animation speed

Animated Zip Mover

A whole new zipmover that allows you to use animated sprite for the zipmover surface!

Another Tile Entity

A tile entity for decoration purposes.

Bezier Zipmover

A whole new zipmover that can be pathed in huge bezier curves! Also comes with AdventureHelper color supports!

BG Tiles Collide Controller

A controller detecting whether the player is colliding with the BG Tiles

Booster Zipper

Ported entity from SSC2024 Collab, since the entity code is close-sourced, this port is under authentication of Aurora.

Special thanks to Zbs for making the new set of sprite assets.

Bubble Field (Customizable)

Now the bubble particles can be modified! And the entity can be controlled by flags. I also fixed the entity menu in Lonn so it should be more user-friendly.

Chinese Characters Auto-Lining Controller

A controller matching with the feature Chinese Characters Auto Lining in Mod Settings

Chronia Helper Random Seed Controller

There is a built in command in ChroniaHelper that sets up the randomization seed for some TAS-related issues, as for the mapper-side, this controller does the same thing, but by setting up in-game.

Code Button

A button active to players or holdables, can be used to setup a code sequence for the map, each code of the button can be identical or overlapped

Code Button Target Controller

Sets up the correct password for the certain code button group

Comprehensive Controller

A controller that records data and transform them into session data of the level, inspired from Kosei Helper GameData Controller

Condition Delay Listener

When a certain condition is met, either flag sequences or ChroniaHelper Math Expressions, or FrostHelper Session Expressions, the flags will be set after a certain delay

Cornerboost Block

Crumble Block

Custom Billboard

A customizable billboard from 9a with skinnable color, noise textures and frame texture

Custom Booster

Nothing much to talk about this entity, just a customizable booster so that you can use multiple styles of boosters in one single map, an entity as per requested

You can customize the animation interval, the sprite, and respawn time, basically satisfying normal booster usages

Custom Core Block

A reskinnable Core Block from Vanilla CH8

(The vanilla Core block only supports center crystal reskinning, and this entity also supports the block itself to be reskinned)

Important notice, that the sprite of the Core Block is 64 x 64 instead of normally 24 x 24, check the vanilla sprite for reference

Custom Core Message

This is a re-coded Custom Core Message entity, allowing mappers to input the whole Dialog instead of only certain line of it, adjusting the text parallax like the Parallax Text does, recently it also supports direct message input by adding a "" symbol on the text you input

Custom Dust Bunny

A customizable dust creature, allows setting up tint color, edge color, and eye color

Custom Fake Wall (port from VivHelper)

The ported entities are from VivHelper as per requested, along with the features VivHelper generously provided, the ported entity also includes a support for recovering when player leaves from inside, some bugfix over Loenn panels

Custom Nega Block

Custom Jelly

A fully customizable jelly, allows adjusting its animation speeds and set animation paths without having to set it up in a XML file

Custom Summit Clouds

Custom Timer

A timer with relative controlling trigger for the mappers to use as a race reference

The entity itself is for displaying the time and the title (if you have one)

Custom Timer Recorder

An entity that can display the recorded timer using Custom Timer

Custom Torch

A customizable torch

Danger Range Controller

When the player coordinates is above or below a certain value, it'll consider that player entered a dangerous altitude, and kill the player

Dash gate Block (multi-node) (Sorbet Helper required)

See SorbetHelper for more info about this entity, in this helper the entity is extended and allow creating multiple nodes, setting up multiple node delays or moving easers.

DecreaseRefill

The reversed version of refill, instead of giving you refills, it take away your dashes.

Although, you can choose if you want to trade your dashes into stamina.

Die Outside Camera Controller

If enabled, player will die if they're outside the camera bounds, so don't use too much offset I guess?

Dream Kevin

A special kind of Kevin that works as a Dream Block when player is not in dream dashing state, as a Kevin when player is in Dream Dashing state

Entity Text Box

Well, I always thought that the vanilla dialog text box seems pretty fancy, then how about let's use it and ... make it into an entity?

Fall Through (port from VivHelper)

The ported entities are from VivHelper as per requested, along with the features VivHelper generously provided, the ported entities also includes customizable hold time for the player to fall through, how the player fall through will be, and how long will the effect keeps

Fish Prices Controller

This one is a custom feature built for Celestial Metropolis, in which you can fish with Lakeside Songbook fishing system and calculate your total scores by setting this up

Flag Listener Stopclock Controller

A controller that starts a stopclock counting when a flag is enabled.

Flag Packer series

So, imagine that a series of flags are like several sticks, and you put them inside a bag, randomly pick out one at a time, each flag would be different. When all the flags are pulled out, they would be immediately put pack into the bag so that the flags can be triggered again.

Thus, using Flag Packer to create a bag of flags, then using Random Packed Flag Trigger to pick them out randomly.

Flag Touch Switch / Flag Touch Switch Wall

When it comes to a large collision zone that requires a touch switch, the Touch Switch Wall from VivHelper could be very useful, however... This entity doesn't support flag-controls

Which is why we combined it with the Flag Touch Switch from Maddie's Helping Hand!

This entity can choose to be a Touch Switch or a Touch Switch Wall in the "switch" option while keeping the attribute of grouping by flags, this way you can use multiple Touch Switch Wall and Touch Switch in the same room or different rooms controlling different flags like the original Flag Touch Switch does! Combine them however you want!

Flag Button / Flag Button Wall

An entity that works similarly like Maddie's Flag Touch Switch, except that it only exists to manage flags instead of having to work with certain switch gates, when you collect each one of them, they would let out a unique flag themselves, when all collected, they would complete a full flag.

In comparison of the normal switches, Flag Button 2 provided a new set of animations that allows you to customize your switches on each one of the states (idle, spin, completing and completed)

Flag Swap Block

So, it is a swap block, yeah, but instead of activated by dashing, it's activated by flag, it'll move to the target when flag is enabled, and it'll move back when the flag is disabled.

Flag When Counter Controller

Sets a flag when a certain counter is certain value or in certain range, and disables a flag when not

Flag When Slider Controller

Sets a flag when a certain slider is equal to certain value or in certain range, and disables a flag when not

Floaty BG Tiles

The entity that allows you to place BG Tiles as an entity on the background. This entity allows modifying the floating amplitude of it and make it static.

Fnt Displayer / Fnt Displayer Zone

Sort of like Custom Core Message, but instead of using the map default font, you choose your font from the fnt file! Warning, try not to include too many characters at a time, otherwise you may suffer from texture load lag.

I provided 2 copies of assets I generated from BMFont, included on the bottom of the Helper file list. If you wanna test it, these 2 are the provided options, otherwise, try generate one of your own using Maddie's website or BMFont.

Formula Block

The blocks are pretty much just some connected blocks, but they will start move along the math function you entered after a flag is triggered, and if not setup a max move duration, it'll always keep moving!

The supported expressions are Chronia Math Expression and Frost Helper Session Expression

Note that there's an implemented variable "t" / "time" that defines the time since flag is active, so the functions should normally be y = f(t) and x = f(t)

Ice Floor

Input Flag Controller (require Communal Helper)

The expanded version of the Input Flag Controller from Communal Helper, allowing multiple keys activations, also introduced flag restraints and trigger restraints.

Killer Series

Killer Block

A block that can kill player after touching its sides for a certain amount of time.

The mechanic is similar to placing Timed Trigger Spikes over some sides of a block, but it's quite good for troll maps I guess

Grouped Killer Block

It works as Killer Block, but when several blocks with the same attributes were connected, they would combine as one, works like AdventureHelper

HUD Controller

ChroniaHelper contains a loads of HUDs now, which can be seen in the options, but what if the mapper wants some of the HUD area to be clear and the player still wanna keep their HUD active?

Well use this controller to temporarily hide some of them

Grouped Wind Tunnel & Grouped Wind Tunnel Controller

Since Wind Tunnel sometimes work weird when you connect several individual tunnels together, now we introduce Grouped Wind Tunnel and its controller

Killer Wall

As requested, I included a new entity that can blend in with the nearby walls while maintaining its Killer Block features

Message Displayer

Well, sort of like custom-textured version of Custom Core Message, if you wanna know

Moonboost Block

No Coyote Time Block

Interacting with this block will leave you with no coyote time.

Omni Zipmover (Communal Helper required)

Based on CommunalHelper's Connected Zipmover, I opened some more features to it so the mappers can customize this entity in their map. This entity can be reskinned, setting the rope colors, setting up the speed, setting up the delay between each node, sync the zipmovers by using colors, etc. The sync of the zipmover is compatible to AdventureHelper synced zipmovers. Also you are allowed to setup whether you want it to be activated by dashing towards it

Due to this dashable setting, the newly added water, glass and dream variations of this entity are all working as a unique skin of the original entity, for example, Omni Zip Mover (water) doesn't allow you to dash into it and refill like water supposed to do

Operation Codes Listener

Tired of making puzzles only with dash codes?

Wanna include some... advanced movements like Crouch Dashes or maybe ESC?

Well, this will be your thing!

Notice: When mapping with this, it is suggested to run the console so you can check the operation code sequence that you needed when you operate.

Warning: DON'T FORGET TO TURN OFF THE LOG IN CONSOLE FEATURE AFTER YOU DONE TESTING, or I won't be responsible for any lag that caused by continuously printed logs XP

Password Keyboard

Password Keyboard is an entity that allows you to type a password, when the password is a match, a flag will be enabled.

As helper built-in features, it also comes with:

Custom Core Message supporting text sync using the built-in DialogID keyboardSync_

Flag Button supporting password lock

Pettable Fox (require HonlyHelper)

The original pettable cat in Honly Helper supports petter customizations, but the cat itself is not reskinnable. So this version gives more customizable options by allowing the setups of cat skin, and changed the default to a little cute fox (credits. zXnder).

Platform Line Controller

In case you missed it, but the track color of the entity Platform (or Moving Platform, or Sinking Platform) is not customizable in vanilla, as well as some other helpers, so this is a small controller by request made to customize the depth and track color of the Platforms

Player Indicator Zone

A multi-function zone, like the combination of Outline Indicator (from CherryHelper), Flag Trigger, and Shattersong Indicator (from VivHelper)

You can customize its outline and colors, more importantly you can display icons below the player when player enters the zone, just like some status icons.

Player Indicator Zone (Custom)

Player Indicator Zone only supports 3 slots to lessen the burden on UI, and this one however, let you customize them all! Open as many slots as you want!

Polygon Killbox

Polygon Trigger Entity

Due to render problems, this trigger is placed as an entity in Lonn instead of triggers.

Puffer Bomb

The customizable explosion collider version of vanilla Pufferfish

Random Music Controller

A map music controller that changes music randomly for a period of time.

Real Time Renderer

A specific use of Message Displayer that displays in-reality time

Refill

Refill Wall

Refill Circle

Refill On Wall

Since we can have ice on the floor, ice on the wall, and we already can refill ourself on the ground... Then I'm sure it would be fine if we can have something that refill us on the wall!

Reset Changed Room Flags Controller

Yeah, this entity is basically what's described in the title.

When you change certain flags in a room, you can immediately reset them when you leave the room, with different modes available.

Reskinnable Kevin

We should probably know that in vanilla, the Kevin has a large large face, although the face itself can be modified, but the base color isn't really changeable, so... Here it is, a Kevin fully customizable.

Reversed Gravity Jelly

This entity is ported from Strawberry Jam Collab codes as per requested. The entity is used in the SJ map Ethereal Ascension known as Sky Lantern. Which, when thrown out, it goes in the trail of an opposite curve from the vanilla jellyfish. This entity provided 4 speeds under different scenarios for customizations.

Room Tag Creator

When placing it in a room, it'll collect all the room names and sort them into a built-in list, then create a session tag for each one of them.

Room Tag Session Controller

Using the room tags set by Room Tag Creator, the controller is allowed to operate some basic session stuffs with it, setting up a flag, or reset a counter / slider

Set Flag/Counter/Slider Controller

Mostly for my personal usages, but feel free to try it, it sets up a series of flags under a certain occasion, supports inverted flags and global flags. Or set up a series of sliders and counters to a certain value.

Set Flag On Mouse Controller

As titled, you can set up a flag by clicking your mouse!

Set Flag Sequence Controller

So I assume not all of you use trigger trigger network for comprehensive or complicated mechanics, do you?

I think most of the time mappers simply wanted to activate a chain of flags according to some sort of sequence, the this is your thing!

Shifting Block

When Shifting Switch is enabled by dashing, the block attached to the nodes will start moving towards the direction that the switch is being hit from

Shifting Switch

The entity that controls whether the Shifting Block should move and how they moves

The Shifting Blocks it controls are defined by the nodes it puts on Shifting Blocks

Spikes

A custom spikes from YoctoHelper, tooltips were included for the usage

The features include normal spikes features, reskinnable, and retract features.

Seamless Spinner

A spinner with changeable hitboxes, custom skin support, and custom bloom.

When enabling 'dynamic' option, the spinner will use the sprite array as an animation instead of random textures like the default spinner does.

Component: Seamless Spinner Alpha Slider

Introducing a slider in-game that affects the Seamless Spinner sprite transparency!

Modify the value of "SeamlessSpinnerAlphaSlider" slider in-game between 0 and 1 to make it effective.

0 - Default, the SeamlessSpinner is solid as it is

1 - Transparent, the SeamlessSpinner won't be visible anymore, (why would you do that though?)

Set Session Value Sequence Controller

A controller that behaves likely as Set Flag Sequence Controller, but it also supports Counters and Sliders.

The sequence is a list of commands looking like this:

flagA = true, counterA = 3; flagB = true; 5; sliderB = 3.2

flagName = boolean sets a flag,

counterName = integer sets up a counter,

sliderName = float sets up a slider,

number is the delay between commands.

Commands are separated by ';', but each command can also be divided into sub-commands by using a ','.

There are also supports for multiple assignments and variable declaration, check the tooltip for more info.

Sprite Entity

An entity that basically works as a decal, while executing commands, if you ever used a Lua Cutscene, you can imagine this is an entity that can be used as decals with cutscenes.

Set up

To set up a Sprite Entity, you only need to import your animations or textures into your Sprites.xml using a standard animation syntax:

  <yourSpriteName path=“folder/path/from/Gameplay/”>
    <Loop id=“name1” path=“path/from/folder”/>
    <Anim id=“name2” path=“…”/>
  </yourSpriteName>

That’s it! You’re all set, now just enter the editor, place a Sprite Entity and put your yourSpriteName into the Sprite Entity XML field, that’ll tell the entity that it’s using this set of XML textures.

Commands

Apart from being just a normal decal, the Sprite Entity allows mappers to write commands to it to execute, the supported commands should follow these rules.

The commands should be looking like this:

command1,param1,param2,...;command2,param1,param2,...;command3...

(A list of commands separated by ";")

set_flag

set_flag, (bool) state, (bool) inverted

set flag in game

play

play, (string) animation id

play certain sprite loaded from Sprites.xml

flag_play

flag_play, (string) flag, (string) animation id, (bool) inverted flag

flag controlled version of play

wait

wait, (float) time

wait_flag

wait_flag, (string) flag name, (bool) invert flag

waiting for certain flag before moving on to the next command

move

move, (float) delta X, (float) delta Y, (float) move time, ease

move the entity to the relative position

light_move

the parameters are the same as move - move the entity light to the relative position

bloom_move

the parameters are the same as move - move the entity bloom point to the relative position

move_to

move_to, (float) target X, (float) target Y, (float) move time, ease

move the entity to the target position

light_moveto

the parameters are the same as move_to - move the entity bloom point to the target position

bloom_moveto

the parameters are the same as move_to - move the entity bloom point to the target position

move_around

move_around, (float) around circle center delta X, (float) around circle center delta Y, (float) delta angle, (float) spinning time, ease

the entity will move around the center that's (dX, dY) away from the entity position like a planet for a certain amount of angle

light_movearound

the parameters are the same as move_around - the entity light will move around the center that's (dX, dY) away from the entity position like a planet for a certain amount of angle

bloom_movearound

the parameters are the same as move_around - the entity bloom point will move around the center that's (dX, dY) away from the entity position like a planet for a certain amount of angle

alpha

alpha, (float) alpha, (float) changing time, ease

changing the sprite alpha

color

color, (HEX) color, (float) changing time, ease

changing the sprite tint color

scale

scale, (float) scale X, (float) scale Y, (float) changing time, ease

changing the sprite scale

rotate

rotate, (float) delta angle, (float) rotate time, ease, (bool) is this angle a delta angle

rotate the sprite to a certain angle or rotate the sprite for certain angle

depth

depth, (int) depth, (float) changing time, ease

changing the depth of the entity

repeat

repeat, (int) repeat from command index, (string) repeat override flag

repeat the commands from the certain index until the override flag is set true

origin

origin, (float) origin X, (float) origin Y, (float) changing time, ease

justifying the sprite origin

rate

rate, (float) animation rate, (float) changing time, ease

changing the sprite animation rate

ignore

ignore, (string) ignore flag, (bool) inverted flag, (int[]) indexes

ignore certain command indexes unless the flag condition is met

sound

sound, (string) event name

play sound

music

music, (string) event name

changing the map music

hitbox

hitbox, (float) width, (float) height, (float) X, (float) Y

setting up the hitbox for this entity

light

light, (HEX) color, (float) alpha, (int) start fade distance, (int) end fade distance, (float) changing time, ease

setting up the entity light parameters

bloom

bloom, (float) alpha, (int) radius, (float) changing time, ease

setting up the entity bloom point parameters

parallax

parallax, (float) parallax, (float) change time, ease

render_position_inroom

render_position_inroom, (float) posX in room, (float) posY in room, (float) change time, ease

when parallax is set to zero, this will be the static position of the entity

camera_offset

camera_offset, (float) offset X, (float) offset Y, (float) change time, ease

changing the level camera offset

solid

solid, (float) X from center, (float) Y from center, (float) width, (float) height, (bool) safe

adjusting the rectangle solid of the entity, allowing it to be collided by the player

speed

speed, speedX, speedY, (accX, accY, accX of accX, accY of accY ... )

setup a basic speed or acceleration array for the entity

camera_zoom

camera_zoom, (float) zoom, (float)changeTime, ease

disable_movement

disable_movement, (bool) active

kill_player

kill_player

random_flag

random_flag, flag1, (flag2, flag3, ...)

passby

passby (function name)

some of the functions above are allowed to be performed at the same time, to do that, you simply need to add a prefix passby at the very beginning of the line, for example:

if the original function is

set_flag,myFlag,true

if you want it to execute but the entity doesn't have to wait for it to end, use

passby set_flag,myFlag,true

Static BG Tile

Stopclock Action Controller

Define whether the player should be killed, or whether there should be a specific flag when the stopclock time is up

Stopclock Flag Controller

Don't be misled, this controller is for turning the stopclock digits into flags for per-frame uses or likewise

Stopclock Renderer

Display the stopclock status in-game

Tile Block (Obsoleted)

Just a block, but the latest version allows different slice sizes so you can create a block using different sized assets instead of the default of 8 px (which leaves the sprite to 24 x 24 px)

Now replaced by Another Tile Entity

Timed Random Slider / Counter Controller

Sets up a random slider / counter value per certain period of time.

Touch Gate Block (multi-node) (Sorbet Helper required)

See SorbetHelper for more info about this entity, in this helper the entity is extended and allow creating multiple nodes, setting up multiple node delays or moving easers.

Troll Berry

Wind Tunnel

This entity is from Factory Helper, well... What is Activation ID?? How about we switch them back to flag-toggled? So this entity will allow you to control the wind tunnel using flag.

Clone this wiki locally