LuaEntityPrototype

Prototype of an entity.

class LuaEntityPrototype - sort
has_flag(flag) → boolean Does this prototype have a flag enabled?
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.
type :: string [R] Type of this prototype.
name :: string [R] Name of this prototype.
localised_name :: LocalisedString [R]
localised_description :: LocalisedString [R]
max_health :: float [R] Max health of this entity.
infinite_resource :: boolean [R] Is this resource infinite?
minimum_resource_amount :: uint [R] Minimum amount of this resource.
normal_resource_amount :: uint [R] The normal amount for this resource.
infinite_depletion_resource_amount :: uint [R] Every time this infinite resource 'ticks' down it is reduced by this amount.
resource_category :: string [R] Category of this resource.
mineable_properties :: table [R] Whether this entity is minable and what can be obtained by mining it.
items_to_place_this :: array of SimpleItemStack [R] Items that when placed will produce this entity.
collision_box :: BoundingBox [R] The bounding box used for collision checking.
secondary_collision_box :: BoundingBox [R] The secondary bounding box used for collision checking, or nil if it doesn't have one.
map_generator_bounding_box :: BoundingBox [R] The bounding box used for map generator collision checking.
selection_box :: BoundingBox [R] The bounding box used for drawing selection.
drawing_box :: BoundingBox [R] The bounding box used for drawing the entity icon.
sticker_box :: BoundingBox [R] The bounding box used to attach sticker type entities.
collision_mask :: CollisionMask [R] The collision masks this entity uses
collision_mask_with_flags :: CollisionMaskWithFlags [R]
order :: string [R] Order string of this prototype.
group :: LuaGroup [R] Group of this entity.
subgroup :: LuaGroup [R] Subgroup of this entity.
healing_per_tick :: float [R] Amount this entity can heal per tick.
emissions_per_second :: double [R] Amount of pollution emissions per second this entity will create.
corpses :: dictionary stringLuaEntityPrototype [R] Corpses used when this entity is destroyed.
selectable_in_game :: boolean [R] Is this entity selectable?
selection_priority :: uint [R] The selection priority of this entity - a value between 0 and 255
weight :: double [R] The weight of this vehicle prototype or nil if not a vehicle prototype.
resistances :: Resistances [R]
fast_replaceable_group :: string [R] The group of mutually fast-replaceable entities.
next_upgrade :: LuaEntityPrototype [R] The next upgrade for this entity or nil.
loot :: Loot [R] Loot that will be dropped when this entity is killed.
repair_speed_modifier :: uint [R] Repair-speed modifier for this entity.
turret_range :: uint [R] The range of this turret or nil if this isn't a turret related prototype.
autoplace_specification :: AutoplaceSpecification [R] Autoplace specification for this entity prototype.
belt_speed :: double [R] The speed of this transport belt or nil if this isn't a transport belt related prototype.
result_units :: array of UnitSpawnDefinition [R] The result units and spawn points with weight and evolution factor for a biter spawner entity.
attack_result :: Trigger [R] The attack result of this entity if the entity has one, else nil.
final_attack_result :: Trigger [R] The final attack result for projectiles nil if not a projectile
attack_parameters :: table [R] The attack parameters for this entity or nil if the entity doesn't use attack parameters.
spawn_cooldown :: table [R] The spawning cooldown for this enemy spawner prototype or nil.
mining_drill_radius :: double [R] The mining radius of this mining drill prototype or nil if this isn't a mining drill prototype.
mining_speed :: double [R] The mining speed of this mining drill/character prototype or nil.
logistic_mode :: string [R] The logistic mode of this logistic container or nil if this isn't a logistic container prototype.
max_underground_distance :: uint [R] The max underground distance for underground belts and underground pipes or nil if this isn't one of those prototypes.
flags :: EntityPrototypeFlags [R] The entity prototype flags for this entity.
remains_when_mined :: array of LuaEntityPrototype [R] The remains left behind when this entity is mined.
additional_pastable_entities :: array of LuaEntityPrototype [R] Entities this entity can be pasted onto in addition to the normal allowed ones.
allow_copy_paste :: boolean [R] When false copy-paste is not allowed for this entity.
shooting_cursor_size :: double [R] The cursor size used when shooting at this entity.
created_smoke :: table [R] The smoke trigger run when this entity is built or nil.
created_effect :: Trigger [R] The trigger run when this entity is created or nil.
map_color :: Color [R] The map color used when charting this entity if a friendly or enemy color isn't defined or nil.
friendly_map_color :: Color [R] The friendly map color used when charting this entity.
enemy_map_color :: Color [R] The enemy map color used when charting this entity.
build_base_evolution_requirement :: double [R] The evolution requirement to build this entity as a base when expanding enemy bases.
instruments :: array of ProgrammableSpeakerInstrument [R] The instruments for this programmable speaker or nil.
max_polyphony :: uint [R] The maximum polyphony for this programmable speaker or nil.
module_inventory_size :: uint [R] The module inventory size or nil if this entity doesn't support modules.
ingredient_count :: uint [R] The max number of ingredients this crafting-machine prototype supports or nil if this isn't a crafting-machine prototype.
crafting_speed :: double [R] The crafting speed of this crafting-machine or nil.
crafting_categories :: dictionary stringboolean [R] The crafting categories this entity supports.
resource_categories :: dictionary stringboolean [R] The resource categories this mining drill supports or nil if not a mining dill.
supply_area_distance :: double [R] The supply area of this electric pole, beacon, or nil if this is neither.
max_wire_distance :: double [R] The maximum wire distance for this entity.
max_circuit_wire_distance :: double [R] The maximum circuit wire distance for this entity.
energy_usage :: double [R] The direct energy usage of this entity or nil if this entity doesn't have a direct energy usage.
max_energy_usage :: double [R] The theoretical maximum energy usage for this entity.
effectivity :: double [R] The effectivity of this car prototype, generator prototype or nil.
consumption :: double [R] The energy consumption of this car prototype or nil if not a car prototype.
friction_force :: double [R] The friction of this vehicle prototype or nil if not a vehicle prototype.
braking_force :: double [R] The braking force of this vehicle prototype or nil if not a vehicle prototype.
tank_driving :: boolean [R] If this car prototype uses tank controls to drive or nil if this is not a car prototype.
rotation_speed :: double [R] The rotation speed of this car prototype or nil if not a car prototype.
turret_rotation_speed :: double [R] The turret rotation speed of this car prototype or nil if not a car prototype.
guns :: dictionary stringLuaItemPrototype [R] The guns this car prototype uses or nil if not a car prototype.
speed :: double [R] The default speed of this flying robot, rolling stock, unit or nil.
speed_multiplier_when_out_of_energy :: float [R] The speed multiplier when this flying robot is out of energy or nil.
max_payload_size :: uint [R] The max payload size of this logistics or construction robot or nil.
draw_cargo :: boolean [R] Whether this logistics or construction robot renders its cargo when flying or nil.
energy_per_move :: double [R] The energy consumed per tile moved for this flying robot or nil.
energy_per_tick :: double [R] The energy consumed per tick for this flying robot or nil.
max_energy :: double [R] The max energy for this flying robot or nil.
min_to_charge :: float [R] The minimum energy for this flying robot before it tries to recharge or nil.
max_to_charge :: float [R] The maximum energy for this flying robot above which it won't try to recharge when stationing or nil.
burner_prototype :: LuaBurnerPrototype [R] The burner energy source prototype this entity uses or nil.
electric_energy_source_prototype :: LuaElectricEnergySourcePrototype [R] The electric energy source prototype this entity uses or nil.
heat_energy_source_prototype :: LuaHeatEnergySourcePrototype [R] The heat energy source prototype this entity uses or nil.
fluid_energy_source_prototype :: LuaFluidEnergySourcePrototype [R] The fluid energy source prototype this entity uses or nil.
void_energy_source_prototype :: LuaFluidEnergySourcePrototype [R] The void energy source prototype this entity uses or nil.
building_grid_bit_shift :: uint [R] The log2 of grid size of the building
fluid_usage_per_tick :: double [R] The fluid usage of this generator prototype or nil.
maximum_temperature :: double [R] The maximum fluid temperature of this generator prototype or nil.
target_temperature :: double [R] The target temperature of this boiler prototype or nil.
fluid :: LuaFluidPrototype [R] The fluid this offshore pump produces or nil.
fluid_capacity :: double [R] The fluid capacity of this entity or 0 if this entity doesn't support fluids.
pumping_speed :: double [R] The pumping speed of this offshore pump, normal pump, or nil.
stack :: boolean [R] If this inserter is a stack-type.
allow_custom_vectors :: boolean [R] If this inserter allows custom pickup and drop vectors.
allow_burner_leech :: boolean [R] If this inserter allows burner leeching.
inserter_extension_speed :: double [R] The extension speed of this inserter or nil.
inserter_rotation_speed :: double [R] The rotation speed of this inserter or nil.
inserter_pickup_position :: Vector [R] The pickup position for this inserter or nil.
inserter_drop_position :: Vector [R] The drop position for this inserter or nil.
inserter_chases_belt_items :: boolean [R] True if this inserter chases items on belts for pickup or nil.
count_as_rock_for_filtered_deconstruction :: boolean [R] If this simple-entity is counted as a rock for the deconstruction planner "trees and rocks only" filter.
filter_count :: uint [R] The filter count of this inserter, loader, or requester chest or nil.
production :: double [R] The max production this solar panel prototype produces or nil.
time_to_live :: uint [R] The time to live for this prototype or 0 if prototype doesn't have time_to_live or time_before_removed.
distribution_effectivity :: double [R] The distribution effectivity for this beacon prototype or nil if not a beacon prototype.
explosion_beam :: double [R] Does this explosion have a beam or nil if not an explosion prototype.
explosion_rotate :: double [R] Does this explosion rotate or nil if not an explosion prototype.
tree_color_count :: uint8 [R] If it is a tree, return the number of colors it supports.
alert_when_damaged :: boolean [R] Does this entity with health prototype alert when damaged?
alert_when_attacking :: boolean [R] Does this turret prototype alert when attacking?
color :: Color [R] The color of the prototype, or nil if the prototype doesn't have color.
collision_mask_collides_with_self :: boolean [R] Does this prototype collision mask collide with itself?
collision_mask_collides_with_tiles_only :: boolean [R] Does this prototype collision mask collide with tiles only?
collision_mask_considers_tile_transitions :: boolean [R] Does this prototype collision mask consider tile transitions?
allowed_effects :: dictionary stringboolean [R] The allowed module effects for this entity or nil.
rocket_parts_required :: uint [R] The rocket parts required for this rocket silo prototype or nil.
fixed_recipe :: string [R] The fixed recipe name for this assembling machine prototype or nil.
construction_radius :: double [R] The construction radius for this roboport prototype or nil.
logistic_radius :: double [R] The logistic radius for this roboport prototype or nil.
energy_per_hit_point :: double [R] The energy used per hitpoint taken for this vehicle during collisions or nil.
create_ghost_on_death :: boolean [R] If this prototype will attempt to create a ghost of itself on death.
timeout :: uint [R] The time it takes this land mine to arm.
fluidbox_prototypes :: array of LuaFluidBoxPrototype [R] The fluidbox prototypes for this entity.
neighbour_bonus :: double [R]
neighbour_collision_increase :: double [R] Controls how much a reactor extends when connected to other reactors.
container_distance :: double [R]
belt_distance :: double [R]
belt_length :: double [R]
is_building :: boolean [R]
automated_ammo_count :: uint [R] The amount of ammo that inserters automatically insert into this ammo-turret or artillery-turret or nil.
max_speed :: double [R] The max speed of this projectile prototype or flying robot prototype or nil.
darkness_for_all_lamps_on :: float [R] Value between 0 and 1 darkness where all lamps of this lamp prototype are on or nil.
darkness_for_all_lamps_off :: float [R] Value between 0 and 1 darkness where all lamps of this lamp prototype are off or nil.
always_on :: boolean [R] Whether the lamp is always on (except when out of power or turned off by the circuit network) or nil.
min_darkness_to_spawn :: float [R] The minimum darkness at which this unit spawner can spawn entities.
max_darkness_to_spawn :: float [R] The maximum darkness at which this unit spawner can spawn entities.
call_for_help_radius :: double [R]
max_count_of_owned_units :: double [R] Count of enemies this spawner can sustain.
max_friends_around_to_spawn :: double [R] How many friendly units are required within the spawning_radius of this spawner for it to stop producing more units.
spawning_radius :: double [R] How far from the spawner can the units be spawned.
spawning_spacing :: double [R] What spaces should be between the spawned units.
radius :: double [R] The radius of this entity prototype.
cliff_explosive_prototype :: string [R] The item prototype name used to destroy this cliff or nil.
has_belt_immunity :: boolean [R] Whether this unit or car prototype has belt immunity, nil if not car or unit prototype.
vision_distance :: double [R] The vision distance of this unit prototype or nil.
pollution_to_join_attack :: float [R] 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 :: uint [R] The minimum pursue time of this unit prototype or nil.
max_pursue_distance :: double [R] The maximum pursue distance of this unit prototype or nil.
radar_range :: uint [R] The radar range of this unit prototype or nil.
move_while_shooting :: boolean [R] Whether this unit prototype can move while shooting or nil.
can_open_gates :: boolean [R] Whether this unit prototype can open gates or nil.
affected_by_tiles :: boolean [R] Whether this unit prototype is affected by tile walking speed modifiers or nil.
distraction_cooldown :: uint [R] The distraction cooldown of this unit prototype or nil.
spawning_time_modifier :: double [R] The spawning time modifier of this unit prototype or nil.
alert_icon_shift :: Vector [R] The alert icon shift of this entity prototype.
lab_inputs :: array of string [R] The item prototype names that are the inputs of this lab prototype or nil.
researching_speed :: double [R] The base researching speed of this lab prototype or nil.
item_slot_count :: uint [R] The item slot count of this constant combinator prototype or nil.
base_productivity :: double [R] The base productivity of this crafting machine, lab, or mining drill, or nil.
allow_access_to_all_forces :: boolean [R] If this market allows access to all forces or just friendly ones.
supports_direction :: boolean [R] If this entity prototype could possibly ever be rotated.
terrain_friction_modifier :: float [R] The terrain friction modifier for this vehicle.
max_distance_of_sector_revealed :: uint [R] The radius of the area this radar can chart, in chunks.
max_distance_of_nearby_sector_revealed :: uint [R] The radius of the area constantly revealed by this radar, in chunks.
running_speed :: double [R]
maximum_corner_sliding_distance :: double [R]
build_distance :: uint [R]
drop_item_distance :: uint [R]
reach_distance :: uint [R]
reach_resource_distance :: double [R]
item_pickup_distance :: double [R]
loot_pickup_distance :: double [R]
enter_vehicle_distance :: double [R]
ticks_to_keep_gun :: uint [R]
ticks_to_keep_aiming_direction :: uint [R]
ticks_to_stay_in_combat :: uint [R]
respawn_time :: uint [R]
damage_hit_tint :: Color [R]
character_corpse :: LuaEntityPrototype [R]
valid :: boolean [R] Is this object valid?
help() → string All methods, and properties that this object supports.
has_flag(flag) → boolean

Does this prototype have a flag enabled?

Parameters
flag :: string: The flag to check. Must be one of
  • "not-rotatable"
  • "placeable-neutral"
  • "placeable-player"
  • "placeable-enemy"
  • "placeable-off-grid"
  • "player-creation"
  • "building-direction-8-way"
  • "filter-directions"
  • "fast-replaceable-no-build-while-moving"
  • "breaths-air"
  • "not-repairable"
  • "not-on-map"
  • "not-deconstructable"
  • "not-blueprintable"
  • "hide-from-bonus-gui"
  • "hide-alt-info"
  • "fast-replaceable-no-cross-type-while-moving"
  • "no-gap-fill-while-building"
  • "not-flammable"
  • "no-automated-item-removal"
  • "no-automated-item-insertion"
  • "not-upgradable"
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
type :: string [Read-only]

Type of this prototype.

name :: string [Read-only]

Name of this prototype.

localised_name :: LocalisedString [Read-only]

localised_description :: LocalisedString [Read-only]

max_health :: float [Read-only]

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

infinite_resource :: boolean [Read-only]

Is this resource infinite? Will be nil when used on a non-resource.

minimum_resource_amount :: uint [Read-only]

Minimum amount of this resource. Will be nil when used on a non-resource.

normal_resource_amount :: uint [Read-only]

The normal amount for this resource. nil when not a resource.

infinite_depletion_resource_amount :: uint [Read-only]

Every time this infinite resource 'ticks' down it is reduced by this amount. nil when not a resource. Meaningless if this isn't an infinite type resource.

resource_category :: string [Read-only]

Category of this resource. "basic-solid", "basic-fluid" or nil (when not a resource).

Note: During data stage this property is named "category".
mineable_properties :: table [Read-only]

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

Table with the following fields:
  • minable :: boolean: Is this entity mineable at all?
  • mining_time :: double: Energy required to mine an entity.
  • mining_particle :: string (optional): Prototype name of the particle produced when mining this entity. Will only be present if this entity produces any particle during mining.
  • products :: array of Product (optional): Products obtained by mining this entity.
  • fluid_amount :: double (optional): The required fluid amount if any.
  • required_fluid :: string (optional): The prototype name of the required fluid if any.
  • mining_trigger :: Trigger (optional): The mining trigger if any.

items_to_place_this :: array of SimpleItemStack [Read-only]

Items that when placed will produce this entity. It is an array of items or nil for no items.

collision_box :: BoundingBox [Read-only]

The bounding box used for collision checking.

secondary_collision_box :: BoundingBox [Read-only]

The secondary bounding box used for collision checking, or nil if it doesn't have one. This is only used in rails and rail remnants.

map_generator_bounding_box :: BoundingBox [Read-only]

The bounding box used for map generator collision checking.

selection_box :: BoundingBox [Read-only]

The bounding box used for drawing selection.

drawing_box :: BoundingBox [Read-only]

The bounding box used for drawing the entity icon.

sticker_box :: BoundingBox [Read-only]

The bounding box used to attach sticker type entities.

collision_mask :: CollisionMask [Read-only]

The collision masks this entity uses

collision_mask_with_flags :: CollisionMaskWithFlags [Read-only]

order :: string [Read-only]

Order string of this prototype.

group :: LuaGroup [Read-only]

Group of this entity.

subgroup :: LuaGroup [Read-only]

Subgroup of this entity.

healing_per_tick :: float [Read-only]

Amount this entity can heal per tick.

emissions_per_second :: double [Read-only]

Amount of pollution emissions per second this entity will create.

corpses :: dictionary stringLuaEntityPrototype [Read-only]

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

selectable_in_game :: boolean [Read-only]

Is this entity selectable?

selection_priority :: uint [Read-only]

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

weight :: double [Read-only]

The weight of this vehicle prototype or nil if not a vehicle prototype.

resistances :: Resistances [Read-only]

fast_replaceable_group :: string [Read-only]

The group of mutually fast-replaceable entities. Possibly nil.

next_upgrade :: LuaEntityPrototype [Read-only]

The next upgrade for this entity or nil.

loot :: Loot [Read-only]

Loot that will be dropped when this entity is killed. nil if there is no loot.

repair_speed_modifier :: uint [Read-only]

Repair-speed modifier for this entity. Actual repair speed will be tool_repair_speed * entity_repair_speed_modifier. May be nil.

turret_range :: uint [Read-only]

The range of this turret or nil if this isn't a turret related prototype.

autoplace_specification :: AutoplaceSpecification [Read-only]

Autoplace specification for this entity prototype. nil if none.

belt_speed :: double [Read-only]

The speed of this transport belt or nil if this isn't a transport belt related prototype.

result_units :: array of UnitSpawnDefinition [Read-only]

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

Each UnitSpawnDefinition is a table:

  • unit :: string: Prototype name of the unit that would be spawned
  • spawn_points :: array of SpawnPoint: Each SpawnPoint is a table:
    • evolution_factor :: double: Evolution factor for which this weight applies.
    • weight :: double: Probability of spawning this unit at this evolution factor.

attack_result :: Trigger [Read-only]

The attack result of this entity if the entity has one, else nil.

final_attack_result :: Trigger [Read-only]

The final attack result for projectiles nil if not a projectile

attack_parameters :: table [Read-only]

The attack parameters for this entity or nil if the entity doesn't use attack parameters.

It is a table:

spawn_cooldown :: table [Read-only]

The spawning cooldown for this enemy spawner prototype or nil. It is a table:

mining_drill_radius :: double [Read-only]

The mining radius of this mining drill prototype or nil if this isn't a mining drill prototype.

mining_speed :: double [Read-only]

The mining speed of this mining drill/character prototype or nil.

logistic_mode :: string [Read-only]

The logistic mode of this logistic container or nil if this isn't a logistic container prototype.

max_underground_distance :: uint [Read-only]

The max underground distance for underground belts and underground pipes or nil if this isn't one of those prototypes.

flags :: EntityPrototypeFlags [Read-only]

The entity prototype flags for this entity.

remains_when_mined :: array of LuaEntityPrototype [Read-only]

The remains left behind when this entity is mined.

additional_pastable_entities :: array of LuaEntityPrototype [Read-only]

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

allow_copy_paste :: boolean [Read-only]

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

shooting_cursor_size :: double [Read-only]

The cursor size used when shooting at this entity.

created_smoke :: table [Read-only]

The smoke trigger run when this entity is built or nil.

It is a table:

    created_effect :: Trigger [Read-only]

    The trigger run when this entity is created or nil.

    map_color :: Color [Read-only]

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

    friendly_map_color :: Color [Read-only]

    The friendly map color used when charting this entity.

    enemy_map_color :: Color [Read-only]

    The enemy map color used when charting this entity.

    build_base_evolution_requirement :: double [Read-only]

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

    instruments :: array of ProgrammableSpeakerInstrument [Read-only]

    The instruments for this programmable speaker or nil.

    max_polyphony :: uint [Read-only]

    The maximum polyphony for this programmable speaker or nil.

    module_inventory_size :: uint [Read-only]

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

    ingredient_count :: uint [Read-only]

    The max number of ingredients this crafting-machine prototype supports or nil if this isn't a crafting-machine prototype.

    crafting_speed :: double [Read-only]

    The crafting speed of this crafting-machine or nil.

    crafting_categories :: dictionary stringboolean [Read-only]

    The crafting categories this entity supports. Only meaningful when this is a crafting-machine or player entity type.

    Note: The value in the dictionary is meaningless and exists just to allow the dictionary type for easy lookup.
    resource_categories :: dictionary stringboolean [Read-only]

    The resource categories this mining drill supports or nil if not a mining dill.

    Note: The value in the dictionary is meaningless and exists just to allow the dictionary type for easy lookup.
    supply_area_distance :: double [Read-only]

    The supply area of this electric pole, beacon, or nil if this is neither.

    max_wire_distance :: double [Read-only]

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

    max_circuit_wire_distance :: double [Read-only]

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

    energy_usage :: double [Read-only]

    The direct energy usage of this entity or nil if this entity doesn't have a direct energy usage.

    max_energy_usage :: double [Read-only]

    The theoretical maximum energy usage for this entity.

    effectivity :: double [Read-only]

    The effectivity of this car prototype, generator prototype or nil.

    consumption :: double [Read-only]

    The energy consumption of this car prototype or nil if not a car prototype.

    friction_force :: double [Read-only]

    The friction of this vehicle prototype or nil if not a vehicle prototype.

    braking_force :: double [Read-only]

    The braking force of this vehicle prototype or nil if not a vehicle prototype.

    tank_driving :: boolean [Read-only]

    If this car prototype uses tank controls to drive or nil if this is not a car prototype.

    rotation_speed :: double [Read-only]

    The rotation speed of this car prototype or nil if not a car prototype.

    turret_rotation_speed :: double [Read-only]

    The turret rotation speed of this car prototype or nil if not a car prototype.

    guns :: dictionary stringLuaItemPrototype [Read-only]

    The guns this car prototype uses or nil if not a car prototype.

    speed :: double [Read-only]

    The default speed of this flying robot, rolling stock, unit or nil.

    speed_multiplier_when_out_of_energy :: float [Read-only]

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

    max_payload_size :: uint [Read-only]

    The max payload size of this logistics or construction robot or nil.

    draw_cargo :: boolean [Read-only]

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

    energy_per_move :: double [Read-only]

    The energy consumed per tile moved for this flying robot or nil.

    energy_per_tick :: double [Read-only]

    The energy consumed per tick for this flying robot or nil.

    max_energy :: double [Read-only]

    The max energy for this flying robot or nil.

    min_to_charge :: float [Read-only]

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

    max_to_charge :: float [Read-only]

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

    burner_prototype :: LuaBurnerPrototype [Read-only]

    The burner energy source prototype this entity uses or nil.

    electric_energy_source_prototype :: LuaElectricEnergySourcePrototype [Read-only]

    The electric energy source prototype this entity uses or nil.

    heat_energy_source_prototype :: LuaHeatEnergySourcePrototype [Read-only]

    The heat energy source prototype this entity uses or nil.

    fluid_energy_source_prototype :: LuaFluidEnergySourcePrototype [Read-only]

    The fluid energy source prototype this entity uses or nil.

    void_energy_source_prototype :: LuaFluidEnergySourcePrototype [Read-only]

    The void energy source prototype this entity uses or nil.

    building_grid_bit_shift :: uint [Read-only]

    The log2 of grid size of the building

    fluid_usage_per_tick :: double [Read-only]

    The fluid usage of this generator prototype or nil.

    maximum_temperature :: double [Read-only]

    The maximum fluid temperature of this generator prototype or nil.

    target_temperature :: double [Read-only]

    The target temperature of this boiler prototype or nil.

    fluid :: LuaFluidPrototype [Read-only]

    The fluid this offshore pump produces or nil.

    fluid_capacity :: double [Read-only]

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

    The pumping speed of this offshore pump, normal pump, or nil.

    stack :: boolean [Read-only]

    If this inserter is a stack-type.

    allow_custom_vectors :: boolean [Read-only]

    If this inserter allows custom pickup and drop vectors.

    allow_burner_leech :: boolean [Read-only]

    If this inserter allows burner leeching.

    inserter_extension_speed :: double [Read-only]

    The extension speed of this inserter or nil.

    inserter_rotation_speed :: double [Read-only]

    The rotation speed of this inserter or nil.

    inserter_pickup_position :: Vector [Read-only]

    The pickup position for this inserter or nil.

    inserter_drop_position :: Vector [Read-only]

    The drop position for this inserter or nil.

    inserter_chases_belt_items :: boolean [Read-only]

    True if this inserter chases items on belts for pickup or nil.

    count_as_rock_for_filtered_deconstruction :: boolean [Read-only]

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

    filter_count :: uint [Read-only]

    The filter count of this inserter, loader, or requester chest or nil.

    production :: double [Read-only]

    The max production this solar panel prototype produces or nil.

    time_to_live :: uint [Read-only]

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

    The distribution effectivity for this beacon prototype or nil if not a beacon prototype.

    explosion_beam :: double [Read-only]

    Does this explosion have a beam or nil if not an explosion prototype.

    explosion_rotate :: double [Read-only]

    Does this explosion rotate or nil if not an explosion prototype.

    tree_color_count :: uint8 [Read-only]

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

    alert_when_damaged :: boolean [Read-only]

    Does this entity with health prototype alert when damaged? or nil if not entity with health prototype.

    alert_when_attacking :: boolean [Read-only]

    Does this turret prototype alert when attacking? or nil if not turret prototype.

    color :: Color [Read-only]

    The color of the prototype, or nil if the prototype doesn't have color.

    collision_mask_collides_with_self :: boolean [Read-only]

    Does this prototype collision mask collide with itself?

    collision_mask_collides_with_tiles_only :: boolean [Read-only]

    Does this prototype collision mask collide with tiles only?

    collision_mask_considers_tile_transitions :: boolean [Read-only]

    Does this prototype collision mask consider tile transitions?

    allowed_effects :: dictionary stringboolean [Read-only]

    The allowed module effects for this entity or nil.

    rocket_parts_required :: uint [Read-only]

    The rocket parts required for this rocket silo prototype or nil.

    fixed_recipe :: string [Read-only]

    The fixed recipe name for this assembling machine prototype or nil.

    construction_radius :: double [Read-only]

    The construction radius for this roboport prototype or nil.

    logistic_radius :: double [Read-only]

    The logistic radius for this roboport prototype or nil.

    energy_per_hit_point :: double [Read-only]

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

    create_ghost_on_death :: boolean [Read-only]

    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.
    timeout :: uint [Read-only]

    The time it takes this land mine to arm.

    fluidbox_prototypes :: array of LuaFluidBoxPrototype [Read-only]

    The fluidbox prototypes for this entity.

    neighbour_bonus :: double [Read-only]

    Can only be used if this is Reactor
    neighbour_collision_increase :: double [Read-only]

    Controls how much a reactor extends when connected to other reactors.

    Can only be used if this is Reactor
    container_distance :: double [Read-only]

    Can only be used if this is Loader
    belt_distance :: double [Read-only]

    Can only be used if this is Loader
    belt_length :: double [Read-only]

    Can only be used if this is Loader
    is_building :: boolean [Read-only]

    automated_ammo_count :: uint [Read-only]

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

    max_speed :: double [Read-only]

    The max speed of this projectile prototype or flying robot prototype or nil.

    darkness_for_all_lamps_on :: float [Read-only]

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

    darkness_for_all_lamps_off :: float [Read-only]

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

    always_on :: boolean [Read-only]

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

    min_darkness_to_spawn :: float [Read-only]

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

    max_darkness_to_spawn :: float [Read-only]

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

    call_for_help_radius :: double [Read-only]

    max_count_of_owned_units :: double [Read-only]

    Count of enemies this spawner can sustain.

    max_friends_around_to_spawn :: double [Read-only]

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

    spawning_radius :: double [Read-only]

    How far from the spawner can the units be spawned.

    spawning_spacing :: double [Read-only]

    What spaces should be between the spawned units.

    radius :: double [Read-only]

    The radius of this entity prototype.

    cliff_explosive_prototype :: string [Read-only]

    The item prototype name used to destroy this cliff or nil.

    has_belt_immunity :: boolean [Read-only]

    Whether this unit or car prototype has belt immunity, nil if not car or unit prototype.

    vision_distance :: double [Read-only]

    The vision distance of this unit prototype or nil.

    pollution_to_join_attack :: float [Read-only]

    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. nil when prototype is not a unit prototype.

    min_pursue_time :: uint [Read-only]

    The minimum pursue time of this unit prototype or nil.

    max_pursue_distance :: double [Read-only]

    The maximum pursue distance of this unit prototype or nil.

    radar_range :: uint [Read-only]

    The radar range of this unit prototype or nil.

    move_while_shooting :: boolean [Read-only]

    Whether this unit prototype can move while shooting or nil.

    can_open_gates :: boolean [Read-only]

    Whether this unit prototype can open gates or nil.

    affected_by_tiles :: boolean [Read-only]

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

    distraction_cooldown :: uint [Read-only]

    The distraction cooldown of this unit prototype or nil.

    spawning_time_modifier :: double [Read-only]

    The spawning time modifier of this unit prototype or nil.

    alert_icon_shift :: Vector [Read-only]

    The alert icon shift of this entity prototype.

    lab_inputs :: array of string [Read-only]

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

    researching_speed :: double [Read-only]

    The base researching speed of this lab prototype or nil.

    item_slot_count :: uint [Read-only]

    The item slot count of this constant combinator prototype or nil.

    base_productivity :: double [Read-only]

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

    allow_access_to_all_forces :: boolean [Read-only]

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

    supports_direction :: boolean [Read-only]

    If this entity prototype could possibly ever be rotated.

    terrain_friction_modifier :: float [Read-only]

    The terrain friction modifier for this vehicle.

    max_distance_of_sector_revealed :: uint [Read-only]

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

    max_distance_of_nearby_sector_revealed :: uint [Read-only]

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

    running_speed :: double [Read-only]

    Can only be used if this is Character
    maximum_corner_sliding_distance :: double [Read-only]

    Can only be used if this is Character
    build_distance :: uint [Read-only]

    Can only be used if this is Character
    drop_item_distance :: uint [Read-only]

    Can only be used if this is Character
    reach_distance :: uint [Read-only]

    Can only be used if this is Character
    reach_resource_distance :: double [Read-only]

    Can only be used if this is Character
    item_pickup_distance :: double [Read-only]

    Can only be used if this is Character
    loot_pickup_distance :: double [Read-only]

    Can only be used if this is Character
    enter_vehicle_distance :: double [Read-only]

    Can only be used if this is Character
    ticks_to_keep_gun :: uint [Read-only]

    Can only be used if this is Character
    ticks_to_keep_aiming_direction :: uint [Read-only]

    Can only be used if this is Character
    ticks_to_stay_in_combat :: uint [Read-only]

    Can only be used if this is Character
    respawn_time :: uint [Read-only]

    Can only be used if this is Character
    damage_hit_tint :: Color [Read-only]

    Can only be used if this is Character
    character_corpse :: LuaEntityPrototype [Read-only]

    Can only be used if this is Character