@open-core/framework 1.0.5-beta.1 → 1.0.5-beta.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/dist/adapters/contracts/IEngineEvents.d.ts +3 -0
- package/dist/adapters/contracts/IEngineEvents.js +7 -0
- package/dist/adapters/contracts/IPlatformContext.d.ts +43 -0
- package/dist/adapters/contracts/IPlatformContext.js +8 -0
- package/dist/adapters/contracts/client/IClientLocalPlayerBridge.d.ts +4 -0
- package/dist/adapters/contracts/client/IClientLocalPlayerBridge.js +2 -0
- package/dist/adapters/contracts/client/IClientLogConsole.d.ts +13 -0
- package/dist/adapters/contracts/client/IClientLogConsole.js +2 -0
- package/dist/adapters/contracts/client/IClientPlatformBridge.d.ts +195 -0
- package/dist/adapters/contracts/client/IClientPlatformBridge.js +282 -0
- package/dist/adapters/contracts/client/IClientRuntimeBridge.d.ts +18 -0
- package/dist/adapters/contracts/client/IClientRuntimeBridge.js +14 -0
- package/dist/adapters/contracts/client/IGtaPedAppearanceBridge.d.ts +26 -0
- package/dist/adapters/contracts/client/IGtaPedAppearanceBridge.js +2 -0
- package/dist/adapters/contracts/client/index.d.ts +7 -0
- package/dist/adapters/contracts/client/index.js +7 -0
- package/dist/adapters/contracts/client/spawn/IClientSpawnBridge.d.ts +7 -0
- package/dist/adapters/contracts/client/spawn/IClientSpawnBridge.js +2 -0
- package/dist/adapters/contracts/client/spawn/index.d.ts +2 -0
- package/dist/adapters/contracts/client/spawn/index.js +2 -0
- package/dist/adapters/contracts/client/spawn/types.d.ts +14 -0
- package/dist/adapters/contracts/client/ui/IClientBlipBridge.d.ts +25 -0
- package/dist/adapters/contracts/client/ui/IClientBlipBridge.js +2 -0
- package/dist/adapters/contracts/client/ui/IClientMarkerBridge.d.ts +31 -0
- package/dist/adapters/contracts/client/ui/IClientMarkerBridge.js +2 -0
- package/dist/adapters/contracts/client/ui/IClientNotificationBridge.d.ts +21 -0
- package/dist/adapters/contracts/client/ui/IClientNotificationBridge.js +2 -0
- package/dist/adapters/contracts/client/ui/index.d.ts +4 -0
- package/dist/adapters/contracts/client/ui/index.js +4 -0
- package/dist/adapters/contracts/client/ui/webview/IClientWebViewBridge.d.ts +13 -0
- package/dist/adapters/contracts/client/ui/webview/IClientWebViewBridge.js +2 -0
- package/dist/adapters/contracts/client/ui/webview/index.d.ts +2 -0
- package/dist/adapters/contracts/client/ui/webview/index.js +2 -0
- package/dist/adapters/contracts/client/ui/webview/types.d.ts +25 -0
- package/dist/adapters/contracts/client/ui/webview/types.js +0 -0
- package/dist/adapters/contracts/index.d.ts +4 -2
- package/dist/adapters/contracts/index.js +4 -3
- package/dist/adapters/contracts/runtime/index.d.ts +1 -0
- package/dist/adapters/contracts/runtime/index.js +1 -0
- package/dist/adapters/contracts/runtime/runtime-events.d.ts +9 -0
- package/dist/adapters/contracts/runtime/runtime-events.js +7 -0
- package/dist/adapters/contracts/server/IEntityServer.d.ts +4 -28
- package/dist/adapters/contracts/server/IEntityServer.js +0 -26
- package/dist/adapters/contracts/server/IPlayerServer.d.ts +7 -26
- package/dist/adapters/contracts/server/IPlayerServer.js +0 -26
- package/dist/adapters/contracts/server/index.d.ts +10 -0
- package/dist/adapters/contracts/server/index.js +10 -0
- package/dist/adapters/contracts/server/npc-lifecycle/INpcLifecycleServer.d.ts +5 -0
- package/dist/adapters/contracts/server/npc-lifecycle/INpcLifecycleServer.js +2 -0
- package/dist/adapters/contracts/server/npc-lifecycle/index.d.ts +2 -0
- package/dist/adapters/contracts/server/npc-lifecycle/index.js +2 -0
- package/dist/adapters/contracts/server/npc-lifecycle/types.d.ts +17 -0
- package/dist/adapters/contracts/server/npc-lifecycle/types.js +0 -0
- package/dist/adapters/contracts/server/player-appearance/IPlayerAppearanceLifecycleServer.d.ts +11 -0
- package/dist/adapters/contracts/server/player-appearance/IPlayerAppearanceLifecycleServer.js +2 -0
- package/dist/adapters/contracts/server/player-appearance/index.d.ts +1 -0
- package/dist/adapters/contracts/server/player-appearance/index.js +1 -0
- package/dist/adapters/contracts/server/player-lifecycle/IPlayerLifecycleServer.d.ts +6 -0
- package/dist/adapters/contracts/server/player-lifecycle/IPlayerLifecycleServer.js +2 -0
- package/dist/adapters/contracts/server/player-lifecycle/index.d.ts +2 -0
- package/dist/adapters/contracts/server/player-lifecycle/index.js +2 -0
- package/dist/adapters/contracts/server/player-lifecycle/types.d.ts +17 -0
- package/dist/adapters/contracts/server/player-lifecycle/types.js +0 -0
- package/dist/adapters/contracts/server/player-state/IPlayerStateSyncServer.d.ts +6 -0
- package/dist/adapters/contracts/server/player-state/IPlayerStateSyncServer.js +2 -0
- package/dist/adapters/contracts/server/player-state/index.d.ts +1 -0
- package/dist/adapters/contracts/server/player-state/index.js +1 -0
- package/dist/adapters/contracts/server/vehicle-lifecycle/IVehicleLifecycleServer.d.ts +5 -0
- package/dist/adapters/contracts/server/vehicle-lifecycle/IVehicleLifecycleServer.js +2 -0
- package/dist/adapters/contracts/server/vehicle-lifecycle/index.d.ts +2 -0
- package/dist/adapters/contracts/server/vehicle-lifecycle/index.js +2 -0
- package/dist/adapters/contracts/server/vehicle-lifecycle/types.d.ts +16 -0
- package/dist/adapters/contracts/server/vehicle-lifecycle/types.js +0 -0
- package/dist/adapters/contracts/transport/index.d.ts +4 -0
- package/dist/adapters/contracts/transport/index.js +4 -0
- package/dist/adapters/index.d.ts +3 -14
- package/dist/adapters/index.js +3 -20
- package/dist/adapters/node/node-capabilities.d.ts +11 -11
- package/dist/adapters/node/node-capabilities.js +15 -27
- package/dist/adapters/node/node-engine-events.d.ts +1 -1
- package/dist/adapters/node/node-engine-events.js +2 -1
- package/dist/adapters/node/node-entity-server.d.ts +2 -2
- package/dist/adapters/node/node-entity-server.js +2 -2
- package/dist/adapters/node/node-ped-appearance-client.d.ts +2 -2
- package/dist/adapters/node/node-ped-appearance-client.js +2 -2
- package/dist/adapters/node/node-platform.js +4 -4
- package/dist/adapters/node/node-player-server.d.ts +3 -2
- package/dist/adapters/node/node-player-server.js +8 -2
- package/dist/adapters/register-capabilities.d.ts +1 -1
- package/dist/adapters/register-capabilities.js +1 -3
- package/dist/adapters/register-client-capabilities.d.ts +3 -2
- package/dist/adapters/register-client-capabilities.js +16 -41
- package/dist/contracts/client.d.ts +5 -0
- package/dist/contracts/client.js +5 -0
- package/dist/contracts/server.d.ts +19 -0
- package/dist/contracts/server.js +19 -0
- package/dist/contracts.d.ts +4 -0
- package/dist/contracts.js +4 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/kernel/logger/client-log-console.d.ts +4 -0
- package/dist/kernel/logger/client-log-console.js +43 -0
- package/dist/kernel/logger/core-logger.d.ts +3 -1
- package/dist/kernel/logger/core-logger.js +4 -2
- package/dist/kernel/logger/index.d.ts +2 -0
- package/dist/kernel/logger/index.js +1 -0
- package/dist/kernel/logger/transports/dev-transport.factory.js +1 -1
- package/dist/kernel/logger/transports/simple-console.transport.js +13 -8
- package/dist/kernel-public.d.ts +1 -0
- package/dist/kernel-public.js +1 -0
- package/dist/runtime/client/adapter/client-adapter.d.ts +25 -0
- package/dist/runtime/client/adapter/client-adapter.js +11 -0
- package/dist/runtime/client/adapter/index.d.ts +15 -0
- package/dist/runtime/client/adapter/index.js +15 -0
- package/dist/runtime/client/adapter/local-player-bridge.d.ts +1 -0
- package/dist/runtime/client/adapter/local-player-bridge.js +1 -0
- package/dist/runtime/client/adapter/node-blip-bridge.d.ts +9 -0
- package/dist/runtime/client/adapter/node-blip-bridge.js +34 -0
- package/dist/runtime/client/adapter/node-client-adapter.d.ts +5 -0
- package/dist/runtime/client/adapter/node-client-adapter.js +50 -0
- package/dist/runtime/client/adapter/node-local-player-bridge.d.ts +8 -0
- package/dist/{adapters/fivem/fivem-hasher.js → runtime/client/adapter/node-local-player-bridge.js} +7 -9
- package/dist/runtime/client/adapter/node-log-console.d.ts +11 -0
- package/dist/runtime/client/adapter/node-log-console.js +48 -0
- package/dist/runtime/client/adapter/node-marker-bridge.d.ts +10 -0
- package/dist/runtime/client/adapter/node-marker-bridge.js +35 -0
- package/dist/runtime/client/adapter/node-notification-bridge.d.ts +5 -0
- package/dist/runtime/client/adapter/node-notification-bridge.js +16 -0
- package/dist/runtime/client/adapter/node-platform-bridge.d.ts +3 -0
- package/dist/{adapters/fivem/fivem-tick.js → runtime/client/adapter/node-platform-bridge.js} +5 -10
- package/dist/runtime/client/adapter/node-runtime-bridge.d.ts +24 -0
- package/dist/runtime/client/adapter/node-runtime-bridge.js +58 -0
- package/dist/runtime/client/adapter/node-spawn-bridge.d.ts +8 -0
- package/dist/runtime/client/adapter/node-spawn-bridge.js +18 -0
- package/dist/runtime/client/adapter/node-webview-bridge.d.ts +15 -0
- package/dist/runtime/client/adapter/node-webview-bridge.js +43 -0
- package/dist/runtime/client/adapter/platform-bridge.d.ts +1 -0
- package/dist/runtime/client/adapter/platform-bridge.js +1 -0
- package/dist/runtime/client/adapter/registry.d.ts +9 -0
- package/dist/runtime/client/adapter/registry.js +85 -0
- package/dist/runtime/client/adapter/runtime-bridge.d.ts +1 -0
- package/dist/runtime/client/adapter/runtime-bridge.js +1 -0
- package/dist/runtime/client/api.d.ts +2 -1
- package/dist/runtime/client/api.js +2 -1
- package/dist/runtime/client/client-bootstrap.js +51 -44
- package/dist/runtime/client/client-core.d.ts +2 -0
- package/dist/runtime/client/client-core.js +9 -0
- package/dist/runtime/client/client-runtime.d.ts +3 -0
- package/dist/runtime/client/client-runtime.js +3 -0
- package/dist/runtime/client/controllers/appearance.controller.d.ts +3 -1
- package/dist/runtime/client/controllers/appearance.controller.js +14 -4
- package/dist/runtime/client/controllers/spawner.controller.js +2 -0
- package/dist/runtime/client/decorators/controller.js +2 -10
- package/dist/runtime/client/decorators/onView.d.ts +3 -3
- package/dist/runtime/client/decorators/onView.js +3 -3
- package/dist/runtime/client/index.d.ts +1 -0
- package/dist/runtime/client/index.js +1 -0
- package/dist/runtime/client/library/create-client-library.js +9 -1
- package/dist/runtime/client/services/appearance.service.d.ts +2 -2
- package/dist/runtime/client/services/appearance.service.js +7 -4
- package/dist/runtime/client/services/blip.service.d.ts +6 -93
- package/dist/runtime/client/services/blip.service.js +58 -153
- package/dist/runtime/client/services/camera-effects.registry.d.ts +3 -0
- package/dist/runtime/client/services/camera-effects.registry.js +20 -7
- package/dist/runtime/client/services/camera.d.ts +3 -83
- package/dist/runtime/client/services/camera.js +37 -93
- package/dist/runtime/client/services/cinematic.d.ts +5 -1
- package/dist/runtime/client/services/cinematic.js +45 -30
- package/dist/runtime/client/services/index.d.ts +1 -0
- package/dist/runtime/client/services/index.js +1 -0
- package/dist/runtime/client/services/marker.service.d.ts +12 -63
- package/dist/runtime/client/services/marker.service.js +62 -97
- package/dist/runtime/client/services/notification.service.d.ts +6 -57
- package/dist/runtime/client/services/notification.service.js +43 -81
- package/dist/runtime/client/services/ped.service.d.ts +3 -130
- package/dist/runtime/client/services/ped.service.js +66 -198
- package/dist/runtime/client/services/progress.service.d.ts +5 -30
- package/dist/runtime/client/services/progress.service.js +73 -99
- package/dist/runtime/client/services/session-bridge.service.d.ts +15 -0
- package/dist/runtime/client/services/session-bridge.service.js +61 -0
- package/dist/runtime/client/services/spawn.service.d.ts +6 -56
- package/dist/runtime/client/services/spawn.service.js +34 -191
- package/dist/runtime/client/services/streaming.service.d.ts +5 -126
- package/dist/runtime/client/services/streaming.service.js +72 -217
- package/dist/runtime/client/services/textui.service.d.ts +5 -45
- package/dist/runtime/client/services/textui.service.js +55 -88
- package/dist/runtime/client/services/vehicle-client.service.d.ts +12 -149
- package/dist/runtime/client/services/vehicle-client.service.js +180 -326
- package/dist/runtime/client/services/vehicle.service.d.ts +3 -109
- package/dist/runtime/client/services/vehicle.service.js +94 -194
- package/dist/runtime/client/system/processors/export.processor.d.ts +3 -0
- package/dist/runtime/client/system/processors/export.processor.js +16 -3
- package/dist/runtime/client/system/processors/gameEvent.processor.d.ts +3 -0
- package/dist/runtime/client/system/processors/gameEvent.processor.js +16 -3
- package/dist/runtime/client/system/processors/interval.processor.d.ts +3 -0
- package/dist/runtime/client/system/processors/interval.processor.js +17 -4
- package/dist/runtime/client/system/processors/key.processor.d.ts +3 -0
- package/dist/runtime/client/system/processors/key.processor.js +18 -5
- package/dist/runtime/client/system/processors/localEvent.processor.d.ts +3 -0
- package/dist/runtime/client/system/processors/localEvent.processor.js +16 -3
- package/dist/runtime/client/system/processors/netEvent.processor.d.ts +3 -0
- package/dist/runtime/client/system/processors/netEvent.processor.js +16 -3
- package/dist/runtime/client/system/processors/onRpc.processor.js +1 -1
- package/dist/runtime/client/system/processors/resourceLifecycle.processor.d.ts +5 -0
- package/dist/runtime/client/system/processors/resourceLifecycle.processor.js +26 -7
- package/dist/runtime/client/system/processors/tick.processor.d.ts +3 -0
- package/dist/runtime/client/system/processors/tick.processor.js +16 -3
- package/dist/runtime/client/system/processors/view.processor.d.ts +3 -0
- package/dist/runtime/client/system/processors/view.processor.js +21 -10
- package/dist/runtime/client/system/processors.register.d.ts +1 -0
- package/dist/runtime/client/system/processors.register.js +8 -0
- package/dist/runtime/client/ui-bridge.d.ts +2 -114
- package/dist/runtime/client/ui-bridge.js +2 -194
- package/dist/runtime/client/webview-bridge.d.ts +31 -0
- package/dist/runtime/client/webview-bridge.js +97 -0
- package/dist/runtime/client/webview.service.d.ts +14 -0
- package/dist/runtime/client/webview.service.js +98 -0
- package/dist/runtime/server/adapter/index.d.ts +5 -0
- package/dist/runtime/server/adapter/index.js +5 -0
- package/dist/runtime/server/adapter/node-npc-lifecycle-server.d.ts +12 -0
- package/dist/runtime/server/adapter/node-npc-lifecycle-server.js +52 -0
- package/dist/runtime/server/adapter/node-player-appearance-lifecycle-server.d.ts +22 -0
- package/dist/runtime/server/adapter/node-player-appearance-lifecycle-server.js +94 -0
- package/dist/runtime/server/adapter/node-player-lifecycle-server.d.ts +11 -0
- package/dist/runtime/server/adapter/node-player-lifecycle-server.js +55 -0
- package/dist/runtime/server/adapter/node-player-state-sync-server.d.ts +12 -0
- package/dist/runtime/server/adapter/node-player-state-sync-server.js +49 -0
- package/dist/runtime/server/adapter/node-server-adapter.d.ts +5 -0
- package/dist/runtime/server/adapter/node-server-adapter.js +67 -0
- package/dist/runtime/server/adapter/node-vehicle-lifecycle-server.d.ts +13 -0
- package/dist/runtime/server/adapter/node-vehicle-lifecycle-server.js +57 -0
- package/dist/runtime/server/adapter/player-adapter.d.ts +28 -0
- package/dist/runtime/server/adapter/player-adapter.js +28 -0
- package/dist/runtime/server/adapter/registry.d.ts +26 -0
- package/dist/runtime/server/adapter/registry.js +101 -0
- package/dist/runtime/server/adapter/serialization.d.ts +6 -0
- package/dist/runtime/server/adapter/serialization.js +9 -0
- package/dist/runtime/server/adapter/server-adapter.d.ts +28 -0
- package/dist/runtime/server/adapter/server-adapter.js +14 -0
- package/dist/runtime/server/api.d.ts +2 -1
- package/dist/runtime/server/api.js +2 -1
- package/dist/runtime/server/apis/appearance.api.d.ts +5 -3
- package/dist/runtime/server/apis/appearance.api.js +20 -7
- package/dist/runtime/server/apis/npcs.api.d.ts +3 -4
- package/dist/runtime/server/apis/npcs.api.js +26 -56
- package/dist/runtime/server/apis/vehicle-modification.api.d.ts +3 -1
- package/dist/runtime/server/apis/vehicle-modification.api.js +9 -4
- package/dist/runtime/server/apis/vehicles.api.d.ts +12 -6
- package/dist/runtime/server/apis/vehicles.api.js +48 -36
- package/dist/runtime/server/bootstrap.js +15 -7
- package/dist/runtime/server/controllers/channel.controller.js +2 -1
- package/dist/runtime/server/controllers/command-export.controller.js +1 -1
- package/dist/runtime/server/controllers/player-export.controller.js +5 -4
- package/dist/runtime/server/controllers/session.controller.js +3 -2
- package/dist/runtime/server/controllers/vehicle.controller.d.ts +3 -1
- package/dist/runtime/server/controllers/vehicle.controller.js +10 -5
- package/dist/runtime/server/core.d.ts +2 -0
- package/dist/runtime/server/core.js +9 -1
- package/dist/runtime/server/decorators/onRuntimeEvent.d.ts +2 -1
- package/dist/runtime/server/entities/npc.d.ts +2 -0
- package/dist/runtime/server/entities/npc.js +3 -3
- package/dist/runtime/server/entities/player.d.ts +8 -11
- package/dist/runtime/server/entities/player.js +39 -28
- package/dist/runtime/server/entities/vehicle.js +2 -2
- package/dist/runtime/server/error-handler.js +13 -2
- package/dist/runtime/server/helpers/command-validation.helper.js +1 -1
- package/dist/runtime/server/implementations/local/player.local.d.ts +7 -3
- package/dist/runtime/server/implementations/local/player.local.js +23 -11
- package/dist/runtime/server/implementations/remote/channel.remote.d.ts +2 -1
- package/dist/runtime/server/implementations/remote/channel.remote.js +5 -2
- package/dist/runtime/server/implementations/remote/command.remote.d.ts +3 -1
- package/dist/runtime/server/implementations/remote/command.remote.js +9 -4
- package/dist/runtime/server/implementations/remote/player.remote.d.ts +7 -10
- package/dist/runtime/server/implementations/remote/player.remote.js +24 -29
- package/dist/runtime/server/library/create-server-library.js +17 -2
- package/dist/runtime/server/runtime.d.ts +3 -0
- package/dist/runtime/server/runtime.js +1 -15
- package/dist/runtime/server/services/appearance.service.d.ts +0 -95
- package/dist/runtime/server/services/appearance.service.js +15 -192
- package/dist/runtime/server/services/services.register.js +56 -24
- package/dist/runtime/server/system/processors/netEvent.processor.js +1 -1
- package/dist/runtime/server/system/processors/onRpc.processor.js +1 -1
- package/dist/runtime/server/system/processors/runtimeEvent.processor.d.ts +2 -1
- package/dist/runtime/server/system/processors/runtimeEvent.processor.js +1 -1
- package/dist/runtime/server/types/core-exports.types.d.ts +5 -0
- package/dist/runtime/shared/helpers/process-tuple-schema.d.ts +2 -0
- package/dist/runtime/shared/helpers/process-tuple-schema.js +29 -0
- package/package.json +21 -3
- package/dist/adapters/cfx/cfx-capabilities.d.ts +0 -16
- package/dist/adapters/cfx/cfx-capabilities.js +0 -70
- package/dist/adapters/cfx/cfx-platform.d.ts +0 -2
- package/dist/adapters/cfx/cfx-platform.js +0 -85
- package/dist/adapters/cfx/index.d.ts +0 -3
- package/dist/adapters/cfx/index.js +0 -3
- package/dist/adapters/cfx/runtime-profile.d.ts +0 -3
- package/dist/adapters/cfx/runtime-profile.js +0 -37
- package/dist/adapters/contracts/IPlatformCapabilities.d.ts +0 -79
- package/dist/adapters/contracts/IPlatformCapabilities.js +0 -27
- package/dist/adapters/contracts/client/IPedAppearanceClient.d.ts +0 -206
- package/dist/adapters/contracts/client/IPedAppearanceClient.js +0 -12
- package/dist/adapters/fivem/fivem-capabilities.d.ts +0 -18
- package/dist/adapters/fivem/fivem-capabilities.js +0 -61
- package/dist/adapters/fivem/fivem-engine-events.d.ts +0 -5
- package/dist/adapters/fivem/fivem-engine-events.js +0 -24
- package/dist/adapters/fivem/fivem-entity-server.d.ts +0 -26
- package/dist/adapters/fivem/fivem-entity-server.js +0 -87
- package/dist/adapters/fivem/fivem-exports.d.ts +0 -5
- package/dist/adapters/fivem/fivem-exports.js +0 -9
- package/dist/adapters/fivem/fivem-hasher.d.ts +0 -7
- package/dist/adapters/fivem/fivem-net-transport.d.ts +0 -1
- package/dist/adapters/fivem/fivem-ped-appearance-client.d.ts +0 -34
- package/dist/adapters/fivem/fivem-ped-appearance-client.js +0 -79
- package/dist/adapters/fivem/fivem-ped-appearance-server.d.ts +0 -14
- package/dist/adapters/fivem/fivem-ped-appearance-server.js +0 -22
- package/dist/adapters/fivem/fivem-ped-server.d.ts +0 -9
- package/dist/adapters/fivem/fivem-ped-server.js +0 -30
- package/dist/adapters/fivem/fivem-platform.d.ts +0 -5
- package/dist/adapters/fivem/fivem-platform.js +0 -74
- package/dist/adapters/fivem/fivem-player-server.d.ts +0 -24
- package/dist/adapters/fivem/fivem-player-server.js +0 -83
- package/dist/adapters/fivem/fivem-playerinfo.d.ts +0 -6
- package/dist/adapters/fivem/fivem-playerinfo.js +0 -10
- package/dist/adapters/fivem/fivem-resourceinfo.d.ts +0 -5
- package/dist/adapters/fivem/fivem-resourceinfo.js +0 -24
- package/dist/adapters/fivem/fivem-tick.d.ts +0 -7
- package/dist/adapters/fivem/fivem-vehicle-server.d.ts +0 -15
- package/dist/adapters/fivem/fivem-vehicle-server.js +0 -44
- package/dist/adapters/fivem/index.d.ts +0 -14
- package/dist/adapters/fivem/index.js +0 -16
- package/dist/adapters/fivem/transport/adapter.d.ts +0 -8
- package/dist/adapters/fivem/transport/adapter.js +0 -8
- package/dist/adapters/fivem/transport/fivem.events.d.ts +0 -8
- package/dist/adapters/fivem/transport/fivem.events.js +0 -36
- package/dist/adapters/fivem/transport/fivem.rpc.d.ts +0 -28
- package/dist/adapters/fivem/transport/fivem.rpc.js +0 -183
- package/dist/runtime/client/controllers/player-sync.controller.d.ts +0 -11
- package/dist/runtime/client/controllers/player-sync.controller.js +0 -51
- package/dist/runtime/client/player/player.d.ts +0 -262
- package/dist/runtime/client/player/player.js +0 -474
- package/dist/runtime/client/player/player.loader.d.ts +0 -1
- package/dist/runtime/client/player/player.loader.js +0 -18
- package/dist/runtime/server/helpers/process-tuple-schema.d.ts +0 -20
- package/dist/runtime/server/helpers/process-tuple-schema.js +0 -56
- /package/dist/adapters/{fivem/fivem-net-transport.js → contracts/client/spawn/types.js} +0 -0
|
@@ -11,6 +11,7 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
11
11
|
return function (target, key) { decorator(target, key, paramIndex); }
|
|
12
12
|
};
|
|
13
13
|
import { inject } from 'tsyringe';
|
|
14
|
+
import { EventsAPI } from '../../../adapters/contracts/transport/events.api';
|
|
14
15
|
import { Controller, OnNet } from '../decorators';
|
|
15
16
|
import { Player } from '../entities/player';
|
|
16
17
|
import { Vehicles } from '../apis/vehicles.api';
|
|
@@ -22,8 +23,10 @@ import { Vehicles } from '../apis/vehicles.api';
|
|
|
22
23
|
*/
|
|
23
24
|
let VehicleController = class VehicleController {
|
|
24
25
|
vehicleService;
|
|
25
|
-
|
|
26
|
+
events;
|
|
27
|
+
constructor(vehicleService, events) {
|
|
26
28
|
this.vehicleService = vehicleService;
|
|
29
|
+
this.events = events;
|
|
27
30
|
}
|
|
28
31
|
/**
|
|
29
32
|
* Handles client request to get vehicle data.
|
|
@@ -31,11 +34,11 @@ let VehicleController = class VehicleController {
|
|
|
31
34
|
handleGetData(player, networkId) {
|
|
32
35
|
const vehicle = this.vehicleService.getByNetworkId(networkId);
|
|
33
36
|
if (!vehicle) {
|
|
34
|
-
|
|
37
|
+
this.events.emit('opencore:vehicle:dataResult', player.clientID, null);
|
|
35
38
|
return null;
|
|
36
39
|
}
|
|
37
40
|
const data = vehicle.serialize();
|
|
38
|
-
|
|
41
|
+
this.events.emit('opencore:vehicle:dataResult', player.clientID, data);
|
|
39
42
|
return data;
|
|
40
43
|
}
|
|
41
44
|
/**
|
|
@@ -44,7 +47,7 @@ let VehicleController = class VehicleController {
|
|
|
44
47
|
handleGetPlayerVehicles(player) {
|
|
45
48
|
const vehicles = this.vehicleService.getPlayerVehicles(player.clientID);
|
|
46
49
|
const serialized = vehicles.map((v) => v.serialize());
|
|
47
|
-
|
|
50
|
+
this.events.emit('opencore:vehicle:playerVehiclesResult', player.clientID, serialized);
|
|
48
51
|
return serialized;
|
|
49
52
|
}
|
|
50
53
|
};
|
|
@@ -63,6 +66,8 @@ __decorate([
|
|
|
63
66
|
VehicleController = __decorate([
|
|
64
67
|
Controller(),
|
|
65
68
|
__param(0, inject(Vehicles)),
|
|
66
|
-
|
|
69
|
+
__param(1, inject(EventsAPI)),
|
|
70
|
+
__metadata("design:paramtypes", [Vehicles,
|
|
71
|
+
EventsAPI])
|
|
67
72
|
], VehicleController);
|
|
68
73
|
export { VehicleController };
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { type OpenCorePlugin } from './library/plugin';
|
|
2
2
|
import { type FrameworkMode, type ServerInitOptions } from './runtime';
|
|
3
|
+
import { OpenCoreServerAdapter } from './adapter';
|
|
3
4
|
export declare let _mode: FrameworkMode;
|
|
4
5
|
export interface OpenCoreInitOptions extends ServerInitOptions {
|
|
5
6
|
plugins?: OpenCorePlugin[];
|
|
6
7
|
}
|
|
8
|
+
export declare function useAdapter(adapter: OpenCoreServerAdapter): void;
|
|
7
9
|
export declare function init(options: OpenCoreInitOptions): Promise<void>;
|
|
@@ -4,11 +4,16 @@ import { Server } from './server.runtime';
|
|
|
4
4
|
import { initServer } from './bootstrap';
|
|
5
5
|
import { resolveRuntimeOptions, } from './runtime';
|
|
6
6
|
export let _mode;
|
|
7
|
+
let _pendingAdapter;
|
|
8
|
+
export function useAdapter(adapter) {
|
|
9
|
+
_pendingAdapter = adapter;
|
|
10
|
+
}
|
|
7
11
|
function createConfigAccessor(options) {
|
|
12
|
+
const runtimeOptions = { ...options };
|
|
8
13
|
return {
|
|
9
14
|
get(key) {
|
|
10
15
|
const segments = key.split('.').filter(Boolean);
|
|
11
|
-
let current =
|
|
16
|
+
let current = runtimeOptions;
|
|
12
17
|
for (const segment of segments) {
|
|
13
18
|
if (typeof current !== 'object' || current === null) {
|
|
14
19
|
return undefined;
|
|
@@ -20,6 +25,9 @@ function createConfigAccessor(options) {
|
|
|
20
25
|
};
|
|
21
26
|
}
|
|
22
27
|
export async function init(options) {
|
|
28
|
+
if (!options.adapter && _pendingAdapter) {
|
|
29
|
+
options = { ...options, adapter: _pendingAdapter };
|
|
30
|
+
}
|
|
23
31
|
const resolved = resolveRuntimeOptions(options);
|
|
24
32
|
_mode = resolved.mode;
|
|
25
33
|
const registry = new PluginRegistry();
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { RuntimeEventName } from '../../../adapters/contracts/runtime';
|
|
1
2
|
/**
|
|
2
3
|
* Registers a method as a server-side listener for a native Runtime event.
|
|
3
4
|
* Runtime === CitizenFX (Cfx)
|
|
@@ -22,4 +23,4 @@
|
|
|
22
23
|
* }
|
|
23
24
|
* ```
|
|
24
25
|
*/
|
|
25
|
-
export declare function OnRuntimeEvent(event:
|
|
26
|
+
export declare function OnRuntimeEvent(event: RuntimeEventName): (target: any, propertyKey: string) => void;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { NativeHandle } from 'src/runtime/core/nativehandle';
|
|
2
2
|
import { IEntityServer } from '../../../adapters/contracts/server/IEntityServer';
|
|
3
|
+
import { INpcLifecycleServer } from '../../../adapters/contracts/server/npc-lifecycle/INpcLifecycleServer';
|
|
3
4
|
import { IPedServer } from '../../../adapters/contracts/server/IPedServer';
|
|
4
5
|
import { Vector3 } from '../../../kernel/utils/vector3';
|
|
5
6
|
import { BaseEntity } from '../../core/entity';
|
|
@@ -8,6 +9,7 @@ import { SerializedNpcData } from '../types/npc.types';
|
|
|
8
9
|
export interface NpcAdapters {
|
|
9
10
|
entityServer: IEntityServer;
|
|
10
11
|
pedServer: IPedServer;
|
|
12
|
+
npcLifecycle: INpcLifecycleServer;
|
|
11
13
|
}
|
|
12
14
|
/**
|
|
13
15
|
* Immutable-ish runtime session snapshot for an NPC.
|
|
@@ -137,7 +137,7 @@ export class NPC extends BaseEntity {
|
|
|
137
137
|
setRoutingBucket(bucket) {
|
|
138
138
|
if (!this.exists)
|
|
139
139
|
return;
|
|
140
|
-
this.adapters.entityServer.
|
|
140
|
+
this.adapters.entityServer.setDimension(this.session.handle, bucket);
|
|
141
141
|
this.session.routingBucket = bucket;
|
|
142
142
|
this._dimension = bucket;
|
|
143
143
|
}
|
|
@@ -147,7 +147,7 @@ export class NPC extends BaseEntity {
|
|
|
147
147
|
* @returns Routing bucket.
|
|
148
148
|
*/
|
|
149
149
|
getRoutingBucket() {
|
|
150
|
-
return this.adapters.entityServer.
|
|
150
|
+
return this.adapters.entityServer.getDimension(this.session.handle);
|
|
151
151
|
}
|
|
152
152
|
/**
|
|
153
153
|
* Current dimension of the NPC.
|
|
@@ -272,7 +272,7 @@ export class NPC extends BaseEntity {
|
|
|
272
272
|
delete() {
|
|
273
273
|
if (!this.exists)
|
|
274
274
|
return;
|
|
275
|
-
this.adapters.
|
|
275
|
+
void this.adapters.npcLifecycle.delete({ handle: this.session.handle });
|
|
276
276
|
}
|
|
277
277
|
/**
|
|
278
278
|
* Serialize the NPC into a transport-friendly plain object.
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { IPlayerInfo } from '../../../adapters';
|
|
2
2
|
import { EventsAPI } from '../../../adapters/contracts/transport/events.api';
|
|
3
3
|
import { IEntityServer } from '../../../adapters/contracts/server/IEntityServer';
|
|
4
|
+
import { IPlayerLifecycleServer } from '../../../adapters/contracts/server/player-lifecycle/IPlayerLifecycleServer';
|
|
5
|
+
import { IPlayerStateSyncServer } from '../../../adapters/contracts/server/player-state/IPlayerStateSyncServer';
|
|
4
6
|
import { IPlayerServer } from '../../../adapters/contracts/server/IPlayerServer';
|
|
5
7
|
import type { PlayerIdentifier } from '../../../adapters/contracts/types/identifier';
|
|
6
8
|
import { Vector3 } from '../../../kernel/utils/vector3';
|
|
@@ -17,6 +19,8 @@ import { NativeHandle } from 'src/runtime/core/nativehandle';
|
|
|
17
19
|
export interface PlayerAdapters {
|
|
18
20
|
playerInfo: IPlayerInfo;
|
|
19
21
|
playerServer: IPlayerServer;
|
|
22
|
+
playerLifecycle: IPlayerLifecycleServer;
|
|
23
|
+
playerStateSync: IPlayerStateSyncServer;
|
|
20
24
|
entityServer: IEntityServer;
|
|
21
25
|
events: EventsAPI<'server'>;
|
|
22
26
|
defaultSpawnModel: string;
|
|
@@ -36,6 +40,7 @@ export declare class Player extends BaseEntity implements Spatial, NativeHandle
|
|
|
36
40
|
private readonly session;
|
|
37
41
|
private readonly adapters;
|
|
38
42
|
private _position;
|
|
43
|
+
private _model;
|
|
39
44
|
/**
|
|
40
45
|
* Creates a new Player entity instance.
|
|
41
46
|
* This is typically instantiated by the `PlayerService` upon connection.
|
|
@@ -117,23 +122,13 @@ export declare class Player extends BaseEntity implements Spatial, NativeHandle
|
|
|
117
122
|
* @param model - The ped model to use (default from platform capabilities)
|
|
118
123
|
*/
|
|
119
124
|
spawn(vector: Vector3, model?: string): void;
|
|
125
|
+
respawn(vector: Vector3, model?: string): void;
|
|
120
126
|
/**
|
|
121
127
|
* Disconnects the player from the server.
|
|
122
128
|
*
|
|
123
129
|
* @param reason - The message displayed to the player upon disconnection.
|
|
124
130
|
*/
|
|
125
131
|
kick(reason?: string): void;
|
|
126
|
-
/**
|
|
127
|
-
* Sets the routing bucket (virtual world/dimension) for the player.
|
|
128
|
-
* Players in different buckets cannot see or interact with each other.
|
|
129
|
-
*
|
|
130
|
-
* @param bucket - The bucket ID (0 is the default shared world).
|
|
131
|
-
*/
|
|
132
|
-
setRoutingBucket(bucket: number): void;
|
|
133
|
-
/**
|
|
134
|
-
* Gets the current routing bucket.
|
|
135
|
-
*/
|
|
136
|
-
getRoutingBucket(): number;
|
|
137
132
|
/**
|
|
138
133
|
* Sets the player dimension (alias for setRoutingBucket).
|
|
139
134
|
*/
|
|
@@ -218,6 +213,8 @@ export declare class Player extends BaseEntity implements Spatial, NativeHandle
|
|
|
218
213
|
* @param armor - Armor value to set (typically 0-100).
|
|
219
214
|
*/
|
|
220
215
|
setArmor(armor: number): void;
|
|
216
|
+
get model(): string | undefined;
|
|
217
|
+
set model(model: string);
|
|
221
218
|
/**
|
|
222
219
|
* Kills the player by setting health to 0.
|
|
223
220
|
*/
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { loggers } from '../../../kernel/logger';
|
|
1
2
|
import { BaseEntity } from '../../core/entity';
|
|
2
3
|
/**
|
|
3
4
|
* Core-level representation of a connected player on the server.
|
|
@@ -14,6 +15,7 @@ export class Player extends BaseEntity {
|
|
|
14
15
|
session;
|
|
15
16
|
adapters;
|
|
16
17
|
_position;
|
|
18
|
+
_model;
|
|
17
19
|
/**
|
|
18
20
|
* Creates a new Player entity instance.
|
|
19
21
|
* This is typically instantiated by the `PlayerService` upon connection.
|
|
@@ -133,7 +135,13 @@ export class Player extends BaseEntity {
|
|
|
133
135
|
* @param vector - The target coordinates (x, y, z).
|
|
134
136
|
*/
|
|
135
137
|
teleport(vector) {
|
|
136
|
-
|
|
138
|
+
const request = { position: vector };
|
|
139
|
+
void Promise.resolve(this.adapters.playerLifecycle.teleport(this.clientID.toString(), request)).catch((error) => {
|
|
140
|
+
loggers.spawn.error('Failed to teleport player', {
|
|
141
|
+
clientID: this.clientID,
|
|
142
|
+
error: error instanceof Error ? error.message : String(error),
|
|
143
|
+
});
|
|
144
|
+
});
|
|
137
145
|
}
|
|
138
146
|
/**
|
|
139
147
|
* Spawns the player at a position with a specific model.
|
|
@@ -142,7 +150,22 @@ export class Player extends BaseEntity {
|
|
|
142
150
|
* @param model - The ped model to use (default from platform capabilities)
|
|
143
151
|
*/
|
|
144
152
|
spawn(vector, model = this.adapters.defaultSpawnModel) {
|
|
145
|
-
|
|
153
|
+
const request = { position: vector, model };
|
|
154
|
+
void Promise.resolve(this.adapters.playerLifecycle.spawn(this.clientID.toString(), request)).catch((error) => {
|
|
155
|
+
loggers.spawn.error('Failed to spawn player', {
|
|
156
|
+
clientID: this.clientID,
|
|
157
|
+
error: error instanceof Error ? error.message : String(error),
|
|
158
|
+
});
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
respawn(vector, model = this.adapters.defaultSpawnModel) {
|
|
162
|
+
const request = { position: vector, model };
|
|
163
|
+
void Promise.resolve(this.adapters.playerLifecycle.respawn(this.clientID.toString(), request)).catch((error) => {
|
|
164
|
+
loggers.spawn.error('Failed to respawn player', {
|
|
165
|
+
clientID: this.clientID,
|
|
166
|
+
error: error instanceof Error ? error.message : String(error),
|
|
167
|
+
});
|
|
168
|
+
});
|
|
146
169
|
}
|
|
147
170
|
// ─────────────────────────────────────────────────────────────────
|
|
148
171
|
// Connection Management
|
|
@@ -158,33 +181,18 @@ export class Player extends BaseEntity {
|
|
|
158
181
|
// ─────────────────────────────────────────────────────────────────
|
|
159
182
|
// Dimension / Routing Bucket
|
|
160
183
|
// ─────────────────────────────────────────────────────────────────
|
|
161
|
-
/**
|
|
162
|
-
* Sets the routing bucket (virtual world/dimension) for the player.
|
|
163
|
-
* Players in different buckets cannot see or interact with each other.
|
|
164
|
-
*
|
|
165
|
-
* @param bucket - The bucket ID (0 is the default shared world).
|
|
166
|
-
*/
|
|
167
|
-
setRoutingBucket(bucket) {
|
|
168
|
-
this.adapters.playerServer.setRoutingBucket(this.clientID.toString(), bucket);
|
|
169
|
-
this._dimension = bucket;
|
|
170
|
-
}
|
|
171
|
-
/**
|
|
172
|
-
* Gets the current routing bucket.
|
|
173
|
-
*/
|
|
174
|
-
getRoutingBucket() {
|
|
175
|
-
return this.adapters.playerServer.getRoutingBucket(this.clientID.toString());
|
|
176
|
-
}
|
|
177
184
|
/**
|
|
178
185
|
* Sets the player dimension (alias for setRoutingBucket).
|
|
179
186
|
*/
|
|
180
187
|
set dimension(value) {
|
|
181
|
-
this.
|
|
188
|
+
this.adapters.playerServer.setDimension(this.clientID.toString(), value);
|
|
189
|
+
this._dimension = value;
|
|
182
190
|
}
|
|
183
191
|
/**
|
|
184
192
|
* Gets the player dimension (alias for getRoutingBucket).
|
|
185
193
|
*/
|
|
186
194
|
get dimension() {
|
|
187
|
-
return this.
|
|
195
|
+
return this.adapters.playerServer.getDimension(this.clientID.toString());
|
|
188
196
|
}
|
|
189
197
|
// ─────────────────────────────────────────────────────────────────
|
|
190
198
|
// Session Metadata (Transient)
|
|
@@ -276,8 +284,7 @@ export class Player extends BaseEntity {
|
|
|
276
284
|
* Gets the current health of the player's ped.
|
|
277
285
|
*/
|
|
278
286
|
getHealth() {
|
|
279
|
-
|
|
280
|
-
return this.adapters.entityServer.getHealth(ped);
|
|
287
|
+
return this.adapters.playerStateSync.getHealth(this.clientID.toString());
|
|
281
288
|
}
|
|
282
289
|
/**
|
|
283
290
|
* Sets the health of the player's ped.
|
|
@@ -285,15 +292,13 @@ export class Player extends BaseEntity {
|
|
|
285
292
|
* @param health - Health value to set (platform-specific range).
|
|
286
293
|
*/
|
|
287
294
|
setHealth(health) {
|
|
288
|
-
|
|
289
|
-
this.adapters.entityServer.setHealth(ped, health);
|
|
295
|
+
this.adapters.playerStateSync.setHealth(this.clientID.toString(), health);
|
|
290
296
|
}
|
|
291
297
|
/**
|
|
292
298
|
* Gets the current armor of the player's ped.
|
|
293
299
|
*/
|
|
294
300
|
getArmor() {
|
|
295
|
-
|
|
296
|
-
return this.adapters.entityServer.getArmor(ped);
|
|
301
|
+
return this.adapters.playerStateSync.getArmor(this.clientID.toString());
|
|
297
302
|
}
|
|
298
303
|
/**
|
|
299
304
|
* Sets the armor of the player's ped.
|
|
@@ -301,8 +306,14 @@ export class Player extends BaseEntity {
|
|
|
301
306
|
* @param armor - Armor value to set (typically 0-100).
|
|
302
307
|
*/
|
|
303
308
|
setArmor(armor) {
|
|
304
|
-
|
|
305
|
-
|
|
309
|
+
this.adapters.playerStateSync.setArmor(this.clientID.toString(), armor);
|
|
310
|
+
}
|
|
311
|
+
get model() {
|
|
312
|
+
return this._model;
|
|
313
|
+
}
|
|
314
|
+
set model(model) {
|
|
315
|
+
this.adapters.playerServer.setModel(this.clientID.toString(), model);
|
|
316
|
+
this._model = model;
|
|
306
317
|
}
|
|
307
318
|
/**
|
|
308
319
|
* Kills the player by setting health to 0.
|
|
@@ -154,13 +154,13 @@ export class Vehicle extends BaseEntity {
|
|
|
154
154
|
if (!this.exists) {
|
|
155
155
|
return this.session.routingBucket;
|
|
156
156
|
}
|
|
157
|
-
return this.adapters.entityServer.
|
|
157
|
+
return this.adapters.entityServer.getDimension(this.session.handle);
|
|
158
158
|
}
|
|
159
159
|
/** Sets routing bucket and updates local dimension snapshot. */
|
|
160
160
|
setRoutingBucket(bucket) {
|
|
161
161
|
if (!this.exists)
|
|
162
162
|
return;
|
|
163
|
-
this.adapters.entityServer.
|
|
163
|
+
this.adapters.entityServer.setDimension(this.session.handle, bucket);
|
|
164
164
|
this.session.routingBucket = bucket;
|
|
165
165
|
this._dimension = bucket;
|
|
166
166
|
}
|
|
@@ -1,5 +1,13 @@
|
|
|
1
|
+
import { GLOBAL_CONTAINER } from '../../kernel/di/container';
|
|
1
2
|
import { AppError, isAppError } from '../../kernel/error/app.error';
|
|
2
3
|
import { loggers } from '../../kernel/logger';
|
|
4
|
+
import { EventsAPI } from '../../adapters/contracts/transport/events.api';
|
|
5
|
+
function getServerEvents() {
|
|
6
|
+
if (!GLOBAL_CONTAINER.isRegistered(EventsAPI)) {
|
|
7
|
+
return null;
|
|
8
|
+
}
|
|
9
|
+
return GLOBAL_CONTAINER.resolve(EventsAPI);
|
|
10
|
+
}
|
|
3
11
|
function normalizeError(error, origin) {
|
|
4
12
|
if (isAppError(error)) {
|
|
5
13
|
return error;
|
|
@@ -21,16 +29,19 @@ export function handleCommandError(error, meta, playerId) {
|
|
|
21
29
|
details: appError.details,
|
|
22
30
|
});
|
|
23
31
|
if (playerId !== null) {
|
|
32
|
+
const events = getServerEvents();
|
|
33
|
+
if (!events)
|
|
34
|
+
return;
|
|
24
35
|
switch (appError.code) {
|
|
25
36
|
case 'ECONOMY:INSUFFICIENT_FUNDS':
|
|
26
37
|
case 'AUTH:PERMISSION_DENIED':
|
|
27
38
|
case 'AUTH:UNAUTHORIZED':
|
|
28
|
-
|
|
39
|
+
events.emit('chat:addMessage', playerId, {
|
|
29
40
|
args: ['^1Error', appError.message],
|
|
30
41
|
});
|
|
31
42
|
break;
|
|
32
43
|
default:
|
|
33
|
-
|
|
44
|
+
events.emit('chat:addMessage', playerId, {
|
|
34
45
|
args: ['^1Error', 'Ha ocurrido un error interno.'],
|
|
35
46
|
});
|
|
36
47
|
break;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import z from 'zod';
|
|
2
2
|
import { AppError } from '../../../kernel';
|
|
3
3
|
import { generateSchemaFromTypes } from '../system/schema-generator';
|
|
4
|
-
import { processTupleSchema } from '
|
|
4
|
+
import { processTupleSchema } from '../../shared/helpers/process-tuple-schema';
|
|
5
5
|
export async function validateAndExecuteCommand(meta, player, args, handler) {
|
|
6
6
|
const paramNames = meta.expectsPlayer ? meta.paramNames.slice(1) : meta.paramNames;
|
|
7
7
|
let schema = meta.schema;
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { IPlayerInfo } from '../../../../adapters';
|
|
2
|
-
import {
|
|
2
|
+
import { IPlatformContext } from '../../../../adapters/contracts/IPlatformContext';
|
|
3
3
|
import { EventsAPI } from '../../../../adapters/contracts/transport/events.api';
|
|
4
4
|
import { IEntityServer } from '../../../../adapters/contracts/server/IEntityServer';
|
|
5
|
+
import { IPlayerLifecycleServer } from '../../../../adapters/contracts/server/player-lifecycle/IPlayerLifecycleServer';
|
|
6
|
+
import { IPlayerStateSyncServer } from '../../../../adapters/contracts/server/player-state/IPlayerStateSyncServer';
|
|
5
7
|
import { IPlayerServer } from '../../../../adapters/contracts/server/IPlayerServer';
|
|
6
8
|
import { WorldContext } from '../../../core/world';
|
|
7
9
|
import { Player } from '../../entities';
|
|
@@ -22,11 +24,13 @@ export declare class LocalPlayerImplementation implements Players, PlayerSession
|
|
|
22
24
|
private readonly world;
|
|
23
25
|
private readonly playerInfo;
|
|
24
26
|
private readonly playerServer;
|
|
27
|
+
private readonly playerLifecycle;
|
|
28
|
+
private readonly playerStateSync;
|
|
25
29
|
private readonly entityServer;
|
|
26
30
|
private readonly events;
|
|
27
|
-
private readonly
|
|
31
|
+
private readonly platformContext;
|
|
28
32
|
private readonly playerAdapters;
|
|
29
|
-
constructor(world: WorldContext, playerInfo: IPlayerInfo, playerServer: IPlayerServer, entityServer: IEntityServer, events: EventsAPI<'server'>,
|
|
33
|
+
constructor(world: WorldContext, playerInfo: IPlayerInfo, playerServer: IPlayerServer, playerLifecycle: IPlayerLifecycleServer, playerStateSync: IPlayerStateSyncServer, entityServer: IEntityServer, events: EventsAPI<'server'>, platformContext: IPlatformContext);
|
|
30
34
|
private isPlayer;
|
|
31
35
|
/**
|
|
32
36
|
* Initializes a new player session for a connecting client.
|
|
@@ -12,13 +12,15 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
12
12
|
};
|
|
13
13
|
import { inject, injectable } from 'tsyringe';
|
|
14
14
|
import { IPlayerInfo } from '../../../../adapters';
|
|
15
|
-
import {
|
|
15
|
+
import { IPlatformContext } from '../../../../adapters/contracts/IPlatformContext';
|
|
16
16
|
import { EventsAPI } from '../../../../adapters/contracts/transport/events.api';
|
|
17
17
|
import { IEntityServer } from '../../../../adapters/contracts/server/IEntityServer';
|
|
18
|
+
import { IPlayerLifecycleServer } from '../../../../adapters/contracts/server/player-lifecycle/IPlayerLifecycleServer';
|
|
19
|
+
import { IPlayerStateSyncServer } from '../../../../adapters/contracts/server/player-state/IPlayerStateSyncServer';
|
|
18
20
|
import { IPlayerServer } from '../../../../adapters/contracts/server/IPlayerServer';
|
|
19
21
|
import { loggers } from '../../../../kernel/logger';
|
|
20
22
|
import { WorldContext } from '../../../core/world';
|
|
21
|
-
import {
|
|
23
|
+
import { createLocalServerPlayer } from '../../adapter/registry';
|
|
22
24
|
/**
|
|
23
25
|
* Service responsible for managing the lifecycle of player sessions.
|
|
24
26
|
* It acts as the central registry for all connected players, mapping FiveM client IDs
|
|
@@ -32,21 +34,27 @@ let LocalPlayerImplementation = class LocalPlayerImplementation {
|
|
|
32
34
|
world;
|
|
33
35
|
playerInfo;
|
|
34
36
|
playerServer;
|
|
37
|
+
playerLifecycle;
|
|
38
|
+
playerStateSync;
|
|
35
39
|
entityServer;
|
|
36
40
|
events;
|
|
37
|
-
|
|
41
|
+
platformContext;
|
|
38
42
|
playerAdapters;
|
|
39
|
-
constructor(world, playerInfo, playerServer, entityServer, events,
|
|
43
|
+
constructor(world, playerInfo, playerServer, playerLifecycle, playerStateSync, entityServer, events, platformContext) {
|
|
40
44
|
this.world = world;
|
|
41
45
|
this.playerInfo = playerInfo;
|
|
42
46
|
this.playerServer = playerServer;
|
|
47
|
+
this.playerLifecycle = playerLifecycle;
|
|
48
|
+
this.playerStateSync = playerStateSync;
|
|
43
49
|
this.entityServer = entityServer;
|
|
44
50
|
this.events = events;
|
|
45
|
-
this.
|
|
46
|
-
const defaultSpawnModel = this.
|
|
51
|
+
this.platformContext = platformContext;
|
|
52
|
+
const defaultSpawnModel = this.platformContext.defaultSpawnModel;
|
|
47
53
|
this.playerAdapters = {
|
|
48
54
|
playerInfo: this.playerInfo,
|
|
49
55
|
playerServer: this.playerServer,
|
|
56
|
+
playerLifecycle: this.playerLifecycle,
|
|
57
|
+
playerStateSync: this.playerStateSync,
|
|
50
58
|
entityServer: this.entityServer,
|
|
51
59
|
events: this.events,
|
|
52
60
|
defaultSpawnModel,
|
|
@@ -71,7 +79,7 @@ let LocalPlayerImplementation = class LocalPlayerImplementation {
|
|
|
71
79
|
identifiers,
|
|
72
80
|
meta: {},
|
|
73
81
|
};
|
|
74
|
-
const player =
|
|
82
|
+
const player = createLocalServerPlayer(session, this.playerAdapters);
|
|
75
83
|
this.world.add(player);
|
|
76
84
|
loggers.session.debug('Player session bound', {
|
|
77
85
|
clientID,
|
|
@@ -191,14 +199,18 @@ LocalPlayerImplementation = __decorate([
|
|
|
191
199
|
__param(0, inject(WorldContext)),
|
|
192
200
|
__param(1, inject(IPlayerInfo)),
|
|
193
201
|
__param(2, inject(IPlayerServer)),
|
|
194
|
-
__param(3, inject(
|
|
195
|
-
__param(4, inject(
|
|
196
|
-
__param(5, inject(
|
|
202
|
+
__param(3, inject(IPlayerLifecycleServer)),
|
|
203
|
+
__param(4, inject(IPlayerStateSyncServer)),
|
|
204
|
+
__param(5, inject(IEntityServer)),
|
|
205
|
+
__param(6, inject(EventsAPI)),
|
|
206
|
+
__param(7, inject(IPlatformContext)),
|
|
197
207
|
__metadata("design:paramtypes", [WorldContext,
|
|
198
208
|
IPlayerInfo,
|
|
199
209
|
IPlayerServer,
|
|
210
|
+
IPlayerLifecycleServer,
|
|
211
|
+
IPlayerStateSyncServer,
|
|
200
212
|
IEntityServer,
|
|
201
213
|
EventsAPI,
|
|
202
|
-
|
|
214
|
+
IPlatformContext])
|
|
203
215
|
], LocalPlayerImplementation);
|
|
204
216
|
export { LocalPlayerImplementation };
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { IExports } from '../../../../adapters/contracts/IExports';
|
|
2
|
+
import { IResourceInfo } from '../../../../adapters/contracts/IResourceInfo';
|
|
2
3
|
import { RGB } from '../../../../kernel/utils/rgb';
|
|
3
4
|
import { Channel } from '../../concepts/channel';
|
|
4
5
|
import { Player } from '../../entities/player';
|
|
@@ -21,7 +22,7 @@ export declare class RemoteChannelImplementation extends Channels {
|
|
|
21
22
|
private exportsService;
|
|
22
23
|
private readonly players;
|
|
23
24
|
private resourceName;
|
|
24
|
-
constructor(exportsService: IExports, players: Players);
|
|
25
|
+
constructor(exportsService: IExports, resourceInfo: IResourceInfo, players: Players);
|
|
25
26
|
/**
|
|
26
27
|
* Gets typed access to CORE resource exports.
|
|
27
28
|
*/
|
|
@@ -12,6 +12,7 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
12
12
|
};
|
|
13
13
|
import { inject, injectable } from 'tsyringe';
|
|
14
14
|
import { IExports } from '../../../../adapters/contracts/IExports';
|
|
15
|
+
import { IResourceInfo } from '../../../../adapters/contracts/IResourceInfo';
|
|
15
16
|
import { loggers } from '../../../../kernel/logger';
|
|
16
17
|
import { Channel } from '../../concepts/channel';
|
|
17
18
|
import { getRuntimeContext } from '../../runtime';
|
|
@@ -34,11 +35,11 @@ let RemoteChannelImplementation = class RemoteChannelImplementation extends Chan
|
|
|
34
35
|
exportsService;
|
|
35
36
|
players;
|
|
36
37
|
resourceName;
|
|
37
|
-
constructor(exportsService, players) {
|
|
38
|
+
constructor(exportsService, resourceInfo, players) {
|
|
38
39
|
super();
|
|
39
40
|
this.exportsService = exportsService;
|
|
40
41
|
this.players = players;
|
|
41
|
-
this.resourceName =
|
|
42
|
+
this.resourceName = resourceInfo.getCurrentResourceName();
|
|
42
43
|
}
|
|
43
44
|
/**
|
|
44
45
|
* Gets typed access to CORE resource exports.
|
|
@@ -159,7 +160,9 @@ let RemoteChannelImplementation = class RemoteChannelImplementation extends Chan
|
|
|
159
160
|
RemoteChannelImplementation = __decorate([
|
|
160
161
|
injectable(),
|
|
161
162
|
__param(0, inject(IExports)),
|
|
163
|
+
__param(1, inject(IResourceInfo)),
|
|
162
164
|
__metadata("design:paramtypes", [IExports,
|
|
165
|
+
IResourceInfo,
|
|
163
166
|
Players])
|
|
164
167
|
], RemoteChannelImplementation);
|
|
165
168
|
export { RemoteChannelImplementation };
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { IExports } from '../../../../adapters/contracts/IExports';
|
|
2
|
+
import { IResourceInfo } from '../../../../adapters/contracts/IResourceInfo';
|
|
2
3
|
import { CommandMetadata } from '../../decorators/command';
|
|
3
4
|
import { Player } from '../../entities';
|
|
4
5
|
import { CommandExecutionPort, type CommandInfo } from '../../ports/internal/command-execution.port';
|
|
@@ -23,9 +24,10 @@ import { CommandExecutionPort, type CommandInfo } from '../../ports/internal/com
|
|
|
23
24
|
*/
|
|
24
25
|
export declare class RemoteCommandImplementation extends CommandExecutionPort {
|
|
25
26
|
private exportsService;
|
|
27
|
+
private readonly resourceInfo;
|
|
26
28
|
private commands;
|
|
27
29
|
getCommandMeta(commandName: string): CommandMetadata | undefined;
|
|
28
|
-
constructor(exportsService: IExports);
|
|
30
|
+
constructor(exportsService: IExports, resourceInfo: IResourceInfo);
|
|
29
31
|
/**
|
|
30
32
|
* Gets typed access to CORE resource exports.
|
|
31
33
|
*/
|
|
@@ -12,6 +12,7 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
12
12
|
};
|
|
13
13
|
import { inject, injectable } from 'tsyringe';
|
|
14
14
|
import { IExports } from '../../../../adapters/contracts/IExports';
|
|
15
|
+
import { IResourceInfo } from '../../../../adapters/contracts/IResourceInfo';
|
|
15
16
|
import { AppError } from '../../../../kernel/error/app.error';
|
|
16
17
|
import { loggers } from '../../../../kernel/logger';
|
|
17
18
|
import { validateAndExecuteCommand } from '../../helpers/command-validation.helper';
|
|
@@ -38,13 +39,15 @@ import { CommandExecutionPort } from '../../ports/internal/command-execution.por
|
|
|
38
39
|
*/
|
|
39
40
|
let RemoteCommandImplementation = class RemoteCommandImplementation extends CommandExecutionPort {
|
|
40
41
|
exportsService;
|
|
42
|
+
resourceInfo;
|
|
41
43
|
commands = new Map();
|
|
42
44
|
getCommandMeta(commandName) {
|
|
43
45
|
return this.commands.get(commandName.toLowerCase())?.meta;
|
|
44
46
|
}
|
|
45
|
-
constructor(exportsService) {
|
|
47
|
+
constructor(exportsService, resourceInfo) {
|
|
46
48
|
super();
|
|
47
49
|
this.exportsService = exportsService;
|
|
50
|
+
this.resourceInfo = resourceInfo;
|
|
48
51
|
}
|
|
49
52
|
/**
|
|
50
53
|
* Gets typed access to CORE resource exports.
|
|
@@ -68,7 +71,7 @@ let RemoteCommandImplementation = class RemoteCommandImplementation extends Comm
|
|
|
68
71
|
*/
|
|
69
72
|
register(metadata, handler) {
|
|
70
73
|
const commandKey = metadata.command.toLowerCase();
|
|
71
|
-
const resourceName =
|
|
74
|
+
const resourceName = this.resourceInfo.getCurrentResourceName();
|
|
72
75
|
loggers.command.debug(`Registering command locally`, {
|
|
73
76
|
command: metadata.command,
|
|
74
77
|
resource: resourceName,
|
|
@@ -132,7 +135,7 @@ let RemoteCommandImplementation = class RemoteCommandImplementation extends Comm
|
|
|
132
135
|
if (!entry) {
|
|
133
136
|
loggers.command.error(`Handler not found for remote command: ${commandName}`, {
|
|
134
137
|
command: commandName,
|
|
135
|
-
resource:
|
|
138
|
+
resource: this.resourceInfo.getCurrentResourceName(),
|
|
136
139
|
});
|
|
137
140
|
throw new AppError('COMMAND:NOT_FOUND', `Command not found: ${commandName}`, 'server');
|
|
138
141
|
}
|
|
@@ -149,6 +152,8 @@ let RemoteCommandImplementation = class RemoteCommandImplementation extends Comm
|
|
|
149
152
|
RemoteCommandImplementation = __decorate([
|
|
150
153
|
injectable(),
|
|
151
154
|
__param(0, inject(IExports)),
|
|
152
|
-
|
|
155
|
+
__param(1, inject(IResourceInfo)),
|
|
156
|
+
__metadata("design:paramtypes", [IExports,
|
|
157
|
+
IResourceInfo])
|
|
153
158
|
], RemoteCommandImplementation);
|
|
154
159
|
export { RemoteCommandImplementation };
|