Skip to main content

Module concepts

Module concepts 

Source

Structs§

AccumulatorBlueprintControlBehavior
AchievementPrototypeFilter
AddRecordData
AdvancedMapGenSettings
AgriculturalTowerBlueprintControlBehavior
Alert
AlertFilter
AmmoType
ArithmeticCombinatorBlueprintControlBehavior
ArithmeticCombinatorParameters
ArtilleryTurretBlueprintControlBehavior
AssemblingMachineBlueprintControlBehavior
AsteroidChunk
AsteroidChunkPrototypeFilter
AsteroidCollectorBlueprintControlBehavior
AsteroidMapSettings
AttackParameterFluid
AttackParameters
AttackReactionItem
AutoplaceControl
AutoplaceSettings
AutoplaceSpecification
Specifies how probability and richness are calculated when placing something on the map.
AutoplaceSpecificationRestriction
BeamTarget
BlueprintEntity
The representation of an entity inside of a blueprint.
BlueprintEquipment
BlueprintInfinityInventorySettings
BlueprintInsertPlan
Defines an item type that a blueprint entity will request.
BlueprintInventoryWithFilters
BlueprintItemFilter
BlueprintItemIDAndQualityIDPair
An item prototype with optional quality specification.
BlueprintLogisticFilter
BlueprintLogisticSections
BlueprintMiningDrillFilter
BlueprintQualityID
BlueprintRollingStockConnection
BlueprintSchedule
BlueprintScheduleInterrupt
BlueprintScheduleRecord
BlueprintSignalIcon
BlueprintWireEnd
BoilerBlueprintControlBehavior
BonusUtilityConstants
BoundingBox
Two positions, specifying the top-left and bottom-right corner of the box respectively. Like with MapPosition, the names of the members may be omitted. When read from the game, the third member orientation is present if it is non-zero.
CapsuleAction
CargoDestination
The destination of a cargo pod.
CargoHatchDefinition
CargoLandingPadBlueprintControlBehavior
CargoStationParameters
ChartTagSpec
Either icon, text, or both must be provided.
ChartUtilityConstants
ChunkPosition
Coordinates of a chunk in a LuaSurface where each integer x/y represents a different chunk. This uses the same format as MapPosition, meaning it can be specified either with or without explicit keys. A MapPosition can be translated to a ChunkPosition by dividing the x/y values by 32.
ChunkPositionAndArea
A ChunkPosition with an added bounding box for the area of the chunk.
CircuitCondition
CircuitConditionDefinition
CircuitNetworkSelection
CircularParticleCreationSpecification
CliffPlacementSettings
CloudsEffectProperties
CollisionMask
Color
Red, green, blue and alpha values, all in range [0, 1] or all in range [0, 255] if any value is > 1. All values here are optional. Color channels default to 0, the alpha channel defaults to 1.
ColorFilterData
ColorHintSpecification
ColorModifier
Same as Color, but red, green, blue and alpha values can be any floating point number, without any special handling of the range [1, 255].
Command
Commands can be given to enemies and unit groups.
CompiledLogisticFilter
ConfigurationChangedData
ConstantCombinatorBlueprintControlBehavior
ContainerBlueprintControlBehavior
CraftingQueueItem
CraterPlacementDefinition
CraterSegment
CustomCommandData
CustomEntityStatus
CustomTooltipField
CutsceneWaypoint
DamageParameters
Used to specify what type of damage and how much damage something deals.
DamageTypeFilters
DebugVariable
The supported subset of DebugAdapter Variable
DebugVariablePresentationHint
The supported subset of DebugAdapter VariablePresentationHint
DebugVariablesFilter
DeciderCombinatorBlueprintControlBehavior
DeciderCombinatorCondition
DeciderCombinatorOutput
DeciderCombinatorParameters
Decorative
DecorativePrototypeFilter
DecorativeResult
DetailedItemOnLine
DeviatedValue
DisplayPanelBlueprintControlBehavior
DisplayPanelMessageDefinition
DisplayResolution
DragTarget
EditorUtilityConstants
EffectReceiver
EffectValueRange
EjectedItem
An item thrown overboard on a space platform.
ElemID
EmptySlotInfo
EnemyEvolutionMapSettings
These values represent a percentual increase in evolution. This means a value of 0.1 would increase evolution by 10%.
EnemyExpansionMapSettings
Candidate chunks are given scores to determine which one of them should be expanded into. This score takes into account various settings noted below. The iteration is over a square region centered around the chunk for which the calculation is done, and includes the central chunk as well. Distances are calculated as Euclidean distance.
EnemySpawnerAbsorption
EnergyAndCapacityPair
EntityIDAndQualityIDPair
An entity prototype with optional quality specification.
EntityIDFilter
EntityPrototypeFilter
EntityRendererSearchBoxLimits
EntitySearchFilters
EquipmentIDAndQualityIDPair
An equipment prototype with optional quality specification.
EquipmentPoint
A table used to define a manual shape for a piece of equipment.
EquipmentPosition
Position inside an equipment grid. This uses the same format as MapPosition, meaning it can be specified either with or without explicit keys.
EquipmentPrototypeFilter
EquipmentWithQualityCounts
EventData
Information about the event that has been raised. The table can also contain other fields depending on the type of event. See the list of Factorio events for more information on these.
ExplosionDefinition
Fluid
FluidBoxConnectionRecord
FluidBoxNeighbourRecord
FluidFilter
FluidProduct
FluidPrototypeFilter
FogEffectProperties
FurnaceBlueprintControlBehavior
GenericOnOffBlueprintControlBehavior
GhostShimmerConfig
GhostShimmerDistortionData
GhostShimmerOverlayData
GhostTintSet
GlobalTintEffectProperties
GuiAnchor
GuiArrowSpecification
Used for specifying where a GUI arrow should point to.
GuiLocation
Screen coordinates of a GUI element in a LuaGui. This uses the same format as TilePosition, meaning it can be specified either with or without explicit keys.
GunShift4Way
HeatConnectionDefinition
HeatPipeBlueprintControlBehavior
HeatSetting
The settings used by a heat-interface type entity.
IconDrawSpecification
IconSequencePositioning
InfinityInventoryFilter
A single filter used by an infinity-filters instance.
InfinityPipeFilter
A single filter used by an infinity-pipe type entity.
Ingredient
InserterBlueprintControlBehavior
InventoryPosition
InventoryWithCustomStackSizeSpecification
ItemFilter
An item filter may be specified in two ways, either as a string which is an item prototype name or as a table.
ItemHealthColorData
ItemIDAndQualityIDPair
An item prototype with optional quality specification.
ItemIDFilter
ItemInventoryPositions
ItemLocationData
ItemProduct
ItemPrototypeFilter
ItemStackDefinition
ItemStackLocation
ItemToPlace
ItemWithQualityCount
LabBlueprintControlBehavior
LabStoredDurability
LampBlueprintControlBehavior
LandMineBlueprintControlBehavior
LoaderBlueprintControlBehavior
LogisticContainerBlueprintControlBehavior
LogisticFilter
LogisticGroup
LogisticSection
LogisticSections
LogisticsNetworkSupplyCounts
LogisticsNetworkSupplyPoints
MapAndDifficultySettings
A standard table containing all MapSettings attributes plus an additional table that contains all DifficultySettings properties.
MapDifficultySettings
MapExchangeStringData
The data that can be extracted from a map exchange string, as a plain table.
MapGenPreset
MapGenSettings
When reading MapGenSettings, all properties will always be present, but they can be omitted when writing.
MapLocation
MapPosition
Coordinates on a surface, for example of an entity. MapPositions may be specified either as a dictionary with x, y as keys, or simply as an array with two elements.
MapViewSettings
What is shown in the map view. If a field is not given, that setting will not be changed.
MarketIngredient
MineableProperties
MiningDrillBlueprintControlBehavior
ModChangeData
ModSetting
ModSettingPrototypeFilter
ModuleEffects
NeighbourConnectable
NeighbourConnectableConnection
NeighbourConnectableConnectionDefinition
NthTickEventData
Offer
A single offer on a market entity.
OldTileAndPosition
OrientedCliffPrototypeSet
PathFinderMapSettings
PathfinderFlags
PathfinderWaypoint
PerceivedPerformance
PipeConnection
A single pipe connection for a given fluidbox.
PipeConnectionDefinition
PlaceAsTileResult
PlatformBackdrop
PlatformBackdropHeroCloud
PlatformSchedule
PlayMusicSpecification
PlaySoundSpecification
PlayerColorData
Pollutant
PollutionMapSettings
These values are for the time frame of one second (60 ticks).
PostSegmentDiedData
Information about an individual segment in a segmented unit when the unit died.
PrintSettings
ProcessionSet
ProcessionTimeline
ProgrammableSpeakerAlertParameters
ProgrammableSpeakerBlueprintControlBehavior
ProgrammableSpeakerCircuitParameters
ProgrammableSpeakerInstrument
ProgrammableSpeakerParameters
PrototypeHistory
PrototypeStrafeSettings
PrototypeWithQuality
ProxyContainerBlueprintControlBehavior
PumpBlueprintControlBehavior
QualityCondition
An item filter may be specified in two ways, either as a string which is a quality prototype name or as a table.
QuickBarSlot
RadarBlueprintControlBehavior
RadiusVisualisationSpecification
RailEndGoal
RailEndStart
RailExtensionData
RailLocation
RailSignalBaseBlueprintControlBehavior
ReactorBlueprintControlBehavior
RecipeIDAndQualityIDPair
A recipe prototype with optional quality specification.
RecipePrototypeFilter
ResearchCondition
ResearchIngredient
ResearchTrigger
Resistance
RidingState
RoboportBlueprintControlBehavior
RocketSiloBlueprintControlBehavior
RollingStockDrawData
RuntimeTooltipField
SavedLogisticFilters
SavedLogisticSection
ScheduleInterrupt
ScheduleRecord
ScheduleRecordPosition
ScriptArea
An area defined using the map editor.
ScriptPosition
A position defined using the map editor.
ScriptRenderTargetTable
If an entity target of an object (except its orientation_target) is destroyed or changes surface, then the object is also destroyed.
SegmentEngineSpecification
A runtime representation of SegmentEngineSpecification.
SegmentSpecification
A runtime representation of SegmentSpecification.
SegmentedUnitAIState
A structure describing the state of a LuaSegmentedUnit’s AI.
SelectedPrototypeData
SelectorCombinatorParameters
SharedProbabilityDefinition
Signal
An actual signal transmitted by the network.
SignalFilter
A signal filter may be specified in two ways, either as a string which is a virtual signal name or item prototype name or as a table.
SignalID
SignalIDBase
SimpleBoundingBox
SimulationDefinition
SingleFluidBoxBlueprintControlBehavior
SlotFilter
SmokeSource
SpaceConnectionAsteroidSpawnDefinition
SpaceConnectionAsteroidSpawnPoint
SpaceDustEffectProperties
SpaceLocationAsteroidSpawnDefinition
SpaceLocationPrototypeFilter
SpacePlatformHubBlueprintControlBehavior
SpacePlatformTileDefinition
SpawnPointDefinition
SpentFluidSpecification
SpiderEngineSpecification
SpiderLegSpecification
SplitterBlueprintControlBehavior
SpoilToTriggerResult
StateSteeringSettings
SteeringSettings
SurfaceCondition
SurfaceRenderParameters
TabAndContent
TechnologyModifier
The effect that is applied when a technology is researched.
TechnologyPrototypeFilter
TerritorySettings
ThrusterPerformancePoint
Tile
TileBuildabilityRule
A runtime representation of TileBuildabilityRule.
TileCollisionMask
TilePosition
Coordinates of a tile on a LuaSurface where each integer x/y represents a different tile. This uses the same format as MapPosition, except it rounds any non-integer x/y down to whole numbers. It can be specified either with or without explicit keys.
TilePrototypeFilter
TileSearchFilters
TrainFilter
TrainPathAllGoalsResult
TrainPathFinderConstants
TrainPathFinderOneGoalResult
TrainSchedule
TrainStopBlueprintControlBehavior
TrainStopFilter
TrainStopGoal
TrainVisualizationConstants
TransportBeltBlueprintControlBehavior
TriggerDelivery
TriggerEffectItem
TriggerEffectWithCooldown
TriggerItem
TriggerModifierData
TurretBlueprintControlBehavior
UndoRedoAction
UnitAISettings
UnitGroupMapSettings
UnitSpawnDefinition
UnlockableID
UpgradeMapperDestination
UpgradeMapperSource
UtilityConstants
Constants used by the game that are not specific to certain prototypes. See utility-constants.lua for the values used by the base game.
Vector
A vector is a two-element array or dictionary containing the x and y components. The game will always provide the array format. Positive x goes east, positive y goes south.
Vector3D
Reading this always returns the table with the named keys.
VehicleAutomaticTargetingParameters
VirtualSignalPrototypeFilter
WaitCondition
WallBlueprintControlBehavior
WireConnection
WorkerRobotOrder
ZoomLimits
A set of limitations for the player zoom level.
ZoomSpecification
A table specifying a fixed or dynamically-computed zoom level using one of the supported methods. Used by ZoomLimits.

Type Aliases§

CollisionLayerID
The name of a LuaCollisionLayerPrototype.
MathExpression
A string that represents a math expression. The expression parser recognizes four basic token types (with their regex):
NoiseExpressionSourceString
The string representation of a noise expression. More detailed information is found on the prototype docs.
ProcessionID
The name of a ProcessionPrototype.
SoundPath
It can be either the name of a SoundPrototype defined in the data stage, or a path in the form "type/name". The latter option can be sorted into four categories.
SpritePath
It can be either the name of a SpritePrototype defined in the data stage, or a path in form “type/name” or “type.name”.