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.
- package/LICENSE +21 -0
- package/README.md +3 -0
- package/dist/client/index.d.ts +0 -0
- package/dist/client/index.js +1 -0
- package/dist/server/RockMod.d.ts +17 -0
- package/dist/server/RockMod.js +37 -0
- package/dist/server/common/utils/math/Vectors.d.ts +18 -0
- package/dist/server/common/utils/math/Vectors.js +51 -0
- package/dist/server/entities/altv/AltVManagersFactory.d.ts +7 -0
- package/dist/server/entities/altv/AltVManagersFactory.js +14 -0
- package/dist/server/entities/altv/baseObject/AltVBaseObject.d.ts +9 -0
- package/dist/server/entities/altv/baseObject/AltVBaseObject.js +21 -0
- package/dist/server/entities/altv/baseObject/AltVBaseObjectsIterator.d.ts +7 -0
- package/dist/server/entities/altv/baseObject/AltVBaseObjectsIterator.js +13 -0
- package/dist/server/entities/altv/baseObject/AltVBaseObjectsManager.d.ts +13 -0
- package/dist/server/entities/altv/baseObject/AltVBaseObjectsManager.js +32 -0
- package/dist/server/entities/altv/entity/AltVEntitiesManager.d.ts +5 -0
- package/dist/server/entities/altv/entity/AltVEntitiesManager.js +7 -0
- package/dist/server/entities/altv/entity/AltVEntity.d.ts +8 -0
- package/dist/server/entities/altv/entity/AltVEntity.js +18 -0
- package/dist/server/entities/altv/player/AltVPlayer.d.ts +13 -0
- package/dist/server/entities/altv/player/AltVPlayer.js +31 -0
- package/dist/server/entities/altv/player/AltVPlayersManager.d.ts +10 -0
- package/dist/server/entities/altv/player/AltVPlayersManager.js +42 -0
- package/dist/server/entities/altv/vehicle/AltVVehicle.d.ts +8 -0
- package/dist/server/entities/altv/vehicle/AltVVehicle.js +18 -0
- package/dist/server/entities/altv/vehicle/AltVVehiclesManager.d.ts +6 -0
- package/dist/server/entities/altv/vehicle/AltVVehiclesManager.js +12 -0
- package/dist/server/entities/altv/worldObject/AltVWorldObject.d.ts +10 -0
- package/dist/server/entities/altv/worldObject/AltVWorldObject.js +20 -0
- package/dist/server/entities/altv/worldObject/AltVWorldObjectsIterator.d.ts +10 -0
- package/dist/server/entities/altv/worldObject/AltVWorldObjectsIterator.js +35 -0
- package/dist/server/entities/altv/worldObject/AltVWorldObjectsManager.d.ts +9 -0
- package/dist/server/entities/altv/worldObject/AltVWorldObjectsManager.js +16 -0
- package/dist/server/entities/common/IManagersFactory.d.ts +6 -0
- package/dist/server/entities/common/IManagersFactory.js +2 -0
- package/dist/server/entities/common/baseObject/IBaseObject.d.ts +13 -0
- package/dist/server/entities/common/baseObject/IBaseObject.js +8 -0
- package/dist/server/entities/common/baseObject/IBaseObjectsIterator.d.ts +4 -0
- package/dist/server/entities/common/baseObject/IBaseObjectsIterator.js +2 -0
- package/dist/server/entities/common/baseObject/IBaseObjectsManager.d.ts +10 -0
- package/dist/server/entities/common/baseObject/IBaseObjectsManager.js +2 -0
- package/dist/server/entities/common/entity/IEntitiesManager.d.ts +6 -0
- package/dist/server/entities/common/entity/IEntitiesManager.js +2 -0
- package/dist/server/entities/common/entity/IEntity.d.ts +8 -0
- package/dist/server/entities/common/entity/IEntity.js +2 -0
- package/dist/server/entities/common/player/IPlayer.d.ts +12 -0
- package/dist/server/entities/common/player/IPlayer.js +2 -0
- package/dist/server/entities/common/player/IPlayersManager.d.ts +8 -0
- package/dist/server/entities/common/player/IPlayersManager.js +2 -0
- package/dist/server/entities/common/vehicle/IVehicle.d.ts +7 -0
- package/dist/server/entities/common/vehicle/IVehicle.js +2 -0
- package/dist/server/entities/common/vehicle/IVehiclesManager.d.ts +4 -0
- package/dist/server/entities/common/vehicle/IVehiclesManager.js +2 -0
- package/dist/server/entities/common/worldObject/IWorldObject.d.ts +10 -0
- package/dist/server/entities/common/worldObject/IWorldObject.js +2 -0
- package/dist/server/entities/common/worldObject/IWorldObjectsIterator.d.ts +8 -0
- package/dist/server/entities/common/worldObject/IWorldObjectsIterator.js +2 -0
- package/dist/server/entities/common/worldObject/IWorldObjectsManager.d.ts +8 -0
- package/dist/server/entities/common/worldObject/IWorldObjectsManager.js +2 -0
- package/dist/server/entities/ragemp/RageManagersFactory.d.ts +7 -0
- package/dist/server/entities/ragemp/RageManagersFactory.js +14 -0
- package/dist/server/entities/ragemp/baseObject/RageBaseObject.d.ts +9 -0
- package/dist/server/entities/ragemp/baseObject/RageBaseObject.js +21 -0
- package/dist/server/entities/ragemp/baseObject/RageBaseObjectsIterator.d.ts +7 -0
- package/dist/server/entities/ragemp/baseObject/RageBaseObjectsIterator.js +13 -0
- package/dist/server/entities/ragemp/baseObject/RageBaseObjectsManager.d.ts +13 -0
- package/dist/server/entities/ragemp/baseObject/RageBaseObjectsManager.js +32 -0
- package/dist/server/entities/ragemp/entity/RageEntitiesManager.d.ts +6 -0
- package/dist/server/entities/ragemp/entity/RageEntitiesManager.js +10 -0
- package/dist/server/entities/ragemp/entity/RageEntity.d.ts +8 -0
- package/dist/server/entities/ragemp/entity/RageEntity.js +18 -0
- package/dist/server/entities/ragemp/player/RagePlayer.d.ts +13 -0
- package/dist/server/entities/ragemp/player/RagePlayer.js +31 -0
- package/dist/server/entities/ragemp/player/RagePlayersManager.d.ts +10 -0
- package/dist/server/entities/ragemp/player/RagePlayersManager.js +42 -0
- package/dist/server/entities/ragemp/vehicle/RageVehicle.d.ts +8 -0
- package/dist/server/entities/ragemp/vehicle/RageVehicle.js +18 -0
- package/dist/server/entities/ragemp/vehicle/RageVehiclesManager.d.ts +6 -0
- package/dist/server/entities/ragemp/vehicle/RageVehiclesManager.js +12 -0
- package/dist/server/entities/ragemp/worldObject/RageWorldObject.d.ts +10 -0
- package/dist/server/entities/ragemp/worldObject/RageWorldObject.js +20 -0
- package/dist/server/entities/ragemp/worldObject/RageWorldObjectsIterator.d.ts +10 -0
- package/dist/server/entities/ragemp/worldObject/RageWorldObjectsIterator.js +39 -0
- package/dist/server/entities/ragemp/worldObject/RageWorldObjectsManager.d.ts +9 -0
- package/dist/server/entities/ragemp/worldObject/RageWorldObjectsManager.js +16 -0
- package/package.json +50 -0
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { IWorldObjectsManager, IWorldObjectsManagerOptions } from "../worldObject/IWorldObjectsManager";
|
|
2
|
+
import { IEntity } from "./IEntity";
|
|
3
|
+
export interface IEntitiesManagerOptions extends IWorldObjectsManagerOptions {
|
|
4
|
+
}
|
|
5
|
+
export interface IEntitiesManager<T extends IEntity> extends IWorldObjectsManager<T> {
|
|
6
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { IWorldObject, IWorldObjectOptions } from "../worldObject/IWorldObject";
|
|
2
|
+
export interface IEntityOptions extends IWorldObjectOptions {
|
|
3
|
+
model: string;
|
|
4
|
+
}
|
|
5
|
+
export interface IEntity extends IWorldObject {
|
|
6
|
+
get model(): string;
|
|
7
|
+
setModel(value: string): void;
|
|
8
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { IEntity, IEntityOptions } from "../entity/IEntity";
|
|
2
|
+
export interface IPlayerOptions extends IEntityOptions {
|
|
3
|
+
name: string;
|
|
4
|
+
socialClub: string;
|
|
5
|
+
}
|
|
6
|
+
export interface IPlayer extends IEntity {
|
|
7
|
+
get name(): string;
|
|
8
|
+
get socialClub(): string;
|
|
9
|
+
get health(): number;
|
|
10
|
+
setName(value: string): void;
|
|
11
|
+
setHealth(value: number): void;
|
|
12
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { IEntitiesManager } from "../entity/IEntitiesManager";
|
|
2
|
+
import { IPlayer } from "./IPlayer";
|
|
3
|
+
export interface IPlayersManager extends IEntitiesManager<IPlayer> {
|
|
4
|
+
getByName(name: string): IPlayer;
|
|
5
|
+
findByName(name: string): IPlayer | null;
|
|
6
|
+
getBySocialClub(socialClub: string): IPlayer;
|
|
7
|
+
findBySocialClub(socialClub: string): IPlayer | null;
|
|
8
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { IBaseObject, IBaseObjectOptions } from "../baseObject/IBaseObject";
|
|
2
|
+
import { Vector3D } from "../../../common/utils/math/Vectors";
|
|
3
|
+
export interface IWorldObjectOptions extends IBaseObjectOptions {
|
|
4
|
+
position: Vector3D;
|
|
5
|
+
dimension: number;
|
|
6
|
+
}
|
|
7
|
+
export interface IWorldObject extends IBaseObject {
|
|
8
|
+
position: Vector3D;
|
|
9
|
+
dimension: number;
|
|
10
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { IBaseObjectsIterator } from "../baseObject/IBaseObjectsIterator";
|
|
2
|
+
import { IWorldObject } from "./IWorldObject";
|
|
3
|
+
import { Vector2D, Vector3D } from "../../../common/utils/math/Vectors";
|
|
4
|
+
export interface IWorldObjectsIterator<T extends IWorldObject> extends IBaseObjectsIterator<T> {
|
|
5
|
+
dimension(value: number): IterableIterator<T>;
|
|
6
|
+
range2D(center: Vector2D, range: number): IterableIterator<T>;
|
|
7
|
+
range3D(center: Vector3D, range: number): IterableIterator<T>;
|
|
8
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { IBaseObjectsManager, IBaseObjectsManagerOptions } from "../baseObject/IBaseObjectsManager";
|
|
2
|
+
import { IWorldObject } from "./IWorldObject";
|
|
3
|
+
import { IWorldObjectsIterator } from "./IWorldObjectsIterator";
|
|
4
|
+
export interface IWorldObjectsManagerOptions extends IBaseObjectsManagerOptions {
|
|
5
|
+
}
|
|
6
|
+
export interface IWorldObjectsManager<T extends IWorldObject> extends IBaseObjectsManager<T> {
|
|
7
|
+
get iterator(): IWorldObjectsIterator<T>;
|
|
8
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { IManagersFactory } from "../common/IManagersFactory";
|
|
2
|
+
import { RagePlayersManager } from "./player/RagePlayersManager";
|
|
3
|
+
import { RageVehiclesManager } from "./vehicle/RageVehiclesManager";
|
|
4
|
+
export declare class RageManagersFactory implements IManagersFactory {
|
|
5
|
+
createPlayersManager(): RagePlayersManager;
|
|
6
|
+
createVehiclesManager(): RageVehiclesManager;
|
|
7
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RageManagersFactory = void 0;
|
|
4
|
+
const RagePlayersManager_1 = require("./player/RagePlayersManager");
|
|
5
|
+
const RageVehiclesManager_1 = require("./vehicle/RageVehiclesManager");
|
|
6
|
+
class RageManagersFactory {
|
|
7
|
+
createPlayersManager() {
|
|
8
|
+
return new RagePlayersManager_1.RagePlayersManager();
|
|
9
|
+
}
|
|
10
|
+
createVehiclesManager() {
|
|
11
|
+
return new RageVehiclesManager_1.RageVehiclesManager();
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
exports.RageManagersFactory = RageManagersFactory;
|
|
@@ -0,0 +1,9 @@
|
|
|
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;
|
|
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.RageBaseObject = void 0;
|
|
4
|
+
class RageBaseObject {
|
|
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.RageBaseObject = RageBaseObject;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { IBaseObjectsIterator } from "../../common/baseObject/IBaseObjectsIterator";
|
|
2
|
+
import { RageBaseObject } from "./RageBaseObject";
|
|
3
|
+
export declare class RageBaseObjectsIterator<T extends RageBaseObject> 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.RageBaseObjectsIterator = void 0;
|
|
4
|
+
class RageBaseObjectsIterator {
|
|
5
|
+
_baseObjects;
|
|
6
|
+
constructor(baseObjects) {
|
|
7
|
+
this._baseObjects = baseObjects;
|
|
8
|
+
}
|
|
9
|
+
all() {
|
|
10
|
+
return this._baseObjects.values();
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
exports.RageBaseObjectsIterator = RageBaseObjectsIterator;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { IBaseObjectsManager, IBaseObjectsManagerOptions } from "../../common/baseObject/IBaseObjectsManager";
|
|
2
|
+
import { RageBaseObject } from "./RageBaseObject";
|
|
3
|
+
import { RageBaseObjectsIterator } from "./RageBaseObjectsIterator";
|
|
4
|
+
export declare abstract class RageBaseObjectsManager<T extends RageBaseObject> implements IBaseObjectsManager<RageBaseObject> {
|
|
5
|
+
private readonly _baseObjects;
|
|
6
|
+
private readonly _baseObjectsType;
|
|
7
|
+
protected readonly _iterator: RageBaseObjectsIterator<T>;
|
|
8
|
+
protected get baseObjects(): ReadonlyMap<number, T>;
|
|
9
|
+
get iterator(): RageBaseObjectsIterator<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.RageBaseObjectsManager = void 0;
|
|
4
|
+
const RageBaseObjectsIterator_1 = require("./RageBaseObjectsIterator");
|
|
5
|
+
class RageBaseObjectsManager {
|
|
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 RageBaseObjectsIterator_1.RageBaseObjectsIterator(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.RageBaseObjectsManager = RageBaseObjectsManager;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { IEntitiesManager, IEntitiesManagerOptions } from "../../common/entity/IEntitiesManager";
|
|
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);
|
|
6
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RageEntitiesManager = void 0;
|
|
4
|
+
const RageWorldObjectsManager_1 = require("../worldObject/RageWorldObjectsManager");
|
|
5
|
+
class RageEntitiesManager extends RageWorldObjectsManager_1.RageWorldObjectsManager {
|
|
6
|
+
constructor(options) {
|
|
7
|
+
super(options);
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
exports.RageEntitiesManager = RageEntitiesManager;
|
|
@@ -0,0 +1,8 @@
|
|
|
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);
|
|
7
|
+
setModel(value: string): void;
|
|
8
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RageEntity = void 0;
|
|
4
|
+
const RageWorldObject_1 = require("../worldObject/RageWorldObject");
|
|
5
|
+
class RageEntity extends RageWorldObject_1.RageWorldObject {
|
|
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.RageEntity = RageEntity;
|
|
@@ -0,0 +1,13 @@
|
|
|
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;
|
|
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.RagePlayer = void 0;
|
|
4
|
+
const RageEntity_1 = require("../entity/RageEntity");
|
|
5
|
+
class RagePlayer extends RageEntity_1.RageEntity {
|
|
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.RagePlayer = RagePlayer;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { RageEntitiesManager } from "../entity/RageEntitiesManager";
|
|
2
|
+
import { RagePlayer } from "./RagePlayer";
|
|
3
|
+
import { IPlayersManager } from "../../common/player/IPlayersManager";
|
|
4
|
+
export declare class RagePlayersManager extends RageEntitiesManager<RagePlayer> implements IPlayersManager {
|
|
5
|
+
constructor();
|
|
6
|
+
getByName(name: string): RagePlayer;
|
|
7
|
+
findByName(name: string): RagePlayer | null;
|
|
8
|
+
getBySocialClub(socialClub: string): RagePlayer;
|
|
9
|
+
findBySocialClub(socialClub: string): RagePlayer | null;
|
|
10
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RagePlayersManager = void 0;
|
|
4
|
+
const RageEntitiesManager_1 = require("../entity/RageEntitiesManager");
|
|
5
|
+
class RagePlayersManager extends RageEntitiesManager_1.RageEntitiesManager {
|
|
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.findBySocialClub(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.RagePlayersManager = RagePlayersManager;
|
|
@@ -0,0 +1,8 @@
|
|
|
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;
|
|
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.RageVehicle = void 0;
|
|
4
|
+
const RageEntity_1 = require("../entity/RageEntity");
|
|
5
|
+
class RageVehicle extends RageEntity_1.RageEntity {
|
|
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.RageVehicle = RageVehicle;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { RageEntitiesManager } from "../entity/RageEntitiesManager";
|
|
2
|
+
import { RageVehicle } from "./RageVehicle";
|
|
3
|
+
import { IVehiclesManager } from "../../common/vehicle/IVehiclesManager";
|
|
4
|
+
export declare class RageVehiclesManager extends RageEntitiesManager<RageVehicle> implements IVehiclesManager {
|
|
5
|
+
constructor();
|
|
6
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RageVehiclesManager = void 0;
|
|
4
|
+
const RageEntitiesManager_1 = require("../entity/RageEntitiesManager");
|
|
5
|
+
class RageVehiclesManager extends RageEntitiesManager_1.RageEntitiesManager {
|
|
6
|
+
constructor() {
|
|
7
|
+
super({
|
|
8
|
+
baseObjectsType: "vehicle",
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
exports.RageVehiclesManager = RageVehiclesManager;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { IWorldObject, IWorldObjectOptions } from "../../common/worldObject/IWorldObject";
|
|
2
|
+
import { RageBaseObject } from "../baseObject/RageBaseObject";
|
|
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;
|
|
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.RageWorldObject = void 0;
|
|
4
|
+
const RageBaseObject_1 = require("../baseObject/RageBaseObject");
|
|
5
|
+
class RageWorldObject extends RageBaseObject_1.RageBaseObject {
|
|
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.RageWorldObject = RageWorldObject;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { RageWorldObject } from "./RageWorldObject";
|
|
2
|
+
import { RageBaseObjectsIterator } from "../baseObject/RageBaseObjectsIterator";
|
|
3
|
+
import { IWorldObjectsIterator } from "../../common/worldObject/IWorldObjectsIterator";
|
|
4
|
+
import { Vector2D, Vector3D } from "../../../common/utils/math/Vectors";
|
|
5
|
+
export declare class RageWorldObjectsIterator<T extends RageWorldObject> extends RageBaseObjectsIterator<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,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RageWorldObjectsIterator = void 0;
|
|
4
|
+
const RageBaseObjectsIterator_1 = require("../baseObject/RageBaseObjectsIterator");
|
|
5
|
+
class RageWorldObjectsIterator extends RageBaseObjectsIterator_1.RageBaseObjectsIterator {
|
|
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
|
+
const rangeSquared = range * range;
|
|
18
|
+
for (const worldObject of this.all()) {
|
|
19
|
+
const { position } = worldObject;
|
|
20
|
+
const distanceSquared = (center.x - position.x) * (center.x - position.x) + (center.y - position.y) * (center.y - position.y);
|
|
21
|
+
if (distanceSquared <= rangeSquared) {
|
|
22
|
+
yield worldObject;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
*range3D(center, range) {
|
|
27
|
+
const rangeSquared = range * range;
|
|
28
|
+
for (const worldObject of this.all()) {
|
|
29
|
+
const { position } = worldObject;
|
|
30
|
+
const distanceSquared = (center.x - position.x) * (center.x - position.x) +
|
|
31
|
+
(center.y - position.y) * (center.y - position.y) +
|
|
32
|
+
(center.z - position.z) * (center.z - position.z);
|
|
33
|
+
if (distanceSquared <= rangeSquared) {
|
|
34
|
+
yield worldObject;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
exports.RageWorldObjectsIterator = RageWorldObjectsIterator;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { IWorldObjectsManager, IWorldObjectsManagerOptions } from "../../common/worldObject/IWorldObjectsManager";
|
|
2
|
+
import { RageBaseObjectsManager } from "../baseObject/RageBaseObjectsManager";
|
|
3
|
+
import { RageWorldObject } from "./RageWorldObject";
|
|
4
|
+
import { RageWorldObjectsIterator } from "./RageWorldObjectsIterator";
|
|
5
|
+
export declare abstract class RageWorldObjectsManager<T extends RageWorldObject> extends RageBaseObjectsManager<T> implements IWorldObjectsManager<T> {
|
|
6
|
+
protected readonly _iterator: RageWorldObjectsIterator<T>;
|
|
7
|
+
get iterator(): RageWorldObjectsIterator<T>;
|
|
8
|
+
protected constructor(options: IWorldObjectsManagerOptions);
|
|
9
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RageWorldObjectsManager = void 0;
|
|
4
|
+
const RageBaseObjectsManager_1 = require("../baseObject/RageBaseObjectsManager");
|
|
5
|
+
const RageWorldObjectsIterator_1 = require("./RageWorldObjectsIterator");
|
|
6
|
+
class RageWorldObjectsManager extends RageBaseObjectsManager_1.RageBaseObjectsManager {
|
|
7
|
+
_iterator;
|
|
8
|
+
get iterator() {
|
|
9
|
+
return this._iterator;
|
|
10
|
+
}
|
|
11
|
+
constructor(options) {
|
|
12
|
+
super(options);
|
|
13
|
+
this._iterator = new RageWorldObjectsIterator_1.RageWorldObjectsIterator(this.baseObjects);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
exports.RageWorldObjectsManager = RageWorldObjectsManager;
|
package/package.json
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "rock-mod",
|
|
3
|
+
"version": "0.0.0",
|
|
4
|
+
"description": "Rock-Mod is a powerful framework designed for creating and managing mods for Grand Theft Auto (GTA) games.",
|
|
5
|
+
"main": "index.js",
|
|
6
|
+
"scripts": {
|
|
7
|
+
"start": "npx tsx src/index.ts",
|
|
8
|
+
"build": "npm run build:server && npm run build:client",
|
|
9
|
+
"build:server": "tsc --project tsconfig.server.json",
|
|
10
|
+
"build:client": "tsc --project tsconfig.client.json",
|
|
11
|
+
"lint:check": "eslint . --ext .ts",
|
|
12
|
+
"lint:fix": "eslint . --ext .ts --fix",
|
|
13
|
+
"format:check": "prettier --check .",
|
|
14
|
+
"format:fix": "prettier --write .",
|
|
15
|
+
"type:check": "tsc --noEmit",
|
|
16
|
+
"test": "echo \"Error: no test specified\" && exit 1",
|
|
17
|
+
"prepare": "husky"
|
|
18
|
+
},
|
|
19
|
+
"husky": {
|
|
20
|
+
"hooks": {
|
|
21
|
+
"pre-commit": "lint-staged"
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
"lint-staged": {
|
|
25
|
+
"*.{ts,json,md}": [
|
|
26
|
+
"npm run lint:fix",
|
|
27
|
+
"npm run format:fix"
|
|
28
|
+
]
|
|
29
|
+
},
|
|
30
|
+
"files": ["dist"],
|
|
31
|
+
"keywords": [
|
|
32
|
+
"gta"
|
|
33
|
+
],
|
|
34
|
+
"author": "xvetal",
|
|
35
|
+
"license": "MIT",
|
|
36
|
+
"devDependencies": {
|
|
37
|
+
"@typescript-eslint/eslint-plugin": "^7.18.0",
|
|
38
|
+
"@typescript-eslint/parser": "^7.18.0",
|
|
39
|
+
"eslint": "^8.57.1",
|
|
40
|
+
"eslint-config-airbnb-typescript": "^18.0.0",
|
|
41
|
+
"eslint-config-prettier": "^9.1.0",
|
|
42
|
+
"eslint-import-resolver-typescript": "^3.6.3",
|
|
43
|
+
"eslint-plugin-import": "^2.30.0",
|
|
44
|
+
"eslint-plugin-prettier": "^5.2.1",
|
|
45
|
+
"husky": "^9.1.6",
|
|
46
|
+
"lint-staged": "^15.2.10",
|
|
47
|
+
"prettier": "^3.3.3",
|
|
48
|
+
"typescript": "^5.6.2"
|
|
49
|
+
}
|
|
50
|
+
}
|