rock-mod 0.17.0 → 0.19.0

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.
Files changed (249) hide show
  1. package/dist/client/RockMod.d.ts +9 -1
  2. package/dist/client/RockMod.js +53 -32
  3. package/dist/client/console/common/IConsoleManager.d.ts +8 -0
  4. package/dist/client/console/common/IConsoleManager.js +1 -0
  5. package/dist/client/console/common/index.d.ts +1 -0
  6. package/dist/client/console/common/index.js +1 -0
  7. package/dist/client/console/index.d.ts +1 -0
  8. package/dist/client/console/index.js +1 -0
  9. package/dist/client/console/ragemp/RageConsoleManager.d.ts +9 -0
  10. package/dist/client/console/ragemp/RageConsoleManager.js +20 -0
  11. package/dist/client/entities/common/baseObject/IBaseObject.d.ts +4 -1
  12. package/dist/client/entities/common/baseObject/IBaseObjectsManager.d.ts +4 -1
  13. package/dist/client/entities/common/blip/IBlip.d.ts +3 -2
  14. package/dist/client/entities/common/camera/ICamera.d.ts +16 -0
  15. package/dist/client/entities/common/camera/ICamera.js +1 -0
  16. package/dist/client/entities/common/camera/ICameraManager.d.ts +14 -0
  17. package/dist/client/entities/common/camera/ICameraManager.js +1 -0
  18. package/dist/client/entities/common/camera/index.d.ts +2 -0
  19. package/dist/client/entities/common/camera/index.js +2 -0
  20. package/dist/client/entities/common/colshape/IColshapesManager.d.ts +1 -1
  21. package/dist/client/entities/common/entity/IEntitiesManager.d.ts +4 -1
  22. package/dist/client/entities/common/entity/IEntity.d.ts +21 -2
  23. package/dist/client/entities/common/index.d.ts +2 -0
  24. package/dist/client/entities/common/index.js +2 -0
  25. package/dist/client/entities/common/marker/IMarker.d.ts +6 -2
  26. package/dist/client/entities/common/marker/IMarkersManager.d.ts +2 -2
  27. package/dist/client/entities/common/object/IObject.d.ts +2 -2
  28. package/dist/client/entities/common/ped/IPed.d.ts +14 -0
  29. package/dist/client/entities/common/player/IPlayer.d.ts +36 -2
  30. package/dist/client/entities/common/player/IPlayersManager.d.ts +4 -0
  31. package/dist/client/entities/common/router/IEntityPoolRouter.d.ts +8 -0
  32. package/dist/client/entities/common/router/IEntityPoolRouter.js +1 -0
  33. package/dist/client/entities/common/router/index.d.ts +1 -0
  34. package/dist/client/entities/common/router/index.js +1 -0
  35. package/dist/client/entities/common/vehicle/IVehicle.d.ts +38 -0
  36. package/dist/client/entities/common/vehicle/IVehiclesManager.d.ts +1 -0
  37. package/dist/client/entities/common/worldObject/IWorldObject.d.ts +2 -1
  38. package/dist/client/entities/common/worldObject/IWorldObjectsIterator.d.ts +1 -1
  39. package/dist/client/entities/common/worldObject/IWorldObjectsManager.d.ts +1 -1
  40. package/dist/client/entities/ragemp/baseObject/RageBaseObject.d.ts +4 -1
  41. package/dist/client/entities/ragemp/baseObject/RageBaseObject.js +9 -0
  42. package/dist/client/entities/ragemp/baseObject/RageBaseObjectsManager.d.ts +3 -0
  43. package/dist/client/entities/ragemp/baseObject/RageBaseObjectsManager.js +22 -2
  44. package/dist/client/entities/ragemp/blip/RageBlip.d.ts +4 -1
  45. package/dist/client/entities/ragemp/blip/RageBlip.js +14 -5
  46. package/dist/client/entities/ragemp/camera/RageCamera.d.ts +19 -0
  47. package/dist/client/entities/ragemp/camera/RageCamera.js +43 -0
  48. package/dist/client/entities/ragemp/camera/RageCameraManager.d.ts +9 -0
  49. package/dist/client/entities/ragemp/camera/RageCameraManager.js +26 -0
  50. package/dist/client/entities/ragemp/entity/RageEntitiesManager.d.ts +3 -0
  51. package/dist/client/entities/ragemp/entity/RageEntitiesManager.js +5 -0
  52. package/dist/client/entities/ragemp/entity/RageEntity.d.ts +20 -1
  53. package/dist/client/entities/ragemp/entity/RageEntity.js +57 -0
  54. package/dist/client/entities/ragemp/marker/RageMarker.d.ts +6 -2
  55. package/dist/client/entities/ragemp/marker/RageMarker.js +16 -1
  56. package/dist/client/entities/ragemp/object/RageObject.d.ts +3 -3
  57. package/dist/client/entities/ragemp/object/RageObject.js +5 -5
  58. package/dist/client/entities/ragemp/object/RageObjectsManager.d.ts +2 -0
  59. package/dist/client/entities/ragemp/object/RageObjectsManager.js +18 -0
  60. package/dist/client/entities/ragemp/ped/RagePed.d.ts +14 -0
  61. package/dist/client/entities/ragemp/ped/RagePed.js +46 -0
  62. package/dist/client/entities/ragemp/ped/RagePedsManager.d.ts +2 -0
  63. package/dist/client/entities/ragemp/ped/RagePedsManager.js +18 -0
  64. package/dist/client/entities/ragemp/player/RagePlayer.d.ts +36 -2
  65. package/dist/client/entities/ragemp/player/RagePlayer.js +111 -3
  66. package/dist/client/entities/ragemp/player/RagePlayersManager.d.ts +8 -4
  67. package/dist/client/entities/ragemp/player/RagePlayersManager.js +41 -18
  68. package/dist/client/entities/ragemp/router/RageEntityPoolRouter.d.ts +12 -0
  69. package/dist/client/entities/ragemp/router/RageEntityPoolRouter.js +65 -0
  70. package/dist/client/entities/ragemp/vehicle/RageVehicle.d.ts +35 -1
  71. package/dist/client/entities/ragemp/vehicle/RageVehicle.js +102 -0
  72. package/dist/client/entities/ragemp/vehicle/RageVehiclesManager.d.ts +3 -0
  73. package/dist/client/entities/ragemp/vehicle/RageVehiclesManager.js +21 -0
  74. package/dist/client/entities/ragemp/worldObject/RageWorldObject.d.ts +1 -0
  75. package/dist/client/entities/ragemp/worldObject/RageWorldObject.js +3 -0
  76. package/dist/client/factories/common/IManagersFactory.d.ts +27 -2
  77. package/dist/client/factories/ragemp/RageManagersFactory.d.ts +56 -10
  78. package/dist/client/factories/ragemp/RageManagersFactory.js +103 -11
  79. package/dist/client/game/common/IGameManagers.d.ts +44 -0
  80. package/dist/client/game/common/IGameManagers.js +1 -0
  81. package/dist/client/game/common/browser/IBrowserManager.d.ts +5 -0
  82. package/dist/client/game/common/browser/IBrowserManager.js +1 -0
  83. package/dist/client/game/common/browser/index.d.ts +1 -0
  84. package/dist/client/game/common/browser/index.js +1 -0
  85. package/dist/client/game/common/camera/IGameCameraManager.d.ts +4 -0
  86. package/dist/client/game/common/camera/IGameCameraManager.js +1 -0
  87. package/dist/client/game/common/camera/index.d.ts +1 -0
  88. package/dist/client/game/common/camera/index.js +1 -0
  89. package/dist/client/game/common/chat/IChatManager.d.ts +4 -0
  90. package/dist/client/game/common/chat/IChatManager.js +1 -0
  91. package/dist/client/game/common/chat/index.d.ts +1 -0
  92. package/dist/client/game/common/chat/index.js +1 -0
  93. package/dist/client/game/common/controls/IControlsManager.d.ts +6 -0
  94. package/dist/client/game/common/controls/IControlsManager.js +1 -0
  95. package/dist/client/game/common/controls/index.d.ts +1 -0
  96. package/dist/client/game/common/controls/index.js +1 -0
  97. package/dist/client/game/common/cursor/ICursorManager.d.ts +5 -0
  98. package/dist/client/game/common/cursor/ICursorManager.js +1 -0
  99. package/dist/client/game/common/cursor/index.d.ts +1 -0
  100. package/dist/client/game/common/cursor/index.js +1 -0
  101. package/dist/client/game/common/gameplay/IGameplayManager.d.ts +5 -0
  102. package/dist/client/game/common/gameplay/IGameplayManager.js +1 -0
  103. package/dist/client/game/common/gameplay/index.d.ts +1 -0
  104. package/dist/client/game/common/gameplay/index.js +1 -0
  105. package/dist/client/game/common/graphics/IGraphicsManager.d.ts +14 -0
  106. package/dist/client/game/common/graphics/IGraphicsManager.js +1 -0
  107. package/dist/client/game/common/graphics/index.d.ts +1 -0
  108. package/dist/client/game/common/graphics/index.js +1 -0
  109. package/dist/client/game/common/gui/IGuiManager.d.ts +3 -0
  110. package/dist/client/game/common/gui/IGuiManager.js +1 -0
  111. package/dist/client/game/common/gui/index.d.ts +1 -0
  112. package/dist/client/game/common/gui/index.js +1 -0
  113. package/dist/client/game/common/index.d.ts +22 -0
  114. package/dist/client/game/common/index.js +22 -0
  115. package/dist/client/game/common/keys/IKeysManager.d.ts +6 -0
  116. package/dist/client/game/common/keys/IKeysManager.js +1 -0
  117. package/dist/client/game/common/keys/index.d.ts +1 -0
  118. package/dist/client/game/common/keys/index.js +1 -0
  119. package/dist/client/game/common/localPlayer/ILocalPlayerManager.d.ts +4 -0
  120. package/dist/client/game/common/localPlayer/ILocalPlayerManager.js +1 -0
  121. package/dist/client/game/common/localPlayer/index.d.ts +1 -0
  122. package/dist/client/game/common/localPlayer/index.js +1 -0
  123. package/dist/client/game/common/nametags/INametagsManager.d.ts +3 -0
  124. package/dist/client/game/common/nametags/INametagsManager.js +1 -0
  125. package/dist/client/game/common/nametags/index.d.ts +1 -0
  126. package/dist/client/game/common/nametags/index.js +1 -0
  127. package/dist/client/game/common/native/INativeCallerManager.d.ts +3 -0
  128. package/dist/client/game/common/native/INativeCallerManager.js +1 -0
  129. package/dist/client/game/common/native/index.d.ts +1 -0
  130. package/dist/client/game/common/native/index.js +1 -0
  131. package/dist/client/game/common/object/IGameObjectManager.d.ts +3 -0
  132. package/dist/client/game/common/object/IGameObjectManager.js +1 -0
  133. package/dist/client/game/common/object/index.d.ts +1 -0
  134. package/dist/client/game/common/object/index.js +1 -0
  135. package/dist/client/game/common/pathfind/IPathfindManager.d.ts +8 -0
  136. package/dist/client/game/common/pathfind/IPathfindManager.js +1 -0
  137. package/dist/client/game/common/pathfind/index.d.ts +1 -0
  138. package/dist/client/game/common/pathfind/index.js +1 -0
  139. package/dist/client/game/common/raycasting/IRaycastingManager.d.ts +15 -0
  140. package/dist/client/game/common/raycasting/IRaycastingManager.js +1 -0
  141. package/dist/client/game/common/raycasting/index.d.ts +1 -0
  142. package/dist/client/game/common/raycasting/index.js +1 -0
  143. package/dist/client/game/common/storage/IStorageManager.d.ts +6 -0
  144. package/dist/client/game/common/storage/IStorageManager.js +1 -0
  145. package/dist/client/game/common/storage/index.d.ts +1 -0
  146. package/dist/client/game/common/storage/index.js +1 -0
  147. package/dist/client/game/common/streaming/IStreamingManager.d.ts +12 -0
  148. package/dist/client/game/common/streaming/IStreamingManager.js +1 -0
  149. package/dist/client/game/common/streaming/index.d.ts +1 -0
  150. package/dist/client/game/common/streaming/index.js +1 -0
  151. package/dist/client/game/common/ui/IUiManager.d.ts +11 -0
  152. package/dist/client/game/common/ui/IUiManager.js +1 -0
  153. package/dist/client/game/common/ui/index.d.ts +1 -0
  154. package/dist/client/game/common/ui/index.js +1 -0
  155. package/dist/client/game/common/voiceChat/IVoiceChatManager.d.ts +4 -0
  156. package/dist/client/game/common/voiceChat/IVoiceChatManager.js +1 -0
  157. package/dist/client/game/common/voiceChat/index.d.ts +1 -0
  158. package/dist/client/game/common/voiceChat/index.js +1 -0
  159. package/dist/client/game/common/weapon/IWeaponManager.d.ts +3 -0
  160. package/dist/client/game/common/weapon/IWeaponManager.js +1 -0
  161. package/dist/client/game/common/weapon/index.d.ts +1 -0
  162. package/dist/client/game/common/weapon/index.js +1 -0
  163. package/dist/client/game/common/zone/IZoneManager.d.ts +4 -0
  164. package/dist/client/game/common/zone/IZoneManager.js +1 -0
  165. package/dist/client/game/common/zone/index.d.ts +1 -0
  166. package/dist/client/game/common/zone/index.js +1 -0
  167. package/dist/client/game/index.d.ts +1 -0
  168. package/dist/client/game/index.js +1 -0
  169. package/dist/client/game/ragemp/browser/RageBrowserManager.d.ts +7 -0
  170. package/dist/client/game/ragemp/browser/RageBrowserManager.js +19 -0
  171. package/dist/client/game/ragemp/camera/RageGameCameraManager.d.ts +5 -0
  172. package/dist/client/game/ragemp/camera/RageGameCameraManager.js +8 -0
  173. package/dist/client/game/ragemp/chat/RageChatManager.d.ts +5 -0
  174. package/dist/client/game/ragemp/chat/RageChatManager.js +8 -0
  175. package/dist/client/game/ragemp/controls/RageControlsManager.d.ts +7 -0
  176. package/dist/client/game/ragemp/controls/RageControlsManager.js +14 -0
  177. package/dist/client/game/ragemp/cursor/RageCursorManager.d.ts +6 -0
  178. package/dist/client/game/ragemp/cursor/RageCursorManager.js +10 -0
  179. package/dist/client/game/ragemp/gameplay/RageGameplayManager.d.ts +6 -0
  180. package/dist/client/game/ragemp/gameplay/RageGameplayManager.js +8 -0
  181. package/dist/client/game/ragemp/graphics/RageGraphicsManager.d.ts +8 -0
  182. package/dist/client/game/ragemp/graphics/RageGraphicsManager.js +30 -0
  183. package/dist/client/game/ragemp/gui/RageGuiManager.d.ts +4 -0
  184. package/dist/client/game/ragemp/gui/RageGuiManager.js +5 -0
  185. package/dist/client/game/ragemp/keys/RageKeysManager.d.ts +7 -0
  186. package/dist/client/game/ragemp/keys/RageKeysManager.js +14 -0
  187. package/dist/client/game/ragemp/localPlayer/RageLocalPlayerManager.d.ts +5 -0
  188. package/dist/client/game/ragemp/localPlayer/RageLocalPlayerManager.js +8 -0
  189. package/dist/client/game/ragemp/nametags/RageNametagsManager.d.ts +4 -0
  190. package/dist/client/game/ragemp/nametags/RageNametagsManager.js +5 -0
  191. package/dist/client/game/ragemp/native/RageNativeCallerManager.d.ts +4 -0
  192. package/dist/client/game/ragemp/native/RageNativeCallerManager.js +5 -0
  193. package/dist/client/game/ragemp/object/RageGameObjectManager.d.ts +4 -0
  194. package/dist/client/game/ragemp/object/RageGameObjectManager.js +5 -0
  195. package/dist/client/game/ragemp/pathfind/RagePathfindManager.d.ts +5 -0
  196. package/dist/client/game/ragemp/pathfind/RagePathfindManager.js +5 -0
  197. package/dist/client/game/ragemp/raycasting/RageRaycastingManager.d.ts +8 -0
  198. package/dist/client/game/ragemp/raycasting/RageRaycastingManager.js +41 -0
  199. package/dist/client/game/ragemp/storage/RageStorageManager.d.ts +7 -0
  200. package/dist/client/game/ragemp/storage/RageStorageManager.js +20 -0
  201. package/dist/client/game/ragemp/streaming/RageStreamingManager.d.ts +13 -0
  202. package/dist/client/game/ragemp/streaming/RageStreamingManager.js +30 -0
  203. package/dist/client/game/ragemp/ui/RageUiManager.d.ts +12 -0
  204. package/dist/client/game/ragemp/ui/RageUiManager.js +28 -0
  205. package/dist/client/game/ragemp/voiceChat/RageVoiceChatManager.d.ts +5 -0
  206. package/dist/client/game/ragemp/voiceChat/RageVoiceChatManager.js +8 -0
  207. package/dist/client/game/ragemp/weapon/RageWeaponManager.d.ts +4 -0
  208. package/dist/client/game/ragemp/weapon/RageWeaponManager.js +5 -0
  209. package/dist/client/game/ragemp/zone/RageZoneManager.d.ts +5 -0
  210. package/dist/client/game/ragemp/zone/RageZoneManager.js +5 -0
  211. package/dist/client/index.d.ts +3 -0
  212. package/dist/client/index.js +2 -0
  213. package/dist/client/net/common/INetManager.d.ts +2 -0
  214. package/dist/client/net/common/dataHandler/IDataHandler.d.ts +4 -0
  215. package/dist/client/net/common/dataHandler/IDataHandler.js +1 -0
  216. package/dist/client/net/common/events/IEventsBridge.d.ts +4 -0
  217. package/dist/client/net/common/events/IEventsBridge.js +1 -0
  218. package/dist/client/net/common/events/IEventsManager.d.ts +7 -3
  219. package/dist/client/net/common/events/types.d.ts +35 -2
  220. package/dist/client/net/common/events/types.js +11 -0
  221. package/dist/client/net/common/rpc/IRPCManager.d.ts +1 -1
  222. package/dist/client/net/ragemp/RageNetManager.d.ts +5 -0
  223. package/dist/client/net/ragemp/RageNetManager.js +11 -0
  224. package/dist/client/net/ragemp/dataHandler/RageDataHandler.d.ts +7 -0
  225. package/dist/client/net/ragemp/dataHandler/RageDataHandler.js +14 -0
  226. package/dist/client/net/ragemp/events/RageEventsBridge.d.ts +12 -0
  227. package/dist/client/net/ragemp/events/RageEventsBridge.js +137 -0
  228. package/dist/client/net/ragemp/events/RageEventsManager.d.ts +10 -9
  229. package/dist/client/net/ragemp/events/RageEventsManager.js +12 -0
  230. package/dist/client/net/ragemp/rpc/RageRPCManager.d.ts +1 -1
  231. package/dist/server/entities/ragemp/baseObject/RageBaseObjectsManager.d.ts +1 -0
  232. package/dist/server/entities/ragemp/baseObject/RageBaseObjectsManager.js +10 -1
  233. package/dist/server/entities/ragemp/player/RagePlayersManager.js +28 -1
  234. package/dist/server/net/altv/events/AltVEventsManager.d.ts +1 -0
  235. package/dist/server/net/altv/events/AltVEventsManager.js +3 -0
  236. package/dist/server/net/common/events/IEventsManager.d.ts +1 -0
  237. package/dist/server/net/common/events/types.d.ts +11 -1
  238. package/dist/server/net/common/events/types.js +5 -0
  239. package/dist/server/net/mock/events/MockEventsManager.d.ts +1 -0
  240. package/dist/server/net/mock/events/MockEventsManager.js +3 -0
  241. package/dist/server/net/ragemp/events/RageEventsManager.d.ts +1 -0
  242. package/dist/server/net/ragemp/events/RageEventsManager.js +5 -0
  243. package/dist/shared/common/utils/color/RGBA.d.ts +3 -1
  244. package/dist/shared/entities/IBaseObject.d.ts +6 -1
  245. package/dist/shared/entities/IBaseObject.js +1 -0
  246. package/dist/shared/net/common/events/types.d.ts +6 -1
  247. package/dist/shared/net/common/events/types.js +2 -0
  248. package/dist/shared/tsconfig.tsbuildinfo +1 -1
  249. package/package.json +17 -2
@@ -1,10 +1,15 @@
1
1
  import { type INetManager } from "../common/INetManager";
2
2
  import { RageEventsManager } from "./events/RageEventsManager";
3
3
  import { RageRPCManager } from "./rpc/RageRPCManager";
4
+ import { type IDataHandler } from "../../net/common/dataHandler/IDataHandler";
4
5
  export declare class RageNetManager implements INetManager {
5
6
  private readonly _eventsManager;
6
7
  private readonly _rpcManager;
8
+ private readonly _eventsBridge;
9
+ private readonly _dataHandler;
10
+ private readonly _entityPoolRouter;
7
11
  get events(): RageEventsManager;
8
12
  get rpc(): RageRPCManager;
13
+ get dataHandler(): IDataHandler;
9
14
  constructor();
10
15
  }
@@ -1,5 +1,8 @@
1
1
  import { RageEventsManager } from "./events/RageEventsManager";
2
+ import { RageEventsBridge } from "./events/RageEventsBridge";
2
3
  import { RageRPCManager } from "./rpc/RageRPCManager";
4
+ import { RageDataHandler } from "../../net/ragemp/dataHandler/RageDataHandler";
5
+ import { RageEntityPoolRouter } from "../../entities/ragemp/router/RageEntityPoolRouter";
3
6
  export class RageNetManager {
4
7
  get events() {
5
8
  return this._eventsManager;
@@ -7,8 +10,16 @@ export class RageNetManager {
7
10
  get rpc() {
8
11
  return this._rpcManager;
9
12
  }
13
+ get dataHandler() {
14
+ return this._dataHandler;
15
+ }
10
16
  constructor() {
17
+ this._entityPoolRouter = new RageEntityPoolRouter();
11
18
  this._eventsManager = new RageEventsManager();
12
19
  this._rpcManager = new RageRPCManager();
20
+ this._eventsBridge = new RageEventsBridge(this._eventsManager, this._entityPoolRouter);
21
+ this._dataHandler = new RageDataHandler(this._entityPoolRouter);
22
+ this._eventsBridge.registerRawEvents();
23
+ this._eventsBridge.registerServerEvents();
13
24
  }
14
25
  }
@@ -0,0 +1,7 @@
1
+ import { type IEntity, type IEntityPoolRouter } from "../../../entities";
2
+ import { type IDataHandler } from "../../../net/common/dataHandler/IDataHandler";
3
+ export declare class RageDataHandler implements IDataHandler {
4
+ private readonly _entityPoolRouter;
5
+ constructor(entityPoolRouter: IEntityPoolRouter);
6
+ addDataHandler(key: string, callback: (entity: IEntity, value: unknown, oldValue?: unknown) => void): void;
7
+ }
@@ -0,0 +1,14 @@
1
+ export class RageDataHandler {
2
+ constructor(entityPoolRouter) {
3
+ this._entityPoolRouter = entityPoolRouter;
4
+ }
5
+ addDataHandler(key, callback) {
6
+ mp.events.addDataHandler(key, (mpEntity, value, oldValue) => {
7
+ const entity = this._entityPoolRouter.resolveFromMp(mpEntity);
8
+ if (!entity) {
9
+ return;
10
+ }
11
+ callback(entity, value, oldValue);
12
+ });
13
+ }
14
+ }
@@ -0,0 +1,12 @@
1
+ import { type IEntityPoolRouter } from "../../../entities/common";
2
+ import { type IEventsBridge } from "../../../net/common/events/IEventsBridge";
3
+ import { type IEventsManager } from "../../../net/common/events/IEventsManager";
4
+ export declare class RageEventsBridge implements IEventsBridge {
5
+ private readonly _events;
6
+ private readonly _entityPoolRouter;
7
+ constructor(events: IEventsManager, entityPoolRouter: IEntityPoolRouter);
8
+ registerRawEvents(): void;
9
+ registerServerEvents(): void;
10
+ private get _rockMod();
11
+ private _syncEntityPools;
12
+ }
@@ -0,0 +1,137 @@
1
+ import { ClientInternalEventName } from "../../../net/common/events/types";
2
+ import { RockMod } from "../../../RockMod";
3
+ import { ServerToClientEventName } from "../../../../shared/net/common/events/types";
4
+ import { Vector3D } from "../../../../shared/common/utils";
5
+ export class RageEventsBridge {
6
+ constructor(events, entityPoolRouter) {
7
+ this._events = events;
8
+ this._entityPoolRouter = entityPoolRouter;
9
+ }
10
+ registerRawEvents() {
11
+ this._events.onRaw({
12
+ playerReady: () => {
13
+ var _a;
14
+ const playersManager = (_a = this._rockMod) === null || _a === void 0 ? void 0 : _a.players;
15
+ if (!playersManager) {
16
+ return;
17
+ }
18
+ playersManager.syncWithMpPool();
19
+ this._syncEntityPools();
20
+ const localPlayer = playersManager.findLocalPlayer();
21
+ if (!localPlayer) {
22
+ return;
23
+ }
24
+ this._events.emitInternal(ClientInternalEventName.PlayerReady, localPlayer);
25
+ },
26
+ playerJoin: (mpPlayer) => {
27
+ const player = this._entityPoolRouter.registerFromMp(mpPlayer);
28
+ if (!player) {
29
+ return;
30
+ }
31
+ this._events.emitInternal(ClientInternalEventName.PlayerConnected, player);
32
+ },
33
+ playerQuit: (mpPlayer) => {
34
+ var _a;
35
+ const playersManager = (_a = this._rockMod) === null || _a === void 0 ? void 0 : _a.players;
36
+ if (!playersManager) {
37
+ return;
38
+ }
39
+ const player = playersManager.unregisterById(mpPlayer.id);
40
+ if (!player) {
41
+ return;
42
+ }
43
+ this._events.emitInternal(ClientInternalEventName.PlayerDisconnected, player);
44
+ },
45
+ entityStreamIn: (mpEntity) => {
46
+ const entity = this._entityPoolRouter.resolveFromMp(mpEntity);
47
+ if (!entity) {
48
+ return;
49
+ }
50
+ this._events.emitInternal(ClientInternalEventName.EntityStreamIn, entity);
51
+ },
52
+ entityStreamOut: (mpEntity) => {
53
+ const entity = this._entityPoolRouter.resolveFromMp(mpEntity);
54
+ if (!entity) {
55
+ return;
56
+ }
57
+ this._events.emitInternal(ClientInternalEventName.EntityStreamOut, entity);
58
+ },
59
+ playerEnterVehicle: (mpVehicle, seat) => {
60
+ const vehicle = this._entityPoolRouter.registerFromMp(mpVehicle);
61
+ if (!vehicle) {
62
+ return;
63
+ }
64
+ this._events.emitInternal(ClientInternalEventName.PlayerEnterVehicle, vehicle, seat);
65
+ },
66
+ playerLeaveVehicle: (mpVehicle, seat) => {
67
+ const vehicle = this._entityPoolRouter.resolveFromMp(mpVehicle);
68
+ if (!vehicle) {
69
+ return;
70
+ }
71
+ this._events.emitInternal(ClientInternalEventName.PlayerLeaveVehicle, vehicle, seat);
72
+ },
73
+ playerDeath: (mpPlayer) => {
74
+ const player = this._entityPoolRouter.registerFromMp(mpPlayer);
75
+ if (!player) {
76
+ return;
77
+ }
78
+ this._events.emitInternal(ClientInternalEventName.PlayerDeath, player);
79
+ },
80
+ playerSpawn: (mpPlayer) => {
81
+ const player = this._entityPoolRouter.registerFromMp(mpPlayer);
82
+ if (!player) {
83
+ return;
84
+ }
85
+ this._events.emitInternal(ClientInternalEventName.PlayerSpawn, player);
86
+ },
87
+ playerWeaponShot: () => {
88
+ this._events.emitInternal(ClientInternalEventName.PlayerWeaponShot);
89
+ },
90
+ browserDomReady: () => {
91
+ this._events.emitInternal(ClientInternalEventName.BrowserDomReady);
92
+ },
93
+ render: () => {
94
+ this._events.emitInternal(ClientInternalEventName.Render);
95
+ },
96
+ click: (absoluteX, absoluteY, upOrDown, leftOrRight, relativeX, relativeY, worldPosition, hitEntity) => {
97
+ const clickedWorldPosition = worldPosition
98
+ ? new Vector3D(worldPosition.x, worldPosition.y, worldPosition.z)
99
+ : null;
100
+ this._events.emitInternal(ClientInternalEventName.Click, {
101
+ absoluteX,
102
+ absoluteY,
103
+ upOrDown,
104
+ leftOrRight,
105
+ relativeX: relativeX !== null && relativeX !== void 0 ? relativeX : null,
106
+ relativeY: relativeY !== null && relativeY !== void 0 ? relativeY : null,
107
+ hitEntity: hitEntity !== null && hitEntity !== void 0 ? hitEntity : null,
108
+ worldPosition: clickedWorldPosition,
109
+ });
110
+ },
111
+ });
112
+ }
113
+ registerServerEvents() {
114
+ this._events.onServer({
115
+ [ServerToClientEventName.EntityCreated]: (serverEntity) => {
116
+ this._entityPoolRouter.registerByDto(serverEntity);
117
+ },
118
+ [ServerToClientEventName.EntityDestroyed]: (serverEntity) => {
119
+ this._entityPoolRouter.unregisterByDto(serverEntity);
120
+ },
121
+ });
122
+ }
123
+ get _rockMod() {
124
+ try {
125
+ return RockMod.instance;
126
+ }
127
+ catch (_a) {
128
+ return null;
129
+ }
130
+ }
131
+ _syncEntityPools() {
132
+ var _a, _b, _c;
133
+ (_a = this._rockMod) === null || _a === void 0 ? void 0 : _a.vehicles.syncWithMpPool();
134
+ (_b = this._rockMod) === null || _b === void 0 ? void 0 : _b.objects.syncWithMpPool();
135
+ (_c = this._rockMod) === null || _c === void 0 ? void 0 : _c.peds.syncWithMpPool();
136
+ }
137
+ }
@@ -1,14 +1,15 @@
1
1
  import { type IEventsManager } from "../../common/events/IEventsManager";
2
- import { type IClientInternalEvents } from "@RockMod/client/net/common/events/types";
3
- import { type IClientToServerEvents, type IServerToClientEvents } from "@shared/net/common/events/types";
4
- interface IRageClientInternalEvents extends IClientInternalEvents, IClientEvents {
5
- }
2
+ import { type IClientInternalEvents } from "../../../net/common/events/types";
3
+ import { type IClientToServerEvents, type IServerToClientEvents } from "../../../../shared/net/common/events/types";
6
4
  export declare class RageEventsManager implements IEventsManager {
7
- onInternal(events: Partial<IRageClientInternalEvents>): void;
8
- offInternal<K extends keyof IRageClientInternalEvents>(eventName: K, listener: IRageClientInternalEvents[K]): void;
9
- emitInternal<K extends keyof IRageClientInternalEvents>(eventName: K, ...args: Parameters<IRageClientInternalEvents[K]>): void;
5
+ onRaw(events: Partial<IClientEvents>): void;
6
+ offRaw<K extends keyof IClientEvents>(eventName: K, listener?: IClientEvents[K]): void;
7
+ onInternal(events: Partial<IClientInternalEvents>): void;
8
+ offInternal<K extends keyof IClientInternalEvents>(eventName: K, listener?: IClientInternalEvents[K]): void;
9
+ emitInternal<K extends keyof IClientInternalEvents>(eventName: K, ...args: Parameters<IClientInternalEvents[K]>): void;
10
10
  onServer(events: Partial<IServerToClientEvents>): void;
11
- offServer<K extends keyof IServerToClientEvents>(eventName: K, listener: IServerToClientEvents[K]): void;
11
+ offServer<K extends keyof IServerToClientEvents>(eventName: K, listener?: IServerToClientEvents[K]): void;
12
12
  emitServer<K extends keyof IClientToServerEvents>(eventName: K, ...args: Parameters<IClientToServerEvents[K]>): void;
13
+ register(event: string, listener: (...args: unknown[]) => void): void;
14
+ unregister(event: string): void;
13
15
  }
14
- export {};
@@ -1,4 +1,10 @@
1
1
  export class RageEventsManager {
2
+ onRaw(events) {
3
+ mp.events.add(events);
4
+ }
5
+ offRaw(eventName, listener) {
6
+ mp.events.remove(eventName, listener);
7
+ }
2
8
  onInternal(events) {
3
9
  mp.events.add(events);
4
10
  }
@@ -17,4 +23,10 @@ export class RageEventsManager {
17
23
  emitServer(eventName, ...args) {
18
24
  return mp.events.callRemote(eventName, ...args);
19
25
  }
26
+ register(event, listener) {
27
+ mp.events.add(event, listener);
28
+ }
29
+ unregister(event) {
30
+ mp.events.remove(event);
31
+ }
20
32
  }
@@ -1,5 +1,5 @@
1
1
  import { type IRPCManager } from "../../common/rpc/IRPCManager";
2
- import { type IClientRPCList, type IServerRPCList } from "@shared/net/common/rpc/types";
2
+ import { type IClientRPCList, type IServerRPCList } from "../../../../shared/net/common/rpc/types";
3
3
  export declare class RageRPCManager implements IRPCManager {
4
4
  register<K extends keyof IClientRPCList>(rpcName: K, handler: (...args: Parameters<IClientRPCList[K]>) => ReturnType<IClientRPCList[K]>): void;
5
5
  unregister<K extends keyof IClientRPCList>(rpcName: K): void;
@@ -14,4 +14,5 @@ export declare abstract class RageBaseObjectsManager<T extends RageBaseObject<En
14
14
  findByID(id: number): T | null;
15
15
  protected registerBaseObject(baseObject: T): void;
16
16
  protected unregisterBaseObject(baseObject: T): void;
17
+ private _toBaseObjectDto;
17
18
  }
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.RageBaseObjectsManager = void 0;
4
4
  const RageBaseObjectsIterator_1 = require("./RageBaseObjectsIterator");
5
5
  const RockMod_1 = require("../../../RockMod");
6
+ const shared_1 = require("../../../../shared");
6
7
  const types_1 = require("../../../net/common/events/types");
7
8
  class RageBaseObjectsManager {
8
9
  _baseObjects;
@@ -42,12 +43,20 @@ class RageBaseObjectsManager {
42
43
  }
43
44
  this._baseObjects.set(baseObject.id, baseObject);
44
45
  RockMod_1.RockMod.instance.net.events.emitInternal(types_1.ServerInternalEventName.EntityCreated, baseObject);
46
+ RockMod_1.RockMod.instance.net.events.emitAllClients(shared_1.ServerToClientEventName.EntityCreated, this._toBaseObjectDto(baseObject));
45
47
  }
46
48
  unregisterBaseObject(baseObject) {
47
49
  if (!this._baseObjects.delete(baseObject.id)) {
48
50
  throw new Error(`BaseObject [${this._baseObjectsType}] with id ${baseObject.id} not found`);
49
51
  }
50
- RockMod_1.RockMod.instance.net.events.emitInternal(types_1.ServerInternalEventName.EntityCreated, baseObject);
52
+ RockMod_1.RockMod.instance.net.events.emitInternal(types_1.ServerInternalEventName.EntityDestroyed, baseObject);
53
+ RockMod_1.RockMod.instance.net.events.emitAllClients(shared_1.ServerToClientEventName.EntityDestroyed, this._toBaseObjectDto(baseObject));
54
+ }
55
+ _toBaseObjectDto(baseObject) {
56
+ return {
57
+ type: baseObject.type,
58
+ remoteId: baseObject.id,
59
+ };
51
60
  }
52
61
  }
53
62
  exports.RageBaseObjectsManager = RageBaseObjectsManager;
@@ -4,6 +4,7 @@ exports.RagePlayersManager = void 0;
4
4
  const RageEntitiesManager_1 = require("../entity/RageEntitiesManager");
5
5
  const RagePlayer_1 = require("./RagePlayer");
6
6
  const types_1 = require("../../../net/common/events/types");
7
+ const RockMod_1 = require("../../../RockMod");
7
8
  class RagePlayersManager extends RageEntitiesManager_1.RageEntitiesManager {
8
9
  constructor(net) {
9
10
  super({
@@ -51,11 +52,37 @@ class RagePlayersManager extends RageEntitiesManager_1.RageEntitiesManager {
51
52
  this.registerBaseObject(player);
52
53
  net.events.emitInternal(types_1.ServerInternalEventName.PlayerConnected, player);
53
54
  },
54
- playerQuit: (mpPlayer) => {
55
+ playerQuit: (mpPlayer, exitType, reason) => {
55
56
  const player = this.getByID(mpPlayer.id);
57
+ net.events.emitInternal(types_1.ServerInternalEventName.PlayerQuit, player, exitType, reason);
56
58
  this.unregisterBaseObject(player);
57
59
  net.events.emitInternal(types_1.ServerInternalEventName.PlayerDisconnected, player);
58
60
  },
61
+ playerDeath: (mpPlayer, reason, killer) => {
62
+ const player = this.getByID(mpPlayer.id);
63
+ const killerPlayer = killer ? (RockMod_1.RockMod.instance.players.findByID(killer.id) ?? null) : null;
64
+ net.events.emitInternal(types_1.ServerInternalEventName.PlayerDeath, player, reason, killerPlayer);
65
+ },
66
+ playerDamage: (mpPlayer, healthLoss, armourLoss) => {
67
+ const player = this.getByID(mpPlayer.id);
68
+ net.events.emitInternal(types_1.ServerInternalEventName.PlayerDamage, player, healthLoss, armourLoss);
69
+ },
70
+ playerEnterVehicle: (mpPlayer, mpVehicle, seat) => {
71
+ const player = this.getByID(mpPlayer.id);
72
+ const vehicle = RockMod_1.RockMod.instance.vehicles.findByID(mpVehicle.id);
73
+ if (!vehicle) {
74
+ return;
75
+ }
76
+ net.events.emitInternal(types_1.ServerInternalEventName.PlayerEnterVehicle, player, vehicle, seat);
77
+ },
78
+ playerExitVehicle: (mpPlayer, mpVehicle) => {
79
+ const player = this.getByID(mpPlayer.id);
80
+ const vehicle = RockMod_1.RockMod.instance.vehicles.findByID(mpVehicle.id);
81
+ if (!vehicle) {
82
+ return;
83
+ }
84
+ net.events.emitInternal(types_1.ServerInternalEventName.PlayerExitVehicle, player, vehicle);
85
+ },
59
86
  });
60
87
  }
61
88
  }
@@ -11,5 +11,6 @@ export declare class AltVEventsManager implements IEventsManager {
11
11
  onClient(events: Partial<IClientToServerEvents>): void;
12
12
  offClient<K extends keyof IClientToServerEvents>(eventName: K, listener: IClientToServerEvents[K]): void;
13
13
  emitClient<K extends keyof IServerToClientEvents>(player: AltVPlayer, eventName: K, ...args: Parameters<IServerToClientEvents[K]>): void;
14
+ emitAllClients<K extends keyof IServerToClientEvents>(eventName: K, ...args: Parameters<IServerToClientEvents[K]>): void;
14
15
  }
15
16
  export {};
@@ -31,5 +31,8 @@ class AltVEventsManager {
31
31
  }
32
32
  return mpPlayer.emit(eventName, ...args);
33
33
  }
34
+ emitAllClients(eventName, ...args) {
35
+ Player.all.forEach((player) => player.emit(eventName, ...args));
36
+ }
34
37
  }
35
38
  exports.AltVEventsManager = AltVEventsManager;
@@ -8,4 +8,5 @@ export interface IEventsManager {
8
8
  onClient(events: Partial<IClientToServerEvents>): void;
9
9
  offClient<K extends keyof IClientToServerEvents>(eventName: K, listener: IClientToServerEvents[K]): void;
10
10
  emitClient<K extends keyof IServerToClientEvents>(player: IPlayer, eventName: K, ...args: Parameters<IServerToClientEvents[K]>): void;
11
+ emitAllClients<K extends keyof IServerToClientEvents>(eventName: K, ...args: Parameters<IServerToClientEvents[K]>): void;
11
12
  }
@@ -1,7 +1,12 @@
1
- import { type IBaseObject, type IColshape, type IPlayer } from "../../../entities";
1
+ import { type IBaseObject, type IColshape, type IPlayer, type IVehicle } from "../../../entities";
2
2
  export declare enum ServerInternalEventName {
3
3
  PlayerConnected = "rm::playerConnected",
4
4
  PlayerDisconnected = "rm::playerDisconnected",
5
+ PlayerQuit = "rm::playerQuit",
6
+ PlayerDeath = "rm::playerDeath",
7
+ PlayerDamage = "rm::playerDamage",
8
+ PlayerEnterVehicle = "rm::playerEnterVehicle",
9
+ PlayerExitVehicle = "rm::playerExitVehicle",
5
10
  PlayerEnteredColshape = "rm::playerEnteredColshape",
6
11
  PlayerLeftColshape = "rm::playerLeftColshape",
7
12
  EntityCreated = "rm::entityCreated",
@@ -10,6 +15,11 @@ export declare enum ServerInternalEventName {
10
15
  export interface IServerInternalEvents {
11
16
  [ServerInternalEventName.PlayerConnected]: (player: IPlayer) => void;
12
17
  [ServerInternalEventName.PlayerDisconnected]: (player: IPlayer) => void;
18
+ [ServerInternalEventName.PlayerQuit]: (player: IPlayer, exitType: string, reason: string) => void;
19
+ [ServerInternalEventName.PlayerDeath]: (player: IPlayer, reason: number, killer: IPlayer | null) => void;
20
+ [ServerInternalEventName.PlayerDamage]: (player: IPlayer, healthLoss: number, armourLoss: number) => void;
21
+ [ServerInternalEventName.PlayerEnterVehicle]: (player: IPlayer, vehicle: IVehicle, seat: number) => void;
22
+ [ServerInternalEventName.PlayerExitVehicle]: (player: IPlayer, vehicle: IVehicle) => void;
13
23
  [ServerInternalEventName.PlayerEnteredColshape]: (player: IPlayer, colshape: IColshape) => void;
14
24
  [ServerInternalEventName.PlayerLeftColshape]: (player: IPlayer, colshape: IColshape) => void;
15
25
  [ServerInternalEventName.EntityCreated]: (object: IBaseObject) => void;
@@ -5,6 +5,11 @@ var ServerInternalEventName;
5
5
  (function (ServerInternalEventName) {
6
6
  ServerInternalEventName["PlayerConnected"] = "rm::playerConnected";
7
7
  ServerInternalEventName["PlayerDisconnected"] = "rm::playerDisconnected";
8
+ ServerInternalEventName["PlayerQuit"] = "rm::playerQuit";
9
+ ServerInternalEventName["PlayerDeath"] = "rm::playerDeath";
10
+ ServerInternalEventName["PlayerDamage"] = "rm::playerDamage";
11
+ ServerInternalEventName["PlayerEnterVehicle"] = "rm::playerEnterVehicle";
12
+ ServerInternalEventName["PlayerExitVehicle"] = "rm::playerExitVehicle";
8
13
  ServerInternalEventName["PlayerEnteredColshape"] = "rm::playerEnteredColshape";
9
14
  ServerInternalEventName["PlayerLeftColshape"] = "rm::playerLeftColshape";
10
15
  ServerInternalEventName["EntityCreated"] = "rm::entityCreated";
@@ -10,4 +10,5 @@ export declare class MockEventsManager implements IEventsManager {
10
10
  onClient(events: Partial<IClientToServerEvents>): void;
11
11
  offClient<K extends keyof IClientToServerEvents>(eventName: K, listener: IClientToServerEvents[K]): void;
12
12
  emitClient<K extends keyof IServerToClientEvents>(player: MockPlayer, eventName: K, ...args: Parameters<IServerToClientEvents[K]>): void;
13
+ emitAllClients<K extends keyof IServerToClientEvents>(eventName: K, ...args: Parameters<IServerToClientEvents[K]>): void;
13
14
  }
@@ -26,5 +26,8 @@ class MockEventsManager {
26
26
  emitClient(player, eventName, ...args) {
27
27
  this._eventEmitter.emit(eventName, player, ...args);
28
28
  }
29
+ emitAllClients(eventName, ...args) {
30
+ this._eventEmitter.emit(eventName, ...args);
31
+ }
29
32
  }
30
33
  exports.MockEventsManager = MockEventsManager;
@@ -11,5 +11,6 @@ export declare class RageEventsManager implements IEventsManager {
11
11
  onClient(events: Partial<IClientToServerEvents>): void;
12
12
  offClient<K extends keyof IClientToServerEvents>(eventName: K): void;
13
13
  emitClient<K extends keyof IServerToClientEvents>(player: RagePlayer, eventName: K, ...args: Parameters<IServerToClientEvents[K]>): void;
14
+ emitAllClients<K extends keyof IServerToClientEvents>(eventName: K, ...args: Parameters<IServerToClientEvents[K]>): void;
14
15
  }
15
16
  export {};
@@ -24,5 +24,10 @@ class RageEventsManager {
24
24
  }
25
25
  return mpPlayer.call(eventName, args);
26
26
  }
27
+ emitAllClients(eventName, ...args) {
28
+ mp.players.forEach((mpPlayer) => {
29
+ mpPlayer.call(eventName, args);
30
+ });
31
+ }
27
32
  }
28
33
  exports.RageEventsManager = RageEventsManager;
@@ -1,7 +1,9 @@
1
- export interface IRGBA {
1
+ export interface IRGB {
2
2
  get r(): number;
3
3
  get g(): number;
4
4
  get b(): number;
5
+ }
6
+ export interface IRGBA extends IRGB {
5
7
  get a(): number | undefined;
6
8
  }
7
9
  export declare class RGBA implements IRGBA {
@@ -5,5 +5,10 @@ export declare enum BaseObjectType {
5
5
  Object = "object",
6
6
  Ped = "ped",
7
7
  Player = "player",
8
- Vehicle = "vehicle"
8
+ Vehicle = "vehicle",
9
+ Camera = "camera"
10
+ }
11
+ export interface IBaseObjectDto {
12
+ type: BaseObjectType;
13
+ remoteId: number;
9
14
  }
@@ -10,4 +10,5 @@ var BaseObjectType;
10
10
  BaseObjectType["Ped"] = "ped";
11
11
  BaseObjectType["Player"] = "player";
12
12
  BaseObjectType["Vehicle"] = "vehicle";
13
+ BaseObjectType["Camera"] = "camera";
13
14
  })(BaseObjectType || (exports.BaseObjectType = BaseObjectType = {}));
@@ -1,11 +1,16 @@
1
+ import { type IBaseObjectDto } from "../../../entities";
1
2
  export declare enum ServerToClientEventName {
2
- TestServerToClientEvent = "rm::testServerToClientEvent"
3
+ TestServerToClientEvent = "rm::testServerToClientEvent",
4
+ EntityCreated = "rm::serverEntityCreated",
5
+ EntityDestroyed = "rm::serverEntityDestroyed"
3
6
  }
4
7
  export declare enum ClientToServerEventName {
5
8
  TestClientToServerEvent = "rm::testClientToServerEvent"
6
9
  }
7
10
  export interface IServerToClientEvents {
8
11
  [ServerToClientEventName.TestServerToClientEvent]: () => void;
12
+ [ServerToClientEventName.EntityCreated]: (entity: IBaseObjectDto) => void;
13
+ [ServerToClientEventName.EntityDestroyed]: (entity: IBaseObjectDto) => void;
9
14
  }
10
15
  export interface IClientToServerEvents {
11
16
  [ClientToServerEventName.TestClientToServerEvent]: () => void;
@@ -4,6 +4,8 @@ exports.ClientToServerEventName = exports.ServerToClientEventName = void 0;
4
4
  var ServerToClientEventName;
5
5
  (function (ServerToClientEventName) {
6
6
  ServerToClientEventName["TestServerToClientEvent"] = "rm::testServerToClientEvent";
7
+ ServerToClientEventName["EntityCreated"] = "rm::serverEntityCreated";
8
+ ServerToClientEventName["EntityDestroyed"] = "rm::serverEntityDestroyed";
7
9
  })(ServerToClientEventName || (exports.ServerToClientEventName = ServerToClientEventName = {}));
8
10
  var ClientToServerEventName;
9
11
  (function (ClientToServerEventName) {