Factorio Prototype DocsVersion 1.1.107

ModulePrototype - 'module'

A module. They are used to affect the capabilities of existing machines, for example by increasing the crafting speed of a crafting machine.

Inherits from ItemPrototype « PrototypeBase

Properties

category :: ModuleCategoryID

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.

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

Tier of the module inside its category. [...]

Tier of the module inside its category. [...]

effect :: Effect

The effect of the module on the machine it's inserted in, such as increased pollution.

The effect of the module on the machine it's inserted in, such as increased pollution.

requires_beacon_alt_mode optional :: bool
limitation optional :: array[RecipeID]

Array of recipe names this module can be used on. [...]

Array of recipe names this module can be used on. [...]

limitation_blacklist optional :: array[RecipeID]

Array of recipe names this module can not be used on, implicitly allowing its use on all other recipes. [...]

Array of recipe names this module can not be used on, implicitly allowing its use on all other recipes. [...]

limitation_message_key optional :: string

The locale key of the message that is shown when the player attempts to use the module on a recipe it can't be used on. [...]

The locale key of the message that is shown when the player attempts to use the module on a recipe it can't be used on. [...]

art_style optional :: string

Chooses with what art style the module is shown inside beacons. [...]

Chooses with what art style the module is shown inside beacons. [...]

beacon_tint optional :: BeaconVisualizationTints

Inherited from ItemPrototype
stack_size :: ItemCountType

Count of items of the same name that can be stored in one inventory slot. [...]

Count of items of the same name that can be stored in one inventory slot. [...]

icons optional :: array[IconData]

Can't be an empty array.

Can't be an empty array.

icon optional :: FileName

Path to the icon file. [...]

Path to the icon file. [...]

icon_size optional :: SpriteSizeType

The size of the square icon, in pixels. [...]

The size of the square icon, in pixels. [...]

icon_mipmaps optional :: IconMipMapType

Icons of reduced size will be used at decreased scale. [...]

Icons of reduced size will be used at decreased scale. [...]

dark_background_icons optional :: array[IconData]

Inside IconData, the property for the file path is dark_background_icon instead of icon. [...]

Inside IconData, the property for the file path is dark_background_icon instead of icon. [...]

dark_background_icon optional :: FileName

If this is set, it is used to show items in alt-mode instead of the normal item icon. [...]

If this is set, it is used to show items in alt-mode instead of the normal item icon. [...]

place_result optional :: EntityID

Name of the EntityPrototype that can be built using this item. [...]

Name of the EntityPrototype that can be built using this item. [...]

placed_as_equipment_result optional :: EquipmentID
subgroup optional :: ItemSubGroupID

The name of the subgroup this item should be sorted into in item selection GUIs like logistic requests. [...]

The name of the subgroup this item should be sorted into in item selection GUIs like logistic requests. [...]

fuel_category optional :: FuelCategoryID

Must exist when a nonzero fuel_value is defined.

Must exist when a nonzero fuel_value is defined.

burnt_result optional :: ItemID

The item that is the result when this item gets burned as fuel.

The item that is the result when this item gets burned as fuel.

place_as_tile optional :: PlaceAsTile
pictures optional :: SpriteVariations

Used to give the item multiple different icons so that they look less uniform on belts. [...]

Used to give the item multiple different icons so that they look less uniform on belts. [...]

flags optional :: ItemPrototypeFlags

Specifies some properties of the item.

Specifies some properties of the item.

default_request_amount optional :: ItemCountType
wire_count optional :: ItemCountType

The number of items needed to connect 2 entities with this as wire. [...]

The number of items needed to connect 2 entities with this as wire. [...]

fuel_value optional :: Energy

Amount of energy the item gives when used as fuel. [...]

Amount of energy the item gives when used as fuel. [...]

fuel_acceleration_multiplier optional :: double
fuel_top_speed_multiplier optional :: double
fuel_emissions_multiplier optional :: double
fuel_glow_color optional :: Color

Colors the glow of the burner energy source when this fuel is burned. [...]

Colors the glow of the burner energy source when this fuel is burned. [...]

open_sound optional :: Sound
close_sound optional :: Sound
rocket_launch_products optional :: array[ItemProductPrototype]
rocket_launch_product optional :: ItemProductPrototype

Only loaded if rocket_launch_products is not defined.

Only loaded if rocket_launch_products is not defined.

Inherited from PrototypeBase
type :: string

Specifies the kind of prototype this is. [...]

Specifies the kind of prototype this is. [...]

name :: string

Unique textual identification of the prototype. [...]

Unique textual identification of the prototype. [...]

order optional :: Order

Used to order prototypes in inventory, recipes and GUIs. [...]

Used to order prototypes in inventory, recipes and GUIs. [...]

localised_name optional :: LocalisedString

Overwrites the name set in the locale file. [...]

Overwrites the name set in the locale file. [...]

localised_description optional :: LocalisedString

Overwrites the description set in the locale file. [...]

Overwrites the description set in the locale file. [...]

Properties

category :: ModuleCategoryID

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

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.

effect :: Effect

The effect of the module on the machine it's inserted in, such as increased pollution.

requires_beacon_alt_mode :: bool optional

Default: true

limitation :: array[RecipeID] optional

Array of recipe names this module can be used on. If empty, the module can be used on all recipes.

limitation_blacklist :: array[RecipeID] optional

Array of recipe names this module can not be used on, implicitly allowing its use on all other recipes. This property has no effect if set to an empty table.

Note that the game converts this into a normal list of limitations internally, so reading LuaItemPrototype::limitations at runtime will be the product of both ways of defining limitations.

limitation_message_key :: string optional

The locale key of the message that is shown when the player attempts to use the module on a recipe it can't be used on. The locale key will be prefixed with item-limitation. (the "category" of the locale) by the game.

art_style :: string optional

Chooses with what art style the module is shown inside beacons. See BeaconModuleVisualizations::art_style. Vanilla uses "vanilla" here.

beacon_tint :: BeaconVisualizationTints optional

BeaconVisualizationTints :: struct

Properties

primary :: Color optional

Default: no color

secondary :: Color optional

Default: no color

tertiary :: Color optional

Default: no color

quaternary :: Color optional

Default: no color

Prototypes

Types