RLS Studios
ProjectsPatreonCommunityDocsAbout
Join Patreon
BeamNG Modding Docs

Guides

Reference

AI Module ReferenceBackwards Compatibility Module ReferenceBdebug Module ReferenceBdebugImpl Module ReferenceBeamstate Module ReferenceBullettime Module ReferenceController Module ReferenceDamageTracker Module ReferenceDrivetrain Module ReferenceElectrics Module ReferenceElectrics Custom Value ParserEnergyStorage Module ReferenceExtensions Module ReferenceFire Module ReferenceVehicle Engine True GlobalsGuihooks Module ReferenceGUI Streams Module ReferenceHTML Texture Module ReferenceHydros Module ReferenceInput Module ReferenceJBeam-Lua Integration GuideMapmgr Module ReferenceMaterial Module ReferenceBeamNG Math & Unit Conversions Referenceobj (Vehicle C++ Object)PartCondition Module ReferenceParticlefilter Module ReferenceParticles Module ReferencePowertrain Module ReferenceVehicle Property & Module TreeProps Module ReferenceProtocols Module ReferenceRecovery Module ReferenceScriptAI Module ReferenceSensors Module ReferenceSounds Module ReferenceStreams Module ReferenceThrusters Module Reference`v` (Vehicle Data & JBeam)Wheels Module Reference
Automatic GearboxCentrifugal ClutchCombustion EngineCombustion Engine ThermalsCompressorCVT GearboxDCT GearboxDifferentialElectric MotorElectric ServoElectric WinchPowertrain Components OverviewFriction ClutchGeneric Torque ProviderHydraulic AccumulatorHydraulic CylinderHydraulic PumpHydraulic WinchLinear ActuatorManual GearboxMulti-ShaftNitrous Oxide InjectionPowertrain Base DeviceRange BoxSequential GearboxShaftSplit ShaftSuperchargerTorque ConverterTorsion ReactorTurbochargerViscous Clutch

UI

Resources

BeamNG Game Engine Lua Cheat SheetGE Developer RecipesMCP Server Setup

// RLS.STUDIOS=true

Premium Mods for BeamNG.drive. Career systems, custom vehicles, and immersive gameplay experiences.

Index

HomeProjectsPatreon

Socials

DiscordPatreon (RLS)Patreon (Vehicles)

© 2026 RLS Studios. All rights reserved.

Modding since 2024

API Referencevepowertrain

Combustion Engine

Internal combustion engine device with torque curves, starter motor, ignition control, and rev limiters. The primary power source for most vehicles in BeamNG.

Internal combustion engine device with torque curves, starter motor, ignition control, and rev limiters. The primary power source for most vehicles in BeamNG. Supports sub-modules for thermals, turbocharging, supercharging, and nitrous injection.


Inherited Methods

This device inherits all methods and properties from the Powertrain Base Device, such as :lockUp() and :disable().

Common Properties

PropertyTypeDescription
device.outputAV1numberCurrent angular velocity of the crankshaft in rad/s. Convert: RPM = outputAV1 * 9.549
device.engineLoadnumberCurrent engine load (0.0 to 1.0).
device.isStalledbooleanWhether the engine is currently stalled.
device.isBrokenbooleanWhether the engine has suffered catastrophic failure.
device.isDisabledbooleanWhether the engine is disabled (e.g., out of fuel).
device.combustionTorquenumberTorque from combustion alone (before friction and inertia).
device.outputTorqueStatenumberMaster multiplier for final torque output (0.0 to 1.0+). Ideal for restrictors or power maps.
device.torqueCurvetableBase torque curve data. Modify in onInit for permanent power changes.

Related Sub-Modules

Sub-ModuleAccessReference
Thermalsdevice.thermalsCombustion Engine Thermals
Turbochargerdevice.turbochargerTurbocharger (if present)
Nitrousdevice.nitrousOxideNitrous Oxide Injection (if present)

Unit Conversions

  • RPM to rad/s: val * 0.104719755
  • rad/s to RPM: val * 9.549296596

Instance Methods

MethodSignatureDescription
activateStarterdevice:activateStarter()Engages the engine starter motor.
setIgnitiondevice:setIgnition(value)Sets ignition state. value: 0 = Off, 1 = On.
cutIgnitiondevice:cutIgnition(duration)Momentarily cuts ignition for duration seconds.
lockUpdevice:lockUp()Forcefully locks the engine (catastrophic failure).
setTempRevLimiterdevice:setTempRevLimiter(av, overshoot?)Sets a temporary RPM limiter. av in rad/s.
getTorqueDatadevice:getTorqueData() → tableReturns torque and power curve data for UI visualization.

Constructor

FunctionSignatureDescription
new(jbeamData) → deviceCreates a new combustion engine device from JBeam configuration data.

Usage Example

-- Get the engine device
local eng = powertrain.getDevice("mainEngine")

-- Start the engine
eng:setIgnition(1)
eng:activateStarter()

-- Read RPM
local rpm = eng.outputAV1 * 9.549

-- Momentary ignition cut for anti-lag effect
eng:cutIgnition(0.1)

-- Set a temporary rev limiter at 5000 RPM
eng:setTempRevLimiter(5000 * 0.1047, 100)

-- Get torque curve data for UI
local data = eng:getTorqueData()

Architectural Tip: Override getTorqueData() to make dynamic power modifications visible in UI graphs. See the Modding Guide for a full example.

See Also

  • Combustion Engine Thermals — Temperature and overheat simulation
  • Turbocharger — Exhaust-driven forced induction
  • Supercharger — Engine-driven forced induction
  • Nitrous Oxide Injection — Chemical boost
  • Powertrain Base Device — Inherited base methods

Centrifugal Clutch

Clutch that engages automatically based on rotational speed using centrifugal force. Commonly used in go-karts, mopeds, and small utility vehicles.

Combustion Engine Thermals

Advanced thermal simulation for combustion engines. Models coolant, oil, cylinder wall, and exhaust temperatures with realistic heat transfer, overheat damage, and component failure mechanics.

On this page

Inherited MethodsCommon PropertiesRelated Sub-ModulesUnit ConversionsInstance MethodsConstructorUsage ExampleSee Also