rock-mod 0.7.2 → 0.8.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/dist/server/RockMod.d.ts +1 -1
- package/dist/server/RockMod.js +5 -1
- package/dist/server/entities/altv/marker/AltVMarker.d.ts +7 -1
- package/dist/server/entities/altv/marker/AltVMarker.js +19 -0
- package/dist/server/entities/altv/player/AltVPlayer.d.ts +1 -0
- package/dist/server/entities/altv/player/AltVPlayer.js +3 -0
- package/dist/server/entities/common/marker/IMarker.d.ts +11 -0
- package/dist/server/entities/common/marker/IMarkersManager.d.ts +4 -4
- package/dist/server/entities/common/ped/IPedsManager.d.ts +1 -0
- package/dist/server/entities/common/player/IPlayer.d.ts +1 -0
- package/dist/server/entities/mock/baseObject/MockBaseObject.d.ts +18 -0
- package/dist/server/entities/mock/baseObject/MockBaseObject.js +24 -0
- package/dist/server/entities/mock/baseObject/MockBaseObjectsIterator.d.ts +7 -0
- package/dist/server/entities/mock/baseObject/MockBaseObjectsIterator.js +13 -0
- package/dist/server/entities/mock/baseObject/MockBaseObjectsManager.d.ts +18 -0
- package/dist/server/entities/mock/baseObject/MockBaseObjectsManager.js +46 -0
- package/dist/server/entities/mock/blip/MockBlip.d.ts +35 -0
- package/dist/server/entities/mock/blip/MockBlip.js +62 -0
- package/dist/server/entities/mock/blip/MockBlipsManager.d.ts +9 -0
- package/dist/server/entities/mock/blip/MockBlipsManager.js +33 -0
- package/dist/server/entities/mock/colshape/MockCircleColshape.d.ts +8 -0
- package/dist/server/entities/mock/colshape/MockCircleColshape.js +10 -0
- package/dist/server/entities/mock/colshape/MockColshape.d.ts +7 -0
- package/dist/server/entities/mock/colshape/MockColshape.js +10 -0
- package/dist/server/entities/mock/colshape/MockColshapesManager.d.ts +27 -0
- package/dist/server/entities/mock/colshape/MockColshapesManager.js +90 -0
- package/dist/server/entities/mock/colshape/MockCuboidColshape.d.ts +10 -0
- package/dist/server/entities/mock/colshape/MockCuboidColshape.js +10 -0
- package/dist/server/entities/mock/colshape/MockCylinderColshape.d.ts +9 -0
- package/dist/server/entities/mock/colshape/MockCylinderColshape.js +10 -0
- package/dist/server/entities/mock/colshape/MockRectangleColshape.d.ts +9 -0
- package/dist/server/entities/mock/colshape/MockRectangleColshape.js +10 -0
- package/dist/server/entities/mock/colshape/MockSphereColshape.d.ts +8 -0
- package/dist/server/entities/mock/colshape/MockSphereColshape.js +10 -0
- package/dist/server/entities/mock/common/IMockEntity.d.ts +18 -0
- package/dist/server/entities/mock/common/IMockEntity.js +2 -0
- package/dist/server/entities/mock/entity/MockEntitiesManager.d.ts +8 -0
- package/dist/server/entities/mock/entity/MockEntitiesManager.js +10 -0
- package/dist/server/entities/mock/entity/MockEntity.d.ts +16 -0
- package/dist/server/entities/mock/entity/MockEntity.js +29 -0
- package/dist/server/entities/mock/marker/MockMarker.d.ts +27 -0
- package/dist/server/entities/mock/marker/MockMarker.js +50 -0
- package/dist/server/entities/mock/marker/MockMarkersManager.d.ts +10 -0
- package/dist/server/entities/mock/marker/MockMarkersManager.js +31 -0
- package/dist/server/entities/mock/object/MockObject.d.ts +11 -0
- package/dist/server/entities/mock/object/MockObject.js +19 -0
- package/dist/server/entities/mock/object/MockObjectsManager.d.ts +10 -0
- package/dist/server/entities/mock/object/MockObjectsManager.js +31 -0
- package/dist/server/entities/mock/ped/MockPed.d.ts +7 -0
- package/dist/server/entities/mock/ped/MockPed.js +10 -0
- package/dist/server/entities/mock/ped/MockPedsManager.d.ts +10 -0
- package/dist/server/entities/mock/ped/MockPedsManager.js +30 -0
- package/dist/server/entities/mock/player/MockPlayer.d.ts +56 -0
- package/dist/server/entities/mock/player/MockPlayer.js +134 -0
- package/dist/server/entities/mock/player/MockPlayersManager.d.ts +10 -0
- package/dist/server/entities/mock/player/MockPlayersManager.js +42 -0
- package/dist/server/entities/mock/vehicle/MockVehicle.d.ts +42 -0
- package/dist/server/entities/mock/vehicle/MockVehicle.js +103 -0
- package/dist/server/entities/mock/vehicle/MockVehiclesManager.d.ts +10 -0
- package/dist/server/entities/mock/vehicle/MockVehiclesManager.js +32 -0
- package/dist/server/entities/mock/worldObject/MockWorldObject.d.ts +12 -0
- package/dist/server/entities/mock/worldObject/MockWorldObject.js +16 -0
- package/dist/server/entities/mock/worldObject/MockWorldObjectsIterator.d.ts +10 -0
- package/dist/server/entities/mock/worldObject/MockWorldObjectsIterator.js +39 -0
- package/dist/server/entities/mock/worldObject/MockWorldObjectsManager.d.ts +11 -0
- package/dist/server/entities/mock/worldObject/MockWorldObjectsManager.js +16 -0
- package/dist/server/entities/ragemp/marker/RageMarker.d.ts +7 -1
- package/dist/server/entities/ragemp/marker/RageMarker.js +20 -0
- package/dist/server/entities/ragemp/ped/RagePedsManager.js +2 -1
- package/dist/server/entities/ragemp/player/RagePlayer.d.ts +1 -0
- package/dist/server/entities/ragemp/player/RagePlayer.js +3 -0
- package/dist/server/factories/mock/MockManagersFactory.d.ts +21 -0
- package/dist/server/factories/mock/MockManagersFactory.js +41 -0
- package/dist/server/index.d.ts +3 -1
- package/dist/server/index.js +3 -1
- package/dist/server/net/mock/MockNetManager.d.ts +10 -0
- package/dist/server/net/mock/MockNetManager.js +20 -0
- package/dist/server/net/mock/events/MockEventsManager.d.ts +18 -0
- package/dist/server/net/mock/events/MockEventsManager.js +22 -0
- package/dist/server/net/mock/rpc/MockRPCManager.d.ts +13 -0
- package/dist/server/net/mock/rpc/MockRPCManager.js +26 -0
- package/package.json +3 -2
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { IVehicle } from "../../common/vehicle/IVehicle";
|
|
2
|
+
import { MockEntity, IMockEntityOptions } from "../entity/MockEntity";
|
|
3
|
+
import { RGBA } from "../../../common/utils";
|
|
4
|
+
import { MockPlayer } from "../player/MockPlayer";
|
|
5
|
+
export interface IMockVehicleOptions extends IMockEntityOptions {
|
|
6
|
+
engine?: boolean;
|
|
7
|
+
locked?: boolean;
|
|
8
|
+
}
|
|
9
|
+
export declare class MockVehicle extends MockEntity implements IVehicle {
|
|
10
|
+
private _bodyHealth;
|
|
11
|
+
private _engineHealth;
|
|
12
|
+
private _numberPlate;
|
|
13
|
+
private _isLocked;
|
|
14
|
+
private _isDead;
|
|
15
|
+
private _primaryColor;
|
|
16
|
+
private _secondaryColor;
|
|
17
|
+
private _customPrimaryColor;
|
|
18
|
+
private _customSecondaryColor;
|
|
19
|
+
private _passengers;
|
|
20
|
+
get bodyHealth(): number;
|
|
21
|
+
get engineHealth(): number;
|
|
22
|
+
get numberPlate(): string;
|
|
23
|
+
get isLocked(): boolean;
|
|
24
|
+
get isDead(): boolean;
|
|
25
|
+
get primaryColor(): number;
|
|
26
|
+
get secondaryColor(): number;
|
|
27
|
+
get customPrimaryColor(): RGBA;
|
|
28
|
+
get customSecondaryColor(): RGBA;
|
|
29
|
+
get driver(): MockPlayer | null;
|
|
30
|
+
get passengers(): Set<MockPlayer>;
|
|
31
|
+
constructor(options: IMockVehicleOptions);
|
|
32
|
+
setBodyHealth(value: number): void;
|
|
33
|
+
setEngineHealth(value: number): void;
|
|
34
|
+
setNumberPlate(value: string): void;
|
|
35
|
+
setLocked(value: boolean): void;
|
|
36
|
+
setPrimaryColor(value: number): void;
|
|
37
|
+
setSecondaryColor(value: number): void;
|
|
38
|
+
setCustomPrimaryColor(value: RGBA): void;
|
|
39
|
+
setCustomSecondaryColor(value: RGBA): void;
|
|
40
|
+
explode(): void;
|
|
41
|
+
repair(): void;
|
|
42
|
+
}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MockVehicle = void 0;
|
|
4
|
+
const MockEntity_1 = require("../entity/MockEntity");
|
|
5
|
+
const utils_1 = require("../../../common/utils");
|
|
6
|
+
class MockVehicle extends MockEntity_1.MockEntity {
|
|
7
|
+
_bodyHealth;
|
|
8
|
+
_engineHealth;
|
|
9
|
+
_numberPlate;
|
|
10
|
+
_isLocked;
|
|
11
|
+
_isDead;
|
|
12
|
+
_primaryColor;
|
|
13
|
+
_secondaryColor;
|
|
14
|
+
_customPrimaryColor;
|
|
15
|
+
_customSecondaryColor;
|
|
16
|
+
_passengers;
|
|
17
|
+
get bodyHealth() {
|
|
18
|
+
return this._bodyHealth;
|
|
19
|
+
}
|
|
20
|
+
get engineHealth() {
|
|
21
|
+
return this._engineHealth;
|
|
22
|
+
}
|
|
23
|
+
get numberPlate() {
|
|
24
|
+
return this._numberPlate;
|
|
25
|
+
}
|
|
26
|
+
get isLocked() {
|
|
27
|
+
return this._isLocked;
|
|
28
|
+
}
|
|
29
|
+
get isDead() {
|
|
30
|
+
return this._isDead;
|
|
31
|
+
}
|
|
32
|
+
get primaryColor() {
|
|
33
|
+
return this._primaryColor;
|
|
34
|
+
}
|
|
35
|
+
get secondaryColor() {
|
|
36
|
+
return this._secondaryColor;
|
|
37
|
+
}
|
|
38
|
+
get customPrimaryColor() {
|
|
39
|
+
const { r, g, b, a = 255 } = this._customPrimaryColor;
|
|
40
|
+
return new utils_1.RGBA(r, g, b, a);
|
|
41
|
+
}
|
|
42
|
+
get customSecondaryColor() {
|
|
43
|
+
const { r, g, b, a } = this._customSecondaryColor;
|
|
44
|
+
return new utils_1.RGBA(r, g, b, a);
|
|
45
|
+
}
|
|
46
|
+
get driver() {
|
|
47
|
+
for (const passenger of this._passengers.values()) {
|
|
48
|
+
if (passenger.seat === 0) {
|
|
49
|
+
return passenger;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
return null;
|
|
53
|
+
}
|
|
54
|
+
get passengers() {
|
|
55
|
+
return this._passengers;
|
|
56
|
+
}
|
|
57
|
+
constructor(options) {
|
|
58
|
+
super(options);
|
|
59
|
+
this._bodyHealth = 1000;
|
|
60
|
+
this._engineHealth = 1000;
|
|
61
|
+
this._numberPlate = "";
|
|
62
|
+
this._isLocked = options.locked ?? false;
|
|
63
|
+
this._isDead = false;
|
|
64
|
+
this._primaryColor = 0;
|
|
65
|
+
this._secondaryColor = 0;
|
|
66
|
+
this._customPrimaryColor = new utils_1.RGBA(0, 0, 0);
|
|
67
|
+
this._customSecondaryColor = new utils_1.RGBA(0, 0, 0);
|
|
68
|
+
this._passengers = new Set();
|
|
69
|
+
}
|
|
70
|
+
setBodyHealth(value) {
|
|
71
|
+
this._bodyHealth = value;
|
|
72
|
+
}
|
|
73
|
+
setEngineHealth(value) {
|
|
74
|
+
this._engineHealth = Math.clamp(value, 0, 1000);
|
|
75
|
+
}
|
|
76
|
+
setNumberPlate(value) {
|
|
77
|
+
this._numberPlate = value;
|
|
78
|
+
}
|
|
79
|
+
setLocked(value) {
|
|
80
|
+
this._isLocked = value;
|
|
81
|
+
}
|
|
82
|
+
setPrimaryColor(value) {
|
|
83
|
+
this._primaryColor = value;
|
|
84
|
+
}
|
|
85
|
+
setSecondaryColor(value) {
|
|
86
|
+
this._secondaryColor = value;
|
|
87
|
+
}
|
|
88
|
+
setCustomPrimaryColor(value) {
|
|
89
|
+
this._customPrimaryColor = value;
|
|
90
|
+
}
|
|
91
|
+
setCustomSecondaryColor(value) {
|
|
92
|
+
this._customSecondaryColor = value;
|
|
93
|
+
}
|
|
94
|
+
explode() {
|
|
95
|
+
this.setBodyHealth(0);
|
|
96
|
+
this.setEngineHealth(0);
|
|
97
|
+
}
|
|
98
|
+
repair() {
|
|
99
|
+
this.setBodyHealth(1000);
|
|
100
|
+
this.setEngineHealth(1000);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
exports.MockVehicle = MockVehicle;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { IVehicleCreateOptions, IVehiclesManager } from "../../common/vehicle/IVehiclesManager";
|
|
2
|
+
import { MockEntitiesManager } from "../entity/MockEntitiesManager";
|
|
3
|
+
import { MockVehicle } from "./MockVehicle";
|
|
4
|
+
export interface IMockVehicleCreateOptions extends IVehicleCreateOptions {
|
|
5
|
+
}
|
|
6
|
+
export declare class MockVehiclesManager extends MockEntitiesManager<MockVehicle> implements IVehiclesManager {
|
|
7
|
+
private _nextId;
|
|
8
|
+
constructor();
|
|
9
|
+
create(options: IMockVehicleCreateOptions): MockVehicle;
|
|
10
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MockVehiclesManager = void 0;
|
|
4
|
+
const MockEntitiesManager_1 = require("../entity/MockEntitiesManager");
|
|
5
|
+
const MockVehicle_1 = require("./MockVehicle");
|
|
6
|
+
const RockMod_1 = require("../../../RockMod");
|
|
7
|
+
const common_1 = require("../../common");
|
|
8
|
+
class MockVehiclesManager extends MockEntitiesManager_1.MockEntitiesManager {
|
|
9
|
+
_nextId;
|
|
10
|
+
constructor() {
|
|
11
|
+
super({
|
|
12
|
+
baseObjectsType: "vehicle",
|
|
13
|
+
});
|
|
14
|
+
this._nextId = 0;
|
|
15
|
+
}
|
|
16
|
+
create(options) {
|
|
17
|
+
const { model, engine, locked, position, dimension, rotation } = options;
|
|
18
|
+
const vehicle = new MockVehicle_1.MockVehicle({
|
|
19
|
+
id: this._nextId++,
|
|
20
|
+
type: common_1.BaseObjectType.Vehicle,
|
|
21
|
+
model: RockMod_1.RockMod.instance.utils.hash(model),
|
|
22
|
+
engine,
|
|
23
|
+
locked,
|
|
24
|
+
position,
|
|
25
|
+
dimension,
|
|
26
|
+
rotation,
|
|
27
|
+
});
|
|
28
|
+
this.registerBaseObject(vehicle);
|
|
29
|
+
return vehicle;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
exports.MockVehiclesManager = MockVehiclesManager;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { IWorldObject } from "../../common/worldObject/IWorldObject";
|
|
2
|
+
import { MockBaseObject, IMockBaseObjectOptions } from "../baseObject/MockBaseObject";
|
|
3
|
+
import { IVector3D } from "../../../common/utils/math/Vectors";
|
|
4
|
+
export interface IMockWorldObjectOptions extends IMockBaseObjectOptions {
|
|
5
|
+
position: IVector3D;
|
|
6
|
+
dimension: number;
|
|
7
|
+
}
|
|
8
|
+
export declare abstract class MockWorldObject extends MockBaseObject implements IWorldObject {
|
|
9
|
+
protected constructor(options: IMockWorldObjectOptions);
|
|
10
|
+
setPosition(value: IVector3D): void;
|
|
11
|
+
setDimension(value: number): void;
|
|
12
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MockWorldObject = void 0;
|
|
4
|
+
const MockBaseObject_1 = require("../baseObject/MockBaseObject");
|
|
5
|
+
class MockWorldObject extends MockBaseObject_1.MockBaseObject {
|
|
6
|
+
constructor(options) {
|
|
7
|
+
super(options);
|
|
8
|
+
}
|
|
9
|
+
setPosition(value) {
|
|
10
|
+
this.position = value;
|
|
11
|
+
}
|
|
12
|
+
setDimension(value) {
|
|
13
|
+
this.dimension = value;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
exports.MockWorldObject = MockWorldObject;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { IWorldObjectsIterator } from "../../common/worldObject/IWorldObjectsIterator";
|
|
2
|
+
import { MockWorldObject } from "./MockWorldObject";
|
|
3
|
+
import { MockBaseObjectsIterator } from "../baseObject/MockBaseObjectsIterator";
|
|
4
|
+
import { Vector2D, Vector3D } from "../../../common/utils/math/Vectors";
|
|
5
|
+
export declare class MockWorldObjectsIterator<T extends MockWorldObject> extends MockBaseObjectsIterator<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.MockWorldObjectsIterator = void 0;
|
|
4
|
+
const MockBaseObjectsIterator_1 = require("../baseObject/MockBaseObjectsIterator");
|
|
5
|
+
class MockWorldObjectsIterator extends MockBaseObjectsIterator_1.MockBaseObjectsIterator {
|
|
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.MockWorldObjectsIterator = MockWorldObjectsIterator;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { IWorldObjectsManager } from "../../common/worldObject/IWorldObjectsManager";
|
|
2
|
+
import { MockWorldObject } from "./MockWorldObject";
|
|
3
|
+
import { IMockBaseObjectsManagerOptions, MockBaseObjectsManager } from "../baseObject/MockBaseObjectsManager";
|
|
4
|
+
import { MockWorldObjectsIterator } from "./MockWorldObjectsIterator";
|
|
5
|
+
export interface IMockWorldObjectsManagerOptions extends IMockBaseObjectsManagerOptions {
|
|
6
|
+
}
|
|
7
|
+
export declare abstract class MockWorldObjectsManager<T extends MockWorldObject> extends MockBaseObjectsManager<T> implements IWorldObjectsManager<T> {
|
|
8
|
+
protected readonly _iterator: MockWorldObjectsIterator<T>;
|
|
9
|
+
protected constructor(options: IMockWorldObjectsManagerOptions);
|
|
10
|
+
get iterator(): MockWorldObjectsIterator<T>;
|
|
11
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MockWorldObjectsManager = void 0;
|
|
4
|
+
const MockBaseObjectsManager_1 = require("../baseObject/MockBaseObjectsManager");
|
|
5
|
+
const MockWorldObjectsIterator_1 = require("./MockWorldObjectsIterator");
|
|
6
|
+
class MockWorldObjectsManager extends MockBaseObjectsManager_1.MockBaseObjectsManager {
|
|
7
|
+
_iterator;
|
|
8
|
+
constructor(options) {
|
|
9
|
+
super(options);
|
|
10
|
+
this._iterator = new MockWorldObjectsIterator_1.MockWorldObjectsIterator(this.baseObjects);
|
|
11
|
+
}
|
|
12
|
+
get iterator() {
|
|
13
|
+
return this._iterator;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
exports.MockWorldObjectsManager = MockWorldObjectsManager;
|
|
@@ -1,11 +1,17 @@
|
|
|
1
|
-
import { IMarker } from "../../common";
|
|
1
|
+
import { IMarker, IMarkerType } from "../../common";
|
|
2
2
|
import { IRageWorldObjectOptions, RageWorldObject } from "../worldObject/RageWorldObject";
|
|
3
|
+
import { IRGBA, IVector3D } from "../../../common/utils";
|
|
3
4
|
export interface IRageMarkerOptions extends IRageWorldObjectOptions<MarkerMp> {
|
|
4
5
|
}
|
|
5
6
|
export declare class RageMarker extends RageWorldObject<MarkerMp> implements IMarker {
|
|
7
|
+
get markerType(): IMarkerType;
|
|
6
8
|
get visible(): boolean;
|
|
7
9
|
get scale(): number;
|
|
10
|
+
get color(): IRGBA;
|
|
11
|
+
get rotation(): IVector3D;
|
|
8
12
|
constructor(options: IRageMarkerOptions);
|
|
9
13
|
setVisible(value: boolean): void;
|
|
10
14
|
setScale(value: number): void;
|
|
15
|
+
setColor(value: IRGBA): void;
|
|
16
|
+
setRotation(value: IVector3D): void;
|
|
11
17
|
}
|
|
@@ -2,13 +2,26 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.RageMarker = void 0;
|
|
4
4
|
const RageWorldObject_1 = require("../worldObject/RageWorldObject");
|
|
5
|
+
const utils_1 = require("../../../common/utils");
|
|
6
|
+
var RGBA = AltVShared.RGBA;
|
|
5
7
|
class RageMarker extends RageWorldObject_1.RageWorldObject {
|
|
8
|
+
get markerType() {
|
|
9
|
+
return this.mpEntity.model;
|
|
10
|
+
}
|
|
6
11
|
get visible() {
|
|
7
12
|
return this.mpEntity.visible;
|
|
8
13
|
}
|
|
9
14
|
get scale() {
|
|
10
15
|
return this.mpEntity.scale;
|
|
11
16
|
}
|
|
17
|
+
get color() {
|
|
18
|
+
const [r, g, b, a] = this.mpEntity.getColor();
|
|
19
|
+
return new RGBA(r, g, b, a ?? 255);
|
|
20
|
+
}
|
|
21
|
+
get rotation() {
|
|
22
|
+
const { x, y, z } = this.mpEntity.rotation;
|
|
23
|
+
return new utils_1.Vector3D(x, y, z);
|
|
24
|
+
}
|
|
12
25
|
constructor(options) {
|
|
13
26
|
super(options);
|
|
14
27
|
}
|
|
@@ -18,5 +31,12 @@ class RageMarker extends RageWorldObject_1.RageWorldObject {
|
|
|
18
31
|
setScale(value) {
|
|
19
32
|
this.mpEntity.scale = value;
|
|
20
33
|
}
|
|
34
|
+
setColor(value) {
|
|
35
|
+
const { r, g, b, a } = value;
|
|
36
|
+
this.mpEntity.setColor(r, g, b, a ?? 255);
|
|
37
|
+
}
|
|
38
|
+
setRotation(value) {
|
|
39
|
+
this.mpEntity.rotation = new mp.Vector3(value);
|
|
40
|
+
}
|
|
21
41
|
}
|
|
22
42
|
exports.RageMarker = RageMarker;
|
|
@@ -10,10 +10,11 @@ class RagePedsManager extends RageEntitiesManager_1.RageEntitiesManager {
|
|
|
10
10
|
});
|
|
11
11
|
}
|
|
12
12
|
create(options) {
|
|
13
|
-
const { model, position, dimension, rotation } = options;
|
|
13
|
+
const { model, frozen, position, dimension, rotation } = options;
|
|
14
14
|
const mpEntity = mp.peds.new(mp.joaat(model), new mp.Vector3(position), {
|
|
15
15
|
dimension,
|
|
16
16
|
heading: rotation.z,
|
|
17
|
+
frozen,
|
|
17
18
|
});
|
|
18
19
|
mpEntity.isExists = () => mp.peds.exists(mpEntity);
|
|
19
20
|
const ped = new RagePed_1.RagePed({ mpEntity });
|
|
@@ -12,6 +12,7 @@ export declare class RagePlayer extends RageEntity<PlayerMp> implements IPlayer
|
|
|
12
12
|
get heading(): number;
|
|
13
13
|
get health(): number;
|
|
14
14
|
get armour(): number;
|
|
15
|
+
get isDead(): boolean;
|
|
15
16
|
get ip(): string;
|
|
16
17
|
get serial(): string;
|
|
17
18
|
get vehicle(): RageVehicle | null;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { IManagersFactory } from "../common/IManagersFactory";
|
|
2
|
+
import { MockNetManager } from "../../net/mock/MockNetManager";
|
|
3
|
+
import { MockPlayersManager } from "../../entities/mock/player/MockPlayersManager";
|
|
4
|
+
import { IUtilsManager } from "../../utils";
|
|
5
|
+
import { MockBlipsManager } from "../../entities/mock/blip/MockBlipsManager";
|
|
6
|
+
import { MockColshapesManager } from "../../entities/mock/colshape/MockColshapesManager";
|
|
7
|
+
import { MockMarkersManager } from "../../entities/mock/marker/MockMarkersManager";
|
|
8
|
+
import { MockObjectsManager } from "../../entities/mock/object/MockObjectsManager";
|
|
9
|
+
import { MockPedsManager } from "../../entities/mock/ped/MockPedsManager";
|
|
10
|
+
import { MockVehiclesManager } from "../../entities/mock/vehicle/MockVehiclesManager";
|
|
11
|
+
export declare class MockManagersFactory implements IManagersFactory {
|
|
12
|
+
createNetManager(): MockNetManager;
|
|
13
|
+
createBlipsManager(): MockBlipsManager;
|
|
14
|
+
createColshapesManager(): MockColshapesManager;
|
|
15
|
+
createMarkersManager(): MockMarkersManager;
|
|
16
|
+
createObjectsManager(): MockObjectsManager;
|
|
17
|
+
createPedsManager(): MockPedsManager;
|
|
18
|
+
createPlayersManager(): MockPlayersManager;
|
|
19
|
+
createUtilsManager(): IUtilsManager;
|
|
20
|
+
createVehiclesManager(): MockVehiclesManager;
|
|
21
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MockManagersFactory = void 0;
|
|
4
|
+
const MockNetManager_1 = require("../../net/mock/MockNetManager");
|
|
5
|
+
const MockPlayersManager_1 = require("../../entities/mock/player/MockPlayersManager");
|
|
6
|
+
const MockBlipsManager_1 = require("../../entities/mock/blip/MockBlipsManager");
|
|
7
|
+
const MockColshapesManager_1 = require("../../entities/mock/colshape/MockColshapesManager");
|
|
8
|
+
const MockMarkersManager_1 = require("../../entities/mock/marker/MockMarkersManager");
|
|
9
|
+
const MockObjectsManager_1 = require("../../entities/mock/object/MockObjectsManager");
|
|
10
|
+
const MockPedsManager_1 = require("../../entities/mock/ped/MockPedsManager");
|
|
11
|
+
const MockVehiclesManager_1 = require("../../entities/mock/vehicle/MockVehiclesManager");
|
|
12
|
+
class MockManagersFactory {
|
|
13
|
+
createNetManager() {
|
|
14
|
+
return new MockNetManager_1.MockNetManager();
|
|
15
|
+
}
|
|
16
|
+
createBlipsManager() {
|
|
17
|
+
return new MockBlipsManager_1.MockBlipsManager();
|
|
18
|
+
}
|
|
19
|
+
createColshapesManager() {
|
|
20
|
+
return new MockColshapesManager_1.MockColshapesManager();
|
|
21
|
+
}
|
|
22
|
+
createMarkersManager() {
|
|
23
|
+
return new MockMarkersManager_1.MockMarkersManager();
|
|
24
|
+
}
|
|
25
|
+
createObjectsManager() {
|
|
26
|
+
return new MockObjectsManager_1.MockObjectsManager();
|
|
27
|
+
}
|
|
28
|
+
createPedsManager() {
|
|
29
|
+
return new MockPedsManager_1.MockPedsManager();
|
|
30
|
+
}
|
|
31
|
+
createPlayersManager() {
|
|
32
|
+
return new MockPlayersManager_1.MockPlayersManager();
|
|
33
|
+
}
|
|
34
|
+
createUtilsManager() {
|
|
35
|
+
throw new Error("Utils manager not implemented in mock mode");
|
|
36
|
+
}
|
|
37
|
+
createVehiclesManager() {
|
|
38
|
+
return new MockVehiclesManager_1.MockVehiclesManager();
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
exports.MockManagersFactory = MockManagersFactory;
|
package/dist/server/index.d.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
1
|
export * from "./RockMod";
|
|
2
|
-
export * from "./entities";
|
|
3
2
|
export * from "./common/utils";
|
|
3
|
+
export { BaseObjectType, IBaseObject as IRockModBaseObject, IBlip as IRockModBlip, IColshape as IRockModColshape, IEntity as IRockModEntity, IMarker as IRockModMarker, IObject as IRockModObject, IPed as IRockModPed, IPlayer as IRockModPlayer, IVehicle as IRockModVehicle, IWorldObject as IRockModWorldObject, } from "./entities";
|
|
4
|
+
export { INetServerEvents, INetClientEvents } from "./net/common/events/IEventsManager";
|
|
5
|
+
export { INetServerRPC, INetClientRPC } from "./net/common/rpc/IRPCManager";
|
package/dist/server/index.js
CHANGED
|
@@ -14,6 +14,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.BaseObjectType = void 0;
|
|
17
18
|
__exportStar(require("./RockMod"), exports);
|
|
18
|
-
__exportStar(require("./entities"), exports);
|
|
19
19
|
__exportStar(require("./common/utils"), exports);
|
|
20
|
+
var entities_1 = require("./entities");
|
|
21
|
+
Object.defineProperty(exports, "BaseObjectType", { enumerable: true, get: function () { return entities_1.BaseObjectType; } });
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { INetManager } from "../common/INetManager";
|
|
2
|
+
import { MockEventsManager } from "./events/MockEventsManager";
|
|
3
|
+
import { MockRPCManager } from "./rpc/MockRPCManager";
|
|
4
|
+
export declare class MockNetManager implements INetManager {
|
|
5
|
+
private readonly _eventsManager;
|
|
6
|
+
private readonly _rpcManager;
|
|
7
|
+
get events(): MockEventsManager;
|
|
8
|
+
get rpc(): MockRPCManager;
|
|
9
|
+
constructor();
|
|
10
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MockNetManager = void 0;
|
|
4
|
+
const MockEventsManager_1 = require("./events/MockEventsManager");
|
|
5
|
+
const MockRPCManager_1 = require("./rpc/MockRPCManager");
|
|
6
|
+
class MockNetManager {
|
|
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 MockEventsManager_1.MockEventsManager();
|
|
17
|
+
this._rpcManager = new MockRPCManager_1.MockRPCManager();
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
exports.MockNetManager = MockNetManager;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { IEventsManager, INetClientEvents, INetServerEvents } from "../../common/events/IEventsManager";
|
|
2
|
+
import { MockPlayer } from "../../../entities/mock/player/MockPlayer";
|
|
3
|
+
import { MockBaseObject } from "../../../entities/mock/baseObject/MockBaseObject";
|
|
4
|
+
export interface IMockServerEvents extends INetServerEvents {
|
|
5
|
+
"rm::playerConnected"(player: MockPlayer): void;
|
|
6
|
+
"rm::playerDisconnected"(player: MockPlayer): void;
|
|
7
|
+
"rm::entityCreated"(entity: MockBaseObject): void;
|
|
8
|
+
"rm::entityDestroyed"(entity: MockBaseObject): void;
|
|
9
|
+
}
|
|
10
|
+
export interface IMockClientEvents extends INetClientEvents {
|
|
11
|
+
}
|
|
12
|
+
export declare class MockEventsManager implements IEventsManager {
|
|
13
|
+
private readonly _eventEmitter;
|
|
14
|
+
on<K extends keyof IMockServerEvents>(events: Record<K, (...args: Parameters<IMockServerEvents[K]>) => void>): void;
|
|
15
|
+
off<K extends keyof IMockServerEvents>(eventName: K, listener: (...args: Parameters<IMockServerEvents[K]>) => void): void;
|
|
16
|
+
emit<K extends keyof IMockServerEvents>(eventName: K, ...args: Parameters<IMockServerEvents[K]>): void;
|
|
17
|
+
emitClient(): void;
|
|
18
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MockEventsManager = void 0;
|
|
4
|
+
const events_1 = require("events");
|
|
5
|
+
class MockEventsManager {
|
|
6
|
+
_eventEmitter = new events_1.EventEmitter();
|
|
7
|
+
on(events) {
|
|
8
|
+
for (const [eventName, handler] of Object.entries(events)) {
|
|
9
|
+
this._eventEmitter.on(eventName, handler);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
off(eventName, listener) {
|
|
13
|
+
this._eventEmitter.off(eventName, listener);
|
|
14
|
+
}
|
|
15
|
+
emit(eventName, ...args) {
|
|
16
|
+
this._eventEmitter.emit(eventName, ...args);
|
|
17
|
+
}
|
|
18
|
+
emitClient() {
|
|
19
|
+
throw new Error("Method not implemented");
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
exports.MockEventsManager = MockEventsManager;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { INetClientRPC, INetServerRPC, IRPCManager } from "../../common/rpc/IRPCManager";
|
|
2
|
+
import { IPlayer } from "../../../entities/common/player/IPlayer";
|
|
3
|
+
import { MockPlayer } from "../../../entities/mock/player/MockPlayer";
|
|
4
|
+
export interface IMockServerRPC extends INetServerRPC {
|
|
5
|
+
}
|
|
6
|
+
export interface IMockClientRPC extends INetClientRPC {
|
|
7
|
+
}
|
|
8
|
+
export declare class MockRPCManager implements IRPCManager {
|
|
9
|
+
private readonly _handlers;
|
|
10
|
+
register<K extends keyof IMockServerRPC>(rpcName: K, handler: (player: MockPlayer, ...args: Parameters<IMockServerRPC[K]>) => ReturnType<IMockServerRPC[K]>): void;
|
|
11
|
+
unregister<K extends keyof IMockServerRPC>(rpcName: K): void;
|
|
12
|
+
emitClient<K extends keyof IMockClientRPC>(player: IPlayer, rpcName: K, ...args: Parameters<IMockClientRPC[K]>): Promise<ReturnType<IMockClientRPC[K]>>;
|
|
13
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MockRPCManager = void 0;
|
|
4
|
+
class MockRPCManager {
|
|
5
|
+
_handlers = new Map();
|
|
6
|
+
register(rpcName, handler) {
|
|
7
|
+
this._handlers.set(rpcName, handler);
|
|
8
|
+
}
|
|
9
|
+
unregister(rpcName) {
|
|
10
|
+
this._handlers.delete(rpcName);
|
|
11
|
+
}
|
|
12
|
+
emitClient(player, rpcName, ...args) {
|
|
13
|
+
const handler = this._handlers.get(rpcName);
|
|
14
|
+
if (handler) {
|
|
15
|
+
try {
|
|
16
|
+
const result = handler(player, ...args);
|
|
17
|
+
return Promise.resolve(result);
|
|
18
|
+
}
|
|
19
|
+
catch (error) {
|
|
20
|
+
return Promise.reject(error);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
return Promise.resolve(null);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
exports.MockRPCManager = MockRPCManager;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "rock-mod",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.8.0",
|
|
4
4
|
"description": "Rock-Mod is a powerful framework designed for creating and managing mods for Grand Theft Auto (GTA) games.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -57,6 +57,7 @@
|
|
|
57
57
|
"husky": "^9.1.6",
|
|
58
58
|
"lint-staged": "^15.2.10",
|
|
59
59
|
"prettier": "^3.3.3",
|
|
60
|
-
"typescript": "^5.6.2"
|
|
60
|
+
"typescript": "^5.6.2",
|
|
61
|
+
"@types/node": "^20.10.4"
|
|
61
62
|
}
|
|
62
63
|
}
|