Factorio.com|Forums|Wiki|Mod Portal|API Docs Prototype|Runtime|Auxiliary

# Factorio Runtime Docs Version 2.0.7

## Class LuaEntityPrototype extends LuaPrototypeBase changed

Prototype of an entity.

## 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) | → uint? | 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?) new | → double | The crafting speed of this crafting-machine.
The crafting speed of this crafting-machine.
get_supply_area_distance(quality?) new | → 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?) new | → double | The maximum wire distance for this entity. [...]
The maximum wire distance for this entity. [...]
get_max_circuit_wire_distance(quality?) new | → double | The maximum circuit wire distance for this entity. [...]
The maximum circuit wire distance for this entity. [...]
get_max_energy_usage(quality?) new | → double | The theoretical maximum energy usage for this entity.
The theoretical maximum energy usage for this entity.
get_max_energy_production(quality?) new | → double | The theoretical maximum energy production for this entity.
The theoretical maximum energy production for this entity.
get_max_energy(quality?) new | → double? | The max energy for this flying robot prototype.
The max energy for this flying robot prototype.
get_inserter_extension_speed(quality?) new | → double? | The extension speed of this inserter.
The extension speed of this inserter.
get_inserter_rotation_speed(quality?) new | → double? | The rotation speed of this inserter.
The rotation speed of this inserter.
get_researching_speed(quality?) new | → double? | The base researching speed of this lab prototype.
The base researching speed of this lab prototype.
get_max_distance_of_sector_revealed(quality?) new | → uint? | 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?) new | → uint? | 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?) new | → float | Max health of this entity. [...]
Max health of this entity. [...]
infinite_resource | :: R boolean? | Whether this resource is infinite.
Whether this resource is infinite.
minimum_resource_amount | :: R uint? | Minimum amount of this resource.
Minimum amount of this resource.
normal_resource_amount | :: R uint? | The normal amount for this resource.
The normal amount for this resource.
infinite_depletion_resource_amount | :: R uint? | 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 changed | :: 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[ItemStackDefinition] ? | 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 new | :: 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 new | :: 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 changed | :: 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 uint | 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.
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 changed | :: R float? | Repair-speed modifier for this entity, if any. [...]
Repair-speed modifier for this entity, if any. [...]
turret_range | :: R uint? | 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.
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.
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 new | :: R uint8? | The resource drain rate percent of this mining drill prototype.
The resource drain rate percent of this mining drill prototype.
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 changed | :: 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.
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 uint? | The maximum polyphony for this programmable speaker.
The maximum polyphony for this programmable speaker.
module_inventory_size | :: R uint? | The module inventory size. [...]
The module inventory size. [...]
inventory_type new | :: R `"normal"` or `"with_bar"` or `"with_filters_and_bar"`? | The inventory type this container or linked container uses.
The inventory type this container or linked container uses.
ingredient_count | :: R uint? | The max number of ingredients this crafting machine prototype supports.
The max number of ingredients this crafting machine prototype supports.
crafting_categories | :: R dictionary[string → `true`] ? | The crafting categories this entity prototype supports. [...]
The crafting categories this entity prototype supports. [...]
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.
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 uint? | The max payload size of this logistics or construction robot.
The max payload size 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 uint | 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 double? | The target temperature of this boiler prototype.
The target temperature of this boiler prototype.
boiler_mode changed | :: 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 or normal pump.
The pumping speed of this offshore or normal pump.
bulk new | :: R boolean? | Whether this inserter is a bulk-type.
Whether this inserter is a bulk-type.
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.
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 uint? | 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 uint | 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 new | :: 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 new | :: 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 new | :: 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.
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 new | :: 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 uint? | 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.
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 uint? | The time it takes this land mine to arm.
The time it takes this land mine to arm.
trigger_collision_mask changed | :: 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? |
is_building | :: R boolean |
automated_ammo_count | :: R uint? | The amount of ammo that inserters automatically insert into this ammo-turret or artillery-turret.
The amount of ammo that inserters automatically insert into this ammo-turret or artillery-turret.
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_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.
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 new | :: 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 uint? | 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 uint? | 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 uint? | 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.
effect_receiver new | :: 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 uint? | 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 changed | :: 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.
chunk_exploration_radius | :: R double? | The chunk exploration radius of this spider vehicle prototype.
The chunk exploration radius of this spider 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.
use_exact_mode | :: R boolean? | Whether this logistic container prototype uses exact mode
Whether this logistic container prototype uses exact mode
tile_width | :: R uint | 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 uint | 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 new | :: R uint? |
harvest_emissions new | :: 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.
growth_grid_tile_size new | :: R uint? |
vector_to_place_result | :: R Vector? |
surface_conditions new | :: R array[SurfaceCondition] ? | The surface conditions required to build this entity.
The surface conditions required to build this entity.
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 uint? |
drop_item_distance | :: R uint? |
reach_distance | :: R uint? |
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 uint? |
ticks_to_keep_aiming_direction | :: R uint? |
ticks_to_stay_in_combat | :: R uint? |
respawn_time | :: R uint? |
damage_hit_tint | :: R Color? |
character_corpse | :: R LuaEntityPrototype? |
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 |
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 |

## 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) → uint?

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

#### Parameters

index | :: defines.inventory |

### get_crafting_speed(quality?) → double new

The crafting speed of this crafting-machine.

#### Parameters

quality | :: QualityID? |

Can only be used if this is CraftingMachine

### get_supply_area_distance(quality?) → double new

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 new

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 new

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 new

The theoretical maximum energy usage for this entity.

#### Parameters

quality | :: QualityID? |

### get_max_energy_production(quality?) → double new

The theoretical maximum energy production for this entity.

#### Parameters

quality | :: QualityID? |

### get_max_energy(quality?) → double?new

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?new

The extension speed of this inserter.

#### Parameters

quality | :: QualityID? |

Can only be used if this is Inserter

### get_inserter_rotation_speed(quality?) → double?new

The rotation speed of this inserter.

#### Parameters

quality | :: QualityID? |

Can only be used if this is Inserter

### get_researching_speed(quality?) → double?new

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?) → uint?new

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?) → uint?new

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 new

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

#### Parameters

quality | :: QualityID? |

## Attributes

### infinite_resource :: Read boolean?

Whether this resource is infinite.

Can only be used if this is ResourceEntity

### minimum_resource_amount :: Read uint?

Minimum amount of this resource.

Can only be used if this is ResourceEntity

### normal_resource_amount :: Read uint?

The normal amount for this resource.

Can only be used if this is ResourceEntity

### infinite_depletion_resource_amount :: Read uint?

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 changed

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

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

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 new

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] new

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] changed

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 uint

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.

### 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?changed

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 uint?

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.

### 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

### 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?new

The resource drain rate percent of this mining drill prototype.

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 ?changed

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.

### 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 uint?

The maximum polyphony for this programmable speaker.

Can only be used if this is ProgrammableSpeaker

### module_inventory_size :: Read uint?

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

### inventory_type :: Read `"normal"` or `"with_bar"` or `"with_filters_and_bar"`?new

The inventory type this container or linked container uses.

Can only be used if this is ContainerEntity or LinkedContainer

### ingredient_count :: Read uint?

The max number of ingredients this crafting machine prototype supports.

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

### 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

### 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

### 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 uint?

The max payload size of this logistics or construction robot.

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 uint

The log2 of grid size of the building

### fluid_usage_per_tick :: Read double?

The fluid usage of this generator prototype.

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

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

Can only be used if this is BurnerGenerator or Generator

### target_temperature :: Read double?

The target temperature of this boiler prototype.

Can only be used if this is Boiler

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

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 or normal pump.

Can only be used if this is OffshorePump or Pump

### bulk :: Read boolean?new

Whether this inserter is a bulk-type.

Can only be used if this is Inserter

### 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

### 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 uint?

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 uint

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?new

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

Can only be used if this is Beacon

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

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"`?new

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

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`] ?new

The allowed module categories for this entity, if any.

### rocket_parts_required :: Read uint?

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

### 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 uint?

The time it takes this land mine to arm.

Can only be used if this is LandMine

### trigger_collision_mask :: Read CollisionMask?changed

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

### 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

### is_building :: Read boolean

These are the objects that are considered buildings: AccumulatorPrototype ArtilleryTurretPrototype BeaconPrototype BoilerPrototype BurnerGeneratorPrototype CombinatorPrototype → ArithmeticCombinator, DeciderCombinator ConstantCombinatorPrototype ContainerPrototype → LogisticContainer, InfinityContainer CraftingMachinePrototype → AssemblingMachine, RocketSilo, Furnace ElectricEnergyInterfacePrototype ElectricPolePrototype EnemySpawnerPrototype GatePrototype GeneratorPrototype HeatInterfacePrototype HeatPipePrototype InserterPrototype LabPrototype LampPrototype LinkedContainerPrototype MarketPrototype MiningDrillPrototype OffshorePumpPrototype PipePrototype → InfinityPipe PipeToGroundPrototype PowerSwitchPrototype ProgrammableSpeakerPrototype PumpPrototype RadarPrototype RailPrototype → CurvedRail, StraightRail RailSignalBasePrototype → RailChainSignal, RailSignal ReactorPrototype RoboportPrototype SimpleEntityPrototype SimpleEntityWithOwnerPrototype → SimpleEntityWithForce SolarPanelPrototype StorageTankPrototype TrainStopPrototype TransportBeltConnectablePrototype → LinkedBelt, Loader1x1, Loader1x2, Splitter, TransportBelt, UndergroundBelt TurretPrototype → AmmoTurret, ElectricTurret, FluidTurret WallPrototype

### automated_ammo_count :: Read uint?

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

Can only be used if this is ArtilleryTurret 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_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

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

### 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

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

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 uint?

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 uint?

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 uint?

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

### effect_receiver :: Read EffectReceiver?new

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 uint?

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 ?changed

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 | :: uint |
charging_distance | :: float |
charging_station_shift | :: Vector |
charging_energy | :: double |
charging_threshold_distance | :: float |
robot_vertical_acceleration | :: float |
stationing_offset | :: Vector |
robot_limit | :: uint |
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

### chunk_exploration_radius :: Read double?

The chunk exploration radius of this spider vehicle prototype.

Can only be used if this is SpiderVehicle

### 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

### use_exact_mode :: Read boolean?

Whether this logistic container prototype uses exact mode

Can only be used if this is LogisticContainer

### tile_width :: Read uint

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 uint

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 uint?new

Can only be used if this is Plant

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

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

Can only be used if this is Plant

### growth_grid_tile_size :: Read uint?new

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] ?new

The surface conditions required to build this entity.

### 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 uint?

Can only be used if this is Character

### drop_item_distance :: Read uint?

Can only be used if this is Character

### reach_distance :: Read uint?

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 uint?

Can only be used if this is Character

### ticks_to_keep_aiming_direction :: Read uint?

Can only be used if this is Character

### ticks_to_stay_in_combat :: Read uint?

Can only be used if this is Character

### respawn_time :: Read uint?

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

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