The prototype docs have moved to a new website with an improved format. This documentation page can now be found here: https://lua-api.factorio.com/latest/prototypes/GeneratorPrototype.html
This wiki page is no longer updated and will be removed at some point in the future, so please update your browser bookmarks or other links that sent you here. If you'd like to contribute to the new docs, you can leave your feedback on the forums.
An entity that produces power from fluids, for example a steam engine.
This prototype inherits all the properties from Prototype/EntityWithOwner.
Must be an electric energy source.
This must have a filter if
max_power_output is not defined.
How much energy the generator produces compared to how much energy it consumes. For example, an effectivity of 0.5 means that half of the consumed energy is output as power.
The number of fluid units the generator uses per tick.
Used to calculate the
max_power_output if it is not defined and
burns_fluid is false. Then, the max power output is
(min(fluid_max_temp, maximum_temperature) - fluid_default_temp) × fluid_usage_per_tick × fluid_heat_capacity × effectivity, the fluid is the filter specified on the
The maximum temperature to which the efficiency can increase. At this temperature the generator will run at 100% efficiency. Note: Higher temperature fluid can still be consumed.
Scales the generator's fluid usage to its maximum power output.
Setting this to true prevents the generator from overconsuming fluid, for example when higher than
maximum_temperature fluid is fed to the generator.
If scale_fluid_usage is false, the generator consumes the full
fluid_usage_per_tick and any of the extra energy in the fluid (in the form of higher temperature) is wasted. The steam engine exhibits this behavior when fed steam from heat exchangers.
This property is used when:
burns_fluidis true and the fluid has a fuel_value of 0
burns_fluidis false and the fluid is at default temperature
In these cases, this property determines whether the fluid should be destroyed, meaning that the fluid is consumed at the rate of
fluid_usage_per_tick, without producing any power.
Animation runs at least this fast. This corresponds to the sound.
The power production of the generator is capped to this value. This is also the value that is shown as the maximum power output in the tooltip of the generator.
fluid_box must have a filter if this is not defined.