From Official Factorio Wiki
Jump to navigation Jump to search

The prototype docs have moved to a new website with an improved format. This documentation page can now be found here:

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.

Prototype definitions » PrototypeBase » Prototype/Entity » Prototype/EntityWithHealth » Prototype/EntityWithOwner » Prototype/Generator

An entity that produces power from fluids, for example a steam engine.

Prototype/Generator — generator
burns_fluid::bool (optional)
destroy_non_fuel_fluid::bool (optional)
max_power_output::Energy (optional)
min_perceived_performance::double (optional)
performance_to_sound_speedup::double (optional)
scale_fluid_usage::bool (optional)
smoke::table of SmokeSource (optional)
Inherited from Prototype/EntityWithOwner
allow_run_time_change_of_is_military_target::bool (optional)
is_military_target::bool (optional)
Inherited from Prototype/EntityWithHealth
alert_when_damaged::bool (optional)
attack_reaction::AttackReaction (optional)
corpse::string or table of strings (optional)
create_ghost_on_death::bool (optional)
damaged_trigger_effect::TriggerEffect (optional)
dying_explosion::ExplosionDefinition or table of ExplosionDefinition (optional)
dying_trigger_effect::TriggerEffect (optional)
healing_per_tick::float (optional)
hide_resistances::bool (optional)
integration_patch::Sprite4Way (optional)
integration_patch_render_layer::RenderLayer (optional)
loot::Loot (optional)
max_health::float (optional)
random_corpse_variation::bool (optional)
repair_sound::Sound (optional)
repair_speed_modifier::float (optional)
resistances::Resistances (optional)
Inherited from Prototype/Entity
icons, icon, icon_size (IconSpecification)::IconSpecification
additional_pastable_entities::table of string (optional)
alert_icon_scale::float (optional)
alert_icon_shift::vector (optional)
allow_copy_paste::bool (optional)
autoplace::AutoplaceSpecification (optional)
build_base_evolution_requirement::double (optional)
build_grid_size::uint8 (optional)
build_sound::Sound (optional)
close_sound::Sound (optional)
collision_box::BoundingBox (optional)
collision_mask::CollisionMask (optional)
created_effect::Trigger (optional)
created_smoke::CreateTrivialSmokeEffectItem (optional)
drawing_box::BoundingBox (optional)
emissions_per_second::double (optional)
enemy_map_color::Color (optional)
fast_replaceable_group::string (optional)
flags::EntityPrototypeFlags (optional)
friendly_map_color::Color (optional)
hit_visualization_box::BoundingBox (optional)
map_color::Color (optional)
map_generator_bounding_box::BoundingBox (optional)
minable::MinableProperties (optional)
mined_sound::Sound (optional)
mining_sound::Sound (optional)
next_upgrade::string (optional)
open_sound::Sound (optional)
placeable_by::ItemToPlace or table of ItemToPlace (optional)
protected_from_tile_building::bool (optional)
radius_visualisation_specification::RadiusVisualisationSpecification (optional)
remains_when_mined::string or table of string (optional)
remove_decoratives::string (optional)
rotated_sound::Sound (optional)
selectable_in_game::bool (optional)
selection_box::BoundingBox (optional)
selection_priority::uint8 (optional)
shooting_cursor_size::double (optional)
sticker_box::BoundingBox (optional)
subgroup::string (optional)
tile_height::uint32 (optional)
tile_width::uint32 (optional)
trigger_target_mask::TriggerTargetMask (optional)
vehicle_impact_sound::Sound (optional)
water_reflection::WaterReflectionDefinition (optional)
working_sound::WorkingSound (optional)
Inherited from PrototypeBase
localised_description::LocalisedString (optional)
localised_name::LocalisedString (optional)
order::Order (optional)

Mandatory properties

This prototype inherits all the properties from Prototype/EntityWithOwner.


Type: EnergySource
Must be an electric energy source.


Type: FluidBox
This must have a filter if max_power_output is not defined.


Type: Animation


Type: Animation


Type: double
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.


Type: double
The number of fluid units the generator uses per tick.


Type: double
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 fluid_box.

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.

Optional properties


Type: table of SmokeSource
Array of 1 or more smoke sources.


Type: bool
Default: false
If set to true, the available power output is based on the fuel_value of the fluid. Otherwise, the available power output will be based on the fluid temperature.


Type: bool
Default: false
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.


Type: bool
Default: true
This property is used when:

  • burns_fluid is true and the fluid has a fuel_value of 0
  • or burns_fluid is 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.


Type: double
Default: 0.25
Animation runs at least this fast. This corresponds to the sound.


Type: double
Default: 0.5


Type: Energy
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.