LuaItemPrototype
Prototype of an item.
game.item_prototypes["iron-plate"]
LuaItemPrototype
The type of this ammo prototype.
Prototype of the entity that will be created by placing this item, if any.
Prototype of the equipment that will be created by placing this item in an equipment grid, if any.
The place-as-tile result if one is defined, if any.
The default request value.
Maximum stack size of the item specified by this prototype.
The number of items needed to connect two entities with this as wire.
The fuel category of this item prototype, if any.
The result of burning this item as fuel, if any.
Fuel value when burned.
The acceleration multiplier when this item is used as fuel in a vehicle.
The fuel top speed multiplier when this item is used as fuel in a vehicle.
The emissions multiplier if this is used as fuel.
The flags for this item prototype.
The results of launching this item in a rocket.
If this item can be mod-opened.
Size of full magazine.
Amount of extra time (in ticks) it takes to reload the weapon after depleting the magazine.
The prototype of this armor equipment grid, if any.
Resistances of this armor item, if any, indexed by damage type name.
The inventory size bonus for this armor prototype.
The capsule action for this capsule item prototype.
The gun attack parameters.
The main inventory size for item-with-inventory-prototype.
The filter mode used by this item with inventory.
The insertion priority mode used by this item with inventory.
The localised string used when the player attempts to put items into this item with inventory that aren't allowed.
If this item with inventory extends the inventory it resides in by default.
The default label color used for this item with label, if any.
If true, and this item with label has a label it is drawn in place of the normal number when held in the cursor.
Effects of this module.
The name of a LuaModuleCategoryPrototype.
An array of recipe names this module is allowed to work with.
The limitation message key used when the player attempts to use this modules in some place it's not allowed.
The straight rail prototype used for this rail planner prototype.
The curved rail prototype used for this rail planner prototype.
The repair result of this repair tool prototype.
The color used when doing normal selection with this selection tool prototype.
The color used when doing alt selection with this selection tool prototype.
The color used when doing reverse selection with this selection tool prototype.
Flags that affect which entities will be selected.
Flags that affect which entities will be selected during alternate selection.
Flags that affect which entities will be selected during reverse selection.
If tiles area always included when doing selection with this selection tool prototype.
The entity filter mode used by this selection tool.
The alt entity filter mode used by this selection tool.
The reverse entity filter mode used by this selection tool.
The tile filter mode used by this selection tool.
The alt tile filter mode used by this selection tool.
The reverse tile filter mode used by this selection tool.
The entity filters used by this selection tool indexed by entity name.
The alt entity filters used by this selection tool indexed by entity name.
The reverse entity filters used by this selection tool indexed by entity name.
The entity type filters used by this selection tool indexed by entity type.
The alt entity type filters used by this selection tool indexed by entity type.
The reverse entity type filters used by this selection tool indexed by entity type.
The tile filters used by this selection tool indexed by tile name.
The alt tile filters used by this selection tool indexed by tile name.
The reverse tile filters used by this selection tool indexed by tile name.
The number of entity filters this deconstruction item has.
The number of tile filters this deconstruction item has.
The durability message key used when displaying the durability of this tool.
The durability of this tool item.
How many filters an upgrade item has.
The class name of this object.
has_flag(flag)
→
boolean
Does this prototype have a flag enabled?
The flag to check. Can be one of ItemPrototypeFlags. Any other value will cause an error.
get_ammo_type(ammo_source_type?)
→
AmmoType?
The type of this ammo prototype.
"default", "player", "turret", or "vehicle"
help()
→
string
All methods and properties that this object supports.
type
:: string
[Read]
Type of this prototype. E.g. "gun"
or "mining-tool"
.
name
:: string
[Read]
Name of this prototype.
localised_name
:: LocalisedString
[Read]
localised_description
:: LocalisedString
[Read]
order
:: string
[Read]
The string used to alphabetically sort these prototypes. It is a simple string that has no additional semantic meaning.
place_result
:: LuaEntityPrototype?
[Read]
Prototype of the entity that will be created by placing this item, if any.
place_as_equipment_result
:: LuaEquipmentPrototype?
[Read]
Prototype of the equipment that will be created by placing this item in an equipment grid, if any.
place_as_tile_result
:: PlaceAsTileResult?
[Read]
The place-as-tile result if one is defined, if any.
stackable
:: boolean
[Read]
Is this item allowed to stack at all?
default_request_amount
:: uint
[Read]
The default request value.
stack_size
:: uint
[Read]
Maximum stack size of the item specified by this prototype.
wire_count
:: uint
[Read]
The number of items needed to connect two entities with this as wire.
fuel_category
:: string?
[Read]
The fuel category of this item prototype, if any.
burnt_result
:: LuaItemPrototype?
[Read]
The result of burning this item as fuel, if any.
fuel_value
:: float
[Read]
Fuel value when burned.
fuel_acceleration_multiplier
:: double
[Read]
The acceleration multiplier when this item is used as fuel in a vehicle.
fuel_top_speed_multiplier
:: double
[Read]
The fuel top speed multiplier when this item is used as fuel in a vehicle.
fuel_emissions_multiplier
:: double
[Read]
The emissions multiplier if this is used as fuel.
subgroup
:: LuaGroup
[Read]
The subgroup this prototype belongs to.
group
:: LuaGroup
[Read]
The group this prototype belongs to.
flags
:: ItemPrototypeFlags
[Read]
The flags for this item prototype.
rocket_launch_products
:: array[Product]
[Read]
The results of launching this item in a rocket.
can_be_mod_opened
:: boolean
[Read]
If this item can be mod-opened.
magazine_size
:: float?
[Read]
Size of full magazine.
reload_time
:: float?
[Read]
Amount of extra time (in ticks) it takes to reload the weapon after depleting the magazine.
equipment_grid
:: LuaEquipmentGridPrototype?
[Read]
The prototype of this armor equipment grid, if any.
resistances
:: dictionary[string → Resistance]?
[Read]
Resistances of this armor item, if any, indexed by damage type name.
inventory_size_bonus
:: uint?
[Read]
The inventory size bonus for this armor prototype.
capsule_action
:: CapsuleAction?
[Read]
The capsule action for this capsule item prototype.
attack_parameters
:: AttackParameters?
[Read]
The gun attack parameters.
inventory_size
:: uint?
[Read]
The main inventory size for item-with-inventory-prototype.
item_filters
:: dictionary[string → LuaItemPrototype]?
[Read]
item_group_filters
:: dictionary[string → LuaGroup]?
[Read]
item_subgroup_filters
:: dictionary[string → LuaGroup]?
[Read]
filter_mode
:: string?
[Read]
The filter mode used by this item with inventory.
insertion_priority_mode
:: string?
[Read]
The insertion priority mode used by this item with inventory.
localised_filter_message
:: LocalisedString?
[Read]
The localised string used when the player attempts to put items into this item with inventory that aren't allowed.
extend_inventory_by_default
:: boolean?
[Read]
If this item with inventory extends the inventory it resides in by default.
default_label_color
:: Color?
[Read]
The default label color used for this item with label, if any.
draw_label_for_cursor_render
:: boolean?
[Read]
If true, and this item with label has a label it is drawn in place of the normal number when held in the cursor.
speed
:: float?
[Read]
The repairing speed if this is a repairing tool.
module_effects
:: ModuleEffects?
[Read]
Effects of this module.
category
:: string?
[Read]
The name of a LuaModuleCategoryPrototype. Used when upgrading modules: Ctrl + click modules into an entity and it will replace lower tier modules of the same category with higher tier modules.
tier
:: uint?
[Read]
Tier of the module inside its category. Used when upgrading modules: Ctrl + click modules into an entity and it will replace lower tier modules with higher tier modules if they have the same category.
limitations
:: array[string]?
[Read]
An array of recipe names this module is allowed to work with. Empty when all recipes are allowed.
limitation_message_key
:: string?
[Read]
The limitation message key used when the player attempts to use this modules in some place it's not allowed.
straight_rail
:: LuaEntityPrototype?
[Read]
The straight rail prototype used for this rail planner prototype.
curved_rail
:: LuaEntityPrototype?
[Read]
The curved rail prototype used for this rail planner prototype.
repair_result
:: array[TriggerItem]?
[Read]
The repair result of this repair tool prototype.
selection_border_color
:: Color?
[Read]
The color used when doing normal selection with this selection tool prototype.
alt_selection_border_color
:: Color?
[Read]
The color used when doing alt selection with this selection tool prototype.
reverse_selection_border_color
:: Color?
[Read]
The color used when doing reverse selection with this selection tool prototype.
selection_mode_flags
:: SelectionModeFlags?
[Read]
Flags that affect which entities will be selected.
alt_selection_mode_flags
:: SelectionModeFlags?
[Read]
Flags that affect which entities will be selected during alternate selection.
reverse_selection_mode_flags
:: SelectionModeFlags?
[Read]
Flags that affect which entities will be selected during reverse selection.
selection_cursor_box_type
:: string?
[Read]
alt_selection_cursor_box_type
:: string?
[Read]
reverse_selection_cursor_box_type
:: string?
[Read]
always_include_tiles
:: boolean?
[Read]
If tiles area always included when doing selection with this selection tool prototype.
entity_filter_mode
:: string?
[Read]
The entity filter mode used by this selection tool.
alt_entity_filter_mode
:: string?
[Read]
The alt entity filter mode used by this selection tool.
reverse_alt_entity_filter_mode
:: string?
[Read]
The reverse entity filter mode used by this selection tool.
tile_filter_mode
:: string?
[Read]
The tile filter mode used by this selection tool.
alt_tile_filter_mode
:: string?
[Read]
The alt tile filter mode used by this selection tool.
reverse_tile_filter_mode
:: string?
[Read]
The reverse tile filter mode used by this selection tool.
entity_filters
:: dictionary[string → LuaEntityPrototype]?
[Read]
The entity filters used by this selection tool indexed by entity name.
alt_entity_filters
:: dictionary[string → LuaEntityPrototype]?
[Read]
The alt entity filters used by this selection tool indexed by entity name.
reverse_entity_filters
:: dictionary[string → LuaEntityPrototype]?
[Read]
The reverse entity filters used by this selection tool indexed by entity name.
entity_type_filters
:: dictionary[string → boolean]?
[Read]
The entity type filters used by this selection tool indexed by entity type.
The boolean value is meaningless and is used to allow easy lookup if a type exists in the dictionary.
alt_entity_type_filters
:: dictionary[string → boolean]?
[Read]
The alt entity type filters used by this selection tool indexed by entity type.
The boolean value is meaningless and is used to allow easy lookup if a type exists in the dictionary.
reverse_entity_type_filters
:: dictionary[string → boolean]?
[Read]
The reverse entity type filters used by this selection tool indexed by entity type.
The boolean value is meaningless and is used to allow easy lookup if a type exists in the dictionary.
tile_filters
:: dictionary[string → LuaTilePrototype]?
[Read]
The tile filters used by this selection tool indexed by tile name.
alt_tile_filters
:: dictionary[string → LuaTilePrototype]?
[Read]
The alt tile filters used by this selection tool indexed by tile name.
reverse_tile_filters
:: dictionary[string → LuaTilePrototype]?
[Read]
The reverse tile filters used by this selection tool indexed by tile name.
entity_filter_slots
:: uint?
[Read]
The number of entity filters this deconstruction item has.
tile_filter_slots
:: uint?
[Read]
The number of tile filters this deconstruction item has.
durability_description_key
:: string?
[Read]
The durability message key used when displaying the durability of this tool.
durability
:: double?
[Read]
The durability of this tool item.
infinite
:: boolean?
[Read]
If this tool item has infinite durability.
mapper_count
:: uint?
[Read]
How many filters an upgrade item has.
valid
:: boolean
[Read]
Is this object valid? This Lua object holds a reference to an object within the game engine. It is possible that the game-engine object is removed whilst a mod still holds the corresponding Lua object. If that happens, the object becomes invalid, i.e. this attribute will be false
. Mods are advised to check for object validity if any change to the game state might have occurred between the creation of the Lua object and its access.
object_name
:: string
[Read]
The class name of this object. Available even when valid
is false. For LuaStruct objects it may also be suffixed with a dotted path to a member of the struct.