rock-mod 0.0.1 → 0.2.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 (107) hide show
  1. package/LICENSE +21 -21
  2. package/dist/index.d.ts +1 -1
  3. package/dist/index.js +1 -1
  4. package/dist/server/RockMod.d.ts +11 -5
  5. package/dist/server/RockMod.js +61 -19
  6. package/dist/server/common/utils/color/RGBA.d.ts +17 -0
  7. package/dist/server/common/utils/color/RGBA.js +28 -0
  8. package/dist/server/common/utils/color/index.d.ts +1 -0
  9. package/dist/server/common/utils/color/index.js +17 -0
  10. package/dist/server/common/utils/index.d.ts +2 -0
  11. package/dist/server/common/utils/index.js +18 -0
  12. package/dist/server/common/utils/math/Math.d.ts +6 -0
  13. package/dist/server/common/utils/math/Math.js +7 -0
  14. package/dist/server/common/utils/math/Vectors.d.ts +15 -2
  15. package/dist/server/common/utils/math/index.d.ts +1 -0
  16. package/dist/server/common/utils/math/index.js +17 -0
  17. package/dist/server/entities/altv/baseObject/AltVBaseObject.d.ts +9 -4
  18. package/dist/server/entities/altv/baseObject/AltVBaseObject.js +20 -6
  19. package/dist/server/entities/altv/baseObject/AltVBaseObjectsIterator.d.ts +2 -1
  20. package/dist/server/entities/altv/baseObject/AltVBaseObjectsManager.d.ts +7 -2
  21. package/dist/server/entities/altv/baseObject/AltVBaseObjectsManager.js +14 -0
  22. package/dist/server/entities/altv/entity/AltVEntitiesManager.d.ts +2 -1
  23. package/dist/server/entities/altv/entity/AltVEntity.d.ts +11 -6
  24. package/dist/server/entities/altv/entity/AltVEntity.js +12 -4
  25. package/dist/server/entities/altv/player/AltVPlayer.d.ts +42 -8
  26. package/dist/server/entities/altv/player/AltVPlayer.js +114 -12
  27. package/dist/server/entities/altv/vehicle/AltVVehicle.d.ts +28 -5
  28. package/dist/server/entities/altv/vehicle/AltVVehicle.js +76 -4
  29. package/dist/server/entities/altv/vehicle/AltVVehiclesManager.d.ts +5 -1
  30. package/dist/server/entities/altv/vehicle/AltVVehiclesManager.js +12 -0
  31. package/dist/server/entities/altv/worldObject/AltVWorldObject.d.ts +9 -6
  32. package/dist/server/entities/altv/worldObject/AltVWorldObject.js +11 -6
  33. package/dist/server/entities/altv/worldObject/AltVWorldObjectsIterator.d.ts +2 -1
  34. package/dist/server/entities/altv/worldObject/AltVWorldObjectsManager.d.ts +7 -4
  35. package/dist/server/entities/common/baseObject/IBaseObject.d.ts +5 -4
  36. package/dist/server/entities/common/baseObject/IBaseObjectsManager.d.ts +2 -0
  37. package/dist/server/entities/common/baseObject/index.d.ts +3 -0
  38. package/dist/server/entities/common/baseObject/index.js +19 -0
  39. package/dist/server/entities/common/entity/IEntitiesManager.d.ts +6 -1
  40. package/dist/server/entities/common/entity/IEntity.d.ts +4 -2
  41. package/dist/server/entities/common/entity/index.d.ts +2 -0
  42. package/dist/server/entities/common/entity/index.js +18 -0
  43. package/dist/server/entities/common/index.d.ts +5 -0
  44. package/dist/server/entities/common/index.js +21 -0
  45. package/dist/server/entities/common/player/IPlayer.d.ts +50 -3
  46. package/dist/server/entities/common/player/index.d.ts +2 -0
  47. package/dist/server/entities/common/player/index.js +18 -0
  48. package/dist/server/entities/common/vehicle/IVehicle.d.ts +41 -0
  49. package/dist/server/entities/common/vehicle/IVehicle.js +22 -0
  50. package/dist/server/entities/common/vehicle/IVehiclesManager.d.ts +6 -1
  51. package/dist/server/entities/common/vehicle/index.d.ts +2 -0
  52. package/dist/server/entities/common/vehicle/index.js +18 -0
  53. package/dist/server/entities/common/worldObject/IWorldObject.d.ts +5 -5
  54. package/dist/server/entities/common/worldObject/IWorldObjectsManager.d.ts +6 -1
  55. package/dist/server/entities/common/worldObject/index.d.ts +3 -0
  56. package/dist/server/entities/common/worldObject/index.js +19 -0
  57. package/dist/server/entities/index.d.ts +1 -0
  58. package/dist/server/entities/index.js +17 -0
  59. package/dist/server/entities/ragemp/baseObject/RageBaseObject.d.ts +8 -4
  60. package/dist/server/entities/ragemp/baseObject/RageBaseObject.js +10 -6
  61. package/dist/server/entities/ragemp/baseObject/RageBaseObjectsManager.d.ts +6 -2
  62. package/dist/server/entities/ragemp/baseObject/RageBaseObjectsManager.js +14 -0
  63. package/dist/server/entities/ragemp/entity/RageEntitiesManager.d.ts +6 -4
  64. package/dist/server/entities/ragemp/entity/RageEntity.d.ts +10 -6
  65. package/dist/server/entities/ragemp/entity/RageEntity.js +10 -4
  66. package/dist/server/entities/ragemp/player/RagePlayer.d.ts +41 -8
  67. package/dist/server/entities/ragemp/player/RagePlayer.js +106 -12
  68. package/dist/server/entities/ragemp/player/RagePlayersManager.d.ts +1 -0
  69. package/dist/server/entities/ragemp/player/RagePlayersManager.js +21 -0
  70. package/dist/server/entities/ragemp/vehicle/RageVehicle.d.ts +27 -5
  71. package/dist/server/entities/ragemp/vehicle/RageVehicle.js +72 -4
  72. package/dist/server/entities/ragemp/vehicle/RageVehiclesManager.d.ts +4 -1
  73. package/dist/server/entities/ragemp/vehicle/RageVehiclesManager.js +14 -0
  74. package/dist/server/entities/ragemp/worldObject/RageWorldObject.d.ts +8 -6
  75. package/dist/server/entities/ragemp/worldObject/RageWorldObject.js +10 -6
  76. package/dist/server/entities/ragemp/worldObject/RageWorldObjectsIterator.d.ts +1 -1
  77. package/dist/server/entities/ragemp/worldObject/RageWorldObjectsManager.d.ts +6 -4
  78. package/dist/server/factories/altv/AltVManagersFactory.d.ts +9 -0
  79. package/dist/server/{entities → factories}/altv/AltVManagersFactory.js +6 -2
  80. package/dist/server/factories/common/IManagersFactory.d.ts +8 -0
  81. package/dist/server/factories/ragemp/RageManagersFactory.d.ts +9 -0
  82. package/dist/server/{entities → factories}/ragemp/RageManagersFactory.js +6 -2
  83. package/dist/server/index.d.ts +3 -0
  84. package/dist/server/index.js +19 -0
  85. package/dist/server/net/altv/AltVNetManager.d.ts +10 -0
  86. package/dist/server/net/altv/AltVNetManager.js +20 -0
  87. package/dist/server/net/altv/events/AltVEventsManager.d.ts +16 -0
  88. package/dist/server/net/altv/events/AltVEventsManager.js +28 -0
  89. package/dist/server/net/altv/rpc/AltVRPCManager.d.ts +12 -0
  90. package/dist/server/net/altv/rpc/AltVRPCManager.js +23 -0
  91. package/dist/server/net/common/INetManager.d.ts +6 -0
  92. package/dist/server/net/common/INetManager.js +2 -0
  93. package/dist/server/net/common/events/IEventsManager.d.ts +16 -0
  94. package/dist/server/net/common/events/IEventsManager.js +2 -0
  95. package/dist/server/net/common/rpc/IRPCManager.d.ts +10 -0
  96. package/dist/server/net/common/rpc/IRPCManager.js +2 -0
  97. package/dist/server/net/ragemp/RageNetManager.d.ts +10 -0
  98. package/dist/server/net/ragemp/RageNetManager.js +20 -0
  99. package/dist/server/net/ragemp/events/RageEventsManager.d.ts +19 -0
  100. package/dist/server/net/ragemp/events/RageEventsManager.js +24 -0
  101. package/dist/server/net/ragemp/rpc/RageRPCManager.d.ts +11 -0
  102. package/dist/server/net/ragemp/rpc/RageRPCManager.js +19 -0
  103. package/package.json +62 -53
  104. package/dist/server/entities/altv/AltVManagersFactory.d.ts +0 -7
  105. package/dist/server/entities/common/IManagersFactory.d.ts +0 -6
  106. package/dist/server/entities/ragemp/RageManagersFactory.d.ts +0 -7
  107. /package/dist/server/{entities → factories}/common/IManagersFactory.js +0 -0
@@ -2,17 +2,85 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.RageVehicle = void 0;
4
4
  const RageEntity_1 = require("../entity/RageEntity");
5
+ const utils_1 = require("../../../common/utils");
6
+ const RockMod_1 = require("../../../RockMod");
5
7
  class RageVehicle extends RageEntity_1.RageEntity {
6
- _bodyHealth;
7
8
  get bodyHealth() {
8
- return this._bodyHealth;
9
+ return this.mpEntity.bodyHealth;
10
+ }
11
+ get engineHealth() {
12
+ return this.mpEntity.engineHealth;
13
+ }
14
+ get numberPlate() {
15
+ return this.mpEntity.numberPlate;
16
+ }
17
+ get isLocked() {
18
+ return this.mpEntity.locked;
19
+ }
20
+ get isDead() {
21
+ return this.mpEntity.dead;
22
+ }
23
+ get primaryColor() {
24
+ return this.mpEntity.getColor(0);
25
+ }
26
+ get secondaryColor() {
27
+ return this.mpEntity.getColor(1);
28
+ }
29
+ get customPrimaryColor() {
30
+ const [r, g, b] = this.mpEntity.getColorRGB(0);
31
+ return new utils_1.RGBA(r, g, b);
32
+ }
33
+ get customSecondaryColor() {
34
+ const [r, g, b] = this.mpEntity.getColorRGB(1);
35
+ return new utils_1.RGBA(r, g, b);
36
+ }
37
+ get driver() {
38
+ const mpPlayer = this.mpEntity.getOccupant(0);
39
+ if (!mpPlayer) {
40
+ return null;
41
+ }
42
+ return RockMod_1.RockMod.instance.players.getByID(mpPlayer.id);
43
+ }
44
+ get passengers() {
45
+ const players = new Set();
46
+ for (const mpPlayer of this.mpEntity.getOccupants()) {
47
+ const player = RockMod_1.RockMod.instance.players.getByID(mpPlayer.id);
48
+ players.add(player);
49
+ }
50
+ return players;
9
51
  }
10
52
  constructor(options) {
11
53
  super(options);
12
- this._bodyHealth = 100;
13
54
  }
14
55
  setBodyHealth(value) {
15
- this._bodyHealth = value;
56
+ this.mpEntity.bodyHealth = value;
57
+ }
58
+ setEngineHealth(value) {
59
+ throw new Error(`Not implemented (setEngineHealth: ${value})`);
60
+ }
61
+ setNumberPlate(value) {
62
+ this.mpEntity.numberPlate = value;
63
+ }
64
+ setLocked(value) {
65
+ this.mpEntity.locked = value;
66
+ }
67
+ setPrimaryColor(value) {
68
+ return this.mpEntity.setColor(value, this.secondaryColor);
69
+ }
70
+ setSecondaryColor(value) {
71
+ return this.mpEntity.setColor(this.primaryColor, value);
72
+ }
73
+ setCustomPrimaryColor(value) {
74
+ this.mpEntity.setColorRGB(value.r, value.g, value.b, this.customSecondaryColor.r, this.customSecondaryColor.g, this.customSecondaryColor.b);
75
+ }
76
+ setCustomSecondaryColor(value) {
77
+ this.mpEntity.setColorRGB(this.customPrimaryColor.r, this.customPrimaryColor.g, this.customPrimaryColor.b, value.r, value.g, value.b);
78
+ }
79
+ explode() {
80
+ return this.mpEntity.explode();
81
+ }
82
+ repair() {
83
+ return this.mpEntity.repair();
16
84
  }
17
85
  }
18
86
  exports.RageVehicle = RageVehicle;
@@ -1,6 +1,9 @@
1
1
  import { RageEntitiesManager } from "../entity/RageEntitiesManager";
2
2
  import { RageVehicle } from "./RageVehicle";
3
- import { IVehiclesManager } from "../../common/vehicle/IVehiclesManager";
3
+ import { IVehicleCreateOptions, IVehiclesManager } from "../../common/vehicle/IVehiclesManager";
4
+ export interface IRageVehicleCreateOptions extends IVehicleCreateOptions {
5
+ }
4
6
  export declare class RageVehiclesManager extends RageEntitiesManager<RageVehicle> implements IVehiclesManager {
5
7
  constructor();
8
+ create(options: IRageVehicleCreateOptions): RageVehicle;
6
9
  }
@@ -2,11 +2,25 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.RageVehiclesManager = void 0;
4
4
  const RageEntitiesManager_1 = require("../entity/RageEntitiesManager");
5
+ const RageVehicle_1 = require("./RageVehicle");
5
6
  class RageVehiclesManager extends RageEntitiesManager_1.RageEntitiesManager {
6
7
  constructor() {
7
8
  super({
8
9
  baseObjectsType: "vehicle",
9
10
  });
10
11
  }
12
+ create(options) {
13
+ const { model, position, dimension, rotation, engine, locked } = options;
14
+ const mpEntity = mp.vehicles.new(model, new mp.Vector3(position), {
15
+ dimension,
16
+ heading: rotation.z,
17
+ engine,
18
+ locked,
19
+ });
20
+ mpEntity.rotation = new mp.Vector3(rotation);
21
+ const vehicle = new RageVehicle_1.RageVehicle({ mpEntity });
22
+ this.registerBaseObject(vehicle);
23
+ return vehicle;
24
+ }
11
25
  }
12
26
  exports.RageVehiclesManager = RageVehiclesManager;
@@ -1,10 +1,12 @@
1
- import { IWorldObject, IWorldObjectOptions } from "../../common/worldObject/IWorldObject";
2
- import { RageBaseObject } from "../baseObject/RageBaseObject";
1
+ import { IWorldObject } from "../../common/worldObject/IWorldObject";
2
+ import { IRageBaseObjectOptions, RageBaseObject } from "../baseObject/RageBaseObject";
3
3
  import { Vector3D } from "../../../common/utils/math/Vectors";
4
- export declare abstract class RageWorldObject extends RageBaseObject implements IWorldObject {
5
- private readonly _position;
6
- private readonly _dimension;
4
+ export interface IRageWorldObjectOptions<T extends EntityMp> extends IRageBaseObjectOptions<T> {
5
+ }
6
+ export declare abstract class RageWorldObject<T extends EntityMp> extends RageBaseObject<T> implements IWorldObject {
7
7
  get position(): Vector3D;
8
8
  get dimension(): number;
9
- protected constructor(options: IWorldObjectOptions);
9
+ protected constructor(options: IRageWorldObjectOptions<T>);
10
+ setPosition(value: Vector3D): void;
11
+ setDimension(value: number): void;
10
12
  }
@@ -2,19 +2,23 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.RageWorldObject = void 0;
4
4
  const RageBaseObject_1 = require("../baseObject/RageBaseObject");
5
+ const Vectors_1 = require("../../../common/utils/math/Vectors");
5
6
  class RageWorldObject extends RageBaseObject_1.RageBaseObject {
6
- _position;
7
- _dimension;
8
7
  get position() {
9
- return this._position;
8
+ const { x, y, z } = this.mpEntity.position;
9
+ return new Vectors_1.Vector3D(x, y, z);
10
10
  }
11
11
  get dimension() {
12
- return this._dimension;
12
+ return this.mpEntity.dimension;
13
13
  }
14
14
  constructor(options) {
15
15
  super(options);
16
- this._position = options.position;
17
- this._dimension = options.dimension;
16
+ }
17
+ setPosition(value) {
18
+ this.mpEntity.position = new mp.Vector3(value);
19
+ }
20
+ setDimension(value) {
21
+ this.mpEntity.dimension = value;
18
22
  }
19
23
  }
20
24
  exports.RageWorldObject = RageWorldObject;
@@ -2,7 +2,7 @@ import { RageWorldObject } from "./RageWorldObject";
2
2
  import { RageBaseObjectsIterator } from "../baseObject/RageBaseObjectsIterator";
3
3
  import { IWorldObjectsIterator } from "../../common/worldObject/IWorldObjectsIterator";
4
4
  import { Vector2D, Vector3D } from "../../../common/utils/math/Vectors";
5
- export declare class RageWorldObjectsIterator<T extends RageWorldObject> extends RageBaseObjectsIterator<T> implements IWorldObjectsIterator<T> {
5
+ export declare class RageWorldObjectsIterator<T extends RageWorldObject<EntityMp>> extends RageBaseObjectsIterator<T> implements IWorldObjectsIterator<T> {
6
6
  constructor(baseObjects: ReadonlyMap<number, T>);
7
7
  dimension(value: number): IterableIterator<T>;
8
8
  range2D(center: Vector2D, range: number): IterableIterator<T>;
@@ -1,9 +1,11 @@
1
- import { IWorldObjectsManager, IWorldObjectsManagerOptions } from "../../common/worldObject/IWorldObjectsManager";
2
- import { RageBaseObjectsManager } from "../baseObject/RageBaseObjectsManager";
1
+ import { IWorldObjectsManager } from "../../common/worldObject/IWorldObjectsManager";
2
+ import { IRageBaseObjectsManagerOptions, RageBaseObjectsManager } from "../baseObject/RageBaseObjectsManager";
3
3
  import { RageWorldObject } from "./RageWorldObject";
4
4
  import { RageWorldObjectsIterator } from "./RageWorldObjectsIterator";
5
- export declare abstract class RageWorldObjectsManager<T extends RageWorldObject> extends RageBaseObjectsManager<T> implements IWorldObjectsManager<T> {
5
+ export interface IRageWorldObjectsManagerOptions extends IRageBaseObjectsManagerOptions {
6
+ }
7
+ export declare abstract class RageWorldObjectsManager<T extends RageWorldObject<EntityMp>> extends RageBaseObjectsManager<T> implements IWorldObjectsManager<T> {
6
8
  protected readonly _iterator: RageWorldObjectsIterator<T>;
7
9
  get iterator(): RageWorldObjectsIterator<T>;
8
- protected constructor(options: IWorldObjectsManagerOptions);
10
+ protected constructor(options: IRageWorldObjectsManagerOptions);
9
11
  }
@@ -0,0 +1,9 @@
1
+ import { IManagersFactory } from "../common/IManagersFactory";
2
+ import { AltVNetManager } from "../../net/altv/AltVNetManager";
3
+ import { AltVPlayersManager } from "../../entities/altv/player/AltVPlayersManager";
4
+ import { AltVVehiclesManager } from "../../entities/altv/vehicle/AltVVehiclesManager";
5
+ export declare class AltVManagersFactory implements IManagersFactory {
6
+ createNetManager(): AltVNetManager;
7
+ createPlayersManager(): AltVPlayersManager;
8
+ createVehiclesManager(): AltVVehiclesManager;
9
+ }
@@ -1,9 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.AltVManagersFactory = void 0;
4
- const AltVPlayersManager_1 = require("./player/AltVPlayersManager");
5
- const AltVVehiclesManager_1 = require("./vehicle/AltVVehiclesManager");
4
+ const AltVNetManager_1 = require("../../net/altv/AltVNetManager");
5
+ const AltVPlayersManager_1 = require("../../entities/altv/player/AltVPlayersManager");
6
+ const AltVVehiclesManager_1 = require("../../entities/altv/vehicle/AltVVehiclesManager");
6
7
  class AltVManagersFactory {
8
+ createNetManager() {
9
+ return new AltVNetManager_1.AltVNetManager();
10
+ }
7
11
  createPlayersManager() {
8
12
  return new AltVPlayersManager_1.AltVPlayersManager();
9
13
  }
@@ -0,0 +1,8 @@
1
+ import { INetManager } from "../../net/common/INetManager";
2
+ import { IPlayersManager } from "../../entities/common/player/IPlayersManager";
3
+ import { IVehiclesManager } from "../../entities/common/vehicle/IVehiclesManager";
4
+ export interface IManagersFactory {
5
+ createNetManager(): INetManager;
6
+ createPlayersManager(): IPlayersManager;
7
+ createVehiclesManager(): IVehiclesManager;
8
+ }
@@ -0,0 +1,9 @@
1
+ import { IManagersFactory } from "../common/IManagersFactory";
2
+ import { RageNetManager } from "../../net/ragemp/RageNetManager";
3
+ import { RagePlayersManager } from "../../entities/ragemp/player/RagePlayersManager";
4
+ import { RageVehiclesManager } from "../../entities/ragemp/vehicle/RageVehiclesManager";
5
+ export declare class RageManagersFactory implements IManagersFactory {
6
+ createNetManager(): RageNetManager;
7
+ createPlayersManager(): RagePlayersManager;
8
+ createVehiclesManager(): RageVehiclesManager;
9
+ }
@@ -1,9 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.RageManagersFactory = void 0;
4
- const RagePlayersManager_1 = require("./player/RagePlayersManager");
5
- const RageVehiclesManager_1 = require("./vehicle/RageVehiclesManager");
4
+ const RageNetManager_1 = require("../../net/ragemp/RageNetManager");
5
+ const RagePlayersManager_1 = require("../../entities/ragemp/player/RagePlayersManager");
6
+ const RageVehiclesManager_1 = require("../../entities/ragemp/vehicle/RageVehiclesManager");
6
7
  class RageManagersFactory {
8
+ createNetManager() {
9
+ return new RageNetManager_1.RageNetManager();
10
+ }
7
11
  createPlayersManager() {
8
12
  return new RagePlayersManager_1.RagePlayersManager();
9
13
  }
@@ -0,0 +1,3 @@
1
+ export * from "./RockMod";
2
+ export * from "./entities";
3
+ export * from "./common/utils";
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./RockMod"), exports);
18
+ __exportStar(require("./entities"), exports);
19
+ __exportStar(require("./common/utils"), exports);
@@ -0,0 +1,10 @@
1
+ import { INetManager } from "../common/INetManager";
2
+ import { AltVEventsManager } from "./events/AltVEventsManager";
3
+ import { AltVRPCManager } from "./rpc/AltVRPCManager";
4
+ export declare class AltVNetManager implements INetManager {
5
+ private readonly _eventsManager;
6
+ private readonly _rpcManager;
7
+ get events(): AltVEventsManager;
8
+ get rpc(): AltVRPCManager;
9
+ constructor();
10
+ }
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AltVNetManager = void 0;
4
+ const AltVEventsManager_1 = require("./events/AltVEventsManager");
5
+ const AltVRPCManager_1 = require("./rpc/AltVRPCManager");
6
+ class AltVNetManager {
7
+ _eventsManager;
8
+ _rpcManager;
9
+ get events() {
10
+ return this._eventsManager;
11
+ }
12
+ get rpc() {
13
+ return this._rpcManager;
14
+ }
15
+ constructor() {
16
+ this._eventsManager = new AltVEventsManager_1.AltVEventsManager();
17
+ this._rpcManager = new AltVRPCManager_1.AltVRPCManager();
18
+ }
19
+ }
20
+ exports.AltVNetManager = AltVNetManager;
@@ -0,0 +1,16 @@
1
+ import { IEventsManager, INetClientEvents, INetServerEvents } from "../../common/events/IEventsManager";
2
+ import { AltVPlayer } from "../../../entities/altv/player/AltVPlayer";
3
+ import alt = AltVServer;
4
+ import { AltVBaseObject } from "../../../entities/altv/baseObject/AltVBaseObject";
5
+ export interface IAltVServerEvents extends alt.IServerEvent, INetServerEvents {
6
+ "rm::entityCreated"(baseObject: AltVBaseObject<alt.BaseObject>): void;
7
+ "rm::entityDestroyed"(baseObject: AltVBaseObject<alt.BaseObject>): void;
8
+ }
9
+ export interface IAltVClientEvents extends INetClientEvents {
10
+ }
11
+ export declare class AltVEventsManager implements IEventsManager {
12
+ on<K extends keyof IAltVServerEvents>(events: Record<K, (...args: Parameters<IAltVServerEvents[K]>) => void>): void;
13
+ off<K extends keyof IAltVServerEvents>(eventName: K, listener: (...args: Parameters<IAltVServerEvents[K]>) => void): void;
14
+ emit<K extends keyof IAltVServerEvents>(eventName: K, ...args: Parameters<IAltVServerEvents[K]>): void;
15
+ emitClient<K extends keyof IAltVClientEvents>(player: AltVPlayer, eventName: K, ...args: Parameters<IAltVClientEvents[K]>): void;
16
+ }
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AltVEventsManager = void 0;
4
+ var alt = AltVServer;
5
+ var Player = AltVServer.Player;
6
+ class AltVEventsManager {
7
+ on(events) {
8
+ for (const eventName of Object.keys(events)) {
9
+ alt.on(eventName, events[eventName]);
10
+ }
11
+ }
12
+ off(eventName, listener) {
13
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
14
+ // @ts-ignore
15
+ return alt.off(eventName, listener);
16
+ }
17
+ emit(eventName, ...args) {
18
+ return alt.emit(eventName, ...args);
19
+ }
20
+ emitClient(player, eventName, ...args) {
21
+ const mpPlayer = Player.getByID(player.id);
22
+ if (!mpPlayer) {
23
+ throw new Error(`Player with id ${player.id} not found`);
24
+ }
25
+ return mpPlayer.emit(eventName, ...args);
26
+ }
27
+ }
28
+ exports.AltVEventsManager = AltVEventsManager;
@@ -0,0 +1,12 @@
1
+ import { INetClientRPC, INetServerRPC, IRPCManager } from "../../common/rpc/IRPCManager";
2
+ import { AltVPlayer } from "../../../entities/altv/player/AltVPlayer";
3
+ import shared = AltVShared;
4
+ export interface IAltVServerRPC extends shared.ICustomClientServerRpc, INetServerRPC {
5
+ }
6
+ export interface IAltVClientRPC extends shared.ICustomServerClientRpc, INetClientRPC {
7
+ }
8
+ export declare class AltVRPCManager implements IRPCManager {
9
+ register<K extends keyof IAltVServerRPC>(rpcName: K, handler: (player: AltVPlayer, ...args: Parameters<IAltVServerRPC[K]>) => ReturnType<IAltVServerRPC[K]>): void;
10
+ unregister<K extends keyof IAltVServerRPC>(rpcName: K): void;
11
+ emitClient<K extends keyof IAltVClientRPC>(player: AltVPlayer, rpcName: K, ...args: Parameters<IAltVClientRPC[K]>): Promise<ReturnType<IAltVClientRPC[K]>>;
12
+ }
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AltVRPCManager = void 0;
4
+ var alt = AltVServer;
5
+ var Player = AltVServer.Player;
6
+ class AltVRPCManager {
7
+ register(rpcName, handler) {
8
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
9
+ // @ts-ignore
10
+ return alt.onRpc(rpcName, handler);
11
+ }
12
+ unregister(rpcName) {
13
+ return alt.offRpc(rpcName);
14
+ }
15
+ emitClient(player, rpcName, ...args) {
16
+ const mpPlayer = Player.getByID(player.id);
17
+ if (!mpPlayer) {
18
+ throw new Error(`Player with id ${player.id} not found`);
19
+ }
20
+ return mpPlayer.emitRpc(rpcName, ...args);
21
+ }
22
+ }
23
+ exports.AltVRPCManager = AltVRPCManager;
@@ -0,0 +1,6 @@
1
+ import { IEventsManager } from "./events/IEventsManager";
2
+ import { IRPCManager } from "./rpc/IRPCManager";
3
+ export interface INetManager {
4
+ get events(): IEventsManager;
5
+ get rpc(): IRPCManager;
6
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,16 @@
1
+ import { IPlayer } from "../../../entities/common/player/IPlayer";
2
+ import { IBaseObject } from "../../../entities/common/baseObject/IBaseObject";
3
+ export interface INetServerEvents {
4
+ "rm::playerConnected"(player: IPlayer): void;
5
+ "rm::playerDisconnected"(player: IPlayer): void;
6
+ "rm::entityCreated"(entity: IBaseObject): void;
7
+ "rm::entityDestroyed"(entity: IBaseObject): void;
8
+ }
9
+ export interface INetClientEvents {
10
+ }
11
+ export interface IEventsManager {
12
+ on<K extends keyof INetServerEvents>(events: Record<K, (...args: Parameters<INetServerEvents[K]>) => void>): void;
13
+ off<K extends keyof INetServerEvents>(eventName: K, listener: (...args: Parameters<INetServerEvents[K]>) => void): void;
14
+ emit<K extends keyof INetServerEvents>(eventName: K, ...args: Parameters<INetServerEvents[K]>): void;
15
+ emitClient<K extends keyof INetClientEvents>(player: IPlayer, eventName: K, ...args: Parameters<INetClientEvents[K]>): void;
16
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,10 @@
1
+ import { IPlayer } from "../../../entities/common/player/IPlayer";
2
+ export interface INetServerRPC {
3
+ }
4
+ export interface INetClientRPC {
5
+ }
6
+ export interface IRPCManager {
7
+ register<K extends keyof INetServerRPC>(rpcName: K, handler: (player: IPlayer, ...args: Parameters<INetServerRPC[K]>) => ReturnType<INetServerRPC[K]>): void;
8
+ unregister<K extends keyof INetServerRPC>(rpcName: K): void;
9
+ emitClient<K extends keyof INetClientRPC>(player: IPlayer, rpcName: K, ...args: Parameters<INetClientRPC[K]>): Promise<ReturnType<INetClientRPC[K]>>;
10
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,10 @@
1
+ import { INetManager } from "../common/INetManager";
2
+ import { RageEventsManager } from "./events/RageEventsManager";
3
+ import { RageRPCManager } from "./rpc/RageRPCManager";
4
+ export declare class RageNetManager implements INetManager {
5
+ private readonly _eventsManager;
6
+ private readonly _rpcManager;
7
+ get events(): RageEventsManager;
8
+ get rpc(): RageRPCManager;
9
+ constructor();
10
+ }
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RageNetManager = void 0;
4
+ const RageEventsManager_1 = require("./events/RageEventsManager");
5
+ const RageRPCManager_1 = require("./rpc/RageRPCManager");
6
+ class RageNetManager {
7
+ _eventsManager;
8
+ _rpcManager;
9
+ get events() {
10
+ return this._eventsManager;
11
+ }
12
+ get rpc() {
13
+ return this._rpcManager;
14
+ }
15
+ constructor() {
16
+ this._eventsManager = new RageEventsManager_1.RageEventsManager();
17
+ this._rpcManager = new RageRPCManager_1.RageRPCManager();
18
+ }
19
+ }
20
+ exports.RageNetManager = RageNetManager;
@@ -0,0 +1,19 @@
1
+ import { IEventsManager, INetClientEvents, INetServerEvents } from "../../common/events/IEventsManager";
2
+ import { RagePlayer } from "../../../entities/ragemp/player/RagePlayer";
3
+ import { RageBaseObject } from "../../../entities/ragemp/baseObject/RageBaseObject";
4
+ export interface IRageServerEvents extends IServerEvents, INetServerEvents {
5
+ "rm::playerConnected"(player: RagePlayer): void;
6
+ "rm::playerDisconnected"(player: RagePlayer): void;
7
+ "rm::entityCreated"(entity: RageBaseObject): void;
8
+ "rm::entityDestroyed"(entity: RageBaseObject): void;
9
+ playerJoin(player: PlayerMp): void;
10
+ playerQuit(player: PlayerMp): void;
11
+ }
12
+ export interface IRageClientEvents extends INetClientEvents {
13
+ }
14
+ export declare class RageEventsManager implements IEventsManager {
15
+ on<K extends keyof IRageServerEvents>(events: Record<K, (...args: Parameters<IRageServerEvents[K]>) => void>): void;
16
+ off<K extends keyof IRageServerEvents>(eventName: K, listener: (...args: Parameters<IRageServerEvents[K]>) => void): void;
17
+ emit<K extends keyof IRageServerEvents>(eventName: K, ...args: Parameters<IRageServerEvents[K]>): void;
18
+ emitClient<K extends keyof IRageClientEvents>(player: RagePlayer, eventName: K, ...args: Parameters<IRageClientEvents[K]>): void;
19
+ }
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RageEventsManager = void 0;
4
+ class RageEventsManager {
5
+ on(events) {
6
+ for (const eventName of Object.keys(events)) {
7
+ mp.events.add(eventName, events[eventName]);
8
+ }
9
+ }
10
+ off(eventName, listener) {
11
+ return mp.events.remove(eventName, listener);
12
+ }
13
+ emit(eventName, ...args) {
14
+ return mp.events.call(eventName, ...args);
15
+ }
16
+ emitClient(player, eventName, ...args) {
17
+ const mpPlayer = mp.players.at(player.id);
18
+ if (!mpPlayer) {
19
+ throw new Error(`Player with id ${player.id} not found`);
20
+ }
21
+ return mpPlayer.call(eventName, args);
22
+ }
23
+ }
24
+ exports.RageEventsManager = RageEventsManager;
@@ -0,0 +1,11 @@
1
+ import { INetClientRPC, INetServerRPC, IRPCManager } from "../../common/rpc/IRPCManager";
2
+ import { RagePlayer } from "../../../entities/ragemp/player/RagePlayer";
3
+ export interface IRageServerRPC extends INetServerRPC {
4
+ }
5
+ export interface IRageClientRPC extends INetClientRPC {
6
+ }
7
+ export declare class RageRPCManager implements IRPCManager {
8
+ register<K extends keyof IRageServerRPC>(rpcName: K, handler: (player: RagePlayer, ...args: Parameters<IRageServerRPC[K]>) => ReturnType<IRageServerRPC[K]>): void;
9
+ unregister<K extends keyof IRageServerRPC>(rpcName: K): void;
10
+ emitClient<K extends keyof IRageClientRPC>(player: RagePlayer, rpcName: K, ...args: Parameters<IRageClientRPC[K]>): Promise<ReturnType<IRageClientRPC[K]>>;
11
+ }
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RageRPCManager = void 0;
4
+ class RageRPCManager {
5
+ register(rpcName, handler) {
6
+ return mp.events.addProc(rpcName, handler);
7
+ }
8
+ unregister(rpcName) {
9
+ return mp.events.remove(rpcName);
10
+ }
11
+ emitClient(player, rpcName, ...args) {
12
+ const mpPlayer = mp.players.at(player.id);
13
+ if (!mpPlayer) {
14
+ throw new Error(`Player with id ${player.id} not found`);
15
+ }
16
+ return mpPlayer.callProc(rpcName, args);
17
+ }
18
+ }
19
+ exports.RageRPCManager = RageRPCManager;