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
package/LICENSE CHANGED
@@ -1,21 +1,21 @@
1
- MIT License
2
-
3
- Copyright (c) 2024 Carter
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
1
+ MIT License
2
+
3
+ Copyright (c) 2024 Carter
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/dist/index.d.ts CHANGED
@@ -1 +1 @@
1
- export * from "./server/RockMod";
1
+ export * from "./server";
package/dist/index.js CHANGED
@@ -14,4 +14,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./server/RockMod"), exports);
17
+ __exportStar(require("./server"), exports);
@@ -1,3 +1,4 @@
1
+ import { INetManager } from "./net/common/INetManager";
1
2
  import { IPlayersManager } from "./entities/common/player/IPlayersManager";
2
3
  import { IVehiclesManager } from "./entities/common/vehicle/IVehiclesManager";
3
4
  type MultiplayerType = "RageMP" | "AltV";
@@ -5,13 +6,18 @@ export interface RockModOptions {
5
6
  multiplayer: MultiplayerType;
6
7
  }
7
8
  export declare class RockMod {
8
- private readonly _options;
9
- private readonly _players;
10
- private readonly _vehicles;
9
+ private static _instance?;
10
+ static create(options: RockModOptions): Promise<RockMod>;
11
+ static get instance(): RockMod;
12
+ private static _initManagersFactory;
13
+ private readonly _managersFactory;
14
+ private readonly _net;
15
+ private _players;
16
+ private _vehicles;
17
+ get net(): INetManager;
11
18
  get players(): IPlayersManager;
12
19
  get vehicles(): IVehiclesManager;
13
- constructor(options: RockModOptions);
20
+ private constructor();
14
21
  init(): void;
15
- private _initManagersFactory;
16
22
  }
17
23
  export {};
@@ -1,37 +1,79 @@
1
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
2
25
  Object.defineProperty(exports, "__esModule", { value: true });
3
26
  exports.RockMod = void 0;
4
- const AltVManagersFactory_1 = require("./entities/altv/AltVManagersFactory");
5
- const RageManagersFactory_1 = require("./entities/ragemp/RageManagersFactory");
6
27
  class RockMod {
7
- _options;
28
+ static _instance;
29
+ static async create(options) {
30
+ if (this._instance) {
31
+ throw new Error("RockMod already created");
32
+ }
33
+ const managersFactory = await this._initManagersFactory(options);
34
+ this._instance = new RockMod(managersFactory);
35
+ return this._instance;
36
+ }
37
+ static get instance() {
38
+ if (!this._instance) {
39
+ throw new Error("RockMod not created");
40
+ }
41
+ return this._instance;
42
+ }
43
+ static async _initManagersFactory(options) {
44
+ const { multiplayer } = options;
45
+ switch (multiplayer) {
46
+ case "AltV": {
47
+ const { AltVManagersFactory } = await Promise.resolve().then(() => __importStar(require("./factories/altv/AltVManagersFactory")));
48
+ return new AltVManagersFactory();
49
+ }
50
+ case "RageMP": {
51
+ const { RageManagersFactory } = await Promise.resolve().then(() => __importStar(require("./factories/ragemp/RageManagersFactory")));
52
+ return new RageManagersFactory();
53
+ }
54
+ }
55
+ }
56
+ _managersFactory;
57
+ _net;
8
58
  _players;
9
59
  _vehicles;
60
+ get net() {
61
+ return this._net;
62
+ }
10
63
  get players() {
11
64
  return this._players;
12
65
  }
13
66
  get vehicles() {
14
67
  return this._vehicles;
15
68
  }
16
- constructor(options) {
17
- this._options = options;
18
- const managersFactory = this._initManagersFactory();
19
- this._players = managersFactory.createPlayersManager();
20
- this._vehicles = managersFactory.createVehiclesManager();
69
+ constructor(managersFactory) {
70
+ this._managersFactory = managersFactory;
71
+ this._net = managersFactory.createNetManager();
21
72
  }
22
73
  init() {
23
74
  console.log("RockMod init");
24
- }
25
- _initManagersFactory() {
26
- const { multiplayer } = this._options;
27
- switch (multiplayer) {
28
- case "AltV": {
29
- return new AltVManagersFactory_1.AltVManagersFactory();
30
- }
31
- case "RageMP": {
32
- return new RageManagersFactory_1.RageManagersFactory();
33
- }
34
- }
75
+ this._players = this._managersFactory.createPlayersManager();
76
+ this._vehicles = this._managersFactory.createVehiclesManager();
35
77
  }
36
78
  }
37
79
  exports.RockMod = RockMod;
@@ -0,0 +1,17 @@
1
+ export interface IRGBA {
2
+ get r(): number;
3
+ get g(): number;
4
+ get b(): number;
5
+ get a(): number | undefined;
6
+ }
7
+ export declare class RGBA implements IRGBA {
8
+ private readonly _r;
9
+ private readonly _g;
10
+ private readonly _b;
11
+ private readonly _a;
12
+ get r(): number;
13
+ get g(): number;
14
+ get b(): number;
15
+ get a(): number | undefined;
16
+ constructor(r: number, g: number, b: number, a?: number | undefined);
17
+ }
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RGBA = void 0;
4
+ class RGBA {
5
+ _r;
6
+ _g;
7
+ _b;
8
+ _a;
9
+ get r() {
10
+ return this._r;
11
+ }
12
+ get g() {
13
+ return this._g;
14
+ }
15
+ get b() {
16
+ return this._b;
17
+ }
18
+ get a() {
19
+ return this._a;
20
+ }
21
+ constructor(r, g, b, a) {
22
+ this._r = r;
23
+ this._g = g;
24
+ this._b = b;
25
+ this._a = a;
26
+ }
27
+ }
28
+ exports.RGBA = RGBA;
@@ -0,0 +1 @@
1
+ export * from "./RGBA";
@@ -0,0 +1,17 @@
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("./RGBA"), exports);
@@ -0,0 +1,2 @@
1
+ export * from "./color";
2
+ export * from "./math";
@@ -0,0 +1,18 @@
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("./color"), exports);
18
+ __exportStar(require("./math"), exports);
@@ -0,0 +1,6 @@
1
+ declare global {
2
+ interface Math {
3
+ clamp(value: number, min: number, max: number): number;
4
+ }
5
+ }
6
+ export declare function clamp(value: number, min: number, max: number): number;
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.clamp = clamp;
4
+ function clamp(value, min, max) {
5
+ return Math.max(min, Math.min(max, value));
6
+ }
7
+ Math.clamp = clamp;
@@ -1,4 +1,17 @@
1
- export declare class Vector2D {
1
+ export interface IVector2D {
2
+ get x(): number;
3
+ get y(): number;
4
+ distanceTo(position: IVector2D): number;
5
+ squaredDistanceTo(position: IVector2D): number;
6
+ isInRange(position: IVector2D, range: number): boolean;
7
+ }
8
+ export interface IVector3D extends IVector2D {
9
+ get z(): number;
10
+ distanceTo(position: IVector3D): number;
11
+ squaredDistanceTo(position: IVector3D): number;
12
+ isInRange(position: IVector3D, range: number): boolean;
13
+ }
14
+ export declare class Vector2D implements IVector2D {
2
15
  private readonly _x;
3
16
  private readonly _y;
4
17
  get x(): number;
@@ -8,7 +21,7 @@ export declare class Vector2D {
8
21
  squaredDistanceTo(position: Vector2D): number;
9
22
  isInRange(position: Vector2D, range: number): boolean;
10
23
  }
11
- export declare class Vector3D extends Vector2D {
24
+ export declare class Vector3D extends Vector2D implements IVector3D {
12
25
  private readonly _z;
13
26
  get z(): number;
14
27
  constructor(x: number, y: number, z: number);
@@ -0,0 +1 @@
1
+ export * from "./Vectors";
@@ -0,0 +1,17 @@
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("./Vectors"), exports);
@@ -1,9 +1,14 @@
1
1
  import { BaseObjectType, IBaseObject, IBaseObjectOptions } from "../../common/baseObject/IBaseObject";
2
- export declare abstract class AltVBaseObject implements IBaseObject {
3
- private readonly _id;
4
- private readonly _type;
2
+ import BaseObject = AltVServer.BaseObject;
3
+ export interface IAltVBaseObjectOptions<T extends BaseObject> extends IBaseObjectOptions {
4
+ mpEntity: T;
5
+ }
6
+ export declare abstract class AltVBaseObject<T extends BaseObject> implements IBaseObject {
7
+ private readonly _mpEntity;
5
8
  get id(): number;
6
9
  get type(): BaseObjectType;
7
- protected constructor(options: IBaseObjectOptions);
10
+ get isExists(): boolean;
11
+ protected get mpEntity(): T;
12
+ protected constructor(options: IAltVBaseObjectOptions<T>);
8
13
  destroy(): void;
9
14
  }
@@ -1,18 +1,32 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.AltVBaseObject = void 0;
4
+ const IBaseObject_1 = require("../../common/baseObject/IBaseObject");
5
+ var BaseObjectTypeMP = AltVShared.BaseObjectType;
4
6
  class AltVBaseObject {
5
- _id;
6
- _type;
7
+ _mpEntity;
7
8
  get id() {
8
- return this._id;
9
+ return this._mpEntity.id;
9
10
  }
10
11
  get type() {
11
- return this._type;
12
+ switch (this._mpEntity.type) {
13
+ case BaseObjectTypeMP.Player: {
14
+ return IBaseObject_1.BaseObjectType.Player;
15
+ }
16
+ case BaseObjectTypeMP.Vehicle: {
17
+ return IBaseObject_1.BaseObjectType.Vehicle;
18
+ }
19
+ }
20
+ throw new Error(`BaseObject type ${this._mpEntity.type} not supported`);
21
+ }
22
+ get isExists() {
23
+ return this.mpEntity.valid;
24
+ }
25
+ get mpEntity() {
26
+ return this._mpEntity;
12
27
  }
13
28
  constructor(options) {
14
- this._id = options.id;
15
- this._type = options.type;
29
+ this._mpEntity = options.mpEntity;
16
30
  }
17
31
  destroy() {
18
32
  console.log("destroy");
@@ -1,6 +1,7 @@
1
1
  import { AltVBaseObject } from "./AltVBaseObject";
2
2
  import { IBaseObjectsIterator } from "../../common/baseObject/IBaseObjectsIterator";
3
- export declare class AltVBaseObjectsIterator<T extends AltVBaseObject> implements IBaseObjectsIterator<T> {
3
+ import BaseObject = AltVServer.BaseObject;
4
+ export declare class AltVBaseObjectsIterator<T extends AltVBaseObject<BaseObject>> implements IBaseObjectsIterator<T> {
4
5
  private readonly _baseObjects;
5
6
  constructor(baseObjects: ReadonlyMap<number, T>);
6
7
  all(): IterableIterator<T>;
@@ -1,13 +1,18 @@
1
1
  import { IBaseObjectsManager, IBaseObjectsManagerOptions } from "../../common/baseObject/IBaseObjectsManager";
2
2
  import { AltVBaseObject } from "./AltVBaseObject";
3
3
  import { AltVBaseObjectsIterator } from "./AltVBaseObjectsIterator";
4
- export declare abstract class AltVBaseObjectsManager<T extends AltVBaseObject> implements IBaseObjectsManager<T> {
4
+ import BaseObject = AltVServer.BaseObject;
5
+ export interface IAltVBaseObjectsManagerOptions extends IBaseObjectsManagerOptions {
6
+ }
7
+ export declare abstract class AltVBaseObjectsManager<T extends AltVBaseObject<BaseObject>> implements IBaseObjectsManager<T> {
5
8
  private readonly _baseObjects;
6
9
  private readonly _baseObjectsType;
7
10
  protected readonly _iterator: AltVBaseObjectsIterator<T>;
8
11
  protected get baseObjects(): ReadonlyMap<number, T>;
9
12
  get iterator(): AltVBaseObjectsIterator<T>;
10
- protected constructor(options: IBaseObjectsManagerOptions);
13
+ protected constructor(options: IAltVBaseObjectsManagerOptions);
11
14
  getByID(id: number): T;
12
15
  findByID(id: number): T | null;
16
+ protected registerBaseObject(baseObject: T): void;
17
+ protected unregisterBaseObject(baseObject: T): void;
13
18
  }
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.AltVBaseObjectsManager = void 0;
4
4
  const AltVBaseObjectsIterator_1 = require("./AltVBaseObjectsIterator");
5
+ const RockMod_1 = require("../../../RockMod");
5
6
  class AltVBaseObjectsManager {
6
7
  _baseObjects;
7
8
  _baseObjectsType;
@@ -28,5 +29,18 @@ class AltVBaseObjectsManager {
28
29
  const baseObject = this._baseObjects.get(id);
29
30
  return baseObject ?? null;
30
31
  }
32
+ registerBaseObject(baseObject) {
33
+ if (this._baseObjects.has(baseObject.id)) {
34
+ throw new Error(`BaseObject [${this._baseObjectsType}] with id ${baseObject.id} already exists`);
35
+ }
36
+ this._baseObjects.set(baseObject.id, baseObject);
37
+ RockMod_1.RockMod.instance.net.events.emit("rm::entityCreated", baseObject);
38
+ }
39
+ unregisterBaseObject(baseObject) {
40
+ if (!this._baseObjects.delete(baseObject.id)) {
41
+ throw new Error(`BaseObject [${this._baseObjectsType}] with id ${baseObject.id} not found`);
42
+ }
43
+ RockMod_1.RockMod.instance.net.events.emit("rm::entityCreated", baseObject);
44
+ }
31
45
  }
32
46
  exports.AltVBaseObjectsManager = AltVBaseObjectsManager;
@@ -1,5 +1,6 @@
1
1
  import { IEntitiesManager } from "../../common/entity/IEntitiesManager";
2
2
  import { AltVEntity } from "./AltVEntity";
3
3
  import { AltVWorldObjectsManager } from "../worldObject/AltVWorldObjectsManager";
4
- export declare abstract class AltVEntitiesManager<T extends AltVEntity> extends AltVWorldObjectsManager<T> implements IEntitiesManager<T> {
4
+ import Entity = AltVServer.Entity;
5
+ export declare abstract class AltVEntitiesManager<T extends AltVEntity<Entity>> extends AltVWorldObjectsManager<T> implements IEntitiesManager<T> {
5
6
  }
@@ -1,8 +1,13 @@
1
- import { IEntity, IEntityOptions } from "../../common/entity/IEntity";
2
- import { AltVWorldObject } from "../worldObject/AltVWorldObject";
3
- export declare abstract class AltVEntity extends AltVWorldObject implements IEntity {
4
- private _model;
5
- get model(): string;
6
- protected constructor(options: IEntityOptions);
1
+ import { IEntity } from "../../common/entity/IEntity";
2
+ import { AltVWorldObject, IAltVWorldObjectOptions } from "../worldObject/AltVWorldObject";
3
+ import Entity = AltVServer.Entity;
4
+ import { Vector3D } from "../../../common/utils";
5
+ export interface IAltVEntityOptions<T extends Entity> extends IAltVWorldObjectOptions<T> {
6
+ }
7
+ export declare abstract class AltVEntity<T extends Entity> extends AltVWorldObject<T> implements IEntity {
8
+ get model(): number;
9
+ get rotation(): Vector3D;
10
+ protected constructor(options: IAltVEntityOptions<T>);
7
11
  setModel(value: string): void;
12
+ setRotation(value: Vector3D): void;
8
13
  }
@@ -2,17 +2,25 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.AltVEntity = void 0;
4
4
  const AltVWorldObject_1 = require("../worldObject/AltVWorldObject");
5
+ var hash = AltVShared.hash;
6
+ const utils_1 = require("../../../common/utils");
7
+ var Vector3 = AltVShared.Vector3;
5
8
  class AltVEntity extends AltVWorldObject_1.AltVWorldObject {
6
- _model;
7
9
  get model() {
8
- return this._model;
10
+ return this.mpEntity.model;
11
+ }
12
+ get rotation() {
13
+ const { x, y, z } = this.mpEntity.rot;
14
+ return new utils_1.Vector3D(x, y, z);
9
15
  }
10
16
  constructor(options) {
11
17
  super(options);
12
- this._model = options.model;
13
18
  }
14
19
  setModel(value) {
15
- this._model = value;
20
+ this.mpEntity.model = hash(value);
21
+ }
22
+ setRotation(value) {
23
+ this.mpEntity.rot = new Vector3(value);
16
24
  }
17
25
  }
18
26
  exports.AltVEntity = AltVEntity;
@@ -1,13 +1,47 @@
1
- import { AltVEntity } from "../entity/AltVEntity";
2
- import { IPlayer, IPlayerOptions } from "../../common/player/IPlayer";
3
- export declare class AltVPlayer extends AltVEntity implements IPlayer {
4
- private _name;
5
- private readonly _socialClub;
6
- private _health;
1
+ import { AltVEntity, IAltVEntityOptions } from "../entity/AltVEntity";
2
+ import { ICustomization, IPlayer } from "../../common/player/IPlayer";
3
+ import { AltVVehicle } from "../vehicle/AltVVehicle";
4
+ import Player = AltVServer.Player;
5
+ import { Vector3D } from "../../../common/utils/math/Vectors";
6
+ import { IAltVClientEvents } from "../../../net/altv/events/AltVEventsManager";
7
+ import { IAltVClientRPC } from "../../../net/altv/rpc/AltVRPCManager";
8
+ interface AltVPlayerOptions extends IAltVEntityOptions<Player> {
9
+ }
10
+ export declare class AltVPlayer extends AltVEntity<Player> implements IPlayer {
7
11
  get name(): string;
8
12
  get socialClub(): string;
13
+ get heading(): number;
9
14
  get health(): number;
10
- constructor(options: IPlayerOptions);
11
- setName(value: string): void;
15
+ get armour(): number;
16
+ get ip(): string;
17
+ get serial(): string;
18
+ get vehicle(): AltVVehicle | null;
19
+ get seat(): number;
20
+ get weapon(): number;
21
+ get weaponAmmo(): number;
22
+ get eyeColor(): number;
23
+ get streamedPlayers(): AltVPlayer[];
24
+ constructor(options: AltVPlayerOptions);
25
+ emitEvent<K extends keyof IAltVClientEvents>(eventName: K, ...args: Parameters<IAltVClientEvents[K]>): void;
26
+ emitRPC<K extends keyof IAltVClientRPC>(rpcName: K, ...args: Parameters<IAltVClientRPC[K]>): Promise<ReturnType<IAltVClientRPC[K]>>;
27
+ spawn(position: Vector3D): void;
28
+ setName(name: string): void;
29
+ setHeading(value: number): void;
12
30
  setHealth(value: number): void;
31
+ setArmour(value: number): void;
32
+ setWeaponAmmo(weapon: string, ammo: number): void;
33
+ giveWeapon(weapon: string, ammo: number): void;
34
+ removeWeapon(weapon: string): void;
35
+ enableVoiceTo(player: AltVPlayer): void;
36
+ disableVoiceTo(player: AltVPlayer): void;
37
+ putIntoVehicle(vehicle: AltVVehicle, seat?: number): void;
38
+ ejectFromVehicle(): void;
39
+ setCustomization(data: Partial<ICustomization>): void;
40
+ setHeadOverlay(overlayID: number, index: number, opacity: number, firstColor: number, secondColor: number): void;
41
+ setEyeColor(colorID: number): void;
42
+ setProp(propID: number, drawableID: number, textureID: number): void;
43
+ setClothes(componentID: number, drawableID: number, textureID: number, paletteID: number): void;
44
+ setHairColor(colorID: number, highlightColorID: number): void;
45
+ kick(reason?: string): void;
13
46
  }
47
+ export {};