Factorio Prototype DocsVersion 2.0.19

GeneratorPrototype 'generator' changed

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

Inherits from EntityWithOwnerPrototype « EntityWithHealthPrototype « EntityPrototype « Prototype « PrototypeBase

Properties

energy_source :: ElectricEnergySource
fluid_box :: FluidBox

This must have a filter if max_power_output is not defined.

This must have a filter if max_power_output is not defined.

horizontal_animation optional :: Animation
vertical_animation optional :: Animation
horizontal_frozen_patchnew optional :: Sprite
vertical_frozen_patchnew optional :: Sprite
effectivity optional :: double

How much energy the generator produces compared to how much energy it consumes. [...]

How much energy the generator produces compared to how much energy it consumes. [...]

fluid_usage_per_tickchanged :: FluidAmount

The number of fluid units the generator uses per tick.

The number of fluid units the generator uses per tick.

maximum_temperaturechanged :: float

The maximum temperature to which the efficiency can increase. [...]

The maximum temperature to which the efficiency can increase. [...]

smoke optional :: array[SmokeSource]
burns_fluid optional :: bool

If set to true, the available power output is based on the FluidPrototype::fuel_value. [...]

If set to true, the available power output is based on the FluidPrototype::fuel_value. [...]

scale_fluid_usage optional :: bool

Scales the generator's fluid usage to its maximum power output. [...]

Scales the generator's fluid usage to its maximum power output. [...]

destroy_non_fuel_fluid optional :: bool

This property is used when burns_fluid is true and the fluid has a fuel_value of 0. [...]

This property is used when burns_fluid is true and the fluid has a fuel_value of 0. [...]

perceived_performancenew optional :: PerceivedPerformance

Affects animation speed.

Affects animation speed.

max_power_output optional :: Energy

The power production of the generator is capped to this value. [...]

The power production of the generator is capped to this value. [...]

Inherited from EntityWithOwnerPrototype
is_military_target optional :: bool

Whether this prototype should be a high priority target for enemy forces. [...]

Whether this prototype should be a high priority target for enemy forces. [...]

allow_run_time_change_of_is_military_target optional :: bool

If this is true, this entity's is_military_target property can be changed during runtime (on the entity, not on the prototype itself).

If this is true, this entity's is_military_target property can be changed during runtime (on the entity, not on the prototype itself).

quality_indicator_scalenew optional :: double

The default scale is based on the tile distance of the shorter dimension. [...]

The default scale is based on the tile distance of the shorter dimension. [...]

max_health optional :: float

The unit health can never go over the maximum. [...]

The unit health can never go over the maximum. [...]

healing_per_tick optional :: float

The amount of health automatically regenerated per tick. [...]

The amount of health automatically regenerated per tick. [...]

repair_speed_modifier optional :: float

Multiplier of RepairToolPrototype::speed for this entity prototype.

Multiplier of RepairToolPrototype::speed for this entity prototype.

dying_explosion optional :: ExplosionDefinition or array[ExplosionDefinition]

The entities that are spawned in place of this one when it dies.

The entities that are spawned in place of this one when it dies.

dying_trigger_effect optional :: TriggerEffect
damaged_trigger_effect optional :: TriggerEffect
loot optional :: array[LootItem]

The loot is dropped on the ground when the entity is killed.

The loot is dropped on the ground when the entity is killed.

resistances optional :: array[Resistance]

See damage.

See damage.

attack_reaction optional :: AttackReactionItem or array[AttackReactionItem]
repair_sound optional :: Sound

Played when this entity is repaired with a RepairToolPrototype.

Played when this entity is repaired with a RepairToolPrototype.

alert_when_damaged optional :: bool
hide_resistances optional :: bool

Whether the resistances of this entity should be hidden in the entity tooltip.

Whether the resistances of this entity should be hidden in the entity tooltip.

create_ghost_on_death optional :: bool
random_corpse_variation optional :: bool
integration_patch_render_layer optional :: RenderLayer

May also be defined inside graphics_set instead of directly in the entity prototype. [...]

May also be defined inside graphics_set instead of directly in the entity prototype. [...]

corpse optional :: EntityID or array[EntityID]

Specifies the names of the CorpsePrototype to be used when this entity dies.

Specifies the names of the CorpsePrototype to be used when this entity dies.

integration_patch optional :: Sprite4Way

May also be defined inside graphics_set instead of directly in the entity prototype. [...]

May also be defined inside graphics_set instead of directly in the entity prototype. [...]

overkill_fractionnew optional :: float

Fraction of health by which predicted damage must be exceeded before entity is considered as "predicted to die" causing turrets (and others) to stop shooting more projectiles. [...]

Fraction of health by which predicted damage must be exceeded before entity is considered as "predicted to die" causing turrets (and others) to stop shooting more projectiles. [...]

Inherited from EntityPrototype
icons optional :: array[IconData]

This will be used in the electric network statistics, editor building selection, and the bonus gui. [...]

This will be used in the electric network statistics, editor building selection, and the bonus gui. [...]

icon optional :: FileName

Path to the icon file. [...]

Path to the icon file. [...]

icon_size optional :: SpriteSizeType

The size of the square icon, in pixels. [...]

The size of the square icon, in pixels. [...]

collision_box optional :: BoundingBox

Specification of the entity collision boundaries. [...]

Specification of the entity collision boundaries. [...]

collision_maskchanged optional :: CollisionMaskConnector

Defaults to the mask from UtilityConstants::default_collision_masks when indexed by the entity type.

Defaults to the mask from UtilityConstants::default_collision_masks when indexed by the entity type.

map_generator_bounding_box optional :: BoundingBox

Used instead of the collision box during map generation. [...]

Used instead of the collision box during map generation. [...]

selection_box optional :: BoundingBox

Specification of the entity selection area. [...]

Specification of the entity selection area. [...]

drawing_box_vertical_extensionnew optional :: double

Specification of extra vertical space needed to see the whole entity in GUIs. [...]

Specification of extra vertical space needed to see the whole entity in GUIs. [...]

sticker_box optional :: BoundingBox

Used to set the area of the entity that can have stickers on it, currently only used for units to specify the area where the green slow down stickers can appear.

Used to set the area of the entity that can have stickers on it, currently only used for units to specify the area where the green slow down stickers can appear.

hit_visualization_box optional :: BoundingBox

Where beams should hit the entity. [...]

Where beams should hit the entity. [...]

trigger_target_mask optional :: TriggerTargetMask
flags optional :: EntityPrototypeFlags
tile_buildability_rulesnew optional :: array[TileBuildabilityRule]
minable optional :: MinableProperties

The item given to the player when they mine the entity and other properties relevant to mining this entity.

The item given to the player when they mine the entity and other properties relevant to mining this entity.

surface_conditionsnew optional :: array[SurfaceCondition]
deconstruction_alternativenew optional :: EntityID

Used to merge multiple entities into one entry in the deconstruction planner.

Used to merge multiple entities into one entry in the deconstruction planner.

selection_priority optional :: uint8

The entity with the higher number is selectable before the entity with the lower number.

The entity with the higher number is selectable before the entity with the lower number.

build_grid_size optional :: uint8

Supported values are 1 (for 1x1 grid) and 2 (for 2x2 grid, like rails). [...]

Supported values are 1 (for 1x1 grid) and 2 (for 2x2 grid, like rails). [...]

remove_decorativeschanged optional :: "automatic" or "true" or "false"

Whether this entity should remove decoratives that collide with it when this entity is built. [...]

Whether this entity should remove decoratives that collide with it when this entity is built. [...]

emissions_per_secondchanged optional :: dictionary[AirbornePollutantID → double]

Amount of emissions created (positive number) or cleaned (negative number) every second by the entity. [...]

Amount of emissions created (positive number) or cleaned (negative number) every second by the entity. [...]

shooting_cursor_sizechanged optional :: double

The cursor size used when shooting at this entity.

The cursor size used when shooting at this entity.

created_smoke optional :: CreateTrivialSmokeEffectItem

The smoke that is shown when the entity is placed.

The smoke that is shown when the entity is placed.

working_sound optional :: WorkingSound

Will also work on entities that don't actually do work.

Will also work on entities that don't actually do work.

created_effect optional :: Trigger

The effect/trigger that happens when the entity is placed.

The effect/trigger that happens when the entity is placed.

build_sound optional :: Sound
mined_sound optional :: Sound
mining_sound optional :: Sound
rotated_sound optional :: Sound
impact_categorynew optional :: string

Name of a ImpactCategory.

Name of a ImpactCategory.

open_sound optional :: Sound
close_sound optional :: Sound
placeable_position_visualizationnew optional :: Sprite
radius_visualisation_specification optional :: RadiusVisualisationSpecification
stateless_visualisationnew optional :: StatelessVisualisations
build_base_evolution_requirement optional :: double
alert_icon_shift optional :: Vector
alert_icon_scale optional :: float
fast_replaceable_group optional :: string

This allows you to replace an entity that's already placed, with a different one in your inventory. [...]

This allows you to replace an entity that's already placed, with a different one in your inventory. [...]

next_upgrade optional :: EntityID

Name of the entity that will be automatically selected as the upgrade of this entity when using the upgrade planner without configuration. [...]

Name of the entity that will be automatically selected as the upgrade of this entity when using the upgrade planner without configuration. [...]

protected_from_tile_building optional :: bool

When this is true, this entity prototype should be included during tile collision checks with tiles that have TilePrototype::check_collision_with_entities set to true.

When this is true, this entity prototype should be included during tile collision checks with tiles that have TilePrototype::check_collision_with_entities set to true.

heating_energynew optional :: Energy
allow_copy_paste optional :: bool
selectable_in_game optional :: bool
placeable_by optional :: ItemToPlace or array[ItemToPlace]

Item that when placed creates this entity. [...]

Item that when placed creates this entity. [...]

remains_when_mined optional :: EntityID or array[EntityID]

The entity that remains when this one is mined, deconstructed or fast-replaced. [...]

The entity that remains when this one is mined, deconstructed or fast-replaced. [...]

additional_pastable_entities optional :: array[EntityID]

Names of the entity prototypes this entity prototype can be pasted on to in addition to the standard supported types. [...]

Names of the entity prototypes this entity prototype can be pasted on to in addition to the standard supported types. [...]

tile_widthchanged optional :: int32

Used to determine how the center of the entity should be positioned when building (unless the off-grid flag is specified). [...]

Used to determine how the center of the entity should be positioned when building (unless the off-grid flag is specified). [...]

tile_heightchanged optional :: int32
diagonal_tile_grid_sizenew optional :: TilePosition
autoplace optional :: AutoplaceSpecification

Used to specify the rules for placing this entity during map generation.

Used to specify the rules for placing this entity during map generation.

map_color optional :: Color
friendly_map_color optional :: Color
enemy_map_color optional :: Color
water_reflection optional :: WaterReflectionDefinition

May also be defined inside graphics_set instead of directly in the entity prototype. [...]

May also be defined inside graphics_set instead of directly in the entity prototype. [...]

ambient_sounds_groupnew optional :: EntityID
ambient_soundsnew optional :: WorldAmbientSoundDefinition or array[WorldAmbientSoundDefinition]
icon_draw_specificationnew optional :: IconDrawSpecification

Used to specify where and how should be the alt-mode icons of entities should be drawn.

Used to specify where and how should be the alt-mode icons of entities should be drawn.

icons_positioningnew optional :: array[IconSequencePositioning]

Inherited from Prototype
factoriopedia_alternative optional :: string

The ID type corresponding to the prototype that inherits from this. [...]

The ID type corresponding to the prototype that inherits from this. [...]

Inherited from PrototypeBase
type :: string

Specifies the kind of prototype this is. [...]

Specifies the kind of prototype this is. [...]

name :: string

Unique textual identification of the prototype. [...]

Unique textual identification of the prototype. [...]

order optional :: Order

Used to order prototypes in inventory, recipes and GUIs. [...]

Used to order prototypes in inventory, recipes and GUIs. [...]

localised_name optional :: LocalisedString

Overwrites the name set in the locale file. [...]

Overwrites the name set in the locale file. [...]

localised_description optional :: LocalisedString

Overwrites the description set in the locale file. [...]

Overwrites the description set in the locale file. [...]

factoriopedia_descriptionnew optional :: LocalisedString

Provides additional description used in factoriopedia.

Provides additional description used in factoriopedia.

subgroupnew optional :: ItemSubGroupID

The name of an ItemSubGroup.

The name of an ItemSubGroup.

hiddennew optional :: bool
hidden_in_factoriopedianew optional :: bool
parameternew optional :: bool

Whether the prototype is a special type which can be used to parametrize blueprints and doesn't have other function.

Whether the prototype is a special type which can be used to parametrize blueprints and doesn't have other function.

factoriopedia_simulationnew optional :: SimulationDefinition

The simulation shown when looking at this prototype in the Factoriopedia GUI.

The simulation shown when looking at this prototype in the Factoriopedia GUI.

Properties

energy_source :: ElectricEnergySource

fluid_box :: FluidBox

This must have a filter if max_power_output is not defined.

horizontal_animation :: Animation optional

vertical_animation :: Animation optional

horizontal_frozen_patch :: Sprite optional new

vertical_frozen_patch :: Sprite optional new

effectivity :: double optional

Default: 1

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.

fluid_usage_per_tick :: FluidAmountchanged

The number of fluid units the generator uses per tick.

maximum_temperature :: floatchanged

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.

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.

smoke :: array[SmokeSource] optional

burns_fluid :: bool optional

Default: false

If set to true, the available power output is based on the FluidPrototype::fuel_value. Otherwise, the available power output will be based on the fluid temperature.

scale_fluid_usage :: bool optional

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 thanmaximum_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.

destroy_non_fuel_fluid :: bool optional

Default: true

This property is used when burns_fluid is true and the fluid has a fuel_value of 0.

This property is also used when 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.

perceived_performance :: PerceivedPerformance optional new

Affects animation speed.

max_power_output :: Energy optional

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.

Prototypes

Types

Defines