Factorio Runtime DocsVersion 2.0.23

ClassLuaEntityPrototypeextendsLuaPrototypeBasechanged

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, quality?) changeduint?

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?) newdouble

The crafting speed of this crafting-machine.

The crafting speed of this crafting-machine.

get_supply_area_distance(quality?) newdouble

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?) newdouble

The maximum wire distance for this entity. [...]

The maximum wire distance for this entity. [...]

get_max_circuit_wire_distance(quality?) newdouble

The maximum circuit wire distance for this entity. [...]

The maximum circuit wire distance for this entity. [...]

get_max_energy_usage(quality?) newdouble

The theoretical maximum energy usage for this entity.

The theoretical maximum energy usage for this entity.

get_max_energy_production(quality?) newdouble

The theoretical maximum energy production for this entity.

The theoretical maximum energy production for this entity.

get_max_energy(quality?) newdouble?

The max energy for this flying robot prototype.

The max energy for this flying robot prototype.

get_inserter_extension_speed(quality?) newdouble?

The extension speed of this inserter.

The extension speed of this inserter.

get_inserter_rotation_speed(quality?) newdouble?

The rotation speed of this inserter.

The rotation speed of this inserter.

get_researching_speed(quality?) newdouble?

The base researching speed of this lab prototype.

The base researching speed of this lab prototype.

get_max_distance_of_sector_revealed(quality?) newuint?

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?) newuint?

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?) newfloat

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?
per_lane_filters new :: R boolean?
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 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.

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.

heating_energy new :: R double

The energy required to keep this entity from freezing. [...]

The energy required to keep this entity from freezing. [...]

auto_setup_collision_box new :: R boolean
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, quality?) → uint?changed

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?


get_crafting_speed(quality?) → doublenew

The crafting speed of this crafting-machine.

Parameters

quality :: QualityID?

Can only be used if this is CraftingMachine

get_supply_area_distance(quality?) → doublenew

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?) → doublenew

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

Parameters

quality :: QualityID?


get_max_circuit_wire_distance(quality?) → doublenew

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?) → doublenew

The theoretical maximum energy usage for this entity.

Parameters

quality :: QualityID?


get_max_energy_production(quality?) → doublenew

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?) → floatnew

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

per_lane_filters :: Read boolean  ?new

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.



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

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.


heating_energy :: Read double   new

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


auto_setup_collision_box :: Read boolean   new

Can only be used if this is Corpse

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.

Classes

Concepts

Events

Defines