Events: {
ConnectionAttached: "connection.attached";
ModuleReloaded: "module.reloaded";
ModuleReloadFailed: "module.reloadFailed";
ModuleRolledBack: "module.rolledBack";
ModuleUnloaded: "module.unloaded";
PlayerDisconnected: "player.disconnected";
PlayerLoggedIn: "player.loggedIn";
PlayerLoggedOut: "player.loggedOut";
PlayerReconnected: "player.reconnected";
StreamSourcesChanged: "stream.sourcesChanged";
StreamStateChanged: "stream.stateChanged";
StuffCreated: "stuff.created";
StuffDestructed: "stuff.destructed";
StuffFieldChanged: "stuff.fieldChanged";
StuffPropertyChanged: "stuff.propertyChanged";
StuffShadowChanged: "stuff.shadowChanged";
} = ...
Type Declaration
ReadonlyConnectionAttached: "connection.attached"
ReadonlyModuleReloaded: "module.reloaded"
ReadonlyModuleReloadFailed: "module.reloadFailed"
ReadonlyModuleRolledBack: "module.rolledBack"
ReadonlyModuleUnloaded: "module.unloaded"
ReadonlyPlayerDisconnected: "player.disconnected"
ReadonlyPlayerLoggedIn: "player.loggedIn"
ReadonlyPlayerLoggedOut: "player.loggedOut"
ReadonlyPlayerReconnected: "player.reconnected"
ReadonlyStreamSourcesChanged: "stream.sourcesChanged"
ReadonlyStreamStateChanged: "stream.stateChanged"
ReadonlyStuffCreated: "stuff.created"
ReadonlyStuffDestructed: "stuff.destructed"
ReadonlyStuffFieldChanged: "stuff.fieldChanged"
ReadonlyStuffPropertyChanged: "stuff.propertyChanged"
ReadonlyStuffShadowChanged: "stuff.shadowChanged"
Well-known engine event names.
The TS keys (
Events.PlayerLoggedIn) are ergonomic identifiers; the underlying string ('player.loggedIn') is the namespaced path used as the property key onEventRegistryand (eventually) for wildcard subscriptions likeEventApi.on('player.*', ...).Hierarchy is two-deep on initial ship (
category.event). Deeper nesting is fine where it organizes better; subscribers always use the full string today — wildcard support is a deferred capability the dot-notation enables.