
| Inherits from SegmentPrototype « EntityWithOwnerPrototype « EntityWithHealthPrototype « EntityPrototype « Prototype « PrototypeBase |
| vision_distance | :: double | Vision distance, affects scanning radius for enemies to attack. [...] |
Vision distance, affects scanning radius for enemies to attack. [...] | ||
| attack_parameters optional | :: AttackParameters | Attack parameters for when a segmented unit is attacking something. |
Attack parameters for when a segmented unit is attacking something. | ||
| revenge_attack_parameters optional | :: AttackParameters | Attack parameters for when a segmented unit is attacking something in retaliation because the target first attacked it. |
Attack parameters for when a segmented unit is attacking something in retaliation because the target first attacked it. | ||
| territory_radius | :: uint32 | The territory radius in chunks. [...] |
The territory radius in chunks. [...] | ||
| enraged_duration | :: MapTick | The number of ticks to remain enraged after last taking damage. |
The number of ticks to remain enraged after last taking damage. | ||
| patrolling_speed | :: double | The movement speed while patrolling, in tiles per tick. [...] |
The movement speed while patrolling, in tiles per tick. [...] | ||
| investigating_speed | :: double | The movement speed while investigating, in tiles per tick. [...] |
The movement speed while investigating, in tiles per tick. [...] | ||
| attacking_speed | :: double | The movement speed while attacking, in tiles per tick. [...] |
The movement speed while attacking, in tiles per tick. [...] | ||
| enraged_speed | :: double | The movement speed while enraged, in tiles per tick. [...] |
The movement speed while enraged, in tiles per tick. [...] | ||
| acceleration_rate | :: double | The acceleration rate when moving from one state to another. [...] |
The acceleration rate when moving from one state to another. [...] | ||
| turn_radius | :: double | Turn radius, in tiles. [...] |
Turn radius, in tiles. [...] | ||
| patrolling_turn_radius optional | :: double | Cannot be negative. |
Cannot be negative. | ||
| turn_smoothing optional | :: double | Attempts to smooth out tight turns by limiting how quickly the unit can change turning directions. [...] |
Attempts to smooth out tight turns by limiting how quickly the unit can change turning directions. [...] | ||
| ticks_per_scan optional | :: uint32 | The number of ticks between territory scans. [...] |
The number of ticks between territory scans. [...] | ||
| segment_engine | :: SegmentEngineSpecification | Specification of the segment engine, which should contain a list of the segments that compose the entity's body. |
Specification of the segment engine, which should contain a list of the segments that compose the entity's body. | ||
| roar optional | :: Sound | |
| roar_probability optional | :: float | The default is 1.0f / (6.0f * 60.0f), average pause between roars is 6 seconds. |
The default is 1.0f / (6.0f * 60.0f), average pause between roars is 6 seconds. | ||
| hurt_roar optional | :: Sound | Sound which plays when health ratio drops below any of |
Sound which plays when health ratio drops below any of | ||
| hurt_thresholds optional | :: array[float] | Only loaded, and mandatory if |
Only loaded, and mandatory if | ||
| dying_sound optional | :: Sound | The sound to play when the entity dies. [...] |
The sound to play when the entity dies. [...] | ||
| dying_sound_volume_modifier optional | :: float | |
| animation | :: RotatedAnimation | The animation to use of the entity. |
The animation to use of the entity. | ||
| render_layer optional | :: RenderLayer | The layer to render the entity in. |
The layer to render the entity in. | ||
| forward_overlap optional | :: uint8 | The number of segments ahead of this one that should always be rendered atop this one, giving the illusion that at all orientations, those preceding segments overlap this current segment. [...] |
The number of segments ahead of this one that should always be rendered atop this one, giving the illusion that at all orientations, those preceding segments overlap this current segment. [...] | ||
| backward_overlap optional | :: uint8 | The number of segments behind this one that should always be rendered atop this one, giving the illusion that at all orientations, those following segments overlap this current segment. [...] |
The number of segments behind this one that should always be rendered atop this one, giving the illusion that at all orientations, those following segments overlap this current segment. [...] | ||
| forward_padding optional | :: double | The number of tiles of spacing to add in front of this segment. [...] |
The number of tiles of spacing to add in front of this segment. [...] | ||
| backward_padding optional | :: double | The number of tiles of spacing to add behind this segment. [...] |
The number of tiles of spacing to add behind this segment. [...] | ||
| update_effects optional | :: array[TriggerEffectWithCooldown] | The effects to trigger every tick. |
The effects to trigger every tick. | ||
| update_effects_while_enraged optional | :: array[TriggerEffectWithCooldown] | The effects to trigger every tick while enraged, in addition to |
The effects to trigger every tick while enraged, in addition to | ||
| is_military_target optional | :: boolean | 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 | :: boolean | If this is true, this entity's |
If this is true, this entity's | ||
| quality_indicator_shift optional | :: Vector | The shift from the bottom left corner of the selection box. |
The shift from the bottom left corner of the selection box. | ||
| quality_indicator_scale 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 | :: boolean | |
| hide_resistances optional | :: boolean | 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 | :: boolean | |
| random_corpse_variation optional | :: boolean | |
| integration_patch_render_layer optional | :: RenderLayer | May also be defined inside |
May also be defined inside | ||
| 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 |
May also be defined inside | ||
| overkill_fraction 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. [...] | ||
| 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_mask 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_extension 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 specify the area where the sticker animation can appear for entities that can have stickers on them. |
Used to specify the area where the sticker animation can appear for entities that can have stickers on them. | ||
| hit_visualization_box optional | :: BoundingBox | Where beams should hit the entity. [...] |
Where beams should hit the entity. [...] | ||
| trigger_target_mask optional | :: TriggerTargetMask | Defaults to the mask from UtilityConstants::default_trigger_target_mask_by_type. |
Defaults to the mask from UtilityConstants::default_trigger_target_mask_by_type. | ||
| flags optional | :: EntityPrototypeFlags | |
| tile_buildability_rules 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_conditions | :: array[SurfaceCondition] | |
| deconstruction_alternative 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_decoratives 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_second 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_size 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_category optional | :: string | Name of a ImpactCategory. |
Name of a ImpactCategory. | ||
| open_sound optional | :: Sound | |
| close_sound optional | :: Sound | |
| placeable_position_visualization optional | :: Sprite | |
| radius_visualisation_specification optional | :: RadiusVisualisationSpecification | |
| stateless_visualisation optional | :: StatelessVisualisation or array[StatelessVisualisation] | |
| draw_stateless_visualisations_in_ghost optional | :: boolean | |
| 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 | :: boolean | 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_energy | :: Energy | This entity can freeze if heating_energy is larger than zero. |
This entity can freeze if heating_energy is larger than zero. | ||
| allow_copy_paste optional | :: boolean | |
| selectable_in_game optional | :: boolean | |
| 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_width 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_height optional | :: int32 | |
| diagonal_tile_grid_size 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 |
May also be defined inside | ||
| ambient_sounds_group optional | :: EntityID | |
| ambient_sounds optional | :: WorldAmbientSoundDefinition or array[WorldAmbientSoundDefinition] | |
| icon_draw_specification optional | :: IconDrawSpecification | Used to specify where and how the alt-mode icons should be drawn. |
Used to specify where and how the alt-mode icons should be drawn. | ||
| icons_positioning optional | :: array[IconSequencePositioning] | |
| 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. [...] | ||
| custom_tooltip_fields optional | :: array[CustomTooltipField] | Allows to add extra description items to the tooltip and Factoriopedia. |
Allows to add extra description items to the tooltip and Factoriopedia. | ||
| 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_description optional | :: LocalisedString | Provides additional description used in factoriopedia. |
Provides additional description used in factoriopedia. | ||
| subgroup optional | :: ItemSubGroupID | The name of an ItemSubGroup. |
The name of an ItemSubGroup. | ||
| hidden optional | :: boolean | |
| hidden_in_factoriopedia optional | :: boolean | |
| parameter optional | :: boolean | 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_simulation 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. | ||


















