hytopia 0.2.11 → 0.3.0-dev.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/docs/server.audio.md +7 -1
- package/docs/{server.audioeventtype.md → server.audioevent.md} +4 -4
- package/docs/server.audioeventpayloads._audio.pause_.md +15 -0
- package/docs/server.audioeventpayloads._audio.play_.md +15 -0
- package/docs/server.audioeventpayloads._audio.play_restart_.md +15 -0
- package/docs/server.audioeventpayloads._audio.set_attached_to_entity_.md +16 -0
- package/docs/server.audioeventpayloads._audio.set_detune_.md +16 -0
- package/docs/server.audioeventpayloads._audio.set_distortion_.md +16 -0
- package/docs/server.audioeventpayloads._audio.set_playback_rate_.md +16 -0
- package/docs/server.audioeventpayloads._audio.set_position_.md +16 -0
- package/docs/server.audioeventpayloads._audio.set_reference_distance_.md +16 -0
- package/docs/server.audioeventpayloads._audio.set_volume_.md +16 -0
- package/docs/server.audioeventpayloads.md +228 -0
- package/docs/server.baseentitycontroller.md +4 -138
- package/docs/server.baseentitycontrollerevent.md +117 -0
- package/docs/server.baseentitycontrollereventpayloads.attach.md +15 -0
- package/docs/server.baseentitycontrollereventpayloads.despawn.md +15 -0
- package/docs/server.baseentitycontrollereventpayloads.detach.md +15 -0
- package/docs/server.baseentitycontrollereventpayloads.md +152 -0
- package/docs/server.baseentitycontrollereventpayloads.spawn.md +15 -0
- package/docs/server.baseentitycontrollereventpayloads.tick.md +16 -0
- package/docs/server.baseentitycontrollereventpayloads.tickwithplayerinput.md +18 -0
- package/docs/server.blocktype.md +7 -39
- package/docs/server.blocktypeevent.md +61 -0
- package/docs/server.blocktypeeventpayloads._block_type.entity_collision_.md +19 -0
- package/docs/server.blocktypeeventpayloads._block_type.entity_contact_force_.md +17 -0
- package/docs/server.blocktypeeventpayloads.md +76 -0
- package/docs/server.blocktyperegistry.md +7 -1
- package/docs/{server.blocktyperegistryeventtype.md → server.blocktyperegistryevent.md} +4 -4
- package/docs/server.blocktyperegistryeventpayloads._block_type_registry.register_block_type_.md +17 -0
- package/docs/server.blocktyperegistryeventpayloads.md +57 -0
- package/docs/server.chatevent.md +61 -0
- package/docs/server.chateventpayloads._chat.broadcast_message_.md +17 -0
- package/docs/server.chateventpayloads._chat.player_message_.md +17 -0
- package/docs/server.chateventpayloads.md +76 -0
- package/docs/server.chatmanager.md +6 -45
- package/docs/server.chunk.md +7 -1
- package/docs/{server.chunkeventtype.md → server.chunkevent.md} +4 -4
- package/docs/server.chunkeventpayloads._chunk.despawn_.md +15 -0
- package/docs/server.chunkeventpayloads._chunk.set_block_.md +18 -0
- package/docs/server.chunkeventpayloads._chunk.spawn_.md +15 -0
- package/docs/server.chunkeventpayloads.md +95 -0
- package/docs/server.collider.md +2 -1
- package/docs/server.entity.md +4 -133
- package/docs/{server.entityeventtype.md → server.entityevent.md} +74 -4
- package/docs/server.entityeventpayloads._entity.block_collision_.md +19 -0
- package/docs/server.entityeventpayloads._entity.block_contact_force_.md +17 -0
- package/docs/server.entityeventpayloads._entity.despawn_.md +15 -0
- package/docs/server.entityeventpayloads._entity.entity_collision_.md +19 -0
- package/docs/server.entityeventpayloads._entity.entity_contact_force_.md +17 -0
- package/docs/server.entityeventpayloads._entity.set_model_animations_playback_rate_.md +16 -0
- package/docs/server.entityeventpayloads._entity.set_model_hidden_nodes_.md +16 -0
- package/docs/server.entityeventpayloads._entity.set_opacity_.md +16 -0
- package/docs/server.entityeventpayloads._entity.set_parent_.md +17 -0
- package/docs/server.entityeventpayloads._entity.set_tint_color_.md +16 -0
- package/docs/server.entityeventpayloads._entity.spawn_.md +15 -0
- package/docs/server.entityeventpayloads._entity.start_model_looped_animations_.md +16 -0
- package/docs/server.entityeventpayloads._entity.start_model_oneshot_animations_.md +16 -0
- package/docs/server.entityeventpayloads._entity.stop_model_animations_.md +16 -0
- package/docs/server.entityeventpayloads._entity.tick_.md +16 -0
- package/docs/server.entityeventpayloads._entity.update_position_.md +16 -0
- package/docs/server.entityeventpayloads._entity.update_rotation_.md +16 -0
- package/docs/server.entityeventpayloads.md +361 -0
- package/docs/server.eventpayloads.md +15 -0
- package/docs/server.eventrouter.emit.md +4 -4
- package/docs/server.eventrouter.emit_1.md +63 -0
- package/docs/server.eventrouter.emitwithglobal.md +69 -0
- package/docs/server.eventrouter.emitwithglobal_1.md +63 -0
- package/docs/server.eventrouter.emitwithworld.md +85 -0
- package/docs/server.eventrouter.emitwithworld_1.md +77 -0
- package/docs/{server.eventrouter.prependon.md → server.eventrouter.final_1.md} +4 -10
- package/docs/server.eventrouter.haslisteners.md +55 -0
- package/docs/server.eventrouter.listenercount.md +55 -0
- package/docs/server.eventrouter.listeners.md +55 -0
- package/docs/server.eventrouter.md +40 -95
- package/docs/server.eventrouter.off.md +3 -3
- package/docs/{server.eventrouter.prependonce.md → server.eventrouter.off_1.md} +4 -10
- package/docs/server.eventrouter.offall.md +4 -4
- package/docs/server.eventrouter.on.md +3 -3
- package/docs/server.eventrouter.on_1.md +63 -0
- package/docs/server.eventrouter.once.md +3 -3
- package/docs/server.eventrouter.once_1.md +63 -0
- package/docs/{server.gameservereventtype.md → server.gameserverevent.md} +4 -4
- package/docs/server.gameservereventpayloads._gameserver.start_.md +15 -0
- package/docs/server.gameservereventpayloads._gameserver.stop_.md +15 -0
- package/docs/server.gameservereventpayloads.md +76 -0
- package/docs/server.light.md +7 -1
- package/docs/{server.lighteventtype.md → server.lightevent.md} +4 -18
- package/docs/server.lighteventpayloads._light.despawn_.md +15 -0
- package/docs/server.lighteventpayloads._light.set_angle_.md +16 -0
- package/docs/server.lighteventpayloads._light.set_attached_to_entity_.md +16 -0
- package/docs/server.lighteventpayloads._light.set_color_.md +16 -0
- package/docs/server.lighteventpayloads._light.set_distance_.md +16 -0
- package/docs/server.lighteventpayloads._light.set_intensity_.md +16 -0
- package/docs/server.lighteventpayloads._light.set_offset_.md +16 -0
- package/docs/server.lighteventpayloads._light.set_penumbra_.md +16 -0
- package/docs/server.lighteventpayloads._light.set_position_.md +16 -0
- package/docs/server.lighteventpayloads._light.set_tracked_entity_.md +16 -0
- package/docs/server.lighteventpayloads._light.set_tracked_position_.md +16 -0
- package/docs/server.lighteventpayloads._light.spawn_.md +15 -0
- package/docs/server.lighteventpayloads.md +266 -0
- package/docs/server.md +201 -84
- package/docs/server.player.md +7 -1
- package/docs/server.playercamera.md +7 -1
- package/docs/{server.playercameraeventtype.md → server.playercameraevent.md} +4 -4
- package/docs/server.playercameraeventpayloads._player_camera.look_at_entity_.md +16 -0
- package/docs/server.playercameraeventpayloads._player_camera.look_at_position_.md +16 -0
- package/docs/server.playercameraeventpayloads._player_camera.set_attached_to_entity_.md +16 -0
- package/docs/server.playercameraeventpayloads._player_camera.set_attached_to_position_.md +16 -0
- package/docs/server.playercameraeventpayloads._player_camera.set_film_offset_.md +16 -0
- package/docs/server.playercameraeventpayloads._player_camera.set_forward_offset_.md +16 -0
- package/docs/server.playercameraeventpayloads._player_camera.set_fov_.md +16 -0
- package/docs/server.playercameraeventpayloads._player_camera.set_mode_.md +16 -0
- package/docs/server.playercameraeventpayloads._player_camera.set_model_hidden_nodes_.md +16 -0
- package/docs/server.playercameraeventpayloads._player_camera.set_offset_.md +16 -0
- package/docs/server.playercameraeventpayloads._player_camera.set_tracked_entity_.md +16 -0
- package/docs/server.playercameraeventpayloads._player_camera.set_tracked_position_.md +16 -0
- package/docs/server.playercameraeventpayloads._player_camera.set_zoom_.md +16 -0
- package/docs/server.playercameraeventpayloads.md +285 -0
- package/docs/{server.playereventtype.md → server.playerevent.md} +4 -4
- package/docs/server.playereventpayloads._player.chat_message_send_.md +16 -0
- package/docs/server.playereventpayloads._player.joined_world_.md +16 -0
- package/docs/server.playereventpayloads._player.left_world_.md +16 -0
- package/docs/server.playereventpayloads._player.request_sync_.md +17 -0
- package/docs/server.playereventpayloads.md +114 -0
- package/docs/server.playermanager.md +4 -0
- package/docs/server.playermanagereventpayloads._player_manager.player_connected_.md +15 -0
- package/docs/server.playermanagereventpayloads._player_manager.player_disconnected_.md +15 -0
- package/docs/server.playermanagereventpayloads.md +76 -0
- package/docs/server.playerui.md +6 -1
- package/docs/{server.playeruieventtype.md → server.playeruievent.md} +4 -4
- package/docs/server.playeruieventpayloads._player_ui.load_.md +16 -0
- package/docs/server.playeruieventpayloads._player_ui.lock_pointer_.md +16 -0
- package/docs/server.playeruieventpayloads._player_ui.send_data_.md +16 -0
- package/docs/server.playeruieventpayloads.md +95 -0
- package/docs/server.rigidbody.md +2 -1
- package/docs/server.sceneui.md +7 -1
- package/docs/server.sceneuievent.md +131 -0
- package/docs/server.sceneuieventpayloads._scene_ui.load_.md +15 -0
- package/docs/server.sceneuieventpayloads._scene_ui.set_attached_to_entity_.md +16 -0
- package/docs/server.sceneuieventpayloads._scene_ui.set_offset_.md +16 -0
- package/docs/server.sceneuieventpayloads._scene_ui.set_position_.md +16 -0
- package/docs/server.sceneuieventpayloads._scene_ui.set_state_.md +16 -0
- package/docs/server.sceneuieventpayloads._scene_ui.set_view_distance_.md +16 -0
- package/docs/server.sceneuieventpayloads._scene_ui.unload_.md +15 -0
- package/docs/server.sceneuieventpayloads.md +171 -0
- package/docs/server.simulation.md +6 -1
- package/docs/server.simulationevent.md +89 -0
- package/docs/server.simulationeventpayloads._simulation.debug_raycast_.md +19 -0
- package/docs/server.simulationeventpayloads._simulation.debug_render_.md +17 -0
- package/docs/server.simulationeventpayloads._simulation.step_end_.md +16 -0
- package/docs/server.simulationeventpayloads._simulation.step_start_.md +16 -0
- package/docs/server.simulationeventpayloads.md +114 -0
- package/docs/server.world.md +7 -60
- package/docs/server.worldevent.md +131 -0
- package/docs/server.worldeventpayloads._world.set_ambient_light_color_.md +16 -0
- package/docs/server.worldeventpayloads._world.set_ambient_light_intensity_.md +16 -0
- package/docs/server.worldeventpayloads._world.set_directional_light_color_.md +16 -0
- package/docs/server.worldeventpayloads._world.set_directional_light_intensity_.md +16 -0
- package/docs/server.worldeventpayloads._world.set_directional_light_position_.md +16 -0
- package/docs/server.worldeventpayloads._world.start_.md +16 -0
- package/docs/server.worldeventpayloads._world.stop_.md +16 -0
- package/docs/server.worldeventpayloads.md +171 -0
- package/docs/server.worldloop.md +6 -1
- package/docs/{server.worldloopeventtype.md → server.worldloopevent.md} +4 -4
- package/docs/server.worldloopeventpayloads._world_loop.start_.md +15 -0
- package/docs/server.worldloopeventpayloads._world_loop.stop_.md +15 -0
- package/docs/server.worldloopeventpayloads._world_loop.tick_end_.md +16 -0
- package/docs/server.worldloopeventpayloads._world_loop.tick_error_.md +16 -0
- package/docs/server.worldloopeventpayloads._world_loop.tick_start_.md +16 -0
- package/docs/server.worldloopeventpayloads.md +133 -0
- package/examples/ai-agents/index.ts +9 -13
- package/examples/ai-agents/src/BaseAgent.ts +4 -2
- package/examples/ai-agents/src/behaviors/FishingBehavior.ts +2 -2
- package/examples/ai-agents/src/behaviors/FollowBehavior.ts +3 -3
- package/examples/ai-agents/src/behaviors/MiningBehavior.ts +2 -2
- package/examples/ai-agents/src/behaviors/PathfindingBehavior.ts +7 -7
- package/examples/big-world/index.ts +5 -4
- package/examples/block-entity/index.ts +12 -10
- package/examples/child-entity/index.ts +5 -4
- package/examples/custom-ui/index.ts +5 -4
- package/examples/entity-controller/index.ts +5 -4
- package/examples/entity-spawn/index.ts +8 -6
- package/examples/hole-in-wall-game/index.ts +9 -7
- package/examples/lighting/index.ts +5 -4
- package/examples/pathfinding/index.ts +5 -4
- package/examples/payload-game/index.ts +27 -23
- package/examples/wall-dodge-game/index.ts +8 -6
- package/examples/zombies-fps/classes/EnemyEntity.ts +10 -4
- package/examples/zombies-fps/classes/GamePlayerEntity.ts +7 -2
- package/examples/zombies-fps/classes/enemies/RipperEntity.ts +2 -1
- package/examples/zombies-fps/index.ts +5 -5
- package/package.json +1 -1
- package/server.api.json +9422 -7805
- package/server.d.ts +748 -472
- package/server.js +89 -89
- package/docs/server.audioeventpayload.md +0 -118
- package/docs/server.audioeventpayload.pause.audio.md +0 -11
- package/docs/server.audioeventpayload.pause.md +0 -53
- package/docs/server.audioeventpayload.play.audio.md +0 -11
- package/docs/server.audioeventpayload.play.md +0 -53
- package/docs/server.audioeventpayload.playrestart.audio.md +0 -11
- package/docs/server.audioeventpayload.playrestart.md +0 -53
- package/docs/server.audioeventpayload.setattachedtoentity.audio.md +0 -11
- package/docs/server.audioeventpayload.setattachedtoentity.entity.md +0 -11
- package/docs/server.audioeventpayload.setattachedtoentity.md +0 -70
- package/docs/server.audioeventpayload.setdetune.audio.md +0 -11
- package/docs/server.audioeventpayload.setdetune.detune.md +0 -11
- package/docs/server.audioeventpayload.setdetune.md +0 -70
- package/docs/server.audioeventpayload.setdistortion.audio.md +0 -11
- package/docs/server.audioeventpayload.setdistortion.distortion.md +0 -11
- package/docs/server.audioeventpayload.setdistortion.md +0 -70
- package/docs/server.audioeventpayload.setplaybackrate.audio.md +0 -11
- package/docs/server.audioeventpayload.setplaybackrate.md +0 -70
- package/docs/server.audioeventpayload.setplaybackrate.playbackrate.md +0 -11
- package/docs/server.audioeventpayload.setposition.audio.md +0 -11
- package/docs/server.audioeventpayload.setposition.md +0 -70
- package/docs/server.audioeventpayload.setposition.position.md +0 -11
- package/docs/server.audioeventpayload.setreferencedistance.audio.md +0 -11
- package/docs/server.audioeventpayload.setreferencedistance.md +0 -70
- package/docs/server.audioeventpayload.setreferencedistance.referencedistance.md +0 -11
- package/docs/server.audioeventpayload.setvolume.audio.md +0 -11
- package/docs/server.audioeventpayload.setvolume.md +0 -70
- package/docs/server.audioeventpayload.setvolume.volume.md +0 -11
- package/docs/server.baseentitycontroller.onattach.md +0 -13
- package/docs/server.baseentitycontroller.ondespawn.md +0 -13
- package/docs/server.baseentitycontroller.ondetach.md +0 -13
- package/docs/server.baseentitycontroller.onspawn.md +0 -13
- package/docs/server.baseentitycontroller.ontick.md +0 -13
- package/docs/server.baseentitycontroller.ontickwithplayerinput.md +0 -13
- package/docs/server.blocktype.onentitycollision.md +0 -18
- package/docs/server.blocktype.onentitycontactforce.md +0 -18
- package/docs/server.blocktyperegistryeventpayload.md +0 -37
- package/docs/server.blocktyperegistryeventpayload.registerblocktype.blocktype.md +0 -11
- package/docs/server.blocktyperegistryeventpayload.registerblocktype.blocktyperegistry.md +0 -11
- package/docs/server.blocktyperegistryeventpayload.registerblocktype.id.md +0 -11
- package/docs/server.blocktyperegistryeventpayload.registerblocktype.md +0 -87
- package/docs/server.chateventpayload.md +0 -46
- package/docs/server.chateventpayload.sendbroadcastmessage.color.md +0 -11
- package/docs/server.chateventpayload.sendbroadcastmessage.md +0 -91
- package/docs/server.chateventpayload.sendbroadcastmessage.message.md +0 -11
- package/docs/server.chateventpayload.sendbroadcastmessage.playerid.md +0 -11
- package/docs/server.chateventpayload.sendplayermessage.color.md +0 -11
- package/docs/server.chateventpayload.sendplayermessage.md +0 -89
- package/docs/server.chateventpayload.sendplayermessage.message.md +0 -11
- package/docs/server.chateventpayload.sendplayermessage.player.md +0 -11
- package/docs/server.chateventtype.md +0 -61
- package/docs/server.chatmanager.onbroadcastmessage.md +0 -13
- package/docs/server.chunkeventpayload.despawn.chunk.md +0 -11
- package/docs/server.chunkeventpayload.despawn.md +0 -53
- package/docs/server.chunkeventpayload.md +0 -55
- package/docs/server.chunkeventpayload.setblock.blocktypeid.md +0 -11
- package/docs/server.chunkeventpayload.setblock.chunk.md +0 -11
- package/docs/server.chunkeventpayload.setblock.globalcoordinate.md +0 -11
- package/docs/server.chunkeventpayload.setblock.localcoordinate.md +0 -11
- package/docs/server.chunkeventpayload.setblock.md +0 -104
- package/docs/server.chunkeventpayload.spawn.chunk.md +0 -11
- package/docs/server.chunkeventpayload.spawn.md +0 -53
- package/docs/server.entity.onblockcollision.md +0 -18
- package/docs/server.entity.onblockcontactforce.md +0 -18
- package/docs/server.entity.ondespawn.md +0 -13
- package/docs/server.entity.onentitycollision.md +0 -18
- package/docs/server.entity.onentitycontactforce.md +0 -18
- package/docs/server.entity.onspawn.md +0 -13
- package/docs/server.entity.ontick.md +0 -13
- package/docs/server.entityeventpayload.despawn.entity.md +0 -11
- package/docs/server.entityeventpayload.despawn.md +0 -53
- package/docs/server.entityeventpayload.md +0 -136
- package/docs/server.entityeventpayload.setmodelanimationsplaybackrate.entity.md +0 -11
- package/docs/server.entityeventpayload.setmodelanimationsplaybackrate.md +0 -70
- package/docs/server.entityeventpayload.setmodelanimationsplaybackrate.playbackrate.md +0 -11
- package/docs/server.entityeventpayload.setmodelhiddennodes.entity.md +0 -11
- package/docs/server.entityeventpayload.setmodelhiddennodes.md +0 -70
- package/docs/server.entityeventpayload.setmodelhiddennodes.modelhiddennodes.md +0 -11
- package/docs/server.entityeventpayload.setopacity.entity.md +0 -11
- package/docs/server.entityeventpayload.setopacity.md +0 -70
- package/docs/server.entityeventpayload.setopacity.opacity.md +0 -11
- package/docs/server.entityeventpayload.setparent.entity.md +0 -11
- package/docs/server.entityeventpayload.setparent.md +0 -87
- package/docs/server.entityeventpayload.setparent.parent.md +0 -11
- package/docs/server.entityeventpayload.setparent.parentnodename.md +0 -11
- package/docs/server.entityeventpayload.settintcolor.entity.md +0 -11
- package/docs/server.entityeventpayload.settintcolor.md +0 -70
- package/docs/server.entityeventpayload.settintcolor.tintcolor.md +0 -11
- package/docs/server.entityeventpayload.spawn.entity.md +0 -11
- package/docs/server.entityeventpayload.spawn.md +0 -53
- package/docs/server.entityeventpayload.startmodelloopedanimations.animations.md +0 -11
- package/docs/server.entityeventpayload.startmodelloopedanimations.entity.md +0 -11
- package/docs/server.entityeventpayload.startmodelloopedanimations.md +0 -70
- package/docs/server.entityeventpayload.startmodeloneshotanimations.animations.md +0 -11
- package/docs/server.entityeventpayload.startmodeloneshotanimations.entity.md +0 -11
- package/docs/server.entityeventpayload.startmodeloneshotanimations.md +0 -70
- package/docs/server.entityeventpayload.stopmodelanimations.animations.md +0 -11
- package/docs/server.entityeventpayload.stopmodelanimations.entity.md +0 -11
- package/docs/server.entityeventpayload.stopmodelanimations.md +0 -70
- package/docs/server.entityeventpayload.updateposition.entity.md +0 -11
- package/docs/server.entityeventpayload.updateposition.md +0 -70
- package/docs/server.entityeventpayload.updateposition.position.md +0 -11
- package/docs/server.entityeventpayload.updaterotation.entity.md +0 -11
- package/docs/server.entityeventpayload.updaterotation.md +0 -70
- package/docs/server.entityeventpayload.updaterotation.rotation.md +0 -11
- package/docs/server.eventrouter._constructor_.md +0 -49
- package/docs/server.eventrouter.logallevents.md +0 -13
- package/docs/server.eventrouter.logeventspayloads.md +0 -13
- package/docs/server.eventrouter.logignoreeventprefixes.md +0 -13
- package/docs/server.eventrouter.logignoreevents.md +0 -13
- package/docs/server.eventrouter.logunlistenedevents.md +0 -13
- package/docs/server.eventrouter.serverinstance.md +0 -13
- package/docs/server.gameservereventpayload.md +0 -46
- package/docs/server.gameservereventpayload.start.md +0 -53
- package/docs/server.gameservereventpayload.start.startedatms.md +0 -11
- package/docs/server.gameservereventpayload.stop.md +0 -53
- package/docs/server.gameservereventpayload.stop.stoppedatms.md +0 -11
- package/docs/server.lighteventpayload.despawn.light.md +0 -11
- package/docs/server.lighteventpayload.despawn.md +0 -53
- package/docs/server.lighteventpayload.md +0 -136
- package/docs/server.lighteventpayload.setangle.angle.md +0 -11
- package/docs/server.lighteventpayload.setangle.light.md +0 -11
- package/docs/server.lighteventpayload.setangle.md +0 -70
- package/docs/server.lighteventpayload.setattachedtoentity.entity.md +0 -11
- package/docs/server.lighteventpayload.setattachedtoentity.light.md +0 -11
- package/docs/server.lighteventpayload.setattachedtoentity.md +0 -70
- package/docs/server.lighteventpayload.setcolor.color.md +0 -11
- package/docs/server.lighteventpayload.setcolor.light.md +0 -11
- package/docs/server.lighteventpayload.setcolor.md +0 -70
- package/docs/server.lighteventpayload.setdistance.distance.md +0 -11
- package/docs/server.lighteventpayload.setdistance.light.md +0 -11
- package/docs/server.lighteventpayload.setdistance.md +0 -70
- package/docs/server.lighteventpayload.setintensity.intensity.md +0 -11
- package/docs/server.lighteventpayload.setintensity.light.md +0 -11
- package/docs/server.lighteventpayload.setintensity.md +0 -70
- package/docs/server.lighteventpayload.setoffset.light.md +0 -11
- package/docs/server.lighteventpayload.setoffset.md +0 -70
- package/docs/server.lighteventpayload.setoffset.offset.md +0 -11
- package/docs/server.lighteventpayload.setpenumbra.light.md +0 -11
- package/docs/server.lighteventpayload.setpenumbra.md +0 -70
- package/docs/server.lighteventpayload.setpenumbra.penumbra.md +0 -11
- package/docs/server.lighteventpayload.setposition.light.md +0 -11
- package/docs/server.lighteventpayload.setposition.md +0 -70
- package/docs/server.lighteventpayload.setposition.position.md +0 -11
- package/docs/server.lighteventpayload.settrackedentity.entity.md +0 -11
- package/docs/server.lighteventpayload.settrackedentity.light.md +0 -11
- package/docs/server.lighteventpayload.settrackedentity.md +0 -70
- package/docs/server.lighteventpayload.settrackedposition.light.md +0 -11
- package/docs/server.lighteventpayload.settrackedposition.md +0 -70
- package/docs/server.lighteventpayload.settrackedposition.position.md +0 -11
- package/docs/server.lighteventpayload.spawn.light.md +0 -11
- package/docs/server.lighteventpayload.spawn.md +0 -53
- package/docs/server.playercameraeventpayload.lookatentity.entity.md +0 -11
- package/docs/server.playercameraeventpayload.lookatentity.md +0 -70
- package/docs/server.playercameraeventpayload.lookatentity.playercamera.md +0 -11
- package/docs/server.playercameraeventpayload.lookatposition.md +0 -70
- package/docs/server.playercameraeventpayload.lookatposition.playercamera.md +0 -11
- package/docs/server.playercameraeventpayload.lookatposition.position.md +0 -11
- package/docs/server.playercameraeventpayload.md +0 -145
- package/docs/server.playercameraeventpayload.setattachedtoentity.entity.md +0 -11
- package/docs/server.playercameraeventpayload.setattachedtoentity.md +0 -70
- package/docs/server.playercameraeventpayload.setattachedtoentity.playercamera.md +0 -11
- package/docs/server.playercameraeventpayload.setattachedtoposition.md +0 -70
- package/docs/server.playercameraeventpayload.setattachedtoposition.playercamera.md +0 -11
- package/docs/server.playercameraeventpayload.setattachedtoposition.position.md +0 -11
- package/docs/server.playercameraeventpayload.setfilmoffset.filmoffset.md +0 -11
- package/docs/server.playercameraeventpayload.setfilmoffset.md +0 -70
- package/docs/server.playercameraeventpayload.setfilmoffset.playercamera.md +0 -11
- package/docs/server.playercameraeventpayload.setforwardoffset.forwardoffset.md +0 -11
- package/docs/server.playercameraeventpayload.setforwardoffset.md +0 -70
- package/docs/server.playercameraeventpayload.setforwardoffset.playercamera.md +0 -11
- package/docs/server.playercameraeventpayload.setfov.fov.md +0 -11
- package/docs/server.playercameraeventpayload.setfov.md +0 -70
- package/docs/server.playercameraeventpayload.setfov.playercamera.md +0 -11
- package/docs/server.playercameraeventpayload.setmode.md +0 -70
- package/docs/server.playercameraeventpayload.setmode.mode.md +0 -11
- package/docs/server.playercameraeventpayload.setmode.playercamera.md +0 -11
- package/docs/server.playercameraeventpayload.setmodelhiddennodes.md +0 -70
- package/docs/server.playercameraeventpayload.setmodelhiddennodes.modelhiddennodes.md +0 -11
- package/docs/server.playercameraeventpayload.setmodelhiddennodes.playercamera.md +0 -11
- package/docs/server.playercameraeventpayload.setoffset.md +0 -70
- package/docs/server.playercameraeventpayload.setoffset.offset.md +0 -11
- package/docs/server.playercameraeventpayload.setoffset.playercamera.md +0 -11
- package/docs/server.playercameraeventpayload.settrackedentity.entity.md +0 -11
- package/docs/server.playercameraeventpayload.settrackedentity.md +0 -70
- package/docs/server.playercameraeventpayload.settrackedentity.playercamera.md +0 -11
- package/docs/server.playercameraeventpayload.settrackedposition.md +0 -70
- package/docs/server.playercameraeventpayload.settrackedposition.playercamera.md +0 -11
- package/docs/server.playercameraeventpayload.settrackedposition.position.md +0 -11
- package/docs/server.playercameraeventpayload.setzoom.md +0 -70
- package/docs/server.playercameraeventpayload.setzoom.playercamera.md +0 -11
- package/docs/server.playercameraeventpayload.setzoom.zoom.md +0 -11
- package/docs/server.playereventpayload.chatmessagesend.md +0 -70
- package/docs/server.playereventpayload.chatmessagesend.message.md +0 -11
- package/docs/server.playereventpayload.chatmessagesend.player.md +0 -11
- package/docs/server.playereventpayload.joinedworld.md +0 -70
- package/docs/server.playereventpayload.joinedworld.player.md +0 -11
- package/docs/server.playereventpayload.joinedworld.world.md +0 -11
- package/docs/server.playereventpayload.leftworld.md +0 -70
- package/docs/server.playereventpayload.leftworld.player.md +0 -11
- package/docs/server.playereventpayload.leftworld.world.md +0 -11
- package/docs/server.playereventpayload.md +0 -64
- package/docs/server.playereventpayload.requestsync.md +0 -87
- package/docs/server.playereventpayload.requestsync.player.md +0 -11
- package/docs/server.playereventpayload.requestsync.receivedat.md +0 -11
- package/docs/server.playereventpayload.requestsync.receivedatms.md +0 -11
- package/docs/server.playeruieventpayload.load.htmluri.md +0 -11
- package/docs/server.playeruieventpayload.load.md +0 -70
- package/docs/server.playeruieventpayload.load.playerui.md +0 -11
- package/docs/server.playeruieventpayload.lockpointer.lock.md +0 -11
- package/docs/server.playeruieventpayload.lockpointer.md +0 -70
- package/docs/server.playeruieventpayload.lockpointer.playerui.md +0 -11
- package/docs/server.playeruieventpayload.md +0 -55
- package/docs/server.playeruieventpayload.senddata.data.md +0 -11
- package/docs/server.playeruieventpayload.senddata.md +0 -70
- package/docs/server.playeruieventpayload.senddata.playerui.md +0 -11
- package/docs/server.world.eventrouter.md +0 -13
- package/docs/server.world.onplayerjoin.md +0 -13
- package/docs/server.world.onplayerleave.md +0 -13
- package/docs/server.worldloopeventpayload.md +0 -73
- package/docs/server.worldloopeventpayload.start.md +0 -53
- package/docs/server.worldloopeventpayload.start.worldloop.md +0 -11
- package/docs/server.worldloopeventpayload.stop.md +0 -53
- package/docs/server.worldloopeventpayload.stop.worldloop.md +0 -11
- package/docs/server.worldloopeventpayload.tickend.md +0 -70
- package/docs/server.worldloopeventpayload.tickend.tickdurationms.md +0 -11
- package/docs/server.worldloopeventpayload.tickend.worldloop.md +0 -11
- package/docs/server.worldloopeventpayload.tickerror.error.md +0 -11
- package/docs/server.worldloopeventpayload.tickerror.md +0 -70
- package/docs/server.worldloopeventpayload.tickerror.worldloop.md +0 -11
- package/docs/server.worldloopeventpayload.tickstart.md +0 -70
- package/docs/server.worldloopeventpayload.tickstart.tickdeltams.md +0 -11
- package/docs/server.worldloopeventpayload.tickstart.worldloop.md +0 -11
package/server.d.ts
CHANGED
@@ -1,4 +1,6 @@
|
|
1
1
|
import type { AnyPacket } from '@hytopia.com/server-protocol';
|
2
|
+
import type { ErrorEvent as ErrorEvent_2 } from 'ws';
|
3
|
+
import EventEmitter from 'eventemitter3';
|
2
4
|
import http from 'http';
|
3
5
|
import type { IncomingMessage } from 'http';
|
4
6
|
import type { InputSchema } from '@hytopia.com/server-protocol';
|
@@ -7,7 +9,7 @@ import type { LobbyMembershipDto } from '@hytopia.com/creative-lib/dist/impl/get
|
|
7
9
|
import protocol from '@hytopia.com/server-protocol';
|
8
10
|
import RAPIER from '@dimforge/rapier3d-compat-simd';
|
9
11
|
import { SdpMatrix3 } from '@dimforge/rapier3d-compat-simd';
|
10
|
-
import type { Socket
|
12
|
+
import type { Socket } from 'net';
|
11
13
|
import { WebSocket as WebSocket_2 } from 'ws';
|
12
14
|
|
13
15
|
/**
|
@@ -18,6 +20,11 @@ import { WebSocket as WebSocket_2 } from 'ws';
|
|
18
20
|
* They support a variety of configuration options through
|
19
21
|
* the {@link AudioOptions} constructor argument.
|
20
22
|
*
|
23
|
+
* <h2>Events</h2>
|
24
|
+
*
|
25
|
+
* This class is an EventRouter, and instances of it emit
|
26
|
+
* events with payloads listed under {@link AudioEventPayloads}
|
27
|
+
*
|
21
28
|
* @example
|
22
29
|
* ```typescript
|
23
30
|
* (new Audio({
|
@@ -27,9 +34,11 @@ import { WebSocket as WebSocket_2 } from 'ws';
|
|
27
34
|
* })).play(world);
|
28
35
|
* ```
|
29
36
|
*
|
37
|
+
* @eventProperty
|
38
|
+
*
|
30
39
|
* @public
|
31
40
|
*/
|
32
|
-
export declare class Audio implements protocol.Serializable {
|
41
|
+
export declare class Audio extends EventRouter implements protocol.Serializable {
|
33
42
|
|
34
43
|
|
35
44
|
|
@@ -140,59 +149,69 @@ export declare class Audio implements protocol.Serializable {
|
|
140
149
|
|
141
150
|
}
|
142
151
|
|
143
|
-
/**
|
144
|
-
export declare
|
145
|
-
|
152
|
+
/** Event types an Audio instance can emit. See {@link AudioEventPayloads} for the payloads. @public */
|
153
|
+
export declare enum AudioEvent {
|
154
|
+
PAUSE = "AUDIO.PAUSE",
|
155
|
+
PLAY = "AUDIO.PLAY",
|
156
|
+
PLAY_RESTART = "AUDIO.PLAY_RESTART",
|
157
|
+
SET_ATTACHED_TO_ENTITY = "AUDIO.SET_ATTACHED_TO_ENTITY",
|
158
|
+
SET_DETUNE = "AUDIO.SET_DETUNE",
|
159
|
+
SET_DISTORTION = "AUDIO.SET_DISTORTION",
|
160
|
+
SET_POSITION = "AUDIO.SET_POSITION",
|
161
|
+
SET_PLAYBACK_RATE = "AUDIO.SET_PLAYBACK_RATE",
|
162
|
+
SET_REFERENCE_DISTANCE = "AUDIO.SET_REFERENCE_DISTANCE",
|
163
|
+
SET_VOLUME = "AUDIO.SET_VOLUME"
|
164
|
+
}
|
165
|
+
|
166
|
+
/** Event payloads for Audio emitted events. @public */
|
167
|
+
export declare interface AudioEventPayloads {
|
168
|
+
/** Emitted when the audio is paused. */
|
169
|
+
[AudioEvent.PAUSE]: {
|
146
170
|
audio: Audio;
|
147
|
-
}
|
148
|
-
|
171
|
+
};
|
172
|
+
/** Emitted when the audio is played. */
|
173
|
+
[AudioEvent.PLAY]: {
|
149
174
|
audio: Audio;
|
150
|
-
}
|
151
|
-
|
175
|
+
};
|
176
|
+
/** Emitted when the audio is restarted. */
|
177
|
+
[AudioEvent.PLAY_RESTART]: {
|
152
178
|
audio: Audio;
|
153
|
-
}
|
154
|
-
|
179
|
+
};
|
180
|
+
/** Emitted when the audio is attached to an entity. */
|
181
|
+
[AudioEvent.SET_ATTACHED_TO_ENTITY]: {
|
155
182
|
audio: Audio;
|
156
183
|
entity: Entity | undefined;
|
157
|
-
}
|
158
|
-
|
184
|
+
};
|
185
|
+
/** Emitted when the audio's detune is set. */
|
186
|
+
[AudioEvent.SET_DETUNE]: {
|
159
187
|
audio: Audio;
|
160
188
|
detune: number;
|
161
|
-
}
|
162
|
-
|
189
|
+
};
|
190
|
+
/** Emitted when the audio's distortion is set. */
|
191
|
+
[AudioEvent.SET_DISTORTION]: {
|
163
192
|
audio: Audio;
|
164
193
|
distortion: number;
|
165
|
-
}
|
166
|
-
|
194
|
+
};
|
195
|
+
/** Emitted when the audio's position is set. */
|
196
|
+
[AudioEvent.SET_POSITION]: {
|
167
197
|
audio: Audio;
|
168
198
|
position: Vector3Like;
|
169
|
-
}
|
170
|
-
|
199
|
+
};
|
200
|
+
/** Emitted when the audio's playback rate is set. */
|
201
|
+
[AudioEvent.SET_PLAYBACK_RATE]: {
|
171
202
|
audio: Audio;
|
172
203
|
playbackRate: number;
|
173
|
-
}
|
174
|
-
|
204
|
+
};
|
205
|
+
/** Emitted when the audio's reference distance is set. */
|
206
|
+
[AudioEvent.SET_REFERENCE_DISTANCE]: {
|
175
207
|
audio: Audio;
|
176
208
|
referenceDistance: number;
|
177
|
-
}
|
178
|
-
|
209
|
+
};
|
210
|
+
/** Emitted when the audio's volume is set. */
|
211
|
+
[AudioEvent.SET_VOLUME]: {
|
179
212
|
audio: Audio;
|
180
213
|
volume: number;
|
181
|
-
}
|
182
|
-
}
|
183
|
-
|
184
|
-
/** Event types an Audio instance can emit. @public */
|
185
|
-
export declare enum AudioEventType {
|
186
|
-
PAUSE = "AUDIO.PAUSE",
|
187
|
-
PLAY = "AUDIO.PLAY",
|
188
|
-
PLAY_RESTART = "AUDIO.PLAY_RESTART",
|
189
|
-
SET_ATTACHED_TO_ENTITY = "AUDIO.SET_ATTACHED_TO_ENTITY",
|
190
|
-
SET_DETUNE = "AUDIO.SET_DETUNE",
|
191
|
-
SET_DISTORTION = "AUDIO.SET_DISTORTION",
|
192
|
-
SET_POSITION = "AUDIO.SET_POSITION",
|
193
|
-
SET_PLAYBACK_RATE = "AUDIO.SET_PLAYBACK_RATE",
|
194
|
-
SET_REFERENCE_DISTANCE = "AUDIO.SET_REFERENCE_DISTANCE",
|
195
|
-
SET_VOLUME = "AUDIO.SET_VOLUME"
|
214
|
+
};
|
196
215
|
}
|
197
216
|
|
198
217
|
/**
|
@@ -298,44 +317,14 @@ export declare interface AudioOptions {
|
|
298
317
|
* niche behavior of one controller for many entities that
|
299
318
|
* behave in unison.
|
300
319
|
*
|
320
|
+
* <h2>Events</h2>
|
321
|
+
*
|
322
|
+
* This class is an EventRouter, and instances of it emit
|
323
|
+
* events with payloads listed under {@link BaseEntityControllerEventPayloads}
|
324
|
+
*
|
301
325
|
* @public
|
302
326
|
*/
|
303
|
-
export declare abstract class BaseEntityController {
|
304
|
-
/**
|
305
|
-
* A function that is called every tick. Useful for implementing
|
306
|
-
* tick logic without writing a new entity controller class.
|
307
|
-
*/
|
308
|
-
onTick?: (entity: Entity, deltaTimeMs: number) => void;
|
309
|
-
/**
|
310
|
-
* A function that is called every tick with player input by a
|
311
|
-
* PlayerEntity with this controller attached. Useful for implementing
|
312
|
-
* tick logic without writing a new entity controller class.
|
313
|
-
*/
|
314
|
-
onTickWithPlayerInput?: (entity: PlayerEntity, input: PlayerInput, cameraOrientation: PlayerCameraOrientation, deltaTimeMs: number) => void;
|
315
|
-
/**
|
316
|
-
* A function that is called when the controller is attached to an entity.
|
317
|
-
* Useful for implementing attach logic without writing a
|
318
|
-
* new entity controller class.
|
319
|
-
*/
|
320
|
-
onAttach?: (entity: Entity) => void;
|
321
|
-
/**
|
322
|
-
* A function that is called when the controlled entity is despawned.
|
323
|
-
* Useful for implementing despawn logic without writing a
|
324
|
-
* new entity controller class.
|
325
|
-
*/
|
326
|
-
onDespawn?: (entity: Entity) => void;
|
327
|
-
/**
|
328
|
-
* A function that is called when the controller is detached from an entity.
|
329
|
-
* Useful for implementing detach logic without writing a
|
330
|
-
* new entity controller class.
|
331
|
-
*/
|
332
|
-
onDetach?: (entity: Entity) => void;
|
333
|
-
/**
|
334
|
-
* A function that is called when the controlled entity is spawned.
|
335
|
-
* Useful for implementing spawn logic without writing a
|
336
|
-
* new entity controller class.
|
337
|
-
*/
|
338
|
-
onSpawn?: (entity: Entity) => void;
|
327
|
+
export declare abstract class BaseEntityController extends EventRouter {
|
339
328
|
/**
|
340
329
|
* Override this method to handle the attachment of an entity
|
341
330
|
* to your entity controller.
|
@@ -379,6 +368,48 @@ export declare abstract class BaseEntityController {
|
|
379
368
|
tick(entity: Entity, deltaTimeMs: number): void;
|
380
369
|
}
|
381
370
|
|
371
|
+
/** Event types a BaseEntityController instance can emit. See {@link BaseEntityControllerEventPayloads} for the payloads. @public */
|
372
|
+
export declare enum BaseEntityControllerEvent {
|
373
|
+
ATTACH = "attach",
|
374
|
+
DESPAWN = "despawn",
|
375
|
+
DETACH = "detach",
|
376
|
+
SPAWN = "spawn",
|
377
|
+
TICK = "tick",
|
378
|
+
TICK_WITH_PLAYER_INPUT = "tickWithPlayerInput"
|
379
|
+
}
|
380
|
+
|
381
|
+
/** Event payloads for BaseEntityController emitted events. @public */
|
382
|
+
export declare interface BaseEntityControllerEventPayloads {
|
383
|
+
/** Emitted when an entity is attached to the controller. */
|
384
|
+
[BaseEntityControllerEvent.ATTACH]: {
|
385
|
+
entity: Entity;
|
386
|
+
};
|
387
|
+
/** Emitted when an entity is despawned. */
|
388
|
+
[BaseEntityControllerEvent.DESPAWN]: {
|
389
|
+
entity: Entity;
|
390
|
+
};
|
391
|
+
/** Emitted when an entity is detached from the controller. */
|
392
|
+
[BaseEntityControllerEvent.DETACH]: {
|
393
|
+
entity: Entity;
|
394
|
+
};
|
395
|
+
/** Emitted when an entity is spawned. */
|
396
|
+
[BaseEntityControllerEvent.SPAWN]: {
|
397
|
+
entity: Entity;
|
398
|
+
};
|
399
|
+
/** Emitted when an entity is ticked. */
|
400
|
+
[BaseEntityControllerEvent.TICK]: {
|
401
|
+
entity: Entity;
|
402
|
+
deltaTimeMs: number;
|
403
|
+
};
|
404
|
+
/** Emitted when an entity is ticked with player input. */
|
405
|
+
[BaseEntityControllerEvent.TICK_WITH_PLAYER_INPUT]: {
|
406
|
+
entity: PlayerEntity;
|
407
|
+
input: PlayerInput;
|
408
|
+
cameraOrientation: PlayerCameraOrientation;
|
409
|
+
deltaTimeMs: number;
|
410
|
+
};
|
411
|
+
}
|
412
|
+
|
382
413
|
/**
|
383
414
|
* Represents a block in a world.
|
384
415
|
*
|
@@ -417,6 +448,11 @@ export declare class Block {
|
|
417
448
|
* allowing you to create custom blocks with unique visual representations
|
418
449
|
* and behaviors.
|
419
450
|
*
|
451
|
+
* <h2>Events</h2>
|
452
|
+
*
|
453
|
+
* This class is an EventRouter, and instances of it emit
|
454
|
+
* events with payloads listed under {@link BlockTypeEventPayloads}
|
455
|
+
*
|
420
456
|
* @example
|
421
457
|
* ```typescript
|
422
458
|
* const stoneBlockTypeId = 10;
|
@@ -432,33 +468,7 @@ export declare class Block {
|
|
432
468
|
*
|
433
469
|
* @public
|
434
470
|
*/
|
435
|
-
export declare class BlockType implements protocol.Serializable {
|
436
|
-
/**
|
437
|
-
* A callback function that is invoked when an entity collides with blocks of this type.
|
438
|
-
*
|
439
|
-
* @remarks
|
440
|
-
* This must be set before a block of this type is created.
|
441
|
-
* If it is set after a block is created, only future created
|
442
|
-
* blocks of this type will have the callback set.
|
443
|
-
*
|
444
|
-
* @param blockType - The block type the collision is for.
|
445
|
-
* @param entity - The entity that collided with the block type.
|
446
|
-
* @param started - Whether the collision started.
|
447
|
-
*/
|
448
|
-
onEntityCollision?: ((blockType: BlockType, entity: Entity, started: boolean) => void) | ((blockType: BlockType, entity: Entity, started: boolean, colliderHandleA: number, colliderHandleB: number) => void);
|
449
|
-
/**
|
450
|
-
* A callback function that is invoked when an entity contacts a block of this type.
|
451
|
-
*
|
452
|
-
* @remarks
|
453
|
-
* This must be set before a block of this type is created.
|
454
|
-
* If it is set after a block is created, only future created
|
455
|
-
* blocks of this type will have the callback set.
|
456
|
-
*
|
457
|
-
* @param blockType - The block type the contact is for.
|
458
|
-
* @param entity - The entity that contacted the block type.
|
459
|
-
* @param contactForceData - The contact force data.
|
460
|
-
*/
|
461
|
-
onEntityContactForce?: (blockType: BlockType, entity: Entity, contactForceData: ContactForceData) => void;
|
471
|
+
export declare class BlockType extends EventRouter implements protocol.Serializable {
|
462
472
|
|
463
473
|
|
464
474
|
|
@@ -486,6 +496,30 @@ export declare class BlockType implements protocol.Serializable {
|
|
486
496
|
|
487
497
|
}
|
488
498
|
|
499
|
+
/** Event types a BlockType instance can emit. See {@link BlockTypeEventPayloads} for the payloads. @public */
|
500
|
+
export declare enum BlockTypeEvent {
|
501
|
+
ENTITY_COLLISION = "BLOCK_TYPE.ENTITY_COLLISION",
|
502
|
+
ENTITY_CONTACT_FORCE = "BLOCK_TYPE.ENTITY_CONTACT_FORCE"
|
503
|
+
}
|
504
|
+
|
505
|
+
/** Event payloads for BlockType emitted events. @public */
|
506
|
+
export declare interface BlockTypeEventPayloads {
|
507
|
+
/** Emitted when an entity collides with a block type. */
|
508
|
+
[BlockTypeEvent.ENTITY_COLLISION]: {
|
509
|
+
blockType: BlockType;
|
510
|
+
entity: Entity;
|
511
|
+
started: boolean;
|
512
|
+
colliderHandleA: number;
|
513
|
+
colliderHandleB: number;
|
514
|
+
};
|
515
|
+
/** Emitted when an entity's contact force is applied to a block type. */
|
516
|
+
[BlockTypeEvent.ENTITY_CONTACT_FORCE]: {
|
517
|
+
blockType: BlockType;
|
518
|
+
entity: Entity;
|
519
|
+
contactForceData: ContactForceData;
|
520
|
+
};
|
521
|
+
}
|
522
|
+
|
489
523
|
/** Options for creating a block type instance. @public */
|
490
524
|
export declare interface BlockTypeOptions {
|
491
525
|
/** The unique numeric identifier for the block type. */
|
@@ -509,6 +543,11 @@ export declare interface BlockTypeOptions {
|
|
509
543
|
* type registry allows you to register and retrieve block
|
510
544
|
* types by their unique id for a world.
|
511
545
|
*
|
546
|
+
* <h2>Events</h2>
|
547
|
+
*
|
548
|
+
* This class is an EventRouter, and instances of it emit
|
549
|
+
* events with payloads listed under {@link BlockTypeRegistryEventPayloads}
|
550
|
+
*
|
512
551
|
* @example
|
513
552
|
* ```typescript
|
514
553
|
* world.blockTypeRegistry.registerGenericBlockType({
|
@@ -520,7 +559,7 @@ export declare interface BlockTypeOptions {
|
|
520
559
|
*
|
521
560
|
* @public
|
522
561
|
*/
|
523
|
-
export declare class BlockTypeRegistry implements protocol.Serializable {
|
562
|
+
export declare class BlockTypeRegistry extends EventRouter implements protocol.Serializable {
|
524
563
|
|
525
564
|
|
526
565
|
|
@@ -551,38 +590,41 @@ export declare class BlockTypeRegistry implements protocol.Serializable {
|
|
551
590
|
|
552
591
|
}
|
553
592
|
|
554
|
-
/**
|
555
|
-
export declare
|
556
|
-
|
593
|
+
/** Event types a BlockTypeRegistry instance can emit. See {@link BlockTypeRegistryEventPayloads} for the payloads. @public */
|
594
|
+
export declare enum BlockTypeRegistryEvent {
|
595
|
+
REGISTER_BLOCK_TYPE = "BLOCK_TYPE_REGISTRY.REGISTER_BLOCK_TYPE"
|
596
|
+
}
|
597
|
+
|
598
|
+
/** Event payloads for BlockTypeRegistry emitted events. @public */
|
599
|
+
export declare interface BlockTypeRegistryEventPayloads {
|
600
|
+
/** Emitted when a block type is registered. */
|
601
|
+
[BlockTypeRegistryEvent.REGISTER_BLOCK_TYPE]: {
|
557
602
|
blockTypeRegistry: BlockTypeRegistry;
|
558
603
|
id: number;
|
559
604
|
blockType: BlockType;
|
560
|
-
}
|
605
|
+
};
|
561
606
|
}
|
562
607
|
|
563
|
-
/** Event types a
|
564
|
-
export declare enum
|
565
|
-
|
608
|
+
/** Event types a ChatManager instance can emit. See {@link ChatEventPayloads} for the payloads. @public */
|
609
|
+
export declare enum ChatEvent {
|
610
|
+
BROADCAST_MESSAGE = "CHAT.BROADCAST_MESSAGE",
|
611
|
+
PLAYER_MESSAGE = "CHAT.PLAYER_MESSAGE"
|
566
612
|
}
|
567
613
|
|
568
|
-
/**
|
569
|
-
export declare
|
570
|
-
|
614
|
+
/** Event payloads for ChatManager emitted events. @public */
|
615
|
+
export declare interface ChatEventPayloads {
|
616
|
+
/** Emitted when a broadcast message is sent. */
|
617
|
+
[ChatEvent.BROADCAST_MESSAGE]: {
|
618
|
+
player: Player | undefined;
|
571
619
|
message: string;
|
572
620
|
color?: string;
|
573
|
-
|
574
|
-
|
575
|
-
|
621
|
+
};
|
622
|
+
/** Emitted when a message is sent to a specific player. */
|
623
|
+
[ChatEvent.PLAYER_MESSAGE]: {
|
576
624
|
player: Player;
|
577
625
|
message: string;
|
578
626
|
color?: string;
|
579
|
-
}
|
580
|
-
}
|
581
|
-
|
582
|
-
/** Event types a ChatManager instance can emit. @public */
|
583
|
-
export declare enum ChatEventType {
|
584
|
-
SEND_BROADCAST_MESSAGE = "CHAT.SEND_BROADCAST_MESSAGE",
|
585
|
-
SEND_PLAYER_MESSAGE = "CHAT.SEND_PLAYER_MESSAGE"
|
627
|
+
};
|
586
628
|
}
|
587
629
|
|
588
630
|
/**
|
@@ -596,6 +638,11 @@ export declare enum ChatEventType {
|
|
596
638
|
* commands that can be used in chat to execute game
|
597
639
|
* logic.
|
598
640
|
*
|
641
|
+
* <h2>Events</h2>
|
642
|
+
*
|
643
|
+
* This class is an EventRouter, and instances of it emit
|
644
|
+
* events with payloads listed under {@link ChatEventPayloads}
|
645
|
+
*
|
599
646
|
* @example
|
600
647
|
* ```typescript
|
601
648
|
* world.chatManager.registerCommand('/kick', (player, args, message) => {
|
@@ -613,16 +660,7 @@ export declare enum ChatEventType {
|
|
613
660
|
*
|
614
661
|
* @public
|
615
662
|
*/
|
616
|
-
export declare class ChatManager {
|
617
|
-
/**
|
618
|
-
* A function that is called when a broadcast (public) message is sent
|
619
|
-
* by a player or the server.
|
620
|
-
*
|
621
|
-
* @param player - The player that sent the message, or undefined if the message is a system message from the server.
|
622
|
-
* @param message - The message to send.
|
623
|
-
* @param color - The color of the message as a hex color code, excluding #.
|
624
|
-
*/
|
625
|
-
onBroadcastMessage?: (player: Player | undefined, message: string, color?: string) => void;
|
663
|
+
export declare class ChatManager extends EventRouter {
|
626
664
|
|
627
665
|
|
628
666
|
|
@@ -662,7 +700,6 @@ export declare class ChatManager {
|
|
662
700
|
sendPlayerMessage(player: Player, message: string, color?: string): void;
|
663
701
|
|
664
702
|
|
665
|
-
|
666
703
|
}
|
667
704
|
|
668
705
|
/**
|
@@ -685,6 +722,11 @@ export declare class ChatManager {
|
|
685
722
|
* associated with the {@link World} the chunk belongs to. A block type id of 0
|
686
723
|
* is used to represent no block. Removing a block is done by .setBlock(localCoordinate, 0).
|
687
724
|
*
|
725
|
+
* <h2>Events</h2>
|
726
|
+
*
|
727
|
+
* This class is an EventRouter, and instances of it emit
|
728
|
+
* events with payloads listed under {@link ChunkEventPayloads}
|
729
|
+
*
|
688
730
|
* @example
|
689
731
|
* ```typescript
|
690
732
|
* // Assume we previously registered a stone block with type id of 10..
|
@@ -697,7 +739,7 @@ export declare class ChatManager {
|
|
697
739
|
*
|
698
740
|
* @public
|
699
741
|
*/
|
700
|
-
export declare class Chunk implements protocol.Serializable {
|
742
|
+
export declare class Chunk extends EventRouter implements protocol.Serializable {
|
701
743
|
|
702
744
|
|
703
745
|
|
@@ -779,27 +821,30 @@ export declare class Chunk implements protocol.Serializable {
|
|
779
821
|
|
780
822
|
}
|
781
823
|
|
782
|
-
/**
|
783
|
-
export declare
|
784
|
-
|
824
|
+
/** Event types a Chunk instance can emit. See {@link ChunkEventPayloads} for the payloads. @public */
|
825
|
+
export declare enum ChunkEvent {
|
826
|
+
DESPAWN = "CHUNK.DESPAWN",
|
827
|
+
SET_BLOCK = "CHUNK.SET_BLOCK",
|
828
|
+
SPAWN = "CHUNK.SPAWN"
|
829
|
+
}
|
830
|
+
|
831
|
+
/** Event payloads for Chunk emitted events. @public */
|
832
|
+
export declare interface ChunkEventPayloads {
|
833
|
+
/** Emitted when a chunk is despawned. */
|
834
|
+
[ChunkEvent.DESPAWN]: {
|
785
835
|
chunk: Chunk;
|
786
|
-
}
|
787
|
-
|
836
|
+
};
|
837
|
+
/** Emitted when a block is set in a chunk. */
|
838
|
+
[ChunkEvent.SET_BLOCK]: {
|
788
839
|
chunk: Chunk;
|
789
840
|
globalCoordinate: Vector3Like;
|
790
841
|
localCoordinate: Vector3Like;
|
791
842
|
blockTypeId: number;
|
792
|
-
}
|
793
|
-
|
843
|
+
};
|
844
|
+
/** Emitted when a chunk is spawned. */
|
845
|
+
[ChunkEvent.SPAWN]: {
|
794
846
|
chunk: Chunk;
|
795
|
-
}
|
796
|
-
}
|
797
|
-
|
798
|
-
/** Event types a Chunk instance can emit. @public */
|
799
|
-
export declare enum ChunkEventType {
|
800
|
-
DESPAWN = "CHUNK.DESPAWN",
|
801
|
-
SET_BLOCK = "CHUNK.SET_BLOCK",
|
802
|
-
SPAWN = "CHUNK.SPAWN"
|
847
|
+
};
|
803
848
|
}
|
804
849
|
|
805
850
|
/**
|
@@ -888,7 +933,7 @@ export declare enum CoefficientCombineRule {
|
|
888
933
|
*
|
889
934
|
* @public
|
890
935
|
*/
|
891
|
-
export declare class Collider {
|
936
|
+
export declare class Collider extends EventRouter {
|
892
937
|
|
893
938
|
|
894
939
|
|
@@ -1259,6 +1304,11 @@ export declare const DEFAULT_ENTITY_RIGID_BODY_OPTIONS: RigidBodyOptions;
|
|
1259
1304
|
* allow full control of their rigid body and attached collider
|
1260
1305
|
* dynamics.
|
1261
1306
|
*
|
1307
|
+
* <h2>Events</h2>
|
1308
|
+
*
|
1309
|
+
* This class is an EventRouter, and instances of it emit
|
1310
|
+
* events with payloads listed under {@link EntityEventPayloads}
|
1311
|
+
*
|
1262
1312
|
* @example
|
1263
1313
|
* ```typescript
|
1264
1314
|
* const spider = new Entity({
|
@@ -1286,66 +1336,6 @@ export declare const DEFAULT_ENTITY_RIGID_BODY_OPTIONS: RigidBodyOptions;
|
|
1286
1336
|
* @public
|
1287
1337
|
*/
|
1288
1338
|
export declare class Entity extends RigidBody implements protocol.Serializable {
|
1289
|
-
/**
|
1290
|
-
* A function that is called when the entity collides with a block.
|
1291
|
-
*
|
1292
|
-
* @remarks
|
1293
|
-
* This must be set before the entity is spawned.
|
1294
|
-
*
|
1295
|
-
* @param entity - The Entity instance the collision is for.
|
1296
|
-
* @param blockType - The block type that the entity collided with.
|
1297
|
-
* @param started - Whether the collision started or ended.
|
1298
|
-
*/
|
1299
|
-
onBlockCollision?: ((entity: Entity, blockType: BlockType, started: boolean) => void) | ((entity: Entity, blockType: BlockType, started: boolean, colliderHandleA: number, colliderHandleB: number) => void);
|
1300
|
-
/**
|
1301
|
-
* A function that is called when the entity collides with a block.
|
1302
|
-
*
|
1303
|
-
* @remarks
|
1304
|
-
* This must be set before the entity is spawned.
|
1305
|
-
*
|
1306
|
-
* @param entity - The Entity instance the collision is for.
|
1307
|
-
* @param blockType - The block type that the entity collided with.
|
1308
|
-
* @param contactForceData - The contact force data.
|
1309
|
-
*/
|
1310
|
-
onBlockContactForce?: (entity: Entity, blockType: BlockType, contactForceData: ContactForceData) => void;
|
1311
|
-
/**
|
1312
|
-
* A function that is called when the entity collides with another entity.
|
1313
|
-
*
|
1314
|
-
* @remarks
|
1315
|
-
* This must be set before the entity is spawned.
|
1316
|
-
*
|
1317
|
-
* @param entity - The Entity instance the collision is for.
|
1318
|
-
* @param otherEntity - The other entity that the entity collided with.
|
1319
|
-
* @param started - Whether the collision started or ended.
|
1320
|
-
*/
|
1321
|
-
onEntityCollision?: ((entity: Entity, otherEntity: Entity, started: boolean) => void) | ((entity: Entity, otherEntity: Entity, started: boolean, colliderHandleA: number, colliderHandleB: number) => void);
|
1322
|
-
/**
|
1323
|
-
* A function that is called when the entity contacts another entity.
|
1324
|
-
*
|
1325
|
-
* @remarks
|
1326
|
-
* This must be set before the entity is spawned.
|
1327
|
-
*
|
1328
|
-
* @param entity - The Entity instance the collision is for.
|
1329
|
-
* @param otherEntity - The other entity that the entity collided with.
|
1330
|
-
* @param contactForceData - The contact force data.
|
1331
|
-
*/
|
1332
|
-
onEntityContactForce?: (entity: Entity, otherEntity: Entity, contactForceData: ContactForceData) => void;
|
1333
|
-
/**
|
1334
|
-
* A function that is called when the entity is spawned.
|
1335
|
-
* @param entity - The Entity instance that spawned.
|
1336
|
-
*/
|
1337
|
-
onSpawn?: (entity: Entity) => void;
|
1338
|
-
/**
|
1339
|
-
* A function that is called when the entity is despawned.
|
1340
|
-
* @param entity - The Entity instance that despawned.
|
1341
|
-
*/
|
1342
|
-
onDespawn?: (entity: Entity) => void;
|
1343
|
-
/**
|
1344
|
-
* A function that is called every tick.
|
1345
|
-
* @param entity - The Entity instance that ticked.
|
1346
|
-
* @param tickDeltaMs - The delta time in milliseconds since the last tick.
|
1347
|
-
*/
|
1348
|
-
onTick?: (entity: Entity, tickDeltaMs: number) => void;
|
1349
1339
|
|
1350
1340
|
|
1351
1341
|
|
@@ -1511,71 +1501,121 @@ export declare class Entity extends RigidBody implements protocol.Serializable {
|
|
1511
1501
|
|
1512
1502
|
}
|
1513
1503
|
|
1514
|
-
/**
|
1515
|
-
export declare
|
1516
|
-
|
1504
|
+
/** Event types an Entity instance can emit. See {@link EntityEventPayloads} for the payloads. @public */
|
1505
|
+
export declare enum EntityEvent {
|
1506
|
+
BLOCK_COLLISION = "ENTITY.BLOCK_COLLISION",
|
1507
|
+
BLOCK_CONTACT_FORCE = "ENTITY.BLOCK_CONTACT_FORCE",
|
1508
|
+
DESPAWN = "ENTITY.DESPAWN",
|
1509
|
+
ENTITY_COLLISION = "ENTITY.ENTITY_COLLISION",
|
1510
|
+
ENTITY_CONTACT_FORCE = "ENTITY.ENTITY_CONTACT_FORCE",
|
1511
|
+
SET_MODEL_ANIMATIONS_PLAYBACK_RATE = "ENTITY.SET_MODEL_ANIMATIONS_PLAYBACK_RATE",
|
1512
|
+
SET_MODEL_HIDDEN_NODES = "ENTITY.SET_MODEL_HIDDEN_NODES",
|
1513
|
+
SET_OPACITY = "ENTITY.SET_OPACITY",
|
1514
|
+
SET_PARENT = "ENTITY.SET_PARENT",
|
1515
|
+
SET_TINT_COLOR = "ENTITY.SET_TINT_COLOR",
|
1516
|
+
SPAWN = "ENTITY.SPAWN",
|
1517
|
+
START_MODEL_LOOPED_ANIMATIONS = "ENTITY.START_MODEL_LOOPED_ANIMATIONS",
|
1518
|
+
START_MODEL_ONESHOT_ANIMATIONS = "ENTITY.START_MODEL_ONESHOT_ANIMATIONS",
|
1519
|
+
STOP_MODEL_ANIMATIONS = "ENTITY.STOP_MODEL_ANIMATIONS",
|
1520
|
+
TICK = "ENTITY.TICK",
|
1521
|
+
UPDATE_POSITION = "ENTITY.UPDATE_POSITION",
|
1522
|
+
UPDATE_ROTATION = "ENTITY.UPDATE_ROTATION"
|
1523
|
+
}
|
1524
|
+
|
1525
|
+
/** Event payloads for Entity emitted events. @public */
|
1526
|
+
export declare interface EntityEventPayloads {
|
1527
|
+
/** Emitted when an entity collides with a block type. */
|
1528
|
+
[EntityEvent.BLOCK_COLLISION]: {
|
1529
|
+
entity: Entity;
|
1530
|
+
blockType: BlockType;
|
1531
|
+
started: boolean;
|
1532
|
+
colliderHandleA: number;
|
1533
|
+
colliderHandleB: number;
|
1534
|
+
};
|
1535
|
+
/** Emitted when an entity's contact force is applied to a block type. */
|
1536
|
+
[EntityEvent.BLOCK_CONTACT_FORCE]: {
|
1517
1537
|
entity: Entity;
|
1518
|
-
|
1519
|
-
|
1538
|
+
blockType: BlockType;
|
1539
|
+
contactForceData: ContactForceData;
|
1540
|
+
};
|
1541
|
+
/** Emitted when an entity is despawned. */
|
1542
|
+
[EntityEvent.DESPAWN]: {
|
1543
|
+
entity: Entity;
|
1544
|
+
};
|
1545
|
+
/** Emitted when an entity collides with another entity. */
|
1546
|
+
[EntityEvent.ENTITY_COLLISION]: {
|
1547
|
+
entity: Entity;
|
1548
|
+
otherEntity: Entity;
|
1549
|
+
started: boolean;
|
1550
|
+
colliderHandleA: number;
|
1551
|
+
colliderHandleB: number;
|
1552
|
+
};
|
1553
|
+
/** Emitted when an entity's contact force is applied to another entity. */
|
1554
|
+
[EntityEvent.ENTITY_CONTACT_FORCE]: {
|
1555
|
+
entity: Entity;
|
1556
|
+
otherEntity: Entity;
|
1557
|
+
contactForceData: ContactForceData;
|
1558
|
+
};
|
1559
|
+
/** Emitted when the playback rate of the entity's model animations is set. */
|
1560
|
+
[EntityEvent.SET_MODEL_ANIMATIONS_PLAYBACK_RATE]: {
|
1520
1561
|
entity: Entity;
|
1521
1562
|
playbackRate: number;
|
1522
|
-
}
|
1523
|
-
|
1563
|
+
};
|
1564
|
+
/** Emitted when the nodes of the entity's model are set to be hidden. */
|
1565
|
+
[EntityEvent.SET_MODEL_HIDDEN_NODES]: {
|
1524
1566
|
entity: Entity;
|
1525
1567
|
modelHiddenNodes: Set<string>;
|
1526
|
-
}
|
1527
|
-
|
1568
|
+
};
|
1569
|
+
/** Emitted when the opacity of the entity is set. */
|
1570
|
+
[EntityEvent.SET_OPACITY]: {
|
1528
1571
|
entity: Entity;
|
1529
1572
|
opacity: number;
|
1530
|
-
}
|
1531
|
-
|
1573
|
+
};
|
1574
|
+
/** Emitted when the parent of the entity is set. */
|
1575
|
+
[EntityEvent.SET_PARENT]: {
|
1532
1576
|
entity: Entity;
|
1533
1577
|
parent: Entity | undefined;
|
1534
1578
|
parentNodeName: string | undefined;
|
1535
|
-
}
|
1536
|
-
|
1579
|
+
};
|
1580
|
+
/** Emitted when the tint color of the entity is set. */
|
1581
|
+
[EntityEvent.SET_TINT_COLOR]: {
|
1537
1582
|
entity: Entity;
|
1538
1583
|
tintColor: RgbColor | undefined;
|
1539
|
-
}
|
1540
|
-
|
1584
|
+
};
|
1585
|
+
/** Emitted when the entity is spawned. */
|
1586
|
+
[EntityEvent.SPAWN]: {
|
1541
1587
|
entity: Entity;
|
1542
|
-
}
|
1543
|
-
|
1588
|
+
};
|
1589
|
+
/** Emitted when the looped animations of the entity's model are started. */
|
1590
|
+
[EntityEvent.START_MODEL_LOOPED_ANIMATIONS]: {
|
1544
1591
|
entity: Entity;
|
1545
1592
|
animations: Set<string>;
|
1546
|
-
}
|
1547
|
-
|
1593
|
+
};
|
1594
|
+
/** Emitted when the oneshot animations of the entity's model are started. */
|
1595
|
+
[EntityEvent.START_MODEL_ONESHOT_ANIMATIONS]: {
|
1548
1596
|
entity: Entity;
|
1549
1597
|
animations: Set<string>;
|
1550
|
-
}
|
1551
|
-
|
1598
|
+
};
|
1599
|
+
/** Emitted when the model animations of the entity are stopped. */
|
1600
|
+
[EntityEvent.STOP_MODEL_ANIMATIONS]: {
|
1552
1601
|
entity: Entity;
|
1553
1602
|
animations: Set<string>;
|
1554
|
-
}
|
1555
|
-
|
1603
|
+
};
|
1604
|
+
/** Emitted when the entity is ticked. */
|
1605
|
+
[EntityEvent.TICK]: {
|
1606
|
+
entity: Entity;
|
1607
|
+
tickDeltaMs: number;
|
1608
|
+
};
|
1609
|
+
/** Emitted when the position of the entity is updated at the end of the tick, either directly or by physics. */
|
1610
|
+
[EntityEvent.UPDATE_POSITION]: {
|
1556
1611
|
entity: Entity;
|
1557
1612
|
position: Vector3Like;
|
1558
|
-
}
|
1559
|
-
|
1613
|
+
};
|
1614
|
+
/** Emitted when the rotation of the entity is updated at the end of the tick, either directly or by physics. */
|
1615
|
+
[EntityEvent.UPDATE_ROTATION]: {
|
1560
1616
|
entity: Entity;
|
1561
1617
|
rotation: QuaternionLike;
|
1562
|
-
}
|
1563
|
-
}
|
1564
|
-
|
1565
|
-
/** Event types an Entity instance can emit. @public */
|
1566
|
-
export declare enum EntityEventType {
|
1567
|
-
DESPAWN = "ENTITY.DESPAWN",
|
1568
|
-
SET_MODEL_ANIMATIONS_PLAYBACK_RATE = "ENTITY.SET_MODEL_ANIMATIONS_PLAYBACK_RATE",
|
1569
|
-
SET_MODEL_HIDDEN_NODES = "ENTITY.SET_MODEL_HIDDEN_NODES",
|
1570
|
-
SET_OPACITY = "ENTITY.SET_OPACITY",
|
1571
|
-
SET_PARENT = "ENTITY.SET_PARENT",
|
1572
|
-
SET_TINT_COLOR = "ENTITY.SET_TINT_COLOR",
|
1573
|
-
SPAWN = "ENTITY.SPAWN",
|
1574
|
-
START_MODEL_LOOPED_ANIMATIONS = "ENTITY.START_MODEL_LOOPED_ANIMATIONS",
|
1575
|
-
START_MODEL_ONESHOT_ANIMATIONS = "ENTITY.START_MODEL_ONESHOT_ANIMATIONS",
|
1576
|
-
STOP_MODEL_ANIMATIONS = "ENTITY.STOP_MODEL_ANIMATIONS",
|
1577
|
-
UPDATE_POSITION = "ENTITY.UPDATE_POSITION",
|
1578
|
-
UPDATE_ROTATION = "ENTITY.UPDATE_ROTATION"
|
1618
|
+
};
|
1579
1619
|
}
|
1580
1620
|
|
1581
1621
|
/**
|
@@ -1684,56 +1724,88 @@ export declare interface EntityOptions {
|
|
1684
1724
|
}
|
1685
1725
|
|
1686
1726
|
/**
|
1687
|
-
*
|
1727
|
+
* The payloads for all events in the game server.
|
1688
1728
|
*
|
1689
|
-
* @
|
1690
|
-
|
1691
|
-
|
1692
|
-
|
1693
|
-
|
1694
|
-
|
1729
|
+
* @public
|
1730
|
+
*/
|
1731
|
+
export declare interface EventPayloads extends AudioEventPayloads, BaseEntityControllerEventPayloads, BlockTypeEventPayloads, BlockTypeRegistryEventPayloads, ChatEventPayloads, ChunkEventPayloads, ConnectionEventPayloads, EntityEventPayloads, GameServerEventPayloads, PlayerCameraEventPayloads, PlayerEventPayloads, PlayerManagerEventPayloads, PlayerUIEventPayloads, SceneUIEventPayloads, SimulationEventPayloads, SocketEventPayloads, LightEventPayloads, WebServerEventPayloads, WorldEventPayloads, WorldLoopEventPayloads {
|
1732
|
+
}
|
1733
|
+
|
1734
|
+
/**
|
1735
|
+
* Manages event emission and assigned listener callbacks.
|
1695
1736
|
*
|
1696
1737
|
* @public
|
1697
1738
|
*/
|
1698
1739
|
export declare class EventRouter {
|
1699
|
-
/** The singleton instance for global server events. */
|
1700
|
-
static readonly serverInstance: EventRouter;
|
1701
1740
|
private _emitter;
|
1702
|
-
private
|
1703
|
-
/** Enable logging of all events. Default: false */
|
1704
|
-
logAllEvents: boolean;
|
1705
|
-
/** Enable logging of event payloads. Default: false */
|
1706
|
-
logEventsPayloads: boolean;
|
1707
|
-
/** Enable logging of events with no listeners. Default: false */
|
1708
|
-
logUnlistenedEvents: boolean;
|
1709
|
-
/** Array of events to exclude from logging */
|
1710
|
-
logIgnoreEvents: string[];
|
1711
|
-
/** Array of event prefixes to exclude from logging */
|
1712
|
-
logIgnoreEventPrefixes: string[];
|
1713
|
-
/** @param tag - Tag for logging, used to identify EventRouter instances in logs. */
|
1714
|
-
constructor(tag: string);
|
1741
|
+
private _finalListeners;
|
1715
1742
|
/**
|
1716
1743
|
* Emit an event, invoking all registered listeners for the event type.
|
1717
1744
|
*
|
1718
1745
|
* @param eventType - The type of event to emit.
|
1719
1746
|
* @param payload - The payload to emit.
|
1720
1747
|
*
|
1721
|
-
* @returns `true` if listeners were found and invoked, `false` otherwise.
|
1748
|
+
* @returns `true` if any listeners were found and invoked, `false` otherwise.
|
1749
|
+
*/
|
1750
|
+
emit<TEventType extends keyof EventPayloads>(eventType: TEventType, payload: EventPayloads[TEventType]): boolean;
|
1751
|
+
emit<TEventType extends string, TPayload = any>(eventType: TEventType & Exclude<TEventType, keyof EventPayloads>, payload: TPayload): boolean;
|
1752
|
+
/**
|
1753
|
+
* Emits an event to the local and global server instance event routers.
|
1754
|
+
*
|
1755
|
+
* @param eventType - The type of event to emit.
|
1756
|
+
* @param payload - The payload to emit.
|
1757
|
+
*/
|
1758
|
+
emitWithGlobal<TEventType extends keyof EventPayloads>(eventType: TEventType, payload: EventPayloads[TEventType]): void;
|
1759
|
+
emitWithGlobal<TEventType extends string, TPayload = any>(eventType: TEventType & Exclude<TEventType, keyof EventPayloads>, payload: TPayload): void;
|
1760
|
+
/**
|
1761
|
+
* Emits an event to local and provided world event routers.
|
1762
|
+
*
|
1763
|
+
* @param world - The world to broadcast the event to.
|
1764
|
+
* @param eventType - The type of event to broadcast.
|
1765
|
+
* @param payload - The payload to broadcast.
|
1766
|
+
*/
|
1767
|
+
emitWithWorld<TEventType extends keyof EventPayloads>(world: World, eventType: TEventType, payload: EventPayloads[TEventType]): void;
|
1768
|
+
emitWithWorld<TEventType extends string, TPayload = any>(world: World, eventType: TEventType & Exclude<TEventType, keyof EventPayloads>, payload: TPayload): void;
|
1769
|
+
|
1770
|
+
final<TEventType extends string, TPayload = any>(eventType: TEventType & Exclude<TEventType, keyof EventPayloads>, listener: (payload: TPayload) => void): void;
|
1771
|
+
/**
|
1772
|
+
* Check if there are listeners for a specific event type.
|
1773
|
+
*
|
1774
|
+
* @param eventType - The type of event to check for listeners.
|
1775
|
+
*
|
1776
|
+
* @returns `true` if listeners are found, `false` otherwise.
|
1722
1777
|
*/
|
1723
|
-
|
1778
|
+
hasListeners(eventType: keyof EventPayloads): boolean;
|
1779
|
+
/**
|
1780
|
+
* Get all listeners for a specific event type.
|
1781
|
+
*
|
1782
|
+
* @param eventType - The type of event to get listeners for.
|
1783
|
+
*
|
1784
|
+
* @returns All listeners for the event type.
|
1785
|
+
*/
|
1786
|
+
listeners(eventType: keyof EventPayloads): EventEmitter.EventListener<any, string>[];
|
1787
|
+
/**
|
1788
|
+
* Get the number of listeners for a specific event type.
|
1789
|
+
*
|
1790
|
+
* @param eventType - The type of event to get the listener count for.
|
1791
|
+
*
|
1792
|
+
* @returns The number of listeners for the event type.
|
1793
|
+
*/
|
1794
|
+
listenerCount(eventType: keyof EventPayloads): number;
|
1724
1795
|
/**
|
1725
1796
|
* Remove a listener for a specific event type.
|
1726
1797
|
*
|
1727
1798
|
* @param eventType - The type of event to remove the listener from.
|
1728
1799
|
* @param listener - The listener function to remove.
|
1729
1800
|
*/
|
1730
|
-
off<
|
1801
|
+
off<TEventType extends keyof EventPayloads>(eventType: TEventType, listener: (payload: EventPayloads[TEventType]) => void): void;
|
1802
|
+
off<TEventType extends string, TPayload = any>(eventType: TEventType & Exclude<TEventType, keyof EventPayloads>, listener: (payload: TPayload) => void): void;
|
1731
1803
|
/**
|
1732
|
-
* Remove all listeners for a
|
1804
|
+
* Remove all listeners or all listeners for a provided event type.
|
1733
1805
|
*
|
1734
1806
|
* @param eventType - The type of event to remove all listeners from.
|
1735
1807
|
*/
|
1736
|
-
offAll(eventType
|
1808
|
+
offAll(eventType?: keyof EventPayloads): void;
|
1737
1809
|
/**
|
1738
1810
|
* Register a listener for a specific event type.
|
1739
1811
|
*
|
@@ -1743,28 +1815,16 @@ export declare class EventRouter {
|
|
1743
1815
|
* @param eventType - The type of event to listen for.
|
1744
1816
|
* @param listener - The listener function to invoke when the event is emitted.
|
1745
1817
|
*/
|
1746
|
-
on<
|
1818
|
+
on<TEventType extends keyof EventPayloads>(eventType: TEventType, listener: (payload: EventPayloads[TEventType]) => void): void;
|
1819
|
+
on<TEventType extends string, TPayload = any>(eventType: TEventType & Exclude<TEventType, keyof EventPayloads>, listener: (payload: TPayload) => void): void;
|
1747
1820
|
/**
|
1748
1821
|
* Register a listener for a specific event type that will be invoked once.
|
1749
1822
|
*
|
1750
1823
|
* @param eventType - The type of event to listen for.
|
1751
1824
|
* @param listener - The listener function to invoke when the event is emitted.
|
1752
1825
|
*/
|
1753
|
-
once<
|
1754
|
-
|
1755
|
-
* Register a listener for a specific event type that will be invoked before all other existing listeners.
|
1756
|
-
*
|
1757
|
-
* @param eventType - The type of event to listen for.
|
1758
|
-
* @param listener - The listener function to invoke when the event is emitted.
|
1759
|
-
*/
|
1760
|
-
prependOn<TPayload>(eventType: string, listener: (payload: TPayload) => void): void;
|
1761
|
-
/**
|
1762
|
-
* Register a listener for a specific event type that will be invoked once before all other existing listeners.
|
1763
|
-
*
|
1764
|
-
* @param eventType - The type of event to listen for.
|
1765
|
-
* @param listener - The listener function to invoke when the event is emitted.
|
1766
|
-
*/
|
1767
|
-
prependOnce<TPayload>(eventType: string, listener: (payload: TPayload) => void): void;
|
1826
|
+
once<TEventType extends keyof EventPayloads>(eventType: TEventType, listener: (payload: EventPayloads[TEventType]) => void): void;
|
1827
|
+
once<TEventType extends string, TPayload = any>(eventType: TEventType & Exclude<TEventType, keyof EventPayloads>, listener: (payload: TPayload) => void): void;
|
1768
1828
|
}
|
1769
1829
|
|
1770
1830
|
/**
|
@@ -1829,22 +1889,24 @@ export declare class GameServer {
|
|
1829
1889
|
|
1830
1890
|
}
|
1831
1891
|
|
1832
|
-
/**
|
1833
|
-
export declare
|
1834
|
-
export interface Start {
|
1835
|
-
startedAtMs: number;
|
1836
|
-
}
|
1837
|
-
export interface Stop {
|
1838
|
-
stoppedAtMs: number;
|
1839
|
-
}
|
1840
|
-
}
|
1841
|
-
|
1842
|
-
/** Event types a GameServer instance can emit. @public */
|
1843
|
-
export declare enum GameServerEventType {
|
1892
|
+
/** Event types a GameServer instance can emit to the global event router. See {@link GameServerEventPayloads} for the payloads. @public */
|
1893
|
+
export declare enum GameServerEvent {
|
1844
1894
|
START = "GAMESERVER.START",
|
1845
1895
|
STOP = "GAMESERVER.STOP"
|
1846
1896
|
}
|
1847
1897
|
|
1898
|
+
/** Event payloads for GameServer emitted events. @public */
|
1899
|
+
export declare interface GameServerEventPayloads {
|
1900
|
+
/** Emitted when the game server starts. */
|
1901
|
+
[GameServerEvent.START]: {
|
1902
|
+
startedAtMs: number;
|
1903
|
+
};
|
1904
|
+
/** Emitted when the game server stops. */
|
1905
|
+
[GameServerEvent.STOP]: {
|
1906
|
+
stoppedAtMs: number;
|
1907
|
+
};
|
1908
|
+
}
|
1909
|
+
|
1848
1910
|
/**
|
1849
1911
|
* Represents a light in a world. Lights can be point lights
|
1850
1912
|
* or spotlights.
|
@@ -1854,6 +1916,11 @@ export declare enum GameServerEventType {
|
|
1854
1916
|
* variety of configuration options through the {@link LightOptions}
|
1855
1917
|
* constructor argument.
|
1856
1918
|
*
|
1919
|
+
* <h2>Events</h2>
|
1920
|
+
*
|
1921
|
+
* This class is an EventRouter, and instances of it emit
|
1922
|
+
* events with payloads listed under {@link LightEventPayloads}
|
1923
|
+
*
|
1857
1924
|
* @example
|
1858
1925
|
* ```typescript
|
1859
1926
|
* const light = new Light({
|
@@ -1868,7 +1935,7 @@ export declare enum GameServerEventType {
|
|
1868
1935
|
*
|
1869
1936
|
* @public
|
1870
1937
|
*/
|
1871
|
-
export declare class Light implements protocol.Serializable {
|
1938
|
+
export declare class Light extends EventRouter implements protocol.Serializable {
|
1872
1939
|
|
1873
1940
|
|
1874
1941
|
|
@@ -1987,71 +2054,82 @@ export declare class Light implements protocol.Serializable {
|
|
1987
2054
|
|
1988
2055
|
}
|
1989
2056
|
|
1990
|
-
/**
|
1991
|
-
export declare
|
1992
|
-
|
2057
|
+
/** Event types a Light instance can emit. See {@link LightEventPayloads} for the payloads. @public */
|
2058
|
+
export declare enum LightEvent {
|
2059
|
+
DESPAWN = "LIGHT.DESPAWN",
|
2060
|
+
SET_ANGLE = "LIGHT.SET_ANGLE",
|
2061
|
+
SET_ATTACHED_TO_ENTITY = "LIGHT.SET_ATTACHED_TO_ENTITY",
|
2062
|
+
SET_COLOR = "LIGHT.SET_COLOR",
|
2063
|
+
SET_DISTANCE = "LIGHT.SET_DISTANCE",
|
2064
|
+
SET_INTENSITY = "LIGHT.SET_INTENSITY",
|
2065
|
+
SET_OFFSET = "LIGHT.SET_OFFSET",
|
2066
|
+
SET_PENUMBRA = "LIGHT.SET_PENUMBRA",
|
2067
|
+
SET_POSITION = "LIGHT.SET_POSITION",
|
2068
|
+
SET_TRACKED_ENTITY = "LIGHT.SET_TRACKED_ENTITY",
|
2069
|
+
SET_TRACKED_POSITION = "LIGHT.SET_TRACKED_POSITION",
|
2070
|
+
SPAWN = "LIGHT.SPAWN"
|
2071
|
+
}
|
2072
|
+
|
2073
|
+
/** Event payloads for Light emitted events. @public */
|
2074
|
+
export declare interface LightEventPayloads {
|
2075
|
+
/** Emitted when a light is despawned. */
|
2076
|
+
[LightEvent.DESPAWN]: {
|
1993
2077
|
light: Light;
|
1994
|
-
}
|
1995
|
-
|
2078
|
+
};
|
2079
|
+
/** Emitted when the angle of the spotlight is set. */
|
2080
|
+
[LightEvent.SET_ANGLE]: {
|
1996
2081
|
light: Light;
|
1997
2082
|
angle: number;
|
1998
|
-
}
|
1999
|
-
|
2083
|
+
};
|
2084
|
+
/** Emitted when the light is attached to an entity. */
|
2085
|
+
[LightEvent.SET_ATTACHED_TO_ENTITY]: {
|
2000
2086
|
light: Light;
|
2001
2087
|
entity: Entity;
|
2002
|
-
}
|
2003
|
-
|
2088
|
+
};
|
2089
|
+
/** Emitted when the color of the light is set. */
|
2090
|
+
[LightEvent.SET_COLOR]: {
|
2004
2091
|
light: Light;
|
2005
2092
|
color: RgbColor;
|
2006
|
-
}
|
2007
|
-
|
2093
|
+
};
|
2094
|
+
/** Emitted when the maximum distance the light will illuminate is set. */
|
2095
|
+
[LightEvent.SET_DISTANCE]: {
|
2008
2096
|
light: Light;
|
2009
2097
|
distance: number;
|
2010
|
-
}
|
2011
|
-
|
2098
|
+
};
|
2099
|
+
/** Emitted when the intensity of the light is set. */
|
2100
|
+
[LightEvent.SET_INTENSITY]: {
|
2012
2101
|
light: Light;
|
2013
2102
|
intensity: number;
|
2014
|
-
}
|
2015
|
-
|
2103
|
+
};
|
2104
|
+
/** Emitted when the offset of the light is set. */
|
2105
|
+
[LightEvent.SET_OFFSET]: {
|
2016
2106
|
light: Light;
|
2017
2107
|
offset: Vector3Like;
|
2018
|
-
}
|
2019
|
-
|
2108
|
+
};
|
2109
|
+
/** Emitted when the penumbra of the spotlight is set. */
|
2110
|
+
[LightEvent.SET_PENUMBRA]: {
|
2020
2111
|
light: Light;
|
2021
2112
|
penumbra: number;
|
2022
|
-
}
|
2023
|
-
|
2113
|
+
};
|
2114
|
+
/** Emitted when the position of the light is set. */
|
2115
|
+
[LightEvent.SET_POSITION]: {
|
2024
2116
|
light: Light;
|
2025
2117
|
position: Vector3Like;
|
2026
|
-
}
|
2027
|
-
|
2118
|
+
};
|
2119
|
+
/** Emitted when the tracked entity of the spotlight is set. */
|
2120
|
+
[LightEvent.SET_TRACKED_ENTITY]: {
|
2028
2121
|
light: Light;
|
2029
2122
|
entity: Entity;
|
2030
|
-
}
|
2031
|
-
|
2123
|
+
};
|
2124
|
+
/** Emitted when the tracked position of the spotlight is set. */
|
2125
|
+
[LightEvent.SET_TRACKED_POSITION]: {
|
2032
2126
|
light: Light;
|
2033
2127
|
position: Vector3Like;
|
2034
|
-
}
|
2035
|
-
|
2128
|
+
};
|
2129
|
+
/** Emitted when a light is spawned. */
|
2130
|
+
[LightEvent.SPAWN]: {
|
2036
2131
|
light: Light;
|
2037
|
-
}
|
2038
|
-
}
|
2039
|
-
|
2040
|
-
/** Event types a Light instance can emit. @public */
|
2041
|
-
export declare enum LightEventType {
|
2042
|
-
DESPAWN = "LIGHT.DESPAWN",
|
2043
|
-
SET_ANGLE = "LIGHT.SET_ANGLE",
|
2044
|
-
SET_ATTACHED_TO_ENTITY = "LIGHT.SET_ATTACHED_TO_ENTITY",
|
2045
|
-
SET_COLOR = "LIGHT.SET_COLOR",
|
2046
|
-
SET_DISTANCE = "LIGHT.SET_DISTANCE",
|
2047
|
-
SET_INTENSITY = "LIGHT.SET_INTENSITY",
|
2048
|
-
SET_OFFSET = "LIGHT.SET_OFFSET",
|
2049
|
-
SET_PENUMBRA = "LIGHT.SET_PENUMBRA",
|
2050
|
-
SET_POSITION = "LIGHT.SET_POSITION",
|
2051
|
-
SET_TRACKED_ENTITY = "LIGHT.SET_TRACKED_ENTITY",
|
2052
|
-
SET_TRACKED_POSITION = "LIGHT.SET_TRACKED_POSITION",
|
2053
|
-
SET_TYPE = "LIGHT.SET_TYPE",
|
2054
|
-
SPAWN = "LIGHT.SPAWN"
|
2132
|
+
};
|
2055
2133
|
}
|
2056
2134
|
|
2057
2135
|
/**
|
@@ -2921,9 +2999,14 @@ export declare type PathfindingOptions = {
|
|
2921
2999
|
* authenticate with the game server. This is all handled
|
2922
3000
|
* internally.
|
2923
3001
|
*
|
3002
|
+
* <h2>Events</h2>
|
3003
|
+
*
|
3004
|
+
* This class is an EventRouter, and instances of it emit
|
3005
|
+
* events with payloads listed under {@link PlayerEventPayloads}
|
3006
|
+
*
|
2924
3007
|
* @public
|
2925
3008
|
*/
|
2926
|
-
export declare class Player implements protocol.Serializable {
|
3009
|
+
export declare class Player extends EventRouter implements protocol.Serializable {
|
2927
3010
|
/** The unique HYTOPIA UUID for the player. */
|
2928
3011
|
readonly id: string;
|
2929
3012
|
/** The unique HYTOPIA username for the player. */
|
@@ -2978,6 +3061,11 @@ export declare class Player implements protocol.Serializable {
|
|
2978
3061
|
* control the camera of a player. All player objects
|
2979
3062
|
* have a camera, accessible via {@link Player.camera}.
|
2980
3063
|
*
|
3064
|
+
* <h2>Events</h2>
|
3065
|
+
*
|
3066
|
+
* This class is an EventRouter, and instances of it emit
|
3067
|
+
* events with payloads listed under {@link PlayerCameraEventPayloads}
|
3068
|
+
*
|
2981
3069
|
* @example
|
2982
3070
|
* ```typescript
|
2983
3071
|
* player.camera.setMode(PlayerCameraMode.FIRST_PERSON);
|
@@ -2985,7 +3073,7 @@ export declare class Player implements protocol.Serializable {
|
|
2985
3073
|
*
|
2986
3074
|
* @public
|
2987
3075
|
*/
|
2988
|
-
export declare class PlayerCamera implements protocol.Serializable {
|
3076
|
+
export declare class PlayerCamera extends EventRouter implements protocol.Serializable {
|
2989
3077
|
/** The player that the camera belongs to. @readonly */
|
2990
3078
|
readonly player: Player;
|
2991
3079
|
|
@@ -3110,77 +3198,90 @@ export declare class PlayerCamera implements protocol.Serializable {
|
|
3110
3198
|
|
3111
3199
|
}
|
3112
3200
|
|
3113
|
-
/**
|
3114
|
-
export declare
|
3115
|
-
|
3201
|
+
/** Event types a PlayerCamera can emit. See {@link PlayerCameraEventPayloads} for the payloads. @public */
|
3202
|
+
export declare enum PlayerCameraEvent {
|
3203
|
+
LOOK_AT_ENTITY = "PLAYER_CAMERA.LOOK_AT_ENTITY",
|
3204
|
+
LOOK_AT_POSITION = "PLAYER_CAMERA.LOOK_AT_POSITION",
|
3205
|
+
SET_ATTACHED_TO_ENTITY = "PLAYER_CAMERA.SET_ATTACHED_TO_ENTITY",
|
3206
|
+
SET_ATTACHED_TO_POSITION = "PLAYER_CAMERA.SET_ATTACHED_TO_POSITION",
|
3207
|
+
SET_FILM_OFFSET = "PLAYER_CAMERA.SET_FILM_OFFSET",
|
3208
|
+
SET_FORWARD_OFFSET = "PLAYER_CAMERA.SET_FORWARD_OFFSET",
|
3209
|
+
SET_FOV = "PLAYER_CAMERA.SET_FOV",
|
3210
|
+
SET_MODEL_HIDDEN_NODES = "PLAYER_CAMERA.SET_MODEL_HIDDEN_NODES",
|
3211
|
+
SET_MODE = "PLAYER_CAMERA.SET_MODE",
|
3212
|
+
SET_OFFSET = "PLAYER_CAMERA.SET_OFFSET",
|
3213
|
+
SET_TRACKED_ENTITY = "PLAYER_CAMERA.SET_TRACKED_ENTITY",
|
3214
|
+
SET_TRACKED_POSITION = "PLAYER_CAMERA.SET_TRACKED_POSITION",
|
3215
|
+
SET_ZOOM = "PLAYER_CAMERA.SET_ZOOM"
|
3216
|
+
}
|
3217
|
+
|
3218
|
+
/** Event payloads for PlayerCamera emitted events. @public */
|
3219
|
+
export declare interface PlayerCameraEventPayloads {
|
3220
|
+
/** Emitted when the camera looks at an entity. */
|
3221
|
+
[PlayerCameraEvent.LOOK_AT_ENTITY]: {
|
3116
3222
|
playerCamera: PlayerCamera;
|
3117
3223
|
entity: Entity;
|
3118
|
-
}
|
3119
|
-
|
3224
|
+
};
|
3225
|
+
/** Emitted when the camera looks at a position. */
|
3226
|
+
[PlayerCameraEvent.LOOK_AT_POSITION]: {
|
3120
3227
|
playerCamera: PlayerCamera;
|
3121
3228
|
position: Vector3Like;
|
3122
|
-
}
|
3123
|
-
|
3229
|
+
};
|
3230
|
+
/** Emitted when the camera is attached to an entity. */
|
3231
|
+
[PlayerCameraEvent.SET_ATTACHED_TO_ENTITY]: {
|
3124
3232
|
playerCamera: PlayerCamera;
|
3125
3233
|
entity: Entity;
|
3126
|
-
}
|
3127
|
-
|
3234
|
+
};
|
3235
|
+
/** Emitted when the camera is attached to a position. */
|
3236
|
+
[PlayerCameraEvent.SET_ATTACHED_TO_POSITION]: {
|
3128
3237
|
playerCamera: PlayerCamera;
|
3129
3238
|
position: Vector3Like;
|
3130
|
-
}
|
3131
|
-
|
3239
|
+
};
|
3240
|
+
/** Emitted when the film offset of the camera is set. */
|
3241
|
+
[PlayerCameraEvent.SET_FILM_OFFSET]: {
|
3132
3242
|
playerCamera: PlayerCamera;
|
3133
3243
|
filmOffset: number;
|
3134
|
-
}
|
3135
|
-
|
3244
|
+
};
|
3245
|
+
/** Emitted when the forward offset of the camera is set. */
|
3246
|
+
[PlayerCameraEvent.SET_FORWARD_OFFSET]: {
|
3136
3247
|
playerCamera: PlayerCamera;
|
3137
3248
|
forwardOffset: number;
|
3138
|
-
}
|
3139
|
-
|
3249
|
+
};
|
3250
|
+
/** Emitted when the field of view of the camera is set. */
|
3251
|
+
[PlayerCameraEvent.SET_FOV]: {
|
3140
3252
|
playerCamera: PlayerCamera;
|
3141
3253
|
fov: number;
|
3142
|
-
}
|
3143
|
-
|
3254
|
+
};
|
3255
|
+
/** Emitted when the nodes of the model the camera is attached to are set to be hidden. */
|
3256
|
+
[PlayerCameraEvent.SET_MODEL_HIDDEN_NODES]: {
|
3144
3257
|
playerCamera: PlayerCamera;
|
3145
3258
|
modelHiddenNodes: Set<string>;
|
3146
|
-
}
|
3147
|
-
|
3259
|
+
};
|
3260
|
+
/** Emitted when the mode of the camera is set. */
|
3261
|
+
[PlayerCameraEvent.SET_MODE]: {
|
3148
3262
|
playerCamera: PlayerCamera;
|
3149
3263
|
mode: PlayerCameraMode;
|
3150
|
-
}
|
3151
|
-
|
3264
|
+
};
|
3265
|
+
/** Emitted when the offset of the camera is set. */
|
3266
|
+
[PlayerCameraEvent.SET_OFFSET]: {
|
3152
3267
|
playerCamera: PlayerCamera;
|
3153
3268
|
offset: Vector3Like;
|
3154
|
-
}
|
3155
|
-
|
3269
|
+
};
|
3270
|
+
/** Emitted when the tracked entity of the camera is set. */
|
3271
|
+
[PlayerCameraEvent.SET_TRACKED_ENTITY]: {
|
3156
3272
|
playerCamera: PlayerCamera;
|
3157
3273
|
entity: Entity | undefined;
|
3158
|
-
}
|
3159
|
-
|
3274
|
+
};
|
3275
|
+
/** Emitted when the tracked position of the camera is set. */
|
3276
|
+
[PlayerCameraEvent.SET_TRACKED_POSITION]: {
|
3160
3277
|
playerCamera: PlayerCamera;
|
3161
3278
|
position: Vector3Like | undefined;
|
3162
|
-
}
|
3163
|
-
|
3279
|
+
};
|
3280
|
+
/** Emitted when the zoom of the camera is set. */
|
3281
|
+
[PlayerCameraEvent.SET_ZOOM]: {
|
3164
3282
|
playerCamera: PlayerCamera;
|
3165
3283
|
zoom: number;
|
3166
|
-
}
|
3167
|
-
}
|
3168
|
-
|
3169
|
-
/** Event types a PlayerCamera can emit. @public */
|
3170
|
-
export declare enum PlayerCameraEventType {
|
3171
|
-
LOOK_AT_ENTITY = "PLAYER_CAMERA.LOOK_AT_ENTITY",
|
3172
|
-
LOOK_AT_POSITION = "PLAYER_CAMERA.LOOK_AT_POSITION",
|
3173
|
-
SET_ATTACHED_TO_ENTITY = "PLAYER_CAMERA.SET_ATTACHED_TO_ENTITY",
|
3174
|
-
SET_ATTACHED_TO_POSITION = "PLAYER_CAMERA.SET_ATTACHED_TO_POSITION",
|
3175
|
-
SET_FILM_OFFSET = "PLAYER_CAMERA.SET_FILM_OFFSET",
|
3176
|
-
SET_FORWARD_OFFSET = "PLAYER_CAMERA.SET_FORWARD_OFFSET",
|
3177
|
-
SET_FOV = "PLAYER_CAMERA.SET_FOV",
|
3178
|
-
SET_MODEL_HIDDEN_NODES = "PLAYER_CAMERA.SET_MODEL_HIDDEN_NODES",
|
3179
|
-
SET_MODE = "PLAYER_CAMERA.SET_MODE",
|
3180
|
-
SET_OFFSET = "PLAYER_CAMERA.SET_OFFSET",
|
3181
|
-
SET_TRACKED_ENTITY = "PLAYER_CAMERA.SET_TRACKED_ENTITY",
|
3182
|
-
SET_TRACKED_POSITION = "PLAYER_CAMERA.SET_TRACKED_POSITION",
|
3183
|
-
SET_ZOOM = "PLAYER_CAMERA.SET_ZOOM"
|
3284
|
+
};
|
3184
3285
|
}
|
3185
3286
|
|
3186
3287
|
/** The mode of the camera. @public */
|
@@ -3375,33 +3476,37 @@ export declare interface PlayerEntityOptions extends EntityOptions {
|
|
3375
3476
|
player: Player;
|
3376
3477
|
}
|
3377
3478
|
|
3378
|
-
/**
|
3379
|
-
export declare
|
3380
|
-
|
3479
|
+
/** Event types a Player can emit. See {@link PlayerEventPayloads} for the payloads. @public */
|
3480
|
+
export declare enum PlayerEvent {
|
3481
|
+
CHAT_MESSAGE_SEND = "PLAYER.CHAT_MESSAGE_SEND",
|
3482
|
+
JOINED_WORLD = "PLAYER.JOINED_WORLD",
|
3483
|
+
LEFT_WORLD = "PLAYER.LEFT_WORLD",
|
3484
|
+
REQUEST_SYNC = "PLAYER.REQUEST_SYNC"
|
3485
|
+
}
|
3486
|
+
|
3487
|
+
/** Event payloads for Player emitted events. @public */
|
3488
|
+
export declare interface PlayerEventPayloads {
|
3489
|
+
/** Emitted when a player sends a chat message. */
|
3490
|
+
[PlayerEvent.CHAT_MESSAGE_SEND]: {
|
3381
3491
|
player: Player;
|
3382
|
-
message:
|
3383
|
-
}
|
3384
|
-
|
3492
|
+
message: string;
|
3493
|
+
};
|
3494
|
+
/** Emitted when a player joins a world. */
|
3495
|
+
[PlayerEvent.JOINED_WORLD]: {
|
3385
3496
|
player: Player;
|
3386
3497
|
world: World;
|
3387
|
-
}
|
3388
|
-
|
3498
|
+
};
|
3499
|
+
/** Emitted when a player leaves a world. */
|
3500
|
+
[PlayerEvent.LEFT_WORLD]: {
|
3389
3501
|
player: Player;
|
3390
3502
|
world: World;
|
3391
|
-
}
|
3392
|
-
|
3503
|
+
};
|
3504
|
+
/** Emitted when a player's client requests a round trip time synchronization. */
|
3505
|
+
[PlayerEvent.REQUEST_SYNC]: {
|
3393
3506
|
player: Player;
|
3394
3507
|
receivedAt: number;
|
3395
3508
|
receivedAtMs: number;
|
3396
|
-
}
|
3397
|
-
}
|
3398
|
-
|
3399
|
-
/** Event types a Player can emit. @public */
|
3400
|
-
export declare enum PlayerEventType {
|
3401
|
-
CHAT_MESSAGE_SEND = "PLAYER.CHAT_MESSAGE_SEND",
|
3402
|
-
JOINED_WORLD = "PLAYER.JOINED_WORLD",
|
3403
|
-
LEFT_WORLD = "PLAYER.LEFT_WORLD",
|
3404
|
-
REQUEST_SYNC = "PLAYER.REQUEST_SYNC"
|
3509
|
+
};
|
3405
3510
|
}
|
3406
3511
|
|
3407
3512
|
/** The input state of a Player; keys from SUPPORTED_INPUT_KEYS. @public */
|
@@ -3415,6 +3520,11 @@ export declare type PlayerInput = Partial<Record<keyof InputSchema, boolean>>;
|
|
3415
3520
|
* singleton accessible with the static property
|
3416
3521
|
* `PlayerManager.instance`.
|
3417
3522
|
*
|
3523
|
+
* <h2>Events</h2>
|
3524
|
+
*
|
3525
|
+
* This class is an EventRouter, and instances of it emit
|
3526
|
+
* events with payloads listed under {@link PlayerManagerEventPayloads}
|
3527
|
+
*
|
3418
3528
|
* @example
|
3419
3529
|
* ```typescript
|
3420
3530
|
* import { PlayerManager } from 'hytopia';
|
@@ -3453,6 +3563,18 @@ export declare class PlayerManager {
|
|
3453
3563
|
|
3454
3564
|
}
|
3455
3565
|
|
3566
|
+
/** Event payloads for PlayerManager emitted events. @public */
|
3567
|
+
export declare interface PlayerManagerEventPayloads {
|
3568
|
+
/** Emitted when a player connects to the server. */
|
3569
|
+
[PlayerManagerEvent.PLAYER_CONNECTED]: {
|
3570
|
+
player: Player;
|
3571
|
+
};
|
3572
|
+
/** Emitted when a player disconnects from the server. */
|
3573
|
+
[PlayerManagerEvent.PLAYER_DISCONNECTED]: {
|
3574
|
+
player: Player;
|
3575
|
+
};
|
3576
|
+
}
|
3577
|
+
|
3456
3578
|
/**
|
3457
3579
|
* The UI for a player.
|
3458
3580
|
*
|
@@ -3461,9 +3583,14 @@ export declare class PlayerManager {
|
|
3461
3583
|
* sees. UI is controlled by HTML, CSS and JavaScript
|
3462
3584
|
* files you provide in your `assets` folder.
|
3463
3585
|
*
|
3586
|
+
* <h2>Events</h2>
|
3587
|
+
*
|
3588
|
+
* This class is an EventRouter, and instances of it emit
|
3589
|
+
* events with payloads listed under {@link PlayerUIEventPayloads}
|
3590
|
+
*
|
3464
3591
|
* @public
|
3465
3592
|
*/
|
3466
|
-
export declare class PlayerUI {
|
3593
|
+
export declare class PlayerUI extends EventRouter {
|
3467
3594
|
/** The player that the UI belongs to. @readonly */
|
3468
3595
|
readonly player: Player;
|
3469
3596
|
/**
|
@@ -3497,27 +3624,30 @@ export declare class PlayerUI {
|
|
3497
3624
|
sendData(data: object): void;
|
3498
3625
|
}
|
3499
3626
|
|
3500
|
-
/**
|
3501
|
-
export declare
|
3502
|
-
|
3627
|
+
/** Event types a PlayerUI can emit. See {@link PlayerUIEventPayloads} for the payloads. @public */
|
3628
|
+
export declare enum PlayerUIEvent {
|
3629
|
+
LOAD = "PLAYER_UI.LOAD",
|
3630
|
+
LOCK_POINTER = "PLAYER_UI.LOCK_POINTER",
|
3631
|
+
SEND_DATA = "PLAYER_UI.SEND_DATA"
|
3632
|
+
}
|
3633
|
+
|
3634
|
+
/** Event payloads for PlayerUI emitted events. @public */
|
3635
|
+
export declare interface PlayerUIEventPayloads {
|
3636
|
+
/** Emitted when the player's client UI is loaded. */
|
3637
|
+
[PlayerUIEvent.LOAD]: {
|
3503
3638
|
playerUI: PlayerUI;
|
3504
3639
|
htmlUri: string;
|
3505
|
-
}
|
3506
|
-
|
3640
|
+
};
|
3641
|
+
/** Emitted when the player's mouse pointer is locked or unlocked. */
|
3642
|
+
[PlayerUIEvent.LOCK_POINTER]: {
|
3507
3643
|
playerUI: PlayerUI;
|
3508
3644
|
lock: boolean;
|
3509
|
-
}
|
3510
|
-
|
3645
|
+
};
|
3646
|
+
/** Emitted when the player's client UI sends data to the server. */
|
3647
|
+
[PlayerUIEvent.SEND_DATA]: {
|
3511
3648
|
playerUI: PlayerUI;
|
3512
3649
|
data: object;
|
3513
|
-
}
|
3514
|
-
}
|
3515
|
-
|
3516
|
-
/** Event types a PlayerUI can emit. @public */
|
3517
|
-
export declare enum PlayerUIEventType {
|
3518
|
-
LOAD = "PLAYER_UI.LOAD",
|
3519
|
-
LOCK_POINTER = "PLAYER_UI.LOCK_POINTER",
|
3520
|
-
SEND_DATA = "PLAYER_UI.SEND_DATA"
|
3650
|
+
};
|
3521
3651
|
}
|
3522
3652
|
|
3523
3653
|
/**
|
@@ -3798,7 +3928,7 @@ export declare interface RgbColor {
|
|
3798
3928
|
*
|
3799
3929
|
* @public
|
3800
3930
|
*/
|
3801
|
-
export declare class RigidBody {
|
3931
|
+
export declare class RigidBody extends EventRouter {
|
3802
3932
|
|
3803
3933
|
|
3804
3934
|
|
@@ -4186,6 +4316,11 @@ export declare enum RigidBodyType {
|
|
4186
4316
|
* They support a variety of configuration options through
|
4187
4317
|
* the {@link SceneUIOptions} constructor argument.
|
4188
4318
|
*
|
4319
|
+
* <h2>Events</h2>
|
4320
|
+
*
|
4321
|
+
* This class is an EventRouter, and instances of it emit
|
4322
|
+
* events with payloads listed under {@link SceneUIEventPayloads}
|
4323
|
+
*
|
4189
4324
|
* @example
|
4190
4325
|
* ```typescript
|
4191
4326
|
* const sceneUI = new SceneUI({
|
@@ -4197,7 +4332,7 @@ export declare enum RigidBodyType {
|
|
4197
4332
|
*
|
4198
4333
|
* @public
|
4199
4334
|
*/
|
4200
|
-
export declare class SceneUI implements protocol.Serializable {
|
4335
|
+
export declare class SceneUI extends EventRouter implements protocol.Serializable {
|
4201
4336
|
|
4202
4337
|
|
4203
4338
|
|
@@ -4271,6 +4406,54 @@ export declare class SceneUI implements protocol.Serializable {
|
|
4271
4406
|
|
4272
4407
|
}
|
4273
4408
|
|
4409
|
+
/** Event types a SceneUI instance can emit. See {@link SceneUIEventPayloads} for the payloads. @public */
|
4410
|
+
export declare enum SceneUIEvent {
|
4411
|
+
LOAD = "SCENE_UI.LOAD",
|
4412
|
+
SET_ATTACHED_TO_ENTITY = "SCENE_UI.SET_ATTACHED_TO_ENTITY",
|
4413
|
+
SET_OFFSET = "SCENE_UI.SET_OFFSET",
|
4414
|
+
SET_POSITION = "SCENE_UI.SET_POSITION",
|
4415
|
+
SET_STATE = "SCENE_UI.SET_STATE",
|
4416
|
+
SET_VIEW_DISTANCE = "SCENE_UI.SET_VIEW_DISTANCE",
|
4417
|
+
UNLOAD = "SCENE_UI.UNLOAD"
|
4418
|
+
}
|
4419
|
+
|
4420
|
+
/** Event payloads for SceneUI emitted events. @public */
|
4421
|
+
export declare interface SceneUIEventPayloads {
|
4422
|
+
/** Emitted when a SceneUI is loaded into the world. */
|
4423
|
+
[SceneUIEvent.LOAD]: {
|
4424
|
+
sceneUI: SceneUI;
|
4425
|
+
};
|
4426
|
+
/** Emitted when a SceneUI is attached to an entity. */
|
4427
|
+
[SceneUIEvent.SET_ATTACHED_TO_ENTITY]: {
|
4428
|
+
sceneUI: SceneUI;
|
4429
|
+
entity: Entity;
|
4430
|
+
};
|
4431
|
+
/** Emitted when the offset of a SceneUI is set. */
|
4432
|
+
[SceneUIEvent.SET_OFFSET]: {
|
4433
|
+
sceneUI: SceneUI;
|
4434
|
+
offset: Vector3Like;
|
4435
|
+
};
|
4436
|
+
/** Emitted when the position of a SceneUI is set. */
|
4437
|
+
[SceneUIEvent.SET_POSITION]: {
|
4438
|
+
sceneUI: SceneUI;
|
4439
|
+
position: Vector3Like;
|
4440
|
+
};
|
4441
|
+
/** Emitted when the state of a SceneUI is set. */
|
4442
|
+
[SceneUIEvent.SET_STATE]: {
|
4443
|
+
sceneUI: SceneUI;
|
4444
|
+
state: object;
|
4445
|
+
};
|
4446
|
+
/** Emitted when the view distance of a SceneUI is set. */
|
4447
|
+
[SceneUIEvent.SET_VIEW_DISTANCE]: {
|
4448
|
+
sceneUI: SceneUI;
|
4449
|
+
viewDistance: number;
|
4450
|
+
};
|
4451
|
+
/** Emitted when a SceneUI is unloaded from the world. */
|
4452
|
+
[SceneUIEvent.UNLOAD]: {
|
4453
|
+
sceneUI: SceneUI;
|
4454
|
+
};
|
4455
|
+
}
|
4456
|
+
|
4274
4457
|
/**
|
4275
4458
|
* Manages SceneUI instances in a world.
|
4276
4459
|
*
|
@@ -4422,9 +4605,14 @@ export declare class SimpleEntityController extends BaseEntityController {
|
|
4422
4605
|
* of the world. Most methods are not often used directly, but are
|
4423
4606
|
* provided for advanced usage.
|
4424
4607
|
*
|
4608
|
+
* <h2>Events</h2>
|
4609
|
+
*
|
4610
|
+
* This class is an EventRouter, and instances of it emit
|
4611
|
+
* events with payloads listed under {@link SimulationEventPayloads}
|
4612
|
+
*
|
4425
4613
|
* @public
|
4426
4614
|
*/
|
4427
|
-
export declare class Simulation {
|
4615
|
+
export declare class Simulation extends EventRouter {
|
4428
4616
|
|
4429
4617
|
|
4430
4618
|
|
@@ -4497,6 +4685,42 @@ export declare class Simulation {
|
|
4497
4685
|
|
4498
4686
|
|
4499
4687
|
|
4688
|
+
}
|
4689
|
+
|
4690
|
+
/** Event types a Simulation instance can emit. See {@link SimulationEventPayloads} for the payloads. @public */
|
4691
|
+
export declare enum SimulationEvent {
|
4692
|
+
STEP_START = "SIMULATION.STEP_START",
|
4693
|
+
STEP_END = "SIMULATION.STEP_END",
|
4694
|
+
DEBUG_RAYCAST = "SIMULATION.DEBUG_RAYCAST",
|
4695
|
+
DEBUG_RENDER = "SIMULATION.DEBUG_RENDER"
|
4696
|
+
}
|
4697
|
+
|
4698
|
+
/** Event payloads for Simulation emitted events. @public */
|
4699
|
+
export declare interface SimulationEventPayloads {
|
4700
|
+
/** Emitted when the simulation step starts. */
|
4701
|
+
[SimulationEvent.STEP_START]: {
|
4702
|
+
simulation: Simulation;
|
4703
|
+
tickDeltaMs: number;
|
4704
|
+
};
|
4705
|
+
/** Emitted when the simulation step ends. */
|
4706
|
+
[SimulationEvent.STEP_END]: {
|
4707
|
+
simulation: Simulation;
|
4708
|
+
stepDurationMs: number;
|
4709
|
+
};
|
4710
|
+
/** Emitted when a debug raycast is performed. */
|
4711
|
+
[SimulationEvent.DEBUG_RAYCAST]: {
|
4712
|
+
simulation: Simulation;
|
4713
|
+
origin: Vector3Like;
|
4714
|
+
direction: Vector3Like;
|
4715
|
+
length: number;
|
4716
|
+
hit: boolean;
|
4717
|
+
};
|
4718
|
+
/** Emitted when the simulation debug rendering is enabled. */
|
4719
|
+
[SimulationEvent.DEBUG_RENDER]: {
|
4720
|
+
simulation: Simulation;
|
4721
|
+
vertices: Float32Array;
|
4722
|
+
colors: Float32Array;
|
4723
|
+
};
|
4500
4724
|
}
|
4501
4725
|
|
4502
4726
|
/** A 3x3 symmetric positive-definite matrix for spatial dynamics. @public */
|
@@ -5071,6 +5295,11 @@ export declare type WaypointMoveSkippedCallback = (waypoint: Vector3Like, waypoi
|
|
5071
5295
|
* automatically created default world is all you need, but
|
5072
5296
|
* this flexibility is available for more complex games.
|
5073
5297
|
*
|
5298
|
+
* <h2>Events</h2>
|
5299
|
+
*
|
5300
|
+
* This class is an EventRouter, and instances of it emit
|
5301
|
+
* events with payloads listed under {@link WorldEventPayloads}
|
5302
|
+
*
|
5074
5303
|
* @example
|
5075
5304
|
* ```typescript
|
5076
5305
|
* const world = new World({
|
@@ -5082,18 +5311,7 @@ export declare type WaypointMoveSkippedCallback = (waypoint: Vector3Like, waypoi
|
|
5082
5311
|
*
|
5083
5312
|
* @public
|
5084
5313
|
*/
|
5085
|
-
export declare class World implements protocol.Serializable {
|
5086
|
-
/**
|
5087
|
-
* A function that is called when a player joins the world.
|
5088
|
-
* @param player - The player that joined the world.
|
5089
|
-
*/
|
5090
|
-
onPlayerJoin?: (player: Player) => void;
|
5091
|
-
/**
|
5092
|
-
* A function that is called when a player leaves the world.
|
5093
|
-
* @param player - The player that left the world.
|
5094
|
-
*/
|
5095
|
-
onPlayerLeave?: (player: Player) => void;
|
5096
|
-
|
5314
|
+
export declare class World extends EventRouter implements protocol.Serializable {
|
5097
5315
|
|
5098
5316
|
|
5099
5317
|
|
@@ -5142,8 +5360,6 @@ export declare class World implements protocol.Serializable {
|
|
5142
5360
|
get chunkLattice(): ChunkLattice;
|
5143
5361
|
/** The entity manager for the world. */
|
5144
5362
|
get entityManager(): EntityManager;
|
5145
|
-
/** The event router for the world. */
|
5146
|
-
get eventRouter(): EventRouter;
|
5147
5363
|
/** The light manager for the world. */
|
5148
5364
|
get lightManager(): LightManager;
|
5149
5365
|
/** The world loop for the world. */
|
@@ -5194,6 +5410,56 @@ export declare class World implements protocol.Serializable {
|
|
5194
5410
|
|
5195
5411
|
}
|
5196
5412
|
|
5413
|
+
/** Event types a World instance can emit. See {@link WorldEventPayloads} for the payloads. @public */
|
5414
|
+
export declare enum WorldEvent {
|
5415
|
+
SET_AMBIENT_LIGHT_COLOR = "WORLD.SET_AMBIENT_LIGHT_COLOR",
|
5416
|
+
SET_AMBIENT_LIGHT_INTENSITY = "WORLD.SET_AMBIENT_LIGHT_INTENSITY",
|
5417
|
+
SET_DIRECTIONAL_LIGHT_COLOR = "WORLD.SET_DIRECTIONAL_LIGHT_COLOR",
|
5418
|
+
SET_DIRECTIONAL_LIGHT_INTENSITY = "WORLD.SET_DIRECTIONAL_LIGHT_INTENSITY",
|
5419
|
+
SET_DIRECTIONAL_LIGHT_POSITION = "WORLD.SET_DIRECTIONAL_LIGHT_POSITION",
|
5420
|
+
START = "WORLD.START",
|
5421
|
+
STOP = "WORLD.STOP"
|
5422
|
+
}
|
5423
|
+
|
5424
|
+
/** Event payloads for World emitted events. @public */
|
5425
|
+
export declare interface WorldEventPayloads {
|
5426
|
+
/** Emitted when the color of the world's ambient light is set. */
|
5427
|
+
[WorldEvent.SET_AMBIENT_LIGHT_COLOR]: {
|
5428
|
+
world: World;
|
5429
|
+
color: RgbColor;
|
5430
|
+
};
|
5431
|
+
/** Emitted when the intensity of the world's ambient light is set. */
|
5432
|
+
[WorldEvent.SET_AMBIENT_LIGHT_INTENSITY]: {
|
5433
|
+
world: World;
|
5434
|
+
intensity: number;
|
5435
|
+
};
|
5436
|
+
/** Emitted when the color of the world's directional light is set. */
|
5437
|
+
[WorldEvent.SET_DIRECTIONAL_LIGHT_COLOR]: {
|
5438
|
+
world: World;
|
5439
|
+
color: RgbColor;
|
5440
|
+
};
|
5441
|
+
/** Emitted when the intensity of the world's directional light is set. */
|
5442
|
+
[WorldEvent.SET_DIRECTIONAL_LIGHT_INTENSITY]: {
|
5443
|
+
world: World;
|
5444
|
+
intensity: number;
|
5445
|
+
};
|
5446
|
+
/** Emitted when the position of the world's directional light is set. */
|
5447
|
+
[WorldEvent.SET_DIRECTIONAL_LIGHT_POSITION]: {
|
5448
|
+
world: World;
|
5449
|
+
position: Vector3Like;
|
5450
|
+
};
|
5451
|
+
/** Emitted when the world starts. */
|
5452
|
+
[WorldEvent.START]: {
|
5453
|
+
world: World;
|
5454
|
+
startedAtMs: number;
|
5455
|
+
};
|
5456
|
+
/** Emitted when the world stops. */
|
5457
|
+
[WorldEvent.STOP]: {
|
5458
|
+
world: World;
|
5459
|
+
stoppedAtMs: number;
|
5460
|
+
};
|
5461
|
+
}
|
5462
|
+
|
5197
5463
|
/**
|
5198
5464
|
* Manages the tick loop for a world.
|
5199
5465
|
*
|
@@ -5213,9 +5479,14 @@ export declare class World implements protocol.Serializable {
|
|
5213
5479
|
*
|
5214
5480
|
* 5. Synchronize network packets with player clients
|
5215
5481
|
*
|
5482
|
+
* <h2>Events</h2>
|
5483
|
+
*
|
5484
|
+
* This class is an EventRouter, and instances of it emit
|
5485
|
+
* events with payloads listed under {@link WorldLoopEventPayloads}
|
5486
|
+
*
|
5216
5487
|
* @public
|
5217
5488
|
*/
|
5218
|
-
export declare class WorldLoop {
|
5489
|
+
export declare class WorldLoop extends EventRouter {
|
5219
5490
|
|
5220
5491
|
|
5221
5492
|
|
@@ -5234,35 +5505,40 @@ export declare class WorldLoop {
|
|
5234
5505
|
|
5235
5506
|
}
|
5236
5507
|
|
5237
|
-
/**
|
5238
|
-
export declare
|
5239
|
-
|
5508
|
+
/** Event types a WorldLoop instance can emit. See {@link WorldLoopEventPayloads} for the payloads. @public */
|
5509
|
+
export declare enum WorldLoopEvent {
|
5510
|
+
START = "WORLD_LOOP.START",
|
5511
|
+
STOP = "WORLD_LOOP.STOP",
|
5512
|
+
TICK_START = "WORLD_LOOP.TICK_START",
|
5513
|
+
TICK_END = "WORLD_LOOP.TICK_END",
|
5514
|
+
TICK_ERROR = "WORLD_LOOP.TICK_ERROR"
|
5515
|
+
}
|
5516
|
+
|
5517
|
+
/** Event payloads for WorldLoop emitted events. @public */
|
5518
|
+
export declare interface WorldLoopEventPayloads {
|
5519
|
+
/** Emitted when the world loop starts. */
|
5520
|
+
[WorldLoopEvent.START]: {
|
5240
5521
|
worldLoop: WorldLoop;
|
5241
|
-
}
|
5242
|
-
|
5522
|
+
};
|
5523
|
+
/** Emitted when the world loop stops. */
|
5524
|
+
[WorldLoopEvent.STOP]: {
|
5243
5525
|
worldLoop: WorldLoop;
|
5244
|
-
}
|
5245
|
-
|
5526
|
+
};
|
5527
|
+
/** Emitted when the world loop tick starts. */
|
5528
|
+
[WorldLoopEvent.TICK_START]: {
|
5246
5529
|
worldLoop: WorldLoop;
|
5247
5530
|
tickDeltaMs: number;
|
5248
|
-
}
|
5249
|
-
|
5531
|
+
};
|
5532
|
+
/** Emitted when the world loop tick ends. */
|
5533
|
+
[WorldLoopEvent.TICK_END]: {
|
5250
5534
|
worldLoop: WorldLoop;
|
5251
5535
|
tickDurationMs: number;
|
5252
|
-
}
|
5253
|
-
|
5536
|
+
};
|
5537
|
+
/** Emitted when an error occurs during a world loop tick. */
|
5538
|
+
[WorldLoopEvent.TICK_ERROR]: {
|
5254
5539
|
worldLoop: WorldLoop;
|
5255
5540
|
error: Error;
|
5256
|
-
}
|
5257
|
-
}
|
5258
|
-
|
5259
|
-
/** Event types a WorldLoop instance can emit. @public */
|
5260
|
-
export declare enum WorldLoopEventType {
|
5261
|
-
START = "WORLD_LOOP.START",
|
5262
|
-
STOP = "WORLD_LOOP.STOP",
|
5263
|
-
TICK_START = "WORLD_LOOP.TICK_START",
|
5264
|
-
TICK_END = "WORLD_LOOP.TICK_END",
|
5265
|
-
TICK_ERROR = "WORLD_LOOP.TICK_ERROR"
|
5541
|
+
};
|
5266
5542
|
}
|
5267
5543
|
|
5268
5544
|
/** A map representation for a world. @public */
|