Holocore operates almost entirely on something called Intents. An Intent is a simple class that conveys a particular piece of information, and is broadcasted throughout the server to anyone who is listening for it. Two primary kinds of intents are ones that contain a status update of some kind, and another is requesting that some other service do a task.
Some Examples of status update intents:
- GalacticPacketIntent - for packets originating from the client
- ServerStatusIntent - for updates to the server status, such as "OPEN" or "LOCKED"
Some Examples of command intents:
- ObjectTeleportIntent - for requesting an object be teleported
- Additional information: ObjectAwareness listens for this intent and handles the teleportation in a safe way to avoid crashes
- CloseConnectionIntent - for requesting a player be disconnected
- Additional information: NetworkClientManager listens for this intent and closes the connection