Prototype/Module: Difference between revisions

From Official Factorio Wiki
Jump to navigation Jump to search
(0.18.32: hr beacon)
(Add limitation_blacklist property)
Line 21: Line 21:
{{Prototype property|limitation|[[Types/table|table]] of [[Types/string|string]]|optional=true}}
{{Prototype property|limitation|[[Types/table|table]] of [[Types/string|string]]|optional=true}}
Array of recipe names this module can be used on. If empty, the module can be used on all recipes.
Array of recipe names this module can be used on. If empty, the module can be used on all recipes.
{{Prototype property|limitation_blacklist|[[Types/table|table]] of [[Types/string|string]]|optional=true}}
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 [https://lua-api.factorio.com/latest/LuaItemPrototype.html#LuaItemPrototype.limitations LuaItemPrototype.limitations] at runtime will be the product of both ways of defining limitations.


{{Prototype property|limitation_message_key|[[Types/string|string]]|optional=true}}
{{Prototype property|limitation_message_key|[[Types/string|string]]|optional=true}}

Revision as of 15:16, 27 December 2020

Template:Prototype parent A module.

Template:Prototype TOC

Mandatory properties

This prototype inherits all the properties from Prototype/Item.

Template:Prototype property The name of a Prototype/ModuleCategory. 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.

Template:Prototype property 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.

Template:Prototype property

Optional properties

Template:Prototype property

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

Template:Prototype property 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.

Template:Prototype property Mandatory when limitation is present. 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.

Template:Prototype property Chooses with what art style the module is shown inside beacons. See Types/BeaconModuleVisualizations#art_style. Vanilla uses "vanilla" here.

Template:Prototype property Format:

beacon_tint = { primary = {r=1,g=1,b=1,a=1}, secondary = {r=1,g=1,b=1,a=1}, tertiary = {r=1,g=1,b=1,a=1}, quaternary = {r=1,g=1,b=1,a=1}}

Each key/value pair is optional and defaults to no color.