---@meta
---@diagnostic disable

--$Factorio 1.1.70
--$Overlay 5
--$Section LuaEntityPrototype
-- This file is automatically generated. Edits will be overwritten.

---Prototype of an entity.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html)
---@class LuaEntityPrototype:LuaObject
---[R]  
---The active energy usage of this rocket silo or combinator prototype.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.active_energy_usage)
---
---_Can only be used if this is RocketSilo or Combinator_
---@field active_energy_usage? double 
---[R]  
---Entities this entity can be pasted onto in addition to the normal allowed ones.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.additional_pastable_entities)
---@field additional_pastable_entities LuaEntityPrototype[] 
---[R]  
---The bounding box that specifies which tiles adjacent to the offshore pump should be checked.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.adjacent_tile_collision_box)
---
---_Can only be used if this is OffshorePump_
---@field adjacent_tile_collision_box? BoundingBox 
---[R]  
---Tiles adjacent to the offshore pump must not collide with this collision mask.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.adjacent_tile_collision_mask)
---
---_Can only be used if this is OffshorePump_
---@field adjacent_tile_collision_mask? CollisionMask 
---[R]  
---If this mask is not empty, tiles adjacent to the offshore pump must not collide with this collision mask.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.adjacent_tile_collision_test)
---
---_Can only be used if this is OffshorePump_
---@field adjacent_tile_collision_test? CollisionMask 
---[R]  
---Whether this unit prototype is affected by tile walking speed modifiers.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.affected_by_tiles)
---
---_Can only be used if this is Unit_
---@field affected_by_tiles? boolean 
---[R]  
---The air resistance of this rolling stock prototype.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.air_resistance)
---
---_Can only be used if this is RollingStock_
---@field air_resistance? double 
---[R]  
---The alert icon shift of this entity prototype.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.alert_icon_shift)
---@field alert_icon_shift Vector 
---[R]  
---Whether this turret raises an alert when attacking
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.alert_when_attacking)
---
---_Can only be used if this is Turret_
---@field alert_when_attacking? boolean 
---[R]  
---Whether this entity raises an alert when damaged.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.alert_when_damaged)
---
---_Can only be used if this is EntityWithHealth_
---@field alert_when_damaged? boolean 
---[R]  
---Whether this market allows access to all forces or just friendly ones.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.allow_access_to_all_forces)
---
---_Can only be used if this is Market_
---@field allow_access_to_all_forces? boolean 
---[R]  
---Whether this inserter allows burner leeching.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.allow_burner_leech)
---
---_Can only be used if this is Inserter_
---@field allow_burner_leech? boolean 
---[R]  
---When false copy-paste is not allowed for this entity.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.allow_copy_paste)
---@field allow_copy_paste boolean 
---[R]  
---Whether this inserter allows custom pickup and drop vectors.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.allow_custom_vectors)
---
---_Can only be used if this is Inserter_
---@field allow_custom_vectors? boolean 
---[R]  
---Whether this vehicle allows passengers.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.allow_passengers)
---
---_Can only be used if this is Vehicle_
---@field allow_passengers? boolean 
---[R]  
---True if this entity-with-owner's is_military_target can be changed run-time (on the entity, not on the prototype itself)
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.allow_run_time_change_of_is_military_target)
---
---_Can only be used if this is EntityWithOwner_
---@field allow_run_time_change_of_is_military_target? boolean 
---[R]  
---The allowed module effects for this entity, if any.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.allowed_effects)
---@field allowed_effects? {[string]: boolean} 
---[R]  
---Whether the lamp is always on (except when out of power or turned off by the circuit network).
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.always_on)
---
---_Can only be used if this is Lamp_
---@field always_on? boolean 
---[R]  
---Name of the ammo category of this land mine.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.ammo_category)
---
---_Can only be used if this is LandMine_
---@field ammo_category? string 
---[R]  
---The animation speed coefficient of this belt connectable prototype.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.animation_speed_coefficient)
---
---_Can only be used if this is BeltConnectable_
---@field animation_speed_coefficient? double 
---[R]  
---The attack parameters for this entity, if any.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.attack_parameters)
---@field attack_parameters? AttackParameters 
---[R]  
---The attack result of this entity, if any.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.attack_result)
---@field attack_result? TriggerItem[] 
---[R]  
---The amount of ammo that inserters automatically insert into this ammo-turret or artillery-turret.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.automated_ammo_count)
---
---_Can only be used if this is ArtilleryTurret or AmmoTurret_
---@field automated_ammo_count? uint 
---[R]  
---Whether this spider vehicle prototype automatically cycles weapons.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.automatic_weapon_cycling)
---
---_Can only be used if this is SpiderVehicle_
---@field automatic_weapon_cycling? boolean 
---[R]  
---Autoplace specification for this entity prototype, if any.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.autoplace_specification)
---@field autoplace_specification? AutoplaceSpecification 
---[R]  
---The base productivity of this crafting machine, lab, or mining drill.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.base_productivity)
---
---_Can only be used if this is CraftingMachine, Lab or MiningDrill_
---@field base_productivity? double 
---[R]
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.belt_distance)
---
---_Can only be used if this is Loader_
---@field belt_distance? double 
---[R]
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.belt_length)
---
---_Can only be used if this is Loader_
---@field belt_length? double 
---[R]  
---The speed of this transport belt.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.belt_speed)
---
---_Can only be used if this is TransportBeltConnectable_
---@field belt_speed? double 
---[R]  
---The braking force of this vehicle prototype.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.braking_force)
---
---_Can only be used if this is Vehicle_
---@field braking_force? double 
---[R]  
---The evolution requirement to build this entity as a base when expanding enemy bases.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.build_base_evolution_requirement)
---@field build_base_evolution_requirement double 
---[R]
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.build_distance)
---
---_Can only be used if this is Character_
---@field build_distance? uint 
---[R]  
---The log2 of grid size of the building
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.building_grid_bit_shift)
---@field building_grid_bit_shift uint 
---[R]  
---The burner energy source prototype this entity uses, if any.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.burner_prototype)
---@field burner_prototype? LuaBurnerPrototype 
---[R]  
---Whether this generator prototype burns fluid.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.burns_fluid)
---
---_Can only be used if this is Generator_
---@field burns_fluid? boolean 
---[R]
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.call_for_help_radius)
---
---_Can only be used if this is Spawner_
---@field call_for_help_radius? double 
---[R]  
---Whether this unit prototype can open gates.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.can_open_gates)
---
---_Can only be used if this is Unit_
---@field can_open_gates? boolean 
---[R]  
---The collision mask used only for collision test with tile directly at offshore pump position.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.center_collision_mask)
---
---_Can only be used if this is OffshorePump_
---@field center_collision_mask? CollisionMask 
---[R]  
---The chain shooting cooldown modifier of this spider vehicle prototype.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.chain_shooting_cooldown_modifier)
---
---_Can only be used if this is SpiderVehicle_
---@field chain_shooting_cooldown_modifier? double 
---[R]
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.character_corpse)
---
---_Can only be used if this is Character_
---@field character_corpse? LuaEntityPrototype 
---[R]  
---The chunk exploration radius of this spider vehicle prototype.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.chunk_exploration_radius)
---
---_Can only be used if this is SpiderVehicle_
---@field chunk_exploration_radius? double 
---[R]  
---The item prototype name used to destroy this cliff.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.cliff_explosive_prototype)
---
---_Can only be used if this is Cliff_
---@field cliff_explosive_prototype? string 
---[R]  
---The bounding box used for collision checking.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.collision_box)
---@field collision_box BoundingBox 
---[R]  
---The collision masks this entity uses
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.collision_mask)
---@field collision_mask CollisionMask 
---[R]  
---Does this prototype collision mask collide with itself?
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.collision_mask_collides_with_self)
---@field collision_mask_collides_with_self boolean 
---[R]  
---Does this prototype collision mask collide with tiles only?
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.collision_mask_collides_with_tiles_only)
---@field collision_mask_collides_with_tiles_only boolean 
---[R]  
---Does this prototype collision mask consider tile transitions?
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.collision_mask_considers_tile_transitions)
---@field collision_mask_considers_tile_transitions boolean 
---[R]
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.collision_mask_with_flags)
---@field collision_mask_with_flags CollisionMaskWithFlags 
---[R]  
---The color of the prototype, if any.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.color)
---@field color? Color 
---[R]  
---The construction radius for this roboport prototype.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.construction_radius)
---
---_Can only be used if this is Roboport_
---@field construction_radius? double 
---[R]  
---The energy consumption of this car prototype.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.consumption)
---
---_Can only be used if this is Car_
---@field consumption? double 
---[R]
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.container_distance)
---
---_Can only be used if this is Loader_
---@field container_distance? double 
---[R]  
---Corpses used when this entity is destroyed. It is a dictionary indexed by the corpse's prototype name.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.corpses)
---
---_Can only be used if this is EntityWithHealth_
---@field corpses? {[string]: LuaEntityPrototype} 
---[R]  
---If this simple-entity is counted as a rock for the deconstruction planner "trees and rocks only" filter.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.count_as_rock_for_filtered_deconstruction)
---
---_Can only be used if this is SimpleEntity_
---@field count_as_rock_for_filtered_deconstruction? boolean 
---[R]  
---The crafting categories this entity prototype supports.
---
---**Note:** The value in the dictionary is meaningless and exists just to allow for easy lookup.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.crafting_categories)
---
---_Can only be used if this is CraftingMachine Character_
---@field crafting_categories? {[string]: boolean} 
---[R]  
---The crafting speed..
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.crafting_speed)
---
---_Can only be used if this is CraftingMachine_
---@field crafting_speed? double 
---[R]  
---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.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.create_ghost_on_death)
---@field create_ghost_on_death boolean 
---[R]  
---The trigger to run when this entity is created, if any.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.created_effect)
---@field created_effect? TriggerItem[] 
---[R]  
---The smoke trigger run when this entity is built, if any.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.created_smoke)
---@field created_smoke? LuaEntityPrototype.created_smoke 
---[R]
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.damage_hit_tint)
---
---_Can only be used if this is Character_
---@field damage_hit_tint? Color 
---[R]  
---Value between 0 and 1 darkness where all lamps of this lamp prototype are off.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.darkness_for_all_lamps_off)
---
---_Can only be used if this is Lamp_
---@field darkness_for_all_lamps_off? float 
---[R]  
---Value between 0 and 1 darkness where all lamps of this lamp prototype are on.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.darkness_for_all_lamps_on)
---
---_Can only be used if this is Lamp_
---@field darkness_for_all_lamps_on? float 
---[R]  
---The hardcoded default collision mask (with flags) for this entity prototype type.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.default_collision_mask_with_flags)
---@field default_collision_mask_with_flags CollisionMaskWithFlags 
---[R]  
---Whether this generator prototype destroys non-fuel fluids.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.destroy_non_fuel_fluid)
---
---_Can only be used if this is Generator_
---@field destroy_non_fuel_fluid? boolean 
---[R]  
---The distraction cooldown of this unit prototype.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.distraction_cooldown)
---
---_Can only be used if this is Unit_
---@field distraction_cooldown? uint 
---[R]  
---The distribution effectivity for this beacon prototype.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.distribution_effectivity)
---
---_Can only be used if this is Beacon_
---@field distribution_effectivity? double 
---[R]  
---The door opening speed for this rocket silo prototype.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.door_opening_speed)
---
---_Can only be used if this is RocketSilo_
---@field door_opening_speed? double 
---[R]  
---Whether this logistics or construction robot renders its cargo when flying.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.draw_cargo)
---
---_Can only be used if this is RobotWithLogisticsInterface_
---@field draw_cargo? boolean 
---[R]  
---The bounding box used for drawing the entity icon.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.drawing_box)
---@field drawing_box BoundingBox 
---[R]
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.drop_item_distance)
---
---_Can only be used if this is Character_
---@field drop_item_distance? uint 
---[R]  
---The dying time of this corpse prototype.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.dying_speed)
---
---_Can only be used if this is Corpse_
---@field dying_speed? float 
---[R]  
---The effectivity of this car prototype, generator prototype.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.effectivity)
---
---_Can only be used if this is Car or Generator_
---@field effectivity? double 
---[R]  
---The electric energy source prototype this entity uses, if any.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.electric_energy_source_prototype)
---@field electric_energy_source_prototype? LuaElectricEnergySourcePrototype 
---[R]  
---Amount of pollution emissions per second this entity will create.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.emissions_per_second)
---@field emissions_per_second double 
---[R]  
---The enemy map color used when charting this entity.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.enemy_map_color)
---@field enemy_map_color Color 
---[R]  
---The energy used per hitpoint taken for this vehicle during collisions.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.energy_per_hit_point)
---
---_Can only be used if this is Vehicle_
---@field energy_per_hit_point? double 
---[R]  
---The energy consumed per tile moved for this flying robot.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.energy_per_move)
---
---_Can only be used if this is FlyingRobot_
---@field energy_per_move? double 
---[R]  
---The energy consumed per tick for this flying robot.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.energy_per_tick)
---
---_Can only be used if this is FlyingRobot_
---@field energy_per_tick? double 
---[R]  
---The direct energy usage of this entity, if any.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.energy_usage)
---@field energy_usage? double 
---[R]  
---The engine starting speed for this rocket silo rocket prototype.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.engine_starting_speed)
---
---_Can only be used if this is RocketSiloRocket_
---@field engine_starting_speed? double 
---[R]
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.enter_vehicle_distance)
---
---_Can only be used if this is Character_
---@field enter_vehicle_distance? double 
---[R]  
---Whether this explosion has a beam.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.explosion_beam)
---
---_Can only be used if this is Explosion_
---@field explosion_beam? double 
---[R]  
---Whether this explosion rotates.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.explosion_rotate)
---
---_Can only be used if this is Explosion_
---@field explosion_rotate? double 
---[R]  
---The group of mutually fast-replaceable entities, if any.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.fast_replaceable_group)
---@field fast_replaceable_group? string 
---[R]  
---The filter count of this inserter, loader, or logistic chest. For logistic containers, `nil` means no limit.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.filter_count)
---
---_Can only be used if this is Inserter, Loader or LogisticContainer_
---@field filter_count? uint 
---[R]  
---The final attack result for this projectile.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.final_attack_result)
---
---_Can only be used if this is Projectile_
---@field final_attack_result? TriggerItem[] 
---[R]  
---The fixed recipe name for this assembling machine prototype, if any.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.fixed_recipe)
---
---_Can only be used if this is AssemblingMachine_
---@field fixed_recipe? string 
---[R]  
---The flags for this entity prototype.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.flags)
---@field flags EntityPrototypeFlags 
---[R]  
---The fluid this offshore pump produces.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.fluid)
---
---_Can only be used if this is OffshorePump_
---@field fluid? LuaFluidPrototype 
---[R]  
---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.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.fluid_capacity)
---@field fluid_capacity double 
---[R]  
---The fluid energy source prototype this entity uses, if any.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.fluid_energy_source_prototype)
---@field fluid_energy_source_prototype? LuaFluidEnergySourcePrototype 
---[R]  
---The fluid usage of this generator prototype.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.fluid_usage_per_tick)
---
---_Can only be used if this is Generator_
---@field fluid_usage_per_tick? double 
---[R]  
---The fluidbox prototypes for this entity.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.fluidbox_prototypes)
---@field fluidbox_prototypes LuaFluidBoxPrototype[] 
---[R]  
---The flying acceleration for this rocket silo rocket prototype.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.flying_acceleration)
---
---_Can only be used if this is RocketSiloRocket_
---@field flying_acceleration? double 
---[R]  
---The flying speed for this rocket silo rocket prototype.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.flying_speed)
---
---_Can only be used if this is RocketSiloRocket_
---@field flying_speed? double 
---[R]  
---The friction of this vehicle prototype.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.friction_force)
---
---_Can only be used if this is Vehicle_
---@field friction_force? double 
---[R]  
---The friendly map color used when charting this entity.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.friendly_map_color)
---@field friendly_map_color Color 
---[R]  
---The equipment grid prototype for this entity, if any.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.grid_prototype)
---@field grid_prototype? LuaEquipmentGridPrototype 
---[R]  
---Group of this entity.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.group)
---@field group LuaGroup 
---[R]  
---A mapping of the gun name to the gun prototype this prototype uses. `nil` if this entity prototype doesn't use guns.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.guns)
---@field guns? {[string]: LuaItemPrototype} 
---[R]  
---Whether this unit, car, or character prototype has belt immunity.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.has_belt_immunity)
---
---_Can only be used if this is Unit, Car or Character_
---@field has_belt_immunity? boolean 
---[R]  
---Amount this entity can heal per tick, if any.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.healing_per_tick)
---@field healing_per_tick? float 
---[R]  
---The heat buffer prototype this entity uses, if any.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.heat_buffer_prototype)
---@field heat_buffer_prototype? LuaHeatBufferPrototype 
---[R]  
---The heat energy source prototype this entity uses, if any.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.heat_energy_source_prototype)
---@field heat_energy_source_prototype? LuaHeatEnergySourcePrototype 
---[R]  
---The height of this spider vehicle prototype.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.height)
---
---_Can only be used if this is SpiderVehicle_
---@field height? double 
---[R]  
---The idle energy usage of this rocket silo prototype.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.idle_energy_usage)
---
---_Can only be used if this is RocketSilo_
---@field idle_energy_usage? double 
---[R]  
---A vector of the gun prototypes of this car, spider vehicule, or artillery wagon or turret.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.indexed_guns)
---
---_Can only be used if this is Car, SpiderVehicle, ArtilleryTurret or ArtilleryWagon_
---@field indexed_guns? LuaItemPrototype[] 
---[R]  
---Every time this infinite resource 'ticks' down, it is reduced by this amount. Meaningless if this isn't an infinite resource.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.infinite_depletion_resource_amount)
---
---_Can only be used if this is ResourceEntity_
---@field infinite_depletion_resource_amount? uint 
---[R]  
---Whether this resource is infinite.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.infinite_resource)
---
---_Can only be used if this is ResourceEntity_
---@field infinite_resource? boolean 
---[R]  
---The max number of ingredients this crafting machine prototype supports.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.ingredient_count)
---
---_Can only be used if this is CraftingMachine_
---@field ingredient_count? uint 
---[R]  
---True if this inserter chases items on belts for pickup.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.inserter_chases_belt_items)
---
---_Can only be used if this is Inserter_
---@field inserter_chases_belt_items? boolean 
---[R]  
---The drop position for this inserter.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.inserter_drop_position)
---
---_Can only be used if this is Inserter_
---@field inserter_drop_position? Vector 
---[R]  
---The extension speed of this inserter.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.inserter_extension_speed)
---
---_Can only be used if this is Inserter_
---@field inserter_extension_speed? double 
---[R]  
---The pickup position for this inserter.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.inserter_pickup_position)
---
---_Can only be used if this is Inserter_
---@field inserter_pickup_position? Vector 
---[R]  
---The rotation speed of this inserter.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.inserter_rotation_speed)
---
---_Can only be used if this is Inserter_
---@field inserter_rotation_speed? double 
---[R]  
---The built-in stack size bonus of this inserter prototype.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.inserter_stack_size_bonus)
---
---_Can only be used if this is Inserter_
---@field inserter_stack_size_bonus? double 
---[R]  
---The instruments for this programmable speaker.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.instruments)
---
---_Can only be used if this is ProgrammableSpeaker_
---@field instruments? ProgrammableSpeakerInstrument[] 
---[R]  
---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
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.is_building)
---@field is_building boolean 
---[R]  
---True if this is entity-with-owner
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.is_entity_with_owner)
---@field is_entity_with_owner boolean 
---[R]  
---True if this entity-with-owner is military target
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.is_military_target)
---
---_Can only be used if this is EntityWithOwner_
---@field is_military_target? boolean 
---[R]
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.item_pickup_distance)
---
---_Can only be used if this is Character_
---@field item_pickup_distance? double 
---[R]  
---The item slot count of this constant combinator prototype.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.item_slot_count)
---
---_Can only be used if this is ConstantCombinator_
---@field item_slot_count? uint 
---[R]  
---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.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.items_to_place_this)
---@field items_to_place_this? SimpleItemStack[] 
---[R]  
---The item prototype names that are the inputs of this lab prototype.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.lab_inputs)
---
---_Can only be used if this is Lab_
---@field lab_inputs? string[] 
---[R]  
---The lamp energy usage of this rocket silo prototype.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.lamp_energy_usage)
---
---_Can only be used if this is RocketSilo_
---@field lamp_energy_usage? double 
---[R]  
---The rocket launch delay for this rocket silo prototype.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.launch_wait_time)
---
---_Can only be used if this is RocketSilo_
---@field launch_wait_time? uint8 
---[R]  
---The light blinking speed for this rocket silo prototype.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.light_blinking_speed)
---
---_Can only be used if this is RocketSilo_
---@field light_blinking_speed? double 
---[R]
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.localised_description)
---@field localised_description LocalisedString 
---[R]
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.localised_name)
---@field localised_name LocalisedString 
---[R]  
---The logistic mode of this logistic container. One of `"requester"`, `"active-provider"`, `"passive-provider"`, `"buffer"`, `"storage"`, `"none"`.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.logistic_mode)
---
---_Can only be used if this is LogisticContainer_
---@field logistic_mode? string 
---[R]  
---The logistic parameters for this roboport.
---
---**Note:** Both the `charging_station_shift` and `stationing_offset` vectors are tables with `x` and `y` keys instead of an array.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.logistic_parameters)
---
---_Can only be used if this is Roboport_
---@field logistic_parameters? LuaEntityPrototype.logistic_parameters 
---[R]  
---The logistic radius for this roboport prototype.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.logistic_radius)
---
---_Can only be used if this is Roboport_
---@field logistic_radius? double 
---[R]  
---Loot that will be dropped when this entity is killed, if any.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.loot)
---
---_Can only be used if this is EntityWithHealth_
---@field loot? Loot[] 
---[R]
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.loot_pickup_distance)
---
---_Can only be used if this is Character_
---@field loot_pickup_distance? double 
---[R]  
---The manual range modifier for this artillery turret or wagon prototype.
---
---subclass(ArtilleryWagon, ArtilleryTurret)
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.manual_range_modifier)
---@field manual_range_modifier? double 
---[R]  
---The map color used when charting this entity if a friendly or enemy color isn't defined, if any.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.map_color)
---@field map_color? Color 
---[R]  
---The bounding box used for map generator collision checking.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.map_generator_bounding_box)
---@field map_generator_bounding_box BoundingBox 
---[R]  
---The maximum circuit wire distance for this entity. 0 if the entity doesn't support circuit wires.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.max_circuit_wire_distance)
---@field max_circuit_wire_distance double 
---[R]  
---Count of enemies this spawner can sustain.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.max_count_of_owned_units)
---
---_Can only be used if this is Spawner_
---@field max_count_of_owned_units? double 
---[R]  
---The maximum darkness at which this unit spawner can spawn entities.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.max_darkness_to_spawn)
---
---_Can only be used if this is Spawner_
---@field max_darkness_to_spawn? float 
---[R]  
---The radius of the area constantly revealed by this radar, in chunks.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.max_distance_of_nearby_sector_revealed)
---
---_Can only be used if this is Radar_
---@field max_distance_of_nearby_sector_revealed? uint 
---[R]  
---The radius of the area this radar can chart, in chunks.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.max_distance_of_sector_revealed)
---
---_Can only be used if this is Radar_
---@field max_distance_of_sector_revealed? uint 
---[R]  
---The max energy for this flying robot.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.max_energy)
---
---_Can only be used if this is FlyingRobot_
---@field max_energy? double 
---[R]  
---The theoretical maximum energy production for this this entity.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.max_energy_production)
---@field max_energy_production double 
---[R]  
---The theoretical maximum energy usage for this entity.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.max_energy_usage)
---@field max_energy_usage double 
---[R]  
---How many friendly units are required within the spawning_radius of this spawner for it to stop producing more units.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.max_friends_around_to_spawn)
---
---_Can only be used if this is Spawner_
---@field max_friends_around_to_spawn? double 
---[R]  
---Max health of this entity. Will be `0` if this is not an entity with health.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.max_health)
---@field max_health float 
---[R]  
---The max payload size of this logistics or construction robot.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.max_payload_size)
---
---_Can only be used if this is RobotWithLogisticsInterface_
---@field max_payload_size? uint 
---[R]  
---The maximum polyphony for this programmable speaker.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.max_polyphony)
---
---_Can only be used if this is ProgrammableSpeaker_
---@field max_polyphony? uint 
---[R]  
---The default maximum power output of this generator prototype.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.max_power_output)
---
---_Can only be used if this is Generator_
---@field max_power_output? double 
---[R]  
---The maximum pursue distance of this unit prototype.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.max_pursue_distance)
---
---_Can only be used if this is Unit_
---@field max_pursue_distance? double 
---[R]  
---The max speed of this projectile or flying robot prototype.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.max_speed)
---
---_Can only be used if this is Projectile or FlyingRobot_
---@field max_speed? double 
---[R]  
---The maximum energy for this flying robot above which it won't try to recharge when stationing.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.max_to_charge)
---
---_Can only be used if this is FlyingRobot_
---@field max_to_charge? float 
---[R]  
---The max underground distance for underground belts and underground pipes.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.max_underground_distance)
---
---_Can only be used if this is UndergroundBelt or PipeToGround_
---@field max_underground_distance? uint8 
---[R]  
---The maximum wire distance for this entity. 0 if the entity doesn't support wires.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.max_wire_distance)
---@field max_wire_distance double 
---[R]
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.maximum_corner_sliding_distance)
---
---_Can only be used if this is Character_
---@field maximum_corner_sliding_distance? double 
---[R]  
---The maximum fluid temperature of this generator prototype.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.maximum_temperature)
---
---_Can only be used if this is Generator_
---@field maximum_temperature? double 
---[R]  
---The minimum darkness at which this unit spawner can spawn entities.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.min_darkness_to_spawn)
---
---_Can only be used if this is Spawner_
---@field min_darkness_to_spawn? float 
---[R]  
---The minimum pursue time of this unit prototype.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.min_pursue_time)
---
---_Can only be used if this is Unit_
---@field min_pursue_time? uint 
---[R]  
---The minimum energy for this flying robot before it tries to recharge.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.min_to_charge)
---
---_Can only be used if this is FlyingRobot_
---@field min_to_charge? float 
---[R]  
---Whether this entity is minable and what can be obtained by mining it.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.mineable_properties)
---@field mineable_properties LuaEntityPrototype.mineable_properties 
---[R]  
---Minimum amount of this resource.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.minimum_resource_amount)
---
---_Can only be used if this is ResourceEntity_
---@field minimum_resource_amount? uint 
---[R]  
---The mining radius of this mining drill prototype.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.mining_drill_radius)
---
---_Can only be used if this is MiningDrill_
---@field mining_drill_radius? double 
---[R]  
---The mining speed of this mining drill/character prototype.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.mining_speed)
---
---_Can only be used if this is MiningDrill or Character_
---@field mining_speed? double 
---[R]  
---The module inventory size. `nil` if this entity doesn't support modules.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.module_inventory_size)
---@field module_inventory_size? uint 
---[R]  
---Whether this unit prototype can move while shooting.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.move_while_shooting)
---
---_Can only be used if this is Unit_
---@field move_while_shooting? boolean 
---[R]  
---Name of this prototype.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.name)
---@field name string 
---[R]
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.neighbour_bonus)
---
---_Can only be used if this is Reactor_
---@field neighbour_bonus? double 
---[R]  
---The next upgrade for this entity, if any.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.next_upgrade)
---@field next_upgrade? LuaEntityPrototype 
---[R]  
---The normal amount for this resource.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.normal_resource_amount)
---
---_Can only be used if this is ResourceEntity_
---@field normal_resource_amount? uint 
---[R]  
---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.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.object_name)
---@field object_name string 
---[R]  
---The string used to alphabetically sort these prototypes. It is a simple string that has no additional semantic meaning.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.order)
---@field order string 
---[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.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.pollution_to_join_attack)
---
---_Can only be used if this is Unit_
---@field pollution_to_join_attack? float 
---[R]  
---True if this entity prototype should be included during tile collision checks with [LuaTilePrototype::check_collision_with_entities](https://lua-api.factorio.com/latest/LuaTilePrototype.html#LuaTilePrototype.check_collision_with_entities) enabled.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.protected_from_tile_building)
---@field protected_from_tile_building boolean 
---[R]  
---The pumping speed of this offshore or normal pump.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.pumping_speed)
---
---_Can only be used if this is OffshorePump or Pump_
---@field pumping_speed? double 
---[R]  
---The radar range of this unit prototype.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.radar_range)
---
---_Can only be used if this is Unit_
---@field radar_range? uint 
---[R]  
---The radius of this entity prototype.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.radius)
---@field radius double 
---[R]
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.reach_distance)
---
---_Can only be used if this is Character_
---@field reach_distance? uint 
---[R]
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.reach_resource_distance)
---
---_Can only be used if this is Character_
---@field reach_resource_distance? double 
---[R]
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.related_underground_belt)
---
---_Can only be used if this is TransportBelt_
---@field related_underground_belt? LuaEntityPrototype 
---[R]  
---The remains left behind when this entity is mined.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.remains_when_mined)
---@field remains_when_mined LuaEntityPrototype[] 
---[R]
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.remove_decoratives)
---@field remove_decoratives string 
---[R]  
---Repair-speed modifier for this entity, if any. Actual repair speed will be `tool_repair_speed * entity_repair_speed_modifier`.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.repair_speed_modifier)
---
---_Can only be used if this is EntityWithHealth_
---@field repair_speed_modifier? uint 
---[R]  
---The base researching speed of this lab prototype.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.researching_speed)
---
---_Can only be used if this is Lab_
---@field researching_speed? double 
---[R]  
---List of resistances towards each damage type. It is a dictionary indexed by damage type names (see `data/base/prototypes/damage-type.lua`).
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.resistances)
---
---_Can only be used if this is EntityWithHealth_
---@field resistances? {[string]: Resistance} 
---[R]  
---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.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.resource_categories)
---
---_Can only be used if this is MiningDrill or Character_
---@field resource_categories? {[string]: boolean} 
---[R]  
---Name of the category of this resource.
---
---**Note:** During data stage, this property is named "category".
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.resource_category)
---
---_Can only be used if this is ResourceEntity_
---@field resource_category? string 
---[R]
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.respawn_time)
---
---_Can only be used if this is Character_
---@field respawn_time? uint 
---[R]  
---The result units and spawn points with weight and evolution factor for a biter spawner entity.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.result_units)
---
---_Can only be used if this is Spawner_
---@field result_units? UnitSpawnDefinition[] 
---[R]  
---The rising speed for this rocket silo rocket prototype.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.rising_speed)
---
---_Can only be used if this is RocketSiloRocket_
---@field rising_speed? double 
---[R]  
---The rocket entity prototype associated with this rocket silo prototype.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.rocket_entity_prototype)
---
---_Can only be used if this is RocketSilo_
---@field rocket_entity_prototype? LuaEntityPrototype 
---[R]  
---The rocket parts required for this rocket silo prototype.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.rocket_parts_required)
---
---_Can only be used if this is RocketSilo_
---@field rocket_parts_required? uint 
---[R]  
---The rocket rising delay for this rocket silo prototype.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.rocket_rising_delay)
---
---_Can only be used if this is RocketSilo_
---@field rocket_rising_delay? uint8 
---[R]  
---The rotation speed of this car prototype.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.rotation_speed)
---
---_Can only be used if this is Car_
---@field rotation_speed? double 
---[R]  
---The current movement speed of this character, including effects from exoskeletons, tiles, stickers and shooting.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.running_speed)
---
---_Can only be used if this is Character_
---@field running_speed? double 
---[R]  
---Whether this generator prototype scales fluid usage.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.scale_fluid_usage)
---
---_Can only be used if this is Generator_
---@field scale_fluid_usage? boolean 
---[R]  
---The secondary bounding box used for collision checking, if any. This is only used in rails and rail remnants.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.secondary_collision_box)
---@field secondary_collision_box? BoundingBox 
---[R]  
---Is this entity selectable?
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.selectable_in_game)
---@field selectable_in_game boolean 
---[R]  
---The bounding box used for drawing selection.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.selection_box)
---@field selection_box BoundingBox 
---[R]  
---The selection priority of this entity - a value between 0 and 255
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.selection_priority)
---@field selection_priority uint 
---[R]  
---The cursor size used when shooting at this entity.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.shooting_cursor_size)
---@field shooting_cursor_size double 
---[R]  
---The spawning cooldown for this enemy spawner prototype.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.spawn_cooldown)
---
---_Can only be used if this is Spawner_
---@field spawn_cooldown? LuaEntityPrototype.spawn_cooldown 
---[R]  
---How far from the spawner can the units be spawned.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.spawning_radius)
---
---_Can only be used if this is Spawner_
---@field spawning_radius? double 
---[R]  
---What spaces should be between the spawned units.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.spawning_spacing)
---
---_Can only be used if this is Spawner_
---@field spawning_spacing? double 
---[R]  
---The spawning time modifier of this unit prototype.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.spawning_time_modifier)
---
---_Can only be used if this is Unit_
---@field spawning_time_modifier? double 
---[R]  
---The default speed of this flying robot, rolling stock or unit. For rolling stocks, this is their `max_speed`.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.speed)
---
---_Can only be used if this is FlyingRobot, RollingStock or Unit_
---@field speed? double 
---[R]  
---The speed multiplier when this flying robot is out of energy.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.speed_multiplier_when_out_of_energy)
---
---_Can only be used if this is FlyingRobot_
---@field speed_multiplier_when_out_of_energy? float 
---[R]  
---Whether this inserter is a stack-type.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.stack)
---
---_Can only be used if this is Inserter_
---@field stack? boolean 
---[R]  
---The bounding box used to attach sticker type entities.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.sticker_box)
---@field sticker_box BoundingBox 
---[R]  
---Subgroup of this entity.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.subgroup)
---@field subgroup LuaGroup 
---[R]  
---The supply area of this electric pole or beacon prototype.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.supply_area_distance)
---
---_Can only be used if this is ElectricPole or Beacon_
---@field supply_area_distance? double 
---[R]  
---Whether this entity prototype could possibly ever be rotated.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.supports_direction)
---@field supports_direction boolean 
---[R]  
---If this car prototype uses tank controls to drive.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.tank_driving)
---
---_Can only be used if this is Car_
---@field tank_driving? boolean 
---[R]  
---The target temperature of this boiler prototype.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.target_temperature)
---
---_Can only be used if this is Boiler_
---@field target_temperature? double 
---[R]  
---The terrain friction modifier for this vehicle.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.terrain_friction_modifier)
---
---_Can only be used if this is Vehicle_
---@field terrain_friction_modifier? float 
---[R]
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.ticks_to_keep_aiming_direction)
---
---_Can only be used if this is Character_
---@field ticks_to_keep_aiming_direction? uint 
---[R]
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.ticks_to_keep_gun)
---
---_Can only be used if this is Character_
---@field ticks_to_keep_gun? uint 
---[R]
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.ticks_to_stay_in_combat)
---
---_Can only be used if this is Character_
---@field ticks_to_stay_in_combat? uint 
---[R]  
---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)
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.tile_height)
---@field tile_height uint 
---[R]  
---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)
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.tile_width)
---@field tile_width uint 
---[R]  
---The time to live for this prototype or `0` if prototype doesn't have time_to_live or time_before_removed.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.time_to_live)
---@field time_to_live uint 
---[R]  
---The time it takes this land mine to arm.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.timeout)
---
---_Can only be used if this is LandMine_
---@field timeout? uint 
---[R]  
---The torso bob speed of this spider vehicle prototype.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.torso_bob_speed)
---
---_Can only be used if this is SpiderVehicle_
---@field torso_bob_speed? double 
---[R]  
---The torso rotation speed of this spider vehicle prototype.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.torso_rotation_speed)
---
---_Can only be used if this is SpiderVehicle_
---@field torso_rotation_speed? double 
---[R]  
---If it is a tree, return the number of colors it supports.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.tree_color_count)
---
---_Can only be used if this is Tree_
---@field tree_color_count? uint8 
---[R]  
---The collision mask entities must collide with to make this landmine blow up.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.trigger_collision_mask)
---
---_Can only be used if this is LandMine_
---@field trigger_collision_mask? CollisionMaskWithFlags 
---[R]  
---The range of this turret.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.turret_range)
---
---_Can only be used if this is Turret_
---@field turret_range? uint 
---[R]  
---The turret rotation speed of this car prototype.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.turret_rotation_speed)
---
---_Can only be used if this is Car_
---@field turret_rotation_speed? double 
---[R]  
---Type of this prototype.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.type)
---@field type string 
---[R]  
---Whether this logistic container prototype uses exact mode
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.use_exact_mode)
---
---_Can only be used if this is LogisticContainer_
---@field use_exact_mode? boolean 
---[R]  
---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.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.valid)
---@field valid boolean 
---[R]  
---The vision distance of this unit prototype.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.vision_distance)
---
---_Can only be used if this is Unit_
---@field vision_distance? double 
---[R]  
---The void energy source prototype this entity uses, if any.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.void_energy_source_prototype)
---@field void_energy_source_prototype? LuaVoidEnergySourcePrototype 
---[R]  
---The weight of this vehicle prototype.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.weight)
---
---_Can only be used if this is Vehicle_
---@field weight? double 
local LuaEntityPrototype={
---Gets the base size of the given inventory on this entity or `nil` if the given inventory doesn't exist.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.get_inventory_size)
---@param index defines.inventory
---@return uint?
get_inventory_size=function(index)end,
---Test whether this entity prototype has a certain flag set.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.has_flag)
---@param flag string@The flag to test. See [EntityPrototypeFlags](https://lua-api.factorio.com/latest/Concepts.html#EntityPrototypeFlags) for a list of flags.
---@return boolean@`true` if this prototype has the given flag set.
has_flag=function(flag)end,
---All methods and properties that this object supports.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.help)
---@return string
help=function()end,
}


