@nativewrappers/redm-codegen
v0.0.10
Published
Auto-generated native function bindings with class-based API
Readme
@nativewrappers/redm-codegen
Auto-generated native function bindings with class-based API.
Installation
npm install @nativewrappers/redm-codegenUsage
import { Entity, Ped, Vehicle, World } from '@nativewrappers/redm-codegen';
// Use handle classes
const ped = new Ped(playerPedId);
const coords = ped.Coords;
const vehicle = ped.CurrentVehicle;
// Method chaining with setters
ped.setHealth(100).setArmor(50).setVisible(true);
// Use namespace utilities
const weather = World.getWeatherTypeTransition();API
Handle Classes
Classes that wrap game entity handles:
Entity- Base class for all game entitiesPed- Pedestrian/character entitiesVehicle- Vehicle entitiesProp- Prop/object entitiesPlayer- Player-specific functionsPickup- Pickup entitiesCam- Camera controlInterior- Interior managementAnimScene- Animation scenesItemSet- Item set managementPersChar- Persistent charactersPropSet- Prop setsVolume- Volume management
Task Classes
Wrap entity references for task-related natives:
PedTask- Ped task operationsVehicleTask- Vehicle task operations
Model Classes
Wrap hash values for model/streaming natives:
BaseModel- Base model classPedModel- Ped model operationsVehicleModel- Vehicle model operationsWeaponModel- Weapon model operations
Namespace Utilities
Static classes for natives that don't operate on handles:
World- Weather, time, world stateStreaming- Asset loading/unloadingGraphics- Drawing, particles, effectsAudio- Sound playbackHud- UI elementsNetwork- Multiplayer functions- And more...
Features
Getters/Setters
Methods are automatically converted to TypeScript property accessors:
// Instead of: ped.getHealth()
const health = ped.Health;
// Instead of: ped.setHealth(100)
ped.Health = 100;Method Chaining
Setter methods return this for fluent API:
ped.setHealth(100)
.setArmor(50)
.setVisible(true)
.setInvincible(false);Type Safety
Full TypeScript types with documented parameters:
// Enums for type-safe parameters
ped.giveWeapon(eWeaponHash.WEAPON_REVOLVER_CATTLEMAN, 100, true);
// Nullable returns handled
const vehicle = ped.CurrentVehicle; // Vehicle | null