Factorio Runtime Docs

Class LuaEntityPrototype

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.

help()  → string

All methods and properties that this object supports.

All methods and properties that this object supports.

type [R] :: string

Type of this prototype.

Type of this prototype.

name [R] :: string

Name of this prototype.

Name of this prototype.

localised_name [R] :: LocalisedString
localised_description [R] :: LocalisedString
max_health [R] :: 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 [R] :: table

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[SimpleItemStack]?

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 [R] :: BoundingBox

The bounding box used for drawing the entity icon.

The bounding box used for drawing the entity icon.

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

collision_mask_with_flags [R] :: CollisionMaskWithFlags
default_collision_mask_with_flags [R] :: CollisionMaskWithFlags

The hardcoded default collision mask (with flags) for this entity prototype type.

The hardcoded default collision mask (with flags) for this entity prototype type.

order [R] :: string

The string used to alphabetically sort these prototypes.

The string used to alphabetically sort these prototypes.

group [R] :: LuaGroup

Group of this entity.

Group of this entity.

subgroup [R] :: LuaGroup

Subgroup of this entity.

Subgroup of this entity.

healing_per_tick [R] :: float?

Amount this entity can heal per tick, if any.

Amount this entity can heal per tick, if any.

emissions_per_second [R] :: double

Amount of pollution emissions per second this entity will create.

Amount of pollution emissions per second this entity will create.

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 [R] :: uint?

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.

logistic_mode [R] :: string?

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] :: double

The cursor size used when shooting at this entity.

The cursor size used when shooting at this entity.

created_smoke [R] :: table?

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

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

created_effect [R] :: array[TriggerItem]?

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

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

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.

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_speed [R] :: double?

The crafting speed..

The crafting speed..

crafting_categories [R] :: dictionary[string → boolean]?

The crafting categories this entity prototype supports.

The crafting categories this entity prototype supports.

resource_categories [R] :: dictionary[string → boolean]?

The resource categories this character or mining drill supports.

The resource categories this character or mining drill supports.

supply_area_distance [R] :: double?

The supply area of this electric pole or beacon prototype.

The supply area of this electric pole or beacon prototype.

max_wire_distance [R] :: double

The maximum wire distance for this entity.

The maximum wire distance for this entity.

max_circuit_wire_distance [R] :: double

The maximum circuit wire distance for this entity.

The maximum circuit wire distance for this entity.

energy_usage [R] :: double?

The direct energy usage of this entity, if any.

The direct energy usage of this entity, if any.

max_energy_usage [R] :: double

The theoretical maximum energy usage for this entity.

The theoretical maximum energy usage for this entity.

max_energy_production [R] :: double

The theoretical maximum energy production for this this entity.

The theoretical maximum energy production for this this entity.

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] :: double?

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 vehicule, or artillery wagon or turret.

A vector of the gun prototypes of this car, spider vehicule, or 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.

max_energy [R] :: double?

The max energy for this flying robot.

The max energy 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.

fluid [R] :: LuaFluidPrototype?

The fluid this offshore pump produces.

The fluid this offshore pump produces.

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.

stack [R] :: boolean?

Whether this inserter is a stack-type.

Whether this inserter is a stack-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_extension_speed [R] :: double?

The extension speed of this inserter.

The extension speed of this inserter.

inserter_rotation_speed [R] :: double?

The rotation speed of this inserter.

The rotation speed of this inserter.

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, or logistic chest.

The filter count of this inserter, loader, 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.

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.

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 hitpoint taken for this vehicle during collisions.

The energy used per hitpoint 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 [R] :: CollisionMaskWithFlags?

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

Everything in the following list is considered a building.

Everything in the following list is considered a building.

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.

pollution_to_join_attack [R] :: float?

The amount of pollution that has to be absorbed by the unit's spawner before the unit will leave the spawner and attack the source of the pollution.

The amount of pollution that has to be absorbed by the unit's spawner before the unit will leave the spawner and attack the source of the pollution.

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.

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.

researching_speed [R] :: double?

The base researching speed of this lab prototype.

The base researching speed of this lab prototype.

item_slot_count [R] :: uint?

The item slot count of this constant combinator prototype.

The item slot count of this constant combinator prototype.

base_productivity [R] :: double?

The base productivity of this crafting machine, lab, or mining drill.

The base productivity 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.

max_distance_of_sector_revealed [R] :: uint?

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

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

max_distance_of_nearby_sector_revealed [R] :: uint?

The radius of the area constantly revealed by this radar, in chunks.

The radius of the area constantly revealed by this radar, in chunks.

adjacent_tile_collision_box [R] :: BoundingBox?

The bounding box that specifies which tiles adjacent to the offshore pump should be checked.

The bounding box that specifies which tiles adjacent to the offshore pump should be checked.

adjacent_tile_collision_mask [R] :: CollisionMask?

Tiles adjacent to the offshore pump must not collide with this collision mask.

Tiles adjacent to the offshore pump must not collide with this collision mask.

adjacent_tile_collision_test [R] :: CollisionMask?

If this mask is not empty, tiles adjacent to the offshore pump must not collide with this collision mask.

If this mask is not empty, tiles adjacent to the offshore pump must not collide with this collision mask.

center_collision_mask [R] :: CollisionMask?

The collision mask used only for collision test with tile directly at offshore pump position.

The collision mask used only for collision test with tile directly at offshore pump position.

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] :: string
related_underground_belt [R] :: LuaEntityPrototype?
inserter_stack_size_bonus [R] :: double?

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

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

protected_from_tile_building [R] :: boolean

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

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

is_entity_with_owner [R] :: boolean

True if this is entity-with-owner

True if this is entity-with-owner

is_military_target [R] :: boolean?

True if this entity-with-owner is military target

True if this entity-with-owner is military target

allow_run_time_change_of_is_military_target [R] :: boolean?

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

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

logistic_parameters [R] :: table?

The logistic parameters for this roboport.

The logistic parameters for this roboport.

height [R] :: double?

The height of this spider vehicle prototype.

The height of this spider vehicle prototype.

torso_rotation_speed [R] :: double?

The torso rotation speed of this spider vehicle prototype.

The torso rotation speed of this spider vehicle prototype.

torso_bob_speed [R] :: double?

The torso bob speed of this spider vehicle prototype.

The torso bob speed of this spider vehicle prototype.

automatic_weapon_cycling [R] :: boolean?

Whether this spider vehicle prototype automatically cycles weapons.

Whether this spider vehicle prototype automatically cycles weapons.

chain_shooting_cooldown_modifier [R] :: double?

The chain shooting cooldown modifier of this spider vehicle prototype.

The chain shooting cooldown modifier of this spider vehicle prototype.

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.

idle_energy_usage [R] :: double?

The idle energy usage of this rocket silo prototype.

The idle energy usage of this rocket silo 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)

running_speed [R] :: double?

The current movement speed of this character, including effects from exoskeletons, tiles, stickers and shooting.

The current movement speed of this character, including effects from exoskeletons, tiles, stickers and shooting.

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.

Methods

has_flag(flag)  → boolean

Test whether this entity prototype has a certain flag set.

Parameters

flag :: string

The flag to test. See EntityPrototypeFlags for a list of flags.

The flag to test. See EntityPrototypeFlags for a list of flags.

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

help()  → string

All methods and properties that this object supports.

Attributes

type :: string Read

Type of this prototype.


name :: string Read

Name of this prototype.


localised_name :: LocalisedString Read


localised_description :: LocalisedString Read


max_health :: float Read

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


infinite_resource :: boolean? Read

Whether this resource is infinite.

Can only be used if this is ResourceEntity

minimum_resource_amount :: uint? Read

Minimum amount of this resource.

Can only be used if this is ResourceEntity

normal_resource_amount :: uint? Read

The normal amount for this resource.

Can only be used if this is ResourceEntity

infinite_depletion_resource_amount :: uint? Read

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 :: string? Read

Name of the category of this resource.

Note

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

Can only be used if this is ResourceEntity

mineable_properties :: table Read

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

Table fields

minable :: boolean

Is this entity mineable at all?

Is this entity mineable at all?

mining_time :: double

Energy required to mine an entity.

Energy required to mine an entity.

mining_particle :: string?

Prototype name of the particle produced when mining this entity. Will only be present if this entity produces any particle during mining.

Prototype name of the particle produced when mining this entity. Will only be present if this entity produces any particle during mining.

products :: array[Product]?

Products obtained by mining this entity.

Products obtained by mining this entity.

fluid_amount :: double?

The required fluid amount if any.

The required fluid amount if any.

required_fluid :: string?

The prototype name of the required fluid if any.

The prototype name of the required fluid if any.

mining_trigger :: array[TriggerItem]?

The mining trigger if any.

The mining trigger if any.


items_to_place_this :: array[SimpleItemStack]? Read

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


collision_box :: BoundingBox Read

The bounding box used for collision checking.


secondary_collision_box :: BoundingBox? Read

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


map_generator_bounding_box :: BoundingBox Read

The bounding box used for map generator collision checking.


selection_box :: BoundingBox Read

The bounding box used for drawing selection.


drawing_box :: BoundingBox Read

The bounding box used for drawing the entity icon.


sticker_box :: BoundingBox Read

The bounding box used to attach sticker type entities.


collision_mask :: CollisionMask Read

The collision masks this entity uses


collision_mask_with_flags :: CollisionMaskWithFlags Read


default_collision_mask_with_flags :: CollisionMaskWithFlags Read

The hardcoded default collision mask (with flags) for this entity prototype type.


order :: string Read

The string used to alphabetically sort these prototypes. It is a simple string that has no additional semantic meaning.


group :: LuaGroup Read

Group of this entity.


subgroup :: LuaGroup Read

Subgroup of this entity.


healing_per_tick :: float? Read

Amount this entity can heal per tick, if any.


emissions_per_second :: double Read

Amount of pollution emissions per second this entity will create.


corpses :: dictionary[string → LuaEntityPrototype]? Read

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 :: boolean Read

Is this entity selectable?


selection_priority :: uint Read

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


weight :: double? Read

The weight of this vehicle prototype.

Can only be used if this is Vehicle

resistances :: dictionary[string → Resistance]? Read

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 :: string? Read

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


next_upgrade :: LuaEntityPrototype? Read

The next upgrade for this entity, if any.


loot :: array[Loot]? Read

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

Can only be used if this is EntityWithHealth

repair_speed_modifier :: uint? Read

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

The range of this turret.

Can only be used if this is Turret

autoplace_specification :: AutoplaceSpecification? Read

Autoplace specification for this entity prototype, if any.


belt_speed :: double? Read

The speed of this transport belt.

Can only be used if this is TransportBeltConnectable

result_units :: array[UnitSpawnDefinition]? Read

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 :: array[TriggerItem]? Read

The attack result of this entity, if any.


final_attack_result :: array[TriggerItem]? Read

The final attack result for this projectile.

Can only be used if this is Projectile

attack_parameters :: AttackParameters? Read

The attack parameters for this entity, if any.


spawn_cooldown :: table? Read

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 :: double? Read

The mining radius of this mining drill prototype.

Can only be used if this is MiningDrill

mining_speed :: double? Read

The mining speed of this mining drill/character prototype.

Can only be used if this is MiningDrill or Character

logistic_mode :: string? Read

The logistic mode of this logistic container. One of "requester", "active-provider", "passive-provider", "buffer", "storage", "none".

Can only be used if this is LogisticContainer

max_underground_distance :: uint8? Read

The max underground distance for underground belts and underground pipes.

Can only be used if this is UndergroundBelt or PipeToGround

flags :: EntityPrototypeFlags Read

The flags for this entity prototype.


remains_when_mined :: array[LuaEntityPrototype] Read

The remains left behind when this entity is mined.


additional_pastable_entities :: array[LuaEntityPrototype] Read

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


allow_copy_paste :: boolean Read

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


shooting_cursor_size :: double Read

The cursor size used when shooting at this entity.


created_smoke :: table? Read

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
starting_frame_speed :: float
starting_frame_speed_deviation :: float
speed_from_center :: float
speed_from_center_deviation :: float

created_effect :: array[TriggerItem]? Read

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


map_color :: Color? Read

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


friendly_map_color :: Color Read

The friendly map color used when charting this entity.


enemy_map_color :: Color Read

The enemy map color used when charting this entity.


build_base_evolution_requirement :: double Read

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


instruments :: array[ProgrammableSpeakerInstrument]? Read

The instruments for this programmable speaker.

Can only be used if this is ProgrammableSpeaker

max_polyphony :: uint? Read

The maximum polyphony for this programmable speaker.

Can only be used if this is ProgrammableSpeaker

module_inventory_size :: uint? Read

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


ingredient_count :: uint? Read

The max number of ingredients this crafting machine prototype supports.

Can only be used if this is CraftingMachine

crafting_speed :: double? Read

The crafting speed..

Can only be used if this is CraftingMachine

crafting_categories :: dictionary[string → boolean]? Read

The crafting categories this entity prototype supports.

Note

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

Can only be used if this is CraftingMachine Character

resource_categories :: dictionary[string → boolean]? Read

The resource categories this character or mining drill supports.

Note

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

supply_area_distance :: double? Read

The supply area of this electric pole or beacon prototype.

Can only be used if this is ElectricPole or Beacon

max_wire_distance :: double Read

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


max_circuit_wire_distance :: double Read

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


energy_usage :: double? Read

The direct energy usage of this entity, if any.


max_energy_usage :: double Read

The theoretical maximum energy usage for this entity.


max_energy_production :: double Read

The theoretical maximum energy production for this this entity.


effectivity :: double? Read

The effectivity of this car prototype, generator prototype.

Can only be used if this is Car or Generator

consumption :: double? Read

The energy consumption of this car prototype.

Can only be used if this is Car

friction_force :: double? Read

The friction of this vehicle prototype.

Can only be used if this is Vehicle

braking_force :: double? Read

The braking force of this vehicle prototype.

Can only be used if this is Vehicle

air_resistance :: double? Read

The air resistance of this rolling stock prototype.

Can only be used if this is RollingStock

tank_driving :: boolean? Read

If this car prototype uses tank controls to drive.

Can only be used if this is Car

rotation_speed :: double? Read

The rotation speed of this car prototype.

Can only be used if this is Car

turret_rotation_speed :: double? Read

The turret rotation speed of this car prototype.

Can only be used if this is Car

guns :: dictionary[string → LuaItemPrototype]? Read

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


indexed_guns :: array[LuaItemPrototype]? Read

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

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

speed :: double? Read

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 :: float? Read

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

Can only be used if this is FlyingRobot

max_payload_size :: uint? Read

The max payload size of this logistics or construction robot.

Can only be used if this is RobotWithLogisticsInterface

draw_cargo :: boolean? Read

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

Can only be used if this is RobotWithLogisticsInterface

energy_per_move :: double? Read

The energy consumed per tile moved for this flying robot.

Can only be used if this is FlyingRobot

energy_per_tick :: double? Read

The energy consumed per tick for this flying robot.

Can only be used if this is FlyingRobot

max_energy :: double? Read

The max energy for this flying robot.

Can only be used if this is FlyingRobot

min_to_charge :: float? Read

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

Can only be used if this is FlyingRobot

max_to_charge :: float? Read

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 :: LuaBurnerPrototype? Read

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


electric_energy_source_prototype :: LuaElectricEnergySourcePrototype? Read

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


heat_energy_source_prototype :: LuaHeatEnergySourcePrototype? Read

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


fluid_energy_source_prototype :: LuaFluidEnergySourcePrototype? Read

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


void_energy_source_prototype :: LuaVoidEnergySourcePrototype? Read

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


heat_buffer_prototype :: LuaHeatBufferPrototype? Read

The heat buffer prototype this entity uses, if any.


building_grid_bit_shift :: uint Read

The log2 of grid size of the building


fluid_usage_per_tick :: double? Read

The fluid usage of this generator prototype.

Can only be used if this is Generator

maximum_temperature :: double? Read

The maximum fluid temperature of this generator prototype.

Can only be used if this is Generator

burns_fluid :: boolean? Read

Whether this generator prototype burns fluid.

Can only be used if this is Generator

scale_fluid_usage :: boolean? Read

Whether this generator prototype scales fluid usage.

Can only be used if this is Generator

destroy_non_fuel_fluid :: boolean? Read

Whether this generator prototype destroys non-fuel fluids.

Can only be used if this is Generator

max_power_output :: double? Read

The default maximum power output of this generator prototype.

Can only be used if this is Generator

target_temperature :: double? Read

The target temperature of this boiler prototype.

Can only be used if this is Boiler

fluid :: LuaFluidPrototype? Read

The fluid this offshore pump produces.

Can only be used if this is OffshorePump

fluid_capacity :: double Read

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

Note

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


pumping_speed :: double? Read

The pumping speed of this offshore or normal pump.

Can only be used if this is OffshorePump or Pump

stack :: boolean? Read

Whether this inserter is a stack-type.

Can only be used if this is Inserter

allow_custom_vectors :: boolean? Read

Whether this inserter allows custom pickup and drop vectors.

Can only be used if this is Inserter

allow_burner_leech :: boolean? Read

Whether this inserter allows burner leeching.

Can only be used if this is Inserter

inserter_extension_speed :: double? Read

The extension speed of this inserter.

Can only be used if this is Inserter

inserter_rotation_speed :: double? Read

The rotation speed of this inserter.

Can only be used if this is Inserter

inserter_pickup_position :: Vector? Read

The pickup position for this inserter.

Can only be used if this is Inserter

inserter_drop_position :: Vector? Read

The drop position for this inserter.

Can only be used if this is Inserter

inserter_chases_belt_items :: boolean? Read

True if this inserter chases items on belts for pickup.

Can only be used if this is Inserter

count_as_rock_for_filtered_deconstruction :: boolean? Read

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

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

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

time_to_live :: uint Read

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


distribution_effectivity :: double? Read

The distribution effectivity for this beacon prototype.

Can only be used if this is Beacon

explosion_beam :: double? Read

Whether this explosion has a beam.

Can only be used if this is Explosion

explosion_rotate :: double? Read

Whether this explosion rotates.

Can only be used if this is Explosion

tree_color_count :: uint8? Read

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

Can only be used if this is Tree

alert_when_damaged :: boolean? Read

Whether this entity raises an alert when damaged.

Can only be used if this is EntityWithHealth

alert_when_attacking :: boolean? Read

Whether this turret raises an alert when attacking

Can only be used if this is Turret

color :: Color? Read

The color of the prototype, if any.


collision_mask_collides_with_self :: boolean Read

Does this prototype collision mask collide with itself?


collision_mask_collides_with_tiles_only :: boolean Read

Does this prototype collision mask collide with tiles only?


collision_mask_considers_tile_transitions :: boolean Read

Does this prototype collision mask consider tile transitions?


allowed_effects :: dictionary[string → boolean]? Read

The allowed module effects for this entity, if any.


rocket_parts_required :: uint? Read

The rocket parts required for this rocket silo prototype.

Can only be used if this is RocketSilo

rocket_rising_delay :: uint8? Read

The rocket rising delay for this rocket silo prototype.

Can only be used if this is RocketSilo

launch_wait_time :: uint8? Read

The rocket launch delay for this rocket silo prototype.

Can only be used if this is RocketSilo

light_blinking_speed :: double? Read

The light blinking speed for this rocket silo prototype.

Can only be used if this is RocketSilo

door_opening_speed :: double? Read

The door opening speed for this rocket silo prototype.

Can only be used if this is RocketSilo

rising_speed :: double? Read

The rising speed for this rocket silo rocket prototype.

Can only be used if this is RocketSiloRocket

engine_starting_speed :: double? Read

The engine starting speed for this rocket silo rocket prototype.

Can only be used if this is RocketSiloRocket

flying_speed :: double? Read

The flying speed for this rocket silo rocket prototype.

Can only be used if this is RocketSiloRocket

flying_acceleration :: double? Read

The flying acceleration for this rocket silo rocket prototype.

Can only be used if this is RocketSiloRocket

fixed_recipe :: string? Read

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

Can only be used if this is AssemblingMachine

construction_radius :: double? Read

The construction radius for this roboport prototype.

Can only be used if this is Roboport

logistic_radius :: double? Read

The logistic radius for this roboport prototype.

Can only be used if this is Roboport

energy_per_hit_point :: double? Read

The energy used per hitpoint taken for this vehicle during collisions.

Can only be used if this is Vehicle

create_ghost_on_death :: boolean Read

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

Note

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


ammo_category :: string? Read

Name of the ammo category of this land mine.

Can only be used if this is LandMine

timeout :: uint? Read

The time it takes this land mine to arm.

Can only be used if this is LandMine

trigger_collision_mask :: CollisionMaskWithFlags? Read

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

Can only be used if this is LandMine

fluidbox_prototypes :: array[LuaFluidBoxPrototype] Read

The fluidbox prototypes for this entity.


neighbour_bonus :: double? Read

Can only be used if this is Reactor

container_distance :: double? Read

Can only be used if this is Loader

belt_distance :: double? Read

Can only be used if this is Loader

belt_length :: double? Read

Can only be used if this is Loader

is_building :: boolean Read

Everything in the following list is considered a building.

  • 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
  • PlayerPortPrototype
  • 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 :: uint? Read

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 :: double? Read

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 :: float? Read

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 :: float? Read

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 :: boolean? Read

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 :: float? Read

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

Can only be used if this is Spawner

max_darkness_to_spawn :: float? Read

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

Can only be used if this is Spawner

call_for_help_radius :: double? Read

Can only be used if this is Spawner

max_count_of_owned_units :: double? Read

Count of enemies this spawner can sustain.

Can only be used if this is Spawner

max_friends_around_to_spawn :: double? Read

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 :: double? Read

How far from the spawner can the units be spawned.

Can only be used if this is Spawner

spawning_spacing :: double? Read

What spaces should be between the spawned units.

Can only be used if this is Spawner

radius :: double Read

The radius of this entity prototype.


cliff_explosive_prototype :: string? Read

The item prototype name used to destroy this cliff.

Can only be used if this is Cliff

rocket_entity_prototype :: LuaEntityPrototype? Read

The rocket entity prototype associated with this rocket silo prototype.

Can only be used if this is RocketSilo

has_belt_immunity :: boolean? Read

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

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

vision_distance :: double? Read

The vision distance of this unit prototype.

Can only be used if this is Unit

pollution_to_join_attack :: float? Read

The amount of pollution that has to be absorbed by the unit's spawner before the unit will leave the spawner and attack the source of the pollution.

Can only be used if this is Unit

min_pursue_time :: uint? Read

The minimum pursue time of this unit prototype.

Can only be used if this is Unit

max_pursue_distance :: double? Read

The maximum pursue distance of this unit prototype.

Can only be used if this is Unit

radar_range :: uint? Read

The radar range of this unit prototype.

Can only be used if this is Unit

move_while_shooting :: boolean? Read

Whether this unit prototype can move while shooting.

Can only be used if this is Unit

can_open_gates :: boolean? Read

Whether this unit prototype can open gates.

Can only be used if this is Unit

affected_by_tiles :: boolean? Read

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

Can only be used if this is Unit

distraction_cooldown :: uint? Read

The distraction cooldown of this unit prototype.

Can only be used if this is Unit

spawning_time_modifier :: double? Read

The spawning time modifier of this unit prototype.

Can only be used if this is Unit

alert_icon_shift :: Vector Read

The alert icon shift of this entity prototype.


lab_inputs :: array[string]? Read

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

Can only be used if this is Lab

researching_speed :: double? Read

The base researching speed of this lab prototype.

Can only be used if this is Lab

item_slot_count :: uint? Read

The item slot count of this constant combinator prototype.

Can only be used if this is ConstantCombinator

base_productivity :: double? Read

The base productivity 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 :: boolean? Read

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

Can only be used if this is Market

supports_direction :: boolean Read

Whether this entity prototype could possibly ever be rotated.


terrain_friction_modifier :: float? Read

The terrain friction modifier for this vehicle.

Can only be used if this is Vehicle

allow_passengers :: boolean? Read

Whether this vehicle allows passengers.

Can only be used if this is Vehicle

max_distance_of_sector_revealed :: uint? Read

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

Can only be used if this is Radar

max_distance_of_nearby_sector_revealed :: uint? Read

The radius of the area constantly revealed by this radar, in chunks.

Can only be used if this is Radar

adjacent_tile_collision_box :: BoundingBox? Read

The bounding box that specifies which tiles adjacent to the offshore pump should be checked.

Can only be used if this is OffshorePump

adjacent_tile_collision_mask :: CollisionMask? Read

Tiles adjacent to the offshore pump must not collide with this collision mask.

Can only be used if this is OffshorePump

adjacent_tile_collision_test :: CollisionMask? Read

If this mask is not empty, tiles adjacent to the offshore pump must not collide with this collision mask.

Can only be used if this is OffshorePump

center_collision_mask :: CollisionMask? Read

The collision mask used only for collision test with tile directly at offshore pump position.

Can only be used if this is OffshorePump

grid_prototype :: LuaEquipmentGridPrototype? Read

The equipment grid prototype for this entity, if any.


remove_decoratives :: string Read


related_underground_belt :: LuaEntityPrototype? Read

Can only be used if this is TransportBelt

inserter_stack_size_bonus :: double? Read

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

Can only be used if this is Inserter

protected_from_tile_building :: boolean Read

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


is_entity_with_owner :: boolean Read

True if this is entity-with-owner


is_military_target :: boolean? Read

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 :: boolean? Read

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 :: table? Read

The logistic parameters for this roboport.

Table fields

spawn_and_station_height :: float
spawn_and_station_shadow_height_offset :: 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

Note

Both the charging_station_shift and stationing_offset vectors are tables with x and y keys instead of an array.

Can only be used if this is Roboport

height :: double? Read

The height of this spider vehicle prototype.

Can only be used if this is SpiderVehicle

torso_rotation_speed :: double? Read

The torso rotation speed of this spider vehicle prototype.

Can only be used if this is SpiderVehicle

torso_bob_speed :: double? Read

The torso bob speed of this spider vehicle prototype.

Can only be used if this is SpiderVehicle

automatic_weapon_cycling :: boolean? Read

Whether this spider vehicle prototype automatically cycles weapons.

Can only be used if this is SpiderVehicle

chain_shooting_cooldown_modifier :: double? Read

The chain shooting cooldown modifier of this spider vehicle prototype.

Can only be used if this is SpiderVehicle

chunk_exploration_radius :: double? Read

The chunk exploration radius of this spider vehicle prototype.

Can only be used if this is SpiderVehicle

animation_speed_coefficient :: double? Read

The animation speed coefficient of this belt connectable prototype.

Can only be used if this is BeltConnectable

manual_range_modifier :: double? Read

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

subclass(ArtilleryWagon, ArtilleryTurret)


dying_speed :: float? Read

The dying time of this corpse prototype.

Can only be used if this is Corpse

active_energy_usage :: double? Read

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

Can only be used if this is RocketSilo or Combinator

idle_energy_usage :: double? Read

The idle energy usage of this rocket silo prototype.

Can only be used if this is RocketSilo

lamp_energy_usage :: double? Read

The lamp energy usage of this rocket silo prototype.

Can only be used if this is RocketSilo

use_exact_mode :: boolean? Read

Whether this logistic container prototype uses exact mode

Can only be used if this is LogisticContainer

tile_width :: uint Read

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 :: uint Read

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)


running_speed :: double? Read

The current movement speed of this character, including effects from exoskeletons, tiles, stickers and shooting.

Can only be used if this is Character

maximum_corner_sliding_distance :: double? Read

Can only be used if this is Character

build_distance :: uint? Read

Can only be used if this is Character

drop_item_distance :: uint? Read

Can only be used if this is Character

reach_distance :: uint? Read

Can only be used if this is Character

reach_resource_distance :: double? Read

Can only be used if this is Character

item_pickup_distance :: double? Read

Can only be used if this is Character

loot_pickup_distance :: double? Read

Can only be used if this is Character

enter_vehicle_distance :: double? Read

Can only be used if this is Character

ticks_to_keep_gun :: uint? Read

Can only be used if this is Character

ticks_to_keep_aiming_direction :: uint? Read

Can only be used if this is Character

ticks_to_stay_in_combat :: uint? Read

Can only be used if this is Character

respawn_time :: uint? Read

Can only be used if this is Character

damage_hit_tint :: Color? Read

Can only be used if this is Character

character_corpse :: LuaEntityPrototype? Read

Can only be used if this is Character

valid :: boolean Read

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 :: string Read

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

Events

Concepts

Defines

Builtin types

>|