Energy Storage

This feature is supported as of BeamNG.tech and .drive version 0.8.0 to latest.

Energy storage is used to identify a tank of fuel, a set of batteries, a tank of nitrous, or a truck air tank.

Required arguments

string
type
The type of energy stored
The available options are “fuelTank”, “n2oTank”" and “electricBattery”. Each of those has unique parameters shown below.
string
type
The name of the energy storage
In case of a vehicle with multiple fuel tanks, each name must be unique.

Fuel Tank

string or array
type
The name(s) of the beam(s) which will cause the tank to leak when broken.
A leaking fuel tank will lose fuel rapidly.
string
type
Presets for energy density and weight density.
The values with predefined energy density and weight density are “gasoline”, “diesel” and “kerosene”. When using any other value, you need to add the energyDensity and fuelLiquidDensity properties.
number
type
energyType.energyDensity or 0
default
Override for the energy density of the fuel (J/kg)
Used mostly when using a type of fuel which isn’t listed. Shouldn’t be used otherwise.
number
type
energyType.fuelLiquidDensity or 0
default
Override for the weight density of the fuel (kg/L)
Used mostly when using a type of fuel which isn’t listed. Shouldn’t be used otherwise.
dictionary
type
Identifies the set of nodes that represent this fuel tank.

Used for fuel weight simulations.

All of the nodes in this group will gain equal amounts extra weight, totalling to the weight of the fuel in the tank.

"fuel": {"[engineGroup]:":["fuel"]},
number
type
0
default
Volume capacity of the fuel tank (L)
number
type
fuelCapacity
default
Initial volume of fuel in the tank (L)
This is usually tied to a variable .

N2O Tank

The N2O tank is used along with the nitrous power adder.

string
type
The name of the beam which will cause the tank to leak when broken.
number
type
41.500.000 / 5
default
Override for the energy density of the fuel (J/kg)
Default value takes into account a 1:5 N2O to fuel ratio. Shouldn’t be changed for most gasoline cars.
number
type
0
default
Volume capacity of the fuel tank (kg)
number
type
capacity
default
Initial volume of nitrous in the tank (kg)

Electric Battery

Electric battery refers to the main power battery of electric cars.

number
type
0
default
Battery capacity at full charge (kWh)
number
type
batteryCapacity
default
Initial charge of the battery (kWh)

Pressure Tank

Pressure tank is used along with the air compressor and other pneumatic systems. It stores compressed air on semi trucks and other large vehicles which is used in pneumatic brake systems among other things.

string or array
type
The name(s) of the beam(s) which will cause the tank to rupture when broken.
A ruptured pressure tank will lose pressure instantly.
string
type
The name of the deformGroup which will cause the tank to leak when deformed.
A leaking pressure tank will lose pressure slowly. Deforming the beams more will increase the leak rate.
string
type
air
default
Presets for weight density.
Not recommended to be changed.
number
type
28.9647
default
Overwrites the molar mass from energyType.
Default value = air molar mass. Not recommended to be changed.
number
type
0
default
Volume capacity of the pressure tank (m^3)
number
type
0
default
Initial gas pressure in the tank (Pa)
Internally, ambient air pressure is added to this. Ambient air pressure in BeamNG changes with the altitude. It is around 100kPa on official maps, but on some mods with tall mountains it can drop to around 80kPa.
number
type
1000000
default
Maximum gas pressure in the tank (Pa)
Ambient air pressure is NOT removed from the equation. When designing air tanks with very low maximum pressure rating, make sure that startingPressure + current ambient pressure is lower than maxPressure value.
boolean
type
false
default
Whether the tank is a primary pressure supply for the vehicle
Should be set to true if the vehicle has its own engine and air compressor, otherwise false. In practice, set to true for trucks, false for trailers.
boolean
type
false
default
Displays pressure on a debug UI app
Remember to set to false after debugging, this is performance intensive!

Examples

Typical fuel tank. Note the variable used for the starting fuel capacity

"energyStorage": [
        ["type", "name"],
        ["fuelTank", "mainTank"],
],
"mainTank": {
        "energyType":"gasoline",
        "fuelCapacity": 45,
        "startingFuelCapacity": "$fuel",
        "fuel": {"[engineGroup]:":["fuel"]},
        "breakTriggerBeam": "fuelTank",
},

10 pound nitrous bottle

"energyStorage": [
        ["type", "name"],
        ["n2oTank", "mainBottle"],
],
"mainBottle": {
        "capacity": 4.54,
        "startingCapacity": 4.54,
},

50 kWh battery

"energyStorage": [
        ["type", "name"],
        ["electricBattery", "mainBattery"],
],
"mainBattery": {
        "energyType":"electricEnergy",
        "batteryCapacity": 50,
        "startingCapacity": "$fuel",
},

50L air tank

"energyStorage": [
        ["type", "name"],
        ["pressureTank", "mainAirTank"],
],
"mainAirTank": {
        "capacity": 0.050,
        "startingPressure": "$=$startAir*6895",
        "pneumaticPTOConsumerCouplerNodeNames":["fwk2","pintle"]
        "isPrimarySupply":true
        "breakTriggerBeam": ["airTankR","airTankL"],
        "tankDamageDeformGroup":"airtank_damage"
},
Last modified: October 19, 2026

Any further questions?

Join our discord
Our documentation is currently incomplete and undergoing active development. If you have any questions or feedback, please visit this forum thread.