rock-mod 0.0.1 → 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 -1
  2. package/dist/index.js +1 -1
  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 +14 -8
  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
@@ -1,13 +1,46 @@
1
- import { RageEntity } from "../entity/RageEntity";
2
- import { IPlayer, IPlayerOptions } from "../../common/player/IPlayer";
3
- export declare class RagePlayer extends RageEntity implements IPlayer {
4
- private _name;
5
- private readonly _socialClub;
6
- private _health;
1
+ import { IRageEntityOptions, RageEntity } from "../entity/RageEntity";
2
+ import { ICustomization, IPlayer } from "../../common/player/IPlayer";
3
+ import { RagePlayerNetManager } from "./RagePlayerNetManager";
4
+ import { RageVehicle } from "../vehicle/RageVehicle";
5
+ import { Vector3D } from "../../../common/utils/math/Vectors";
6
+ interface IRagePlayerOptions extends IRageEntityOptions<PlayerMp> {
7
+ }
8
+ export declare class RagePlayer extends RageEntity<PlayerMp> implements IPlayer {
9
+ private readonly _net;
10
+ get net(): RagePlayerNetManager;
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(): RageVehicle | null;
19
+ get seat(): number;
20
+ get weapon(): number;
21
+ get weaponAmmo(): number;
22
+ get eyeColor(): number;
23
+ get streamedPlayers(): RagePlayer[];
24
+ get isExists(): boolean;
25
+ constructor(options: IRagePlayerOptions);
26
+ spawn(position: Vector3D): void;
27
+ setName(name: string): void;
28
+ setHeading(value: number): void;
12
29
  setHealth(value: number): void;
30
+ setArmour(value: number): void;
31
+ setWeaponAmmo(weapon: string, ammo: number): void;
32
+ giveWeapon(weapon: string, ammo: number): void;
33
+ removeWeapon(weapon: string): void;
34
+ enableVoiceTo(player: RagePlayer): void;
35
+ disableVoiceTo(player: RagePlayer): void;
36
+ putIntoVehicle(vehicle: RageVehicle, seat?: number): void;
37
+ ejectFromVehicle(): void;
38
+ setCustomization(data: ICustomization): void;
39
+ setHeadOverlay(overlayID: number, index: number, opacity: number, firstColor: number, secondColor: number): void;
40
+ setEyeColor(colorID: number): void;
41
+ setProp(propID: number, drawableID: number, textureID: number): void;
42
+ setClothes(componentID: number, drawableID: number, textureID: number, paletteID: number): void;
43
+ setHairColor(colorID: number, highlightColorID: number): void;
44
+ kick(reason?: string): void;
13
45
  }
46
+ export {};
@@ -2,30 +2,127 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.RagePlayer = void 0;
4
4
  const RageEntity_1 = require("../entity/RageEntity");
5
+ const RagePlayerNetManager_1 = require("./RagePlayerNetManager");
6
+ const RockMod_1 = require("../../../RockMod");
5
7
  class RagePlayer extends RageEntity_1.RageEntity {
6
- _name;
7
- _socialClub;
8
- _health;
8
+ _net;
9
+ get net() {
10
+ return this._net;
11
+ }
9
12
  get name() {
10
- return this._name;
13
+ return this.mpEntity.name;
11
14
  }
12
15
  get socialClub() {
13
- return this._socialClub;
16
+ return this.mpEntity.socialClub;
17
+ }
18
+ get heading() {
19
+ return this.mpEntity.heading;
14
20
  }
15
21
  get health() {
16
- return this._health;
22
+ return this.mpEntity.health;
23
+ }
24
+ get armour() {
25
+ return this.mpEntity.armour;
26
+ }
27
+ get ip() {
28
+ return this.mpEntity.ip;
29
+ }
30
+ get serial() {
31
+ return this.mpEntity.serial;
32
+ }
33
+ get vehicle() {
34
+ const mpVehicle = this.mpEntity.vehicle;
35
+ if (!mpVehicle) {
36
+ return null;
37
+ }
38
+ return RockMod_1.RockMod.instance.vehicles.getByID(mpVehicle.id);
39
+ }
40
+ get seat() {
41
+ return this.mpEntity.seat;
42
+ }
43
+ get weapon() {
44
+ return this.mpEntity.weapon;
45
+ }
46
+ get weaponAmmo() {
47
+ return this.mpEntity.weaponAmmo;
48
+ }
49
+ get eyeColor() {
50
+ return this.mpEntity.eyeColor;
51
+ }
52
+ get streamedPlayers() {
53
+ const players = [];
54
+ for (const mpEntity of this.mpEntity.streamedPlayers) {
55
+ players.push(RockMod_1.RockMod.instance.players.getByID(mpEntity.id));
56
+ }
57
+ return players;
58
+ }
59
+ get isExists() {
60
+ return mp.players.exists(this.mpEntity);
17
61
  }
18
62
  constructor(options) {
19
63
  super(options);
20
- this._name = options.name;
21
- this._socialClub = options.socialClub;
22
- this._health = 100;
64
+ this._net = new RagePlayerNetManager_1.RagePlayerNetManager(this.mpEntity);
23
65
  }
24
- setName(value) {
25
- this._name = value;
66
+ spawn(position) {
67
+ return this.mpEntity.spawn(new mp.Vector3(position));
68
+ }
69
+ setName(name) {
70
+ this.mpEntity.name = name;
71
+ }
72
+ setHeading(value) {
73
+ this.mpEntity.heading = value;
26
74
  }
27
75
  setHealth(value) {
28
- this._health = value;
76
+ this.mpEntity.health = Math.clamp(value, 0, 100);
77
+ }
78
+ setArmour(value) {
79
+ this.mpEntity.armour = Math.clamp(value, 0, 100);
80
+ }
81
+ setWeaponAmmo(weapon, ammo) {
82
+ return this.mpEntity.setWeaponAmmo(mp.joaat(weapon), ammo);
83
+ }
84
+ giveWeapon(weapon, ammo) {
85
+ return this.mpEntity.giveWeapon(weapon, ammo);
86
+ }
87
+ removeWeapon(weapon) {
88
+ return this.mpEntity.removeWeapon(weapon);
89
+ }
90
+ enableVoiceTo(player) {
91
+ const mpPlayer = mp.players.at(player.id);
92
+ return this.mpEntity.enableVoiceTo(mpPlayer);
93
+ }
94
+ disableVoiceTo(player) {
95
+ const mpPlayer = mp.players.at(player.id);
96
+ return this.mpEntity.disableVoiceTo(mpPlayer);
97
+ }
98
+ putIntoVehicle(vehicle, seat) {
99
+ const mpVehicle = mp.vehicles.at(vehicle.id);
100
+ return this.mpEntity.putIntoVehicle(mpVehicle, seat || 0);
101
+ }
102
+ ejectFromVehicle() {
103
+ return this.mpEntity.removeFromVehicle();
104
+ }
105
+ setCustomization(data) {
106
+ const { gender, shapeFirst, shapeSecond, shapeThird, skinFirst, skinSecond, skinThird, shapeMix, skinMix, thirdMix, eyeColor, hairColor, highlightColor, faceFeatures, } = data;
107
+ return this.mpEntity.setCustomization(gender, shapeFirst, shapeSecond, shapeThird, skinFirst, skinSecond, skinThird, shapeMix, skinMix, thirdMix, eyeColor, hairColor, highlightColor, faceFeatures);
108
+ }
109
+ setHeadOverlay(overlayID, index, opacity, firstColor, secondColor) {
110
+ return this.mpEntity.setHeadOverlay(overlayID, [index, opacity, firstColor, secondColor]);
111
+ }
112
+ setEyeColor(colorID) {
113
+ this.mpEntity.eyeColor = colorID;
114
+ }
115
+ setProp(propID, drawableID, textureID) {
116
+ return this.mpEntity.setProp(propID, drawableID, textureID);
117
+ }
118
+ setClothes(componentID, drawableID, textureID, paletteID) {
119
+ return this.mpEntity.setClothes(componentID, drawableID, textureID, paletteID);
120
+ }
121
+ setHairColor(colorID, highlightColorID) {
122
+ return this.mpEntity.setHairColor(colorID, highlightColorID);
123
+ }
124
+ kick(reason) {
125
+ return this.mpEntity.kick(reason ?? "");
29
126
  }
30
127
  }
31
128
  exports.RagePlayer = RagePlayer;
@@ -0,0 +1,7 @@
1
+ import { IPlayerNetManager } from "../../common/player/IPlayerNetManager";
2
+ export declare class RagePlayerNetManager implements IPlayerNetManager {
3
+ private readonly _player;
4
+ constructor(player: PlayerMp);
5
+ callEvent(eventName: string, ...args: unknown[]): void;
6
+ callRPC(rpcName: string, ...args: unknown[]): Promise<unknown>;
7
+ }
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RagePlayerNetManager = void 0;
4
+ class RagePlayerNetManager {
5
+ _player;
6
+ constructor(player) {
7
+ this._player = player;
8
+ }
9
+ callEvent(eventName, ...args) {
10
+ return this._player.call(eventName, args);
11
+ }
12
+ callRPC(rpcName, ...args) {
13
+ return this._player.callProc(rpcName, args);
14
+ }
15
+ }
16
+ exports.RagePlayerNetManager = RagePlayerNetManager;
@@ -7,4 +7,5 @@ export declare class RagePlayersManager extends RageEntitiesManager<RagePlayer>
7
7
  findByName(name: string): RagePlayer | null;
8
8
  getBySocialClub(socialClub: string): RagePlayer;
9
9
  findBySocialClub(socialClub: string): RagePlayer | null;
10
+ private _init;
10
11
  }
@@ -2,11 +2,14 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.RagePlayersManager = void 0;
4
4
  const RageEntitiesManager_1 = require("../entity/RageEntitiesManager");
5
+ const RagePlayer_1 = require("./RagePlayer");
6
+ const RockMod_1 = require("../../../RockMod");
5
7
  class RagePlayersManager extends RageEntitiesManager_1.RageEntitiesManager {
6
8
  constructor() {
7
9
  super({
8
10
  baseObjectsType: "player",
9
11
  });
12
+ this._init();
10
13
  }
11
14
  getByName(name) {
12
15
  const player = this.findByName(name);
@@ -38,5 +41,22 @@ class RagePlayersManager extends RageEntitiesManager_1.RageEntitiesManager {
38
41
  }
39
42
  return null;
40
43
  }
44
+ _init() {
45
+ const net = RockMod_1.RockMod.instance.net;
46
+ net.events.on({
47
+ playerJoin: (mpPlayer) => {
48
+ const player = new RagePlayer_1.RagePlayer({
49
+ mpEntity: mpPlayer,
50
+ });
51
+ this.registerBaseObject(player);
52
+ RockMod_1.RockMod.instance.net.events.emit("rm::playerConnected", player);
53
+ },
54
+ playerQuit: (mpPlayer) => {
55
+ const player = this.getByID(mpPlayer.id);
56
+ this.unregisterBaseObject(player);
57
+ net.events.emit("rm::playerDisconnected", player);
58
+ },
59
+ });
60
+ }
41
61
  }
42
62
  exports.RagePlayersManager = RagePlayersManager;
@@ -1,8 +1,9 @@
1
- import { RageEntity } from "../entity/RageEntity";
2
- import { IVehicle, IVehicleOptions } from "../../common/vehicle/IVehicle";
3
- export declare class RageVehicle extends RageEntity implements IVehicle {
4
- private _bodyHealth;
1
+ import { IRageEntityOptions, RageEntity } from "../entity/RageEntity";
2
+ import { IVehicle } from "../../common/vehicle/IVehicle";
3
+ export interface IRageVehicleOptions extends IRageEntityOptions<VehicleMp> {
4
+ }
5
+ export declare class RageVehicle extends RageEntity<VehicleMp> implements IVehicle {
5
6
  get bodyHealth(): number;
6
- constructor(options: IVehicleOptions);
7
+ constructor(options: IRageVehicleOptions);
7
8
  setBodyHealth(value: number): void;
8
9
  }
@@ -3,16 +3,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.RageVehicle = void 0;
4
4
  const RageEntity_1 = require("../entity/RageEntity");
5
5
  class RageVehicle extends RageEntity_1.RageEntity {
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.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,19 @@
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 } = options;
14
+ const mpEntity = mp.vehicles.new(model, new mp.Vector3(position));
15
+ const vehicle = new RageVehicle_1.RageVehicle({ mpEntity });
16
+ this.registerBaseObject(vehicle);
17
+ return vehicle;
18
+ }
11
19
  }
12
20
  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 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,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -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, 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
+ interface IAltVServerEvent extends alt.IServerEvent, INetServerEvents {
6
+ "rm::entityCreated"(baseObject: AltVBaseObject<alt.BaseObject>): void;
7
+ "rm::entityDestroyed"(baseObject: AltVBaseObject<alt.BaseObject>): void;
8
+ }
9
+ export declare class AltVEventsManager implements IEventsManager {
10
+ on<K extends keyof IAltVServerEvent>(events: Record<K, (...args: Parameters<IAltVServerEvent[K]>) => void>): void;
11
+ onServer<K extends keyof IAltVServerEvent>(events: Record<K, (...args: Parameters<IAltVServerEvent[K]>) => void>): void;
12
+ off(eventName: keyof IAltVServerEvent, listener: (...args: unknown[]) => void): void;
13
+ emit(eventName: keyof IAltVServerEvent, ...args: unknown[]): void;
14
+ emitClient(player: AltVPlayer, eventName: keyof IAltVServerEvent, ...args: unknown[]): void;
15
+ }
16
+ export {};
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AltVEventsManager = void 0;
4
+ var alt = AltVServer;
5
+ class AltVEventsManager {
6
+ on(events) {
7
+ for (const eventName of Object.keys(events)) {
8
+ alt.on(eventName, events[eventName]);
9
+ }
10
+ }
11
+ onServer(events) {
12
+ for (const eventName of Object.keys(events)) {
13
+ alt.on(eventName, events[eventName]);
14
+ }
15
+ }
16
+ off(eventName, listener) {
17
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
18
+ // @ts-ignore
19
+ return alt.off(eventName, listener);
20
+ }
21
+ emit(eventName, ...args) {
22
+ return alt.emit(eventName, ...args);
23
+ }
24
+ emitClient(player, eventName, ...args) {
25
+ return player.net.callEvent(eventName, ...args);
26
+ }
27
+ }
28
+ exports.AltVEventsManager = AltVEventsManager;
@@ -0,0 +1,11 @@
1
+ import { IRPCManager } from "../../common/rpc/IRPCManager";
2
+ import { AltVPlayer } from "../../../entities/altv/player/AltVPlayer";
3
+ import shared = AltVShared;
4
+ interface IAltVRPCName extends shared.ICustomClientServerRpc {
5
+ }
6
+ export declare class AltVRPCManager implements IRPCManager {
7
+ register(rpcName: keyof IAltVRPCName, handler: (player: AltVPlayer, ...args: unknown[]) => unknown): void;
8
+ unregister(rpcName: string): void;
9
+ callClient(player: AltVPlayer, rpcName: string, ...args: unknown[]): Promise<unknown>;
10
+ }
11
+ export {};
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AltVRPCManager = void 0;
4
+ var alt = AltVServer;
5
+ class AltVRPCManager {
6
+ register(rpcName, handler) {
7
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
8
+ // @ts-ignore
9
+ return alt.onRpc(rpcName, handler);
10
+ }
11
+ unregister(rpcName) {
12
+ return alt.offRpc(rpcName);
13
+ }
14
+ callClient(player, rpcName, ...args) {
15
+ return player.net.callRPC(rpcName, ...args);
16
+ }
17
+ }
18
+ 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 });