UNPKG

hytopia

Version:

The HYTOPIA SDK makes it easy for developers to create massively multiplayer games using JavaScript or TypeScript.

2,541 lines (1,177 loc) 44.4 kB
<!-- Do not edit this file. It is automatically generated by API Documenter. --> [Home](./index.md) &gt; [server](./server.md) ## server package ## Classes <table><thead><tr><th> Class </th><th> Description </th></tr></thead> <tbody><tr><td> [AssetsLibrary](./server.assetslibrary.md) </td><td> Manages the assets library and synchronization of assets to the local assets directory in development. When to use: pulling assets from the shared library during local development. Do NOT use for: production asset loading; the library is disabled in production. </td></tr> <tr><td> [Audio](./server.audio.md) </td><td> Represents a audio playback in a world. </td></tr> <tr><td> [AudioManager](./server.audiomanager.md) </td><td> Manages audio instances in a world. When to use: querying or bulk-controlling audio in a specific world. Do NOT use for: individual playback configuration; use `Audio` instances. </td></tr> <tr><td> [Block](./server.block.md) </td><td> Represents a block in a world. When to use: reading block data from queries like raycasts or chunk lookups. Do NOT use for: creating or placing blocks directly; use `ChunkLattice.setBlock`<!-- -->. </td></tr> <tr><td> [BlockTextureRegistry](./server.blocktextureregistry.md) </td><td> Manages block textures and block texture atlas generation of the game. When to use: querying texture atlas UVs and transparency hints for blocks. Do NOT use for: runtime texture modifications; regenerate atlas offline in dev. </td></tr> <tr><td> [BlockType](./server.blocktype.md) </td><td> Represents a block type definition. When to use: defining new block types (textures, colliders, liquid behavior). Do NOT use for: placing blocks directly; use `ChunkLattice.setBlock`<!-- -->. </td></tr> <tr><td> [BlockTypeRegistry](./server.blocktyperegistry.md) </td><td> Manages known block types in a world. When to use: registering and retrieving block types for a specific world. Do NOT use for: placing blocks; use `ChunkLattice.setBlock`<!-- -->. </td></tr> <tr><td> [ChatManager](./server.chatmanager.md) </td><td> Manages chat and commands in a world. When to use: broadcasting chat, sending system messages, or registering chat commands. Do NOT use for: player HUD/menus; use `PlayerUI` for rich UI. </td></tr> <tr><td> [Chunk](./server.chunk.md) </td><td> A 16^3 chunk of blocks representing a slice of world terrain. When to use: reading chunk data or working with bulk block operations. Do NOT use for: creating terrain directly; prefer `ChunkLattice`<!-- -->. </td></tr> <tr><td> [ChunkLattice](./server.chunklattice.md) </td><td> A lattice of chunks that represent a world's terrain. When to use: reading or mutating blocks in world space. Do NOT use for: per-entity placement logic; prefer higher-level game systems. </td></tr> <tr><td> [Collider](./server.collider.md) </td><td> Represents a collider in a world's physics simulation. When to use: defining collision shapes for rigid bodies or entities. Do NOT use for: gameplay queries; use `Simulation.raycast` or intersection APIs instead. </td></tr> <tr><td> [CollisionGroupsBuilder](./server.collisiongroupsbuilder.md) </td><td> A helper class for building and decoding collision groups. When to use: creating custom collision filters for colliders and rigid bodies. Do NOT use for: per-frame changes; collision group changes are usually infrequent. </td></tr> <tr><td> [DefaultPlayerEntity](./server.defaultplayerentity.md) </td><td> Represents the default player model entity. When to use: standard player avatars with built-in cosmetics and default controls. Do NOT use for: fully custom player rigs that don't match the default model's anchors/animations. </td></tr> <tr><td> [DefaultPlayerEntityController](./server.defaultplayerentitycontroller.md) </td><td> The default player entity controller implementation. When to use: player-controlled avatars using `DefaultPlayerEntity`<!-- -->. Do NOT use for: NPCs or non-player entities; use `SimpleEntityController` or `PathfindingEntityController` instead. </td></tr> <tr><td> [Entity](./server.entity.md) </td><td> Represents a dynamic or static object in a world. When to use: any non-player object that needs physics, visuals, or interactions. Do NOT use for: player-controlled avatars (use `PlayerEntity` / `DefaultPlayerEntity`<!-- -->). Do NOT use for: voxel blocks (use block APIs on `ChunkLattice`<!-- -->). </td></tr> <tr><td> [EntityManager](./server.entitymanager.md) </td><td> Manages entities in a world. When to use: querying and filtering entities within a specific world. Do NOT use for: cross-world queries; access each world's manager separately. </td></tr> <tr><td> [EntityModelAnimation](./server.entitymodelanimation.md) </td><td> Represents a single animation of the model used for an Entity. When to use: controlling individual animation playback, blending, and looping on model entities. Do NOT use for: block entities (they have no model animations). </td></tr> <tr><td> [EntityModelNodeOverride](./server.entitymodelnodeoverride.md) </td><td> Represents a name-match model node override rule for an Entity. When to use: configuring visual and transform overrides for one or more model nodes selected by name match. </td></tr> <tr><td> [ErrorHandler](./server.errorhandler.md) </td><td> Manages error and warning logging. When to use: reporting recoverable issues or fatal errors with consistent formatting. Do NOT use for: normal control flow; prefer explicit return values or exceptions. </td></tr> <tr><td> [EventRouter](./server.eventrouter.md) </td><td> Routes events to listeners in local, world, or global scope. When to use: event-driven hooks within server subsystems. Do NOT use for: high-frequency per-entity updates; prefer direct method calls for hot paths. </td></tr> <tr><td> [GameServer](./server.gameserver.md) </td><td> Global entry point for server systems (players, worlds, assets). When to use: accessing global managers and registries after startup. Do NOT use for: constructing your own server instance. </td></tr> <tr><td> [IterationMap](./server.iterationmap.md) </td><td> A high-performance Map-like data structure optimized for frequent iteration. When to use: per-tick collections that are built, iterated, and cleared each frame. Do NOT use for: long-lived maps with rare iteration; a standard Map is simpler. </td></tr> <tr><td> [Matrix2](./server.matrix2.md) </td><td> Represents a 2x2 matrix. When to use: 2D transforms or linear algebra utilities. Do NOT use for: immutable math; most methods mutate the instance. </td></tr> <tr><td> [Matrix3](./server.matrix3.md) </td><td> Represents a 3x3 matrix. When to use: 2D homogeneous transforms or normal matrix math. Do NOT use for: immutable math; most methods mutate the instance. </td></tr> <tr><td> [Matrix4](./server.matrix4.md) </td><td> Represents a 4x4 matrix. When to use: 3D transforms (translation, rotation, scale) and camera math. Do NOT use for: immutable math; most methods mutate the instance. </td></tr> <tr><td> [ModelRegistry](./server.modelregistry.md) </td><td> Manages model data for all known models of the game. When to use: querying model metadata (bounds, node names, animations, trimesh). Do NOT use for: runtime mesh editing; use dedicated tooling or physics colliders. </td></tr> <tr><td> [ParticleEmitter](./server.particleemitter.md) </td><td> Represents a particle emitter in the world. Emit 2D particles that always face the camera. </td></tr> <tr><td> [ParticleEmitterManager](./server.particleemittermanager.md) </td><td> Manages ParticleEmitter instances in a world. When to use: querying or bulk-cleaning particle emitters for a world. Do NOT use for: configuring emitters; use `ParticleEmitter` instances directly. </td></tr> <tr><td> [PathfindingEntityController](./server.pathfindingentitycontroller.md) </td><td> A pathfinding entity controller built on top of `SimpleEntityController`<!-- -->. When to use: obstacle-aware movement to a target coordinate. Do NOT use for: per-tick recalculation; pathfinding is synchronous and can be expensive. </td></tr> <tr><td> [PersistenceManager](./server.persistencemanager.md) </td><td> Manages persistence of player and global data. When to use: reading or writing persisted data shared across lobbies or per player. Do NOT use for: per-tick state; cache data in memory and write back periodically. </td></tr> <tr><td> [Player](./server.player.md) </td><td> A connected player in the game. When to use: interacting with a connected player's state, UI, and world membership. Do NOT use for: constructing players or representing offline users. </td></tr> <tr><td> [PlayerCamera](./server.playercamera.md) </td><td> The camera for a Player. When to use: controlling a player's view, mode, and camera offsets. Do NOT use for: moving the player or entities; use entity movement APIs. </td></tr> <tr><td> [PlayerEntity](./server.playerentity.md) </td><td> Represents an entity controlled by a player in a world. When to use: custom player avatars that respond to player input. Do NOT use for: non-player NPCs; use `Entity` with a controller instead. </td></tr> <tr><td> [PlayerManager](./server.playermanager.md) </td><td> Manages all connected players in a game server. When to use: accessing online players, reacting to connection lifecycle events, or routing players to worlds. Do NOT use for: constructing or persisting players yourself; players are created automatically on connection. </td></tr> <tr><td> [PlayerUI](./server.playerui.md) </td><td> The UI for a player. When to use: showing overlays, HUDs, menus, and custom UI for a specific player. Do NOT use for: world-level UI shared by all players; use scene UI systems instead. </td></tr> <tr><td> [Quaternion](./server.quaternion.md) </td><td> Represents a quaternion. When to use: rotation math for entities, cameras, or transforms. Do NOT use for: immutable math; most methods mutate the instance. </td></tr> <tr><td> [RigidBody](./server.rigidbody.md) </td><td> Represents a rigid body in a world's physics simulation. When to use: physics-simulated or kinematic objects that need forces, collisions, or velocity. Do NOT use for: purely visual transforms; use entity transforms without physics when possible. </td></tr> <tr><td> [SceneUI](./server.sceneui.md) </td><td> UI rendered within the 3D space of a world's game scene. </td></tr> <tr><td> [SceneUIManager](./server.sceneuimanager.md) </td><td> Manages SceneUI instances in a world. When to use: querying or bulk-unloading scene UI elements in a world. Do NOT use for: player HUD/menus; use `PlayerUI` for per-player UI. </td></tr> <tr><td> [SimpleEntityController](./server.simpleentitycontroller.md) </td><td> A simple entity controller with basic movement functions. When to use: straightforward movement and facing without pathfinding. Do NOT use for: obstacle-aware movement; use `PathfindingEntityController`<!-- -->. </td></tr> <tr><td> [Simulation](./server.simulation.md) </td><td> Represents the physics simulation for a world. When to use: advanced physics queries, custom gravity, or debug rendering. Do NOT use for: typical movement; use entity/rigid body APIs instead. </td></tr> <tr><td> [Telemetry](./server.telemetry.md) </td><td> Manages performance telemetry and error tracking through your Sentry account. When to use: profiling and diagnosing slow ticks or runtime errors in production. Do NOT use for: high-volume custom metrics; use a dedicated metrics pipeline instead. </td></tr> <tr><td> [Vector2](./server.vector2.md) </td><td> Represents a 2D vector. When to use: performance-sensitive math in game loops or geometry utilities. Do NOT use for: immutable math; most methods mutate the instance. </td></tr> <tr><td> [Vector3](./server.vector3.md) </td><td> Represents a 3-dimensional vector. When to use: performance-sensitive 3D math and transforms. Do NOT use for: immutable math; most methods mutate the instance. </td></tr> <tr><td> [World](./server.world.md) </td><td> Represents an isolated simulation space (a world) on the server. When to use: your primary container for game objects, physics, and players. Use multiple worlds to run separate rooms, arenas, or instances. Do NOT use for: cross-world global state; keep that in your own services or `GameServer`<!-- -->. </td></tr> <tr><td> [WorldLoop](./server.worldloop.md) </td><td> Manages the tick loop for a world. When to use: advanced scheduling or instrumentation of a world's tick cycle. Do NOT use for: normal lifecycle control—use `World.start` and `World.stop`<!-- -->. </td></tr> <tr><td> [WorldManager](./server.worldmanager.md) </td><td> Manages all worlds in a game server. When to use: creating additional worlds, routing players, or querying the active world set. Do NOT use for: instantiating `World` directly for gameplay; use `WorldManager.createWorld` to ensure IDs and lifecycle are managed consistently. </td></tr> </tbody></table> ## Abstract Classes <table><thead><tr><th> Abstract Class </th><th> Description </th></tr></thead> <tbody><tr><td> [BaseEntityController](./server.baseentitycontroller.md) </td><td> A base class for entity controller implementations. When to use: implementing custom entity behavior and movement logic. Do NOT use for: one-off entity changes; prefer direct entity APIs. </td></tr> </tbody></table> ## Enumerations <table><thead><tr><th> Enumeration </th><th> Description </th></tr></thead> <tbody><tr><td> [AudioEvent](./server.audioevent.md) </td><td> Event types an Audio instance can emit. See `AudioEventPayloads` for the payloads. \*\*Category:\*\* Events </td></tr> <tr><td> [BaseEntityControllerEvent](./server.baseentitycontrollerevent.md) </td><td> Event types a BaseEntityController instance can emit. See `BaseEntityControllerEventPayloads` for the payloads. \*\*Category:\*\* Events </td></tr> <tr><td> [BlockTypeEvent](./server.blocktypeevent.md) </td><td> Event types a BlockType instance can emit. See `BlockTypeEventPayloads` for the payloads. \*\*Category:\*\* Events </td></tr> <tr><td> [BlockTypeRegistryEvent](./server.blocktyperegistryevent.md) </td><td> Event types a BlockTypeRegistry instance can emit. See `BlockTypeRegistryEventPayloads` for the payloads. \*\*Category:\*\* Events </td></tr> <tr><td> [ChatEvent](./server.chatevent.md) </td><td> Event types a ChatManager instance can emit. See `ChatEventPayloads` for the payloads. \*\*Category:\*\* Events </td></tr> <tr><td> [ChunkLatticeEvent](./server.chunklatticeevent.md) </td><td> Event types a ChunkLattice instance can emit. See `ChunkLatticeEventPayloads` for the payloads. \*\*Category:\*\* Events </td></tr> <tr><td> [CoefficientCombineRule](./server.coefficientcombinerule.md) </td><td> The coefficient for friction or bounciness combine rule. \*\*Category:\*\* Physics </td></tr> <tr><td> [ColliderShape](./server.collidershape.md) </td><td> The shapes a collider can be. \*\*Category:\*\* Physics </td></tr> <tr><td> [CollisionGroup](./server.collisiongroup.md) </td><td> The default collision groups. </td></tr> <tr><td> [EntityEvent](./server.entityevent.md) </td><td> Event types an Entity instance can emit. See `EntityEventPayloads` for the payloads. \*\*Category:\*\* Events </td></tr> <tr><td> [EntityModelAnimationBlendMode](./server.entitymodelanimationblendmode.md) </td><td> The blend mode of an entity model animation. \*\*Category:\*\* Entities </td></tr> <tr><td> [EntityModelAnimationEvent](./server.entitymodelanimationevent.md) </td><td> Event types an EntityModelAnimation instance can emit. See `EntityModelAnimationEventPayloads` for the payloads. \*\*Category:\*\* Events </td></tr> <tr><td> [EntityModelAnimationLoopMode](./server.entitymodelanimationloopmode.md) </td><td> The loop mode of an entity model animation. \*\*Category:\*\* Entities </td></tr> <tr><td> [EntityModelAnimationState](./server.entitymodelanimationstate.md) </td><td> The state of an entity model animation. \*\*Category:\*\* Entities </td></tr> <tr><td> [EntityModelNodeOverrideEvent](./server.entitymodelnodeoverrideevent.md) </td><td> Event types an EntityModelNodeOverride instance can emit. See `EntityModelNodeOverrideEventPayloads` for payloads. \*\*Category:\*\* Events </td></tr> <tr><td> [GameServerEvent](./server.gameserverevent.md) </td><td> Event types a GameServer instance can emit to the global event router. See `GameServerEventPayloads` for the payloads. \*\*Category:\*\* Events </td></tr> <tr><td> [ParticleEmitterEvent](./server.particleemitterevent.md) </td><td> Event types a ParticleEmitter instance can emit. See `ParticleEmitterEventPayloads` for the payloads. \*\*Category:\*\* Events </td></tr> <tr><td> [PlayerCameraEvent](./server.playercameraevent.md) </td><td> Event types a PlayerCamera can emit. See `PlayerCameraEventPayloads` for the payloads. \*\*Category:\*\* Events </td></tr> <tr><td> [PlayerCameraMode](./server.playercameramode.md) </td><td> The mode of the camera. \*\*Category:\*\* Players </td></tr> <tr><td> [PlayerEvent](./server.playerevent.md) </td><td> Event types a Player can emit. See `PlayerEventPayloads` for the payloads. \*\*Category:\*\* Events </td></tr> <tr><td> [PlayerManagerEvent](./server.playermanagerevent.md) </td><td> Event types a PlayerManager can emit. See `PlayerManagerEventPayloads` for the payloads. \*\*Category:\*\* Events </td></tr> <tr><td> [PlayerUIEvent](./server.playeruievent.md) </td><td> Event types a PlayerUI can emit. See `PlayerUIEventPayloads` for the payloads. \*\*Category:\*\* Events </td></tr> <tr><td> [RigidBodyType](./server.rigidbodytype.md) </td><td> The types a RigidBody can be. \*\*Category:\*\* Physics </td></tr> <tr><td> [SceneUIEvent](./server.sceneuievent.md) </td><td> Event types a SceneUI instance can emit. See `SceneUIEventPayloads` for the payloads. \*\*Category:\*\* Events </td></tr> <tr><td> [SimulationEvent](./server.simulationevent.md) </td><td> Event types a Simulation instance can emit. See `SimulationEventPayloads` for the payloads. \*\*Category:\*\* Events </td></tr> <tr><td> [TelemetrySpanOperation](./server.telemetryspanoperation.md) </td><td> Performance telemetry span operation types. \*\*Category:\*\* Telemetry </td></tr> <tr><td> [WorldEvent](./server.worldevent.md) </td><td> Event types a World instance can emit. See `WorldEventPayloads` for the payloads. \*\*Category:\*\* Events </td></tr> <tr><td> [WorldLoopEvent](./server.worldloopevent.md) </td><td> Event types a WorldLoop instance can emit. See `WorldLoopEventPayloads` for the payloads. \*\*Category:\*\* Events </td></tr> <tr><td> [WorldManagerEvent](./server.worldmanagerevent.md) </td><td> Event types a WorldManager instance can emit to the global event router. See `WorldManagerEventPayloads` for the payloads. \*\*Category:\*\* Events </td></tr> </tbody></table> ## Functions <table><thead><tr><th> Function </th><th> Description </th></tr></thead> <tbody><tr><td> [startServer(init)](./server.startserver.md) </td><td> Boots the server runtime, runs your init callback, and starts accepting connections. Use for: normal server startup in your entry file. Do NOT use for: restarting an already running server within the same process. </td></tr> </tbody></table> ## Interfaces <table><thead><tr><th> Interface </th><th> Description </th></tr></thead> <tbody><tr><td> [AudioEventPayloads](./server.audioeventpayloads.md) </td><td> Event payloads for Audio emitted events. \*\*Category:\*\* Events </td></tr> <tr><td> [AudioOptions](./server.audiooptions.md) </td><td> Options for creating an Audio instance. Positional audio can be configured via `AudioOptions.attachedToEntity` or `AudioOptions.position`<!-- -->. Use for: configuring audio before calling `Audio.play`<!-- -->. Do NOT use for: runtime updates after playback starts; use `Audio.set*` methods. \*\*Category:\*\* Audio </td></tr> <tr><td> [BallColliderOptions](./server.ballcollideroptions.md) </td><td> The options for a ball collider. Use for: sphere-shaped colliders. Do NOT use for: other shapes; use the matching collider option type. \*\*Category:\*\* Physics </td></tr> <tr><td> [BaseColliderOptions](./server.basecollideroptions.md) </td><td> The base options for a collider. Use for: configuring colliders when creating entities or rigid bodies. Do NOT use for: runtime changes; use `Collider` methods instead. \*\*Category:\*\* Physics </td></tr> <tr><td> [BaseEntityControllerEventPayloads](./server.baseentitycontrollereventpayloads.md) </td><td> Event payloads for BaseEntityController emitted events. \*\*Category:\*\* Events </td></tr> <tr><td> [BaseEntityOptions](./server.baseentityoptions.md) </td><td> The base options for an entity. Use for: common entity configuration shared by block and model entities. Do NOT use for: runtime changes after spawn; use `Entity` setters instead. \*\*Category:\*\* Entities </td></tr> <tr><td> [BaseRigidBodyOptions](./server.baserigidbodyoptions.md) </td><td> The base options for a rigid body. Use for: initial rigid body configuration when creating entities or bodies. Do NOT use for: runtime changes; use `RigidBody` setter methods instead. \*\*Category:\*\* Physics </td></tr> <tr><td> [BlockColliderOptions](./server.blockcollideroptions.md) </td><td> The options for a block collider. Use for: axis-aligned box colliders. Do NOT use for: other shapes; use the matching collider option type. \*\*Category:\*\* Physics </td></tr> <tr><td> [BlockEntityOptions](./server.blockentityoptions.md) </td><td> The options for creating a block entity. Use for: entities rendered as blocks with a `BlockType` texture. Do NOT use for: model entities; use `ModelEntityOptions`<!-- -->. \*\*Category:\*\* Entities </td></tr> <tr><td> [BlockPlacement](./server.blockplacement.md) </td><td> A block placement in world coordinates. \*\*Category:\*\* Blocks </td></tr> <tr><td> [BlockTypeEventPayloads](./server.blocktypeeventpayloads.md) </td><td> Event payloads for BlockType emitted events. \*\*Category:\*\* Events </td></tr> <tr><td> [BlockTypeOptions](./server.blocktypeoptions.md) </td><td> Options for creating a block type instance. Use for: defining new block types to register in a `BlockTypeRegistry`<!-- -->. Do NOT use for: placing blocks; use `ChunkLattice.setBlock`<!-- -->. \*\*Category:\*\* Blocks </td></tr> <tr><td> [BlockTypeRegistryEventPayloads](./server.blocktyperegistryeventpayloads.md) </td><td> Event payloads for BlockTypeRegistry emitted events. \*\*Category:\*\* Events </td></tr> <tr><td> [CapsuleColliderOptions](./server.capsulecollideroptions.md) </td><td> The options for a capsule collider. Use for: capsule-shaped colliders. Do NOT use for: other shapes; use the matching collider option type. \*\*Category:\*\* Physics </td></tr> <tr><td> [ChatEventPayloads](./server.chateventpayloads.md) </td><td> Event payloads for ChatManager emitted events. \*\*Category:\*\* Events </td></tr> <tr><td> [ChunkLatticeEventPayloads](./server.chunklatticeeventpayloads.md) </td><td> Event payloads for ChunkLattice emitted events. \*\*Category:\*\* Events </td></tr> <tr><td> [ConeColliderOptions](./server.conecollideroptions.md) </td><td> The options for a cone collider. Use for: cone-shaped colliders. Do NOT use for: other shapes; use the matching collider option type. \*\*Category:\*\* Physics </td></tr> <tr><td> [CylinderColliderOptions](./server.cylindercollideroptions.md) </td><td> The options for a cylinder collider. Use for: cylinder-shaped colliders. Do NOT use for: other shapes; use the matching collider option type. \*\*Category:\*\* Physics </td></tr> <tr><td> [DefaultPlayerEntityControllerOptions](./server.defaultplayerentitycontrolleroptions.md) </td><td> Options for creating a DefaultPlayerEntityController instance. Use for: configuring default player movement and animation behavior at construction time. Do NOT use for: per-frame changes; override methods or adjust controller state instead. \*\*Category:\*\* Controllers </td></tr> <tr><td> [DynamicRigidBodyOptions](./server.dynamicrigidbodyoptions.md) </td><td> The options for a dynamic rigid body, also the default type. Use for: physics-driven bodies affected by forces and collisions. Do NOT use for: kinematic bodies; use the kinematic option types instead. \*\*Category:\*\* Physics </td></tr> <tr><td> [EntityEventPayloads](./server.entityeventpayloads.md) </td><td> Event payloads for Entity emitted events. \*\*Category:\*\* Events </td></tr> <tr><td> [EntityModelAnimationEventPayloads](./server.entitymodelanimationeventpayloads.md) </td><td> Event payloads for EntityModelAnimation emitted events. \*\*Category:\*\* Events </td></tr> <tr><td> [EntityModelAnimationOptions](./server.entitymodelanimationoptions.md) </td><td> The options for creating an EntityModelAnimation instance. \*\*Category:\*\* Entities </td></tr> <tr><td> [EntityModelNodeOverrideEventPayloads](./server.entitymodelnodeoverrideeventpayloads.md) </td><td> Event payloads for EntityModelNodeOverride emitted events. \*\*Category:\*\* Events </td></tr> <tr><td> [EntityModelNodeOverrideOptions](./server.entitymodelnodeoverrideoptions.md) </td><td> The options for creating an EntityModelNodeOverride instance. \*\*Category:\*\* Entities </td></tr> <tr><td> [EventPayloads](./server.eventpayloads.md) </td><td> The payloads for all events in the game server. \*\*Category:\*\* Events </td></tr> <tr><td> [FixedRigidBodyOptions](./server.fixedrigidbodyoptions.md) </td><td> The options for a fixed rigid body. Use for: immovable bodies (world geometry, static platforms). Do NOT use for: moving objects; use dynamic or kinematic options. \*\*Category:\*\* Physics </td></tr> <tr><td> [GameServerEventPayloads](./server.gameservereventpayloads.md) </td><td> Event payloads for GameServer emitted events. \*\*Category:\*\* Events </td></tr> <tr><td> [KinematicPositionRigidBodyOptions](./server.kinematicpositionrigidbodyoptions.md) </td><td> The options for a kinematic position rigid body. Use for: moving bodies by setting target positions each tick. Do NOT use for: physics-driven motion; use dynamic bodies instead. \*\*Category:\*\* Physics </td></tr> <tr><td> [KinematicVelocityRigidBodyOptions](./server.kinematicvelocityrigidbodyoptions.md) </td><td> The options for a kinematic velocity rigid body. Use for: moving bodies by setting velocities each tick. Do NOT use for: physics-driven motion; use dynamic bodies instead. \*\*Category:\*\* Physics </td></tr> <tr><td> [ModelEntityOptions](./server.modelentityoptions.md) </td><td> The options for creating a model entity. Use for: entities rendered from a glTF model. Do NOT use for: block entities; use `BlockEntityOptions`<!-- -->. \*\*Category:\*\* Entities </td></tr> <tr><td> [NoneColliderOptions](./server.nonecollideroptions.md) </td><td> The options for an error type "none" collider. Use for: explicitly disabling collider creation. Do NOT use for: physical interactions; no collider will be created. \*\*Category:\*\* Physics </td></tr> <tr><td> [Outline](./server.outline.md) </td><td> The options for rendering an outline. \*\*Category:\*\* Types </td></tr> <tr><td> [ParticleEmitterEventPayloads](./server.particleemittereventpayloads.md) </td><td> Event payloads for ParticleEmitter emitted events. \*\*Category:\*\* Events </td></tr> <tr><td> [ParticleEmitterOptions](./server.particleemitteroptions.md) </td><td> Options for creating a ParticleEmitter instance. Use for: configuring an emitter before calling `ParticleEmitter.spawn`<!-- -->. Do NOT use for: runtime updates after spawn; use `ParticleEmitter.set*` methods. \*\*Category:\*\* Particles </td></tr> <tr><td> [PlayerCameraEventPayloads](./server.playercameraeventpayloads.md) </td><td> Event payloads for PlayerCamera emitted events. \*\*Category:\*\* Events </td></tr> <tr><td> [PlayerEventPayloads](./server.playereventpayloads.md) </td><td> Event payloads for Player emitted events. \*\*Category:\*\* Events </td></tr> <tr><td> [PlayerManagerEventPayloads](./server.playermanagereventpayloads.md) </td><td> Event payloads for PlayerManager emitted events. \*\*Category:\*\* Events </td></tr> <tr><td> [PlayerUIEventPayloads](./server.playeruieventpayloads.md) </td><td> Event payloads for PlayerUI emitted events. \*\*Category:\*\* Events </td></tr> <tr><td> [QuaternionLike](./server.quaternionlike.md) </td><td> A quaternion. \*\*Category:\*\* Math </td></tr> <tr><td> [RgbColor](./server.rgbcolor.md) </td><td> An RGB color. `r`<!-- -->, `g`<!-- -->, and `b` expect a value between 0 and 255. \*\*Category:\*\* Types </td></tr> <tr><td> [RoundCylinderColliderOptions](./server.roundcylindercollideroptions.md) </td><td> The options for a round cylinder collider. Use for: rounded cylinder colliders. Do NOT use for: other shapes; use the matching collider option type. \*\*Category:\*\* Physics </td></tr> <tr><td> [SceneUIEventPayloads](./server.sceneuieventpayloads.md) </td><td> Event payloads for SceneUI emitted events. \*\*Category:\*\* Events </td></tr> <tr><td> [SceneUIOptions](./server.sceneuioptions.md) </td><td> Options for creating a SceneUI instance. Use for: configuring scene UI before `SceneUI.load`<!-- -->. Do NOT use for: runtime updates after load; use `SceneUI.set*` methods. \*\*Category:\*\* UI </td></tr> <tr><td> [SimulationEventPayloads](./server.simulationeventpayloads.md) </td><td> Event payloads for Simulation emitted events. \*\*Category:\*\* Events </td></tr> <tr><td> [SpdMatrix3](./server.spdmatrix3.md) </td><td> A 3x3 symmetric positive-definite matrix for spatial dynamics. \*\*Category:\*\* Math </td></tr> <tr><td> [TrimeshColliderOptions](./server.trimeshcollideroptions.md) </td><td> The options for a trimesh collider. Use for: mesh-based colliders from model data. Do NOT use for: simple primitives; prefer analytic shapes when possible. \*\*Category:\*\* Physics </td></tr> <tr><td> [Vector2Boolean](./server.vector2boolean.md) </td><td> A 2-dimensional vector of boolean values. \*\*Category:\*\* Math </td></tr> <tr><td> [Vector2Like](./server.vector2like.md) </td><td> A 2-dimensional vector. \*\*Category:\*\* Math </td></tr> <tr><td> [Vector3Boolean](./server.vector3boolean.md) </td><td> A 3-dimensional vector of boolean values. \*\*Category:\*\* Math </td></tr> <tr><td> [Vector3Like](./server.vector3like.md) </td><td> A 3-dimensional vector. \*\*Category:\*\* Math </td></tr> <tr><td> [VoxelsColliderOptions](./server.voxelscollideroptions.md) </td><td> The options for a voxels collider. Use for: voxel-based colliders (block volumes). Do NOT use for: simple primitives; prefer analytic shapes when possible. \*\*Category:\*\* Physics </td></tr> <tr><td> [WedgeColliderOptions](./server.wedgecollideroptions.md) </td><td> The options for a wedge collider. Use for: wedge-shaped colliders (inclined planes). Do NOT use for: other shapes; use the matching collider option type. \*\*Category:\*\* Physics </td></tr> <tr><td> [WorldEventPayloads](./server.worldeventpayloads.md) </td><td> Event payloads for World emitted events. \*\*Category:\*\* Events </td></tr> <tr><td> [WorldLoopEventPayloads](./server.worldloopeventpayloads.md) </td><td> Event payloads for WorldLoop emitted events. \*\*Category:\*\* Events </td></tr> <tr><td> [WorldManagerEventPayloads](./server.worldmanagereventpayloads.md) </td><td> Event payloads for WorldManager emitted events. \*\*Category:\*\* Events </td></tr> <tr><td> [WorldMap](./server.worldmap.md) </td><td> A map representation for initializing a world. Use for: importing static maps or tooling exports via `World.loadMap`<!-- -->. Do NOT use for: incremental edits while a world is live; use chunk/block APIs instead. </td></tr> <tr><td> [WorldOptions](./server.worldoptions.md) </td><td> Options for creating a World instance. Use for: initializing a world and its environment at construction time. Do NOT use for: runtime changes; use the corresponding `set*` methods on `World`<!-- -->. </td></tr> </tbody></table> ## Variables <table><thead><tr><th> Variable </th><th> Description </th></tr></thead> <tbody><tr><td> [BLOCK\_ROTATIONS](./server.block_rotations.md) </td><td> All valid block rotations, named as `{face pointing up}_{Y rotation degrees}`<!-- -->. N prefix = negative axis (e.g. `NZ_90` = -Z face up, rotated 90° around global Y). \*\*Category:\*\* Blocks </td></tr> <tr><td> [DEFAULT\_ENTITY\_RIGID\_BODY\_OPTIONS](./server.default_entity_rigid_body_options.md) </td><td> The default rigid body options for a model entity when `EntityOptions.rigidBodyOptions` is not provided. \*\*Category:\*\* Entities </td></tr> <tr><td> [SUPPORTED\_INPUTS](./server.supported_inputs.md) </td><td> The inputs that are included in `PlayerInput`<!-- -->. \*\*Category:\*\* Players </td></tr> </tbody></table> ## Type Aliases <table><thead><tr><th> Type Alias </th><th> Description </th></tr></thead> <tbody><tr><td> [BlockRotation](./server.blockrotation.md) </td><td> A block rotation from `BLOCK_ROTATIONS`<!-- -->. \*\*Category:\*\* Blocks </td></tr> <tr><td> [BlockTextureMetadata](./server.blocktexturemetadata.md) </td><td> Block texture metadata including UVs and rendering hints. \*\*Category:\*\* Textures </td></tr> <tr><td> [ColliderOptions](./server.collideroptions.md) </td><td> The options for a collider. Use for: providing collider definitions when creating rigid bodies or entities. Do NOT use for: runtime changes; use `Collider` APIs instead. \*\*Category:\*\* Physics </td></tr> <tr><td> [CollisionCallback](./server.collisioncallback.md) </td><td> A callback function that is called when a collision occurs. </td></tr> <tr><td> [CollisionGroups](./server.collisiongroups.md) </td><td> A set of collision groups. \*\*Category:\*\* Physics </td></tr> <tr><td> [CommandCallback](./server.commandcallback.md) </td><td> A callback function for a chat command. </td></tr> <tr><td> [ContactForceData](./server.contactforcedata.md) </td><td> Data for contact forces. \*\*Category:\*\* Physics </td></tr> <tr><td> [ContactManifold](./server.contactmanifold.md) </td><td> A contact manifold. \*\*Category:\*\* Physics </td></tr> <tr><td> [DecodedCollisionGroups](./server.decodedcollisiongroups.md) </td><td> A decoded set of collision groups represented as their string equivalents. \*\*Category:\*\* Physics </td></tr> <tr><td> [DefaultPlayerEntityOptions](./server.defaultplayerentityoptions.md) </td><td> Options for creating a DefaultPlayerEntity instance. Use for: customizing the default player avatar (for example cosmetic visibility). Do NOT use for: changing movement behavior; use `DefaultPlayerEntityControllerOptions`<!-- -->. \*\*Category:\*\* Entities </td></tr> <tr><td> [EntityOptions](./server.entityoptions.md) </td><td> The options for creating an `Entity` instance. Use for: constructing an entity; choose `BlockEntityOptions` or `ModelEntityOptions`<!-- -->. Do NOT use for: mutating entity state after spawn; use entity setters and methods. \*\*Category:\*\* Entities </td></tr> <tr><td> [FaceCallback](./server.facecallback.md) </td><td> Callback invoked as the entity rotates toward a target. </td></tr> <tr><td> [FaceCompleteCallback](./server.facecompletecallback.md) </td><td> Callback invoked when the entity finishes rotating to face a target. </td></tr> <tr><td> [FaceOptions](./server.faceoptions.md) </td><td> Options for `SimpleEntityController.face`<!-- -->. Use for: customizing a single `face()` call (callbacks, completion). Do NOT use for: persistent defaults; use `SimpleEntityControllerOptions`<!-- -->. \*\*Category:\*\* Controllers </td></tr> <tr><td> [FilterOptions](./server.filteroptions.md) </td><td> Filter options for raycasting and intersection queries. Use for: scoping physics queries to specific colliders or groups. Do NOT use for: persistent collision configuration; use `CollisionGroupsBuilder`<!-- -->. \*\*Category:\*\* Physics </td></tr> <tr><td> [IntersectionResult](./server.intersectionresult.md) </td><td> An intersection result. \*\*Category:\*\* Physics </td></tr> <tr><td> [ModelBoundingBox](./server.modelboundingbox.md) </td><td> A bounding box for a model. \*\*Category:\*\* Models </td></tr> <tr><td> [ModelTrimesh](./server.modeltrimesh.md) </td><td> A trimesh for a model. \*\*Category:\*\* Models </td></tr> <tr><td> [MoveCallback](./server.movecallback.md) </td><td> Callback invoked as the entity moves toward a target coordinate. </td></tr> <tr><td> [MoveCompleteCallback](./server.movecompletecallback.md) </td><td> Callback invoked when the entity reaches the target coordinate. </td></tr> <tr><td> [MoveOptions](./server.moveoptions.md) </td><td> Options for `SimpleEntityController.move`<!-- -->. Use for: customizing a single `move()` call. Do NOT use for: persistent defaults; use `SimpleEntityControllerOptions`<!-- -->. \*\*Category:\*\* Controllers </td></tr> <tr><td> [ParticleEmitterOrientation](./server.particleemitterorientation.md) </td><td> The orientation mode for particles. \*\*Category:\*\* Particles </td></tr> <tr><td> [PathfindAbortCallback](./server.pathfindabortcallback.md) </td><td> Callback invoked when pathfinding aborts. \*\*Category:\*\* Controllers </td></tr> <tr><td> [PathfindCompleteCallback](./server.pathfindcompletecallback.md) </td><td> Callback invoked when pathfinding completes and the entity reaches the target. \*\*Category:\*\* Controllers </td></tr> <tr><td> [PathfindingOptions](./server.pathfindingoptions.md) </td><td> Options for `PathfindingEntityController.pathfind`<!-- -->. Use for: configuring a single pathfinding request. Do NOT use for: per-tick recalculation; call `pathfind` sparingly. \*\*Category:\*\* Controllers </td></tr> <tr><td> [PlayerCameraOrientation](./server.playercameraorientation.md) </td><td> The camera orientation state of a Player. \*\*Category:\*\* Players </td></tr> <tr><td> [PlayerCosmetics](./server.playercosmetics.md) </td><td> The cosmetics of a player. \*\*Category:\*\* Networking </td></tr> <tr><td> [PlayerCosmeticsEquippedItem](./server.playercosmeticsequippeditem.md) </td><td> An equipped item of a player's cosmetics. \*\*Category:\*\* Networking </td></tr> <tr><td> [PlayerCosmeticSlot](./server.playercosmeticslot.md) </td><td> The slots used for player cosmetics. \*\*Category:\*\* Entities </td></tr> <tr><td> [PlayerEntityOptions](./server.playerentityoptions.md) </td><td> Options for creating a PlayerEntity instance. Use for: creating a player-bound entity (requires `player`<!-- -->). Do NOT use for: non-player entities; use `EntityOptions`<!-- -->. \*\*Category:\*\* Entities </td></tr> <tr><td> [PlayerInput](./server.playerinput.md) </td><td> The input state of a `Player`<!-- -->. \*\*Category:\*\* Players </td></tr> <tr><td> [RawCollider](./server.rawcollider.md) </td><td> A raw collider object from the Rapier physics engine. \*\*Category:\*\* Physics </td></tr> <tr><td> [RawCollisionGroups](./server.rawcollisiongroups.md) </td><td> A raw set of collision groups represented as a 32-bit number. \*\*Category:\*\* Physics </td></tr> <tr><td> [RawShape](./server.rawshape.md) </td><td> A raw shape object from the Rapier physics engine. \*\*Category:\*\* Physics </td></tr> <tr><td> [RaycastHit](./server.raycasthit.md) </td><td> A hit result from a raycast. \*\*Category:\*\* Physics </td></tr> <tr><td> [RaycastOptions](./server.raycastoptions.md) </td><td> Options for raycasting. Use for: configuring `Simulation.raycast` calls. Do NOT use for: caching long-term query state; build per query. \*\*Category:\*\* Physics </td></tr> <tr><td> [RigidBodyAdditionalMassProperties](./server.rigidbodyadditionalmassproperties.md) </td><td> Additional mass properties for a RigidBody. \*\*Category:\*\* Physics </td></tr> <tr><td> [RigidBodyOptions](./server.rigidbodyoptions.md) </td><td> The options for a rigid body. Use for: constructing rigid bodies; choose an option type matching `RigidBodyType`<!-- -->. Do NOT use for: runtime changes; use `RigidBody` methods instead. \*\*Category:\*\* Physics </td></tr> <tr><td> [TelemetrySpanOptions](./server.telemetryspanoptions.md) </td><td> Options for creating a telemetry span. Use for: configuring `Telemetry.startSpan` calls. Do NOT use for: long-lived spans; keep spans short and scoped to a task. \*\*Category:\*\* Telemetry </td></tr> <tr><td> [WaypointMoveCompleteCallback](./server.waypointmovecompletecallback.md) </td><td> Callback invoked when the entity finishes moving to a waypoint. </td></tr> <tr><td> [WaypointMoveSkippedCallback](./server.waypointmoveskippedcallback.md) </td><td> Callback invoked when a waypoint is skipped due to timeout. </td></tr> </tbody></table>