rock-mod 0.0.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 (87) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +3 -0
  3. package/dist/client/index.d.ts +0 -0
  4. package/dist/client/index.js +1 -0
  5. package/dist/server/RockMod.d.ts +17 -0
  6. package/dist/server/RockMod.js +37 -0
  7. package/dist/server/common/utils/math/Vectors.d.ts +18 -0
  8. package/dist/server/common/utils/math/Vectors.js +51 -0
  9. package/dist/server/entities/altv/AltVManagersFactory.d.ts +7 -0
  10. package/dist/server/entities/altv/AltVManagersFactory.js +14 -0
  11. package/dist/server/entities/altv/baseObject/AltVBaseObject.d.ts +9 -0
  12. package/dist/server/entities/altv/baseObject/AltVBaseObject.js +21 -0
  13. package/dist/server/entities/altv/baseObject/AltVBaseObjectsIterator.d.ts +7 -0
  14. package/dist/server/entities/altv/baseObject/AltVBaseObjectsIterator.js +13 -0
  15. package/dist/server/entities/altv/baseObject/AltVBaseObjectsManager.d.ts +13 -0
  16. package/dist/server/entities/altv/baseObject/AltVBaseObjectsManager.js +32 -0
  17. package/dist/server/entities/altv/entity/AltVEntitiesManager.d.ts +5 -0
  18. package/dist/server/entities/altv/entity/AltVEntitiesManager.js +7 -0
  19. package/dist/server/entities/altv/entity/AltVEntity.d.ts +8 -0
  20. package/dist/server/entities/altv/entity/AltVEntity.js +18 -0
  21. package/dist/server/entities/altv/player/AltVPlayer.d.ts +13 -0
  22. package/dist/server/entities/altv/player/AltVPlayer.js +31 -0
  23. package/dist/server/entities/altv/player/AltVPlayersManager.d.ts +10 -0
  24. package/dist/server/entities/altv/player/AltVPlayersManager.js +42 -0
  25. package/dist/server/entities/altv/vehicle/AltVVehicle.d.ts +8 -0
  26. package/dist/server/entities/altv/vehicle/AltVVehicle.js +18 -0
  27. package/dist/server/entities/altv/vehicle/AltVVehiclesManager.d.ts +6 -0
  28. package/dist/server/entities/altv/vehicle/AltVVehiclesManager.js +12 -0
  29. package/dist/server/entities/altv/worldObject/AltVWorldObject.d.ts +10 -0
  30. package/dist/server/entities/altv/worldObject/AltVWorldObject.js +20 -0
  31. package/dist/server/entities/altv/worldObject/AltVWorldObjectsIterator.d.ts +10 -0
  32. package/dist/server/entities/altv/worldObject/AltVWorldObjectsIterator.js +35 -0
  33. package/dist/server/entities/altv/worldObject/AltVWorldObjectsManager.d.ts +9 -0
  34. package/dist/server/entities/altv/worldObject/AltVWorldObjectsManager.js +16 -0
  35. package/dist/server/entities/common/IManagersFactory.d.ts +6 -0
  36. package/dist/server/entities/common/IManagersFactory.js +2 -0
  37. package/dist/server/entities/common/baseObject/IBaseObject.d.ts +13 -0
  38. package/dist/server/entities/common/baseObject/IBaseObject.js +8 -0
  39. package/dist/server/entities/common/baseObject/IBaseObjectsIterator.d.ts +4 -0
  40. package/dist/server/entities/common/baseObject/IBaseObjectsIterator.js +2 -0
  41. package/dist/server/entities/common/baseObject/IBaseObjectsManager.d.ts +10 -0
  42. package/dist/server/entities/common/baseObject/IBaseObjectsManager.js +2 -0
  43. package/dist/server/entities/common/entity/IEntitiesManager.d.ts +6 -0
  44. package/dist/server/entities/common/entity/IEntitiesManager.js +2 -0
  45. package/dist/server/entities/common/entity/IEntity.d.ts +8 -0
  46. package/dist/server/entities/common/entity/IEntity.js +2 -0
  47. package/dist/server/entities/common/player/IPlayer.d.ts +12 -0
  48. package/dist/server/entities/common/player/IPlayer.js +2 -0
  49. package/dist/server/entities/common/player/IPlayersManager.d.ts +8 -0
  50. package/dist/server/entities/common/player/IPlayersManager.js +2 -0
  51. package/dist/server/entities/common/vehicle/IVehicle.d.ts +7 -0
  52. package/dist/server/entities/common/vehicle/IVehicle.js +2 -0
  53. package/dist/server/entities/common/vehicle/IVehiclesManager.d.ts +4 -0
  54. package/dist/server/entities/common/vehicle/IVehiclesManager.js +2 -0
  55. package/dist/server/entities/common/worldObject/IWorldObject.d.ts +10 -0
  56. package/dist/server/entities/common/worldObject/IWorldObject.js +2 -0
  57. package/dist/server/entities/common/worldObject/IWorldObjectsIterator.d.ts +8 -0
  58. package/dist/server/entities/common/worldObject/IWorldObjectsIterator.js +2 -0
  59. package/dist/server/entities/common/worldObject/IWorldObjectsManager.d.ts +8 -0
  60. package/dist/server/entities/common/worldObject/IWorldObjectsManager.js +2 -0
  61. package/dist/server/entities/ragemp/RageManagersFactory.d.ts +7 -0
  62. package/dist/server/entities/ragemp/RageManagersFactory.js +14 -0
  63. package/dist/server/entities/ragemp/baseObject/RageBaseObject.d.ts +9 -0
  64. package/dist/server/entities/ragemp/baseObject/RageBaseObject.js +21 -0
  65. package/dist/server/entities/ragemp/baseObject/RageBaseObjectsIterator.d.ts +7 -0
  66. package/dist/server/entities/ragemp/baseObject/RageBaseObjectsIterator.js +13 -0
  67. package/dist/server/entities/ragemp/baseObject/RageBaseObjectsManager.d.ts +13 -0
  68. package/dist/server/entities/ragemp/baseObject/RageBaseObjectsManager.js +32 -0
  69. package/dist/server/entities/ragemp/entity/RageEntitiesManager.d.ts +6 -0
  70. package/dist/server/entities/ragemp/entity/RageEntitiesManager.js +10 -0
  71. package/dist/server/entities/ragemp/entity/RageEntity.d.ts +8 -0
  72. package/dist/server/entities/ragemp/entity/RageEntity.js +18 -0
  73. package/dist/server/entities/ragemp/player/RagePlayer.d.ts +13 -0
  74. package/dist/server/entities/ragemp/player/RagePlayer.js +31 -0
  75. package/dist/server/entities/ragemp/player/RagePlayersManager.d.ts +10 -0
  76. package/dist/server/entities/ragemp/player/RagePlayersManager.js +42 -0
  77. package/dist/server/entities/ragemp/vehicle/RageVehicle.d.ts +8 -0
  78. package/dist/server/entities/ragemp/vehicle/RageVehicle.js +18 -0
  79. package/dist/server/entities/ragemp/vehicle/RageVehiclesManager.d.ts +6 -0
  80. package/dist/server/entities/ragemp/vehicle/RageVehiclesManager.js +12 -0
  81. package/dist/server/entities/ragemp/worldObject/RageWorldObject.d.ts +10 -0
  82. package/dist/server/entities/ragemp/worldObject/RageWorldObject.js +20 -0
  83. package/dist/server/entities/ragemp/worldObject/RageWorldObjectsIterator.d.ts +10 -0
  84. package/dist/server/entities/ragemp/worldObject/RageWorldObjectsIterator.js +39 -0
  85. package/dist/server/entities/ragemp/worldObject/RageWorldObjectsManager.d.ts +9 -0
  86. package/dist/server/entities/ragemp/worldObject/RageWorldObjectsManager.js +16 -0
  87. package/package.json +50 -0
package/LICENSE ADDED
@@ -0,0 +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.
package/README.md ADDED
@@ -0,0 +1,3 @@
1
+ # rock-mod
2
+
3
+ Rock-Mod is a powerful framework designed for creating and managing mods for Grand Theft Auto (GTA) games.
File without changes
@@ -0,0 +1 @@
1
+ "use strict";
@@ -0,0 +1,17 @@
1
+ import { IPlayersManager } from "./entities/common/player/IPlayersManager";
2
+ import { IVehiclesManager } from "./entities/common/vehicle/IVehiclesManager";
3
+ type MultiplayerType = "RageMP" | "AltV";
4
+ export interface RockModOptions {
5
+ multiplayer: MultiplayerType;
6
+ }
7
+ export declare class RockMod {
8
+ private readonly _options;
9
+ private readonly _players;
10
+ private readonly _vehicles;
11
+ get players(): IPlayersManager;
12
+ get vehicles(): IVehiclesManager;
13
+ constructor(options: RockModOptions);
14
+ init(): void;
15
+ private _initManagersFactory;
16
+ }
17
+ export {};
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RockMod = void 0;
4
+ const AltVManagersFactory_1 = require("./entities/altv/AltVManagersFactory");
5
+ const RageManagersFactory_1 = require("./entities/ragemp/RageManagersFactory");
6
+ class RockMod {
7
+ _options;
8
+ _players;
9
+ _vehicles;
10
+ get players() {
11
+ return this._players;
12
+ }
13
+ get vehicles() {
14
+ return this._vehicles;
15
+ }
16
+ constructor(options) {
17
+ this._options = options;
18
+ const managersFactory = this._initManagersFactory();
19
+ this._players = managersFactory.createPlayersManager();
20
+ this._vehicles = managersFactory.createVehiclesManager();
21
+ }
22
+ init() {
23
+ 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
+ }
35
+ }
36
+ }
37
+ exports.RockMod = RockMod;
@@ -0,0 +1,18 @@
1
+ export declare class Vector2D {
2
+ private readonly _x;
3
+ private readonly _y;
4
+ get x(): number;
5
+ get y(): number;
6
+ constructor(x: number, y: number);
7
+ distanceTo(position: Vector2D): number;
8
+ squaredDistanceTo(position: Vector2D): number;
9
+ isInRange(position: Vector2D, range: number): boolean;
10
+ }
11
+ export declare class Vector3D extends Vector2D {
12
+ private readonly _z;
13
+ get z(): number;
14
+ constructor(x: number, y: number, z: number);
15
+ distanceTo(position: Vector3D): number;
16
+ squaredDistanceTo(position: Vector3D): number;
17
+ isInRange(position: Vector3D, range: number): boolean;
18
+ }
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Vector3D = exports.Vector2D = void 0;
4
+ class Vector2D {
5
+ _x;
6
+ _y;
7
+ get x() {
8
+ return this._x;
9
+ }
10
+ get y() {
11
+ return this._y;
12
+ }
13
+ constructor(x, y) {
14
+ this._x = x;
15
+ this._y = y;
16
+ }
17
+ distanceTo(position) {
18
+ return Math.sqrt(this.squaredDistanceTo(position));
19
+ }
20
+ squaredDistanceTo(position) {
21
+ const { x, y } = position;
22
+ return (this.x - x) * (this.x - x) + (this.y - y) * (this.y - y);
23
+ }
24
+ isInRange(position, range) {
25
+ const squaredDistance = this.squaredDistanceTo(position);
26
+ return squaredDistance <= range * range;
27
+ }
28
+ }
29
+ exports.Vector2D = Vector2D;
30
+ class Vector3D extends Vector2D {
31
+ _z;
32
+ get z() {
33
+ return this._z;
34
+ }
35
+ constructor(x, y, z) {
36
+ super(x, y);
37
+ this._z = z;
38
+ }
39
+ distanceTo(position) {
40
+ return Math.sqrt(this.squaredDistanceTo(position));
41
+ }
42
+ squaredDistanceTo(position) {
43
+ const { x, y, z } = position;
44
+ return (this.x - x) * (this.x - x) + (this.y - y) * (this.y - y) + (this.z - z) * (this.z - z);
45
+ }
46
+ isInRange(position, range) {
47
+ const squaredDistance = this.squaredDistanceTo(position);
48
+ return squaredDistance <= range * range;
49
+ }
50
+ }
51
+ exports.Vector3D = Vector3D;
@@ -0,0 +1,7 @@
1
+ import { IManagersFactory } from "../common/IManagersFactory";
2
+ import { AltVPlayersManager } from "./player/AltVPlayersManager";
3
+ import { AltVVehiclesManager } from "./vehicle/AltVVehiclesManager";
4
+ export declare class AltVManagersFactory implements IManagersFactory {
5
+ createPlayersManager(): AltVPlayersManager;
6
+ createVehiclesManager(): AltVVehiclesManager;
7
+ }
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AltVManagersFactory = void 0;
4
+ const AltVPlayersManager_1 = require("./player/AltVPlayersManager");
5
+ const AltVVehiclesManager_1 = require("./vehicle/AltVVehiclesManager");
6
+ class AltVManagersFactory {
7
+ createPlayersManager() {
8
+ return new AltVPlayersManager_1.AltVPlayersManager();
9
+ }
10
+ createVehiclesManager() {
11
+ return new AltVVehiclesManager_1.AltVVehiclesManager();
12
+ }
13
+ }
14
+ exports.AltVManagersFactory = AltVManagersFactory;
@@ -0,0 +1,9 @@
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;
5
+ get id(): number;
6
+ get type(): BaseObjectType;
7
+ protected constructor(options: IBaseObjectOptions);
8
+ destroy(): void;
9
+ }
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AltVBaseObject = void 0;
4
+ class AltVBaseObject {
5
+ _id;
6
+ _type;
7
+ get id() {
8
+ return this._id;
9
+ }
10
+ get type() {
11
+ return this._type;
12
+ }
13
+ constructor(options) {
14
+ this._id = options.id;
15
+ this._type = options.type;
16
+ }
17
+ destroy() {
18
+ console.log("destroy");
19
+ }
20
+ }
21
+ exports.AltVBaseObject = AltVBaseObject;
@@ -0,0 +1,7 @@
1
+ import { AltVBaseObject } from "./AltVBaseObject";
2
+ import { IBaseObjectsIterator } from "../../common/baseObject/IBaseObjectsIterator";
3
+ export declare class AltVBaseObjectsIterator<T extends AltVBaseObject> implements IBaseObjectsIterator<T> {
4
+ private readonly _baseObjects;
5
+ constructor(baseObjects: ReadonlyMap<number, T>);
6
+ all(): IterableIterator<T>;
7
+ }
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AltVBaseObjectsIterator = void 0;
4
+ class AltVBaseObjectsIterator {
5
+ _baseObjects;
6
+ constructor(baseObjects) {
7
+ this._baseObjects = baseObjects;
8
+ }
9
+ all() {
10
+ return this._baseObjects.values();
11
+ }
12
+ }
13
+ exports.AltVBaseObjectsIterator = AltVBaseObjectsIterator;
@@ -0,0 +1,13 @@
1
+ import { IBaseObjectsManager, IBaseObjectsManagerOptions } from "../../common/baseObject/IBaseObjectsManager";
2
+ import { AltVBaseObject } from "./AltVBaseObject";
3
+ import { AltVBaseObjectsIterator } from "./AltVBaseObjectsIterator";
4
+ export declare abstract class AltVBaseObjectsManager<T extends AltVBaseObject> implements IBaseObjectsManager<T> {
5
+ private readonly _baseObjects;
6
+ private readonly _baseObjectsType;
7
+ protected readonly _iterator: AltVBaseObjectsIterator<T>;
8
+ protected get baseObjects(): ReadonlyMap<number, T>;
9
+ get iterator(): AltVBaseObjectsIterator<T>;
10
+ protected constructor(options: IBaseObjectsManagerOptions);
11
+ getByID(id: number): T;
12
+ findByID(id: number): T | null;
13
+ }
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AltVBaseObjectsManager = void 0;
4
+ const AltVBaseObjectsIterator_1 = require("./AltVBaseObjectsIterator");
5
+ class AltVBaseObjectsManager {
6
+ _baseObjects;
7
+ _baseObjectsType;
8
+ _iterator;
9
+ get baseObjects() {
10
+ return this._baseObjects;
11
+ }
12
+ get iterator() {
13
+ return this._iterator;
14
+ }
15
+ constructor(options) {
16
+ this._baseObjects = new Map();
17
+ this._baseObjectsType = options.baseObjectsType;
18
+ this._iterator = new AltVBaseObjectsIterator_1.AltVBaseObjectsIterator(this._baseObjects);
19
+ }
20
+ getByID(id) {
21
+ const baseObject = this.findByID(id);
22
+ if (!baseObject) {
23
+ throw new Error(`BaseObject [${this._baseObjectsType}] with id ${id} not found`);
24
+ }
25
+ return baseObject;
26
+ }
27
+ findByID(id) {
28
+ const baseObject = this._baseObjects.get(id);
29
+ return baseObject ?? null;
30
+ }
31
+ }
32
+ exports.AltVBaseObjectsManager = AltVBaseObjectsManager;
@@ -0,0 +1,5 @@
1
+ import { IEntitiesManager } from "../../common/entity/IEntitiesManager";
2
+ import { AltVEntity } from "./AltVEntity";
3
+ import { AltVWorldObjectsManager } from "../worldObject/AltVWorldObjectsManager";
4
+ export declare abstract class AltVEntitiesManager<T extends AltVEntity> extends AltVWorldObjectsManager<T> implements IEntitiesManager<T> {
5
+ }
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AltVEntitiesManager = void 0;
4
+ const AltVWorldObjectsManager_1 = require("../worldObject/AltVWorldObjectsManager");
5
+ class AltVEntitiesManager extends AltVWorldObjectsManager_1.AltVWorldObjectsManager {
6
+ }
7
+ exports.AltVEntitiesManager = AltVEntitiesManager;
@@ -0,0 +1,8 @@
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);
7
+ setModel(value: string): void;
8
+ }
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AltVEntity = void 0;
4
+ const AltVWorldObject_1 = require("../worldObject/AltVWorldObject");
5
+ class AltVEntity extends AltVWorldObject_1.AltVWorldObject {
6
+ _model;
7
+ get model() {
8
+ return this._model;
9
+ }
10
+ constructor(options) {
11
+ super(options);
12
+ this._model = options.model;
13
+ }
14
+ setModel(value) {
15
+ this._model = value;
16
+ }
17
+ }
18
+ exports.AltVEntity = AltVEntity;
@@ -0,0 +1,13 @@
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;
7
+ get name(): string;
8
+ get socialClub(): string;
9
+ get health(): number;
10
+ constructor(options: IPlayerOptions);
11
+ setName(value: string): void;
12
+ setHealth(value: number): void;
13
+ }
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AltVPlayer = void 0;
4
+ const AltVEntity_1 = require("../entity/AltVEntity");
5
+ class AltVPlayer extends AltVEntity_1.AltVEntity {
6
+ _name;
7
+ _socialClub;
8
+ _health;
9
+ get name() {
10
+ return this._name;
11
+ }
12
+ get socialClub() {
13
+ return this._socialClub;
14
+ }
15
+ get health() {
16
+ return this._health;
17
+ }
18
+ constructor(options) {
19
+ super(options);
20
+ this._name = options.name;
21
+ this._socialClub = options.socialClub;
22
+ this._health = 100;
23
+ }
24
+ setName(value) {
25
+ this._name = value;
26
+ }
27
+ setHealth(value) {
28
+ this._health = value;
29
+ }
30
+ }
31
+ exports.AltVPlayer = AltVPlayer;
@@ -0,0 +1,10 @@
1
+ import { AltVEntitiesManager } from "../entity/AltVEntitiesManager";
2
+ import { AltVPlayer } from "./AltVPlayer";
3
+ import { IPlayersManager } from "../../common/player/IPlayersManager";
4
+ export declare class AltVPlayersManager extends AltVEntitiesManager<AltVPlayer> implements IPlayersManager {
5
+ constructor();
6
+ getByName(name: string): AltVPlayer;
7
+ findByName(name: string): AltVPlayer | null;
8
+ getBySocialClub(socialClub: string): AltVPlayer;
9
+ findBySocialClub(socialClub: string): AltVPlayer | null;
10
+ }
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AltVPlayersManager = void 0;
4
+ const AltVEntitiesManager_1 = require("../entity/AltVEntitiesManager");
5
+ class AltVPlayersManager extends AltVEntitiesManager_1.AltVEntitiesManager {
6
+ constructor() {
7
+ super({
8
+ baseObjectsType: "player",
9
+ });
10
+ }
11
+ getByName(name) {
12
+ const player = this.findByName(name);
13
+ if (!player) {
14
+ throw new Error(`Player with name ${name} not found`);
15
+ }
16
+ return player;
17
+ }
18
+ findByName(name) {
19
+ for (const player of this.iterator.all()) {
20
+ if (player.name === name) {
21
+ return player;
22
+ }
23
+ }
24
+ return null;
25
+ }
26
+ getBySocialClub(socialClub) {
27
+ const player = this.findByName(socialClub);
28
+ if (!player) {
29
+ throw new Error(`Player with socialClub ${socialClub} not found`);
30
+ }
31
+ return player;
32
+ }
33
+ findBySocialClub(socialClub) {
34
+ for (const player of this.iterator.all()) {
35
+ if (player.socialClub === socialClub) {
36
+ return player;
37
+ }
38
+ }
39
+ return null;
40
+ }
41
+ }
42
+ exports.AltVPlayersManager = AltVPlayersManager;
@@ -0,0 +1,8 @@
1
+ import { AltVEntity } from "../entity/AltVEntity";
2
+ import { IVehicle, IVehicleOptions } from "../../common/vehicle/IVehicle";
3
+ export declare class AltVVehicle extends AltVEntity implements IVehicle {
4
+ private _bodyHealth;
5
+ get bodyHealth(): number;
6
+ constructor(options: IVehicleOptions);
7
+ setBodyHealth(value: number): void;
8
+ }
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AltVVehicle = void 0;
4
+ const AltVEntity_1 = require("../entity/AltVEntity");
5
+ class AltVVehicle extends AltVEntity_1.AltVEntity {
6
+ _bodyHealth;
7
+ get bodyHealth() {
8
+ return this._bodyHealth;
9
+ }
10
+ constructor(options) {
11
+ super(options);
12
+ this._bodyHealth = 100;
13
+ }
14
+ setBodyHealth(value) {
15
+ this._bodyHealth = value;
16
+ }
17
+ }
18
+ exports.AltVVehicle = AltVVehicle;
@@ -0,0 +1,6 @@
1
+ import { AltVEntitiesManager } from "../entity/AltVEntitiesManager";
2
+ import { AltVVehicle } from "./AltVVehicle";
3
+ import { IVehiclesManager } from "../../common/vehicle/IVehiclesManager";
4
+ export declare class AltVVehiclesManager extends AltVEntitiesManager<AltVVehicle> implements IVehiclesManager {
5
+ constructor();
6
+ }
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AltVVehiclesManager = void 0;
4
+ const AltVEntitiesManager_1 = require("../entity/AltVEntitiesManager");
5
+ class AltVVehiclesManager extends AltVEntitiesManager_1.AltVEntitiesManager {
6
+ constructor() {
7
+ super({
8
+ baseObjectsType: "vehicle",
9
+ });
10
+ }
11
+ }
12
+ exports.AltVVehiclesManager = AltVVehiclesManager;
@@ -0,0 +1,10 @@
1
+ import { IWorldObject, IWorldObjectOptions } from "../../common/worldObject/IWorldObject";
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;
7
+ get position(): Vector3D;
8
+ get dimension(): number;
9
+ protected constructor(options: IWorldObjectOptions);
10
+ }
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AltVWorldObject = void 0;
4
+ const AltVBaseObject_1 = require("../baseObject/AltVBaseObject");
5
+ class AltVWorldObject extends AltVBaseObject_1.AltVBaseObject {
6
+ _position;
7
+ _dimension;
8
+ get position() {
9
+ return this._position;
10
+ }
11
+ get dimension() {
12
+ return this._dimension;
13
+ }
14
+ constructor(options) {
15
+ super(options);
16
+ this._position = options.position;
17
+ this._dimension = options.dimension;
18
+ }
19
+ }
20
+ exports.AltVWorldObject = AltVWorldObject;
@@ -0,0 +1,10 @@
1
+ import { IWorldObjectsIterator } from "../../common/worldObject/IWorldObjectsIterator";
2
+ import { AltVWorldObject } from "./AltVWorldObject";
3
+ import { AltVBaseObjectsIterator } from "../baseObject/AltVBaseObjectsIterator";
4
+ import { Vector2D, Vector3D } from "../../../common/utils/math/Vectors";
5
+ export declare class AltVWorldObjectsIterator<T extends AltVWorldObject> extends AltVBaseObjectsIterator<T> implements IWorldObjectsIterator<T> {
6
+ constructor(baseObjects: ReadonlyMap<number, T>);
7
+ dimension(value: number): IterableIterator<T>;
8
+ range2D(center: Vector2D, range: number): IterableIterator<T>;
9
+ range3D(center: Vector3D, range: number): IterableIterator<T>;
10
+ }
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AltVWorldObjectsIterator = void 0;
4
+ const AltVBaseObjectsIterator_1 = require("../baseObject/AltVBaseObjectsIterator");
5
+ class AltVWorldObjectsIterator extends AltVBaseObjectsIterator_1.AltVBaseObjectsIterator {
6
+ constructor(baseObjects) {
7
+ super(baseObjects);
8
+ }
9
+ *dimension(value) {
10
+ for (const worldObject of this.all()) {
11
+ if (worldObject.dimension === value) {
12
+ yield worldObject;
13
+ }
14
+ }
15
+ }
16
+ *range2D(center, range) {
17
+ for (const worldObject of this.all()) {
18
+ const { position } = worldObject;
19
+ const isInRange = center.isInRange(position, range);
20
+ if (isInRange) {
21
+ yield worldObject;
22
+ }
23
+ }
24
+ }
25
+ *range3D(center, range) {
26
+ for (const worldObject of this.all()) {
27
+ const { position } = worldObject;
28
+ const isInRange = center.isInRange(position, range);
29
+ if (isInRange) {
30
+ yield worldObject;
31
+ }
32
+ }
33
+ }
34
+ }
35
+ exports.AltVWorldObjectsIterator = AltVWorldObjectsIterator;
@@ -0,0 +1,9 @@
1
+ import { IWorldObjectsManager, IWorldObjectsManagerOptions } from "../../common/worldObject/IWorldObjectsManager";
2
+ import { AltVWorldObject } from "./AltVWorldObject";
3
+ import { AltVBaseObjectsManager } from "../baseObject/AltVBaseObjectsManager";
4
+ import { AltVWorldObjectsIterator } from "./AltVWorldObjectsIterator";
5
+ export declare abstract class AltVWorldObjectsManager<T extends AltVWorldObject> extends AltVBaseObjectsManager<T> implements IWorldObjectsManager<T> {
6
+ protected readonly _iterator: AltVWorldObjectsIterator<T>;
7
+ get iterator(): AltVWorldObjectsIterator<T>;
8
+ protected constructor(options: IWorldObjectsManagerOptions);
9
+ }
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AltVWorldObjectsManager = void 0;
4
+ const AltVBaseObjectsManager_1 = require("../baseObject/AltVBaseObjectsManager");
5
+ const AltVWorldObjectsIterator_1 = require("./AltVWorldObjectsIterator");
6
+ class AltVWorldObjectsManager extends AltVBaseObjectsManager_1.AltVBaseObjectsManager {
7
+ _iterator;
8
+ get iterator() {
9
+ return this._iterator;
10
+ }
11
+ constructor(options) {
12
+ super(options);
13
+ this._iterator = new AltVWorldObjectsIterator_1.AltVWorldObjectsIterator(this.baseObjects);
14
+ }
15
+ }
16
+ exports.AltVWorldObjectsManager = AltVWorldObjectsManager;
@@ -0,0 +1,6 @@
1
+ import { IPlayersManager } from "./player/IPlayersManager";
2
+ import { IVehiclesManager } from "./vehicle/IVehiclesManager";
3
+ export interface IManagersFactory {
4
+ createPlayersManager(): IPlayersManager;
5
+ createVehiclesManager(): IVehiclesManager;
6
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,13 @@
1
+ export declare enum BaseObjectType {
2
+ Player = "player",
3
+ Vehicle = "vehicle"
4
+ }
5
+ export interface IBaseObjectOptions {
6
+ id: number;
7
+ type: BaseObjectType;
8
+ }
9
+ export interface IBaseObject {
10
+ id: number;
11
+ type: BaseObjectType;
12
+ destroy(): void;
13
+ }
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BaseObjectType = void 0;
4
+ var BaseObjectType;
5
+ (function (BaseObjectType) {
6
+ BaseObjectType["Player"] = "player";
7
+ BaseObjectType["Vehicle"] = "vehicle";
8
+ })(BaseObjectType || (exports.BaseObjectType = BaseObjectType = {}));
@@ -0,0 +1,4 @@
1
+ import { IBaseObject } from "./IBaseObject";
2
+ export interface IBaseObjectsIterator<T extends IBaseObject> {
3
+ all(): IterableIterator<T>;
4
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,10 @@
1
+ import { BaseObjectType, IBaseObject } from "./IBaseObject";
2
+ import { IBaseObjectsIterator } from "./IBaseObjectsIterator";
3
+ export interface IBaseObjectsManagerOptions {
4
+ baseObjectsType: `${BaseObjectType}`;
5
+ }
6
+ export interface IBaseObjectsManager<T extends IBaseObject> {
7
+ get iterator(): IBaseObjectsIterator<T>;
8
+ getByID(id: number): T;
9
+ findByID(id: number): T | null;
10
+ }