Factorio.com|Forums|Wiki|Mod Portal|API Docs

# Factorio Runtime Docs Version 2.0.77

# LuaEntityPrototype - Runtime Docs

## Class LuaEntityPrototype extends LuaPrototypeBase

Prototype of an entity.

Inherits from LuaPrototypeBase

## Members

has_flag(flag) | → boolean | Test whether this entity prototype has a certain flag set.
Test whether this entity prototype has a certain flag set.
get_inventory_size(index, quality?) | → uint32? | Gets the base size of the given inventory on this entity or `nil` if the given inventory doesn't exist.
Gets the base size of the given inventory on this entity or `nil` if the given inventory doesn't exist.
get_crafting_speed(quality?) | → double | The crafting speed of this crafting-machine or character.
The crafting speed of this crafting-machine or character.
get_supply_area_distance(quality?) | → double | The supply area of this electric pole or beacon prototype.
The supply area of this electric pole or beacon prototype.
get_max_wire_distance(quality?) | → double | The maximum wire distance for this entity. [...]
The maximum wire distance for this entity. [...]
get_max_circuit_wire_distance(quality?) | → double | The maximum circuit wire distance for this entity. [...]
The maximum circuit wire distance for this entity. [...]
get_max_energy_usage(quality?) | → double | The theoretical maximum energy usage for this entity.
The theoretical maximum energy usage for this entity.
get_max_energy_production(quality?) | → double | The theoretical maximum energy production for this entity.
The theoretical maximum energy production for this entity.
get_max_energy(quality?) | → double? | The max energy for this flying robot prototype.
The max energy for this flying robot prototype.
get_inserter_extension_speed(quality?) | → double? | The extension speed of this inserter.
The extension speed of this inserter.
get_inserter_rotation_speed(quality?) | → double? | The rotation speed of this inserter.
The rotation speed of this inserter.
get_researching_speed(quality?) | → double? | The base researching speed of this lab prototype.
The base researching speed of this lab prototype.
get_max_distance_of_sector_revealed(quality?) | → uint32? | The radius of the area this radar can chart, in chunks.
The radius of the area this radar can chart, in chunks.
get_max_distance_of_nearby_sector_revealed(quality?) | → uint32? | The radius of the area constantly revealed by this radar, or cargo landing pad, in chunks.
The radius of the area constantly revealed by this radar, or cargo landing pad, in chunks.
get_max_health(quality?) | → float | Max health of this entity. [...]
Max health of this entity. [...]
get_fluid_usage_per_tick(quality?) | → double? | The fluid usage of this generator, fusion generator or fusion reactor prototype.
The fluid usage of this generator, fusion generator or fusion reactor prototype.
get_max_power_output(quality?) | → double? | The maximum power output of this burner generator or generator prototype.
The maximum power output of this burner generator or generator prototype.
get_pumping_speed(quality?) | → double | The pumping speed of this offshore pump or normal pump.
The pumping speed of this offshore pump or normal pump.
get_valve_flow_rate(quality?) | → double | The maximum flow rate through this valve.
The maximum flow rate through this valve.
get_mining_drill_radius(quality?) | → double? | The mining radius of this mining drill prototype.
The mining radius of this mining drill prototype.
get_fluid_capacity(quality?) | → double | Gets the fluid capacity of this entity or 0 if this entity doesn't support fluids. [...]
Gets the fluid capacity of this entity or 0 if this entity doesn't support fluids. [...]
get_attraction_range_elongation(quality?) | → double? |
get_energy_distribution_efficiency(quality?) | → double? |
infinite_resource | :: R boolean? | Whether this resource is infinite.
Whether this resource is infinite.
minimum_resource_amount | :: R uint32? | Minimum amount of this resource.
Minimum amount of this resource.
normal_resource_amount | :: R uint32? | The normal amount for this resource.
The normal amount for this resource.
infinite_depletion_resource_amount | :: R uint32? | Every time this infinite resource 'ticks' down, it is reduced by this amount. [...]
Every time this infinite resource 'ticks' down, it is reduced by this amount. [...]
resource_category | :: R string? | Name of the category of this resource. [...]
Name of the category of this resource. [...]
mineable_properties | :: R MineableProperties | Whether this entity is minable and what can be obtained by mining it.
Whether this entity is minable and what can be obtained by mining it.
items_to_place_this | :: R array[ItemToPlace]? | Items that when placed will produce this entity, if any. [...]
Items that when placed will produce this entity, if any. [...]
collision_box | :: R BoundingBox | The bounding box used for collision checking.
The bounding box used for collision checking.
secondary_collision_box | :: R BoundingBox? | The secondary bounding box used for collision checking, if any. [...]
The secondary bounding box used for collision checking, if any. [...]
map_generator_bounding_box | :: R BoundingBox | The bounding box used for map generator collision checking.
The bounding box used for map generator collision checking.
selection_box | :: R BoundingBox | The bounding box used for drawing selection.
The bounding box used for drawing selection.
drawing_box_vertical_extension | :: R double | Extra vertical space needed to see the whole entity in GUIs. [...]
Extra vertical space needed to see the whole entity in GUIs. [...]
sticker_box | :: R BoundingBox | The bounding box used to attach sticker type entities.
The bounding box used to attach sticker type entities.
collision_mask | :: R CollisionMask | The collision masks this entity uses
The collision masks this entity uses
trigger_target_mask | :: R dictionary[string → boolean] | The trigger target mask for this entity prototype type. [...]
The trigger target mask for this entity prototype type. [...]
healing_per_tick | :: R float? | Amount this entity can heal per tick, if any.
Amount this entity can heal per tick, if any.
emissions_per_second | :: R dictionary[string → double] | A table of pollution emissions per second the entity will create, grouped by the name of the pollution type.
A table of pollution emissions per second the entity will create, grouped by the name of the pollution type.
corpses | :: R dictionary[string → LuaEntityPrototype]? | Corpses used when this entity is destroyed. [...]
Corpses used when this entity is destroyed. [...]
selectable_in_game | :: R boolean | Is this entity selectable?
Is this entity selectable?
selection_priority | :: R uint32 | The selection priority of this entity - a value between `0` and `255`.
The selection priority of this entity - a value between `0` and `255`.
weight | :: R double? | The weight of this vehicle prototype.
The weight of this vehicle prototype.
resistances | :: R dictionary[string → Resistance]? | List of resistances towards each damage type. [...]
List of resistances towards each damage type. [...]
fast_replaceable_group | :: R string? | The group of mutually fast-replaceable entities, if any.
The group of mutually fast-replaceable entities, if any.
next_upgrade | :: R LuaEntityPrototype? | The next upgrade for this entity, if any.
The next upgrade for this entity, if any.
icons_positioning | :: R array[IconSequencePositioning]? | The icon positioning for inventories of this entity, if defined.
The icon positioning for inventories of this entity, if defined.
icon_draw_specification | :: R IconDrawSpecification | The definition of where and how the alt-mode icons of this entity should be drawn.
The definition of where and how the alt-mode icons of this entity should be drawn.
loot | :: R array[Loot]? | Loot that will be dropped when this entity is killed, if any.
Loot that will be dropped when this entity is killed, if any.
repair_speed_modifier | :: R float? | Repair-speed modifier for this entity, if any. [...]
Repair-speed modifier for this entity, if any. [...]
turret_range | :: R uint32? | The range of this turret.
The range of this turret.
autoplace_specification | :: R AutoplaceSpecification? | Autoplace specification for this entity prototype, if any.
Autoplace specification for this entity prototype, if any.
belt_speed | :: R double? | The speed of this transport belt.
The speed of this transport belt.
result_units | :: R array[UnitSpawnDefinition]? | The result units and spawn points with weight and evolution factor for a biter spawner entity.
The result units and spawn points with weight and evolution factor for a biter spawner entity.
attack_result | :: R array[TriggerItem]? | The attack result of this entity, if any.
The attack result of this entity, if any.
final_attack_result | :: R array[TriggerItem]? | The final attack result for this projectile.
The final attack result for this projectile.
attack_parameters | :: R AttackParameters? | The attack parameters for this entity, if any.
The attack parameters for this entity, if any.
revenge_attack_parameters | :: R AttackParameters? | The revenge attack parameters for this entity, if any. [...]
The revenge attack parameters for this entity, if any. [...]
spawn_cooldown | :: R table? | The spawning cooldown for this enemy spawner prototype.
The spawning cooldown for this enemy spawner prototype.
mining_drill_radius | :: R double? | The mining radius of this mining drill prototype.
The mining radius of this mining drill prototype.
drops_full_belt_stacks | :: R boolean? | If this mining drill puts full belt stacks onto belts.
If this mining drill puts full belt stacks onto belts.
quality_affects_mining_radius | :: R boolean? |
mining_speed | :: R double? | The mining speed of this mining drill/character prototype.
The mining speed of this mining drill/character prototype.
resource_drain_rate_percent | :: R uint8? | The resource drain rate percent of this mining drill prototype.
The resource drain rate percent of this mining drill prototype.
uses_force_mining_productivity_bonus | :: R boolean? | If this drill uses force productivity bonus
If this drill uses force productivity bonus
logistic_mode | :: R `"requester"` or `"active-provider"` or `"passive-provider"` or `"buffer"` or `"storage"` or `"none"`? | The logistic mode of this logistic container.
The logistic mode of this logistic container.
max_underground_distance | :: R uint8? | The max underground distance for underground belts and underground pipes.
The max underground distance for underground belts and underground pipes.
flags | :: R EntityPrototypeFlags | The flags for this entity prototype.
The flags for this entity prototype.
remains_when_mined | :: R array[LuaEntityPrototype] | The remains left behind when this entity is mined.
The remains left behind when this entity is mined.
additional_pastable_entities | :: R array[LuaEntityPrototype] | Entities this entity can be pasted onto in addition to the normal allowed ones.
Entities this entity can be pasted onto in addition to the normal allowed ones.
allow_copy_paste | :: R boolean | When false copy-paste is not allowed for this entity.
When false copy-paste is not allowed for this entity.
shooting_cursor_size | :: R float | The cursor size used when shooting at this entity.
The cursor size used when shooting at this entity.
created_smoke | :: R table? | The smoke trigger run when this entity is built, if any.
The smoke trigger run when this entity is built, if any.
created_effect | :: R array[TriggerItem]? | The trigger to run when this entity is created, if any.
The trigger to run when this entity is created, if any.
update_effects | :: R array[TriggerEffectWithCooldown]? | The trigger effects to run every tick when on cooldown.
The trigger effects to run every tick when on cooldown.
update_effects_while_enraged | :: R array[TriggerEffectWithCooldown]? | The trigger effects to run every tick when on cooldown while the owning LuaSegmentedUnit is enraged.
The trigger effects to run every tick when on cooldown while the owning LuaSegmentedUnit is enraged.
map_color | :: R Color? | The map color used when charting this entity if a friendly or enemy color isn't defined, if any.
The map color used when charting this entity if a friendly or enemy color isn't defined, if any.
friendly_map_color | :: R Color | The friendly map color used when charting this entity.
The friendly map color used when charting this entity.
enemy_map_color | :: R Color | The enemy map color used when charting this entity.
The enemy map color used when charting this entity.
build_base_evolution_requirement | :: R double | The evolution requirement to build this entity as a base when expanding enemy bases.
The evolution requirement to build this entity as a base when expanding enemy bases.
instruments | :: R array[ProgrammableSpeakerInstrument]? | The instruments for this programmable speaker.
The instruments for this programmable speaker.
max_polyphony | :: R uint32? | The maximum polyphony for this programmable speaker.
The maximum polyphony for this programmable speaker.
module_inventory_size | :: R uint32? | The module inventory size. [...]
The module inventory size. [...]
quality_affects_module_slots | :: R boolean? |
module_slots_quality_bonus | :: R dictionary[QualityID → ItemStackIndex] |
inventory_type | :: R `"normal"` or `"with_bar"` or `"with_filters"` or `"with_filters_and_bar"` or `"with_weight_limit"` or `"with_custom_stack_size"`? | The inventory type this container or linked container uses.
The inventory type this container or linked container uses.
inventory_weight_limit | :: R Weight? | Weight limit of the inventory if inventory_type is `"with_weight_limit"`.
Weight limit of the inventory if inventory_type is `"with_weight_limit"`.
quality_affects_inventory_size | :: R boolean? |
inventory_properties | :: R InventoryWithCustomStackSizeSpecification? | Properties of custom inventory. [...]
Properties of custom inventory. [...]
ingredient_count | :: R uint32? | The max number of ingredients this crafting machine prototype supports.
The max number of ingredients this crafting machine prototype supports.
max_item_product_count | :: R uint32? | The max number of item products this crafting machine prototype supports.
The max number of item products this crafting machine prototype supports.
crafting_speed_quality_multiplier | :: R dictionary[QualityID → double] |
crafting_categories | :: R dictionary[string → `true`]? | The crafting categories this entity prototype supports. [...]
The crafting categories this entity prototype supports. [...]
quality_affects_energy_usage | :: R boolean? |
energy_usage_quality_multiplier | :: R dictionary[QualityID → double] |
resource_categories | :: R dictionary[string → `true`]? | The resource categories this character or mining drill supports. [...]
The resource categories this character or mining drill supports. [...]
energy_usage | :: R double? | The direct energy usage of this entity, if any.
The direct energy usage of this entity, if any.
effectivity | :: R double? | The effectivity of this car prototype, generator prototype.
The effectivity of this car prototype, generator prototype.
consumption | :: R double? | The energy consumption of this car prototype.
The energy consumption of this car prototype.
friction_force | :: R double? | The friction of this vehicle prototype.
The friction of this vehicle prototype.
braking_force | :: R double? | The braking force of this vehicle prototype.
The braking force of this vehicle prototype.
air_resistance | :: R double? | The air resistance of this rolling stock prototype.
The air resistance of this rolling stock prototype.
tank_driving | :: R boolean? | If this car prototype uses tank controls to drive.
If this car prototype uses tank controls to drive.
rotation_speed | :: R double? | The rotation speed of this car prototype.
The rotation speed of this car prototype.
rotation_snap_angle | :: R double? | The rotation snap angle of this car prototype.
The rotation snap angle of this car prototype.
turret_rotation_speed | :: R float? | The turret rotation speed of this car prototype.
The turret rotation speed of this car prototype.
guns | :: R dictionary[string → LuaItemPrototype]? | A mapping of the gun name to the gun prototype this prototype uses. [...]
A mapping of the gun name to the gun prototype this prototype uses. [...]
indexed_guns | :: R array[LuaItemPrototype]? | A vector of the gun prototypes of this car, spider vehicle, artillery wagon, or turret.
A vector of the gun prototypes of this car, spider vehicle, artillery wagon, or turret.
speed | :: R double? | The default speed of this flying robot, rolling stock or unit. [...]
The default speed of this flying robot, rolling stock or unit. [...]
speed_multiplier_when_out_of_energy | :: R float? | The speed multiplier when this flying robot is out of energy.
The speed multiplier when this flying robot is out of energy.
max_payload_size | :: R uint32? | The cargo carrying capacity of this logistics or construction robot.
The cargo carrying capacity of this logistics or construction robot.
max_payload_size_after_bonus | :: R uint32? | The maximum possible cargo carrying capacity of this logistics or construction robot. [...]
The maximum possible cargo carrying capacity of this logistics or construction robot. [...]
draw_cargo | :: R boolean? | Whether this logistics or construction robot renders its cargo when flying.
Whether this logistics or construction robot renders its cargo when flying.
energy_per_move | :: R double? | The energy consumed per tile moved for this flying robot.
The energy consumed per tile moved for this flying robot.
energy_per_tick | :: R double? | The energy consumed per tick for this flying robot.
The energy consumed per tick for this flying robot.
min_to_charge | :: R float? | The minimum energy for this flying robot before it tries to recharge.
The minimum energy for this flying robot before it tries to recharge.
max_to_charge | :: R float? | The maximum energy for this flying robot above which it won't try to recharge when stationing.
The maximum energy for this flying robot above which it won't try to recharge when stationing.
burner_prototype | :: R LuaBurnerPrototype? | The burner energy source prototype this entity uses, if any.
The burner energy source prototype this entity uses, if any.
electric_energy_source_prototype | :: R LuaElectricEnergySourcePrototype? | The electric energy source prototype this entity uses, if any.
The electric energy source prototype this entity uses, if any.
heat_energy_source_prototype | :: R LuaHeatEnergySourcePrototype? | The heat energy source prototype this entity uses, if any.
The heat energy source prototype this entity uses, if any.
fluid_energy_source_prototype | :: R LuaFluidEnergySourcePrototype? | The fluid energy source prototype this entity uses, if any.
The fluid energy source prototype this entity uses, if any.
void_energy_source_prototype | :: R LuaVoidEnergySourcePrototype? | The void energy source prototype this entity uses, if any.
The void energy source prototype this entity uses, if any.
heat_buffer_prototype | :: R LuaHeatBufferPrototype? | The heat buffer prototype this entity uses, if any.
The heat buffer prototype this entity uses, if any.
building_grid_bit_shift | :: R uint32 | The log2 of grid size of the building.
The log2 of grid size of the building.
fluid_usage_per_tick | :: R double? | The fluid usage of this generator prototype. [...]
The fluid usage of this generator prototype. [...]
maximum_temperature | :: R double? | The maximum fluid temperature of this generator prototype.
The maximum fluid temperature of this generator prototype.
burns_fluid | :: R boolean? | Whether this generator prototype burns fluid.
Whether this generator prototype burns fluid.
scale_fluid_usage | :: R boolean? | Whether this generator prototype scales fluid usage.
Whether this generator prototype scales fluid usage.
destroy_non_fuel_fluid | :: R boolean? | Whether this generator prototype destroys non-fuel fluids.
Whether this generator prototype destroys non-fuel fluids.
max_power_output | :: R double? | The default maximum power output of this generator prototype. [...]
The default maximum power output of this generator prototype. [...]
target_temperature | :: R float? | The target temperature of this boiler or fusion reactor prototype. [...]
The target temperature of this boiler or fusion reactor prototype. [...]
boiler_mode | :: R `"heat-fluid-inside"` or `"output-to-separate-pipe"`? | The boiler operation mode of this boiler prototype.
The boiler operation mode of this boiler prototype.
fluid_capacity | :: R double | The fluid capacity of this entity or 0 if this entity doesn't support fluids. [...]
The fluid capacity of this entity or 0 if this entity doesn't support fluids. [...]
pumping_speed | :: R double? | The pumping speed of this offshore pump or normal pump. [...]
The pumping speed of this offshore pump or normal pump. [...]
valve_mode | :: R ValveMode? | The mode of operation of this valve.
The mode of operation of this valve.
valve_threshold | :: R float? | The default threshold of this valve.
The default threshold of this valve.
bulk | :: R boolean? | Whether this inserter is a bulk-type.
Whether this inserter is a bulk-type.
uses_inserter_stack_size_bonus | :: R boolean? |
fluid_source_offset | :: R Vector? |
flow_scaling | :: R boolean? |
allow_custom_vectors | :: R boolean? | Whether this inserter allows custom pickup and drop vectors.
Whether this inserter allows custom pickup and drop vectors.
allow_burner_leech | :: R boolean? | Whether this inserter allows burner leeching.
Whether this inserter allows burner leeching.
inserter_pickup_position | :: R Vector? | The pickup position for this inserter.
The pickup position for this inserter.
inserter_drop_position | :: R Vector? | The drop position for this inserter.
The drop position for this inserter.
inserter_chases_belt_items | :: R boolean? | True if this inserter chases items on belts for pickup.
True if this inserter chases items on belts for pickup.
inserter_max_belt_stack_size | :: R uint8? | The max belt stack size for this inserter.
The max belt stack size for this inserter.
loader_max_belt_stack_size | :: R uint8? | The max belt stack size for this loader.
The max belt stack size for this loader.
loader_adjustable_belt_stack_size | :: R boolean? | True if this loader supports a runtime-adjustable belt stack size.
True if this loader supports a runtime-adjustable belt stack size.
loader_wait_for_full_stack | :: R boolean? | True if this loader will not drop items for which total amount is less than a full belt stack.
True if this loader will not drop items for which total amount is less than a full belt stack.
loader_respect_insert_limits | :: R boolean? |
count_as_rock_for_filtered_deconstruction | :: R boolean? | If this simple-entity is counted as a rock for the deconstruction planner "trees and rocks only" filter.
If this simple-entity is counted as a rock for the deconstruction planner "trees and rocks only" filter.
filter_count | :: R uint32? | The filter count of this inserter, loader, mining drill or logistic chest. [...]
The filter count of this inserter, loader, mining drill or logistic chest. [...]
time_to_live | :: R uint32 | The time to live for this prototype or `0` if prototype doesn't have time_to_live or time_before_removed.
The time to live for this prototype or `0` if prototype doesn't have time_to_live or time_before_removed.
distribution_effectivity | :: R double? | The distribution effectivity for this beacon prototype.
The distribution effectivity for this beacon prototype.
distribution_effectivity_bonus_per_quality_level | :: R double? | The distribution effectivity bonus per quality level for this beacon prototype.
The distribution effectivity bonus per quality level for this beacon prototype.
profile | :: R array[double]? | The beacon profile: extra multiplier applied to the effects received from beacon by the effect receiver based on amount of beacons that reach that effect receiver
The beacon profile: extra multiplier applied to the effects received from beacon by the effect receiver based on amount of beacons that reach that effect receiver
beacon_counter | :: R `"total"` or `"same_type"`? | The beacon counter used by effect receiver when deciding which sample to take from beacon profile.
The beacon counter used by effect receiver when deciding which sample to take from beacon profile.
quality_affects_supply_area_distance | :: R boolean? |
explosion_beam | :: R double? | Whether this explosion has a beam.
Whether this explosion has a beam.
explosion_rotate | :: R double? | Whether this explosion rotates.
Whether this explosion rotates.
tree_color_count | :: R uint8? | If it is a tree, return the number of colors it supports.
If it is a tree, return the number of colors it supports.
alert_when_damaged | :: R boolean? | Whether this entity raises an alert when damaged.
Whether this entity raises an alert when damaged.
alert_when_attacking | :: R boolean? | Whether this turret raises an alert when attacking
Whether this turret raises an alert when attacking
color | :: R Color? | The color of the prototype, if any.
The color of the prototype, if any.
collision_mask_collides_with_self | :: R boolean | Does this prototype collision mask collide with itself?
Does this prototype collision mask collide with itself?
collision_mask_collides_with_tiles_only | :: R boolean | Does this prototype collision mask collide with tiles only?
Does this prototype collision mask collide with tiles only?
collision_mask_considers_tile_transitions | :: R boolean | Does this prototype collision mask consider tile transitions?
Does this prototype collision mask consider tile transitions?
allowed_effects | :: R dictionary[string → boolean]? | The allowed module effects for this entity, if any.
The allowed module effects for this entity, if any.
allowed_module_categories | :: R dictionary[string → `true`]? | The allowed module categories for this entity, if any.
The allowed module categories for this entity, if any.
rocket_parts_required | :: R uint32? | The rocket parts required for this rocket silo prototype.
The rocket parts required for this rocket silo prototype.
rocket_rising_delay | :: R uint8? | The rocket rising delay for this rocket silo prototype.
The rocket rising delay for this rocket silo prototype.
launch_wait_time | :: R uint8? | The rocket launch delay for this rocket silo prototype.
The rocket launch delay for this rocket silo prototype.
light_blinking_speed | :: R double? | The light blinking speed for this rocket silo prototype.
The light blinking speed for this rocket silo prototype.
door_opening_speed | :: R double? | The door opening speed for this rocket silo prototype.
The door opening speed for this rocket silo prototype.
launch_to_space_platforms | :: R boolean? |
rising_speed | :: R double? | The rising speed for this rocket silo rocket prototype.
The rising speed for this rocket silo rocket prototype.
engine_starting_speed | :: R double? | The engine starting speed for this rocket silo rocket prototype.
The engine starting speed for this rocket silo rocket prototype.
flying_speed | :: R double? | The flying speed for this rocket silo rocket prototype.
The flying speed for this rocket silo rocket prototype.
flying_acceleration | :: R double? | The flying acceleration for this rocket silo rocket prototype.
The flying acceleration for this rocket silo rocket prototype.
fixed_recipe | :: R string? | The fixed recipe name for this assembling machine prototype, if any.
The fixed recipe name for this assembling machine prototype, if any.
construction_radius | :: R double? | The construction radius for this roboport prototype.
The construction radius for this roboport prototype.
logistic_radius | :: R double? | The logistic radius for this roboport prototype.
The logistic radius for this roboport prototype.
energy_per_hit_point | :: R double? | The energy used per hit point taken for this vehicle during collisions.
The energy used per hit point taken for this vehicle during collisions.
create_ghost_on_death | :: R boolean | If this prototype will attempt to create a ghost of itself on death. [...]
If this prototype will attempt to create a ghost of itself on death. [...]
ammo_category | :: R string? | Name of the ammo category of this land mine.
Name of the ammo category of this land mine.
timeout | :: R uint32? | The time it takes this land mine to arm.
The time it takes this land mine to arm.
trigger_collision_mask | :: R CollisionMask? | The collision mask entities must collide with to make this landmine blow up.
The collision mask entities must collide with to make this landmine blow up.
fluidbox_prototypes | :: R array[LuaFluidBoxPrototype] | The fluidbox prototypes for this entity.
The fluidbox prototypes for this entity.
neighbour_bonus | :: R double? |
container_distance | :: R double? |
belt_distance | :: R double? |
belt_length | :: R double? |
per_lane_filters | :: R boolean? |
is_building | :: R boolean |
automated_ammo_count | :: R uint32? | The amount of ammo that inserters automatically insert into this ammo turret, artillery turret or artillery wagon.
The amount of ammo that inserters automatically insert into this ammo turret, artillery turret or artillery wagon.
max_speed | :: R double? | The max speed of this projectile or flying robot prototype.
The max speed of this projectile or flying robot prototype.
darkness_for_all_lamps_on | :: R float? | Value between 0 and 1 darkness where all lamps of this lamp prototype are on.
Value between 0 and 1 darkness where all lamps of this lamp prototype are on.
darkness_for_all_lamps_off | :: R float? | Value between 0 and 1 darkness where all lamps of this lamp prototype are off.
Value between 0 and 1 darkness where all lamps of this lamp prototype are off.
always_on | :: R boolean? | Whether the lamp is always on (except when out of power or turned off by the circuit network).
Whether the lamp is always on (except when out of power or turned off by the circuit network).
min_darkness_to_spawn | :: R float? | The minimum darkness at which this unit spawner can spawn entities.
The minimum darkness at which this unit spawner can spawn entities.
max_darkness_to_spawn | :: R float? | The maximum darkness at which this unit spawner can spawn entities.
The maximum darkness at which this unit spawner can spawn entities.
call_for_help_radius | :: R double? |
max_count_of_owned_units | :: R double? | Count of enemies this spawner can sustain.
Count of enemies this spawner can sustain.
max_count_of_owned_defensive_units | :: R double? | Count of defensive enemies this spawner can sustain.
Count of defensive enemies this spawner can sustain.
max_friends_around_to_spawn | :: R double? | How many friendly units are required within the spawning_radius of this spawner for it to stop producing more units.
How many friendly units are required within the spawning_radius of this spawner for it to stop producing more units.
max_defensive_friends_around_to_spawn | :: R double? | How many defensive friendly units are required within the spawning_radius of this spawner for it to stop producing more units.
How many defensive friendly units are required within the spawning_radius of this spawner for it to stop producing more units.
spawning_radius | :: R double? | How far from the spawner can the units be spawned.
How far from the spawner can the units be spawned.
spawning_spacing | :: R double? | What spaces should be between the spawned units.
What spaces should be between the spawned units.
radius | :: R double | The radius of this entity prototype. [...]
The radius of this entity prototype. [...]
cliff_explosive_prototype | :: R string? | The item prototype name used to destroy this cliff.
The item prototype name used to destroy this cliff.
rocket_entity_prototype | :: R LuaEntityPrototype? | The rocket entity prototype associated with this rocket silo prototype.
The rocket entity prototype associated with this rocket silo prototype.
has_belt_immunity | :: R boolean? | Whether this unit, car, or character prototype has belt immunity.
Whether this unit, car, or character prototype has belt immunity.
vision_distance | :: R double? | The vision distance of this unit prototype.
The vision distance of this unit prototype.
absorptions_to_join_attack | :: R dictionary[string → float]? | A table of pollutions amounts that has to be absorbed by the unit's spawner before the unit will leave the spawner and attack the source of the pollution, indexed by the name of each absorbed pollution type.
A table of pollutions amounts that has to be absorbed by the unit's spawner before the unit will leave the spawner and attack the source of the pollution, indexed by the name of each absorbed pollution type.
min_pursue_time | :: R uint32? | The minimum pursue time of this unit prototype.
The minimum pursue time of this unit prototype.
max_pursue_distance | :: R double? | The maximum pursue distance of this unit prototype.
The maximum pursue distance of this unit prototype.
radar_range | :: R uint32? | The radar range of this unit prototype.
The radar range of this unit prototype.
move_while_shooting | :: R boolean? | Whether this unit prototype can move while shooting.
Whether this unit prototype can move while shooting.
can_open_gates | :: R boolean? | Whether this unit prototype can open gates.
Whether this unit prototype can open gates.
affected_by_tiles | :: R boolean? | Whether this unit prototype is affected by tile walking speed modifiers.
Whether this unit prototype is affected by tile walking speed modifiers.
distraction_cooldown | :: R uint32? | The distraction cooldown of this unit prototype.
The distraction cooldown of this unit prototype.
spawning_time_modifier | :: R double? | The spawning time modifier of this unit prototype.
The spawning time modifier of this unit prototype.
alert_icon_shift | :: R Vector | The alert icon shift of this entity prototype.
The alert icon shift of this entity prototype.
alert_icon_scale | :: R float | The alert icon scale of this entity prototype.
The alert icon scale of this entity prototype.
lab_inputs | :: R array[string]? | The item prototype names that are the inputs of this lab prototype.
The item prototype names that are the inputs of this lab prototype.
uses_quality_drain_modifier | :: R boolean | If this lab uses the quality drain modifier when consuming science packs.
If this lab uses the quality drain modifier when consuming science packs.
science_pack_drain_rate_percent | :: R uint8 | How much science pack durability is required to research one science point.
How much science pack durability is required to research one science point.
effect_receiver | :: R EffectReceiver? | Effect receiver prototype of this crafting machine, lab, or mining drill.
Effect receiver prototype of this crafting machine, lab, or mining drill.
allow_access_to_all_forces | :: R boolean? | Whether this market allows access to all forces or just friendly ones.
Whether this market allows access to all forces or just friendly ones.
supports_direction | :: R boolean | Whether this entity prototype could possibly ever be rotated.
Whether this entity prototype could possibly ever be rotated.
terrain_friction_modifier | :: R float? | The terrain friction modifier for this vehicle.
The terrain friction modifier for this vehicle.
allow_passengers | :: R boolean? | Whether this vehicle allows passengers.
Whether this vehicle allows passengers.
grid_prototype | :: R LuaEquipmentGridPrototype? | The equipment grid prototype for this entity, if any.
The equipment grid prototype for this entity, if any.
remove_decoratives | :: R `"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.
related_underground_belt | :: R LuaEntityPrototype? |
inserter_stack_size_bonus | :: R uint32? | The built-in stack size bonus of this inserter prototype.
The built-in stack size bonus of this inserter prototype.
protected_from_tile_building | :: R boolean | True if this entity prototype should be included during tile collision checks with LuaTilePrototype::check_collision_with_entities enabled.
True if this entity prototype should be included during tile collision checks with LuaTilePrototype::check_collision_with_entities enabled.
is_entity_with_owner | :: R boolean | True if this is entity-with-owner
True if this is entity-with-owner
is_military_target | :: R boolean? | True if this entity-with-owner is military target
True if this entity-with-owner is military target
allow_run_time_change_of_is_military_target | :: R boolean? | True if this entity-with-owner's is_military_target can be changed run-time (on the entity, not on the prototype itself)
True if this entity-with-owner's is_military_target can be changed run-time (on the entity, not on the prototype itself)
logistic_parameters | :: R table? | The logistic parameters for this roboport.
The logistic parameters for this roboport.
height | :: R double? | The height of this spider vehicle prototype.
The height of this spider vehicle prototype.
torso_rotation_speed | :: R double? | The torso rotation speed of this spider vehicle prototype.
The torso rotation speed of this spider vehicle prototype.
torso_bob_speed | :: R double? | The torso bob speed of this spider vehicle prototype.
The torso bob speed of this spider vehicle prototype.
automatic_weapon_cycling | :: R boolean? | Whether this spider vehicle prototype automatically cycles weapons.
Whether this spider vehicle prototype automatically cycles weapons.
chain_shooting_cooldown_modifier | :: R double? | The chain shooting cooldown modifier of this spider vehicle prototype.
The chain shooting cooldown modifier of this spider vehicle prototype.
spider_engine | :: R SpiderEngineSpecification? |
chunk_exploration_radius | :: R double? | The chunk exploration radius of this vehicle prototype.
The chunk exploration radius of this vehicle prototype.
animation_speed_coefficient | :: R double? | The animation speed coefficient of this belt connectable prototype.
The animation speed coefficient of this belt connectable prototype.
manual_range_modifier | :: R double? | The manual range modifier for this artillery turret or wagon prototype.
The manual range modifier for this artillery turret or wagon prototype.
dying_speed | :: R float? | The dying time of this corpse prototype.
The dying time of this corpse prototype.
active_energy_usage | :: R double? | The active energy usage of this rocket silo or combinator prototype.
The active energy usage of this rocket silo or combinator prototype.
lamp_energy_usage | :: R double? | The lamp energy usage of this rocket silo prototype.
The lamp energy usage of this rocket silo prototype.
crane_energy_usage | :: R double? | The crane energy usage of this agricultural tower prototype.
The crane energy usage of this agricultural tower prototype.
use_exact_mode | :: R boolean? | Whether this logistic container prototype uses exact mode
Whether this logistic container prototype uses exact mode
tile_width | :: R uint32 | Specifies the tiling size of the entity, is used to decide, if the center should be in the center of the tile (odd tile size dimension) or on the tile border (even tile size dimension)
Specifies the tiling size of the entity, is used to decide, if the center should be in the center of the tile (odd tile size dimension) or on the tile border (even tile size dimension)
tile_height | :: R uint32 | Specifies the tiling size of the entity, is used to decide, if the center should be in the center of the tile (odd tile size dimension) or on the tile border (even tile size dimension)
Specifies the tiling size of the entity, is used to decide, if the center should be in the center of the tile (odd tile size dimension) or on the tile border (even tile size dimension)
vertical_selection_shift | :: R double? | Vertical selection shift used by rolling stocks. [...]
Vertical selection shift used by rolling stocks. [...]
spawn_decoration | :: R array[TriggerEffectItem]? |
spawn_decorations_on_expansion | :: R boolean? |
connection_distance | :: R double? |
joint_distance | :: R double? |
radius_visualisation_specification | :: R RadiusVisualisationSpecification? |
growth_ticks | :: R uint32? |
harvest_emissions | :: R dictionary[string → double]? | A table of pollutants that this plant will release when it is harvested.
A table of pollutants that this plant will release when it is harvested.
agricultural_tower_radius | :: R double? |
growth_area_radius | :: R double? |
growth_grid_tile_size | :: R uint32? |
vector_to_place_result | :: R Vector? |
surface_conditions | :: R array[SurfaceCondition]? | The surface conditions required to build this entity.
The surface conditions required to build this entity.
heating_energy | :: R double | The energy required to keep this entity from freezing. [...]
The energy required to keep this entity from freezing. [...]
auto_setup_collision_box | :: R boolean |
factoriopedia_alternative | :: R LuaEntityPrototype? | An alternative prototype that will be used to display info about this prototype in Factoriopedia.
An alternative prototype that will be used to display info about this prototype in Factoriopedia.
rewire_neighbours_when_destroying | :: R boolean |
solar_panel_performance_at_day | :: R double |
solar_panel_performance_at_night | :: R double |
solar_panel_solar_coefficient_property | :: R LuaSurfacePropertyPrototype |
accepted_seeds | :: R array[string]? |
captured_spawner_entity | :: R LuaEntityPrototype? |
min_performance | :: R ThrusterPerformancePoint? |
max_performance | :: R ThrusterPerformancePoint? |
two_direction_only | :: R boolean? |
perceived_performance | :: R PerceivedPerformance? |
overkill_fraction | :: R float? |
dying_explosion | :: R array[ExplosionDefinition]? |
dying_trigger_effect | :: R array[TriggerEffectItem]? |
damaged_trigger_effect | :: R array[TriggerEffectItem]? |
attack_reaction | :: R array[AttackReactionItem]? |
hide_resistances | :: R boolean? |
random_corpse_variation | :: R boolean? |
neighbour_connectable | :: R NeighbourConnectable? |
tile_buildability_rules | :: R array[TileBuildabilityRule]? |
support_range | :: R float? |
reversing_power_modifier | :: R double? |
territory_radius | :: R uint32? |
enraged_duration | :: R MapTick? |
patrolling_speed | :: R double? |
investigating_speed | :: R double? |
attacking_speed | :: R double? |
enraged_speed | :: R double |
acceleration_rate | :: R double |
turn_radius | :: R double? |
patrolling_turn_radius | :: R double? |
turn_smoothing | :: R double? |
ticks_per_scan | :: R uint32? |
segment_engine | :: R SegmentEngineSpecification? |
running_speed | :: R double? | The movement speed of this character prototype.
The movement speed of this character prototype.
maximum_corner_sliding_distance | :: R double? |
build_distance | :: R uint32? |
drop_item_distance | :: R uint32? |
reach_distance | :: R uint32? |
reach_resource_distance | :: R double? |
item_pickup_distance | :: R double? |
loot_pickup_distance | :: R double? |
enter_vehicle_distance | :: R double? |
ticks_to_keep_gun | :: R uint32? |
ticks_to_keep_aiming_direction | :: R uint32? |
ticks_to_stay_in_combat | :: R uint32? |
respawn_time | :: R uint32? |
damage_hit_tint | :: R Color? |
character_corpse | :: R LuaEntityPrototype? |
arm_inventory_size_quality_increase | :: R uint32? |
inventory_size_quality_increase | :: R uint32? |
passive_energy_usage | :: R double? |
arm_energy_usage | :: R double? |
arm_slow_energy_usage | :: R double? |
energy_usage_quality_scaling | :: R float? |
arm_count_base | :: R uint32? |
arm_count_quality_scaling | :: R uint32? |
head_collection_radius | :: R float? |
collection_box_offset | :: R float? |
deposit_radius | :: R float? |
arm_speed_base | :: R float? |
arm_speed_quality_scaling | :: R float? |
arm_angular_speed_cap_base | :: R float? |
arm_angular_speed_cap_quality_scaling | :: R float? |
tether_size | :: R float? |
unpowered_arm_speed_scale | :: R float? |
minimal_arm_swing_segment_retraction | :: R uint32? |
held_items_offset | :: R float? |
held_items_spread | :: R float? |
held_items_display_count | :: R uint8? |
arm_color_gradient | :: R array[Color]? |
fluid_buffer_size | :: R FluidAmount? |
activation_buffer_ratio | :: R FluidAmount? |
fluid_buffer_input_flow | :: R FluidAmount? |
range_from_player | :: R double? |
combat_robot_friction | :: R double? |
destroy_action | :: R array[TriggerItem]? |
follows_player | :: R boolean? |
strike_effect | :: R array[TriggerItem]? |
attractor_hit_effect | :: R array[TriggerItem]? |
damage | :: R double? | When lightning strikes something that is not a lightning attractor, this damage is applied to the target.
When lightning strikes something that is not a lightning attractor, this damage is applied to the target.
energy | :: R double? | When lightning hits a lightning attractor this amount of energy is transferred to the lightning attractor.
When lightning hits a lightning attractor this amount of energy is transferred to the lightning attractor.
connection_category | :: R array[string] |
quality_affects_capacity | :: R boolean? |
valid | :: R boolean | Is this object valid? [...]
Is this object valid? [...]
object_name | :: R string | The class name of this object. [...]
The class name of this object. [...]

Inherited from LuaPrototypeBase

type | :: R string | Type of this prototype.
Type of this prototype.
name | :: R string | Name of this prototype.
Name of this prototype.
order | :: R string | The string used to alphabetically sort these prototypes. [...]
The string used to alphabetically sort these prototypes. [...]
localised_name | :: R LocalisedString |
localised_description | :: R LocalisedString |
factoriopedia_description | :: R LocalisedString | Provides additional description used in factoriopedia.
Provides additional description used in factoriopedia.
group | :: R LuaGroup | Group of this prototype.
Group of this prototype.
subgroup | :: R LuaGroup | Subgroup of this prototype.
Subgroup of this prototype.
hidden | :: R boolean |
hidden_in_factoriopedia | :: R boolean |
parameter | :: R boolean |
custom_tooltip_fields | :: R array[CustomTooltipField]? | Extra description items in the tooltip and Factoriopedia.
Extra description items in the tooltip and Factoriopedia.

## Methods

### has_flag(flag) → boolean

Test whether this entity prototype has a certain flag set.

#### Parameters

flag | :: EntityPrototypeFlag | The flag to test.
The flag to test.

#### Return values

→ boolean | `true` if this prototype has the given flag set.

### get_inventory_size(index, quality?) → uint32?

Gets the base size of the given inventory on this entity or `nil` if the given inventory doesn't exist.

#### Parameters

index | :: defines.inventory |
quality | :: QualityID? | Defaults to `"normal"`.
Defaults to `"normal"`.

### get_crafting_speed(quality?) → double

The crafting speed of this crafting-machine or character.

#### Parameters

quality | :: QualityID? |

Can only be used if this is CraftingMachine or Character

### get_supply_area_distance(quality?) → double

The supply area of this electric pole or beacon prototype.

#### Parameters

quality | :: QualityID? |

Can only be used if this is ElectricPole or Beacon

### get_max_wire_distance(quality?) → double

The maximum wire distance for this entity. 0 if the entity doesn't support wires.

#### Parameters

quality | :: QualityID? |

### get_max_circuit_wire_distance(quality?) → double

The maximum circuit wire distance for this entity. 0 if the entity doesn't support circuit wires.

#### Parameters

quality | :: QualityID? |

### get_max_energy_usage(quality?) → double

The theoretical maximum energy usage for this entity.

#### Parameters

quality | :: QualityID? |

### get_max_energy_production(quality?) → double

The theoretical maximum energy production for this entity.

#### Parameters

quality | :: QualityID? |

### get_max_energy(quality?) → double?

The max energy for this flying robot prototype.

#### Parameters

quality | :: QualityID? |

Can only be used if this is FlyingRobot

### get_inserter_extension_speed(quality?) → double?

The extension speed of this inserter.

#### Parameters

quality | :: QualityID? |

Can only be used if this is Inserter

### get_inserter_rotation_speed(quality?) → double?

The rotation speed of this inserter.

#### Parameters

quality | :: QualityID? |

Can only be used if this is Inserter

### get_researching_speed(quality?) → double?

The base researching speed of this lab prototype.

#### Parameters

quality | :: QualityID? |

Can only be used if this is Lab

### get_max_distance_of_sector_revealed(quality?) → uint32?

The radius of the area this radar can chart, in chunks.

#### Parameters

quality | :: QualityID? |

Can only be used if this is Radar

### get_max_distance_of_nearby_sector_revealed(quality?) → uint32?

The radius of the area constantly revealed by this radar, or cargo landing pad, in chunks.

#### Parameters

quality | :: QualityID? |

Can only be used if this is Radar or CargoLandingPad

### get_max_health(quality?) → float

Max health of this entity. Will be `0` if this is not an entity with health.

#### Parameters

quality | :: QualityID? |

### get_fluid_usage_per_tick(quality?) → double?

The fluid usage of this generator, fusion generator or fusion reactor prototype.

#### Parameters

quality | :: QualityID? |

Can only be used if this is Generator or FusionGenerator or FusionReactor

### get_max_power_output(quality?) → double?

The maximum power output of this burner generator or generator prototype.

#### Parameters

quality | :: QualityID? |

Can only be used if this is BurnerGenerator or Generator

### get_pumping_speed(quality?) → double

The pumping speed of this offshore pump or normal pump.

#### Parameters

quality | :: QualityID? |

Can only be used if this is OffshorePump or Pump

### get_valve_flow_rate(quality?) → double

The maximum flow rate through this valve.

#### Parameters

quality | :: QualityID? |

Can only be used if this is Valve

### get_mining_drill_radius(quality?) → double?

The mining radius of this mining drill prototype.

#### Parameters

quality | :: QualityID? |

Can only be used if this is MiningDrill

### get_fluid_capacity(quality?) → double

Gets the fluid capacity of this entity or 0 if this entity doesn't support fluids.

Crafting machines will report 0 due to their fluid capacity being whatever a given recipe needs.

#### Parameters

quality | :: QualityID? |

### get_attraction_range_elongation(quality?) → double?

#### Parameters

quality | :: QualityID? |

Can only be used if this is LightningAttractor

### get_energy_distribution_efficiency(quality?) → double?

#### Parameters

quality | :: QualityID? |

Can only be used if this is LightningAttractor

## Attributes

### infinite_resource :: Read boolean?

Whether this resource is infinite.

Can only be used if this is ResourceEntity

### minimum_resource_amount :: Read uint32?

Minimum amount of this resource.

Can only be used if this is ResourceEntity

### normal_resource_amount :: Read uint32?

The normal amount for this resource.

Can only be used if this is ResourceEntity

### infinite_depletion_resource_amount :: Read uint32?

Every time this infinite resource 'ticks' down, it is reduced by this amount. Meaningless if this isn't an infinite resource.

Can only be used if this is ResourceEntity

### resource_category :: Read string?

Name of the category of this resource.

During data stage, this property is named "category".

Can only be used if this is ResourceEntity

### mineable_properties :: Read MineableProperties

Whether this entity is minable and what can be obtained by mining it.

### items_to_place_this :: Read array[ItemToPlace]?

Items that when placed will produce this entity, if any. Construction bots will choose the first item in the list to build this entity.

### collision_box :: Read BoundingBox

The bounding box used for collision checking.

### secondary_collision_box :: Read BoundingBox?

The secondary bounding box used for collision checking, if any. This is only used in rails and rail remnants.

### map_generator_bounding_box :: Read BoundingBox

The bounding box used for map generator collision checking.

### selection_box :: Read BoundingBox

The bounding box used for drawing selection.

### drawing_box_vertical_extension :: Read double

Extra vertical space needed to see the whole entity in GUIs. This is used to calculate the correct zoom and positioning in the entity info gui, for example in the entity tooltip.

### sticker_box :: Read BoundingBox

The bounding box used to attach sticker type entities.

### collision_mask :: Read CollisionMask

The collision masks this entity uses

### trigger_target_mask :: Read dictionary[string → boolean]

The trigger target mask for this entity prototype type.

The values in the dictionary are meaningless and exists just to allow the dictionary type for easy lookup.

### healing_per_tick :: Read float?

Amount this entity can heal per tick, if any.

### emissions_per_second :: Read dictionary[string → double]

A table of pollution emissions per second the entity will create, grouped by the name of the pollution type.

### corpses :: Read dictionary[string → LuaEntityPrototype]?

Corpses used when this entity is destroyed. It is a dictionary indexed by the corpse's prototype name.

Can only be used if this is EntityWithHealth

### selectable_in_game :: Read boolean

Is this entity selectable?

### selection_priority :: Read uint32

The selection priority of this entity - a value between `0` and `255`.

### weight :: Read double?

The weight of this vehicle prototype.

Can only be used if this is Vehicle

### resistances :: Read dictionary[string → Resistance]?

List of resistances towards each damage type. It is a dictionary indexed by damage type names (see `data/base/prototypes/damage-type.lua`).

Can only be used if this is EntityWithHealth

### fast_replaceable_group :: Read string?

The group of mutually fast-replaceable entities, if any.

### next_upgrade :: Read LuaEntityPrototype?

The next upgrade for this entity, if any.

### icons_positioning :: Read array[IconSequencePositioning]?

The icon positioning for inventories of this entity, if defined.

### icon_draw_specification :: Read IconDrawSpecification

The definition of where and how the alt-mode icons of this entity should be drawn.

### loot :: Read array[Loot]?

Loot that will be dropped when this entity is killed, if any.

Can only be used if this is EntityWithHealth

### repair_speed_modifier :: Read float?

Repair-speed modifier for this entity, if any. Actual repair speed will be `tool_repair_speed * entity_repair_speed_modifier`.

Can only be used if this is EntityWithHealth

### turret_range :: Read uint32?

The range of this turret.

Can only be used if this is Turret

### autoplace_specification :: Read AutoplaceSpecification?

Autoplace specification for this entity prototype, if any.

### belt_speed :: Read double?

The speed of this transport belt.

Can only be used if this is TransportBeltConnectable

### result_units :: Read array[UnitSpawnDefinition]?

The result units and spawn points with weight and evolution factor for a biter spawner entity.

Can only be used if this is Spawner

### attack_result :: Read array[TriggerItem]?

The attack result of this entity, if any.

### final_attack_result :: Read array[TriggerItem]?

The final attack result for this projectile.

Can only be used if this is Projectile

### attack_parameters :: Read AttackParameters?

The attack parameters for this entity, if any.

### revenge_attack_parameters :: Read AttackParameters?

The revenge attack parameters for this entity, if any. These attack parameters are used in addition to LuaEntityPrototype::attack_parameters if the entity is attacking a target that has previously dealt damage to the entity.

Can only be used if this is SegmentedUnit

### spawn_cooldown :: Read table?

The spawning cooldown for this enemy spawner prototype.

#### Table fields

min | :: double |
max | :: double |

Can only be used if this is Spawner

### mining_drill_radius :: Read double?

The mining radius of this mining drill prototype.

Can only be used if this is MiningDrill

### drops_full_belt_stacks :: Read boolean?

If this mining drill puts full belt stacks onto belts.

Can only be used if this is MiningDrill

### quality_affects_mining_radius :: Read boolean?

Can only be used if this is MiningDrill

### mining_speed :: Read double?

The mining speed of this mining drill/character prototype.

Can only be used if this is MiningDrill or Character

### resource_drain_rate_percent :: Read uint8?

The resource drain rate percent of this mining drill prototype.

Can only be used if this is MiningDrill

### uses_force_mining_productivity_bonus :: Read boolean?

If this drill uses force productivity bonus

Can only be used if this is MiningDrill

### logistic_mode :: Read `"requester"` or `"active-provider"` or `"passive-provider"` or `"buffer"` or `"storage"` or `"none"`?

The logistic mode of this logistic container.

Can only be used if this is LogisticContainer

### max_underground_distance :: Read uint8?

The max underground distance for underground belts and underground pipes.

Can only be used if this is UndergroundBelt or PipeToGround

### flags :: Read EntityPrototypeFlags

The flags for this entity prototype.

### remains_when_mined :: Read array[LuaEntityPrototype]

The remains left behind when this entity is mined.

### additional_pastable_entities :: Read array[LuaEntityPrototype]

Entities this entity can be pasted onto in addition to the normal allowed ones.

### allow_copy_paste :: Read boolean

When false copy-paste is not allowed for this entity.

### shooting_cursor_size :: Read float

The cursor size used when shooting at this entity.

### created_smoke :: Read table?

The smoke trigger run when this entity is built, if any.

#### Table fields

smoke_name | :: string |
offsets | :: array[Vector] |
offset_deviation | :: BoundingBox |
initial_height | :: float |
max_radius | :: float? |
speed | :: Vector |
speed_multiplier | :: float |
speed_multiplier_deviation | :: float |
starting_frame | :: float |
starting_frame_deviation | :: float |
speed_from_center | :: float |
speed_from_center_deviation | :: float |

### created_effect :: Read array[TriggerItem]?

The trigger to run when this entity is created, if any.

### update_effects :: Read array[TriggerEffectWithCooldown]?

The trigger effects to run every tick when on cooldown.

Can only be used if this is Segment

### update_effects_while_enraged :: Read array[TriggerEffectWithCooldown]?

The trigger effects to run every tick when on cooldown while the owning LuaSegmentedUnit is enraged.

Can only be used if this is Segment

### map_color :: Read Color?

The map color used when charting this entity if a friendly or enemy color isn't defined, if any.

### friendly_map_color :: Read Color

The friendly map color used when charting this entity.

### enemy_map_color :: Read Color

The enemy map color used when charting this entity.

### build_base_evolution_requirement :: Read double

The evolution requirement to build this entity as a base when expanding enemy bases.

### instruments :: Read array[ProgrammableSpeakerInstrument]?

The instruments for this programmable speaker.

Can only be used if this is ProgrammableSpeaker

### max_polyphony :: Read uint32?

The maximum polyphony for this programmable speaker.

Can only be used if this is ProgrammableSpeaker

### module_inventory_size :: Read uint32?

The module inventory size. `nil` if this entity doesn't support modules.

Returns the inventory size if this entity is of normal quality. Use LuaEntityPrototype::get_inventory_size for other qualities.

### quality_affects_module_slots :: Read boolean?

Can only be used if this is Beacon or CraftingMachine or MiningDrill or Lab

### module_slots_quality_bonus :: Read dictionary[QualityID → ItemStackIndex]

Can only be used if this is CraftingMachine

### inventory_type :: Read `"normal"` or `"with_bar"` or `"with_filters"` or `"with_filters_and_bar"` or `"with_weight_limit"` or `"with_custom_stack_size"`?

The inventory type this container or linked container uses.

Can only be used if this is ContainerEntity or LinkedContainer

### inventory_weight_limit :: Read Weight?

Weight limit of the inventory if inventory_type is `"with_weight_limit"`.

Can only be used if this is ContainerEntity or LinkedContainer

### quality_affects_inventory_size :: Read boolean?

Can only be used if this is ContainerEntity or CargoWagon

### inventory_properties :: Read InventoryWithCustomStackSizeSpecification?

Properties of custom inventory. Only provided if inventory_type is `"with_custom_stack_size"`.

Can only be used if this is ContainerEntity or LinkedContainer

### ingredient_count :: Read uint32?

The max number of ingredients this crafting machine prototype supports.

Can only be used if this is CraftingMachine

### max_item_product_count :: Read uint32?

The max number of item products this crafting machine prototype supports.

Can only be used if this is CraftingMachine

### crafting_speed_quality_multiplier :: Read dictionary[QualityID → double]

Can only be used if this is CraftingMachine

### crafting_categories :: Read dictionary[string → `true`]?

The crafting categories this entity prototype supports.

The value in the dictionary is meaningless and exists just to allow for easy lookup.

Can only be used if this is CraftingMachine or Character

### quality_affects_energy_usage :: Read boolean?

Can only be used if this is CraftingMachine

### energy_usage_quality_multiplier :: Read dictionary[QualityID → double]

Can only be used if this is CraftingMachine

### resource_categories :: Read dictionary[string → `true`]?

The resource categories this character or mining drill supports.

The value in the dictionary is meaningless and exists just to allow for easy lookup.

Can only be used if this is MiningDrill or Character

### energy_usage :: Read double?

The direct energy usage of this entity, if any.

### effectivity :: Read double?

The effectivity of this car prototype, generator prototype.

Can only be used if this is Car or Generator or FusionGenerator

### consumption :: Read double?

The energy consumption of this car prototype.

Can only be used if this is Car

### friction_force :: Read double?

The friction of this vehicle prototype.

Can only be used if this is Vehicle

### braking_force :: Read double?

The braking force of this vehicle prototype.

Can only be used if this is Vehicle

### air_resistance :: Read double?

The air resistance of this rolling stock prototype.

Can only be used if this is RollingStock

### tank_driving :: Read boolean?

If this car prototype uses tank controls to drive.

Can only be used if this is Car

### rotation_speed :: Read double?

The rotation speed of this car prototype.

Can only be used if this is Car

### rotation_snap_angle :: Read double?

The rotation snap angle of this car prototype.

Can only be used if this is Car

### turret_rotation_speed :: Read float?

The turret rotation speed of this car prototype.

Can only be used if this is Car

### guns :: Read dictionary[string → LuaItemPrototype]?

A mapping of the gun name to the gun prototype this prototype uses. `nil` if this entity prototype doesn't use guns.

### indexed_guns :: Read array[LuaItemPrototype]?

A vector of the gun prototypes of this car, spider vehicle, artillery wagon, or turret.

Can only be used if this is Car or SpiderVehicle or ArtilleryTurret or ArtilleryWagon

### speed :: Read double?

The default speed of this flying robot, rolling stock or unit. For rolling stocks, this is their `max_speed`.

Can only be used if this is FlyingRobot or RollingStock or Unit

### speed_multiplier_when_out_of_energy :: Read float?

The speed multiplier when this flying robot is out of energy.

Can only be used if this is FlyingRobot

### max_payload_size :: Read uint32?

The cargo carrying capacity of this logistics or construction robot.

Can only be used if this is RobotWithLogisticsInterface

### max_payload_size_after_bonus :: Read uint32?

The maximum possible cargo carrying capacity of this logistics or construction robot. Bonuses from technologies/forces can't increase the carrying capacity beyond this number.

Can only be used if this is RobotWithLogisticsInterface

### draw_cargo :: Read boolean?

Whether this logistics or construction robot renders its cargo when flying.

Can only be used if this is RobotWithLogisticsInterface

### energy_per_move :: Read double?

The energy consumed per tile moved for this flying robot.

Can only be used if this is FlyingRobot

### energy_per_tick :: Read double?

The energy consumed per tick for this flying robot.

Can only be used if this is FlyingRobot

### min_to_charge :: Read float?

The minimum energy for this flying robot before it tries to recharge.

Can only be used if this is FlyingRobot

### max_to_charge :: Read float?

The maximum energy for this flying robot above which it won't try to recharge when stationing.

Can only be used if this is FlyingRobot

### burner_prototype :: Read LuaBurnerPrototype?

The burner energy source prototype this entity uses, if any.

### electric_energy_source_prototype :: Read LuaElectricEnergySourcePrototype?

The electric energy source prototype this entity uses, if any.

### heat_energy_source_prototype :: Read LuaHeatEnergySourcePrototype?

The heat energy source prototype this entity uses, if any.

### fluid_energy_source_prototype :: Read LuaFluidEnergySourcePrototype?

The fluid energy source prototype this entity uses, if any.

### void_energy_source_prototype :: Read LuaVoidEnergySourcePrototype?

The void energy source prototype this entity uses, if any.

### heat_buffer_prototype :: Read LuaHeatBufferPrototype?

The heat buffer prototype this entity uses, if any.

### building_grid_bit_shift :: Read uint32

The log2 of grid size of the building.

### fluid_usage_per_tick :: Read double?

The fluid usage of this generator prototype. This property is deprecated in favor of LuaEntityPrototype::get_fluid_usage_per_tick and should not be used.

Can only be used if this is Generator

### maximum_temperature :: Read double?

The maximum fluid temperature of this generator prototype.

Can only be used if this is Generator

### burns_fluid :: Read boolean?

Whether this generator prototype burns fluid.

Can only be used if this is Generator or FusionGenerator

### scale_fluid_usage :: Read boolean?

Whether this generator prototype scales fluid usage.

Can only be used if this is Generator

### destroy_non_fuel_fluid :: Read boolean?

Whether this generator prototype destroys non-fuel fluids.

Can only be used if this is Generator

### max_power_output :: Read double?

The default maximum power output of this generator prototype. This property is deprecated in favor of LuaEntityPrototype::get_max_power_output and should not be used.

Can only be used if this is BurnerGenerator or Generator

### target_temperature :: Read float?

The target temperature of this boiler or fusion reactor prototype. If `nil` on a fusion reactor, the target temperature is the default temperature of the output fluid.

Can only be used if this is Boiler or FusionReactor

### boiler_mode :: Read `"heat-fluid-inside"` or `"output-to-separate-pipe"`?

The boiler operation mode of this boiler prototype.

Can only be used if this is Boiler

### fluid_capacity :: Read double

The fluid capacity of this entity or 0 if this entity doesn't support fluids.

Crafting machines will report 0 due to their fluid capacity being whatever a given recipe needs.

### pumping_speed :: Read double?

The pumping speed of this offshore pump or normal pump. This property is deprecated in favor of LuaEntityPrototype::get_pumping_speed and should not be used.

Can only be used if this is OffshorePump or Pump

### valve_mode :: Read ValveMode?

The mode of operation of this valve.

Can only be used if this is Valve

### valve_threshold :: Read float?

The default threshold of this valve.

Can only be used if this is Valve

### bulk :: Read boolean?

Whether this inserter is a bulk-type.

Can only be used if this is Inserter

### uses_inserter_stack_size_bonus :: Read boolean?

Can only be used if this is Inserter

### fluid_source_offset :: Read Vector?

Can only be used if this is OffshorePump

### flow_scaling :: Read boolean?

Can only be used if this is Pump

### allow_custom_vectors :: Read boolean?

Whether this inserter allows custom pickup and drop vectors.

Can only be used if this is Inserter

### allow_burner_leech :: Read boolean?

Whether this inserter allows burner leeching.

Can only be used if this is Inserter

### inserter_pickup_position :: Read Vector?

The pickup position for this inserter.

Can only be used if this is Inserter

### inserter_drop_position :: Read Vector?

The drop position for this inserter.

Can only be used if this is Inserter

### inserter_chases_belt_items :: Read boolean?

True if this inserter chases items on belts for pickup.

Can only be used if this is Inserter

### inserter_max_belt_stack_size :: Read uint8?

The max belt stack size for this inserter.

Can only be used if this is Inserter

### loader_max_belt_stack_size :: Read uint8?

The max belt stack size for this loader.

Can only be used if this is Loader

### loader_adjustable_belt_stack_size :: Read boolean?

True if this loader supports a runtime-adjustable belt stack size.

Can only be used if this is Loader

### loader_wait_for_full_stack :: Read boolean?

True if this loader will not drop items for which total amount is less than a full belt stack.

Can only be used if this is Loader

### loader_respect_insert_limits :: Read boolean?

Can only be used if this is Loader

### count_as_rock_for_filtered_deconstruction :: Read boolean?

If this simple-entity is counted as a rock for the deconstruction planner "trees and rocks only" filter.

Can only be used if this is SimpleEntity

### filter_count :: Read uint32?

The filter count of this inserter, loader, mining drill or logistic chest. For logistic containers, `nil` means no limit.

Can only be used if this is Inserter or Loader or LogisticContainer or MiningDrill

### time_to_live :: Read uint32

The time to live for this prototype or `0` if prototype doesn't have time_to_live or time_before_removed.

### distribution_effectivity :: Read double?

The distribution effectivity for this beacon prototype.

Can only be used if this is Beacon

### distribution_effectivity_bonus_per_quality_level :: Read double?

The distribution effectivity bonus per quality level for this beacon prototype.

Can only be used if this is Beacon

### profile :: Read array[double]?

The beacon profile: extra multiplier applied to the effects received from beacon by the effect receiver based on amount of beacons that reach that effect receiver

Can only be used if this is Beacon

### beacon_counter :: Read `"total"` or `"same_type"`?

The beacon counter used by effect receiver when deciding which sample to take from beacon profile.

Can only be used if this is Beacon

### quality_affects_supply_area_distance :: Read boolean?

Can only be used if this is Beacon

### explosion_beam :: Read double?

Whether this explosion has a beam.

Can only be used if this is Explosion

### explosion_rotate :: Read double?

Whether this explosion rotates.

Can only be used if this is Explosion

### tree_color_count :: Read uint8?

If it is a tree, return the number of colors it supports.

Can only be used if this is Tree

### alert_when_damaged :: Read boolean?

Whether this entity raises an alert when damaged.

Can only be used if this is EntityWithHealth

### alert_when_attacking :: Read boolean?

Whether this turret raises an alert when attacking

Can only be used if this is Turret

### color :: Read Color?

The color of the prototype, if any.

### collision_mask_collides_with_self :: Read boolean

Does this prototype collision mask collide with itself?

### collision_mask_collides_with_tiles_only :: Read boolean

Does this prototype collision mask collide with tiles only?

### collision_mask_considers_tile_transitions :: Read boolean

Does this prototype collision mask consider tile transitions?

### allowed_effects :: Read dictionary[string → boolean]?

The allowed module effects for this entity, if any.

### allowed_module_categories :: Read dictionary[string → `true`]?

The allowed module categories for this entity, if any.

### rocket_parts_required :: Read uint32?

The rocket parts required for this rocket silo prototype.

Can only be used if this is RocketSilo

### rocket_rising_delay :: Read uint8?

The rocket rising delay for this rocket silo prototype.

Can only be used if this is RocketSilo

### launch_wait_time :: Read uint8?

The rocket launch delay for this rocket silo prototype.

Can only be used if this is RocketSilo

### light_blinking_speed :: Read double?

The light blinking speed for this rocket silo prototype.

Can only be used if this is RocketSilo

### door_opening_speed :: Read double?

The door opening speed for this rocket silo prototype.

Can only be used if this is RocketSilo

### launch_to_space_platforms :: Read boolean?

Can only be used if this is RocketSilo

### rising_speed :: Read double?

The rising speed for this rocket silo rocket prototype.

Can only be used if this is RocketSiloRocket

### engine_starting_speed :: Read double?

The engine starting speed for this rocket silo rocket prototype.

Can only be used if this is RocketSiloRocket

### flying_speed :: Read double?

The flying speed for this rocket silo rocket prototype.

Can only be used if this is RocketSiloRocket

### flying_acceleration :: Read double?

The flying acceleration for this rocket silo rocket prototype.

Can only be used if this is RocketSiloRocket

### fixed_recipe :: Read string?

The fixed recipe name for this assembling machine prototype, if any.

Can only be used if this is AssemblingMachine

### construction_radius :: Read double?

The construction radius for this roboport prototype.

Can only be used if this is Roboport

### logistic_radius :: Read double?

The logistic radius for this roboport prototype.

Can only be used if this is Roboport

### energy_per_hit_point :: Read double?

The energy used per hit point taken for this vehicle during collisions.

Can only be used if this is Vehicle

### create_ghost_on_death :: Read boolean

If this prototype will attempt to create a ghost of itself on death.

If this is false then a ghost will never be made, if it's true a ghost may be made.

### ammo_category :: Read string?

Name of the ammo category of this land mine.

Can only be used if this is LandMine

### timeout :: Read uint32?

The time it takes this land mine to arm.

Can only be used if this is LandMine

### trigger_collision_mask :: Read CollisionMask?

The collision mask entities must collide with to make this landmine blow up.

Can only be used if this is LandMine

### fluidbox_prototypes :: Read array[LuaFluidBoxPrototype]

The fluidbox prototypes for this entity.

### neighbour_bonus :: Read double?

Can only be used if this is Reactor or FusionReactor

### container_distance :: Read double?

Can only be used if this is Loader

### belt_distance :: Read double?

Can only be used if this is Loader

### belt_length :: Read double?

Can only be used if this is Loader

### per_lane_filters :: Read boolean?

Can only be used if this is Loader

### is_building :: Read boolean

These are the objects that are considered buildings: AccumulatorPrototype AgriculturalTowerPrototype ArtilleryTurretPrototype AsteroidCollectorPrototype BeaconPrototype BoilerPrototype BurnerGeneratorPrototype CargoBayPrototype CargoLandingPadPrototype CombinatorPrototype → ArithmeticCombinator, DeciderCombinator, SelectorCombinator ConstantCombinatorPrototype ContainerPrototype → LogisticContainer, InfinityContainer, TemporaryContainer CraftingMachinePrototype → AssemblingMachine, RocketSilo, Furnace DisplayPanelPrototype ElectricEnergyInterfacePrototype ElectricPolePrototype EnemySpawnerPrototype FusionGeneratorPrototype FusionReactorPrototype GatePrototype GeneratorPrototype HeatInterfacePrototype HeatPipePrototype InserterPrototype LabPrototype LampPrototype LightningAttractorPrototype LinkedContainerPrototype MarketPrototype MiningDrillPrototype OffshorePumpPrototype PipePrototype → InfinityPipe PipeToGroundPrototype PowerSwitchPrototype ProgrammableSpeakerPrototype ProxyContainerPrototype PumpPrototype RadarPrototype RailPrototype → CurvedRailA, ElevatedCurvedRailA, CurvedRailB, ElevatedCurvedRailB, HalfDiagonalRail, ElevatedHalfDiagonalRail, LegacyCurvedRail, LegacyStraightRail, RailRamp, StraightRail, ElevatedStraightRail RailSignalBasePrototype → RailChainSignal, RailSignal RailSupportPrototype ReactorPrototype RoboportPrototype SimpleEntityPrototype SimpleEntityWithOwnerPrototype → SimpleEntityWithForce SolarPanelPrototype SpacePlatformHubPrototype StorageTankPrototype ThrusterPrototype TrainStopPrototype TransportBeltConnectablePrototype → LaneSplitter, LinkedBelt, Loader1x1, Loader1x2, Splitter, TransportBelt, UndergroundBelt TurretPrototype → AmmoTurret, ElectricTurret, FluidTurret ValvePrototype WallPrototype

### automated_ammo_count :: Read uint32?

The amount of ammo that inserters automatically insert into this ammo turret, artillery turret or artillery wagon.

Can only be used if this is ArtilleryTurret or ArtilleryWagon or AmmoTurret

### max_speed :: Read double?

The max speed of this projectile or flying robot prototype.

Can only be used if this is Projectile or FlyingRobot

### darkness_for_all_lamps_on :: Read float?

Value between 0 and 1 darkness where all lamps of this lamp prototype are on.

Can only be used if this is Lamp

### darkness_for_all_lamps_off :: Read float?

Value between 0 and 1 darkness where all lamps of this lamp prototype are off.

Can only be used if this is Lamp

### always_on :: Read boolean?

Whether the lamp is always on (except when out of power or turned off by the circuit network).

Can only be used if this is Lamp

### min_darkness_to_spawn :: Read float?

The minimum darkness at which this unit spawner can spawn entities.

Can only be used if this is Spawner

### max_darkness_to_spawn :: Read float?

The maximum darkness at which this unit spawner can spawn entities.

Can only be used if this is Spawner

### call_for_help_radius :: Read double?

Can only be used if this is Spawner

### max_count_of_owned_units :: Read double?

Count of enemies this spawner can sustain.

Can only be used if this is Spawner

### max_count_of_owned_defensive_units :: Read double?

Count of defensive enemies this spawner can sustain.

Can only be used if this is Spawner

### max_friends_around_to_spawn :: Read double?

How many friendly units are required within the spawning_radius of this spawner for it to stop producing more units.

Can only be used if this is Spawner

### max_defensive_friends_around_to_spawn :: Read double?

How many defensive friendly units are required within the spawning_radius of this spawner for it to stop producing more units.

Can only be used if this is Spawner

### spawning_radius :: Read double?

How far from the spawner can the units be spawned.

Can only be used if this is Spawner

### spawning_spacing :: Read double?

What spaces should be between the spawned units.

Can only be used if this is Spawner

### radius :: Read double

The radius of this entity prototype. The radius is defined as half the distance between the top left corner and bottom right corner of the collision box.

### cliff_explosive_prototype :: Read string?

The item prototype name used to destroy this cliff.

Can only be used if this is Cliff

### rocket_entity_prototype :: Read LuaEntityPrototype?

The rocket entity prototype associated with this rocket silo prototype.

Can only be used if this is RocketSilo

### has_belt_immunity :: Read boolean?

Whether this unit, car, or character prototype has belt immunity.

Can only be used if this is Unit or Car or Character

### vision_distance :: Read double?

The vision distance of this unit prototype.

Can only be used if this is SpiderUnit or Unit or SegmentedUnit

### absorptions_to_join_attack :: Read dictionary[string → float]?

A table of pollutions amounts that has to be absorbed by the unit's spawner before the unit will leave the spawner and attack the source of the pollution, indexed by the name of each absorbed pollution type.

Can only be used if this is SpiderUnit or Unit

### min_pursue_time :: Read uint32?

The minimum pursue time of this unit prototype.

Can only be used if this is SpiderUnit or Unit

### max_pursue_distance :: Read double?

The maximum pursue distance of this unit prototype.

Can only be used if this is SpiderUnit or Unit

### radar_range :: Read uint32?

The radar range of this unit prototype.

Can only be used if this is SpiderUnit or Unit

### move_while_shooting :: Read boolean?

Whether this unit prototype can move while shooting.

Can only be used if this is Unit

### can_open_gates :: Read boolean?

Whether this unit prototype can open gates.

Can only be used if this is Unit

### affected_by_tiles :: Read boolean?

Whether this unit prototype is affected by tile walking speed modifiers.

Can only be used if this is Unit

### distraction_cooldown :: Read uint32?

The distraction cooldown of this unit prototype.

Can only be used if this is SpiderUnit or Unit

### spawning_time_modifier :: Read double?

The spawning time modifier of this unit prototype.

Can only be used if this is SpiderUnit or Unit

### alert_icon_shift :: Read Vector

The alert icon shift of this entity prototype.

### alert_icon_scale :: Read float

The alert icon scale of this entity prototype.

### lab_inputs :: Read array[string]?

The item prototype names that are the inputs of this lab prototype.

Can only be used if this is Lab

### uses_quality_drain_modifier :: Read boolean

If this lab uses the quality drain modifier when consuming science packs.

Can only be used if this is Lab

### science_pack_drain_rate_percent :: Read uint8

How much science pack durability is required to research one science point.

Can only be used if this is Lab

### effect_receiver :: Read EffectReceiver?

Effect receiver prototype of this crafting machine, lab, or mining drill.

Can only be used if this is CraftingMachine or Lab or MiningDrill

### allow_access_to_all_forces :: Read boolean?

Whether this market allows access to all forces or just friendly ones.

Can only be used if this is Market

### supports_direction :: Read boolean

Whether this entity prototype could possibly ever be rotated.

### terrain_friction_modifier :: Read float?

The terrain friction modifier for this vehicle.

Can only be used if this is Vehicle

### allow_passengers :: Read boolean?

Whether this vehicle allows passengers.

Can only be used if this is Vehicle

### grid_prototype :: Read LuaEquipmentGridPrototype?

The equipment grid prototype for this entity, if any.

### remove_decoratives :: Read `"automatic"` or `"true"` or `"false"`

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

### related_underground_belt :: Read LuaEntityPrototype?

Can only be used if this is TransportBelt

### inserter_stack_size_bonus :: Read uint32?

The built-in stack size bonus of this inserter prototype.

Can only be used if this is Inserter

### protected_from_tile_building :: Read boolean

True if this entity prototype should be included during tile collision checks with LuaTilePrototype::check_collision_with_entities enabled.

### is_entity_with_owner :: Read boolean

True if this is entity-with-owner

### is_military_target :: Read boolean?

True if this entity-with-owner is military target

Can only be used if this is EntityWithOwner

### allow_run_time_change_of_is_military_target :: Read boolean?

True if this entity-with-owner's is_military_target can be changed run-time (on the entity, not on the prototype itself)

Can only be used if this is EntityWithOwner

### logistic_parameters :: Read table?

The logistic parameters for this roboport.

#### Table fields

spawn_and_station_height | :: float |
spawn_and_station_shadow_height_offset | :: float |
stationing_render_layer_swap_height | :: float |
charge_approach_distance | :: float |
logistic_radius | :: float |
construction_radius | :: float |
charging_station_count | :: uint32 |
charging_distance | :: float |
charging_station_shift | :: Vector |
charging_energy | :: double |
charging_threshold_distance | :: float |
robot_vertical_acceleration | :: float |
stationing_offset | :: Vector |
robot_limit | :: uint32 |
logistics_connection_distance | :: float |
robots_shrink_when_entering_and_exiting | :: boolean |

Can only be used if this is Roboport

### height :: Read double?

The height of this spider vehicle prototype.

Can only be used if this is SpiderUnit or SpiderVehicle

### torso_rotation_speed :: Read double?

The torso rotation speed of this spider vehicle prototype.

Can only be used if this is SpiderUnit or SpiderVehicle

### torso_bob_speed :: Read double?

The torso bob speed of this spider vehicle prototype.

Can only be used if this is SpiderUnit or SpiderVehicle

### automatic_weapon_cycling :: Read boolean?

Whether this spider vehicle prototype automatically cycles weapons.

Can only be used if this is SpiderVehicle

### chain_shooting_cooldown_modifier :: Read double?

The chain shooting cooldown modifier of this spider vehicle prototype.

Can only be used if this is SpiderVehicle

### spider_engine :: Read SpiderEngineSpecification?

Can only be used if this is SpiderVehicle or SpiderUnit

### chunk_exploration_radius :: Read double?

The chunk exploration radius of this vehicle prototype.

Can only be used if this is Vehicle

### animation_speed_coefficient :: Read double?

The animation speed coefficient of this belt connectable prototype.

Can only be used if this is BeltConnectable

### manual_range_modifier :: Read double?

The manual range modifier for this artillery turret or wagon prototype.

Can only be used if this is ArtilleryWagon or ArtilleryTurret

### dying_speed :: Read float?

The dying time of this corpse prototype.

Can only be used if this is Corpse

### active_energy_usage :: Read double?

The active energy usage of this rocket silo or combinator prototype.

Can only be used if this is RocketSilo or Combinator

### lamp_energy_usage :: Read double?

The lamp energy usage of this rocket silo prototype.

Can only be used if this is RocketSilo

### crane_energy_usage :: Read double?

The crane energy usage of this agricultural tower prototype.

Can only be used if this is AgriculturalTower

### use_exact_mode :: Read boolean?

Whether this logistic container prototype uses exact mode

Can only be used if this is LogisticContainer

### tile_width :: Read uint32

Specifies the tiling size of the entity, is used to decide, if the center should be in the center of the tile (odd tile size dimension) or on the tile border (even tile size dimension)

### tile_height :: Read uint32

Specifies the tiling size of the entity, is used to decide, if the center should be in the center of the tile (odd tile size dimension) or on the tile border (even tile size dimension)

### vertical_selection_shift :: Read double?

Vertical selection shift used by rolling stocks. It affects selection box vertical position but is also used to shift rolling stock graphics along the rails to fine tune train's look.

Can only be used if this is RollingStock

### spawn_decoration :: Read array[TriggerEffectItem]?

Can only be used if this is Spawner or Turret

### spawn_decorations_on_expansion :: Read boolean?

Can only be used if this is Spawner or Turret

### connection_distance :: Read double?

Can only be used if this is RollingStock

### joint_distance :: Read double?

Can only be used if this is RollingStock

### radius_visualisation_specification :: Read RadiusVisualisationSpecification?

### growth_ticks :: Read uint32?

Can only be used if this is Plant

### harvest_emissions :: Read dictionary[string → double]?

A table of pollutants that this plant will release when it is harvested.

Can only be used if this is Plant

### agricultural_tower_radius :: Read double?

Can only be used if this is AgriculturalTower

### growth_area_radius :: Read double?

Can only be used if this is AgriculturalTower

### growth_grid_tile_size :: Read uint32?

Can only be used if this is AgriculturalTower

### vector_to_place_result :: Read Vector?

Can only be used if this is MiningDrill or CraftingMachine

### surface_conditions :: Read array[SurfaceCondition]?

The surface conditions required to build this entity.

### heating_energy :: Read double

The energy required to keep this entity from freezing. Zero energy means it doesn't freeze.

### auto_setup_collision_box :: Read boolean

Can only be used if this is Corpse

### factoriopedia_alternative :: Read LuaEntityPrototype?

An alternative prototype that will be used to display info about this prototype in Factoriopedia.

### rewire_neighbours_when_destroying :: Read boolean

Can only be used if this is ElectricPole

### solar_panel_performance_at_day :: Read double

Can only be used if this is SolarPanel

### solar_panel_performance_at_night :: Read double

Can only be used if this is SolarPanel

### solar_panel_solar_coefficient_property :: Read LuaSurfacePropertyPrototype

Can only be used if this is SolarPanel

### accepted_seeds :: Read array[string]?

Can only be used if this is AgriculturalTower

### captured_spawner_entity :: Read LuaEntityPrototype?

Can only be used if this is EnemySpawnerPrototype

### min_performance :: Read ThrusterPerformancePoint?

Can only be used if this is ThrusterPrototype

### max_performance :: Read ThrusterPerformancePoint?

Can only be used if this is ThrusterPrototype

### two_direction_only :: Read boolean?

Can only be used if this is FusionReactor

### perceived_performance :: Read PerceivedPerformance?

Can only be used if this is FusionReactor

### overkill_fraction :: Read float?

Can only be used if this is EntityWithHealth

### dying_explosion :: Read array[ExplosionDefinition]?

Can only be used if this is EntityWithHealth

### dying_trigger_effect :: Read array[TriggerEffectItem]?

Can only be used if this is EntityWithHealth

### damaged_trigger_effect :: Read array[TriggerEffectItem]?

Can only be used if this is EntityWithHealth

### attack_reaction :: Read array[AttackReactionItem]?

Can only be used if this is EntityWithHealth

### hide_resistances :: Read boolean?

Can only be used if this is EntityWithHealth

### random_corpse_variation :: Read boolean?

Can only be used if this is EntityWithHealth

### neighbour_connectable :: Read NeighbourConnectable?

Can only be used if this is FusionReactor

### tile_buildability_rules :: Read array[TileBuildabilityRule]?

### support_range :: Read float?

Can only be used if this is RailSupport or RailRamp

### reversing_power_modifier :: Read double?

Can only be used if this is Locomotive

### territory_radius :: Read uint32?

Can only be used if this is SegmentedUnit

### enraged_duration :: Read MapTick?

Can only be used if this is SegmentedUnit

### patrolling_speed :: Read double?

Can only be used if this is SegmentedUnit

### investigating_speed :: Read double?

Can only be used if this is SegmentedUnit

### attacking_speed :: Read double?

Can only be used if this is SegmentedUnit

### enraged_speed :: Read double

Can only be used if this is SegmentedUnit

### acceleration_rate :: Read double

Can only be used if this is SegmentedUnit

### turn_radius :: Read double?

Can only be used if this is SegmentedUnit

### patrolling_turn_radius :: Read double?

Can only be used if this is SegmentedUnit

### turn_smoothing :: Read double?

Can only be used if this is SegmentedUnit

### ticks_per_scan :: Read uint32?

Can only be used if this is SegmentedUnit

### segment_engine :: Read SegmentEngineSpecification?

Can only be used if this is SegmentedUnit

### running_speed :: Read double?

The movement speed of this character prototype.

Can only be used if this is Character

### maximum_corner_sliding_distance :: Read double?

Can only be used if this is Character

### build_distance :: Read uint32?

Can only be used if this is Character

### drop_item_distance :: Read uint32?

Can only be used if this is Character

### reach_distance :: Read uint32?

Can only be used if this is Character

### reach_resource_distance :: Read double?

Can only be used if this is Character

### item_pickup_distance :: Read double?

Can only be used if this is Character

### loot_pickup_distance :: Read double?

Can only be used if this is Character

### enter_vehicle_distance :: Read double?

Can only be used if this is Character

### ticks_to_keep_gun :: Read uint32?

Can only be used if this is Character

### ticks_to_keep_aiming_direction :: Read uint32?

Can only be used if this is Character

### ticks_to_stay_in_combat :: Read uint32?

Can only be used if this is Character

### respawn_time :: Read uint32?

Can only be used if this is Character

### damage_hit_tint :: Read Color?

Can only be used if this is Character

### character_corpse :: Read LuaEntityPrototype?

Can only be used if this is Character

### arm_inventory_size_quality_increase :: Read uint32?

Can only be used if this is AsteroidCollector

### inventory_size_quality_increase :: Read uint32?

Can only be used if this is AsteroidCollector

### passive_energy_usage :: Read double?

Can only be used if this is AsteroidCollector

### arm_energy_usage :: Read double?

Can only be used if this is AsteroidCollector

### arm_slow_energy_usage :: Read double?

Can only be used if this is AsteroidCollector

### energy_usage_quality_scaling :: Read float?

Can only be used if this is AsteroidCollector

### arm_count_base :: Read uint32?

Can only be used if this is AsteroidCollector

### arm_count_quality_scaling :: Read uint32?

Can only be used if this is AsteroidCollector

### head_collection_radius :: Read float?

Can only be used if this is AsteroidCollector

### collection_box_offset :: Read float?

Can only be used if this is AsteroidCollector

### deposit_radius :: Read float?

Can only be used if this is AsteroidCollector

### arm_speed_base :: Read float?

Can only be used if this is AsteroidCollector

### arm_speed_quality_scaling :: Read float?

Can only be used if this is AsteroidCollector

### arm_angular_speed_cap_base :: Read float?

Can only be used if this is AsteroidCollector

### arm_angular_speed_cap_quality_scaling :: Read float?

Can only be used if this is AsteroidCollector

### tether_size :: Read float?

Can only be used if this is AsteroidCollector

### unpowered_arm_speed_scale :: Read float?

Can only be used if this is AsteroidCollector

### minimal_arm_swing_segment_retraction :: Read uint32?

Can only be used if this is AsteroidCollector

### held_items_offset :: Read float?

Can only be used if this is AsteroidCollector

### held_items_spread :: Read float?

Can only be used if this is AsteroidCollector

### held_items_display_count :: Read uint8?

Can only be used if this is AsteroidCollector

### arm_color_gradient :: Read array[Color]?

Can only be used if this is AsteroidCollector

### fluid_buffer_size :: Read FluidAmount?

Can only be used if this is FluidTurret

### activation_buffer_ratio :: Read FluidAmount?

Can only be used if this is FluidTurret

### fluid_buffer_input_flow :: Read FluidAmount?

Can only be used if this is FluidTurret

### range_from_player :: Read double?

Can only be used if this is CombatRobot

### combat_robot_friction :: Read double?

Can only be used if this is CombatRobot

### destroy_action :: Read array[TriggerItem]?

Can only be used if this is CombatRobot

### follows_player :: Read boolean?

Can only be used if this is CombatRobot

### strike_effect :: Read array[TriggerItem]?

Can only be used if this is Lightning

### attractor_hit_effect :: Read array[TriggerItem]?

Can only be used if this is Lightning

### damage :: Read double?

When lightning strikes something that is not a lightning attractor, this damage is applied to the target.

Can only be used if this is Lightning

### energy :: Read double?

When lightning hits a lightning attractor this amount of energy is transferred to the lightning attractor.

Can only be used if this is Lightning

### connection_category :: Read array[string]

Can only be used if this is FluidWagon

### quality_affects_capacity :: Read boolean?

Can only be used if this is FluidWagon

### valid :: Read boolean

Is this object valid? This Lua object holds a reference to an object within the game engine. It is possible that the game-engine object is removed whilst a mod still holds the corresponding Lua object. If that happens, the object becomes invalid, i.e. this attribute will be `false`. Mods are advised to check for object validity if any change to the game state might have occurred between the creation of the Lua object and its access.

### object_name :: Read string

The class name of this object. Available even when `valid` is false. For LuaStruct objects it may also be suffixed with a dotted path to a member of the struct.

Class used in

- LuaAchievementPrototype::to_build
- LuaAchievementPrototype::dont_build
- LuaAchievementPrototype::excluded
- LuaAchievementPrototype::included
- LuaAchievementPrototype::damage_dealer
- LuaAchievementPrototype::to_kill
- LuaAchievementPrototype::not_to_kill
- LuaEntity::get_upgrade_target()
- LuaEntity::get_priority_target()
- LuaEntity::prototype
- LuaEntity::ghost_prototype
- LuaEntity::priority_targets
- LuaEntityPrototype::corpses
- LuaEntityPrototype::next_upgrade
- LuaEntityPrototype::remains_when_mined
- LuaEntityPrototype::additional_pastable_entities
- LuaEntityPrototype::rocket_entity_prototype
- LuaEntityPrototype::related_underground_belt
- LuaEntityPrototype::factoriopedia_alternative
- LuaEntityPrototype::captured_spawner_entity
- LuaEntityPrototype::character_corpse
- LuaFluidBoxPrototype::entity
- LuaItemPrototype::get_entity_filters()
- LuaItemPrototype::place_result
- LuaItemPrototype::plant_result
- LuaItemPrototype::rails
- LuaItemPrototype::support
- LuaPlayer::get_alerts()
- LuaPrototypes::get_entity_filtered()
- LuaPrototypes::entity
- LuaSegment::prototype
- LuaSegmentedUnit::prototype
- Alert
- EntityID
- EntityWithQualityID
- ExplosionDefinition
- FactoriopediaID
- PipetteID
- SegmentSpecification
- on_cancelled_upgrade
- on_marked_for_upgrade
- on_post_entity_died
- on_post_segmented_unit_died
- on_pre_ghost_upgraded