Factorio Runtime Docs

Class LuaTechnology

One research item.

Members

reload()

Reload this technology from its prototype.

Reload this technology from its prototype.

help()  → string

All methods and properties that this object supports.

All methods and properties that this object supports.

force [R] :: LuaForce

The force this technology belongs to.

The force this technology belongs to.

name [R] :: string

Name of this technology.

Name of this technology.

localised_name [R] :: LocalisedString

Localised name of this technology.

Localised name of this technology.

localised_description [R] :: LocalisedString
prototype [R] :: LuaTechnologyPrototype

The prototype of this technology.

The prototype of this technology.

enabled [RW] :: boolean

Can this technology be researched?

Can this technology be researched?

visible_when_disabled [RW] :: boolean

If this technology will be visible in the research GUI even though it is disabled.

If this technology will be visible in the research GUI even though it is disabled.

upgrade [R] :: boolean

Is this an upgrade-type research?

Is this an upgrade-type research?

researched [RW] :: boolean

Has this technology been researched?

Has this technology been researched?

prerequisites [R] :: dictionary[string → LuaTechnology]

Prerequisites of this technology.

Prerequisites of this technology.

research_unit_ingredients [R] :: array[Ingredient]

The types of ingredients that labs will require to research this technology.

The types of ingredients that labs will require to research this technology.

effects [R] :: array[TechnologyModifier]

Effects applied when this technology is researched.

Effects applied when this technology is researched.

research_unit_count [R] :: uint

The number of research units required for this technology.

The number of research units required for this technology.

research_unit_energy [R] :: double

Amount of energy required to finish a unit of research.

Amount of energy required to finish a unit of research.

order [R] :: string

The string used to alphabetically sort these prototypes.

The string used to alphabetically sort these prototypes.

level [RW] :: uint

The current level of this technology.

The current level of this technology.

research_unit_count_formula [R] :: string?

The count formula used for this infinite research.

The count formula used for this infinite research.

valid [R] :: boolean

Is this object valid?

Is this object valid?

object_name [R] :: string

The class name of this object.

The class name of this object.

Methods

reload()

Reload this technology from its prototype.


help()  → string

All methods and properties that this object supports.

Attributes

force :: LuaForce Read

The force this technology belongs to.


name :: string Read

Name of this technology.


localised_name :: LocalisedString Read

Localised name of this technology.


localised_description :: LocalisedString Read


prototype :: LuaTechnologyPrototype Read

The prototype of this technology.


enabled :: boolean Read/Write

Can this technology be researched?


visible_when_disabled :: boolean Read/Write

If this technology will be visible in the research GUI even though it is disabled.


upgrade :: boolean Read

Is this an upgrade-type research?


researched :: boolean Read/Write

Has this technology been researched? Switching from false to true will trigger the technology advancement perks; switching from true to false will reverse them.


prerequisites :: dictionary[string → LuaTechnology] Read

Prerequisites of this technology. The result maps technology name to the LuaTechnology object.


research_unit_ingredients :: array[Ingredient] Read

The types of ingredients that labs will require to research this technology.


effects :: array[TechnologyModifier] Read

Effects applied when this technology is researched.


research_unit_count :: uint Read

The number of research units required for this technology.

Note

This is multiplied by the current research cost multiplier, unless LuaTechnologyPrototype::ignore_tech_cost_multiplier is true.


research_unit_energy :: double Read

Amount of energy required to finish a unit of research.


order :: string Read

The string used to alphabetically sort these prototypes. It is a simple string that has no additional semantic meaning.


level :: uint Read/Write

The current level of this technology. For level-based technology writing to this is the same as researching the technology to the previous level. Writing the level will set LuaTechnology::enabled to true.


research_unit_count_formula :: string? Read

The count formula used for this infinite research. nil if this research isn't infinite.


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.

Classes

Events

Concepts

Defines

Builtin types

>|