-
Notifications
You must be signed in to change notification settings - Fork 7
Celeste Reference
Celeste uses the Monocle Engine 🔗, an open-source game engine developed by Matt Thorson. For information on how the engine works, especially in relation to Celeste, see the Monocle Reference.
This page is intended to be a reference for some of the classes and interfaces that are provided by Celeste,
but that are not sufficiently self-explanatory/self-documenting.
These classes are not required to be used in a code mod, but can help a mod to fit the look and feel of the base game.
Items on this page are in no particular order, however they are loosely arranged into categories.
Classes that require a more in-depth explanation will be on their own pages, and may not be mentioned here at all.
Be sure to check the rest of the wiki for more information.
-
Drawing Text
- ActiveFont
- FancyText
- ButtonUI
- VertexLight
- LightOcclude
- BloomPoint
- CustomBloom
- GaussianBlur
- MagicGlow
- MirrorSurface
- MirrorReflection
- TileInterceptor
- Glitch
- ScreenWipe
- Ring
- Input
- Wiggler
- Leader
- Follower
-
Holdable
- HoldableCollider
- WaterInteraction
- LevelEndingHook
- PostUpdateHook
- BeforeRenderHook
- TransitionListener
- Pathfinder
- StaticMover
- WindMover
- TalkComponent
- Tags
- SolidOnInvinciblePlayer
The ActiveFont
class provides convenient access to the currently active PixelFont
🔗.
Adding a WaterInteraction
component to an entity will cause water to react its movement with sounds and particles.
The bounds
rectangle is relative to the position of the entity.
Adding a StaticMover
component to an entity will allow it to "attatch" itself to nearby platforms, and move with them.
Adding a WindMover
component to an entity will cause the move
delegate to be updated with a Vector2 based on the current direction of the wind.
The TalkComponent
adds an element to the entity, which triggers the onTalk
action when interacted with.
The static Tags
class provides a number of BitTag 🔗 constants which are used to determine the how an entity is updated and rendered.
They are also used in some checks such as Entity.CollideCheck
.
-
PauseUpdate
: The entity will still update if the game is paused. -
FrozenUpdate
: The entity will still update while the game is "frozen", such as when hearts, cassettes, or strawberry seeds are collected. -
TransitionUpdate
: The entity will still update while the current level is transitioning into the next. -
HUD
: This entity will be rendered by theHudRenderer
, aHiresRenderer
that renders content on top of gameplay. -
Persistent
: The entity will not be removed when transitioning to the next level. -
Global
: The entity will not be removed when transitioning to the next level, or when the level is unloaded.
Important
Only one of PauseUpdate
and FrozenUpdate
should be applied to an entity at a time.
Tags can be added or removed using Entity.AddTag
and Entity.RemoveTag
, respectively.
To check whether a tag or set of tags has been applied to an entity, use Entity.TagCheck
.
To check whether only a tag or set of tags has been applied to an entity, use Entity.TagFullCheck
.
Contains BitTag 🔗 constants that have been added by Everest.
-
SubHUD
: This entity will be rendered by the (Everest added)SubHudRenderer
, which renders content on top of gameplay, but below theHudRenderer
.
Home
Contributing
FAQ
Useful Links
Your First Custom Map
Your First Texture Pack
Mod Setup
Custom Maps
Texture Packs
Uploading Mods
Generated Dialog Keys
Reference Code Mod🔗
Vanilla Audio IDs
Character Portraits
Mod Structure
Debug Mode
Command Line Arguments
Environment Variables
Install Issues
Common Crashes
Latency Guide
everest.yaml Setup
Mapping FAQ
Map Metadata
Vanilla Metadata Reference
Adding Custom Dialogue
Overworld Customisation
Entity & Trigger Documentation
Custom Entity List🔗
Camera
Ahorn Scripts
Custom Tilesets
Tileset Format Reference
Stylegrounds
Reskinning Entities
Skinmods
Decal Registry
Chapter Complete Screen
Custom Portraits
Adding Custom Audio
Advanced Custom Audio
Code Mod Setup
Making Code Mods
Mod Settings
Everest Events
Understanding Input
Logging
Cross-Mod Functionality
Recommended Practices
Core Migration Guide
Lönn Integration🔗
Custom Events
Adding Sprites
Adding Preexisting Audio