rock-mod 0.0.0 → 0.1.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 (105) hide show
  1. package/dist/index.d.ts +1 -0
  2. package/dist/index.js +17 -0
  3. package/dist/server/RockMod.d.ts +11 -5
  4. package/dist/server/RockMod.js +61 -19
  5. package/dist/server/common/utils/index.d.ts +1 -0
  6. package/dist/server/common/utils/index.js +17 -0
  7. package/dist/server/common/utils/math/Math.d.ts +6 -0
  8. package/dist/server/common/utils/math/Math.js +7 -0
  9. package/dist/server/common/utils/math/Vectors.d.ts +15 -2
  10. package/dist/server/common/utils/math/index.d.ts +1 -0
  11. package/dist/server/common/utils/math/index.js +17 -0
  12. package/dist/server/entities/altv/baseObject/AltVBaseObject.d.ts +8 -4
  13. package/dist/server/entities/altv/baseObject/AltVBaseObject.js +17 -6
  14. package/dist/server/entities/altv/baseObject/AltVBaseObjectsIterator.d.ts +2 -1
  15. package/dist/server/entities/altv/baseObject/AltVBaseObjectsManager.d.ts +7 -2
  16. package/dist/server/entities/altv/baseObject/AltVBaseObjectsManager.js +14 -0
  17. package/dist/server/entities/altv/entity/AltVEntitiesManager.d.ts +2 -1
  18. package/dist/server/entities/altv/entity/AltVEntity.d.ts +8 -6
  19. package/dist/server/entities/altv/entity/AltVEntity.js +3 -4
  20. package/dist/server/entities/altv/player/AltVPlayer.d.ts +42 -8
  21. package/dist/server/entities/altv/player/AltVPlayer.js +117 -12
  22. package/dist/server/entities/altv/player/AltVPlayerNetManager.d.ts +8 -0
  23. package/dist/server/entities/altv/player/AltVPlayerNetManager.js +16 -0
  24. package/dist/server/entities/altv/vehicle/AltVVehicle.d.ts +7 -5
  25. package/dist/server/entities/altv/vehicle/AltVVehicle.js +2 -4
  26. package/dist/server/entities/altv/vehicle/AltVVehiclesManager.d.ts +5 -1
  27. package/dist/server/entities/altv/vehicle/AltVVehiclesManager.js +9 -0
  28. package/dist/server/entities/altv/worldObject/AltVWorldObject.d.ts +9 -6
  29. package/dist/server/entities/altv/worldObject/AltVWorldObject.js +11 -6
  30. package/dist/server/entities/altv/worldObject/AltVWorldObjectsIterator.d.ts +2 -1
  31. package/dist/server/entities/altv/worldObject/AltVWorldObjectsManager.d.ts +7 -4
  32. package/dist/server/entities/common/baseObject/IBaseObject.d.ts +2 -2
  33. package/dist/server/entities/common/baseObject/index.d.ts +3 -0
  34. package/dist/server/entities/common/baseObject/index.js +19 -0
  35. package/dist/server/entities/common/entity/IEntity.d.ts +1 -2
  36. package/dist/server/entities/common/entity/index.d.ts +2 -0
  37. package/dist/server/entities/common/entity/index.js +18 -0
  38. package/dist/server/entities/common/index.d.ts +5 -0
  39. package/dist/server/entities/common/index.js +21 -0
  40. package/dist/server/entities/common/player/IPlayer.d.ts +49 -3
  41. package/dist/server/entities/common/player/IPlayerNetManager.d.ts +4 -0
  42. package/dist/server/entities/common/player/index.d.ts +3 -0
  43. package/dist/server/entities/common/player/index.js +19 -0
  44. package/dist/server/entities/common/vehicle/IVehicle.d.ts +20 -0
  45. package/dist/server/entities/common/vehicle/IVehicle.js +22 -0
  46. package/dist/server/entities/common/vehicle/IVehiclesManager.d.ts +7 -0
  47. package/dist/server/entities/common/vehicle/index.d.ts +2 -0
  48. package/dist/server/entities/common/vehicle/index.js +18 -0
  49. package/dist/server/entities/common/worldObject/IWorldObject.d.ts +5 -5
  50. package/dist/server/entities/common/worldObject/index.d.ts +3 -0
  51. package/dist/server/entities/common/worldObject/index.js +19 -0
  52. package/dist/server/entities/index.d.ts +1 -0
  53. package/dist/server/entities/index.js +17 -0
  54. package/dist/server/entities/ragemp/baseObject/RageBaseObject.d.ts +7 -4
  55. package/dist/server/entities/ragemp/baseObject/RageBaseObject.js +7 -6
  56. package/dist/server/entities/ragemp/baseObject/RageBaseObjectsManager.d.ts +6 -2
  57. package/dist/server/entities/ragemp/baseObject/RageBaseObjectsManager.js +14 -0
  58. package/dist/server/entities/ragemp/entity/RageEntitiesManager.d.ts +6 -4
  59. package/dist/server/entities/ragemp/entity/RageEntity.d.ts +7 -6
  60. package/dist/server/entities/ragemp/entity/RageEntity.js +2 -4
  61. package/dist/server/entities/ragemp/player/RagePlayer.d.ts +41 -8
  62. package/dist/server/entities/ragemp/player/RagePlayer.js +109 -12
  63. package/dist/server/entities/ragemp/player/RagePlayerNetManager.d.ts +7 -0
  64. package/dist/server/entities/ragemp/player/RagePlayerNetManager.js +16 -0
  65. package/dist/server/entities/ragemp/player/RagePlayersManager.d.ts +1 -0
  66. package/dist/server/entities/ragemp/player/RagePlayersManager.js +20 -0
  67. package/dist/server/entities/ragemp/vehicle/RageVehicle.d.ts +6 -5
  68. package/dist/server/entities/ragemp/vehicle/RageVehicle.js +2 -4
  69. package/dist/server/entities/ragemp/vehicle/RageVehiclesManager.d.ts +4 -1
  70. package/dist/server/entities/ragemp/vehicle/RageVehiclesManager.js +8 -0
  71. package/dist/server/entities/ragemp/worldObject/RageWorldObject.d.ts +8 -6
  72. package/dist/server/entities/ragemp/worldObject/RageWorldObject.js +10 -6
  73. package/dist/server/entities/ragemp/worldObject/RageWorldObjectsIterator.d.ts +1 -1
  74. package/dist/server/entities/ragemp/worldObject/RageWorldObjectsManager.d.ts +6 -4
  75. package/dist/server/factories/altv/AltVManagersFactory.d.ts +9 -0
  76. package/dist/server/{entities → factories}/altv/AltVManagersFactory.js +6 -2
  77. package/dist/server/factories/common/IManagersFactory.d.ts +8 -0
  78. package/dist/server/factories/common/IManagersFactory.js +2 -0
  79. package/dist/server/factories/ragemp/RageManagersFactory.d.ts +9 -0
  80. package/dist/server/{entities → factories}/ragemp/RageManagersFactory.js +6 -2
  81. package/dist/server/index.d.ts +3 -0
  82. package/dist/server/index.js +19 -0
  83. package/dist/server/net/altv/AltVNetManager.d.ts +10 -0
  84. package/dist/server/net/altv/AltVNetManager.js +20 -0
  85. package/dist/server/net/altv/events/AltVEventsManager.d.ts +16 -0
  86. package/dist/server/net/altv/events/AltVEventsManager.js +28 -0
  87. package/dist/server/net/altv/rpc/AltVRPCManager.d.ts +11 -0
  88. package/dist/server/net/altv/rpc/AltVRPCManager.js +18 -0
  89. package/dist/server/net/common/INetManager.d.ts +6 -0
  90. package/dist/server/net/common/INetManager.js +2 -0
  91. package/dist/server/net/common/events/IEventsManager.d.ts +15 -0
  92. package/dist/server/net/common/events/IEventsManager.js +2 -0
  93. package/dist/server/net/common/rpc/IRPCManager.d.ts +6 -0
  94. package/dist/server/net/common/rpc/IRPCManager.js +2 -0
  95. package/dist/server/net/ragemp/RageNetManager.d.ts +10 -0
  96. package/dist/server/net/ragemp/RageNetManager.js +20 -0
  97. package/dist/server/net/ragemp/events/RageEventsManager.d.ts +19 -0
  98. package/dist/server/net/ragemp/events/RageEventsManager.js +25 -0
  99. package/dist/server/net/ragemp/rpc/RageRPCManager.d.ts +7 -0
  100. package/dist/server/net/ragemp/rpc/RageRPCManager.js +15 -0
  101. package/package.json +18 -9
  102. package/dist/server/entities/altv/AltVManagersFactory.d.ts +0 -7
  103. package/dist/server/entities/common/IManagersFactory.d.ts +0 -6
  104. package/dist/server/entities/ragemp/RageManagersFactory.d.ts +0 -7
  105. /package/dist/server/entities/common/{IManagersFactory.js → player/IPlayerNetManager.js} +0 -0
@@ -3,16 +3,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.AltVVehicle = void 0;
4
4
  const AltVEntity_1 = require("../entity/AltVEntity");
5
5
  class AltVVehicle extends AltVEntity_1.AltVEntity {
6
- _bodyHealth;
7
6
  get bodyHealth() {
8
- return this._bodyHealth;
7
+ return this.mpEntity.bodyHealth;
9
8
  }
10
9
  constructor(options) {
11
10
  super(options);
12
- this._bodyHealth = 100;
13
11
  }
14
12
  setBodyHealth(value) {
15
- this._bodyHealth = value;
13
+ this.mpEntity.bodyHealth = value;
16
14
  }
17
15
  }
18
16
  exports.AltVVehicle = AltVVehicle;
@@ -1,6 +1,10 @@
1
1
  import { AltVEntitiesManager } from "../entity/AltVEntitiesManager";
2
2
  import { AltVVehicle } from "./AltVVehicle";
3
- import { IVehiclesManager } from "../../common/vehicle/IVehiclesManager";
3
+ import { IVehicleCreateOptions, IVehiclesManager } from "../../common/vehicle/IVehiclesManager";
4
+ import { IVehicle } from "../../common/vehicle/IVehicle";
5
+ export interface IAltVVehicleCreateOptions extends IVehicleCreateOptions {
6
+ }
4
7
  export declare class AltVVehiclesManager extends AltVEntitiesManager<AltVVehicle> implements IVehiclesManager {
5
8
  constructor();
9
+ create(options: IAltVVehicleCreateOptions): IVehicle;
6
10
  }
@@ -2,11 +2,20 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.AltVVehiclesManager = void 0;
4
4
  const AltVEntitiesManager_1 = require("../entity/AltVEntitiesManager");
5
+ const AltVVehicle_1 = require("./AltVVehicle");
6
+ var alt = AltVServer;
5
7
  class AltVVehiclesManager extends AltVEntitiesManager_1.AltVEntitiesManager {
6
8
  constructor() {
7
9
  super({
8
10
  baseObjectsType: "vehicle",
9
11
  });
10
12
  }
13
+ create(options) {
14
+ const { model, position, rotation } = options;
15
+ const mpEntity = new alt.Vehicle(model, position.x, position.y, position.z, rotation.x, rotation.y, rotation.z);
16
+ const vehicle = new AltVVehicle_1.AltVVehicle({ mpEntity });
17
+ this.registerBaseObject(vehicle);
18
+ return vehicle;
19
+ }
11
20
  }
12
21
  exports.AltVVehiclesManager = AltVVehiclesManager;
@@ -1,10 +1,13 @@
1
- import { IWorldObject, IWorldObjectOptions } from "../../common/worldObject/IWorldObject";
1
+ import { IWorldObject } from "../../common/worldObject/IWorldObject";
2
2
  import { Vector3D } from "../../../common/utils/math/Vectors";
3
- import { AltVBaseObject } from "../baseObject/AltVBaseObject";
4
- export declare abstract class AltVWorldObject extends AltVBaseObject implements IWorldObject {
5
- private readonly _position;
6
- private readonly _dimension;
3
+ import { AltVBaseObject, IAltVBaseObjectOptions } from "../baseObject/AltVBaseObject";
4
+ import WorldObject = AltVServer.WorldObject;
5
+ export interface IAltVWorldObjectOptions<T extends WorldObject> extends IAltVBaseObjectOptions<T> {
6
+ }
7
+ export declare abstract class AltVWorldObject<T extends WorldObject> extends AltVBaseObject<T> implements IWorldObject {
7
8
  get position(): Vector3D;
8
9
  get dimension(): number;
9
- protected constructor(options: IWorldObjectOptions);
10
+ protected constructor(options: IAltVWorldObjectOptions<T>);
11
+ setPosition(value: Vector3D): void;
12
+ setDimension(value: number): void;
10
13
  }
@@ -1,20 +1,25 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.AltVWorldObject = void 0;
4
+ const Vectors_1 = require("../../../common/utils/math/Vectors");
4
5
  const AltVBaseObject_1 = require("../baseObject/AltVBaseObject");
6
+ var Vector3 = AltVShared.Vector3;
5
7
  class AltVWorldObject extends AltVBaseObject_1.AltVBaseObject {
6
- _position;
7
- _dimension;
8
8
  get position() {
9
- return this._position;
9
+ const { x, y, z } = this.mpEntity.pos;
10
+ return new Vectors_1.Vector3D(x, y, z);
10
11
  }
11
12
  get dimension() {
12
- return this._dimension;
13
+ return this.mpEntity.dimension;
13
14
  }
14
15
  constructor(options) {
15
16
  super(options);
16
- this._position = options.position;
17
- this._dimension = options.dimension;
17
+ }
18
+ setPosition(value) {
19
+ this.mpEntity.pos = new Vector3(value);
20
+ }
21
+ setDimension(value) {
22
+ this.mpEntity.dimension = value;
18
23
  }
19
24
  }
20
25
  exports.AltVWorldObject = AltVWorldObject;
@@ -2,7 +2,8 @@ import { IWorldObjectsIterator } from "../../common/worldObject/IWorldObjectsIte
2
2
  import { AltVWorldObject } from "./AltVWorldObject";
3
3
  import { AltVBaseObjectsIterator } from "../baseObject/AltVBaseObjectsIterator";
4
4
  import { Vector2D, Vector3D } from "../../../common/utils/math/Vectors";
5
- export declare class AltVWorldObjectsIterator<T extends AltVWorldObject> extends AltVBaseObjectsIterator<T> implements IWorldObjectsIterator<T> {
5
+ import WorldObject = AltVServer.WorldObject;
6
+ export declare class AltVWorldObjectsIterator<T extends AltVWorldObject<WorldObject>> extends AltVBaseObjectsIterator<T> implements IWorldObjectsIterator<T> {
6
7
  constructor(baseObjects: ReadonlyMap<number, T>);
7
8
  dimension(value: number): IterableIterator<T>;
8
9
  range2D(center: Vector2D, range: number): IterableIterator<T>;
@@ -1,9 +1,12 @@
1
- import { IWorldObjectsManager, IWorldObjectsManagerOptions } from "../../common/worldObject/IWorldObjectsManager";
1
+ import { IWorldObjectsManager } from "../../common/worldObject/IWorldObjectsManager";
2
2
  import { AltVWorldObject } from "./AltVWorldObject";
3
- import { AltVBaseObjectsManager } from "../baseObject/AltVBaseObjectsManager";
3
+ import { AltVBaseObjectsManager, IAltVBaseObjectsManagerOptions } from "../baseObject/AltVBaseObjectsManager";
4
4
  import { AltVWorldObjectsIterator } from "./AltVWorldObjectsIterator";
5
- export declare abstract class AltVWorldObjectsManager<T extends AltVWorldObject> extends AltVBaseObjectsManager<T> implements IWorldObjectsManager<T> {
5
+ import WorldObject = AltVServer.WorldObject;
6
+ export interface IAltVWorldObjectsManagerOptions extends IAltVBaseObjectsManagerOptions {
7
+ }
8
+ export declare abstract class AltVWorldObjectsManager<T extends AltVWorldObject<WorldObject>> extends AltVBaseObjectsManager<T> implements IWorldObjectsManager<T> {
6
9
  protected readonly _iterator: AltVWorldObjectsIterator<T>;
7
10
  get iterator(): AltVWorldObjectsIterator<T>;
8
- protected constructor(options: IWorldObjectsManagerOptions);
11
+ protected constructor(options: IAltVWorldObjectsManagerOptions);
9
12
  }
@@ -1,10 +1,10 @@
1
+ import BaseObject = AltVServer.BaseObject;
1
2
  export declare enum BaseObjectType {
2
3
  Player = "player",
3
4
  Vehicle = "vehicle"
4
5
  }
5
6
  export interface IBaseObjectOptions {
6
- id: number;
7
- type: BaseObjectType;
7
+ mpEntity: EntityMp | BaseObject;
8
8
  }
9
9
  export interface IBaseObject {
10
10
  id: number;
@@ -0,0 +1,3 @@
1
+ export * from "./IBaseObject";
2
+ export * from "./IBaseObjectsIterator";
3
+ export * from "./IBaseObjectsManager";
@@ -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("./IBaseObject"), exports);
18
+ __exportStar(require("./IBaseObjectsIterator"), exports);
19
+ __exportStar(require("./IBaseObjectsManager"), exports);
@@ -1,8 +1,7 @@
1
1
  import { IWorldObject, IWorldObjectOptions } from "../worldObject/IWorldObject";
2
2
  export interface IEntityOptions extends IWorldObjectOptions {
3
- model: string;
4
3
  }
5
4
  export interface IEntity extends IWorldObject {
6
- get model(): string;
5
+ get model(): number;
7
6
  setModel(value: string): void;
8
7
  }
@@ -0,0 +1,2 @@
1
+ export * from "./IEntitiesManager";
2
+ export * from "./IEntity";
@@ -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("./IEntitiesManager"), exports);
18
+ __exportStar(require("./IEntity"), exports);
@@ -0,0 +1,5 @@
1
+ export * from "./baseObject";
2
+ export * from "./entity";
3
+ export * from "./player";
4
+ export * from "./vehicle";
5
+ export * from "./worldObject";
@@ -0,0 +1,21 @@
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("./baseObject"), exports);
18
+ __exportStar(require("./entity"), exports);
19
+ __exportStar(require("./player"), exports);
20
+ __exportStar(require("./vehicle"), exports);
21
+ __exportStar(require("./worldObject"), exports);
@@ -1,12 +1,58 @@
1
1
  import { IEntity, IEntityOptions } from "../entity/IEntity";
2
+ import { IPlayerNetManager } from "./IPlayerNetManager";
3
+ import { IVehicle } from "../vehicle/IVehicle";
4
+ import { IVector3D } from "../../../common/utils/math/Vectors";
5
+ export interface ICustomization {
6
+ gender: boolean;
7
+ shapeFirst: number;
8
+ shapeSecond: number;
9
+ shapeThird: number;
10
+ skinFirst: number;
11
+ skinSecond: number;
12
+ skinThird: number;
13
+ shapeMix: number;
14
+ skinMix: number;
15
+ thirdMix: number;
16
+ eyeColor: number;
17
+ hairColor: number;
18
+ highlightColor: number;
19
+ faceFeatures: number[];
20
+ }
2
21
  export interface IPlayerOptions extends IEntityOptions {
3
- name: string;
4
- socialClub: string;
5
22
  }
6
23
  export interface IPlayer extends IEntity {
24
+ get net(): IPlayerNetManager;
7
25
  get name(): string;
8
26
  get socialClub(): string;
27
+ get heading(): number;
9
28
  get health(): number;
10
- setName(value: string): void;
29
+ get armour(): number;
30
+ get ip(): string;
31
+ get serial(): string;
32
+ get vehicle(): IVehicle | null;
33
+ get seat(): number;
34
+ get weapon(): number;
35
+ get weaponAmmo(): number;
36
+ get eyeColor(): number;
37
+ get streamedPlayers(): IPlayer[];
38
+ get isExists(): boolean;
39
+ spawn(position: IVector3D): void;
40
+ setName(name: string): void;
41
+ setHeading(value: number): void;
11
42
  setHealth(value: number): void;
43
+ setArmour(value: number): void;
44
+ setWeaponAmmo(weapon: string, ammo: number): void;
45
+ giveWeapon(weapon: string, ammo: number): void;
46
+ removeWeapon(weapon: string): void;
47
+ enableVoiceTo(player: IPlayer): void;
48
+ disableVoiceTo(player: IPlayer): void;
49
+ putIntoVehicle(vehicle: IVehicle, seat?: number): void;
50
+ ejectFromVehicle(): void;
51
+ setCustomization(data: ICustomization): void;
52
+ setHeadOverlay(overlayID: number, index: number, opacity: number, firstColor: number, secondColor: number): void;
53
+ setEyeColor(colorID: number): void;
54
+ setProp(propID: number, drawableID: number, textureID: number): void;
55
+ setClothes(componentID: number, drawableID: number, textureID: number, paletteID: number): void;
56
+ setHairColor(colorID: number, highlightColorID: number): void;
57
+ kick(reason?: string): void;
12
58
  }
@@ -0,0 +1,4 @@
1
+ export interface IPlayerNetManager {
2
+ callEvent(eventName: string, ...args: unknown[]): void;
3
+ callRPC(rpcName: string, ...args: unknown[]): Promise<unknown>;
4
+ }
@@ -0,0 +1,3 @@
1
+ export * from "./IPlayer";
2
+ export * from "./IPlayerNetManager";
3
+ export * from "./IPlayersManager";
@@ -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("./IPlayer"), exports);
18
+ __exportStar(require("./IPlayerNetManager"), exports);
19
+ __exportStar(require("./IPlayersManager"), exports);
@@ -1,4 +1,24 @@
1
1
  import { IEntity, IEntityOptions } from "../entity/IEntity";
2
+ export declare enum VehicleSeat {
3
+ NONE = 255,
4
+ DRIVER = 256,
5
+ PASSENGER_1 = 257,
6
+ PASSENGER_2 = 258,
7
+ PASSENGER_3 = 259,
8
+ PASSENGER_4 = 260,
9
+ PASSENGER_5 = 261,
10
+ PASSENGER_6 = 262,
11
+ PASSENGER_7 = 263,
12
+ PASSENGER_8 = 264,
13
+ PASSENGER_9 = 265,
14
+ PASSENGER_10 = 266,
15
+ PASSENGER_11 = 267,
16
+ PASSENGER_12 = 268,
17
+ PASSENGER_13 = 269,
18
+ PASSENGER_14 = 270,
19
+ PASSENGER_15 = 271,
20
+ PASSENGER_16 = 272
21
+ }
2
22
  export interface IVehicleOptions extends IEntityOptions {
3
23
  }
4
24
  export interface IVehicle extends IEntity {
@@ -1,2 +1,24 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.VehicleSeat = void 0;
4
+ var VehicleSeat;
5
+ (function (VehicleSeat) {
6
+ VehicleSeat[VehicleSeat["NONE"] = 255] = "NONE";
7
+ VehicleSeat[VehicleSeat["DRIVER"] = 256] = "DRIVER";
8
+ VehicleSeat[VehicleSeat["PASSENGER_1"] = 257] = "PASSENGER_1";
9
+ VehicleSeat[VehicleSeat["PASSENGER_2"] = 258] = "PASSENGER_2";
10
+ VehicleSeat[VehicleSeat["PASSENGER_3"] = 259] = "PASSENGER_3";
11
+ VehicleSeat[VehicleSeat["PASSENGER_4"] = 260] = "PASSENGER_4";
12
+ VehicleSeat[VehicleSeat["PASSENGER_5"] = 261] = "PASSENGER_5";
13
+ VehicleSeat[VehicleSeat["PASSENGER_6"] = 262] = "PASSENGER_6";
14
+ VehicleSeat[VehicleSeat["PASSENGER_7"] = 263] = "PASSENGER_7";
15
+ VehicleSeat[VehicleSeat["PASSENGER_8"] = 264] = "PASSENGER_8";
16
+ VehicleSeat[VehicleSeat["PASSENGER_9"] = 265] = "PASSENGER_9";
17
+ VehicleSeat[VehicleSeat["PASSENGER_10"] = 266] = "PASSENGER_10";
18
+ VehicleSeat[VehicleSeat["PASSENGER_11"] = 267] = "PASSENGER_11";
19
+ VehicleSeat[VehicleSeat["PASSENGER_12"] = 268] = "PASSENGER_12";
20
+ VehicleSeat[VehicleSeat["PASSENGER_13"] = 269] = "PASSENGER_13";
21
+ VehicleSeat[VehicleSeat["PASSENGER_14"] = 270] = "PASSENGER_14";
22
+ VehicleSeat[VehicleSeat["PASSENGER_15"] = 271] = "PASSENGER_15";
23
+ VehicleSeat[VehicleSeat["PASSENGER_16"] = 272] = "PASSENGER_16";
24
+ })(VehicleSeat || (exports.VehicleSeat = VehicleSeat = {}));
@@ -1,4 +1,11 @@
1
1
  import { IEntitiesManager } from "../entity/IEntitiesManager";
2
2
  import { IVehicle } from "./IVehicle";
3
+ import { Vector3D } from "../../../common/utils/math/Vectors";
4
+ export interface IVehicleCreateOptions {
5
+ model: string;
6
+ position: Vector3D;
7
+ rotation: Vector3D;
8
+ }
3
9
  export interface IVehiclesManager extends IEntitiesManager<IVehicle> {
10
+ create(options: IVehicleCreateOptions): IVehicle;
4
11
  }
@@ -0,0 +1,2 @@
1
+ export * from "./IVehicle";
2
+ export * from "./IVehiclesManager";
@@ -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("./IVehicle"), exports);
18
+ __exportStar(require("./IVehiclesManager"), exports);
@@ -1,10 +1,10 @@
1
1
  import { IBaseObject, IBaseObjectOptions } from "../baseObject/IBaseObject";
2
- import { Vector3D } from "../../../common/utils/math/Vectors";
2
+ import { IVector3D } from "../../../common/utils/math/Vectors";
3
3
  export interface IWorldObjectOptions extends IBaseObjectOptions {
4
- position: Vector3D;
5
- dimension: number;
6
4
  }
7
5
  export interface IWorldObject extends IBaseObject {
8
- position: Vector3D;
9
- dimension: number;
6
+ get position(): IVector3D;
7
+ get dimension(): number;
8
+ setPosition(value: IVector3D): void;
9
+ setDimension(value: number): void;
10
10
  }
@@ -0,0 +1,3 @@
1
+ export * from "./IWorldObject";
2
+ export * from "./IWorldObjectsIterator";
3
+ export * from "./IWorldObjectsManager";
@@ -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("./IWorldObject"), exports);
18
+ __exportStar(require("./IWorldObjectsIterator"), exports);
19
+ __exportStar(require("./IWorldObjectsManager"), exports);
@@ -0,0 +1 @@
1
+ export * from "./common";
@@ -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("./common"), exports);
@@ -1,9 +1,12 @@
1
1
  import { BaseObjectType, IBaseObject, IBaseObjectOptions } from "../../common/baseObject/IBaseObject";
2
- export declare abstract class RageBaseObject implements IBaseObject {
3
- private readonly _id;
4
- private readonly _type;
2
+ export interface IRageBaseObjectOptions<T extends EntityMp> extends IBaseObjectOptions {
3
+ mpEntity: T;
4
+ }
5
+ export declare abstract class RageBaseObject<T extends EntityMp = EntityMp> implements IBaseObject {
6
+ private readonly _mpEntity;
5
7
  get id(): number;
6
8
  get type(): BaseObjectType;
7
- protected constructor(options: IBaseObjectOptions);
9
+ protected get mpEntity(): T;
10
+ protected constructor(options: IRageBaseObjectOptions<T>);
8
11
  destroy(): void;
9
12
  }
@@ -2,17 +2,18 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.RageBaseObject = void 0;
4
4
  class RageBaseObject {
5
- _id;
6
- _type;
5
+ _mpEntity;
7
6
  get id() {
8
- return this._id;
7
+ return this._mpEntity.id;
9
8
  }
10
9
  get type() {
11
- return this._type;
10
+ return this._mpEntity.type;
11
+ }
12
+ get mpEntity() {
13
+ return this._mpEntity;
12
14
  }
13
15
  constructor(options) {
14
- this._id = options.id;
15
- this._type = options.type;
16
+ this._mpEntity = options.mpEntity;
16
17
  }
17
18
  destroy() {
18
19
  console.log("destroy");
@@ -1,13 +1,17 @@
1
1
  import { IBaseObjectsManager, IBaseObjectsManagerOptions } from "../../common/baseObject/IBaseObjectsManager";
2
2
  import { RageBaseObject } from "./RageBaseObject";
3
3
  import { RageBaseObjectsIterator } from "./RageBaseObjectsIterator";
4
- export declare abstract class RageBaseObjectsManager<T extends RageBaseObject> implements IBaseObjectsManager<RageBaseObject> {
4
+ export interface IRageBaseObjectsManagerOptions extends IBaseObjectsManagerOptions {
5
+ }
6
+ export declare abstract class RageBaseObjectsManager<T extends RageBaseObject<EntityMp>> implements IBaseObjectsManager<RageBaseObject<EntityMp>> {
5
7
  private readonly _baseObjects;
6
8
  private readonly _baseObjectsType;
7
9
  protected readonly _iterator: RageBaseObjectsIterator<T>;
8
10
  protected get baseObjects(): ReadonlyMap<number, T>;
9
11
  get iterator(): RageBaseObjectsIterator<T>;
10
- protected constructor(options: IBaseObjectsManagerOptions);
12
+ protected constructor(options: IRageBaseObjectsManagerOptions);
11
13
  getByID(id: number): T;
12
14
  findByID(id: number): T | null;
15
+ protected registerBaseObject(baseObject: T): void;
16
+ protected unregisterBaseObject(baseObject: T): void;
13
17
  }
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.RageBaseObjectsManager = void 0;
4
4
  const RageBaseObjectsIterator_1 = require("./RageBaseObjectsIterator");
5
+ const RockMod_1 = require("../../../RockMod");
5
6
  class RageBaseObjectsManager {
6
7
  _baseObjects;
7
8
  _baseObjectsType;
@@ -28,5 +29,18 @@ class RageBaseObjectsManager {
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::entityDestroyed", baseObject);
44
+ }
31
45
  }
32
46
  exports.RageBaseObjectsManager = RageBaseObjectsManager;
@@ -1,6 +1,8 @@
1
- import { IEntitiesManager, IEntitiesManagerOptions } from "../../common/entity/IEntitiesManager";
1
+ import { IEntitiesManager } from "../../common/entity/IEntitiesManager";
2
2
  import { RageEntity } from "./RageEntity";
3
- import { RageWorldObjectsManager } from "../worldObject/RageWorldObjectsManager";
4
- export declare abstract class RageEntitiesManager<T extends RageEntity> extends RageWorldObjectsManager<T> implements IEntitiesManager<T> {
5
- protected constructor(options: IEntitiesManagerOptions);
3
+ import { IRageWorldObjectsManagerOptions, RageWorldObjectsManager } from "../worldObject/RageWorldObjectsManager";
4
+ export interface IRageEntitiesManagerOptions extends IRageWorldObjectsManagerOptions {
5
+ }
6
+ export declare abstract class RageEntitiesManager<T extends RageEntity<EntityMp>> extends RageWorldObjectsManager<T> implements IEntitiesManager<T> {
7
+ protected constructor(options: IRageEntitiesManagerOptions);
6
8
  }
@@ -1,8 +1,9 @@
1
- import { IEntity, IEntityOptions } from "../../common/entity/IEntity";
2
- import { RageWorldObject } from "../worldObject/RageWorldObject";
3
- export declare abstract class RageEntity extends RageWorldObject implements IEntity {
4
- private _model;
5
- get model(): string;
6
- protected constructor(options: IEntityOptions);
1
+ import { IEntity } from "../../common/entity/IEntity";
2
+ import { IRageWorldObjectOptions, RageWorldObject } from "../worldObject/RageWorldObject";
3
+ export interface IRageEntityOptions<T extends EntityMp> extends IRageWorldObjectOptions<T> {
4
+ }
5
+ export declare abstract class RageEntity<T extends EntityMp> extends RageWorldObject<T> implements IEntity {
6
+ get model(): number;
7
+ protected constructor(options: IRageEntityOptions<T>);
7
8
  setModel(value: string): void;
8
9
  }
@@ -3,16 +3,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.RageEntity = void 0;
4
4
  const RageWorldObject_1 = require("../worldObject/RageWorldObject");
5
5
  class RageEntity extends RageWorldObject_1.RageWorldObject {
6
- _model;
7
6
  get model() {
8
- return this._model;
7
+ return this.mpEntity.model;
9
8
  }
10
9
  constructor(options) {
11
10
  super(options);
12
- this._model = options.model;
13
11
  }
14
12
  setModel(value) {
15
- this._model = value;
13
+ this.mpEntity.model = mp.joaat(value);
16
14
  }
17
15
  }
18
16
  exports.RageEntity = RageEntity;