Steam Locomotive
A steam-powered locomotive with cylinders, drivers, and a boiler.
- Kind:
SteamLocomotive - Extends: Car
Fields
Section titled “Fields”All Car fields are inherited, but a steam locomotive positions itself from
positionHead, positionTail, and wheelsets instead of length, truckSeparation, and the bolster insets.
truckSeparation, bolsterInsetFront, and bolsterInsetRear are unused here and hidden by the Definition
Editor. See Car Geometry. Additional fields:
length
float Read-only on a steam locomotive: computed as positionHead - positionTail. A value written here has no effect.
See Car Geometry.
mainDriverIndex
int Index of the main driver in the wheelsets list. Curve capability is measured from it; an index that doesn’t
resolve falls back to a generic default. See Car Geometry.
maximumBoilerPressure
float Maximum steam pressure (PSI).
pistonDiameterInches
float Cylinder bore (inches).
pistonStrokeInches
float Piston stroke (inches).
positionHead
float Front coupler pivot, in meters from the model origin, measured positive toward the front. See Car Geometry.
positionTail
float Rear coupler pivot, in meters from the model origin. length is derived as positionHead - positionTail. See
Car Geometry.
Tractive effort in pounds.
tenders
object = {} The tenders this locomotive can be paired with. Each key is the identifier of a
Car definition; each value is a pairing with a drawbarDistance, a
priority, and an optional builderPhoto.
drawbarDistance is the distance in meters between the two frames. 0 falls back to the standard
coupler separation, so a tender that’s dimensionally interchangeable with the stock one needs no
measurement.
priority orders the list, lowest first. The locomotive spawns with the first tender in that order
when nothing else picks one. A locomotive with no entries is a tank engine.
builderPhoto names the Texture definition holding a photo of the
locomotive coupled to that tender, shown on the purchase screen. A pairing without one falls back to
the locomotive’s own builderPhoto, so give the default pairing that field and let the rest override
it.
"tenders": { "rr/lt-462-p48": { "drawbarDistance": 0 }, "rr/lt-462-p48b": { "drawbarDistance": 0.35, "priority": -1, "builderPhoto": "./ls-462-p48--lt-462-p48b" }}The paired car’s carType must start with LT. Replaces the older single tenderIdentifier field.
totalHeatingSurface
float = 3000 Total heating surface area (sq ft).
weightOnDrivers
float Weight on driving wheels (pounds).
See Wheelset in Common Types for wheelset field details.
wheelsets
Wheelset[] = [] The wheels the locomotive rides on, authored front to rear. See Car Geometry for how offsets position the locomotive.
© 2026 Giraffe Lab LLC. All rights reserved.