Auto-generated native function bindings with class-based API
npm install @nativewrappers/redm-codegenAuto-generated native function bindings with class-based API.
``bash`
npm install @nativewrappers/redm-codegen
`typescript
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();
`
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
Wrap entity references for task-related natives:
- PedTask - Ped task operationsVehicleTask
- - Vehicle task operations
Wrap hash values for model/streaming natives:
- BaseModel - Base model classPedModel
- - Ped model operationsVehicleModel
- - Vehicle model operationsWeaponModel
- - Weapon model operations
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...
Methods are automatically converted to TypeScript property accessors:
`typescript
// Instead of: ped.getHealth()
const health = ped.Health;
// Instead of: ped.setHealth(100)
ped.Health = 100;
`
Setter methods return this for fluent API:
`typescript`
ped.setHealth(100)
.setArmor(50)
.setVisible(true)
.setInvincible(false);
Full TypeScript types with documented parameters:
`typescript
// Enums for type-safe parameters
ped.giveWeapon(eWeaponHash.WEAPON_REVOLVER_CATTLEMAN, 100, true);
// Nullable returns handled
const vehicle = ped.CurrentVehicle; // Vehicle | null
``