@schmoker/rageenginebridge 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.
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/Users/stefan/Repos/RageEngineBridge/dist/ragemp.cjs","../src/ragemp/RageMpEntityPool.ts","../src/ragemp/RageMpEntity.ts","../src/ragemp/RageMpPlayer.ts","../src/ragemp/RageMpVehicle.ts","../src/ragemp/RageMpPed.ts","../src/ragemp/RageMpObject.ts","../src/ragemp/RageMpBlip.ts","../src/ragemp/RageMpCheckpoint.ts","../src/ragemp/RageMpColshape.ts","../src/ragemp/RageMpCamera.ts","../src/ragemp/RageMpBrowser.ts","../src/ragemp/RageMpTextLabel.ts","../src/ragemp/RageMpMarker.ts","../src/ragemp/RageMpPickup.ts","../src/ragemp/RageMpEvents.ts","../src/ragemp/RageMpGui.ts","../src/ragemp/RageMpKeys.ts","../src/ragemp/RageMpStorage.ts","../src/ragemp/RageMpVoiceChat.ts","../src/ragemp/RageMpNametags.ts","../src/ragemp/RageMpRaycasting.ts","../src/ragemp/RageMpConsole.ts","../src/ragemp/RageMpDiscord.ts","../src/ragemp/RageMpSystem.ts","../src/ragemp/RageMpUser.ts","../src/ragemp/RageMpNativesBridge.ts","../src/ragemp/RageMpEngine.ts"],"names":[],"mappings":"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","file":"/Users/stefan/Repos/RageEngineBridge/dist/ragemp.cjs","sourcesContent":[null,"import type { IEntityPool, ICreatableEntityPool } from \"../interfaces/IEntity\";\nimport type { Vector3 } from \"../types\";\n\nexport class RageMpEntityPool<T, Raw> implements IEntityPool<T> {\n private cache = new WeakMap<object, T>();\n\n constructor(\n protected readonly pool: RageMpPool<Raw>,\n protected readonly wrap: (raw: Raw) => T,\n ) {}\n\n protected getWrapped(raw: Raw): T {\n const key = raw as unknown as object;\n let wrapped = this.cache.get(key);\n if (!wrapped) {\n wrapped = this.wrap(raw);\n this.cache.set(key, wrapped);\n }\n return wrapped;\n }\n\n get length(): number {\n return this.pool.length;\n }\n\n get size(): number {\n return this.pool.length;\n }\n\n get streamed(): T[] {\n return this.pool.streamed.map((raw) => this.getWrapped(raw));\n }\n\n at(id: number): T | undefined {\n const raw = this.pool.at(id);\n return raw ? this.getWrapped(raw) : undefined;\n }\n\n atRemoteId(remoteId: number): T | undefined {\n const raw = this.pool.atRemoteId(remoteId);\n return raw ? this.getWrapped(raw) : undefined;\n }\n\n atHandle(handle: number): T | undefined {\n const raw = this.pool.atHandle(handle);\n return raw ? this.getWrapped(raw) : undefined;\n }\n\n exists(entity: T): boolean {\n return this.pool.exists(entity as unknown as Raw);\n }\n\n forEach(callback: (entity: T) => void): void {\n this.pool.forEach((raw) => callback(this.getWrapped(raw)));\n }\n\n forEachInRange(position: Vector3, range: number, callbackOrDimension: ((entity: T) => void) | number, callback?: (entity: T) => void): void {\n const pos = new mp.Vector3(position.x, position.y, position.z);\n if (typeof callbackOrDimension === \"function\") {\n this.pool.forEachInRange(pos, range, (raw: Raw) => callbackOrDimension(this.getWrapped(raw)));\n } else {\n this.pool.forEachInRange(pos, range, callbackOrDimension, (raw: Raw) => callback!(this.getWrapped(raw)));\n }\n }\n\n forEachInStreamRange(callback: (entity: T) => void): void {\n this.pool.forEachInStreamRange((raw) => callback(this.getWrapped(raw)));\n }\n\n forEachInDimension(dimension: number, callback: (entity: T) => void): void {\n this.pool.forEachInDimension(dimension, (raw) => callback(this.getWrapped(raw)));\n }\n\n getClosest(position: Vector3): T | undefined {\n let closest: T | undefined;\n let closestDist = Infinity;\n this.pool.forEach((raw) => {\n const wrapped = this.getWrapped(raw);\n const entity = wrapped as unknown as { position: Vector3 };\n if (entity.position) {\n const dx = entity.position.x - position.x;\n const dy = entity.position.y - position.y;\n const dz = entity.position.z - position.z;\n const dist = dx * dx + dy * dy + dz * dz;\n if (dist < closestDist) {\n closestDist = dist;\n closest = wrapped;\n }\n }\n });\n return closest;\n }\n\n toArray(): T[] {\n return this.pool.toArray().map((raw) => this.getWrapped(raw));\n }\n}\n\nexport class RageMpCreatablePool<T, Raw, Opts> extends RageMpEntityPool<T, Raw> implements ICreatableEntityPool<T, Opts> {\n constructor(\n pool: RageMpPool<Raw>,\n wrap: (raw: Raw) => T,\n private readonly createFn: (opts: Opts) => Raw,\n ) {\n super(pool, wrap);\n }\n\n create(opts: Opts): T {\n const raw = this.createFn(opts);\n return this.getWrapped(raw);\n }\n}\n\ninterface RageMpPool<T> {\n length: number;\n streamed: T[];\n at(id: number): T;\n atRemoteId(remoteId: number): T;\n atHandle(handle: number): T;\n exists(entity: T): boolean;\n forEach(callback: (entity: T) => void): void;\n forEachInRange(position: any, range: number, callback: (entity: T) => void): void;\n forEachInRange(position: any, range: number, dimension: number, callback: (entity: T) => void): void;\n forEachInStreamRange(callback: (entity: T) => void): void;\n forEachInDimension(dimension: number, callback: (entity: T) => void): void;\n toArray(): T[];\n}\n","import type { IEntity } from \"../interfaces/IEntity\";\nimport type { EntityType, Vector3 } from \"../types\";\n\nexport class RageMpEntity implements IEntity {\n constructor(protected readonly raw: any) {}\n\n get id(): number {\n return this.raw.id;\n }\n\n get remoteId(): number {\n return this.raw.remoteId;\n }\n\n get type(): EntityType {\n return this.raw.type as EntityType;\n }\n\n get handle(): number {\n return this.raw.handle;\n }\n\n get alpha(): number {\n return this.raw.alpha;\n }\n\n set alpha(value: number) {\n this.raw.alpha = value;\n }\n\n get data(): Record<string, unknown> {\n return this.raw.data;\n }\n\n set data(value: Record<string, unknown>) {\n this.raw.data = value;\n }\n\n get dimension(): number {\n return this.raw.dimension;\n }\n\n set dimension(value: number) {\n this.raw.dimension = value;\n }\n\n get model(): number {\n return this.raw.model;\n }\n\n set model(value: number) {\n this.raw.model = value;\n }\n\n get position(): Vector3 {\n const p = this.raw.position;\n return { x: p.x, y: p.y, z: p.z };\n }\n\n set position(value: Vector3) {\n this.raw.position = new mp.Vector3(value.x, value.y, value.z);\n }\n\n get rotation(): Vector3 {\n const r = this.raw.rotation;\n return { x: r.x, y: r.y, z: r.z };\n }\n\n set rotation(value: Vector3) {\n this.raw.rotation = new mp.Vector3(value.x, value.y, value.z);\n }\n\n destroy(): void {\n this.raw.destroy();\n }\n\n doesExist(): boolean {\n return this.raw.doesExist();\n }\n\n dist(position: Vector3): number {\n return this.raw.dist(new mp.Vector3(position.x, position.y, position.z));\n }\n\n distSquared(position: Vector3): number {\n const p = this.position;\n const dx = p.x - position.x;\n const dy = p.y - position.y;\n const dz = p.z - position.z;\n return dx * dx + dy * dy + dz * dz;\n }\n\n getVariable(name: string): unknown {\n return this.raw.getVariable(name);\n }\n\n hasVariable(name: string): boolean {\n return this.raw.hasVariable(name);\n }\n\n setCoords(x: number, y: number, z: number): void {\n mp.game.entity.setCoords(this.raw.handle, x, y, z, false, false, false, false);\n }\n\n setRotation(x: number, y: number, z: number): void {\n mp.game.entity.setRotation(this.raw.handle, x, y, z, 2, true);\n }\n\n freezePosition(toggle: boolean): void {\n mp.game.entity.freezePosition(this.raw.handle, toggle);\n }\n\n setVelocity(x: number, y: number, z: number): void {\n mp.game.entity.setVelocity(this.raw.handle, x, y, z);\n }\n\n getVelocity(): Vector3 {\n const v = mp.game.entity.getVelocity(this.raw.handle);\n return { x: v.x, y: v.y, z: v.z };\n }\n\n setAlpha(alpha: number): void {\n mp.game.entity.setAlpha(this.raw.handle, alpha, false);\n }\n\n setVisible(visible: boolean): void {\n mp.game.entity.setVisible(this.raw.handle, visible, false);\n }\n\n setCollision(toggle: boolean): void {\n mp.game.entity.setCollision(this.raw.handle, toggle, true);\n }\n\n setInvincible(toggle: boolean): void {\n mp.game.entity.setInvincible(this.raw.handle, toggle);\n }\n\n getHealth(): number {\n return mp.game.entity.getHealth(this.raw.handle);\n }\n\n setHealth(health: number): void {\n mp.game.entity.setHealth(this.raw.handle, health, 0);\n }\n\n getMaxHealth(): number {\n return mp.game.entity.getMaxHealth(this.raw.handle);\n }\n\n setMaxHealth(health: number): void {\n mp.game.entity.setMaxHealth(this.raw.handle, health);\n }\n\n getSpeed(): number {\n return mp.game.entity.getSpeed(this.raw.handle);\n }\n\n getForwardVector(): Vector3 {\n const v = mp.game.entity.getForwardVector(this.raw.handle);\n return { x: v.x, y: v.y, z: v.z };\n }\n\n getHeading(): number {\n return mp.game.entity.getHeading(this.raw.handle);\n }\n\n setHeading(heading: number): void {\n mp.game.entity.setHeading(this.raw.handle, heading);\n }\n\n isOnScreen(): boolean {\n return mp.game.entity.isOnScreen(this.raw.handle);\n }\n\n isDead(): boolean {\n return mp.game.entity.isDead(this.raw.handle, false);\n }\n\n isInWater(): boolean {\n return mp.game.entity.isInWater(this.raw.handle);\n }\n\n isInAir(): boolean {\n return mp.game.entity.isInAir(this.raw.handle);\n }\n\n isVisible(): boolean {\n return mp.game.entity.isVisible(this.raw.handle);\n }\n}\n","import type { IPlayer } from \"../interfaces/IPlayer\";\nimport type { Vector3 } from \"../types\";\nimport { RageMpEntity } from \"./RageMpEntity\";\n\nexport class RageMpPlayer extends RageMpEntity implements IPlayer {\n get armour(): number {\n return this.raw.armour;\n }\n\n get eyeColour(): number {\n return this.raw.eyeColour;\n }\n\n get hairColour(): number {\n return this.raw.hairColour;\n }\n\n get hairHighlightColour(): number {\n return this.raw.hairHighlightColour;\n }\n\n get heading(): number {\n return this.raw.heading;\n }\n\n get health(): number {\n return this.raw.health;\n }\n\n get name(): string {\n return this.raw.name;\n }\n\n get weapon(): number {\n return this.raw.weapon;\n }\n\n get weaponAmmo(): number {\n return this.raw.weaponAmmo;\n }\n\n get action(): string {\n return this.raw.action;\n }\n\n get aimTarget(): number {\n return this.raw.aimTarget;\n }\n\n get ip(): string {\n return this.raw.ip;\n }\n\n get isTypingInTextChat(): boolean {\n return this.raw.isTypingInTextChat;\n }\n\n get isVoiceActive(): boolean {\n return this.raw.isVoiceActive;\n }\n\n get ping(): number {\n return this.raw.ping;\n }\n\n get vehicle(): number | null {\n return this.raw.vehicle?.handle ?? null;\n }\n\n setComponentVariation(component: number, drawable: number, texture: number, palette: number): void {\n mp.game.ped.setComponentVariation(this.raw.handle, component, drawable, texture, palette);\n }\n\n setHeadBlendData(\n shapeFirst: number, shapeSecond: number, shapeThird: number,\n skinFirst: number, skinSecond: number, skinThird: number,\n shapeMix: number, skinMix: number, thirdMix: number,\n ): void {\n mp.game.ped.setHeadBlendData(this.raw.handle, shapeFirst, shapeSecond, shapeThird, skinFirst, skinSecond, skinThird, shapeMix, skinMix, thirdMix, false);\n }\n\n setHeadOverlay(overlayId: number, index: number, opacity: number, firstColor?: number, secondColor?: number): void {\n mp.game.ped.setHeadOverlay(this.raw.handle, overlayId, index, opacity);\n if (firstColor !== undefined && secondColor !== undefined) {\n (mp.game.ped as any).setHeadOverlayTint(this.raw.handle, overlayId, 1, firstColor, secondColor);\n }\n }\n\n setHairColor(color: number, highlight: number): void {\n (mp.game.ped as any).setHairTint(this.raw.handle, color, highlight);\n }\n\n setEyeColor(color: number): void {\n mp.game.ped.setEyeColor(this.raw.handle, color);\n }\n\n setFaceFeature(index: number, scale: number): void {\n mp.game.ped.setFaceFeature(this.raw.handle, index, scale);\n }\n\n setPropIndex(propId: number, drawableId: number, textureId: number, attach: boolean): void {\n mp.game.ped.setPropIndex(this.raw.handle, propId, drawableId, textureId, attach);\n }\n\n clearProp(propId: number): void {\n mp.game.ped.clearProp(this.raw.handle, propId);\n }\n\n getDrawableVariation(component: number): number {\n return mp.game.ped.getDrawableVariation(this.raw.handle, component);\n }\n\n getTextureVariation(component: number): number {\n return mp.game.ped.getTextureVariation(this.raw.handle, component);\n }\n\n getPropIndex(propId: number): number {\n return mp.game.ped.getPropIndex(this.raw.handle, propId);\n }\n\n getPropTextureIndex(propId: number): number {\n return mp.game.ped.getPropTextureIndex(this.raw.handle, propId);\n }\n\n getBonePosition(boneId: number): Vector3 {\n const p = mp.game.ped.getBoneCoords(this.raw.handle, boneId, 0, 0, 0);\n return { x: p.x, y: p.y, z: p.z };\n }\n\n getWorldPositionOfBone(boneIndex: number): Vector3 {\n const p = mp.game.entity.getWorldPositionOfBone(this.raw.handle, boneIndex);\n return { x: p.x, y: p.y, z: p.z };\n }\n\n getBoneIndex(boneName: string): number {\n return mp.game.ped.getBoneIndex(this.raw.handle, boneName as unknown as number);\n }\n\n giveWeapon(hash: number, ammo: number): void {\n (mp.game.weapon as any).giveWeaponToPed(this.raw.handle, hash, ammo, false, true);\n }\n\n removeAllWeapons(): void {\n mp.game.weapon.removeAllPedS(this.raw.handle, true);\n }\n\n getAmmoInClip(weapon: number): number {\n return mp.game.weapon.getAmmoInClip(this.raw.handle, weapon);\n }\n\n setAmmoInClip(weapon: number, ammo: number): void {\n mp.game.weapon.setAmmoInClip(this.raw.handle, weapon, ammo);\n }\n\n getWeaponTintIndex(weapon: number): number {\n return mp.game.weapon.getPedTintIndex(this.raw.handle, weapon);\n }\n\n isJumping(): boolean {\n return mp.game.ped.isJumping(this.raw.handle);\n }\n\n isFalling(): boolean {\n return mp.game.ped.isFalling(this.raw.handle);\n }\n\n isShooting(): boolean {\n return mp.game.ped.isShooting(this.raw.handle);\n }\n\n isReloading(): boolean {\n return mp.game.ped.isReloading(this.raw.handle);\n }\n\n isSprinting(): boolean {\n return (mp.game.ped as any).isSprinting(this.raw.handle);\n }\n\n isSwimming(): boolean {\n return mp.game.ped.isSwimming(this.raw.handle);\n }\n\n isSwimmingUnderWater(): boolean {\n return mp.game.ped.isSwimmingUnderWater(this.raw.handle);\n }\n\n isClimbing(): boolean {\n return mp.game.ped.isClimbing(this.raw.handle);\n }\n\n isGettingIntoVehicle(): boolean {\n return mp.game.ped.isGettingIntoAVehicle(this.raw.handle);\n }\n\n isDiving(): boolean {\n return mp.game.ped.isDiving(this.raw.handle);\n }\n\n isParachuting(): boolean {\n return (mp.game.ped as any).isParachuting(this.raw.handle);\n }\n\n isInAnyVehicle(): boolean {\n return mp.game.ped.isInAnyVehicle(this.raw.handle, false);\n }\n\n isSittingInVehicle(vehicle: number): boolean {\n return mp.game.ped.isSittingInVehicle(this.raw.handle, vehicle);\n }\n\n setIntoVehicle(vehicle: number, seat: number): void {\n mp.game.ped.setIntoVehicle(this.raw.handle, vehicle, seat);\n }\n\n setArmour(armour: number): void {\n mp.game.ped.setArmour(this.raw.handle, armour);\n }\n\n getArmour(): number {\n return mp.game.ped.getArmour(this.raw.handle);\n }\n\n taskPlayAnim(\n dict: string, name: string, blendInSpeed: number, blendOutSpeed: number,\n duration: number, flag: number, playbackRate: number,\n lockX: boolean, lockY: boolean, lockZ: boolean,\n ): void {\n mp.game.task.playAnim(this.raw.handle, dict, name, blendInSpeed, blendOutSpeed, duration, flag, playbackRate, lockX, lockY, lockZ);\n }\n\n clearTasks(): void {\n (mp.game.task as any).clearTasks(this.raw.handle);\n }\n\n clearTasksImmediately(): void {\n mp.game.task.clearPedTasksImmediately(this.raw.handle);\n }\n\n canRagdoll(): boolean {\n return mp.game.ped.canRagdoll(this.raw.handle);\n }\n\n setCanRagdoll(toggle: boolean): void {\n mp.game.ped.setCanRagdoll(this.raw.handle, toggle);\n }\n\n setRagdollOnCollision(toggle: boolean): void {\n mp.game.ped.setRagdollOnCollision(this.raw.handle, toggle);\n }\n}\n","import type { IVehicle } from \"../interfaces/IVehicle\";\nimport type { RGB } from \"../types\";\nimport { RageMpEntity } from \"./RageMpEntity\";\n\nexport class RageMpVehicle extends RageMpEntity implements IVehicle {\n get gear(): number {\n return this.raw.gear;\n }\n\n get rpm(): number {\n return this.raw.rpm;\n }\n\n get steeringAngle(): number {\n return this.raw.steeringAngle;\n }\n\n get isPositionFrozen(): boolean {\n return this.raw.isPositionFrozen;\n }\n\n set isPositionFrozen(value: boolean) {\n this.raw.isPositionFrozen = value;\n }\n\n get gravity(): number {\n return this.raw.gravity;\n }\n\n set gravity(value: number) {\n this.raw.gravity = value;\n }\n\n setEngineOn(toggle: boolean, instantly: boolean, noAutoTurnOn: boolean): void {\n mp.game.vehicle.setEngineOn(this.raw.handle, toggle, instantly, noAutoTurnOn);\n }\n\n isEngineRunning(): boolean {\n return mp.game.vehicle.getIsEngineRunning(this.raw.handle);\n }\n\n getEngineHealth(): number {\n return mp.game.vehicle.getEngineHealth(this.raw.handle);\n }\n\n setEngineHealth(health: number): void {\n mp.game.vehicle.setEngineHealth(this.raw.handle, health);\n }\n\n setEnginePowerMultiplier(multiplier: number): void {\n (mp.game.vehicle as any).setEnginePowerMultiplier(this.raw.handle, multiplier);\n }\n\n setEngineTorqueMultiplier(multiplier: number): void {\n (mp.game.vehicle as any).setEngineTorqueMultiplier(this.raw.handle, multiplier);\n }\n\n getBodyHealth(): number {\n return mp.game.vehicle.getBodyHealth(this.raw.handle);\n }\n\n setBodyHealth(health: number): void {\n mp.game.vehicle.setBodyHealth(this.raw.handle, health);\n }\n\n getPetrolTankHealth(): number {\n return mp.game.vehicle.getPetrolTankHealth(this.raw.handle);\n }\n\n setPetrolTankHealth(health: number): void {\n mp.game.vehicle.setPetrolTankHealth(this.raw.handle, health);\n }\n\n setDirtLevel(level: number): void {\n mp.game.vehicle.setDirtLevel(this.raw.handle, level);\n }\n\n setCustomPrimaryColour(r: number, g: number, b: number): void {\n mp.game.vehicle.setCustomPrimaryColour(this.raw.handle, r, g, b);\n }\n\n setCustomSecondaryColour(r: number, g: number, b: number): void {\n mp.game.vehicle.setCustomSecondaryColour(this.raw.handle, r, g, b);\n }\n\n getCustomPrimaryColour(): RGB {\n const c = mp.game.vehicle.getCustomPrimaryColour(this.raw.handle) as any;\n return { r: c.r ?? c[0], g: c.g ?? c[1], b: c.b ?? c[2] };\n }\n\n getCustomSecondaryColour(): RGB {\n const c = mp.game.vehicle.getCustomSecondaryColour(this.raw.handle) as any;\n return { r: c.r ?? c[0], g: c.g ?? c[1], b: c.b ?? c[2] };\n }\n\n setColours(primary: number, secondary: number): void {\n mp.game.vehicle.setColours(this.raw.handle, primary, secondary);\n }\n\n setNeonLightEnabled(index: number, toggle: boolean): void {\n mp.game.vehicle.setNeonLightEnabled(this.raw.handle, index, toggle);\n }\n\n isNeonLightEnabled(index: number): boolean {\n return mp.game.vehicle.isNeonLightEnabled(this.raw.handle, index);\n }\n\n setNeonLightsColour(r: number, g: number, b: number): void {\n mp.game.vehicle.setNeonLightsColour(this.raw.handle, r, g, b);\n }\n\n getNeonLightsColour(): RGB {\n const c = mp.game.vehicle.getNeonLightsColour(this.raw.handle) as any;\n return { r: c.r ?? c[0], g: c.g ?? c[1], b: c.b ?? c[2] };\n }\n\n setMod(modType: number, modIndex: number): void {\n mp.game.vehicle.setMod(this.raw.handle, modType, modIndex, false);\n }\n\n getMod(modType: number): number {\n return mp.game.vehicle.getMod(this.raw.handle, modType);\n }\n\n setModKit(modKit: number): void {\n mp.game.vehicle.setModKit(this.raw.handle, modKit);\n }\n\n getModKit(): number {\n return mp.game.vehicle.getModKit(this.raw.handle);\n }\n\n getNumMods(modType: number): number {\n return mp.game.vehicle.getNumMods(this.raw.handle, modType);\n }\n\n setWindowTint(tint: number): void {\n mp.game.vehicle.setWindowTint(this.raw.handle, tint);\n }\n\n getWindowTint(): number {\n return mp.game.vehicle.getWindowTint(this.raw.handle);\n }\n\n setNumberPlateText(text: string): void {\n mp.game.vehicle.setNumberPlateText(this.raw.handle, text);\n }\n\n getNumberPlateText(): string {\n return mp.game.vehicle.getNumberPlateText(this.raw.handle);\n }\n\n setNumberPlateTextIndex(index: number): void {\n mp.game.vehicle.setNumberPlateTextIndex(this.raw.handle, index);\n }\n\n getNumberPlateTextIndex(): number {\n return mp.game.vehicle.getNumberPlateTextIndex(this.raw.handle);\n }\n\n setTyreBurst(index: number, onRim: boolean, p2: number): void {\n mp.game.vehicle.setTyreBurst(this.raw.handle, index, onRim, p2);\n }\n\n isTyreBurst(wheelId: number): boolean {\n return mp.game.vehicle.isTyreBurst(this.raw.handle, wheelId, false);\n }\n\n setTyresCanBurst(toggle: boolean): void {\n mp.game.vehicle.setTyresCanBurst(this.raw.handle, toggle);\n }\n\n getTyresCanBurst(): boolean {\n return mp.game.vehicle.getTyresCanBurst(this.raw.handle);\n }\n\n setTyreFixed(index: number): void {\n mp.game.vehicle.setTyreFixed(this.raw.handle, index);\n }\n\n setDoorOpen(doorIndex: number, loose: boolean, openInstantly: boolean): void {\n mp.game.vehicle.setDoorOpen(this.raw.handle, doorIndex, loose, openInstantly);\n }\n\n setDoorShut(doorIndex: number, closeInstantly: boolean): void {\n mp.game.vehicle.setDoorShut(this.raw.handle, doorIndex, closeInstantly);\n }\n\n setDoorBroken(doorIndex: number, deleteDoor: boolean): void {\n mp.game.vehicle.setDoorBroken(this.raw.handle, doorIndex, deleteDoor);\n }\n\n isDoorDamaged(doorIndex: number): boolean {\n return mp.game.vehicle.isDoorDamaged(this.raw.handle, doorIndex);\n }\n\n isDoorFullyOpen(doorIndex: number): boolean {\n return mp.game.vehicle.isDoorFullyOpen(this.raw.handle, doorIndex);\n }\n\n getDoorAngleRatio(doorIndex: number): number {\n return mp.game.vehicle.getDoorAngleRatio(this.raw.handle, doorIndex);\n }\n\n setLight(lightIndex: number, toggle: boolean): void {\n mp.game.vehicle.setLights(this.raw.handle, lightIndex);\n }\n\n setLights(toggle: boolean): void {\n mp.game.vehicle.setLights(this.raw.handle, toggle ? 2 : 1);\n }\n\n getLightsState(): boolean {\n return mp.game.vehicle.getLightsState(this.raw.handle) as unknown as boolean;\n }\n\n setXenonHeadlights(toggle: boolean): void {\n mp.game.vehicle.toggleMod(this.raw.handle, 22, toggle);\n }\n\n isXenonHeadlightsEnabled(): boolean {\n return mp.game.vehicle.isToggleModOn(this.raw.handle, 22);\n }\n\n setExtra(extraId: number, toggle: boolean): void {\n mp.game.vehicle.setExtra(this.raw.handle, extraId, (toggle ? 0 : 1) as unknown as boolean);\n }\n\n doesExtraExist(extraId: number): boolean {\n return mp.game.vehicle.doesExtraExist(this.raw.handle, extraId);\n }\n\n isExtraTurnedOn(extraId: number): boolean {\n return mp.game.vehicle.isExtraTurnedOn(this.raw.handle, extraId);\n }\n\n isSeatFree(seatIndex: number): boolean {\n return mp.game.vehicle.isSeatFree(this.raw.handle, seatIndex, false);\n }\n\n getPedInSeat(seatIndex: number): number {\n return mp.game.vehicle.getPedInSeat(this.raw.handle, seatIndex, false);\n }\n\n getMaxNumberOfPassengers(): number {\n return mp.game.vehicle.getMaxNumberOfPassengers(this.raw.handle);\n }\n\n setFixed(): void {\n mp.game.vehicle.setFixed(this.raw.handle);\n }\n\n setUndriveable(toggle: boolean): void {\n mp.game.vehicle.setUndriveable(this.raw.handle, toggle);\n }\n\n setCanBeDamaged(toggle: boolean): void {\n (mp.game.vehicle as any).setCanBeDamaged(this.raw.handle, toggle);\n }\n\n setCanBeVisiblyDamaged(toggle: boolean): void {\n mp.game.vehicle.setCanBeVisiblyDamaged(this.raw.handle, toggle);\n }\n\n getWheelType(): number {\n return mp.game.vehicle.getWheelType(this.raw.handle);\n }\n\n setWheelType(type: number): void {\n mp.game.vehicle.setWheelType(this.raw.handle, type);\n }\n\n setLivery(livery: number): void {\n mp.game.vehicle.setLivery(this.raw.handle, livery);\n }\n\n getLivery(): number {\n return mp.game.vehicle.getLivery(this.raw.handle);\n }\n\n getLiveryCount(): number {\n return mp.game.vehicle.getLiveryCount(this.raw.handle);\n }\n\n setRoofOpened(toggle: boolean): void {\n if (toggle) {\n (mp.game.vehicle as any).openRoof(this.raw.handle);\n } else {\n (mp.game.vehicle as any).closeRoof(this.raw.handle);\n }\n }\n\n isRoofOpened(): boolean {\n return (mp.game.vehicle as any).isRoofOpened(this.raw.handle);\n }\n\n setHandling(field: string, value: number): void {\n this.raw.setHandling(field, value);\n }\n\n getHandling(field: string): number {\n return this.raw.getHandling(field);\n }\n\n resetHandling(): void {\n this.raw.resetHandling();\n }\n\n setSuspensionHeight(height: number): void {\n (mp.game.vehicle as any).setSuspensionHeight(this.raw.handle, height);\n }\n}\n","import type { IPed } from \"../interfaces/IPed\";\nimport type { Vector3 } from \"../types\";\nimport { RageMpEntity } from \"./RageMpEntity\";\n\nexport class RageMpPed extends RageMpEntity implements IPed {\n get isDynamic(): boolean {\n return this.raw.isDynamic;\n }\n\n get spawnPosition(): Vector3 {\n const p = this.raw.spawnPosition;\n return { x: p.x, y: p.y, z: p.z };\n }\n\n get weapon(): number {\n return this.raw.weapon;\n }\n\n get weaponAmmo(): number {\n return this.raw.weaponAmmo;\n }\n\n setComponentVariation(component: number, drawable: number, texture: number, palette: number): void {\n mp.game.ped.setComponentVariation(this.raw.handle, component, drawable, texture, palette);\n }\n\n setHeadBlendData(\n shapeFirst: number, shapeSecond: number, shapeThird: number,\n skinFirst: number, skinSecond: number, skinThird: number,\n shapeMix: number, skinMix: number, thirdMix: number,\n ): void {\n mp.game.ped.setHeadBlendData(this.raw.handle, shapeFirst, shapeSecond, shapeThird, skinFirst, skinSecond, skinThird, shapeMix, skinMix, thirdMix, false);\n }\n\n setHeadOverlay(overlayId: number, index: number, opacity: number, firstColor?: number, secondColor?: number): void {\n mp.game.ped.setHeadOverlay(this.raw.handle, overlayId, index, opacity);\n if (firstColor !== undefined && secondColor !== undefined) {\n (mp.game.ped as any).setHeadOverlayTint(this.raw.handle, overlayId, 1, firstColor, secondColor);\n }\n }\n\n setHairColor(color: number, highlight: number): void {\n (mp.game.ped as any).setHairTint(this.raw.handle, color, highlight);\n }\n\n setEyeColor(color: number): void {\n mp.game.ped.setEyeColor(this.raw.handle, color);\n }\n\n setFaceFeature(index: number, scale: number): void {\n mp.game.ped.setFaceFeature(this.raw.handle, index, scale);\n }\n\n setPropIndex(propId: number, drawableId: number, textureId: number, attach: boolean): void {\n mp.game.ped.setPropIndex(this.raw.handle, propId, drawableId, textureId, attach);\n }\n\n clearProp(propId: number): void {\n mp.game.ped.clearProp(this.raw.handle, propId);\n }\n\n getDrawableVariation(component: number): number {\n return mp.game.ped.getDrawableVariation(this.raw.handle, component);\n }\n\n getTextureVariation(component: number): number {\n return mp.game.ped.getTextureVariation(this.raw.handle, component);\n }\n\n getPropIndex(propId: number): number {\n return mp.game.ped.getPropIndex(this.raw.handle, propId);\n }\n\n getPropTextureIndex(propId: number): number {\n return mp.game.ped.getPropTextureIndex(this.raw.handle, propId);\n }\n\n getBonePosition(boneId: number): Vector3 {\n const p = mp.game.ped.getBoneCoords(this.raw.handle, boneId, 0, 0, 0);\n return { x: p.x, y: p.y, z: p.z };\n }\n\n getWorldPositionOfBone(boneIndex: number): Vector3 {\n const p = mp.game.entity.getWorldPositionOfBone(this.raw.handle, boneIndex);\n return { x: p.x, y: p.y, z: p.z };\n }\n\n getBoneIndex(boneName: string): number {\n return mp.game.ped.getBoneIndex(this.raw.handle, boneName as unknown as number);\n }\n\n giveWeapon(hash: number, ammo: number): void {\n (mp.game.weapon as any).giveWeaponToPed(this.raw.handle, hash, ammo, false, true);\n }\n\n removeAllWeapons(): void {\n mp.game.weapon.removeAllPedS(this.raw.handle, true);\n }\n\n getAmmoInClip(weapon: number): number {\n return mp.game.weapon.getAmmoInClip(this.raw.handle, weapon);\n }\n\n setAmmoInClip(weapon: number, ammo: number): void {\n mp.game.weapon.setAmmoInClip(this.raw.handle, weapon, ammo);\n }\n\n taskPlayAnim(\n dict: string, name: string, blendInSpeed: number, blendOutSpeed: number,\n duration: number, flag: number, playbackRate: number,\n lockX: boolean, lockY: boolean, lockZ: boolean,\n ): void {\n mp.game.task.playAnim(this.raw.handle, dict, name, blendInSpeed, blendOutSpeed, duration, flag, playbackRate, lockX, lockY, lockZ);\n }\n\n clearTasks(): void {\n (mp.game.task as any).clearTasks(this.raw.handle);\n }\n\n clearTasksImmediately(): void {\n mp.game.task.clearPedTasksImmediately(this.raw.handle);\n }\n\n canRagdoll(): boolean {\n return mp.game.ped.canRagdoll(this.raw.handle);\n }\n\n setCanRagdoll(toggle: boolean): void {\n mp.game.ped.setCanRagdoll(this.raw.handle, toggle);\n }\n\n setRagdollOnCollision(toggle: boolean): void {\n mp.game.ped.setRagdollOnCollision(this.raw.handle, toggle);\n }\n}\n","import type { IObject } from \"../interfaces/IObject\";\nimport { RageMpEntity } from \"./RageMpEntity\";\n\nexport class RageMpObject extends RageMpEntity implements IObject {\n setActivatePhysicsAsSoonAsItIsUnfrozen(toggle: boolean): void {\n mp.game.object.setActivatePhysicsAsSoonAsItIsUnfrozen(this.raw.handle, toggle);\n }\n\n hasBeenBroken(): boolean {\n return mp.game.object.hasBeenBroken(this.raw.handle, 0);\n }\n\n placeOnGroundProperly(): boolean {\n return mp.game.object.placeOnGroundProperly(this.raw.handle);\n }\n\n slide(toX: number, toY: number, toZ: number, speedX: number, speedY: number, speedZ: number): boolean {\n return mp.game.object.slide(this.raw.handle, toX, toY, toZ, speedX, speedY, speedZ, false);\n }\n\n setTargetable(targetable: boolean): void {\n mp.game.object.setTargettable(this.raw.handle, targetable);\n }\n}\n","import type { IBlip } from \"../interfaces/IBlip\";\nimport type { Vector3 } from \"../types\";\n\nexport class RageMpBlip implements IBlip {\n constructor(private readonly raw: any) {}\n\n get id(): number {\n return this.raw.id;\n }\n\n get remoteId(): number {\n return this.raw.remoteId;\n }\n\n get type(): string {\n return this.raw.type;\n }\n\n get handle(): number {\n return this.raw.handle;\n }\n\n get dimension(): number {\n return this.raw.dimension;\n }\n\n set dimension(value: number) {\n this.raw.dimension = value;\n }\n\n get position(): Vector3 {\n const p = this.raw.position;\n return { x: p.x, y: p.y, z: p.z };\n }\n\n set position(value: Vector3) {\n this.raw.position = new mp.Vector3(value.x, value.y, value.z);\n }\n\n destroy(): void {\n this.raw.destroy();\n }\n\n setSprite(sprite: number): void {\n mp.game.ui.setBlipSprite(this.raw.handle, sprite);\n }\n\n getSprite(): number {\n return mp.game.ui.getBlipSprite(this.raw.handle);\n }\n\n setColour(colour: number): void {\n mp.game.ui.setBlipColour(this.raw.handle, colour);\n }\n\n getColour(): number {\n return mp.game.ui.getBlipColour(this.raw.handle);\n }\n\n setScale(scale: number): void {\n mp.game.ui.setBlipScale(this.raw.handle, scale);\n }\n\n getScale(): number {\n return (mp.game.ui as any).getBlipScale(this.raw.handle);\n }\n\n setAlpha(alpha: number): void {\n mp.game.ui.setBlipAlpha(this.raw.handle, alpha);\n }\n\n getAlpha(): number {\n return mp.game.ui.getBlipAlpha(this.raw.handle);\n }\n\n setRotation(rotation: number): void {\n mp.game.ui.setBlipRotation(this.raw.handle, rotation);\n }\n\n getRotation(): number {\n return mp.game.ui.getBlipRotation(this.raw.handle);\n }\n\n setName(name: string): void {\n mp.game.ui.setBlipNameFromTextFile(this.raw.handle, name);\n }\n\n getName(): string {\n return (mp.game.ui as any).getBlipName(this.raw.handle);\n }\n\n setRoute(toggle: boolean): void {\n mp.game.ui.setBlipRoute(this.raw.handle, toggle);\n }\n\n setRouteColour(colour: number): void {\n mp.game.ui.setBlipRouteColour(this.raw.handle, colour);\n }\n\n setFlashes(toggle: boolean): void {\n mp.game.ui.setBlipFlashes(this.raw.handle, toggle);\n }\n\n setFlashTimer(duration: number): void {\n mp.game.ui.setBlipFlashTimer(this.raw.handle, duration);\n }\n\n setFlashInterval(interval: number): void {\n mp.game.ui.setBlipFlashInterval(this.raw.handle, interval);\n }\n\n setCategory(category: number): void {\n mp.game.ui.setBlipCategory(this.raw.handle, category);\n }\n\n setPriority(priority: number): void {\n mp.game.ui.setBlipPriority(this.raw.handle, priority);\n }\n\n setDisplay(display: number): void {\n mp.game.ui.setBlipDisplay(this.raw.handle, display);\n }\n\n setAsShortRange(toggle: boolean): void {\n mp.game.ui.setBlipAsShortRange(this.raw.handle, toggle);\n }\n\n setHighDetail(toggle: boolean): void {\n mp.game.ui.setBlipHighDetail(this.raw.handle, toggle);\n }\n\n setBright(toggle: boolean): void {\n mp.game.ui.setBlipBright(this.raw.handle, toggle);\n }\n\n setAsFriendly(toggle: boolean): void {\n mp.game.ui.setBlipAsFriendly(this.raw.handle, toggle);\n }\n\n setShowCone(toggle: boolean): void {\n mp.game.ui.setBlipShowCone(this.raw.handle, toggle, 0);\n }\n\n setShowHeadingIndicator(toggle: boolean): void {\n mp.game.ui.showHeadingIndicatorOnBlip(this.raw.handle, toggle);\n }\n\n setSecondaryColour(r: number, g: number, b: number): void {\n mp.game.ui.setBlipSecondaryColour(this.raw.handle, r, g, b);\n }\n\n pulse(): void {\n mp.game.ui.pulseBlip(this.raw.handle);\n }\n\n setFade(opacity: number, duration: number): void {\n mp.game.ui.setBlipFade(this.raw.handle, opacity, duration);\n }\n}\n","import type { ICheckpoint } from \"../interfaces/ICheckpoint\";\nimport { RageMpEntity } from \"./RageMpEntity\";\n\nexport class RageMpCheckpoint extends RageMpEntity implements ICheckpoint {\n get visible(): boolean {\n return this.raw.visible;\n }\n\n set visible(value: boolean) {\n this.raw.visible = value;\n }\n}\n","import type { IColshape } from \"../interfaces/IColshape\";\nimport { RageMpEntity } from \"./RageMpEntity\";\n\nexport class RageMpColshape extends RageMpEntity implements IColshape {\n get triggered(): boolean {\n return this.raw.triggered;\n }\n\n set triggered(value: boolean) {\n this.raw.triggered = value;\n }\n}\n","import type { ICamera } from \"../interfaces/ICamera\";\nimport type { Vector3 } from \"../types\";\n\nexport class RageMpCamera implements ICamera {\n constructor(private readonly raw: any) {}\n\n get handle(): number {\n return this.raw.handle;\n }\n\n getCoord(): Vector3 {\n const p = mp.game.cam.getCoord(this.raw.handle);\n return { x: p.x, y: p.y, z: p.z };\n }\n\n setCoord(x: number, y: number, z: number): void {\n mp.game.cam.setCoord(this.raw.handle, x, y, z);\n }\n\n getRot(): Vector3 {\n const r = mp.game.cam.getRot(this.raw.handle, 2);\n return { x: r.x, y: r.y, z: r.z };\n }\n\n setRot(x: number, y: number, z: number, rotationOrder: number): void {\n mp.game.cam.setRot(this.raw.handle, x, y, z, rotationOrder);\n }\n\n getFov(): number {\n return mp.game.cam.getFov(this.raw.handle);\n }\n\n setFov(fov: number): void {\n mp.game.cam.setFov(this.raw.handle, fov);\n }\n\n isActive(): boolean {\n return mp.game.cam.isActive(this.raw.handle);\n }\n\n setActive(toggle: boolean): void {\n mp.game.cam.setActive(this.raw.handle, toggle);\n }\n\n setActiveWithInterp(camFrom: number, duration: number, easeLocation: number, easeRotation: number): void {\n mp.game.cam.setActiveWithInterp(this.raw.handle, camFrom, duration, easeLocation, easeRotation);\n }\n\n pointAtCoord(x: number, y: number, z: number): void {\n mp.game.cam.pointAtCoord(this.raw.handle, x, y, z);\n }\n\n pointAt(entity: number): void {\n mp.game.cam.pointAtEntity(this.raw.handle, entity, 0, 0, 0, true);\n }\n\n stopPointing(): void {\n mp.game.cam.stopPointing(this.raw.handle);\n }\n\n shake(type: string, amplitude: number): void {\n mp.game.cam.shake(this.raw.handle, type, amplitude);\n }\n\n isShaking(): boolean {\n return mp.game.cam.isShaking(this.raw.handle);\n }\n\n setShakeAmplitude(amplitude: number): void {\n mp.game.cam.setShakeAmplitude(this.raw.handle, amplitude);\n }\n\n stopShaking(p0: boolean): void {\n mp.game.cam.stopShaking(this.raw.handle, p0);\n }\n\n isRendering(): boolean {\n return mp.game.cam.isRendering(this.raw.handle);\n }\n\n isInterpolating(): boolean {\n return mp.game.cam.isInterpolating(this.raw.handle);\n }\n\n setFarClip(farClip: number): void {\n mp.game.cam.setFarClip(this.raw.handle, farClip);\n }\n\n setNearClip(nearClip: number): void {\n mp.game.cam.setNearClip(this.raw.handle, nearClip);\n }\n\n setFarDof(farDof: number): void {\n mp.game.cam.setFarDof(this.raw.handle, farDof);\n }\n\n setNearDof(nearDof: number): void {\n mp.game.cam.setNearDof(this.raw.handle, nearDof);\n }\n\n setDofStrength(strength: number): void {\n mp.game.cam.setDofStrength(this.raw.handle, strength);\n }\n\n setUseShallowDofMode(toggle: boolean): void {\n mp.game.cam.setUseShallowDofMode(this.raw.handle, toggle);\n }\n\n setMotionBlurStrength(strength: number): void {\n mp.game.cam.setMotionBlurStrength(this.raw.handle, strength);\n }\n\n attachTo(entity: number, xOffset: number, yOffset: number, zOffset: number, isRelative: boolean): void {\n mp.game.cam.attachToEntity(this.raw.handle, entity, xOffset, yOffset, zOffset, isRelative);\n }\n\n detach(): void {\n mp.game.cam.detach(this.raw.handle);\n }\n\n destroy(): void {\n mp.game.cam.destroy(this.raw.handle, false);\n }\n}\n","import type { IBrowser } from \"../interfaces/IBrowser\";\n\nexport class RageMpBrowser implements IBrowser {\n constructor(private readonly raw: any) {}\n\n get active(): boolean {\n return this.raw.active;\n }\n\n set active(value: boolean) {\n this.raw.active = value;\n }\n\n get url(): string {\n return this.raw.url;\n }\n\n set url(value: string) {\n this.raw.url = value;\n }\n\n get inputEnabled(): boolean {\n return this.raw.inputEnabled;\n }\n\n set inputEnabled(value: boolean) {\n this.raw.inputEnabled = value;\n }\n\n get orderId(): number {\n return this.raw.orderId;\n }\n\n set orderId(value: number) {\n this.raw.orderId = value;\n }\n\n destroy(): void {\n this.raw.destroy();\n }\n\n execute(code: string): void {\n this.raw.execute(code);\n }\n\n executeCached(code: string): void {\n this.raw.executeCached(code);\n }\n\n call(eventName: string, ...args: unknown[]): void {\n this.raw.call(eventName, ...args);\n }\n\n callProc(procName: string, ...args: unknown[]): Promise<unknown> {\n return this.raw.callProc(procName, ...args);\n }\n\n reload(ignoreCache: boolean): void {\n this.raw.reload(ignoreCache);\n }\n\n sendMouseMoveEvent(x: number, y: number): void {\n this.raw.sendMouseMoveEvent(x, y);\n }\n\n sendMouseClickEvent(x: number, y: number, button: number, isUp: boolean): void {\n this.raw.sendMouseClickEvent(x, y, button, isUp);\n }\n}\n","import type { ITextLabel } from \"../interfaces/ITextLabel\";\nimport type { RGBA } from \"../types\";\nimport { RageMpEntity } from \"./RageMpEntity\";\n\nexport class RageMpTextLabel extends RageMpEntity implements ITextLabel {\n get color(): RGBA {\n return this.raw.color;\n }\n\n set color(value: RGBA) {\n this.raw.color = value;\n }\n\n get drawDistance(): number {\n return this.raw.drawDistance;\n }\n\n set drawDistance(value: number) {\n this.raw.drawDistance = value;\n }\n\n get los(): boolean {\n return this.raw.los;\n }\n\n set los(value: boolean) {\n this.raw.los = value;\n }\n\n get text(): string {\n return this.raw.text;\n }\n\n set text(value: string) {\n this.raw.text = value;\n }\n}\n","import type { IMarker } from \"../interfaces/IMarker\";\nimport { RageMpEntity } from \"./RageMpEntity\";\n\nexport class RageMpMarker extends RageMpEntity implements IMarker {}\n","import type { IPickup } from \"../interfaces/IPickup\";\nimport { RageMpEntity } from \"./RageMpEntity\";\n\nexport class RageMpPickup extends RageMpEntity implements IPickup {}\n","import type { IEvents } from \"../interfaces/IEvents\";\n\nexport class RageMpEvents implements IEvents {\n add(eventNameOrEvents: string | Record<string, (...args: unknown[]) => void>, callback?: (...args: unknown[]) => void): void {\n if (typeof eventNameOrEvents === \"string\") {\n mp.events.add(eventNameOrEvents, callback!);\n } else {\n for (const [name, cb] of Object.entries(eventNameOrEvents)) {\n mp.events.add(name, cb);\n }\n }\n }\n\n remove(eventName: string, callback?: (...args: unknown[]) => void): void {\n mp.events.remove(eventName, callback);\n }\n\n call(eventName: string, ...args: unknown[]): void {\n mp.events.call(eventName, ...args);\n }\n\n callRemote(eventName: string, ...args: unknown[]): void {\n mp.events.callRemote(eventName, ...args);\n }\n\n callRemoteProc(procName: string, ...args: unknown[]): Promise<unknown> {\n return mp.events.callRemoteProc(procName, ...args);\n }\n\n callRemoteUnreliable(eventName: string, ...args: unknown[]): void {\n mp.events.callRemoteUnreliable(eventName, ...args);\n }\n\n addProc(procName: string, callback: (...args: unknown[]) => unknown): void {\n mp.events.addProc(procName, callback);\n }\n\n addDataHandler(key: string, callback: (entity: unknown, value: unknown, oldValue: unknown) => void): void {\n mp.events.addDataHandler(key, callback);\n }\n\n cancelPendingProc(procName: string): void {\n mp.events.cancelPendingProc(procName);\n }\n\n hasPendingProc(procName: string): boolean {\n return mp.events.hasPendingProc(procName);\n }\n}\n","import type { IGui, IGuiChat, IGuiCursor } from \"../interfaces/IGui\";\nimport type { Array2d } from \"../types\";\n\nclass RageMpGuiChat implements IGuiChat {\n get colors(): boolean {\n return mp.gui.chat.colors;\n }\n\n set colors(value: boolean) {\n mp.gui.chat.colors = value;\n }\n\n get safeMode(): boolean {\n return mp.gui.chat.safeMode;\n }\n\n set safeMode(value: boolean) {\n mp.gui.chat.safeMode = value;\n }\n\n activate(toggle: boolean): void {\n mp.gui.chat.activate(toggle);\n }\n\n push(text: string): void {\n mp.gui.chat.push(text);\n }\n\n show(toggle: boolean): void {\n mp.gui.chat.show(toggle);\n }\n}\n\nclass RageMpGuiCursor implements IGuiCursor {\n get position(): Array2d {\n return mp.gui.cursor.position;\n }\n\n set position(value: Array2d) {\n (mp.gui.cursor as any).position = value;\n }\n\n get visible(): boolean {\n return mp.gui.cursor.visible;\n }\n\n set visible(value: boolean) {\n mp.gui.cursor.visible = value;\n }\n\n show(freezeControls: boolean, toggle: boolean): void {\n mp.gui.cursor.show(freezeControls, toggle);\n }\n}\n\nexport class RageMpGui implements IGui {\n readonly chat: IGuiChat = new RageMpGuiChat();\n readonly cursor: IGuiCursor = new RageMpGuiCursor();\n\n get isGpuRenderingEnabled(): boolean {\n return mp.gui.isGpuRenderingEnabled;\n }\n\n takeScreenshot(name: string, type: number, quality: number, compressionQuality: number): void {\n mp.gui.takeScreenshot(name, type, quality, compressionQuality);\n }\n\n execute(code: string): void {\n mp.gui.execute(code);\n }\n}\n","import type { IKeys } from \"../interfaces/IKeys\";\n\nexport class RageMpKeys implements IKeys {\n bind(keyCode: number, keyHold: boolean, callback: () => void): void {\n mp.keys.bind(keyCode, keyHold, callback);\n }\n\n unbind(keyCode: number, keyHold: boolean, callback?: () => void): void {\n mp.keys.unbind(keyCode, keyHold, callback);\n }\n\n isUp(keyCode: number): boolean {\n return mp.keys.isUp(keyCode);\n }\n\n isDown(keyCode: number): boolean {\n return mp.keys.isDown(keyCode);\n }\n}\n","import type { IStorage } from \"../interfaces/IStorage\";\n\nexport class RageMpStorage implements IStorage {\n get data(): Record<string, unknown> {\n return mp.storage.data as Record<string, unknown>;\n }\n\n set data(value: Record<string, unknown>) {\n mp.storage.data = value;\n }\n\n get sessionData(): Record<string, unknown> {\n return mp.storage.sessionData as Record<string, unknown>;\n }\n\n set sessionData(value: Record<string, unknown>) {\n mp.storage.sessionData = value;\n }\n\n flush(): void {\n mp.storage.flush();\n }\n}\n","import type { IVoiceChat } from \"../interfaces/IVoiceChat\";\n\nexport class RageMpVoiceChat implements IVoiceChat {\n get isAllowed(): boolean {\n return mp.voiceChat.isAllowed;\n }\n\n get lastVad(): number {\n return mp.voiceChat.lastVad;\n }\n\n get muted(): boolean {\n return mp.voiceChat.muted;\n }\n\n set muted(value: boolean) {\n mp.voiceChat.muted = value;\n }\n\n get minVad(): number {\n return mp.voiceChat.minVad;\n }\n\n set minVad(value: number) {\n mp.voiceChat.minVad = value;\n }\n\n get advancedNoiseSuppression(): boolean {\n return mp.voiceChat.advancedNoiseSuppression;\n }\n\n set advancedNoiseSuppression(value: boolean) {\n mp.voiceChat.advancedNoiseSuppression = value;\n }\n\n get networkOptimisations(): boolean {\n return mp.voiceChat.networkOptimisations;\n }\n\n set networkOptimisations(value: boolean) {\n mp.voiceChat.networkOptimisations = value;\n }\n\n get bitrate(): number {\n return mp.voiceChat.bitrate;\n }\n\n set bitrate(value: number) {\n mp.voiceChat.bitrate = value;\n }\n\n get defaultVolume(): number {\n return mp.voiceChat.defaultVolume;\n }\n\n set defaultVolume(value: number) {\n mp.voiceChat.defaultVolume = value;\n }\n\n get gameOutputEnabled(): boolean {\n return mp.voiceChat.gameOutputEnabled;\n }\n\n set gameOutputEnabled(value: boolean) {\n mp.voiceChat.gameOutputEnabled = value;\n }\n\n get gameOutputCategory(): string {\n return mp.voiceChat.gameOutputCategory as unknown as string;\n }\n\n set gameOutputCategory(value: string) {\n mp.voiceChat.gameOutputCategory = value as unknown as number;\n }\n\n getPreprocessingParam(param: string): unknown {\n return mp.voiceChat.getPreprocessingParam(param as unknown as number);\n }\n\n setPreprocessingParam(param: string, value: unknown): void {\n mp.voiceChat.setPreprocessingParam(param as unknown as number, value);\n }\n\n cleanupAndReload(force: boolean, clearTemporary: boolean): void {\n mp.voiceChat.cleanupAndReload(force, clearTemporary, false);\n }\n}\n","import type { INametags } from \"../interfaces/INametags\";\nimport type { NametagsStyle } from \"../types\";\n\nexport class RageMpNametags implements INametags {\n get enabled(): boolean {\n return mp.nametags.enabled;\n }\n\n set enabled(value: boolean) {\n mp.nametags.enabled = value;\n }\n\n set(style: NametagsStyle): void {\n mp.nametags.set({\n ...style,\n veh_offset: style.vehOffset,\n } as any);\n }\n\n useScreen2dCoords(toggle: boolean): void {\n mp.nametags.useScreen2dCoords(toggle);\n }\n\n orderByDistance(toggle: boolean): void {\n mp.nametags.orderByDistance(toggle);\n }\n}\n","import type { IRaycasting } from \"../interfaces/IRaycasting\";\nimport type { RaycastResult, Vector3 } from \"../types\";\n\nexport class RageMpRaycasting implements IRaycasting {\n testPointToPoint(startPos: Vector3, endPos: Vector3, ignoreEntity: number, flags: number): RaycastResult {\n const result = mp.raycasting.testPointToPoint(\n new mp.Vector3(startPos.x, startPos.y, startPos.z),\n new mp.Vector3(endPos.x, endPos.y, endPos.z),\n ignoreEntity as unknown as EntityMp | undefined,\n flags,\n );\n return {\n entity: result.entity as unknown as number,\n position: { x: result.position.x, y: result.position.y, z: result.position.z },\n surfaceNormal: { x: result.surfaceNormal.x, y: result.surfaceNormal.y, z: result.surfaceNormal.z },\n };\n }\n\n async testPointToPointAsync(startPos: Vector3, endPos: Vector3, ignoreEntity: number, flags: number): Promise<RaycastResult> {\n const result = await mp.raycasting.testPointToPointAsync(\n new mp.Vector3(startPos.x, startPos.y, startPos.z),\n new mp.Vector3(endPos.x, endPos.y, endPos.z),\n ignoreEntity as unknown as EntityMp | undefined,\n flags,\n );\n return {\n entity: result.entity as unknown as number,\n position: { x: result.position.x, y: result.position.y, z: result.position.z },\n surfaceNormal: { x: result.surfaceNormal.x, y: result.surfaceNormal.y, z: result.surfaceNormal.z },\n };\n }\n\n testCapsule(startPos: Vector3, endPos: Vector3, radius: number, ignoreEntity: number, flags: number): RaycastResult {\n const result = mp.raycasting.testCapsule(\n new mp.Vector3(startPos.x, startPos.y, startPos.z),\n new mp.Vector3(endPos.x, endPos.y, endPos.z),\n radius,\n ignoreEntity as unknown as EntityMp | undefined,\n flags,\n );\n return {\n entity: result.entity as unknown as number,\n position: { x: result.position.x, y: result.position.y, z: result.position.z },\n surfaceNormal: { x: result.surfaceNormal.x, y: result.surfaceNormal.y, z: result.surfaceNormal.z },\n };\n }\n}\n","import type { IConsole } from \"../interfaces/IConsole\";\n\nexport class RageMpConsole implements IConsole {\n get verbosity(): number {\n return mp.console.verbosity as unknown as number;\n }\n\n set verbosity(value: number) {\n mp.console.verbosity = value as unknown as string;\n }\n\n logInfo(message: string): void {\n mp.console.logInfo(message);\n }\n\n logWarning(message: string): void {\n mp.console.logWarning(message);\n }\n\n logError(message: string): void {\n mp.console.logError(message);\n }\n\n logFatal(message: string): void {\n mp.console.logFatal(message);\n }\n\n clear(): void {\n mp.console.clear();\n }\n\n reset(): void {\n mp.console.reset();\n }\n}\n","import type { IDiscord } from \"../interfaces/IDiscord\";\n\nexport class RageMpDiscord implements IDiscord {\n update(details: string, state: string): void {\n mp.discord.update(details, state);\n }\n\n requestOAuth2(appId: string, scopes: string): Promise<string> {\n return mp.discord.requestOAuth2(appId);\n }\n}\n","import type { ISystem } from \"../interfaces/ISystem\";\nimport type { SystemNotifyArgs } from \"../types\";\n\nexport class RageMpSystem implements ISystem {\n get isFullscreen(): boolean {\n return mp.system.isFullscreen;\n }\n\n get isFocused(): boolean {\n return mp.system.isFocused;\n }\n\n notify(args: SystemNotifyArgs): void {\n mp.system.notify(args);\n }\n}\n","import type { IUser, IUserPreferences } from \"../interfaces/IUser\";\n\nclass RageMpUserPreferences implements IUserPreferences {\n get lowQualityAssets(): boolean {\n return mp.user.preferences.lowQualityAssets;\n }\n\n get language(): string {\n return mp.user.preferences.language;\n }\n\n get serverAddress(): string {\n return mp.user.preferences.serverAddress;\n }\n}\n\nexport class RageMpUser implements IUser {\n readonly preferences: IUserPreferences = new RageMpUserPreferences();\n}\n","import type { INativesBridge } from \"../interfaces/INativesBridge\";\n\nexport class RageMpNativesBridge implements INativesBridge {\n invoke(namespace: string, name: string, ...args: unknown[]): unknown {\n const ns = (mp.game as any)[namespace];\n if (!ns) {\n throw new Error(`Native namespace \"${namespace}\" not found`);\n }\n const fn = ns[name];\n if (typeof fn !== \"function\") {\n throw new Error(`Native \"${namespace}.${name}\" is not a function`);\n }\n return fn(...args);\n }\n}\n","import type { IEngine } from \"../interfaces/IEngine\";\nimport type { IEntityPool, ICreatableEntityPool } from \"../interfaces/IEntity\";\nimport type { IPlayer } from \"../interfaces/IPlayer\";\nimport type { IVehicle } from \"../interfaces/IVehicle\";\nimport type { IPed } from \"../interfaces/IPed\";\nimport type { IObject } from \"../interfaces/IObject\";\nimport type { IBlip } from \"../interfaces/IBlip\";\nimport type { ICheckpoint } from \"../interfaces/ICheckpoint\";\nimport type { IColshape } from \"../interfaces/IColshape\";\nimport type { ICamera } from \"../interfaces/ICamera\";\nimport type { IBrowser } from \"../interfaces/IBrowser\";\nimport type { ITextLabel } from \"../interfaces/ITextLabel\";\nimport type { IMarker } from \"../interfaces/IMarker\";\nimport type { IPickup } from \"../interfaces/IPickup\";\nimport type { IEvents } from \"../interfaces/IEvents\";\nimport type { IGui } from \"../interfaces/IGui\";\nimport type { IKeys } from \"../interfaces/IKeys\";\nimport type { IStorage } from \"../interfaces/IStorage\";\nimport type { IVoiceChat } from \"../interfaces/IVoiceChat\";\nimport type { INametags } from \"../interfaces/INametags\";\nimport type { IRaycasting } from \"../interfaces/IRaycasting\";\nimport type { IConsole } from \"../interfaces/IConsole\";\nimport type { IDiscord } from \"../interfaces/IDiscord\";\nimport type { ISystem } from \"../interfaces/ISystem\";\nimport type { IUser } from \"../interfaces/IUser\";\nimport type { INativesBridge } from \"../interfaces/INativesBridge\";\nimport type {\n BlipCreateOpts,\n BrowserCreateOpts,\n CameraCreateOpts,\n CheckpointCreateOpts,\n ColshapeCreateOpts,\n PedCreateOpts,\n TextLabelCreateOpts,\n} from \"../types\";\n\nimport { RageMpEntityPool, RageMpCreatablePool } from \"./RageMpEntityPool\";\nimport { RageMpPlayer } from \"./RageMpPlayer\";\nimport { RageMpVehicle } from \"./RageMpVehicle\";\nimport { RageMpPed } from \"./RageMpPed\";\nimport { RageMpObject } from \"./RageMpObject\";\nimport { RageMpBlip } from \"./RageMpBlip\";\nimport { RageMpCheckpoint } from \"./RageMpCheckpoint\";\nimport { RageMpColshape } from \"./RageMpColshape\";\nimport { RageMpCamera } from \"./RageMpCamera\";\nimport { RageMpBrowser } from \"./RageMpBrowser\";\nimport { RageMpTextLabel } from \"./RageMpTextLabel\";\nimport { RageMpMarker } from \"./RageMpMarker\";\nimport { RageMpPickup } from \"./RageMpPickup\";\nimport { RageMpEvents } from \"./RageMpEvents\";\nimport { RageMpGui } from \"./RageMpGui\";\nimport { RageMpKeys } from \"./RageMpKeys\";\nimport { RageMpStorage } from \"./RageMpStorage\";\nimport { RageMpVoiceChat } from \"./RageMpVoiceChat\";\nimport { RageMpNametags } from \"./RageMpNametags\";\nimport { RageMpRaycasting } from \"./RageMpRaycasting\";\nimport { RageMpConsole } from \"./RageMpConsole\";\nimport { RageMpDiscord } from \"./RageMpDiscord\";\nimport { RageMpSystem } from \"./RageMpSystem\";\nimport { RageMpUser } from \"./RageMpUser\";\nimport { RageMpNativesBridge } from \"./RageMpNativesBridge\";\n\nexport class RageMpEngine implements IEngine {\n readonly players: IEntityPool<IPlayer>;\n readonly vehicles: IEntityPool<IVehicle>;\n readonly peds: ICreatableEntityPool<IPed, PedCreateOpts>;\n readonly objects: IEntityPool<IObject>;\n readonly blips: ICreatableEntityPool<IBlip, BlipCreateOpts>;\n readonly checkpoints: ICreatableEntityPool<ICheckpoint, CheckpointCreateOpts>;\n readonly colshapes: ICreatableEntityPool<IColshape, ColshapeCreateOpts>;\n readonly cameras: ICreatableEntityPool<ICamera, CameraCreateOpts>;\n readonly browsers: ICreatableEntityPool<IBrowser, BrowserCreateOpts>;\n readonly labels: ICreatableEntityPool<ITextLabel, TextLabelCreateOpts>;\n readonly markers: IEntityPool<IMarker>;\n readonly pickups: IEntityPool<IPickup>;\n readonly events: IEvents;\n readonly gui: IGui;\n readonly keys: IKeys;\n readonly storage: IStorage;\n readonly voiceChat: IVoiceChat;\n readonly nametags: INametags;\n readonly raycasting: IRaycasting;\n readonly console: IConsole;\n readonly discord: IDiscord;\n readonly system: ISystem;\n readonly user: IUser;\n readonly natives: INativesBridge;\n\n private _localPlayer: RageMpPlayer | null = null;\n\n constructor() {\n this.players = new RageMpEntityPool(mp.players, (raw: any) => new RageMpPlayer(raw));\n this.vehicles = new RageMpEntityPool(mp.vehicles, (raw: any) => new RageMpVehicle(raw));\n this.objects = new RageMpEntityPool(mp.objects, (raw: any) => new RageMpObject(raw));\n this.markers = new RageMpEntityPool(mp.markers, (raw: any) => new RageMpMarker(raw));\n this.pickups = new RageMpEntityPool(mp.pickups, (raw: any) => new RageMpPickup(raw));\n\n this.peds = new RageMpCreatablePool(\n mp.peds,\n (raw: any) => new RageMpPed(raw),\n (opts: PedCreateOpts) =>\n mp.peds.new(\n opts.model,\n new mp.Vector3(opts.position.x, opts.position.y, opts.position.z),\n opts.heading,\n opts.dimension ?? 0,\n ),\n );\n\n this.blips = new RageMpCreatablePool(\n mp.blips,\n (raw: any) => new RageMpBlip(raw),\n (opts: BlipCreateOpts) =>\n mp.blips.new(\n opts.sprite,\n new mp.Vector3(opts.position.x, opts.position.y, opts.position.z),\n {\n name: opts.name,\n scale: opts.scale,\n color: opts.color,\n alpha: opts.alpha,\n drawDistance: opts.drawDistance,\n shortRange: opts.shortRange,\n rotation: opts.rotation,\n dimension: opts.dimension,\n },\n ),\n );\n\n this.checkpoints = new RageMpCreatablePool(\n mp.checkpoints,\n (raw: any) => new RageMpCheckpoint(raw),\n (opts: CheckpointCreateOpts) =>\n mp.checkpoints.new(\n opts.type,\n new mp.Vector3(opts.position.x, opts.position.y, opts.position.z),\n opts.radius,\n {\n direction: opts.direction ? new mp.Vector3(opts.direction.x, opts.direction.y, opts.direction.z) : undefined,\n color: opts.color ? [opts.color.r, opts.color.g, opts.color.b, opts.color.a] : undefined,\n visible: opts.visible,\n dimension: opts.dimension,\n },\n ),\n );\n\n this.colshapes = new RageMpCreatablePool(\n mp.colshapes,\n (raw: any) => new RageMpColshape(raw),\n (opts: ColshapeCreateOpts) => {\n switch (opts.shape) {\n case \"sphere\":\n return mp.colshapes.newSphere(opts.x, opts.y, opts.z, opts.radius!, opts.dimension);\n case \"tube\":\n return mp.colshapes.newTube(opts.x, opts.y, opts.z, opts.radius!, opts.height!, opts.dimension);\n case \"circle\":\n return mp.colshapes.newCircle(opts.x, opts.y, opts.radius!, opts.dimension);\n case \"cuboid\":\n return mp.colshapes.newCuboid(opts.x, opts.y, opts.z, opts.width!, opts.height!, opts.depth!, opts.dimension);\n case \"rectangle\":\n return mp.colshapes.newRectangle(opts.x, opts.y, opts.width!, opts.height!, opts.dimension);\n case \"polygon\":\n default:\n return mp.colshapes.newSphere(opts.x, opts.y, opts.z, opts.radius ?? 1, opts.dimension);\n }\n },\n );\n\n this.cameras = new RageMpCreatablePool(\n mp.cameras,\n (raw: any) => new RageMpCamera(raw),\n (opts: CameraCreateOpts) =>\n mp.cameras.new(\n opts.name,\n opts.position ? new mp.Vector3(opts.position.x, opts.position.y, opts.position.z) : undefined,\n opts.rotation ? new mp.Vector3(opts.rotation.x, opts.rotation.y, opts.rotation.z) : undefined,\n opts.fov,\n ),\n );\n\n this.browsers = new RageMpCreatablePool(\n mp.browsers,\n (raw: any) => new RageMpBrowser(raw),\n (opts: BrowserCreateOpts) => mp.browsers.new(opts.url),\n );\n\n this.labels = new RageMpCreatablePool(\n mp.labels,\n (raw: any) => new RageMpTextLabel(raw),\n (opts: TextLabelCreateOpts) =>\n mp.labels.new(\n opts.text,\n new mp.Vector3(opts.position.x, opts.position.y, opts.position.z),\n {\n font: opts.font,\n color: opts.color ? [opts.color.r, opts.color.g, opts.color.b, opts.color.a] : undefined,\n drawDistance: opts.drawDistance,\n los: opts.los,\n dimension: opts.dimension,\n },\n ),\n );\n\n this.events = new RageMpEvents();\n this.gui = new RageMpGui();\n this.keys = new RageMpKeys();\n this.storage = new RageMpStorage();\n this.voiceChat = new RageMpVoiceChat();\n this.nametags = new RageMpNametags();\n this.raycasting = new RageMpRaycasting();\n this.console = new RageMpConsole();\n this.discord = new RageMpDiscord();\n this.system = new RageMpSystem();\n this.user = new RageMpUser();\n this.natives = new RageMpNativesBridge();\n }\n\n get localPlayer(): IPlayer {\n if (!this._localPlayer) {\n this._localPlayer = new RageMpPlayer(mp.players.local);\n }\n return this._localPlayer;\n }\n}\n"]}