Factorio Prototype DocsVersion 2.0.26

Prototypes

Prototypes are used as templates for the machines, recipes, and more in the game engine. The point of prototypes is to define parameters for predefined behaviour. This is done by filling out a set of properties. Properties that the game is not looking for are simply ignored.

Each non-abstract prototype has an associated type name, which denotes what its type property needs to equal. Abstract prototypes on the other hand can not be directly created, but serve as a base class that can be inherited from.

Prototypes rely on multiple levels of inheritance, which can be visualized as a tree.

AccumulatorPrototypechanged 'accumulator'

Entity with energy source with specialised animation for charging/discharging. [...]

AchievementPrototypechanged 'achievement'

This prototype definition is used for the in-game achievements.

AchievementPrototypeWithConditionnew abstract
ActiveDefenseEquipmentPrototype 'active-defense-equipment'
ActiveTriggerPrototypenew abstract

The abstract base of all active trigger prototypes. [...]

AgriculturalTowerPrototypenew 'agricultural-tower'
AirbornePollutantPrototypenew 'airborne-pollutant'

A type of pollution that can spread throughout the chunks of a map.

AmbientSoundchanged 'ambient-sound'

This prototype is used to make sound while playing the game. [...]

AmmoCategorychanged 'ammo-category'

An ammo category. [...]

AmmoItemPrototypechanged 'ammo'

Ammo used for a gun.

AmmoTurretPrototypechanged 'ammo-turret'

A turret that consumes ammo items.

AnimationPrototypechanged 'animation'

Specifies an animation that can be used with LuaRendering::draw_animation at runtime.

ArithmeticCombinatorPrototype 'arithmetic-combinator'
ArmorPrototypechanged 'armor'

Armor to wear on your in-game character for defense and buffs.

ArrowPrototypechanged 'arrow'

The arrows used for example in the campaign, they are literally just arrows.

ArtilleryFlarePrototypechanged 'artillery-flare'

The entity spawned by the artillery targeting remote.

ArtilleryProjectilePrototypechanged 'artillery-projectile'

The projectile shot by artillery.

ArtilleryTurretPrototypechanged 'artillery-turret'
ArtilleryWagonPrototypechanged 'artillery-wagon'
AssemblingMachinePrototypechanged 'assembling-machine'

An assembling machine - like the assembling machines 1/2/3 in the game, but you can use your own recipe categories.

AsteroidChunkPrototypenew 'asteroid-chunk'
AsteroidCollectorPrototypenew 'asteroid-collector'
AsteroidPrototypenew 'asteroid'
AutoplaceControl 'autoplace-control'

A setting in the map creation GUI. [...]

BatteryEquipmentPrototype 'battery-equipment'
BeaconPrototypechanged 'beacon'

Entity with the ability to transfer module effects to its neighboring entities.

BeamPrototypechanged 'beam'

Used as a laser beam.

BeltImmunityEquipmentPrototype 'belt-immunity-equipment'
BlueprintBookPrototype 'blueprint-book'
BlueprintItemPrototypechanged 'blueprint'
BoilerPrototypechanged 'boiler'

A boiler. [...]

BuildEntityAchievementPrototypechanged 'build-entity-achievement'

This prototype is used for receiving an achievement when the player builds an entity.

BurnerGeneratorPrototypechanged 'burner-generator'

An entity that produces power from a burner energy source.

BurnerUsagePrototypenew 'burner-usage'

Set of data affecting tooltips, looks of gui slots etc when burner is not supposed to be burning items but eating them.

CapsulePrototype 'capsule'

A capsule, for example a combat robot capsule or the raw fish.

CaptureRobotPrototypenew 'capture-robot'
CarPrototypechanged 'car'

Entity with specialized properties for acceleration, braking, and turning.

CargoBayPrototypenew 'cargo-bay'
CargoLandingPadPrototypenew 'cargo-landing-pad'
CargoPodPrototypenew 'cargo-pod'
CargoWagonPrototype 'cargo-wagon'
ChainActiveTriggerPrototypenew 'chain-active-trigger'

Jumps between targets and applies a Trigger to them.

ChangedSurfaceAchievementPrototypenew 'change-surface-achievement'

This prototype is used for receiving an achievement when the player changes to a surface.

CharacterCorpsePrototypechanged 'character-corpse'

The corpse of a CharacterPrototype.

CharacterPrototypechanged 'character'

Entity that you move around on the screen during the campaign and freeplay.

CliffPrototypechanged 'cliff'
CollisionLayerPrototypenew 'collision-layer'

A collision layer. [...]

CombatRobotCountAchievementPrototype 'combat-robot-count-achievement'

This prototype is used for receiving an achievement when the player has a certain robot follower count.

CombatRobotPrototype 'combat-robot'

A combat robot. [...]

CombinatorPrototypechanged abstract

Abstract base type for decider and arithmetic combinators.

CompleteObjectiveAchievementPrototypenew 'complete-objective-achievement'
ConstantCombinatorPrototypechanged 'constant-combinator'
ConstructWithRobotsAchievementPrototype 'construct-with-robots-achievement'

This prototype is used for receiving an achievement when the player constructs enough entities with construction robots.

ConstructionRobotPrototypechanged 'construction-robot'
ContainerPrototypechanged 'container'

A generic container, such as a chest. [...]

CopyPasteToolPrototypechanged 'copy-paste-tool'

A copy-paste or cut-paste tool.

CorpsePrototypechanged 'corpse'

Used for corpses, for example the remnants when destroying buildings.

CraftingMachinePrototypechanged abstract

The abstract basis of the assembling machines and furnaces. [...]

CreatePlatformAchievementPrototypenew 'create-platform-achievement'

This prototype is used for receiving an achievement when the player creates a space platform.

CurvedRailAPrototypenew 'curved-rail-a'

A curved-A rail.

CurvedRailBPrototypenew 'curved-rail-b'

A curved-B rail.

CustomEventPrototypenew 'custom-event'

Custom events share the same namespace as custom inputs and built-in events for subscribing to and raising them.

CustomInputPrototypechanged 'custom-input'

Used for custom keyboard shortcuts/key bindings in mods. [...]

DamageTypechanged 'damage-type'

A damage type. [...]

DeciderCombinatorPrototype 'decider-combinator'
DeconstructWithRobotsAchievementPrototype 'deconstruct-with-robots-achievement'

This prototype is used for receiving an achievement when the player deconstructs enough entities with construction robots.

DeconstructibleTileProxyPrototypechanged 'deconstructible-tile-proxy'

Entity used to signify that the tile below it should be deconstructed.

DeconstructionItemPrototypechanged 'deconstruction-item'
DecorativePrototypechanged 'optimized-decorative'

Simple decorative purpose objects on the map, they have no health and some of them are removed when the player builds over. [...]

DelayedActiveTriggerPrototypenew 'delayed-active-trigger'

Delays the delivery of triggered effect by some number of ticks.

DeliverByRobotsAchievementPrototype 'deliver-by-robots-achievement'

This prototype is used for receiving an achievement, when the player requests and receives enough items using logistic robots.

DeliverCategorynew 'deliver-category'
DeliverImpactCombinationnew 'deliver-impact-combination'
DepleteResourceAchievementPrototypenew 'deplete-resource-achievement'

This prototype is used for receiving an achievement when a resource entity is depleted.

DestroyCliffAchievementPrototypenew 'destroy-cliff-achievement'
DisplayPanelPrototypenew 'display-panel'

A display panel prototype to provide a prototype for display panels.

DontBuildEntityAchievementPrototypechanged 'dont-build-entity-achievement'

This prototype is used for receiving an achievement when the player finishes the game without building a specific entity.

DontCraftManuallyAchievementPrototype 'dont-craft-manually-achievement'

This prototype is used for receiving an achievement when the player finishes the game without crafting more than a set amount.

DontKillManuallyAchievementPrototypenew 'dont-kill-manually-achievement'

This prototype is used for receiving an achievement when the player kill first entity using artillery.

DontResearchBeforeResearchingAchievementPrototypenew 'dont-research-before-researching-achievement'

This prototype is used for receiving an achievement when the player researches with a specific science pack before unlocking another.

DontUseEntityInEnergyProductionAchievementPrototype 'dont-use-entity-in-energy-production-achievement'

This prototype is used for receiving an achievement when the player finishes the game without receiving energy from a specific energy source.

EditorControllerPrototypechanged 'editor-controller'

Properties of the editor controller.

ElectricEnergyInterfacePrototype 'electric-energy-interface'

Entity with electric energy source with that can have some of its values changed runtime. [...]

ElectricPolePrototypechanged 'electric-pole'

An electric pole - part of the electric system.

ElectricTurretPrototype 'electric-turret'

A turret that uses electricity as ammunition.

ElevatedCurvedRailAPrototypenew 'elevated-curved-rail-a'

An elevated curved-A rail.

ElevatedCurvedRailBPrototypenew 'elevated-curved-rail-b'

An elevated curved-B rail.

ElevatedHalfDiagonalRailPrototypenew 'elevated-half-diagonal-rail'

An elevated half diagonal rail.

ElevatedStraightRailPrototypenew 'elevated-straight-rail'

An elevated straight rail.

EnemySpawnerPrototypechanged 'unit-spawner'

Can spawn entities. [...]

EnergyShieldEquipmentPrototype 'energy-shield-equipment'

Used by energy shield.

EntityGhostPrototypechanged 'entity-ghost'

The entity used for ghosts of entities. [...]

EntityPrototypechanged abstract

Abstract base of all entities in the game. [...]

EntityWithHealthPrototypechanged abstract

Abstract base of all entities with health in the game.

EntityWithOwnerPrototypechanged abstract

Abstract base of all entities with a force in the game. [...]

EquipArmorAchievementPrototypenew 'equip-armor-achievement'

This prototype is used for receiving an achievement when the player equips armor.

EquipmentCategory 'equipment-category'

Defines a category to be available to equipment and equipment grids.

EquipmentGhostPrototypenew 'equipment-ghost'

The equipment used for ghosts of equipment.

EquipmentGridPrototype 'equipment-grid'

The prototype of an equipment grid, for example the one used in a power armor.

EquipmentPrototype abstract

Abstract base of all equipment modules. [...]

ExplosionPrototypechanged 'explosion'

Used to play an animation and a sound.

FireFlamePrototypechanged 'fire'

A fire.

FishPrototypechanged 'fish'

Entity that spawns in water tiles, which can be mined. [...]

FluidPrototypechanged 'fluid'

A fluid.

FluidStreamPrototypechanged 'stream'

Used for example for the handheld flamethrower.

FluidTurretPrototype 'fluid-turret'

A turret that uses fluid as ammunition.

FluidWagonPrototype 'fluid-wagon'
FlyingRobotPrototypechanged abstract

Abstract base for construction/logistics and combat robots.

FontPrototype 'font'

Fonts are used in all GUIs in the game.

FuelCategorychanged 'fuel-category'

Each item which has a fuel_value must have a fuel category. [...]

FurnacePrototypechanged 'furnace'

A furnace. [...]

FusionGeneratorPrototypenew 'fusion-generator'
FusionReactorPrototypenew 'fusion-reactor'

Fusion reactor. [...]

GatePrototypechanged 'gate'

A gate.

GeneratorEquipmentPrototype 'generator-equipment'
GeneratorPrototypechanged 'generator'

An entity that produces power from fluids, for example a steam engine.

GodControllerPrototype 'god-controller'

Properties of the god controller.

GroupAttackAchievementPrototypechanged 'group-attack-achievement'

This prototype is used for receiving an achievement when the player gets attacked due to pollution.

GuiStyle 'gui-style'

The available GUI styles.

GunPrototype 'gun'

A gun. [...]

HalfDiagonalRailPrototypenew 'half-diagonal-rail'

A half diagonal rail.

HeatInterfacePrototype 'heat-interface'

This entity produces or consumes heat. [...]

HeatPipePrototypechanged 'heat-pipe'
HighlightBoxEntityPrototypechanged 'highlight-box'

Used to attach graphics for cursor boxes to entities during runtime. [...]

ImpactCategorynew 'impact-category'
InfinityContainerPrototypechanged 'infinity-container'

A generic container, such as a chest, that can spawn or void items and interact with the logistics network.

InfinityPipePrototype 'infinity-pipe'

This entity produces or consumes fluids. [...]

InserterPrototypechanged 'inserter'
InventoryBonusEquipmentPrototypenew 'inventory-bonus-equipment'
ItemEntityPrototypechanged 'item-entity'

The entity used for items on the ground.

ItemGroupchanged 'item-group'

An item group. [...]

ItemPrototypechanged 'item'

Possible configuration for all items.

ItemRequestProxyPrototypechanged 'item-request-proxy'

Entity used to signify that an entity is requesting items, for example modules for an assembling machine after it was blueprinted with modules inside.

ItemSubGroup 'item-subgroup'

An item subgroup. [...]

ItemWithEntityDataPrototypechanged 'item-with-entity-data'

ItemWithEntityData saves data associated with the entity that it represents, for example the content of the equipment grid of a car.

ItemWithInventoryPrototypechanged 'item-with-inventory'

The inventory allows setting player defined filters similar to cargo wagon inventories.

ItemWithLabelPrototype 'item-with-label'

Like a normal item but with the ability to have a colored label.

ItemWithTagsPrototype 'item-with-tags'

Item type that can store any basic arbitrary Lua data, see LuaItemStack::tags.

KillAchievementPrototypechanged 'kill-achievement'

This prototype is used for receiving an achievement when the player destroys a certain amount of an entity, with a specific damage type.

LabPrototypechanged 'lab'

A lab. [...]

LampPrototypechanged 'lamp'

A lamp to provide light, using energy.

LandMinePrototypechanged 'land-mine'
LaneSplitterPrototypenew 'lane-splitter'
LegacyCurvedRailPrototypenew 'legacy-curved-rail'

A legacy curved rail.

LegacyStraightRailPrototypenew 'legacy-straight-rail'

A legacy straight rail.

LightningAttractorPrototypenew 'lightning-attractor'
LightningPrototypenew 'lightning'
LinkedBeltPrototypechanged 'linked-belt'

A belt that can be connected to a belt anywhere else, including on a different surface. [...]

LinkedContainerPrototypechanged 'linked-container'

A container that shares its inventory with containers with the same link_id, which can be set via the GUI. [...]

Loader1x1Prototype 'loader-1x1'

Continuously loads and unloads machines, as an alternative to inserters. [...]

Loader1x2Prototype 'loader'

Continuously loads and unloads machines, as an alternative to inserters. [...]

LoaderPrototypechanged abstract

Continuously loads and unloads machines, as an alternative to inserters.

LocomotivePrototype 'locomotive'
LogisticContainerPrototypechanged 'logistic-container'

A generic container, such as a chest, that interacts with the logistics network.

LogisticRobotPrototype 'logistic-robot'
MapGenPresets 'map-gen-presets'

The available map gen presets.

MapSettingschanged 'map-settings'

The default map settings.

MarketPrototype 'market'

Offers can be added to a market and they are shown when opening the entity. [...]

MiningDrillPrototypechanged 'mining-drill'

A mining drill for automatically extracting resources from resource entities. [...]

ModuleCategory 'module-category'

A module category. [...]

ModulePrototypechanged 'module'

A module. [...]

ModuleTransferAchievementPrototypenew 'module-transfer-achievement'

This prototype is used for receiving an achievement when the player moves a module with the cursor.

MouseCursor 'mouse-cursor'
MovementBonusEquipmentPrototype 'movement-bonus-equipment'

Used by exoskeleton. [...]

NamedNoiseExpressionchanged 'noise-expression'

A NoiseExpression with a name. [...]

NamedNoiseFunctionnew 'noise-function'

Named noise functions are defined in the same way as NamedNoiseExpression except that they also have parameters. [...]

NightVisionEquipmentPrototype 'night-vision-equipment'

Used by nightvision.

OffshorePumpPrototypechanged 'offshore-pump'
ParticlePrototype 'optimized-particle'

An entity with a limited lifetime that can use trigger effects.

ParticleSourcePrototypechanged 'particle-source'

Creates particles.

PipePrototype 'pipe'

An entity to transport fluids over a distance and between machines.

PipeToGroundPrototypechanged 'pipe-to-ground'
PlaceEquipmentAchievementPrototypenew 'place-equipment-achievement'
PlanetPrototypenew 'planet'
PlantPrototypenew 'plant'
PlayerDamagedAchievementPrototype 'player-damaged-achievement'

This prototype is used for receiving an achievement when the player receives damage.

PlayerPortPrototypechanged 'player-port'

Deprecated in 2.0.

PowerSwitchPrototypechanged 'power-switch'
ProcessionLayerInheritanceGroupnew 'procession-layer-inheritance-group'

Helps ProcessionLayers pass properties between subsequent transitions if they belong to the same group.

ProcessionPrototypenew 'procession'

Describes the duration and visuals of a departure, arrival or an intermezzo while traveling between surfaces. [...]

ProduceAchievementPrototype 'produce-achievement'

This prototype is used for receiving an achievement when the player produces more than the specified amount of items.

ProducePerHourAchievementPrototype 'produce-per-hour-achievement'

This prototype is used for receiving an achievement when the player crafts a specified item a certain amount, in an hour.

ProgrammableSpeakerPrototypechanged 'programmable-speaker'
ProjectilePrototypechanged 'projectile'

Entity with limited lifetime that can hit other entities and has triggers when this happens.

Prototypenew abstract
PrototypeBasechanged abstract

The abstract base for prototypes. [...]

PumpPrototypechanged 'pump'

The pump is used to transfer fluids between tanks, fluid wagons and pipes.

QualityPrototypenew 'quality'
RadarPrototypechanged 'radar'
RailChainSignalPrototypechanged 'rail-chain-signal'
RailPlannerPrototypechanged 'rail-planner'
RailPrototypechanged abstract

The abstract base of all rail prototypes.

RailRampPrototypenew 'rail-ramp'

A rail ramp.

RailRemnantsPrototypechanged 'rail-remnants'

Used for rail corpses.

RailSignalBasePrototypechanged abstract

The abstract base entity for both rail signals.

RailSignalPrototype 'rail-signal'
RailSupportPrototypenew 'rail-support'
ReactorPrototypechanged 'reactor'
RecipeCategory 'recipe-category'

A recipe category. [...]

RecipePrototypechanged 'recipe'

A recipe. [...]

RemoteControllerPrototypenew 'remote-controller'

Properties of the remote controller.

RepairToolPrototypechanged 'repair-tool'

A repair pack. [...]

ResearchAchievementPrototype 'research-achievement'

This prototype is used for receiving an achievement when the player completes a specific research.

ResearchWithSciencePackAchievementPrototypenew 'research-with-science-pack-achievement'
ResourceCategory 'resource-category'

A resource category. [...]

ResourceEntityPrototypechanged 'resource'

A mineable/gatherable entity.

RoboportEquipmentPrototypechanged 'roboport-equipment'
RoboportPrototypechanged 'roboport'
RobotWithLogisticInterfacePrototypechanged abstract

The common properties of logistic and construction robots represented by an abstract prototype.

RocketSiloPrototypechanged 'rocket-silo'
RocketSiloRocketPrototypechanged 'rocket-silo-rocket'

The rocket inside the rocket silo.

RocketSiloRocketShadowPrototype 'rocket-silo-rocket-shadow'

The shadow of the rocket inside the rocket silo.

RollingStockPrototypechanged abstract

The abstract base of all rolling stock.

SegmentPrototypenew 'segment'

Entity representing an individual segment in a SegmentedUnitPrototype

SegmentedUnitPrototypenew 'segmented-unit'

Entity composed of multiple segment entities that trail behind the head.

SelectionToolPrototypechanged 'selection-tool'

Used in the base game as a base for the blueprint item and the deconstruction item.

SelectorCombinatorPrototypenew 'selector-combinator'
ShootAchievementPrototypenew 'shoot-achievement'

This prototype is used for receiving an achievement when the player shoots certain ammo.

ShortcutPrototypechanged 'shortcut'

Definition for a shortcut button in the shortcut bar. [...]

SimpleEntityPrototypechanged 'simple-entity'

An extremely basic entity with no special functionality. [...]

SimpleEntityWithForcePrototype 'simple-entity-with-force'

By default, this entity will be a priority target for units/turrets, who will choose to attack it even if it does not block their path. [...]

SimpleEntityWithOwnerPrototypechanged 'simple-entity-with-owner'

Has a force, but unlike SimpleEntityWithForcePrototype it is only attacked if the biters get stuck on it (or if EntityWithOwnerPrototype::is_military_target set to true to make the two entity types equivalent). [...]

SmokePrototypechanged abstract

Abstract entity that has an animation.

SmokeWithTriggerPrototypechanged 'smoke-with-trigger'

An entity with animation and a trigger.

SolarPanelEquipmentPrototype 'solar-panel-equipment'
SolarPanelPrototype 'solar-panel'
SoundPrototypechanged 'sound'

Specifies a sound that can be used with SoundPath at runtime.

SpaceConnectionDistanceTraveledAchievementPrototypenew 'space-connection-distance-traveled-achievement'
SpaceConnectionPrototypenew 'space-connection'
SpaceLocationPrototypenew 'space-location'

A space location, such as a planet.

SpacePlatformHubPrototypenew 'space-platform-hub'
SpacePlatformStarterPackPrototypenew 'space-platform-starter-pack'
SpectatorControllerPrototype 'spectator-controller'

Properties of the spectator controller.

SpeechBubblePrototypechanged 'speech-bubble'

A speech bubble. [...]

SpiderLegPrototypechanged 'spider-leg'
SpiderUnitPrototypenew 'spider-unit'
SpiderVehiclePrototypechanged 'spider-vehicle'
SpidertronRemotePrototypechanged 'spidertron-remote'
SplitterPrototypechanged 'splitter'
SpritePrototypechanged 'sprite'

Specifies an image that can be used with SpritePath at runtime.

StickerPrototypechanged 'sticker'

Entity that sticks to another entity, and damages/slows it. [...]

StorageTankPrototypechanged 'storage-tank'
StraightRailPrototypechanged 'straight-rail'

A straight rail.

SurfacePropertyPrototypenew 'surface-property'
SurfacePrototypenew 'surface'
TechnologyPrototypechanged 'technology'
TemporaryContainerPrototypenew 'temporary-container'
ThrusterPrototypenew 'thruster'
TileEffectDefinitionchanged 'tile-effect'

Used to define the parameters for tile shaders.

TileGhostPrototypechanged 'tile-ghost'

The entity used for tile ghosts.

TilePrototypechanged 'tile'

A tile.

TipsAndTricksItemchanged 'tips-and-tricks-item'

A tips and tricks entry.

TipsAndTricksItemCategory 'tips-and-tricks-item-category'

A TipsAndTricksItem category, used for sorting of tips and tricks entries: Tips and trick entries are sorted first by category and then by their order within that category.

ToolPrototype 'tool'

Items with a "durability". [...]

TrainPathAchievementPrototype 'train-path-achievement'

This prototype is used for receiving an achievement when the player has a specified train path length.

TrainStopPrototypechanged 'train-stop'
TransportBeltConnectablePrototypechanged abstract

Abstract class that anything that is a belt or can connect to belts uses.

TransportBeltPrototypechanged 'transport-belt'
TreePrototypechanged 'tree'

A tree.

TriggerTargetType 'trigger-target-type'

The base game always internally defines a "common" trigger target type. [...]

TrivialSmokePrototype 'trivial-smoke'

Smoke, but it's not an entity for optimization purposes.

TurretPrototypechanged 'turret'

A turret that needs no extra ammunition. [...]

TutorialDefinitionchanged 'tutorial'

The definition of the tutorial to be used in the tips and tricks, see TipsAndTricksItem. [...]

UndergroundBeltPrototypechanged 'underground-belt'
UnitPrototypechanged 'unit'

Entity that moves around and attacks players, for example biters and spitters.

UpgradeItemPrototypechanged 'upgrade-item'
UseEntityInEnergyProductionAchievementPrototypenew 'use-entity-in-energy-production-achievement'

This prototype is used for receiving an achievement when the player produces energy by entity.

UseItemAchievementPrototypenew 'use-item-achievement'

This prototype is used for receiving an achievement when the player uses a capsule.

UtilityConstantschanged 'utility-constants'

Constants used by the game that are not specific to certain prototypes. [...]

UtilitySoundschanged 'utility-sounds'

Sounds used by the game that are not specific to certain prototypes.

UtilitySpriteschanged 'utility-sprites'

Sprites used by the game that are not specific to certain prototypes.

VehiclePrototypechanged abstract

Abstract base of all vehicles.

VirtualSignalPrototypechanged 'virtual-signal'
WallPrototypechanged 'wall'

A wall.

AccumulatorPrototype 'accumulator' changed

energy_source :: ElectricEnergySource

The capacity of the energy source buffer specifies the capacity of the accumulator.

The capacity of the energy source buffer specifies the capacity of the accumulator.

chargable_graphicsnew optional :: ChargableGraphics
circuit_wire_max_distance optional :: double

The maximum circuit wire distance for this entity.

The maximum circuit wire distance for this entity.

draw_copper_wires optional :: bool
draw_circuit_wires optional :: bool
circuit_connectornew optional :: CircuitConnectorDefinition
default_output_signal optional :: SignalIDConnector

The name of the signal that is the default for when an accumulator is connected to the circuit network.

The name of the signal that is the default for when an accumulator is connected to the circuit network.

AchievementPrototype 'achievement' changed

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. [...]

steam_stats_name optional :: string

Unusable by mods, as this refers to unlocking the achievement through Steam.

Unusable by mods, as this refers to unlocking the achievement through Steam.

allowed_without_fight optional :: bool

If this is set to false, it is not possible to complete the achievement on the peaceful difficulty setting or when the enemy base generation settings have been changed.

If this is set to false, it is not possible to complete the achievement on the peaceful difficulty setting or when the enemy base generation settings have been changed.

objective_condition :: "game-finished" or "rocket-launched"

No new properties

AgriculturalTowerPrototype 'agricultural-tower' new

AirbornePollutantPrototype 'airborne-pollutant' new

localised_name_with_amount optional :: string

The translated plural string key to use when displaying this pollution's name with an amount. [...]

The translated plural string key to use when displaying this pollution's name with an amount. [...]

chart_color :: Color
icon :: Sprite
affects_evolution :: bool
affects_water_tint :: bool

If true, large amounts of this pollution will cause water tiles to turn a sickly green.

If true, large amounts of this pollution will cause water tiles to turn a sickly green.

AmbientSound 'ambient-sound' changed

type :: "ambient-sound"

Specification of the type of the prototype.

Specification of the type of the prototype.

name :: string

Unique textual identification of the prototype.

Unique textual identification of the prototype.

weight optional :: double

Cannot be less than zero. [...]

Cannot be less than zero. [...]

track_typechanged :: AmbientSoundType
planetnew optional :: SpaceLocationID

Track without a planet is bound to space platforms.

Track without a planet is bound to space platforms.

sound optional :: Sound

Static music track. [...]

Static music track. [...]

variable_soundnew optional :: VariableAmbientSoundVariableSound

Variable music track. [...]

Variable music track. [...]

AmmoCategory 'ammo-category' changed

bonus_gui_order optional :: Order
iconsnew optional :: array[IconData]

Can't be an empty array.

Can't be an empty array.

iconnew optional :: FileName

Path to the icon file. [...]

Path to the icon file. [...]

icon_sizenew optional :: SpriteSizeType

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

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

AmmoItemPrototype 'ammo' changed

ammo_type :: AmmoType or array[AmmoType]

When using a plain AmmoType (no array), the ammo type applies to everything ("default"). [...]

When using a plain AmmoType (no array), the ammo type applies to everything ("default"). [...]

magazine_size optional :: float

Number of shots before ammo item is consumed. [...]

Number of shots before ammo item is consumed. [...]

reload_time optional :: float

Amount of extra time (in ticks) it takes to reload the weapon after depleting the magazine. [...]

Amount of extra time (in ticks) it takes to reload the weapon after depleting the magazine. [...]

ammo_categorynew :: AmmoCategoryID
shoot_protectednew optional :: bool

AmmoTurretPrototype 'ammo-turret' changed

energy_sourcenew optional :: ElectricEnergySource
energy_per_shotnew optional :: Energy
inventory_size :: ItemStackIndex
automated_ammo_count :: ItemCountType

Shift of the "alt-mode icon" relative to the turret's position.

Shift of the "alt-mode icon" relative to the turret's position.

prepare_with_no_ammonew optional :: bool

AnimationPrototype 'animation' changed

type :: "animation"
name :: string

Name of the animation. [...]

Name of the animation. [...]

layers optional :: array[Animation]

If this property is present, all Animation definitions have to be placed as entries in the array, and they will all be loaded from there. [...]

If this property is present, all Animation definitions have to be placed as entries in the array, and they will all be loaded from there. [...]

filename optional :: FileName

Only loaded if layers is not defined. [...]

Only loaded if layers is not defined. [...]

priority optional :: SpritePriority

Only loaded if layers is not defined.

Only loaded if layers is not defined.

flags optional :: SpriteFlags

Only loaded if layers is not defined.

Only loaded if layers is not defined.

size optional :: SpriteSizeType or {SpriteSizeType, SpriteSizeType}

Only loaded if layers is not defined. [...]

Only loaded if layers is not defined. [...]

width optional :: SpriteSizeType

Only loaded if layers is not defined. [...]

Only loaded if layers is not defined. [...]

height optional :: SpriteSizeType

Only loaded if layers is not defined. [...]

Only loaded if layers is not defined. [...]

x optional :: SpriteSizeType

Only loaded if layers is not defined. [...]

Only loaded if layers is not defined. [...]

y optional :: SpriteSizeType

Only loaded if layers is not defined. [...]

Only loaded if layers is not defined. [...]

position optional :: {SpriteSizeType, SpriteSizeType}

Only loaded if layers is not defined. [...]

Only loaded if layers is not defined. [...]

shift optional :: Vector

Only loaded if layers is not defined. [...]

Only loaded if layers is not defined. [...]

rotate_shiftnew optional :: bool

Only loaded if layers is not defined.

Only loaded if layers is not defined.

apply_special_effectnew optional :: bool

Only loaded if layers is not defined.

Only loaded if layers is not defined.

scale optional :: double

Only loaded if layers is not defined. [...]

Only loaded if layers is not defined. [...]

draw_as_shadow optional :: bool

Only loaded if layers is not defined. [...]

Only loaded if layers is not defined. [...]

draw_as_glow optional :: bool

Only loaded if layers is not defined. [...]

Only loaded if layers is not defined. [...]

draw_as_light optional :: bool

Only loaded if layers is not defined. [...]

Only loaded if layers is not defined. [...]

mipmap_count optional :: uint8

Only loaded if layers is not defined. [...]

Only loaded if layers is not defined. [...]

apply_runtime_tint optional :: bool

Only loaded if layers is not defined.

Only loaded if layers is not defined.

tint_as_overlaynew optional :: bool

Only loaded if layers is not defined.

Only loaded if layers is not defined.

invert_colorsnew optional :: bool

Only loaded if layers is not defined.

Only loaded if layers is not defined.

tint optional :: Color

Only loaded if layers is not defined.

Only loaded if layers is not defined.

blend_mode optional :: BlendMode

Only loaded if layers is not defined.

Only loaded if layers is not defined.

load_in_minimal_mode optional :: bool

Only loaded if layers is not defined. [...]

Only loaded if layers is not defined. [...]

premul_alpha optional :: bool

Only loaded if layers is not defined. [...]

Only loaded if layers is not defined. [...]

allow_forced_downscalenew optional :: bool

Only loaded if layers is not defined. [...]

Only loaded if layers is not defined. [...]

generate_sdf optional :: bool

Only loaded if layers is not defined. [...]

Only loaded if layers is not defined. [...]

surfacenew optional :: SpriteUsageSurfaceHint

Only loaded if layers is not defined. [...]

Only loaded if layers is not defined. [...]

usagenew optional :: SpriteUsageHint

Only loaded if layers is not defined. [...]

Only loaded if layers is not defined. [...]

run_modechanged optional :: AnimationRunMode

Only loaded if layers is not defined.

Only loaded if layers is not defined.

frame_count optional :: uint32

Only loaded if layers is not defined. [...]

Only loaded if layers is not defined. [...]

line_length optional :: uint32

Only loaded if layers is not defined. [...]

Only loaded if layers is not defined. [...]

animation_speed optional :: float

Only loaded if layers is not defined. [...]

Only loaded if layers is not defined. [...]

max_advance optional :: float

Only loaded if layers is not defined. [...]

Only loaded if layers is not defined. [...]

repeat_count optional :: uint8

Only loaded if layers is not defined. [...]

Only loaded if layers is not defined. [...]

dice optional :: uint8

Only loaded if layers is not defined.

Only loaded if layers is not defined.

dice_x optional :: uint8

Only loaded if layers is not defined.

Only loaded if layers is not defined.

dice_y optional :: uint8

Only loaded if layers is not defined.

Only loaded if layers is not defined.

frame_sequence optional :: AnimationFrameSequence

Only loaded if layers is not defined.

Only loaded if layers is not defined.

stripes optional :: array[Stripe]

Only loaded if layers is not defined.

Only loaded if layers is not defined.

filenamesnew optional :: array[FileName]

Only loaded if neither layers nor stripes are defined.

Only loaded if neither layers nor stripes are defined.

slicenew optional :: uint32

Only loaded if layers is not defined and if filenames is defined.

Only loaded if layers is not defined and if filenames is defined.

lines_per_filenew optional :: uint32

Only loaded if layers is not defined. [...]

Only loaded if layers is not defined. [...]

ArmorPrototype 'armor' changed

equipment_grid optional :: EquipmentGridID

Name of the EquipmentGridPrototype that this armor has.

Name of the EquipmentGridPrototype that this armor has.

resistances optional :: array[Resistance]

What amount of damage the armor takes on what type of damage is incoming.

What amount of damage the armor takes on what type of damage is incoming.

inventory_size_bonus optional :: ItemStackIndex

By how many slots the inventory of the player is expanded when the armor is worn.

By how many slots the inventory of the player is expanded when the armor is worn.

provides_flightnew optional :: bool
collision_boxnew optional :: BoundingBox
drawing_boxnew optional :: BoundingBox
takeoff_soundnew optional :: Sound

Only loaded if provides_flight is true.

Only loaded if provides_flight is true.

flight_soundnew optional :: InterruptibleSound

Only loaded if provides_flight is true.

Only loaded if provides_flight is true.

landing_soundnew optional :: Sound

Only loaded if provides_flight is true.

Only loaded if provides_flight is true.

steps_soundnew optional :: Sound
moving_soundnew optional :: Sound

ArrowPrototype 'arrow' changed

ArtilleryFlarePrototype 'artillery-flare' changed

pictures optional :: AnimationVariations

Picture variation count and individual frame count must be equal to shadow variation count.

Picture variation count and individual frame count must be equal to shadow variation count.

life_time :: uint16
shadows optional :: AnimationVariations

Shadow variation variation count and individual frame count must be equal to picture variation count.

Shadow variation variation count and individual frame count must be equal to picture variation count.

render_layer optional :: RenderLayer
render_layer_when_on_ground optional :: RenderLayer
regular_trigger_effect optional :: TriggerEffect
regular_trigger_effect_frequency optional :: uint32
ended_in_water_trigger_effect optional :: TriggerEffect
movement_modifier_when_on_ground optional :: double
movement_modifier optional :: double
creation_shift optional :: Vector
initial_speed optional :: Vector
initial_height optional :: float
initial_vertical_speed optional :: float
initial_frame_speed optional :: float
shots_per_flare optional :: uint32

How many artillery shots should be fired at the position of this flare.

How many artillery shots should be fired at the position of this flare.

early_death_ticks optional :: uint32

How long this flare stays alive after shots_per_flare amount of shots have been shot at it.

How long this flare stays alive after shots_per_flare amount of shots have been shot at it.

shot_category optional :: AmmoCategoryID

ArtilleryProjectilePrototype 'artillery-projectile' changed

reveal_map :: bool
picture optional :: Sprite
shadow optional :: Sprite
chart_picture optional :: Sprite
action optional :: Trigger
final_action optional :: Trigger
height_from_ground optional :: float
rotatable optional :: bool

Whether the picture of the projectile is rotated to match the direction of travel.

Whether the picture of the projectile is rotated to match the direction of travel.

ArtilleryTurretPrototype 'artillery-turret' changed

gun :: ItemID

Name of a GunPrototype.

Name of a GunPrototype.

inventory_size :: ItemStackIndex

Must be > 0.

Must be > 0.

ammo_stack_limit :: ItemCountType

Must be > 0.

Must be > 0.

automated_ammo_count optional :: ItemCountType

Must be > 0.

Must be > 0.

turret_rotation_speed :: double
manual_range_modifier :: double

Must be positive.

Must be positive.

alert_when_attacking optional :: bool
disable_automatic_firing optional :: bool
base_picture_secondary_draw_order optional :: uint8
base_picture_render_layer optional :: RenderLayer
base_picture optional :: Animation4Way
cannon_base_shiftnew :: Vector3D
cannon_base_pictures optional :: RotatedSprite
cannon_barrel_pictures optional :: RotatedSprite
rotating_sound optional :: InterruptibleSound
turn_after_shooting_cooldown optional :: uint16
cannon_parking_frame_count optional :: uint16
cannon_parking_speed optional :: float

Must be positive.

Must be positive.

circuit_wire_max_distancenew optional :: double

The maximum circuit wire distance for this entity.

The maximum circuit wire distance for this entity.

draw_copper_wiresnew optional :: bool
draw_circuit_wiresnew optional :: bool
circuit_connectornew optional :: CircuitConnectorDefinition
cannon_barrel_recoil_shiftings optional :: array[Vector3D]
cannon_barrel_recoil_shiftings_load_correction_matrix optional :: array[Vector3D]

Only loaded if cannon_barrel_recoil_shiftings is loaded.

Only loaded if cannon_barrel_recoil_shiftings is loaded.

cannon_barrel_light_direction optional :: Vector3D

Only loaded if cannon_barrel_recoil_shiftings is loaded.

Only loaded if cannon_barrel_recoil_shiftings is loaded.

ArtilleryWagonPrototype 'artillery-wagon' changed

gun :: ItemID

Name of a GunPrototype.

Name of a GunPrototype.

inventory_size :: ItemStackIndex

Must be > 0.

Must be > 0.

ammo_stack_limit :: ItemCountType

Must be > 0.

Must be > 0.

automated_ammo_countnew optional :: ItemCountType

Must be > 0.

Must be > 0.

turret_rotation_speed :: double
manual_range_modifier :: double

Must be > 0.

Must be > 0.

disable_automatic_firing optional :: bool
cannon_base_pictureschanged optional :: RollingStockRotatedSlopedGraphics
cannon_base_heightnew optional :: double
cannon_base_shift_when_verticalnew optional :: double
cannon_base_shift_when_horizontalnew optional :: double
cannon_barrel_pictureschanged optional :: RollingStockRotatedSlopedGraphics
rotating_sound optional :: InterruptibleSound
turn_after_shooting_cooldown optional :: uint16
cannon_parking_frame_count optional :: uint16
cannon_parking_speed optional :: float

Must be positive.

Must be positive.

cannon_barrel_recoil_shiftings optional :: array[Vector3D]
cannon_barrel_recoil_shiftings_load_correction_matrix optional :: array[Vector3D]

Only loaded if cannon_barrel_recoil_shiftings is loaded.

Only loaded if cannon_barrel_recoil_shiftings is loaded.

cannon_barrel_light_direction optional :: Vector3D

Only loaded if cannon_barrel_recoil_shiftings is loaded.

Only loaded if cannon_barrel_recoil_shiftings is loaded.

AssemblingMachinePrototype 'assembling-machine' changed

fixed_recipe optional :: RecipeID

The preset recipe of this machine. [...]

The preset recipe of this machine. [...]

fixed_qualitynew optional :: QualityID

Only loaded when fixed_recipe is provided.

Only loaded when fixed_recipe is provided.

gui_title_key optional :: string

The locale key of the title of the GUI that is shown when the player opens the assembling machine. [...]

The locale key of the title of the GUI that is shown when the player opens the assembling machine. [...]

circuit_wire_max_distancenew optional :: double

The maximum circuit wire distance for this entity.

The maximum circuit wire distance for this entity.

draw_copper_wiresnew optional :: bool
draw_circuit_wiresnew optional :: bool
default_recipe_finished_signalnew optional :: SignalIDConnector
default_working_signalnew optional :: SignalIDConnector
enable_logistic_control_behaviornew optional :: bool
ingredient_count optional :: uint8

Sets the maximum number of ingredients this machine can craft with. [...]

Sets the maximum number of ingredients this machine can craft with. [...]

circuit_connectornew optional :: {CircuitConnectorDefinition, CircuitConnectorDefinition, CircuitConnectorDefinition, CircuitConnectorDefinition}
fluid_boxes_off_when_no_fluid_recipenew optional :: bool
disabled_when_recipe_not_researchednew optional :: bool

Defaults to true if fixed_recipe is not given.

Defaults to true if fixed_recipe is not given.

AsteroidChunkPrototype 'asteroid-chunk' new

minable optional :: MinableProperties
dying_trigger_effect optional :: TriggerEffect
graphics_set optional :: AsteroidGraphicsSet
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. [...]

hide_from_signal_gui optional :: bool

AsteroidCollectorPrototype 'asteroid-collector' new

arm_inventory_size optional :: ItemStackIndex
arm_inventory_size_quality_increase optional :: ItemStackIndex
inventory_size optional :: ItemStackIndex
inventory_size_quality_increase optional :: ItemStackIndex
graphics_set :: AsteroidCollectorGraphicsSet
passive_energy_usage :: Energy
arm_energy_usage :: Energy
arm_slow_energy_usage :: Energy

If arm_energy_usage is not met, attempts to move slower at the cost of arm_slow_energy_usage.

If arm_energy_usage is not met, attempts to move slower at the cost of arm_slow_energy_usage.

energy_usage_quality_scaling optional :: float
arm_count_base optional :: uint32
arm_count_quality_scaling optional :: uint32
head_collection_radius optional :: float
collection_box_offset optional :: float
deposit_radius optional :: float
arm_speed_base optional :: float
arm_speed_quality_scaling optional :: float
arm_angular_speed_cap_base optional :: float
arm_angular_speed_cap_quality_scaling optional :: float
tether_size optional :: float
unpowered_arm_speed_scale optional :: float
minimal_arm_swing_segment_retraction optional :: uint32
held_items_offset optional :: float
held_items_spread optional :: float
held_items_display_count optional :: uint8
munch_sound optional :: Sound
deposit_sound optional :: Sound
arm_extend_sound optional :: Sound
arm_retract_sound optional :: Sound
energy_source :: ElectricEnergySource or VoidEnergySource
circuit_wire_max_distance optional :: double

The maximum circuit wire distance for this entity.

The maximum circuit wire distance for this entity.

draw_copper_wires optional :: bool
draw_circuit_wires optional :: bool
radius_visualisation_picture optional :: Sprite
collection_radius :: double

Must be positive.

Must be positive.

circuit_connector optional :: {CircuitConnectorDefinition, CircuitConnectorDefinition, CircuitConnectorDefinition, CircuitConnectorDefinition}
arm_color_gradient optional :: array[Color]

AsteroidPrototype 'asteroid' new

mass optional :: double
graphics_set optional :: AsteroidGraphicsSet

AutoplaceControl 'autoplace-control'

categorychanged :: "resource" or "terrain" or "cliff" or "enemy"

Controls in what tab the autoplace is shown in the map generator GUI.

Controls in what tab the autoplace is shown in the map generator GUI.

richness optional :: bool

Sets whether this control's richness can be changed. [...]

Sets whether this control's richness can be changed. [...]

can_be_disabled optional :: bool

Whether there is an "enable" checkbox for the autoplace control in the map generator GUI. [...]

Whether there is an "enable" checkbox for the autoplace control in the map generator GUI. [...]

BatteryEquipmentPrototype 'battery-equipment'

No new properties

BeaconPrototype 'beacon' changed

energy_usage :: Energy

The constant power usage of this beacon.

The constant power usage of this beacon.

energy_source :: ElectricEnergySource or VoidEnergySource
supply_area_distance :: double

The maximum distance that this beacon can supply its neighbors with its module's effects. [...]

The maximum distance that this beacon can supply its neighbors with its module's effects. [...]

distribution_effectivity :: double

The multiplier of the module's effects, when shared between neighbors.

The multiplier of the module's effects, when shared between neighbors.

distribution_effectivity_bonus_per_quality_levelnew optional :: double

Must be 0 or positive.

Must be 0 or positive.

module_slotsnew :: ItemStackIndex

The number of module slots in this beacon.

The number of module slots in this beacon.

graphics_set optional :: BeaconGraphicsSet

The graphics for the beacon.

The graphics for the beacon.

animation optional :: Animation

Only loaded if graphics_set is not defined. [...]

Only loaded if graphics_set is not defined. [...]

base_picture optional :: Animation

Only loaded if graphics_set is not defined. [...]

Only loaded if graphics_set is not defined. [...]

perceived_performancenew optional :: PerceivedPerformance

Affects animation speed.

Affects animation speed.

radius_visualisation_picture optional :: Sprite
allowed_effects optional :: EffectTypeLimitation

The types of modules that a player can place inside of the beacon.

The types of modules that a player can place inside of the beacon.

allowed_module_categoriesnew optional :: array[ModuleCategoryID]

Sets the module categories that are allowed to be inserted into this machine.

Sets the module categories that are allowed to be inserted into this machine.

profilenew optional :: array[double]

Extra multiplier applied to the effects received from beacon by the effect receiver based on amount of beacons that are in range of that effect receiver. [...]

Extra multiplier applied to the effects received from beacon by the effect receiver based on amount of beacons that are in range of that effect receiver. [...]

beacon_counternew optional :: "total" or "same_type"

The beacon counter used by effect receiver when deciding which sample to take from profile.

The beacon counter used by effect receiver when deciding which sample to take from profile.

BeamPrototype 'beam' changed

action optional :: Trigger
widthchanged :: float
damage_interval :: uint32

Damage interval can't be 0. [...]

Damage interval can't be 0. [...]

target_offset optional :: Vector
random_target_offset optional :: bool
action_triggered_automatically optional :: bool

Whether this beams should trigger its action every damage_interval. [...]

Whether this beams should trigger its action every damage_interval. [...]

graphics_setnew :: BeamGraphicsSet

BeltImmunityEquipmentPrototype 'belt-immunity-equipment'

energy_consumption :: Energy

The continuous power consumption of the belt immunity equipment.

The continuous power consumption of the belt immunity equipment.

BlueprintBookPrototype 'blueprint-book'

No new properties

BlueprintItemPrototype 'blueprint' changed

No new properties

BoilerPrototype 'boiler' changed

picturesnew optional :: BoilerPictureSet
energy_source :: EnergySource
fluid_box :: FluidBox

The input fluid box. [...]

The input fluid box. [...]

output_fluid_box :: FluidBox

The output fluid box. [...]

The output fluid box. [...]

energy_consumption :: Energy
burning_cooldown :: uint16

Controls for how many ticks the boiler will show the fire and fire_glow after the energy source runs out of energy. [...]

Controls for how many ticks the boiler will show the fire and fire_glow after the energy source runs out of energy. [...]

target_temperaturechanged optional :: float

Only loaded, and mandatory if mode is "output-to-separate-pipe". [...]

Only loaded, and mandatory if mode is "output-to-separate-pipe". [...]

fire_glow_flicker_enabled optional :: bool

If this is set to false, fire_glow alpha is always 1 instead of being controlled by the light intensity of the energy source.

If this is set to false, fire_glow alpha is always 1 instead of being controlled by the light intensity of the energy source.

fire_flicker_enabled optional :: bool

If this is set to false, fire alpha is always 1 instead of being controlled by the light intensity of the energy source.

If this is set to false, fire alpha is always 1 instead of being controlled by the light intensity of the energy source.

modechanged optional :: "heat-fluid-inside" or "output-to-separate-pipe"

In the "heat-fluid-inside" mode, fluid in the fluid_box is continuously heated from the input temperature up to its FluidPrototype::max_temperature. [...]

In the "heat-fluid-inside" mode, fluid in the fluid_box is continuously heated from the input temperature up to its FluidPrototype::max_temperature. [...]

BuildEntityAchievementPrototype 'build-entity-achievement' changed

to_build :: EntityID

This will trigger the achievement, if this entity is placed.

This will trigger the achievement, if this entity is placed.

amount optional :: uint32

How many entities need to be built.

How many entities need to be built.

limited_to_one_game optional :: bool

If this is false, the player carries over their statistics from this achievement through all their saves.

If this is false, the player carries over their statistics from this achievement through all their saves.

withinnew optional :: MapTick

The achievement must be completed within this time limit.

The achievement must be completed within this time limit.

BurnerGeneratorPrototype 'burner-generator' changed

energy_source :: ElectricEnergySource

The output energy source of the generator. [...]

The output energy source of the generator. [...]

burner :: BurnerEnergySource

The input energy source of the generator.

The input energy source of the generator.

animation optional :: Animation4Way

Plays when the generator is active. [...]

Plays when the generator is active. [...]

max_power_output :: Energy

How much energy this generator can produce.

How much energy this generator can produce.

idle_animation optional :: Animation4Way

Plays when the generator is inactive. [...]

Plays when the generator is inactive. [...]

always_draw_idle_animation optional :: bool

Whether the idle_animation should also play when the generator is active.

Whether the idle_animation should also play when the generator is active.

perceived_performancenew optional :: PerceivedPerformance

Affects animation speed.

Affects animation speed.

CapsulePrototype 'capsule'

capsule_action :: CapsuleAction
radius_color optional :: Color

Color of the range radius that is shown around the player when they hold the capsule.

Color of the range radius that is shown around the player when they hold the capsule.

CaptureRobotPrototype 'capture-robot' new

capture_speed optional :: double

Must be >= 0.001.

Must be >= 0.001.

search_radius optional :: double

Must be >= 0.0.

Must be >= 0.0.

destroy_action optional :: Trigger
capture_animation optional :: Animation

CarPrototype 'car' changed

animation optional :: RotatedAnimation

Animation speed 1 means 1 frame per tile.

Animation speed 1 means 1 frame per tile.

effectivity :: double

Modifies the efficiency of energy transfer from burner output to wheels.

Modifies the efficiency of energy transfer from burner output to wheels.

consumption :: Energy
rotation_speed :: double
energy_source :: BurnerEnergySource or VoidEnergySource
turret_animation optional :: RotatedAnimation

Animation speed 1 means 1 frame per tile.

Animation speed 1 means 1 frame per tile.

light_animation optional :: RotatedAnimation

Must have the same frame count as animation.

Must have the same frame count as animation.

render_layer optional :: RenderLayer
tank_driving optional :: bool

If this car prototype uses tank controls to drive.

If this car prototype uses tank controls to drive.

auto_sort_inventorynew optional :: bool

If this car prototype keeps the trunk inventory sorted.

If this car prototype keeps the trunk inventory sorted.

has_belt_immunity optional :: bool

If this car is immune to movement by belts.

If this car is immune to movement by belts.

immune_to_tree_impacts optional :: bool

If this car gets damaged by driving over/against trees.

If this car gets damaged by driving over/against trees.

immune_to_rock_impacts optional :: bool

If this car gets damaged by driving over/against rocks.

If this car gets damaged by driving over/against rocks.

immune_to_cliff_impacts optional :: bool

If this car gets damaged by driving against cliffs.

If this car gets damaged by driving against cliffs.

turret_rotation_speed optional :: float
turret_return_timeout optional :: uint32

Timeout in ticks specifying how long the turret must be inactive to return to the default position.

Timeout in ticks specifying how long the turret must be inactive to return to the default position.

inventory_size :: ItemStackIndex

Size of the car inventory.

Size of the car inventory.

trash_inventory_sizenew optional :: ItemStackIndex

If set to 0 then the car will not have a Logistics tab.

If set to 0 then the car will not have a Logistics tab.

light optional :: LightDefinition
sound_no_fuel optional :: Sound
darkness_to_render_light_animation optional :: float
track_particle_triggers optional :: FootstepTriggerEffectList
guns optional :: array[ItemID]

The names of the GunPrototypes this car prototype uses.

The names of the GunPrototypes this car prototype uses.

CargoBayPrototype 'cargo-bay' new

graphics_set optional :: CargoBayConnectableGraphicsSet
platform_graphics_set optional :: CargoBayConnectableGraphicsSet

A special variant which renders on space platforms. [...]

A special variant which renders on space platforms. [...]

inventory_size_bonus :: ItemStackIndex

Cannot be 0.

Cannot be 0.

hatch_definitions optional :: array[CargoHatchDefinition]

CargoLandingPadPrototype 'cargo-landing-pad' new

graphics_set optional :: CargoBayConnectableGraphicsSet
inventory_size :: ItemStackIndex
trash_inventory_size optional :: ItemStackIndex
circuit_wire_max_distance optional :: double

The maximum circuit wire distance for this entity.

The maximum circuit wire distance for this entity.

draw_copper_wires optional :: bool
draw_circuit_wires optional :: bool
circuit_connector optional :: CircuitConnectorDefinition
cargo_station_parameters :: CargoStationParameters
robot_animation optional :: Animation

Drawn when a robot brings/takes items from this landing pad.

Drawn when a robot brings/takes items from this landing pad.

robot_landing_location_offset optional :: Vector

The offset from the center of this landing pad where a robot visually brings/takes items.

The offset from the center of this landing pad where a robot visually brings/takes items.

robot_opened_duration optional :: uint8
robot_animation_sound optional :: Sound

Played when a robot brings/takes items from this landing pad. [...]

Played when a robot brings/takes items from this landing pad. [...]

radar_range optional :: uint32
radar_visualisation_color optional :: Color

CargoPodPrototype 'cargo-pod' new

default_graphic optional :: ProcessionGraphic

Has to be of type 'pod-catalogue'.

Has to be of type 'pod-catalogue'.

default_shadow_graphic optional :: ProcessionGraphic

Has to be of type 'pod-catalogue'.

Has to be of type 'pod-catalogue'.

procession_graphic_catalogue optional :: ProcessionGraphicCatalogue
procession_audio_catalogue optional :: ProcessionAudioCatalogue
shadow_slave_entity optional :: EntityID
inventory_size :: ItemStackIndex
spawned_container :: EntityID

CargoWagonPrototype 'cargo-wagon'

inventory_size :: ItemStackIndex

Size of the inventory of the wagon. [...]

Size of the inventory of the wagon. [...]

ChainActiveTriggerPrototype 'chain-active-trigger' new

action optional :: Trigger

The trigger to apply when jumping to a new target.

The trigger to apply when jumping to a new target.

max_jumps optional :: uint32

Max number of jumps per trigger.

Max number of jumps per trigger.

max_range_per_jump optional :: double

Max length of jumps.

Max length of jumps.

max_range optional :: double

Max distance jumps are allowed to travel away from the original target.

Max distance jumps are allowed to travel away from the original target.

jump_delay_ticks optional :: MapTick

Tick delay between each jump. [...]

Tick delay between each jump. [...]

fork_chance optional :: double

Chance that a new fork will spawn after each jump. [...]

Chance that a new fork will spawn after each jump. [...]

fork_chance_increase_per_quality_level optional :: double
max_forks_per_jump optional :: uint32

Maximum number of forks that can spawn from a single jump.

Maximum number of forks that can spawn from a single jump.

max_forks optional :: uint32

Maximum number of forks allowed to spawn for the entire chain.

Maximum number of forks allowed to spawn for the entire chain.

ChangedSurfaceAchievementPrototype 'change-surface-achievement' new

surface optional :: string

This will trigger the achievement, if the player changes to this surface.

This will trigger the achievement, if the player changes to this surface.

CharacterCorpsePrototype 'character-corpse' changed

time_to_live :: uint32

0 for infinite.

0 for infinite.

render_layer optional :: RenderLayer
pictures optional :: AnimationVariations

Mandatory if picture is not defined.

Mandatory if picture is not defined.

picture optional :: Animation

Mandatory if pictures is not defined.

Mandatory if pictures is not defined.

armor_picture_mapping optional :: dictionary[ItemID → int32]

Table of key value pairs, the keys are armor names and the values are numbers. [...]

Table of key value pairs, the keys are armor names and the values are numbers. [...]

CharacterPrototype 'character' changed

mining_speed :: double
running_speed :: double
distance_per_frame :: double
maximum_corner_sliding_distance :: double
heartbeat :: Sound

The sound played when the character's health is low.

The sound played when the character's health is low.

eat :: Sound

The sound played when the character eats (fish for example).

The sound played when the character eats (fish for example).

inventory_size :: ItemStackIndex

Number of slots in the main inventory. [...]

Number of slots in the main inventory. [...]

guns_inventory_sizenew optional :: ItemStackIndex

Must be between 1 and 15.

Must be between 1 and 15.

build_distance :: uint32
drop_item_distance :: uint32
reach_distance :: uint32
reach_resource_distance :: double
item_pickup_distance :: double
loot_pickup_distance :: double
ticks_to_keep_gun :: uint32
ticks_to_keep_aiming_direction :: uint32
ticks_to_stay_in_combat :: uint32
damage_hit_tint :: Color
mining_with_tool_particles_animation_positions :: array[float]

List of positions in the mining with tool animation when the mining sound and mining particles are created.

List of positions in the mining with tool animation when the mining sound and mining particles are created.

running_sound_animation_positions :: array[float]

List of positions in the running animation when the walking sound is played.

List of positions in the running animation when the walking sound is played.

moving_sound_animation_positionsnew :: array[float]
animations :: array[CharacterArmorAnimation]
crafting_categories optional :: array[RecipeCategoryID]

Names of the crafting categories the character can craft recipes from. [...]

Names of the crafting categories the character can craft recipes from. [...]

mining_categories optional :: array[ResourceCategoryID]

Names of the resource categories the character can mine resources from.

Names of the resource categories the character can mine resources from.

light optional :: LightDefinition
flying_bob_speednew optional :: float
grounded_landing_search_radiusnew optional :: double

The search radius for a non-colliding position to move the player to if they are grounded mid-flight. [...]

The search radius for a non-colliding position to move the player to if they are grounded mid-flight. [...]

enter_vehicle_distance optional :: double

Must be >= 0.

Must be >= 0.

tool_attack_distance optional :: double
respawn_time optional :: uint32

Time in seconds. [...]

Time in seconds. [...]

has_belt_immunity optional :: bool

Whether this character is moved by belts when standing on them.

Whether this character is moved by belts when standing on them.

character_corpse optional :: EntityID

Name of the character corpse that is spawned when this character dies.

Name of the character corpse that is spawned when this character dies.

flying_collision_masknew optional :: CollisionMaskConnector

This collision mask is used when the character is flying. [...]

This collision mask is used when the character is flying. [...]

tool_attack_result optional :: Trigger
footstep_particle_triggers optional :: FootstepTriggerEffectList

Triggered every tick of the running animation.

Triggered every tick of the running animation.

synced_footstep_particle_triggers optional :: FootstepTriggerEffectList

Triggered when the running animation (animations) rolls over the frames defined in right_footprint_frames and left_footprint_frames.

Triggered when the running animation (animations) rolls over the frames defined in right_footprint_frames and left_footprint_frames.

footprint_particles optional :: array[FootprintParticle]

Triggered when the running animation (animations) rolls over the frames defined in right_footprint_frames and left_footprint_frames.

Triggered when the running animation (animations) rolls over the frames defined in right_footprint_frames and left_footprint_frames.

left_footprint_offset optional :: Vector

Offset from the center of the entity for the left footprint. [...]

Offset from the center of the entity for the left footprint. [...]

right_footprint_offset optional :: Vector

Offset from the center of the entity for the right footprint. [...]

Offset from the center of the entity for the right footprint. [...]

right_footprint_frames optional :: array[float]

The frames in the running animation (animations) where the right foot touches the ground.

The frames in the running animation (animations) where the right foot touches the ground.

left_footprint_frames optional :: array[float]

The frames in the running animation (animations) where the left foot touches the ground.

The frames in the running animation (animations) where the left foot touches the ground.

CliffPrototype 'cliff' changed

orientations :: OrientedCliffPrototypeSet
grid_size :: Vector
grid_offset :: Vector
cliff_explosive optional :: ItemID

Name of a capsule that has a robot_action to explode cliffs.

Name of a capsule that has a robot_action to explode cliffs.

place_as_craternew optional :: CraterPlacementDefinition

CollisionLayerPrototype 'collision-layer' new

No new properties

CombatRobotCountAchievementPrototype 'combat-robot-count-achievement'

count optional :: uint32

This will trigger the achievement, if player's current robot count is over this amount.

This will trigger the achievement, if player's current robot count is over this amount.

CombatRobotPrototype 'combat-robot'

time_to_live :: uint32
attack_parameters :: AttackParameters
idle optional :: RotatedAnimation
shadow_idle optional :: RotatedAnimation
in_motion optional :: RotatedAnimation
shadow_in_motion optional :: RotatedAnimation
range_from_player optional :: double
friction optional :: double
destroy_action optional :: Trigger

Applied when the combat robot expires (runs out of time_to_live).

Applied when the combat robot expires (runs out of time_to_live).

follows_player optional :: bool
light optional :: LightDefinition

CompleteObjectiveAchievementPrototype 'complete-objective-achievement' new

within optional :: MapTick

The achievement must be completed within this time limit.

The achievement must be completed within this time limit.

ConstantCombinatorPrototype 'constant-combinator' changed

sprites optional :: Sprite4Way
activity_led_sprites optional :: Sprite4Way
activity_led_light_offsets :: {Vector, Vector, Vector, Vector}
circuit_wire_connection_points :: {WireConnectionPoint, WireConnectionPoint, WireConnectionPoint, WireConnectionPoint}
activity_led_light optional :: LightDefinition
circuit_wire_max_distance optional :: double

The maximum circuit wire distance for this entity.

The maximum circuit wire distance for this entity.

draw_copper_wires optional :: bool
draw_circuit_wires optional :: bool

ConstructWithRobotsAchievementPrototype 'construct-with-robots-achievement'

limited_to_one_game :: bool

If this is false, the player carries over their statistics from this achievement through all their saves.

If this is false, the player carries over their statistics from this achievement through all their saves.

amount optional :: uint32

This will trigger the achievement, if enough entities were placed using construction robots.

This will trigger the achievement, if enough entities were placed using construction robots.

more_than_manually optional :: bool

ContainerPrototype 'container' changed

inventory_size :: ItemStackIndex

The number of slots in this container.

The number of slots in this container.

quality_affects_inventory_sizenew optional :: bool
picture optional :: Sprite

The picture displayed for this entity.

The picture displayed for this entity.

inventory_typechanged optional :: "normal" or "with_bar" or "with_filters_and_bar"

Whether the inventory of this container can be filtered (like cargo wagons) or not.

Whether the inventory of this container can be filtered (like cargo wagons) or not.

circuit_wire_max_distance optional :: double

The maximum circuit wire distance for this container.

The maximum circuit wire distance for this container.

draw_copper_wires optional :: bool
draw_circuit_wires optional :: bool
circuit_connectornew optional :: CircuitConnectorDefinition
default_statusnew optional :: EntityStatus

CopyPasteToolPrototype 'copy-paste-tool' changed

cuts optional :: bool

CorpsePrototype 'corpse' changed

dying_speed optional :: float

Multiplier for time_before_shading_off and time_before_removed. [...]

Multiplier for time_before_shading_off and time_before_removed. [...]

splash_speed optional :: float

Controls the speed of the splash animation: 1 ÷ splash_speed = duration of the splash animation

Controls the speed of the splash animation: 1 ÷ splash_speed = duration of the splash animation

time_before_shading_off optional :: uint32

Controls how long the corpse takes to fade, as in how long it takes to get from no transparency to full transparency/removed. [...]

Controls how long the corpse takes to fade, as in how long it takes to get from no transparency to full transparency/removed. [...]

time_before_removed optional :: uint32

Time in ticks this corpse lasts. [...]

Time in ticks this corpse lasts. [...]

expiresnew optional :: bool
remove_on_entity_placement optional :: bool
remove_on_tile_placement optional :: bool
auto_setup_collision_boxnew optional :: bool

If true, and the collision box is unset, this will take the collision box of the first entity that uses this corpse.

If true, and the collision box is unset, this will take the collision box of the first entity that uses this corpse.

final_render_layer optional :: RenderLayer
ground_patch_render_layer optional :: RenderLayer
animation_render_layer optional :: RenderLayer
splash_render_layer optional :: RenderLayer
animation_overlay_render_layer optional :: RenderLayer
animation_overlay_final_render_layer optional :: RenderLayer
shuffle_directions_at_frame optional :: uint8
use_tile_color_for_ground_patch_tint optional :: bool
use_decay_layernew optional :: bool
underwater_layer_offsetnew optional :: int8
ground_patch_fade_in_delay optional :: float
ground_patch_fade_in_speed optional :: float
ground_patch_fade_out_start optional :: float
decay_frame_transition_durationnew optional :: float
animation optional :: RotatedAnimationVariations

The dying animation.

The dying animation.

animation_overlay optional :: RotatedAnimationVariations

Variation count must be the same as animation variation count. [...]

Variation count must be the same as animation variation count. [...]

decay_animationnew optional :: RotatedAnimationVariations
splash optional :: AnimationVariations
ground_patch optional :: AnimationVariations
ground_patch_higher optional :: AnimationVariations
ground_patch_decaynew optional :: AnimationVariations
underwater_patchnew optional :: RotatedSprite
ground_patch_fade_out_duration optional :: float
direction_shuffle optional :: array[array[uint16]]

An array of arrays of integers. [...]

An array of arrays of integers. [...]

CraftingMachinePrototype abstract changed

energy_usage :: Energy

Sets how much energy this machine uses while crafting. [...]

Sets how much energy this machine uses while crafting. [...]

crafting_speed :: double

How fast this crafting machine can craft. [...]

How fast this crafting machine can craft. [...]

crafting_categories :: array[RecipeCategoryID]

A list of recipe categories this crafting machine can use.

A list of recipe categories this crafting machine can use.

energy_source :: EnergySource

Defines how the crafting machine is powered. [...]

Defines how the crafting machine is powered. [...]

fluid_boxes optional :: array[FluidBox]

The crafting machine's fluid boxes. [...]

The crafting machine's fluid boxes. [...]

effect_receivernew optional :: EffectReceiver
module_slotsnew optional :: ItemStackIndex

The number of module slots in this machine.

The number of module slots in this machine.

allowed_effects optional :: EffectTypeLimitation

Sets the modules and beacon effects that are allowed to be used on this machine.

Sets the modules and beacon effects that are allowed to be used on this machine.

allowed_module_categoriesnew optional :: array[ModuleCategoryID]

Sets the module categories that are allowed to be inserted into this machine.

Sets the module categories that are allowed to be inserted into this machine.

show_recipe_icon optional :: bool

Whether the "alt-mode icon" should be drawn at all.

Whether the "alt-mode icon" should be drawn at all.

return_ingredients_on_change optional :: bool

Controls whether the ingredients of an in-progress recipe are destroyed when mining the machine/changing the recipe. [...]

Controls whether the ingredients of an in-progress recipe are destroyed when mining the machine/changing the recipe. [...]

draw_entity_info_icon_background optional :: bool

Whether the "alt-mode icon" should have a black background.

Whether the "alt-mode icon" should have a black background.

match_animation_speed_to_activity optional :: bool

Whether the speed of the animation and working visualization should be based on the machine's speed (boosted or slowed by modules).

Whether the speed of the animation and working visualization should be based on the machine's speed (boosted or slowed by modules).

show_recipe_icon_on_map optional :: bool

Whether the recipe icon should be shown on the map.

Whether the recipe icon should be shown on the map.

fast_transfer_modules_into_module_slots_onlynew optional :: bool
ignore_output_fullnew optional :: bool
graphics_setnew optional :: CraftingMachineGraphicsSet
graphics_set_flippednew optional :: CraftingMachineGraphicsSet
perceived_performancenew optional :: PerceivedPerformance

Affects animation speed.

Affects animation speed.

production_health_effectnew optional :: ProductionHealthEffect
trash_inventory_sizenew optional :: ItemStackIndex
vector_to_place_resultnew optional :: Vector
forced_symmetrynew optional :: Mirroring

CreatePlatformAchievementPrototype 'create-platform-achievement' new

amount optional :: uint32

How many space platforms need to be created.

How many space platforms need to be created.

CurvedRailAPrototype 'curved-rail-a' new

No new properties

CurvedRailBPrototype 'curved-rail-b' new

No new properties

CustomEventPrototype 'custom-event' new

No new properties

CustomInputPrototype 'custom-input' changed

key_sequence :: string

The default key sequence for this custom input. [...]

The default key sequence for this custom input. [...]

alternative_key_sequence optional :: string

The alternative key binding for this control. [...]

The alternative key binding for this control. [...]

controller_key_sequence optional :: string

The controller (game pad) keybinding for this control. [...]

The controller (game pad) keybinding for this control. [...]

controller_alternative_key_sequence optional :: string

The alternative controller (game pad) keybinding for this control. [...]

The alternative controller (game pad) keybinding for this control. [...]

linked_game_control optional :: LinkedGameControl

When a custom-input is linked to a game control it won't show up in the control-settings GUI and will fire when the linked control is pressed.

When a custom-input is linked to a game control it won't show up in the control-settings GUI and will fire when the linked control is pressed.

consuming optional :: ConsumingType

Sets whether internal game events associated with the same key sequence should be fired or blocked. [...]

Sets whether internal game events associated with the same key sequence should be fired or blocked. [...]

enabled optional :: bool

If this custom input is enabled. [...]

If this custom input is enabled. [...]

enabled_while_spectating optional :: bool
enabled_while_in_cutscene optional :: bool
include_selected_prototype optional :: bool

If true, the type and name of the currently selected prototype will be provided as "selected_prototype" in the raised Lua event. [...]

If true, the type and name of the currently selected prototype will be provided as "selected_prototype" in the raised Lua event. [...]

item_to_spawn optional :: ItemID

The item will be created when this input is pressed and action is set to "spawn-item". [...]

The item will be created when this input is pressed and action is set to "spawn-item". [...]

action optional :: "lua" or "spawn-item" or "toggle-personal-roboport" or "toggle-personal-logistic-requests" or "toggle-equipment-movement-bonus"

A Lua event is only raised if the action is "lua".

A Lua event is only raised if the action is "lua".

block_modifiersnew optional :: bool

If true, when the shortcut is activated, the modifiers used for this shortcut can't be re-used to press something else until unpressed. [...]

If true, when the shortcut is activated, the modifiers used for this shortcut can't be re-used to press something else until unpressed. [...]

DamageType 'damage-type' changed

No new properties

DeconstructWithRobotsAchievementPrototype 'deconstruct-with-robots-achievement'

amount :: uint32

This will trigger the achievement, if enough entities were deconstructed using construction robots.

This will trigger the achievement, if enough entities were deconstructed using construction robots.

DeconstructibleTileProxyPrototype 'deconstructible-tile-proxy' changed

No new properties

DeconstructionItemPrototype 'deconstruction-item' changed

entity_filter_count optional :: ItemStackIndex

Can't be > 255.

Can't be > 255.

tile_filter_count optional :: ItemStackIndex

Can't be > 255.

Can't be > 255.

DecorativePrototype 'optimized-decorative' changed

pictures :: SpriteVariations

Must contain at least 1 picture.

Must contain at least 1 picture.

stateless_visualisationnew optional :: StatelessVisualisations

Can be defined only when decorative is not "decal" (see render_layer).

Can be defined only when decorative is not "decal" (see render_layer).

stateless_visualisation_variationsnew optional :: array[StatelessVisualisations]

Only loaded if stateless_visualisation is not defined. [...]

Only loaded if stateless_visualisation is not defined. [...]

collision_box optional :: BoundingBox

Must contain the [0,0] point. [...]

Must contain the [0,0] point. [...]

render_layer optional :: RenderLayer

When "decals" render layer is used, the decorative is treated as decal. [...]

When "decals" render layer is used, the decorative is treated as decal. [...]

grows_through_rail_path optional :: bool
tile_layer optional :: int16

Mandatory if render_layer = "decals". [...]

Mandatory if render_layer = "decals". [...]

decal_overdraw_priority optional :: uint16

Loaded only if render_layer = "decals". [...]

Loaded only if render_layer = "decals". [...]

collision_maskchanged optional :: CollisionMaskConnector

Defaults to the mask from UtilityConstants::default_collision_masks when indexed by "decorative".

Defaults to the mask from UtilityConstants::default_collision_masks when indexed by "decorative".

walking_sound optional :: Sound
trigger_effect optional :: TriggerEffect
minimal_separationnew optional :: double
target_countnew optional :: uint16
placed_effectnew optional :: TriggerEffect
autoplace optional :: AutoplaceSpecification

DelayedActiveTriggerPrototype 'delayed-active-trigger' new

action :: Trigger

The trigger to apply after delay has elapsed.

The trigger to apply after delay has elapsed.

delay :: uint32

The number of ticks to delay the delivery of the triggered effect. [...]

The number of ticks to delay the delivery of the triggered effect. [...]

repeat_count optional :: uint32

The number of times to repeat the delayed trigger.

The number of times to repeat the delayed trigger.

repeat_delay optional :: uint32

The number of ticks between repeat deliveries of the triggered effect. [...]

The number of ticks between repeat deliveries of the triggered effect. [...]

cancel_when_source_is_destroyed optional :: bool

If true, the delayed trigger is cancelled if the source entity is destroyed.

If true, the delayed trigger is cancelled if the source entity is destroyed.

DeliverByRobotsAchievementPrototype 'deliver-by-robots-achievement'

amountchanged :: uint32

This will trigger the achievement, when the player receives enough items through logistic robots.

This will trigger the achievement, when the player receives enough items through logistic robots.

DeliverCategory 'deliver-category' new

type :: "deliver-category"
name :: string

Name of the deliver category.

Name of the deliver category.

DeliverImpactCombination 'deliver-impact-combination' new

type :: "deliver-impact-combination"
name :: string

Name of the deliver impact combination.

Name of the deliver impact combination.

impact_category :: string
deliver_category :: string
trigger_effect_item :: TriggerEffectItem

DepleteResourceAchievementPrototype 'deplete-resource-achievement' new

amount optional :: uint32

How many resource entities need to be depleted.

How many resource entities need to be depleted.

limited_to_one_game optional :: bool

If this is false, the player carries over their statistics from this achievement through all their saves.

If this is false, the player carries over their statistics from this achievement through all their saves.

DestroyCliffAchievementPrototype 'destroy-cliff-achievement' new

amount optional :: uint32
limited_to_one_game optional :: bool

If this is false, the player carries over their statistics from this achievement through all their saves.

If this is false, the player carries over their statistics from this achievement through all their saves.

DisplayPanelPrototype 'display-panel' new

sprites optional :: Sprite4Way

The display panel's graphics.

The display panel's graphics.

max_text_width optional :: uint32

The maximum width of the text on the display panel.

The maximum width of the text on the display panel.

text_shift optional :: Vector

The shift of the text on the display panel.

The shift of the text on the display panel.

text_color optional :: Color

The color of the text on the display panel.

The color of the text on the display panel.

background_color optional :: Color

The background color of the display panel text.

The background color of the display panel text.

circuit_wire_max_distance optional :: double

The maximum circuit wire distance for this entity.

The maximum circuit wire distance for this entity.

draw_copper_wires optional :: bool
draw_circuit_wires optional :: bool
circuit_connector optional :: {CircuitConnectorDefinition, CircuitConnectorDefinition, CircuitConnectorDefinition, CircuitConnectorDefinition}

DontBuildEntityAchievementPrototype 'dont-build-entity-achievement' changed

dont_build :: EntityID or array[EntityID]

This will disable the achievement, if this entity is placed. [...]

This will disable the achievement, if this entity is placed. [...]

amount optional :: uint32
research_withnew optional :: ItemID or array[ItemID]

If you research technology using one of specified items before building entity, you receive the achievement.

If you research technology using one of specified items before building entity, you receive the achievement.

DontCraftManuallyAchievementPrototype 'dont-craft-manually-achievement'

amountchanged :: uint32

This will disable the achievement, if the player crafts more than this.

This will disable the achievement, if the player crafts more than this.

DontKillManuallyAchievementPrototype 'dont-kill-manually-achievement' new

to_kill optional :: EntityID

This will disable the achievement, if this entity is killed manually. [...]

This will disable the achievement, if this entity is killed manually. [...]

type_not_to_kill optional :: string

This will disable the achievement, if this entity type is killed manually. [...]

This will disable the achievement, if this entity type is killed manually. [...]

DontResearchBeforeResearchingAchievementPrototype 'dont-research-before-researching-achievement' new

dont_research :: ItemID or array[ItemID]

This will disable the achievement, if technology unlocking this item is researched before meeting requirements.

This will disable the achievement, if technology unlocking this item is researched before meeting requirements.

research_with :: ItemID or array[ItemID]

If you research technology using one of specified items, you receive the achievement.

If you research technology using one of specified items, you receive the achievement.

DontUseEntityInEnergyProductionAchievementPrototype 'dont-use-entity-in-energy-production-achievement'

excluded :: EntityID or array[EntityID]

This will not disable the achievement, if this entity is placed, and you have received any amount of power from it.

This will not disable the achievement, if this entity is placed, and you have received any amount of power from it.

included optional :: EntityID or array[EntityID]

This will disable the achievement, if this entity is placed, and you have received any amount of power from it. [...]

This will disable the achievement, if this entity is placed, and you have received any amount of power from it. [...]

last_hour_only optional :: bool
minimum_energy_produced optional :: Energy

ElectricEnergyInterfacePrototype 'electric-energy-interface'

energy_source :: ElectricEnergySource
energy_production optional :: Energy
energy_usage optional :: Energy
gui_mode optional :: "all" or "none" or "admins"
continuous_animation optional :: bool

Whether the electric energy interface animation always runs instead of being scaled to activity.

Whether the electric energy interface animation always runs instead of being scaled to activity.

render_layer optional :: RenderLayer
light optional :: LightDefinition

The light that this electric energy interface emits.

The light that this electric energy interface emits.

picture optional :: Sprite
pictures optional :: Sprite4Way

Only loaded if picture is not defined.

Only loaded if picture is not defined.

animation optional :: Animation

Only loaded if both picture and pictures are not defined.

Only loaded if both picture and pictures are not defined.

animations optional :: Animation4Way

Only loaded if picture, pictures, and animation are not defined.

Only loaded if picture, pictures, and animation are not defined.

ElectricPolePrototype 'electric-pole' changed

pictures optional :: RotatedSprite
supply_area_distance :: double

The "radius" of this pole's supply area. [...]

The "radius" of this pole's supply area. [...]

connection_points :: array[WireConnectionPoint]
radius_visualisation_picture optional :: Sprite
active_picture optional :: Sprite

Drawn above the pictures when the electric pole is connected to an electric network.

Drawn above the pictures when the electric pole is connected to an electric network.

maximum_wire_distance optional :: double

The maximum distance between this pole and any other connected pole - if two poles are farther apart than this, they cannot be connected together directly. [...]

The maximum distance between this pole and any other connected pole - if two poles are farther apart than this, they cannot be connected together directly. [...]

draw_copper_wires optional :: bool
draw_circuit_wires optional :: bool
light optional :: LightDefinition

Drawn when the electric pole is connected to an electric network.

Drawn when the electric pole is connected to an electric network.

track_coverage_during_build_by_moving optional :: bool
auto_connect_up_to_n_wiresnew optional :: uint8

0 means disable auto-connect.

0 means disable auto-connect.

ElevatedCurvedRailAPrototype 'elevated-curved-rail-a' new

No new properties

ElevatedCurvedRailBPrototype 'elevated-curved-rail-b' new

No new properties

ElevatedHalfDiagonalRailPrototype 'elevated-half-diagonal-rail' new

No new properties

ElevatedStraightRailPrototype 'elevated-straight-rail' new

No new properties

EnemySpawnerPrototype 'unit-spawner' changed

graphics_setnew :: EnemySpawnerGraphicsSet
max_count_of_owned_units :: uint32

Count of enemies this spawner can sustain.

Count of enemies this spawner can sustain.

max_friends_around_to_spawn :: uint32

How many friendly units are required within the EnemySpawnerPrototype::spawning_radius of this spawner for it to stop producing more units.

How many friendly units are required within the EnemySpawnerPrototype::spawning_radius of this spawner for it to stop producing more units.

spawning_cooldown :: {double, double}

Ticks for cooldown after unit is spawned. [...]

Ticks for cooldown after unit is spawned. [...]

spawning_radius :: double

How far from the spawner can the units be spawned.

How far from the spawner can the units be spawned.

spawning_spacing :: double

What spaces should be between the spawned units.

What spaces should be between the spawned units.

max_richness_for_spawn_shift :: double

Max richness to determine spawn shift. [...]

Max richness to determine spawn shift. [...]

max_spawn_shift :: double

Caps how much richness can be added on top of evolution when spawning units. [...]

Caps how much richness can be added on top of evolution when spawning units. [...]

call_for_help_radius :: double
time_to_capturenew optional :: uint32
result_units :: array[UnitSpawnDefinition]

Array of the entities that this spawner can spawn and their spawn probabilities. [...]

Array of the entities that this spawner can spawn and their spawn probabilities. [...]

dying_sound optional :: Sound
absorptions_per_secondnew optional :: dictionary[AirbornePollutantID → EnemySpawnerAbsorption]
min_darkness_to_spawn optional :: float
max_darkness_to_spawn optional :: float
spawn_decorations_on_expansion optional :: bool

Whether spawn_decoration should be spawned when enemies expand.

Whether spawn_decoration should be spawned when enemies expand.

spawn_decorationchanged optional :: array[CreateDecorativesTriggerEffectItem]

Decoratives to be created when the spawner is created by the map generator. [...]

Decoratives to be created when the spawner is created by the map generator. [...]

captured_spawner_entitynew optional :: EntityID

EntityPrototype abstract changed

icons optional :: array[IconData]

This will be used in the electric network statistics, editor building selection, and the bonus gui. [...]

This will be used in the electric network statistics, editor building selection, and the bonus gui. [...]

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. [...]

collision_box optional :: BoundingBox

Specification of the entity collision boundaries. [...]

Specification of the entity collision boundaries. [...]

collision_maskchanged optional :: CollisionMaskConnector

Defaults to the mask from UtilityConstants::default_collision_masks when indexed by the entity type.

Defaults to the mask from UtilityConstants::default_collision_masks when indexed by the entity type.

map_generator_bounding_box optional :: BoundingBox

Used instead of the collision box during map generation. [...]

Used instead of the collision box during map generation. [...]

selection_box optional :: BoundingBox

Specification of the entity selection area. [...]

Specification of the entity selection area. [...]

drawing_box_vertical_extensionnew optional :: double

Specification of extra vertical space needed to see the whole entity in GUIs. [...]

Specification of extra vertical space needed to see the whole entity in GUIs. [...]

sticker_box optional :: BoundingBox

Used to set the area of the entity that can have stickers on it, currently only used for units to specify the area where the green slow down stickers can appear.

Used to set the area of the entity that can have stickers on it, currently only used for units to specify the area where the green slow down stickers can appear.

hit_visualization_box optional :: BoundingBox

Where beams should hit the entity. [...]

Where beams should hit the entity. [...]

trigger_target_mask optional :: TriggerTargetMask
flags optional :: EntityPrototypeFlags
tile_buildability_rulesnew optional :: array[TileBuildabilityRule]
minable optional :: MinableProperties

The item given to the player when they mine the entity and other properties relevant to mining this entity.

The item given to the player when they mine the entity and other properties relevant to mining this entity.

surface_conditionsnew optional :: array[SurfaceCondition]
deconstruction_alternativenew optional :: EntityID

Used to merge multiple entities into one entry in the deconstruction planner.

Used to merge multiple entities into one entry in the deconstruction planner.

selection_priority optional :: uint8

The entity with the higher number is selectable before the entity with the lower number.

The entity with the higher number is selectable before the entity with the lower number.

build_grid_size optional :: uint8

Supported values are 1 (for 1x1 grid) and 2 (for 2x2 grid, like rails). [...]

Supported values are 1 (for 1x1 grid) and 2 (for 2x2 grid, like rails). [...]

remove_decorativeschanged optional :: "automatic" or "true" or "false"

Whether this entity should remove decoratives that collide with it when this entity is built. [...]

Whether this entity should remove decoratives that collide with it when this entity is built. [...]

emissions_per_secondchanged optional :: dictionary[AirbornePollutantID → double]

Amount of emissions created (positive number) or cleaned (negative number) every second by the entity. [...]

Amount of emissions created (positive number) or cleaned (negative number) every second by the entity. [...]

shooting_cursor_sizechanged optional :: double

The cursor size used when shooting at this entity.

The cursor size used when shooting at this entity.

created_smoke optional :: CreateTrivialSmokeEffectItem

The smoke that is shown when the entity is placed.

The smoke that is shown when the entity is placed.

working_sound optional :: WorkingSound

Will also work on entities that don't actually do work.

Will also work on entities that don't actually do work.

created_effect optional :: Trigger

The effect/trigger that happens when the entity is placed.

The effect/trigger that happens when the entity is placed.

build_sound optional :: Sound
mined_sound optional :: Sound
mining_sound optional :: Sound
rotated_sound optional :: Sound
impact_categorynew optional :: string

Name of a ImpactCategory.

Name of a ImpactCategory.

open_sound optional :: Sound
close_sound optional :: Sound
placeable_position_visualizationnew optional :: Sprite
radius_visualisation_specification optional :: RadiusVisualisationSpecification
stateless_visualisationnew optional :: StatelessVisualisations
build_base_evolution_requirement optional :: double
alert_icon_shift optional :: Vector
alert_icon_scale optional :: float
fast_replaceable_group optional :: string

This allows you to replace an entity that's already placed, with a different one in your inventory. [...]

This allows you to replace an entity that's already placed, with a different one in your inventory. [...]

next_upgrade optional :: EntityID

Name of the entity that will be automatically selected as the upgrade of this entity when using the upgrade planner without configuration. [...]

Name of the entity that will be automatically selected as the upgrade of this entity when using the upgrade planner without configuration. [...]

protected_from_tile_building optional :: bool

When this is true, this entity prototype should be included during tile collision checks with tiles that have TilePrototype::check_collision_with_entities set to true.

When this is true, this entity prototype should be included during tile collision checks with tiles that have TilePrototype::check_collision_with_entities set to true.

heating_energynew optional :: Energy
allow_copy_paste optional :: bool
selectable_in_game optional :: bool
placeable_by optional :: ItemToPlace or array[ItemToPlace]

Item that when placed creates this entity. [...]

Item that when placed creates this entity. [...]

remains_when_mined optional :: EntityID or array[EntityID]

The entity that remains when this one is mined, deconstructed or fast-replaced. [...]

The entity that remains when this one is mined, deconstructed or fast-replaced. [...]

additional_pastable_entities optional :: array[EntityID]

Names of the entity prototypes this entity prototype can be pasted on to in addition to the standard supported types. [...]

Names of the entity prototypes this entity prototype can be pasted on to in addition to the standard supported types. [...]

tile_widthchanged optional :: int32

Used to determine how the center of the entity should be positioned when building (unless the off-grid flag is specified). [...]

Used to determine how the center of the entity should be positioned when building (unless the off-grid flag is specified). [...]

tile_heightchanged optional :: int32
diagonal_tile_grid_sizenew optional :: TilePosition
autoplace optional :: AutoplaceSpecification

Used to specify the rules for placing this entity during map generation.

Used to specify the rules for placing this entity during map generation.

map_color optional :: Color
friendly_map_color optional :: Color
enemy_map_color optional :: Color
water_reflection optional :: WaterReflectionDefinition

May also be defined inside graphics_set instead of directly in the entity prototype. [...]

May also be defined inside graphics_set instead of directly in the entity prototype. [...]

ambient_sounds_groupnew optional :: EntityID
ambient_soundsnew optional :: WorldAmbientSoundDefinition or array[WorldAmbientSoundDefinition]
icon_draw_specificationnew optional :: IconDrawSpecification

Used to specify where and how should be the alt-mode icons of entities should be drawn.

Used to specify where and how should be the alt-mode icons of entities should be drawn.

icons_positioningnew optional :: array[IconSequencePositioning]

EntityWithHealthPrototype abstract changed

max_health optional :: float

The unit health can never go over the maximum. [...]

The unit health can never go over the maximum. [...]

healing_per_tick optional :: float

The amount of health automatically regenerated per tick. [...]

The amount of health automatically regenerated per tick. [...]

repair_speed_modifier optional :: float

Multiplier of RepairToolPrototype::speed for this entity prototype.

Multiplier of RepairToolPrototype::speed for this entity prototype.

dying_explosion optional :: ExplosionDefinition or array[ExplosionDefinition]

The entities that are spawned in place of this one when it dies.

The entities that are spawned in place of this one when it dies.

dying_trigger_effect optional :: TriggerEffect
damaged_trigger_effect optional :: TriggerEffect
loot optional :: array[LootItem]

The loot is dropped on the ground when the entity is killed.

The loot is dropped on the ground when the entity is killed.

resistances optional :: array[Resistance]

See damage.

See damage.

attack_reaction optional :: AttackReactionItem or array[AttackReactionItem]
repair_sound optional :: Sound

Played when this entity is repaired with a RepairToolPrototype.

Played when this entity is repaired with a RepairToolPrototype.

alert_when_damaged optional :: bool
hide_resistances optional :: bool

Whether the resistances of this entity should be hidden in the entity tooltip.

Whether the resistances of this entity should be hidden in the entity tooltip.

create_ghost_on_death optional :: bool
random_corpse_variation optional :: bool
integration_patch_render_layer optional :: RenderLayer

May also be defined inside graphics_set instead of directly in the entity prototype. [...]

May also be defined inside graphics_set instead of directly in the entity prototype. [...]

corpse optional :: EntityID or array[EntityID]

Specifies the names of the CorpsePrototype to be used when this entity dies.

Specifies the names of the CorpsePrototype to be used when this entity dies.

integration_patch optional :: Sprite4Way

May also be defined inside graphics_set instead of directly in the entity prototype. [...]

May also be defined inside graphics_set instead of directly in the entity prototype. [...]

overkill_fractionnew optional :: float

Fraction of health by which predicted damage must be exceeded before entity is considered as "predicted to die" causing turrets (and others) to stop shooting more projectiles. [...]

Fraction of health by which predicted damage must be exceeded before entity is considered as "predicted to die" causing turrets (and others) to stop shooting more projectiles. [...]

EntityWithOwnerPrototype abstract changed

is_military_target optional :: bool

Whether this prototype should be a high priority target for enemy forces. [...]

Whether this prototype should be a high priority target for enemy forces. [...]

allow_run_time_change_of_is_military_target optional :: bool

If this is true, this entity's is_military_target property can be changed during runtime (on the entity, not on the prototype itself).

If this is true, this entity's is_military_target property can be changed during runtime (on the entity, not on the prototype itself).

quality_indicator_scalenew optional :: double

The default scale is based on the tile distance of the shorter dimension. [...]

The default scale is based on the tile distance of the shorter dimension. [...]

EquipArmorAchievementPrototype 'equip-armor-achievement' new

armor :: ItemID

The achievement will trigger if this armor or the alternative armor is equipped.

The achievement will trigger if this armor or the alternative armor is equipped.

alternative_armor :: ItemID

The achievement will trigger if this armor or the other armor is equipped.

The achievement will trigger if this armor or the other armor is equipped.

limit_quality :: QualityID
amount optional :: uint32

How many armors need to be equipped.

How many armors need to be equipped.

limited_to_one_game optional :: bool

If this is false, the player carries over their statistics from this achievement through all their saves.

If this is false, the player carries over their statistics from this achievement through all their saves.

EquipmentCategory 'equipment-category'

No new properties

EquipmentGhostPrototype 'equipment-ghost' new

No new properties

EquipmentGridPrototype 'equipment-grid'

equipment_categories :: array[EquipmentCategoryID]

Only equipment with at least one of these categories can be inserted into the grid.

Only equipment with at least one of these categories can be inserted into the grid.

width :: uint32
height :: uint32
locked optional :: bool

Whether this locked from user interaction which means that the user cannot put equipment into or take equipment from this equipment grid.

Whether this locked from user interaction which means that the user cannot put equipment into or take equipment from this equipment grid.

sprite :: Sprite

The graphics to use when this equipment is shown inside an equipment grid.

The graphics to use when this equipment is shown inside an equipment grid.

shape :: EquipmentShape

How big this equipment should be in the grid and whether it should be one solid rectangle or of a custom shape.

How big this equipment should be in the grid and whether it should be one solid rectangle or of a custom shape.

categories :: array[EquipmentCategoryID]

Sets the categories of the equipment. [...]

Sets the categories of the equipment. [...]

energy_source :: ElectricEnergySource
take_result optional :: ItemID

Name of the item prototype that should be returned to the player when they remove this equipment from an equipment grid.

Name of the item prototype that should be returned to the player when they remove this equipment from an equipment grid.

background_color optional :: Color

The color that the background of this equipment should have when shown inside an equipment grid.

The color that the background of this equipment should have when shown inside an equipment grid.

background_border_color optional :: Color

The color that the border of the background of this equipment should have when shown inside an equipment grid.

The color that the border of the background of this equipment should have when shown inside an equipment grid.

grabbed_background_color optional :: Color

The color that the background of this equipment should have when held in the players hand and hovering over an equipment grid.

The color that the background of this equipment should have when held in the players hand and hovering over an equipment grid.

ExplosionPrototype 'explosion' changed

animations :: AnimationVariations
sound optional :: Sound
smoke optional :: TrivialSmokeID

Mandatory if smoke_count > 0.

Mandatory if smoke_count > 0.

height optional :: float
smoke_slow_down_factor optional :: float
smoke_count optional :: uint16
rotate optional :: bool
beam optional :: bool
correct_rotation optional :: bool
scale_animation_speed optional :: bool
fade_in_duration optional :: uint8
fade_out_duration optional :: uint8
render_layer optional :: RenderLayer
scale_in_duration optional :: uint8
scale_out_duration optional :: uint8
scale_end optional :: float
scale_increment_per_tick optional :: float
light_intensity_factor_initial optional :: float

Silently clamped to be between 0 and 1.

Silently clamped to be between 0 and 1.

light_intensity_factor_final optional :: float

Silently clamped to be between 0 and 1.

Silently clamped to be between 0 and 1.

light_size_factor_initial optional :: float

Silently clamped to be between 0 and 1.

Silently clamped to be between 0 and 1.

light_size_factor_final optional :: float

Silently clamped to be between 0 and 1.

Silently clamped to be between 0 and 1.

light optional :: LightDefinition
light_intensity_peak_start_progress optional :: float
light_intensity_peak_end_progress optional :: float
light_size_peak_start_progress optional :: float
light_size_peak_end_progress optional :: float
scale_initial optional :: float
scale_initial_deviation optional :: float
scale optional :: float
scale_deviation optional :: float

FireFlamePrototype 'fire' changed

damage_per_tickchanged :: DamageParameters
spread_delay :: uint32
spread_delay_deviation :: uint32
render_layer optional :: RenderLayer
initial_render_layer optional :: RenderLayer
secondary_render_layer optional :: RenderLayer
small_tree_fire_pictures optional :: AnimationVariations
pictures optional :: AnimationVariations
smoke_source_pictures optional :: AnimationVariations
secondary_pictures optional :: AnimationVariations
burnt_patch_pictures optional :: SpriteVariations
secondary_picture_fade_out_start optional :: uint32
secondary_picture_fade_out_duration optional :: uint32
spawn_entity optional :: EntityID
smoke optional :: array[SmokeSource]
maximum_spread_count optional :: uint16
initial_flame_count optional :: uint8

Spawns this many secondary_pictures around the entity when it first spawns. [...]

Spawns this many secondary_pictures around the entity when it first spawns. [...]

uses_alternative_behavior optional :: bool

If false, then all animations loop. [...]

If false, then all animations loop. [...]

limit_overlapping_particles optional :: bool
tree_dying_factor optional :: float
fade_in_duration optional :: uint32
fade_out_duration optional :: uint32
initial_lifetime optional :: uint32
damage_multiplier_decrease_per_tick optional :: float
damage_multiplier_increase_per_added_fuel optional :: float
maximum_damage_multiplier optional :: float
lifetime_increase_by optional :: uint32
lifetime_increase_cooldown optional :: uint32
maximum_lifetime optional :: uint32
add_fuel_cooldown optional :: uint32
delay_between_initial_flames optional :: uint32
smoke_fade_in_duration optional :: uint32
smoke_fade_out_duration optional :: uint32
on_fuel_added_action optional :: Trigger
on_damage_tick_effect optional :: Trigger
light optional :: LightDefinition
light_size_modifier_per_flamenew optional :: float
light_size_modifier_maximumnew optional :: float
particle_alpha_blend_duration optional :: uint16
burnt_patch_lifetime optional :: uint32
burnt_patch_alpha_default optional :: float
particle_alpha optional :: float

Only loaded if uses_alternative_behavior is true.

Only loaded if uses_alternative_behavior is true.

particle_alpha_deviation optional :: float

Only loaded if uses_alternative_behavior is true.

Only loaded if uses_alternative_behavior is true.

flame_alpha optional :: float

Only loaded if uses_alternative_behavior is false.

Only loaded if uses_alternative_behavior is false.

flame_alpha_deviation optional :: float

Only loaded if uses_alternative_behavior is false.

Only loaded if uses_alternative_behavior is false.

burnt_patch_alpha_variations optional :: array[TileAndAlpha]

FishPrototype 'fish' changed

FluidPrototype 'fluid' changed

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. [...]

default_temperaturechanged :: float

Also the minimum temperature of the fluid. [...]

Also the minimum temperature of the fluid. [...]

base_color :: Color

Used by bars that show the fluid color, like the flamethrower turret fill bar in the tooltip, or the fill bar for the fluid wagon tooltip; and for the pipe windows and storage tank fill gauges.

Used by bars that show the fluid color, like the flamethrower turret fill bar in the tooltip, or the fill bar for the fluid wagon tooltip; and for the pipe windows and storage tank fill gauges.

flow_color :: Color

Used only for pipe windows or storage tank fill gauges.

Used only for pipe windows or storage tank fill gauges.

visualization_colornew optional :: Color

Color to use for visualization. [...]

Color to use for visualization. [...]

max_temperaturechanged optional :: float
heat_capacity optional :: Energy

Joule needed to heat 1 Unit by 1 °C.

Joule needed to heat 1 Unit by 1 °C.

fuel_value optional :: Energy
emissions_multiplier optional :: double

Scales pollution generated when the fluid is consumed.

Scales pollution generated when the fluid is consumed.

gas_temperaturechanged optional :: float

Above this temperature the gas_flow animation is used to display the fluid inside storage tanks and pipes.

Above this temperature the gas_flow animation is used to display the fluid inside storage tanks and pipes.

auto_barrel optional :: bool

Whether the fluid should be included in the barrel recipes automatically generated by the base mod. [...]

Whether the fluid should be included in the barrel recipes automatically generated by the base mod. [...]

FluidStreamPrototype 'stream' changed

particle_spawn_interval :: uint16

The stream will spawn one particle every particle_spawn_interval ticks until the particle_spawn_timeout is reached. [...]

The stream will spawn one particle every particle_spawn_interval ticks until the particle_spawn_timeout is reached. [...]

particle_horizontal_speed :: float

Must be larger than 0. [...]

Must be larger than 0. [...]

particle_horizontal_speed_deviation :: float
particle_vertical_acceleration :: float
initial_action optional :: Trigger

Action that is triggered when the first particle lands.

Action that is triggered when the first particle lands.

action optional :: Trigger

Action that is triggered every time a particle lands. [...]

Action that is triggered every time a particle lands. [...]

special_neutral_target_damagechanged optional :: DamageParameters
width optional :: float
particle_buffer_size optional :: uint32

Number of spawned child particles of the stream. [...]

Number of spawned child particles of the stream. [...]

particle_spawn_timeout optional :: uint16
particle_start_alpha optional :: float
particle_end_alpha optional :: float
particle_start_scale optional :: float
particle_alpha_per_part optional :: float
particle_scale_per_part optional :: float
particle_fade_out_threshold optional :: float

Value between 0 and 1.

Value between 0 and 1.

particle_loop_exit_threshold optional :: float

Value between 0 and 1.

Value between 0 and 1.

particle_loop_frame_count optional :: uint16

Will be set to 1 by the game if less than 1.

Will be set to 1 by the game if less than 1.

particle_fade_out_duration optional :: uint16

Will be set to 1 by the game if less than 1.

Will be set to 1 by the game if less than 1.

spine_animation optional :: Animation
particle optional :: Animation
shadow optional :: Animation
smoke_sources optional :: array[SmokeSource]

Smoke spawning is controlled by progress_to_create_smoke.

Smoke spawning is controlled by progress_to_create_smoke.

progress_to_create_smoke optional :: float

The point in the particles projectile arc to start spawning smoke. [...]

The point in the particles projectile arc to start spawning smoke. [...]

stream_light optional :: LightDefinition
ground_light optional :: LightDefinition
target_position_deviation optional :: double
oriented_particle optional :: bool
shadow_scale_enabled optional :: bool

FluidTurretPrototype 'fluid-turret'

fluid_buffer_sizechanged :: FluidAmount
fluid_buffer_input_flowchanged :: FluidAmount
activation_buffer_ratiochanged :: FluidAmount

Before an turret that was out of fluid ammunition is able to fire again, the fluid_buffer_size must fill to this proportion.

Before an turret that was out of fluid ammunition is able to fire again, the fluid_buffer_size must fill to this proportion.

fluid_box :: FluidBox
muzzle_light optional :: LightDefinition
enough_fuel_indicator_light optional :: LightDefinition
not_enough_fuel_indicator_light optional :: LightDefinition
muzzle_animation optional :: Animation
folded_muzzle_animation_shift optional :: AnimatedVector
preparing_muzzle_animation_shift optional :: AnimatedVector
prepared_muzzle_animation_shift optional :: AnimatedVector
starting_attack_muzzle_animation_shift optional :: AnimatedVector
attacking_muzzle_animation_shift optional :: AnimatedVector
ending_attack_muzzle_animation_shift optional :: AnimatedVector
folding_muzzle_animation_shift optional :: AnimatedVector
enough_fuel_indicator_picture optional :: Sprite4Way
not_enough_fuel_indicator_picture optional :: Sprite4Way
out_of_ammo_alert_icon optional :: Sprite

The sprite will be drawn on top of fluid turrets that are out of fluid ammunition. [...]

The sprite will be drawn on top of fluid turrets that are out of fluid ammunition. [...]

FluidWagonPrototype 'fluid-wagon'

capacitychanged :: FluidAmount
tank_count optional :: uint8

Must be 1, 2 or 3.

Must be 1, 2 or 3.

FlyingRobotPrototype abstract changed

speed :: double

The flying speed of the robot, in tiles/tick.

The flying speed of the robot, in tiles/tick.

max_speed optional :: double

The maximum flying speed of the robot, including bonuses, in tiles/tick. [...]

The maximum flying speed of the robot, including bonuses, in tiles/tick. [...]

max_energy optional :: Energy

How much energy can be stored in the batteries. [...]

How much energy can be stored in the batteries. [...]

energy_per_move optional :: Energy

How much energy does it cost to move 1 tile. [...]

How much energy does it cost to move 1 tile. [...]

energy_per_tick optional :: Energy

How much energy does it cost to fly for 1 tick. [...]

How much energy does it cost to fly for 1 tick. [...]

min_to_charge optional :: float

The robot will go to charge when its battery fill ratio is less than this. [...]

The robot will go to charge when its battery fill ratio is less than this. [...]

max_to_charge optional :: float

If the robot's battery fill ratio is more than this, it does not need to charge before stationing. [...]

If the robot's battery fill ratio is more than this, it does not need to charge before stationing. [...]

speed_multiplier_when_out_of_energy optional :: float

Some robots simply crash, some slowdown but keep going. [...]

Some robots simply crash, some slowdown but keep going. [...]

type :: "font"
name :: string

Name of the font.

Name of the font.

size :: int32

Size of the font.

Size of the font.

from :: string

The name of the fonts .ttf descriptor. [...]

The name of the fonts .ttf descriptor. [...]

spacing optional :: float
border optional :: bool

Whether the font has a border.

Whether the font has a border.

filtered optional :: bool
border_color optional :: Color

The color of the border, if enabled.

The color of the border, if enabled.

FuelCategory 'fuel-category' changed

FurnacePrototype 'furnace' changed

result_inventory_size :: ItemStackIndex

The number of output slots.

The number of output slots.

source_inventory_size :: ItemStackIndex

The number of input slots, but not more than 1.

The number of input slots, but not more than 1.

cant_insert_at_source_message_key optional :: string

The locale key of the message shown when the player attempts to insert an item into the furnace that cannot be processed by that furnace. [...]

The locale key of the message shown when the player attempts to insert an item into the furnace that cannot be processed by that furnace. [...]

custom_input_slot_tooltip_keynew optional :: string

The locale key of the tooltip to be shown in the input slot instead of the automatically generated list of items that fit there

The locale key of the tooltip to be shown in the input slot instead of the automatically generated list of items that fit there

FusionGeneratorPrototype 'fusion-generator' new

energy_source :: ElectricEnergySource

output_flow_limit is mandatory and must be positive.

output_flow_limit is mandatory and must be positive.

graphics_set optional :: FusionGeneratorGraphicsSet
input_fluid_box :: FluidBox

filter is mandatory.

filter is mandatory.

output_fluid_box :: FluidBox

filter is mandatory.

filter is mandatory.

max_fluid_usage :: FluidAmount

Must be positive.

Must be positive.

perceived_performance optional :: PerceivedPerformance

Affects animation speed.

Affects animation speed.

FusionReactorPrototype 'fusion-reactor' new

energy_source :: ElectricEnergySource

First energy source for the process: provides energy

First energy source for the process: provides energy

burner :: BurnerEnergySource

Second energy source for the process: provides fuel

Second energy source for the process: provides fuel

graphics_set :: FusionReactorGraphicsSet
input_fluid_box :: FluidBox

The input fluid box. [...]

The input fluid box. [...]

output_fluid_box :: FluidBox

The output fluid box. [...]

The output fluid box. [...]

neighbour_connectable optional :: NeighbourConnectable

Defines connection points to neighbours used to compute neighbour bonus.

Defines connection points to neighbours used to compute neighbour bonus.

two_direction_only optional :: bool

If set to true, only North and East direction will be buildable.

If set to true, only North and East direction will be buildable.

neighbour_bonus optional :: float
power_input :: Energy

Power input consumed from first energy source at full performance. [...]

Power input consumed from first energy source at full performance. [...]

max_fluid_usage :: FluidAmount

Maximum amount of fluid converted from input_fluid_box to output_fluid_box within a single tick. [...]

Maximum amount of fluid converted from input_fluid_box to output_fluid_box within a single tick. [...]

perceived_performance optional :: PerceivedPerformance

Affects animation speed.

Affects animation speed.

GatePrototype 'gate' changed

vertical_animation optional :: Animation
horizontal_animation optional :: Animation
vertical_rail_animation_left optional :: Animation
vertical_rail_animation_right optional :: Animation
horizontal_rail_animation_left optional :: Animation
horizontal_rail_animation_right optional :: Animation
vertical_rail_base optional :: Animation
horizontal_rail_base optional :: Animation
wall_patch optional :: Animation
opening_speed :: float
activation_distance :: double
timeout_to_close :: uint32
opening_soundnew optional :: Sound

Played when the gate opens.

Played when the gate opens.

closing_soundnew optional :: Sound

Played when the gate closes.

Played when the gate closes.

fadeout_interval optional :: uint32
opened_collision_maskchanged optional :: CollisionMaskConnector

This collision mask is used when the gate is open. [...]

This collision mask is used when the gate is open. [...]

GeneratorEquipmentPrototype 'generator-equipment'

power :: Energy

The power output of this equipment.

The power output of this equipment.

burner optional :: BurnerEnergySource

If not defined, this equipment produces power for free.

If not defined, this equipment produces power for free.

GeneratorPrototype 'generator' changed

energy_source :: ElectricEnergySource
fluid_box :: FluidBox

This must have a filter if max_power_output is not defined.

This must have a filter if max_power_output is not defined.

horizontal_animation optional :: Animation
vertical_animation optional :: Animation
horizontal_frozen_patchnew optional :: Sprite
vertical_frozen_patchnew optional :: Sprite
effectivity optional :: double

How much energy the generator produces compared to how much energy it consumes. [...]

How much energy the generator produces compared to how much energy it consumes. [...]

fluid_usage_per_tickchanged :: FluidAmount

The number of fluid units the generator uses per tick.

The number of fluid units the generator uses per tick.

maximum_temperaturechanged :: float

The maximum temperature to which the efficiency can increase. [...]

The maximum temperature to which the efficiency can increase. [...]

smoke optional :: array[SmokeSource]
burns_fluid optional :: bool

If set to true, the available power output is based on the FluidPrototype::fuel_value. [...]

If set to true, the available power output is based on the FluidPrototype::fuel_value. [...]

scale_fluid_usage optional :: bool

Scales the generator's fluid usage to its maximum power output. [...]

Scales the generator's fluid usage to its maximum power output. [...]

destroy_non_fuel_fluid optional :: bool

This property is used when burns_fluid is true and the fluid has a fuel_value of 0. [...]

This property is used when burns_fluid is true and the fluid has a fuel_value of 0. [...]

perceived_performancenew optional :: PerceivedPerformance

Affects animation speed.

Affects animation speed.

max_power_output optional :: Energy

The power production of the generator is capped to this value. [...]

The power production of the generator is capped to this value. [...]

GodControllerPrototype 'god-controller'

type :: "god-controller"
name :: string

Name of the god-controller. [...]

Name of the god-controller. [...]

inventory_size :: ItemStackIndex
movement_speed :: double

Must be >= 0.34375.

Must be >= 0.34375.

item_pickup_distance :: double
loot_pickup_distance :: double
mining_speed :: double
crafting_categories optional :: array[RecipeCategoryID]

Names of the crafting categories the player can craft recipes from.

Names of the crafting categories the player can craft recipes from.

mining_categories optional :: array[ResourceCategoryID]

Names of the resource categories the player can mine resources from.

Names of the resource categories the player can mine resources from.

GroupAttackAchievementPrototype 'group-attack-achievement' changed

amount optional :: uint32

This will trigger the achievement, if the player receives this amount of attacks. [...]

This will trigger the achievement, if the player receives this amount of attacks. [...]

entitiesnew optional :: array[EntityID]

The achievement is only triggered if the attacking group of enemies contains at least one of the entities listed here.

The achievement is only triggered if the attacking group of enemies contains at least one of the entities listed here.

GuiStyle 'gui-style'

Custom properties :: stringStyleSpecification

Styles are defined as uniquely named StyleSpecification properties of the prototype. [...]

Styles are defined as uniquely named StyleSpecification properties of the prototype. [...]

attack_parameters :: AttackParameters

The information the item needs to know in order to know what ammo it requires, the sounds, and range.

The information the item needs to know in order to know what ammo it requires, the sounds, and range.

HalfDiagonalRailPrototype 'half-diagonal-rail' new

No new properties

HeatInterfacePrototype 'heat-interface'

heat_buffer :: HeatBuffer
picture optional :: Sprite
gui_mode optional :: "all" or "none" or "admins"

HeatPipePrototype 'heat-pipe' changed

HighlightBoxEntityPrototype 'highlight-box' changed

No new properties

ImpactCategory 'impact-category' new

type :: "impact-category"
name :: string

Name of the impact category.

Name of the impact category.

InfinityContainerPrototype 'infinity-container' changed

erase_contents_when_mined :: bool
preserve_contents_when_creatednew optional :: bool

When true, items created inside the infinity chest will not start to spoil until they have been removed from the chest.

When true, items created inside the infinity chest will not start to spoil until they have been removed from the chest.

gui_mode optional :: "all" or "none" or "admins"

Controls which players can control what the chest spawns.

Controls which players can control what the chest spawns.

InfinityPipePrototype 'infinity-pipe'

gui_mode optional :: "all" or "none" or "admins"

InserterPrototype 'inserter' changed

extension_speed :: double
rotation_speed :: double
starting_distancenew optional :: double
insert_position :: Vector
pickup_position :: Vector
platform_picture optional :: Sprite4Way
platform_frozennew optional :: Sprite4Way
hand_base_picture optional :: Sprite
hand_open_picture optional :: Sprite
hand_closed_picture optional :: Sprite
hand_base_frozennew optional :: Sprite
hand_open_frozennew optional :: Sprite
hand_closed_frozennew optional :: Sprite
hand_base_shadow optional :: Sprite
hand_open_shadow optional :: Sprite
hand_closed_shadow optional :: Sprite
energy_source :: EnergySource

Defines how this inserter gets energy. [...]

Defines how this inserter gets energy. [...]

energy_per_movement optional :: Energy
energy_per_rotation optional :: Energy
bulknew optional :: bool

Whether this inserter is considered a bulk inserter. [...]

Whether this inserter is considered a bulk inserter. [...]

allow_custom_vectors optional :: bool

Whether pickup and insert position can be set run-time.

Whether pickup and insert position can be set run-time.

allow_burner_leech optional :: bool

Whether this burner inserter can fuel itself from the fuel inventory of the entity it is picking up items from.

Whether this burner inserter can fuel itself from the fuel inventory of the entity it is picking up items from.

draw_held_item optional :: bool

Whether the item that the inserter is holding should be drawn.

Whether the item that the inserter is holding should be drawn.

use_easter_egg optional :: bool

Whether the inserter should be able to fish fish.

Whether the inserter should be able to fish fish.

grab_less_to_match_belt_stacknew optional :: bool

If drop target is belt, inserter may grab less so that it does not drop partial stacks unless it is forced to drop partial.

If drop target is belt, inserter may grab less so that it does not drop partial stacks unless it is forced to drop partial.

wait_for_full_handnew optional :: bool

Inserter will wait until its hand is full.

Inserter will wait until its hand is full.

enter_drop_mode_if_held_stack_spoilednew optional :: bool

If inserter waits for full hand it could become stuck when item in hand changed because of spoiling. [...]

If inserter waits for full hand it could become stuck when item in hand changed because of spoiling. [...]

max_belt_stack_sizenew optional :: uint8

This inserter will not create stacks on belt with more than this amount of items. [...]

This inserter will not create stacks on belt with more than this amount of items. [...]

filter_count optional :: uint8

How many filters this inserter has. [...]

How many filters this inserter has. [...]

hand_size optional :: double

Used to determine how long the arm of the inserter is when drawing it. [...]

Used to determine how long the arm of the inserter is when drawing it. [...]

circuit_wire_max_distance optional :: double

The maximum circuit wire distance for this entity.

The maximum circuit wire distance for this entity.

draw_copper_wires optional :: bool
draw_circuit_wires optional :: bool
default_stack_control_input_signal optional :: SignalIDConnector
draw_inserter_arrow optional :: bool

Whether the yellow arrow that indicates the drop point of the inserter and the line that indicates the pickup position should be drawn.

Whether the yellow arrow that indicates the drop point of the inserter and the line that indicates the pickup position should be drawn.

chases_belt_items optional :: bool

Whether the inserter hand should move to the items it picks up from belts, leading to item chasing behaviour. [...]

Whether the inserter hand should move to the items it picks up from belts, leading to item chasing behaviour. [...]

stack_size_bonus optional :: uint8

Stack size bonus that is inherent to the prototype without having to be researched.

Stack size bonus that is inherent to the prototype without having to be researched.

circuit_connectornew optional :: {CircuitConnectorDefinition, CircuitConnectorDefinition, CircuitConnectorDefinition, CircuitConnectorDefinition}

ItemEntityPrototype 'item-entity' changed

No new properties

ItemGroup 'item-group' changed

icons optional :: array[IconData]

The icon that is shown to represent this item group. [...]

The icon that is shown to represent this item group. [...]

icon optional :: FileName

Path to the icon that is shown to represent this item group. [...]

Path to the icon that is shown to represent this item group. [...]

icon_size optional :: SpriteSizeType

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

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

order_in_recipe optional :: Order

Item ingredients in recipes are ordered by item group. [...]

Item ingredients in recipes are ordered by item group. [...]

ItemPrototype 'item' changed

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. [...]

dark_background_icons optional :: array[IconData]

Can't be an empty array.

Can't be an empty array.

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. [...]

dark_background_icon_sizenew optional :: SpriteSizeType

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

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

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. [...]

place_as_equipment_resultnew optional :: EquipmentID
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.

spoil_resultnew optional :: ItemID
plant_resultnew optional :: EntityID
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.

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

Must be 0 or positive.

Must be 0 or positive.

fuel_top_speed_multiplier optional :: double

Must be 0 or positive.

Must be 0 or positive.

fuel_emissions_multiplier optional :: double
fuel_acceleration_multiplier_quality_bonusnew optional :: double

Additional fuel acceleration multiplier per quality level. [...]

Additional fuel acceleration multiplier per quality level. [...]

fuel_top_speed_multiplier_quality_bonusnew optional :: double

Additional fuel top speed multiplier per quality level. [...]

Additional fuel top speed multiplier per quality level. [...]

weightnew optional :: Weight

The default weight is calculated automatically from recipes and falls back to UtilityConstants::default_item_weight.

The default weight is calculated automatically from recipes and falls back to UtilityConstants::default_item_weight.

ingredient_to_weight_coefficientnew 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
pick_soundnew optional :: Sound
drop_soundnew optional :: Sound
inventory_move_soundnew optional :: Sound
default_import_locationnew optional :: SpaceLocationID
color_hintnew optional :: ColorHintSpecification

Only used by hidden setting, support may be limited.

Only used by hidden setting, support may be limited.

has_random_tintnew optional :: bool
spoil_to_trigger_resultnew optional :: SpoilToTriggerResult

Only loaded if spoil_result is not defined.

Only loaded if spoil_result is not defined.

destroyed_by_dropping_triggernew optional :: Trigger

The effect/trigger that happens when an item is destroyed by being dropped on a TilePrototype marked as destroying dropped items. [...]

The effect/trigger that happens when an item is destroyed by being dropped on a TilePrototype marked as destroying dropped items. [...]

rocket_launch_products optional :: array[ItemProductPrototype]
send_to_orbit_modenew optional :: SendToOrbitMode

The way this item works when we try to send it to the orbit on its own. [...]

The way this item works when we try to send it to the orbit on its own. [...]

random_tint_colornew optional :: Color

Randomly tints item instances on belts and in the world. [...]

Randomly tints item instances on belts and in the world. [...]

spoil_levelnew optional :: uint8

Used by Inserters with spoil priority. [...]

Used by Inserters with spoil priority. [...]

ItemRequestProxyPrototype 'item-request-proxy' changed

ItemSubGroup 'item-subgroup'

group :: ItemGroupID

The item group this subgroup is located in.

The item group this subgroup is located in.

ItemWithEntityDataPrototype 'item-with-entity-data' changed

icon_tintable_masks optional :: array[IconData]

Can't be an empty array. [...]

Can't be an empty array. [...]

icon_tintable_mask optional :: FileName

Path to the icon file. [...]

Path to the icon file. [...]

icon_tintable_mask_sizenew optional :: SpriteSizeType

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

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

icon_tintables optional :: array[IconData]

Can't be an empty array. [...]

Can't be an empty array. [...]

icon_tintable optional :: FileName

Path to the icon file. [...]

Path to the icon file. [...]

icon_tintable_sizenew optional :: SpriteSizeType

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

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

ItemWithInventoryPrototype 'item-with-inventory' changed

inventory_size :: ItemStackIndex

The inventory size of the item.

The inventory size of the item.

item_filters optional :: array[ItemID]

A list of explicit item names to be used as filters.

A list of explicit item names to be used as filters.

item_group_filters optional :: array[ItemGroupID]

A list of explicit item group names to be used as filters.

A list of explicit item group names to be used as filters.

item_subgroup_filters optional :: array[ItemSubGroupID]

A list of explicit item subgroup names to be used as filters.

A list of explicit item subgroup names to be used as filters.

filter_mode optional :: "blacklist" or "whitelist"

This determines how filters are applied. [...]

This determines how filters are applied. [...]

filter_message_key optional :: string

The locale key used when the player attempts to put an item that doesn't match the filter rules into the item-with-inventory.

The locale key used when the player attempts to put an item that doesn't match the filter rules into the item-with-inventory.

ItemWithLabelPrototype 'item-with-label'

default_label_color optional :: Color

The default label color the item will use.

The default label color the item will use.

draw_label_for_cursor_render optional :: bool

If the item will draw its label when held in the cursor in place of the item count.

If the item will draw its label when held in the cursor in place of the item count.

ItemWithTagsPrototype 'item-with-tags'

No new properties

KillAchievementPrototype 'kill-achievement' changed

to_killchanged optional :: EntityID or array[EntityID]

This defines which entity needs to be destroyed in order to receive the achievement.

This defines which entity needs to be destroyed in order to receive the achievement.

type_to_kill optional :: string

This defines what entity type needs to be destroyed in order to receive the achievement.

This defines what entity type needs to be destroyed in order to receive the achievement.

damage_type optional :: DamageTypeID

This defines how the player needs to destroy the specific entity.

This defines how the player needs to destroy the specific entity.

damage_dealernew optional :: EntityID or array[EntityID]

The killer of the entity must be one of these entities.

The killer of the entity must be one of these entities.

amount optional :: uint32

This is the amount of entity of the specified type the player needs to destroy to receive the achievement.

This is the amount of entity of the specified type the player needs to destroy to receive the achievement.

in_vehicle optional :: bool

This defines if the player needs to be in a vehicle.

This defines if the player needs to be in a vehicle.

personally optional :: bool

This defines to make sure you are the one driving, for instance, in a tank rather than an automated train.

This defines to make sure you are the one driving, for instance, in a tank rather than an automated train.

LabPrototype 'lab' changed

energy_usage :: Energy

The amount of energy this lab uses.

The amount of energy this lab uses.

energy_source :: EnergySource

Defines how this lab gets energy.

Defines how this lab gets energy.

on_animation optional :: Animation

The animation that plays when the lab is active.

The animation that plays when the lab is active.

off_animation optional :: Animation

The animation that plays when the lab is idle.

The animation that plays when the lab is idle.

frozen_patchnew optional :: Sprite
inputs :: array[ItemID]

A list of the names of science packs that can be used in this lab. [...]

A list of the names of science packs that can be used in this lab. [...]

researching_speed optional :: double
effect_receivernew optional :: EffectReceiver
module_slotsnew optional :: ItemStackIndex

The number of module slots in this lab.

The number of module slots in this lab.

uses_quality_drain_modifiernew optional :: bool

Whether the QualityPrototype::science_pack_drain_multiplier of the quality of the science pack should be considered by the lab.

Whether the QualityPrototype::science_pack_drain_multiplier of the quality of the science pack should be considered by the lab.

science_pack_drain_rate_percentnew optional :: uint8

May not be 0. [...]

May not be 0. [...]

allowed_effects optional :: EffectTypeLimitation

Sets the modules and beacon effects that are allowed to be used on this lab.

Sets the modules and beacon effects that are allowed to be used on this lab.

allowed_module_categoriesnew optional :: array[ModuleCategoryID]

Sets the module categories that are allowed to be inserted into this machine.

Sets the module categories that are allowed to be inserted into this machine.

light optional :: LightDefinition
trash_inventory_sizenew optional :: ItemStackIndex

LampPrototype 'lamp' changed

picture_on optional :: Sprite

The lamps graphics when it's on.

The lamps graphics when it's on.

picture_off optional :: Sprite

The lamps graphics when it's off.

The lamps graphics when it's off.

energy_usage_per_tick :: Energy

The amount of energy the lamp uses. [...]

The amount of energy the lamp uses. [...]

energy_source :: ElectricEnergySource or VoidEnergySource

The emissions set on the energy source are ignored so lamps cannot produce pollution.

The emissions set on the energy source are ignored so lamps cannot produce pollution.

light optional :: LightDefinition

What color the lamp will be when it is on, and receiving power.

What color the lamp will be when it is on, and receiving power.

light_when_colored optional :: LightDefinition

This refers to when the light is in a circuit network, and is lit a certain color based on a signal value.

This refers to when the light is in a circuit network, and is lit a certain color based on a signal value.

circuit_wire_max_distance optional :: double

The maximum circuit wire distance for this entity.

The maximum circuit wire distance for this entity.

draw_copper_wires optional :: bool
draw_circuit_wires optional :: bool
circuit_connectornew optional :: CircuitConnectorDefinition
glow_size optional :: float
glow_color_intensity optional :: float
darkness_for_all_lamps_on optional :: float

darkness_for_all_lamps_on must be > darkness_for_all_lamps_off. [...]

darkness_for_all_lamps_on must be > darkness_for_all_lamps_off. [...]

darkness_for_all_lamps_off optional :: float

darkness_for_all_lamps_on must be > darkness_for_all_lamps_off. [...]

darkness_for_all_lamps_on must be > darkness_for_all_lamps_off. [...]

always_on optional :: bool

Whether the lamp should always be on.

Whether the lamp should always be on.

signal_to_color_mapping optional :: array[SignalColorMapping]
glow_render_mode optional :: "additive" or "multiplicative"
default_red_signalnew optional :: SignalIDConnector
default_green_signalnew optional :: SignalIDConnector
default_blue_signalnew optional :: SignalIDConnector
default_rgb_signalnew optional :: SignalIDConnector

LandMinePrototype 'land-mine' changed

picture_safe optional :: Sprite

The sprite of the landmine before it is armed (just after placing).

The sprite of the landmine before it is armed (just after placing).

picture_set optional :: Sprite

The sprite of the landmine of a friendly force when it is armed.

The sprite of the landmine of a friendly force when it is armed.

trigger_radius :: double
picture_set_enemy optional :: Sprite

The sprite of the landmine of an enemy force when it is armed.

The sprite of the landmine of an enemy force when it is armed.

timeout optional :: uint32

Time between placing and the landmine being armed, in ticks.

Time between placing and the landmine being armed, in ticks.

action optional :: Trigger
ammo_category optional :: AmmoCategoryID
force_die_on_attack optional :: bool

Force the landmine to kill itself when exploding.

Force the landmine to kill itself when exploding.

trigger_force optional :: ForceCondition
trigger_collision_maskchanged optional :: CollisionMaskConnector

Collision mask that another entity must collide with to make this landmine blow up.

Collision mask that another entity must collide with to make this landmine blow up.

LegacyCurvedRailPrototype 'legacy-curved-rail' new

No new properties

LegacyStraightRailPrototype 'legacy-straight-rail' new

No new properties

LightningAttractorPrototype 'lightning-attractor' new

chargable_graphics optional :: ChargableGraphics
lightning_strike_offset optional :: MapPosition
efficiency optional :: double

Cannot be less than 0.

Cannot be less than 0.

range_elongation optional :: double
energy_source optional :: ElectricEnergySource

Mandatory if efficiency is larger than 0. [...]

Mandatory if efficiency is larger than 0. [...]

LightningPrototype 'lightning' new

graphics_set optional :: LightningGraphicsSet
sound optional :: Sound
attracted_volume_modifier optional :: float
strike_effect optional :: Trigger
source_offset optional :: Vector
source_variance optional :: Vector
damage optional :: double
energy optional :: Energy
time_to_damage optional :: uint16

Must be less than or equal to effect_duration.

Must be less than or equal to effect_duration.

effect_duration :: uint16

LinkedContainerPrototype 'linked-container' changed

inventory_size :: ItemStackIndex

Must be > 0.

Must be > 0.

picture optional :: Sprite
inventory_typechanged optional :: "normal" or "with_bar" or "with_filters_and_bar"

Whether the inventory of this container can be filtered (like cargo wagons) or not.

Whether the inventory of this container can be filtered (like cargo wagons) or not.

gui_mode optional :: "all" or "none" or "admins"

Players that can access the GUI to change the link ID.

Players that can access the GUI to change the link ID.

circuit_wire_max_distance optional :: double

The maximum circuit wire distance for this linked container.

The maximum circuit wire distance for this linked container.

draw_copper_wires optional :: bool
draw_circuit_wires optional :: bool
circuit_connectornew optional :: CircuitConnectorDefinition

Loader1x1Prototype 'loader-1x1'

No new properties
No new properties

LoaderPrototype abstract changed

structure optional :: LoaderStructure
filter_count :: uint8

How many item filters this loader has. [...]

How many item filters this loader has. [...]

structure_render_layer optional :: RenderLayer
circuit_connector_layernew optional :: RenderLayer

Render layer for all directions of the circuit connectors.

Render layer for all directions of the circuit connectors.

container_distance optional :: double

The distance between the position of this loader and the tile of the loader's container target.

The distance between the position of this loader and the tile of the loader's container target.

allow_rail_interaction optional :: bool

Whether this loader can load and unload RollingStockPrototype.

Whether this loader can load and unload RollingStockPrototype.

allow_container_interaction optional :: bool

Whether this loader can load and unload stationary inventories such as containers and crafting machines.

Whether this loader can load and unload stationary inventories such as containers and crafting machines.

per_lane_filtersnew optional :: bool

If filters are per lane. [...]

If filters are per lane. [...]

max_belt_stack_sizenew optional :: uint8

Loader will not create stacks on belt that are larger than this value. [...]

Loader will not create stacks on belt that are larger than this value. [...]

belt_length optional :: double

How long this loader's belt is. [...]

How long this loader's belt is. [...]

energy_source optional :: ElectricEnergySource or HeatEnergySource or FluidEnergySource or VoidEnergySource
energy_per_item optional :: Energy

Energy in Joules. [...]

Energy in Joules. [...]

circuit_wire_max_distancenew optional :: double

The maximum circuit wire distance for this entity.

The maximum circuit wire distance for this entity.

draw_copper_wiresnew optional :: bool
draw_circuit_wiresnew optional :: bool
circuit_connectornew optional :: array[CircuitConnectorDefinition]

First the four cardinal directions for direction_out, followed by the four directions for direction_in.

First the four cardinal directions for direction_out, followed by the four directions for direction_in.

LogisticContainerPrototype 'logistic-container' changed

logistic_mode :: union

The way this chest interacts with the logistic network.

The way this chest interacts with the logistic network.

max_logistic_slots optional :: uint16

The number of request slots this logistics container has. [...]

The number of request slots this logistics container has. [...]

trash_inventory_sizenew optional :: ItemStackIndex
render_not_in_network_icon optional :: bool

Whether the "no network" icon should be rendered on this entity if the entity is not within a logistics network.

Whether the "no network" icon should be rendered on this entity if the entity is not within a logistics network.

opened_duration optional :: uint8
animation optional :: Animation

Drawn when a robot brings/takes items from this container.

Drawn when a robot brings/takes items from this container.

landing_location_offset optional :: Vector

The offset from the center of this container where a robot visually brings/takes items.

The offset from the center of this container where a robot visually brings/takes items.

use_exact_mode optional :: bool

Whether logistic robots have to deliver the exact amount of items requested to this logistic container instead of over-delivering (within their cargo size).

Whether logistic robots have to deliver the exact amount of items requested to this logistic container instead of over-delivering (within their cargo size).

animation_sound optional :: Sound

Played when a robot brings/takes items from this container. [...]

Played when a robot brings/takes items from this container. [...]

LogisticRobotPrototype 'logistic-robot'

idle_with_cargo optional :: RotatedAnimation

Only the first frame of the animation is drawn. [...]

Only the first frame of the animation is drawn. [...]

in_motion_with_cargo optional :: RotatedAnimation

Only the first frame of the animation is drawn. [...]

Only the first frame of the animation is drawn. [...]

shadow_idle_with_cargo optional :: RotatedAnimation

Only the first frame of the animation is drawn. [...]

Only the first frame of the animation is drawn. [...]

shadow_in_motion_with_cargo optional :: RotatedAnimation

Only the first frame of the animation is drawn. [...]

Only the first frame of the animation is drawn. [...]

MapGenPresets 'map-gen-presets'

type :: "map-gen-presets"
name :: string

Name of the map gen presets. [...]

Name of the map gen presets. [...]

Custom properties :: stringMapGenPreset

Presets are defined as uniquely named MapGenPreset properties of the prototype. [...]

Presets are defined as uniquely named MapGenPreset properties of the prototype. [...]

MapSettings 'map-settings' changed

type :: "map-settings"
name :: string

Name of the map-settings. [...]

Name of the map-settings. [...]

pollution :: PollutionSettings
steering :: SteeringSettings
enemy_evolution :: EnemyEvolutionSettings
enemy_expansion :: EnemyExpansionSettings
unit_group :: UnitGroupSettings
path_finder :: PathFinderSettings
max_failed_behavior_count :: uint32

If a behavior fails this many times, the enemy (or enemy group) is destroyed. [...]

If a behavior fails this many times, the enemy (or enemy group) is destroyed. [...]

difficulty_settings :: DifficultySettings
asteroidsnew :: AsteroidSettings

MarketPrototype 'market'

picture optional :: Sprite
allow_access_to_all_forces optional :: bool

Whether all forces are allowed to open this market.

Whether all forces are allowed to open this market.

MiningDrillPrototype 'mining-drill' changed

vector_to_place_result :: Vector

The position where any item results are placed, when the mining drill is facing north (default direction). [...]

The position where any item results are placed, when the mining drill is facing north (default direction). [...]

resource_searching_radius :: double

The distance from the centre of the mining drill to search for resources in. [...]

The distance from the centre of the mining drill to search for resources in. [...]

energy_usage :: Energy

The amount of energy used by the drill while mining. [...]

The amount of energy used by the drill while mining. [...]

mining_speed :: double

The speed of this drill.

The speed of this drill.

energy_source :: EnergySource

The energy source of this mining drill.

The energy source of this mining drill.

resource_categories :: array[ResourceCategoryID]

The names of the ResourceCategory that can be mined by this drill. [...]

The names of the ResourceCategory that can be mined by this drill. [...]

output_fluid_box optional :: FluidBox
input_fluid_box optional :: FluidBox
graphics_set optional :: MiningDrillGraphicsSet
wet_mining_graphics_set optional :: MiningDrillGraphicsSet
perceived_performancenew optional :: PerceivedPerformance

Affects animation speed.

Affects animation speed.

base_picture optional :: Sprite4Way

Used by the pumpjack to have a static 4 way sprite.

Used by the pumpjack to have a static 4 way sprite.

effect_receivernew optional :: EffectReceiver
module_slotsnew optional :: ItemStackIndex

The number of module slots in this machine.

The number of module slots in this machine.

allowed_effects optional :: EffectTypeLimitation

Sets the modules and beacon effects that are allowed to be used on this mining drill.

Sets the modules and beacon effects that are allowed to be used on this mining drill.

allowed_module_categoriesnew optional :: array[ModuleCategoryID]

Sets the module categories that are allowed to be inserted into this machine.

Sets the module categories that are allowed to be inserted into this machine.

radius_visualisation_picture optional :: Sprite

The sprite used to show the range of the mining drill.

The sprite used to show the range of the mining drill.

circuit_wire_max_distance optional :: double

The maximum circuit wire distance for this entity.

The maximum circuit wire distance for this entity.

draw_copper_wires optional :: bool
draw_circuit_wires optional :: bool
base_render_layer optional :: RenderLayer
resource_drain_rate_percentnew optional :: uint8
shuffle_resources_to_minenew optional :: bool
drops_full_belt_stacksnew optional :: bool
moving_soundnew optional :: InterruptibleSound
drilling_soundnew optional :: InterruptibleSound
drilling_sound_animation_start_framenew optional :: uint16
drilling_sound_animation_end_framenew optional :: uint16
monitor_visualization_tint optional :: Color

When this mining drill is connected to the circuit network, the resource that it is reading (either the entire resource patch, or the resource in the mining area of the drill, depending on circuit network setting), is tinted in this color when mousing over the mining drill.

When this mining drill is connected to the circuit network, the resource that it is reading (either the entire resource patch, or the resource in the mining area of the drill, depending on circuit network setting), is tinted in this color when mousing over the mining drill.

circuit_connectornew optional :: {CircuitConnectorDefinition, CircuitConnectorDefinition, CircuitConnectorDefinition, CircuitConnectorDefinition}
filter_countnew optional :: uint8

How many filters this mining drill has. [...]

How many filters this mining drill has. [...]

ModuleCategory 'module-category'

No new properties

ModulePrototype 'module' changed

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

ModuleTransferAchievementPrototype 'module-transfer-achievement' new

module :: ItemID or array[ItemID]

This will trigger the achievement, if this module is transferred.

This will trigger the achievement, if this module is transferred.

amount optional :: uint32

How many modules need to be transferred.

How many modules need to be transferred.

limited_to_one_game optional :: bool

If this is false, the player carries over their statistics from this achievement through all their saves.

If this is false, the player carries over their statistics from this achievement through all their saves.

MouseCursor 'mouse-cursor'

type :: "mouse-cursor"
name :: string

Name of the prototype.

Name of the prototype.

system_cursor optional :: "arrow" or "i-beam" or "crosshair" or "wait-arrow" or "size-all" or "no" or "hand"

Either this or the other three properties have to be present.

Either this or the other three properties have to be present.

filename optional :: FileName

Mandatory if system_cursor is not defined.

Mandatory if system_cursor is not defined.

hot_pixel_x optional :: int16

Mandatory if system_cursor is not defined.

Mandatory if system_cursor is not defined.

hot_pixel_y optional :: int16

Mandatory if system_cursor is not defined.

Mandatory if system_cursor is not defined.

MovementBonusEquipmentPrototype 'movement-bonus-equipment'

energy_consumption :: Energy
movement_bonus :: double

Multiplier of the character speed/vehicle acceleration.

Multiplier of the character speed/vehicle acceleration.

NamedNoiseExpression 'noise-expression' changed

expression :: NoiseExpression

The noise expression itself. [...]

The noise expression itself. [...]

local_expressionsnew optional :: dictionary[string → NoiseExpression]

A map of expression name to expression. [...]

A map of expression name to expression. [...]

local_functionsnew optional :: dictionary[string → NoiseFunction]

A map of function name to function. [...]

A map of function name to function. [...]

intended_property optional :: string

Names the property that this expression is intended to provide a value for, if any. [...]

Names the property that this expression is intended to provide a value for, if any. [...]

NamedNoiseFunction 'noise-function' new

parameters :: array[string]

The order of the parameters matters because functions can also be called with positional arguments. [...]

The order of the parameters matters because functions can also be called with positional arguments. [...]

expression :: NoiseExpression
local_expressions optional :: dictionary[string → NoiseExpression]

A map of expression name to expression. [...]

A map of expression name to expression. [...]

local_functions optional :: dictionary[string → NoiseFunction]

A map of function name to function. [...]

A map of function name to function. [...]

NightVisionEquipmentPrototype 'night-vision-equipment'

energy_input :: Energy
color_lookup :: DaytimeColorLookupTable
darkness_to_turn_on optional :: float

Must be >= 0 and <= 1.

Must be >= 0 and <= 1.

activate_sound optional :: Sound
deactivate_sound optional :: Sound

OffshorePumpPrototype 'offshore-pump' changed

fluid_box :: FluidBox
pumping_speedchanged :: FluidAmount

How many units of fluid are produced per tick. [...]

How many units of fluid are produced per tick. [...]

fluid_source_offsetnew :: Vector
perceived_performancenew optional :: PerceivedPerformance

Affects animation speed.

Affects animation speed.

graphics_set optional :: OffshorePumpGraphicsSet
energy_sourcenew :: EnergySource

Defines how the offshore pump is powered. [...]

Defines how the offshore pump is powered. [...]

energy_usagenew :: Energy

Sets how much energy this offshore pump consumes. [...]

Sets how much energy this offshore pump consumes. [...]

remove_on_tile_collision optional :: bool
always_draw_fluid optional :: bool

If false, the offshore pump will not show fluid present (visually) before there is an output connected. [...]

If false, the offshore pump will not show fluid present (visually) before there is an output connected. [...]

circuit_wire_max_distance optional :: double

The maximum circuit wire distance for this entity.

The maximum circuit wire distance for this entity.

draw_copper_wires optional :: bool
draw_circuit_wires optional :: bool
circuit_connectornew optional :: {CircuitConnectorDefinition, CircuitConnectorDefinition, CircuitConnectorDefinition, CircuitConnectorDefinition}

ParticlePrototype 'optimized-particle'

pictures optional :: AnimationVariations

Picture variation count and individual frame count must be equal to shadow variation count.

Picture variation count and individual frame count must be equal to shadow variation count.

life_time :: uint16

Can't be 1.

Can't be 1.

shadows optional :: AnimationVariations

Shadow variation variation count and individual frame count must be equal to picture variation count.

Shadow variation variation count and individual frame count must be equal to picture variation count.

draw_shadow_when_on_ground optional :: bool
regular_trigger_effect optional :: TriggerEffect
ended_in_water_trigger_effect optional :: TriggerEffect
ended_on_ground_trigger_effect optional :: TriggerEffect
render_layer optional :: RenderLayer
render_layer_when_on_ground optional :: RenderLayer
regular_trigger_effect_frequency optional :: uint32

Can't be 1.

Can't be 1.

movement_modifier_when_on_ground optional :: float
movement_modifier optional :: float
vertical_acceleration optional :: float

Has to be >= -0.01 and <= 0.01.

Has to be >= -0.01 and <= 0.01.

mining_particle_frame_speed optional :: float
fade_away_duration optional :: uint16

Defaults to life_time / 5, but at most 60. [...]

Defaults to life_time / 5, but at most 60. [...]

ParticleSourcePrototype 'particle-source' changed

time_to_live :: float
time_before_start :: float
height :: float
vertical_speed :: float
horizontal_speed :: float
particle optional :: ParticleID

Mandatory if smoke is not defined.

Mandatory if smoke is not defined.

smoke optional :: array[SmokeSource]

Mandatory if particle is not defined.

Mandatory if particle is not defined.

time_to_live_deviation optional :: float
time_before_start_deviation optional :: float
height_deviation optional :: float
vertical_speed_deviation optional :: float
horizontal_speed_deviation optional :: float

fluid_box :: FluidBox

The area of the entity where fluid/gas inputs, and outputs.

The area of the entity where fluid/gas inputs, and outputs.

horizontal_window_bounding_box :: BoundingBox
vertical_window_bounding_box :: BoundingBox
pictures optional :: PipePictures

All graphics for this pipe.

All graphics for this pipe.

PipeToGroundPrototype 'pipe-to-ground' changed

fluid_box :: FluidBox
pictureschanged optional :: Sprite4Way
frozen_patchnew optional :: Sprite4Way
visualizationnew optional :: Sprite4Way
disabled_visualizationnew optional :: Sprite4Way
draw_fluid_icon_override optional :: bool

Causes fluid icon to always be drawn, ignoring the usual pair requirement.

Causes fluid icon to always be drawn, ignoring the usual pair requirement.

PlaceEquipmentAchievementPrototype 'place-equipment-achievement' new

armor :: ItemID
limit_quality :: QualityID
limit_equip_quality :: QualityID
amount optional :: uint32
limited_to_one_game optional :: bool

If this is false, the player carries over their statistics from this achievement through all their saves.

If this is false, the player carries over their statistics from this achievement through all their saves.

PlantPrototype 'plant' new

growth_ticks :: MapTick

Must be positive.

Must be positive.

harvest_emissions optional :: dictionary[AirbornePollutantID → double]

The burst of pollution to emit when the plant is harvested.

The burst of pollution to emit when the plant is harvested.

agricultural_tower_tint optional :: RecipeTints

PlayerDamagedAchievementPrototype 'player-damaged-achievement'

minimum_damage :: float

This will trigger the achievement, if the amount of damage taken by the dealer, is more than this.

This will trigger the achievement, if the amount of damage taken by the dealer, is more than this.

should_survive :: bool

This sets the achievement to only trigger, if you survive the minimum amount of damage. [...]

This sets the achievement to only trigger, if you survive the minimum amount of damage. [...]

type_of_dealer optional :: string

This will trigger the achievement, if the player takes damage from this specific entity type.

This will trigger the achievement, if the player takes damage from this specific entity type.

deprecatedPlayerPortPrototype 'player-port' changed

No new properties

ProcessionPrototype 'procession' new

timeline :: ProcessionTimeline

Used when leaving or arriving to a station.

Used when leaving or arriving to a station.

ground_timeline optional :: ProcessionTimeline

Used alternatively when landing to ground.

Used alternatively when landing to ground.

usage :: "departure" or "arrival" or "intermezzo"

Arrival and Departure are to be referenced by name. [...]

Arrival and Departure are to be referenced by name. [...]

procession_style :: uint32 or array[uint32]

Indexes used to match transitions from different surfaces together. [...]

Indexes used to match transitions from different surfaces together. [...]

ProduceAchievementPrototype 'produce-achievement'

amount :: MaterialAmountType

This will set the amount of items or fluids needed to craft, for the player to complete the achievement.

This will set the amount of items or fluids needed to craft, for the player to complete the achievement.

limited_to_one_game :: bool

If this is false, the player carries over their statistics from this achievement through all their saves.

If this is false, the player carries over their statistics from this achievement through all their saves.

item_productchanged optional :: ItemIDFilter

Mandatory if fluid_product is not defined. [...]

Mandatory if fluid_product is not defined. [...]

fluid_product optional :: FluidID

Mandatory if item_product is not defined. [...]

Mandatory if item_product is not defined. [...]

ProducePerHourAchievementPrototype 'produce-per-hour-achievement'

amount :: MaterialAmountType

This is how much the player has to craft in an hour, to receive the achievement.

This is how much the player has to craft in an hour, to receive the achievement.

item_productchanged optional :: ItemIDFilter

Mandatory if fluid_product is not defined. [...]

Mandatory if fluid_product is not defined. [...]

fluid_product optional :: FluidID

Mandatory if item_product is not defined. [...]

Mandatory if item_product is not defined. [...]

ProjectilePrototype 'projectile' changed

acceleration :: double

Must be != 0 if turning_speed_increases_exponentially_with_projectile_speed is true.

Must be != 0 if turning_speed_increases_exponentially_with_projectile_speed is true.

animationchanged optional :: RotatedAnimationVariations
rotatable optional :: bool

Whether the animation of the projectile is rotated to match the direction of travel.

Whether the animation of the projectile is rotated to match the direction of travel.

enable_drawing_with_mask optional :: bool
direction_only optional :: bool

Setting this to true can be used to disable projectile homing behaviour.

Setting this to true can be used to disable projectile homing behaviour.

hit_at_collision_position optional :: bool

When true the entity is hit at the position on its collision box the projectile first collides with. [...]

When true the entity is hit at the position on its collision box the projectile first collides with. [...]

force_condition optional :: ForceCondition
piercing_damage optional :: float

Whenever an entity is hit by the projectile, this number gets reduced by the health of the entity. [...]

Whenever an entity is hit by the projectile, this number gets reduced by the health of the entity. [...]

max_speed optional :: double

Must be greater than or equal to 0.

Must be greater than or equal to 0.

turn_speed optional :: float

Must be greater than or equal to 0.

Must be greater than or equal to 0.

speed_modifier optional :: Vector
height optional :: double
action optional :: Trigger

Executed when the projectile hits something.

Executed when the projectile hits something.

final_action optional :: Trigger

Executed when the projectile hits something, after action and only if the entity that was hit was destroyed. [...]

Executed when the projectile hits something, after action and only if the entity that was hit was destroyed. [...]

light optional :: LightDefinition
smoke optional :: array[SmokeSource]
hit_collision_maskchanged optional :: CollisionMaskConnector

Defaults to the mask from UtilityConstants::default_collision_masks when indexed by "projectile/hit".

Defaults to the mask from UtilityConstants::default_collision_masks when indexed by "projectile/hit".

turning_speed_increases_exponentially_with_projectile_speed optional :: bool
shadowchanged optional :: RotatedAnimationVariations

Prototype abstract new

factoriopedia_alternative optional :: string

The ID type corresponding to the prototype that inherits from this. [...]

The ID type corresponding to the prototype that inherits from this. [...]

PrototypeBase abstract changed

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. [...]

factoriopedia_descriptionnew optional :: LocalisedString

Provides additional description used in factoriopedia.

Provides additional description used in factoriopedia.

subgroupnew optional :: ItemSubGroupID

The name of an ItemSubGroup.

The name of an ItemSubGroup.

hiddennew optional :: bool
hidden_in_factoriopedianew optional :: bool
parameternew optional :: bool

Whether the prototype is a special type which can be used to parametrize blueprints and doesn't have other function.

Whether the prototype is a special type which can be used to parametrize blueprints and doesn't have other function.

factoriopedia_simulationnew optional :: SimulationDefinition

The simulation shown when looking at this prototype in the Factoriopedia GUI.

The simulation shown when looking at this prototype in the Factoriopedia GUI.

PumpPrototype 'pump' changed

fluid_box :: FluidBox

The area of the entity where fluid travels.

The area of the entity where fluid travels.

energy_source :: EnergySource

The type of energy the pump uses.

The type of energy the pump uses.

energy_usage :: Energy

The amount of energy the pump uses.

The amount of energy the pump uses.

pumping_speedchanged :: FluidAmount

The amount of fluid this pump transfers per tick.

The amount of fluid this pump transfers per tick.

animations optional :: Animation4Way

The animation for the pump.

The animation for the pump.

fluid_wagon_connector_speed optional :: double
fluid_wagon_connector_alignment_tolerance optional :: double
fluid_wagon_connector_frame_count optional :: uint8
fluid_animation optional :: Animation4Way
glass_pictures optional :: Sprite4Way
frozen_patchnew optional :: Sprite4Way
circuit_wire_max_distance optional :: double
draw_copper_wires optional :: bool
draw_circuit_wires optional :: bool
circuit_connectornew optional :: {CircuitConnectorDefinition, CircuitConnectorDefinition, CircuitConnectorDefinition, CircuitConnectorDefinition}
fluid_wagon_connector_graphics optional :: FluidWagonConnectorGraphics

QualityPrototype 'quality' new

draw_sprite_by_default optional :: bool
color :: Color
level :: uint32

Requires Space Age to use level greater than 0.

Requires Space Age to use level greater than 0.

next optional :: QualityID
next_probability optional :: double

Must be in range [0, 1.0].

Must be in range [0, 1.0].

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. [...]

beacon_power_usage_multiplier optional :: float

Must be >= 0.

Must be >= 0.

mining_drill_resource_drain_multiplier optional :: float

Must be in range [0, 1].

Must be in range [0, 1].

science_pack_drain_multiplier optional :: float

Must be in range [0, 1].

Must be in range [0, 1].

RadarPrototype 'radar' changed

energy_usage :: Energy

The amount of energy this radar uses.

The amount of energy this radar uses.

energy_per_sector :: Energy

The amount of energy it takes to scan a sector. [...]

The amount of energy it takes to scan a sector. [...]

energy_per_nearby_scan :: Energy

The amount of energy the radar has to consume for nearby scan to be performed. [...]

The amount of energy the radar has to consume for nearby scan to be performed. [...]

energy_source :: EnergySource

The energy source for this radar.

The energy source for this radar.

pictures optional :: RotatedSprite
frozen_patchnew optional :: Sprite
max_distance_of_sector_revealed :: uint32

The radius of the area this radar can chart, in chunks.

The radius of the area this radar can chart, in chunks.

max_distance_of_nearby_sector_revealed :: uint32

The radius of the area constantly revealed by this radar, in chunks.

The radius of the area constantly revealed by this radar, in chunks.

circuit_wire_max_distancenew optional :: double

The maximum circuit wire distance for this entity.

The maximum circuit wire distance for this entity.

draw_copper_wiresnew optional :: bool
draw_circuit_wiresnew optional :: bool
circuit_connectornew optional :: CircuitConnectorDefinition
radius_minimap_visualisation_color optional :: Color
rotation_speed optional :: double
connects_to_other_radarsnew optional :: bool

If set to true, radars on the same surface will connect to other radars on the same surface using hidden wires with radar origin.

If set to true, radars on the same surface will connect to other radars on the same surface using hidden wires with radar origin.

reset_orientation_when_frozennew optional :: bool
energy_fraction_to_connectnew optional :: float

Must be between 0 and 1. [...]

Must be between 0 and 1. [...]

energy_fraction_to_disconnectnew optional :: float

Must be between 0 and 1. [...]

Must be between 0 and 1. [...]

RailChainSignalPrototype 'rail-chain-signal' changed

No new properties

RailPlannerPrototype 'rail-planner' changed

railsnew :: array[EntityID]

May not be an empty array. [...]

May not be an empty array. [...]

supportnew optional :: EntityID

Name of a rail support.

Name of a rail support.

manual_length_limitnew optional :: double

RailPrototype abstract changed

walking_sound optional :: Sound

Sound played when a character walks over this rail.

Sound played when a character walks over this rail.

pictures :: RailPictureSet
fence_picturesnew optional :: RailFenceGraphicsSet
extra_planner_penaltynew optional :: double
extra_planner_goal_penaltynew optional :: double
forced_fence_segment_countnew optional :: uint8

Must be 0, 2 or 4. [...]

Must be 0, 2 or 4. [...]

ending_shiftsnew optional :: array[Vector]
deconstruction_marker_positionsnew optional :: array[Vector]
removes_soft_decorativesnew optional :: bool

RailRampPrototype 'rail-ramp' new

support_range optional :: float

Must be lower than 500 and at least 1.

Must be lower than 500 and at least 1.

collision_mask_allow_on_deep_oil_ocean optional :: CollisionMaskConnector

Defaults to the mask from UtilityConstants::default_collision_masks when indexed by "allow_on_deep_oil_ocean".

Defaults to the mask from UtilityConstants::default_collision_masks when indexed by "allow_on_deep_oil_ocean".

RailSignalBasePrototype abstract changed

ground_picture_setnew :: RailSignalPictureSet
elevated_picture_setnew :: RailSignalPictureSet
circuit_wire_max_distance optional :: double

The maximum circuit wire distance for this entity.

The maximum circuit wire distance for this entity.

draw_copper_wires optional :: bool
draw_circuit_wires optional :: bool
default_red_output_signal optional :: SignalIDConnector
default_orange_output_signal optional :: SignalIDConnector
default_green_output_signal optional :: SignalIDConnector
default_blue_output_signalnew optional :: SignalIDConnector
elevated_collision_masknew optional :: CollisionMaskConnector

Defaults to the mask from UtilityConstants::default_collision_masks when indexed by `type .. [...]

Defaults to the mask from UtilityConstants::default_collision_masks when indexed by `type .. [...]

elevated_selection_prioritynew optional :: uint8

RailSignalPrototype 'rail-signal'

No new properties

RailSupportPrototype 'rail-support' new

graphics_set :: RailSupportGraphicsSet
support_range optional :: float

Must be lower than 500 and at least 1.

Must be lower than 500 and at least 1.

not_buildable_if_no_rails optional :: bool
snap_to_spots_distance optional :: float
collision_mask_allow_on_deep_oil_ocean optional :: CollisionMaskConnector

Defaults to the mask from UtilityConstants::default_collision_masks when indexed by "allow_on_deep_oil_ocean".

Defaults to the mask from UtilityConstants::default_collision_masks when indexed by "allow_on_deep_oil_ocean".

elevated_selection_boxes optional :: array[BoundingBox]

Array must contain 8 items.

Array must contain 8 items.

ReactorPrototype 'reactor' changed

working_light_picturechanged optional :: Animation
heat_buffer :: HeatBuffer

The energy output as heat.

The energy output as heat.

heating_radiusnew optional :: double

Must be >= 0.

Must be >= 0.

energy_source :: EnergySource

May not be a heat energy source. [...]

May not be a heat energy source. [...]

consumption :: Energy

How much energy this reactor can consume (from the input energy source) and then output as heat.

How much energy this reactor can consume (from the input energy source) and then output as heat.

connection_patches_connected optional :: SpriteVariations

If defined, number of variations must be at least equal to count of connections defined in heat_buffer. [...]

If defined, number of variations must be at least equal to count of connections defined in heat_buffer. [...]

connection_patches_disconnected optional :: SpriteVariations

If defined, number of variations must be at least equal to count of connections defined in heat_buffer. [...]

If defined, number of variations must be at least equal to count of connections defined in heat_buffer. [...]

heat_connection_patches_connected optional :: SpriteVariations

If defined, number of variations must be at least equal to count of connections defined in heat_buffer. [...]

If defined, number of variations must be at least equal to count of connections defined in heat_buffer. [...]

heat_connection_patches_disconnected optional :: SpriteVariations

If defined, number of variations must be at least equal to count of connections defined in heat_buffer. [...]

If defined, number of variations must be at least equal to count of connections defined in heat_buffer. [...]

lower_layer_picture optional :: Sprite
heat_lower_layer_picture optional :: Sprite
picture optional :: Sprite
light optional :: LightDefinition
meltdown_action optional :: Trigger

The action is triggered when the reactor dies (is destroyed) at over 90% of max temperature.

The action is triggered when the reactor dies (is destroyed) at over 90% of max temperature.

neighbour_bonus optional :: double
scale_energy_usage optional :: bool

When this is true, the reactor will stop consuming fuel/energy when the temperature has reached the maximum.

When this is true, the reactor will stop consuming fuel/energy when the temperature has reached the maximum.

use_fuel_glow_color optional :: bool

Whether the reactor should use fuel_glow_color from the fuel item prototype as light color and tint for working_light_picture. [...]

Whether the reactor should use fuel_glow_color from the fuel item prototype as light color and tint for working_light_picture. [...]

default_fuel_glow_color optional :: Color

When use_fuel_glow_color is true, this is the color used as working_light_picture tint for fuels that don't have glow color defined.

When use_fuel_glow_color is true, this is the color used as working_light_picture tint for fuels that don't have glow color defined.

circuit_wire_max_distancenew optional :: double

The maximum circuit wire distance for this entity.

The maximum circuit wire distance for this entity.

draw_copper_wiresnew optional :: bool
draw_circuit_wiresnew optional :: bool
circuit_connectornew optional :: CircuitConnectorDefinition
default_temperature_signalnew optional :: SignalIDConnector

RecipeCategory 'recipe-category'

No new properties

RecipePrototype 'recipe' changed

category optional :: RecipeCategoryID

The category of this recipe. [...]

The category of this recipe. [...]

crafting_machine_tintchanged optional :: RecipeTints

Used by WorkingVisualisations::working_visualisations to tint certain layers with the recipe color. [...]

Used by WorkingVisualisations::working_visualisations to tint certain layers with the recipe color. [...]

icons optional :: array[IconData]

Can't be an empty array.

Can't be an empty array.

icon optional :: FileName

If given, this determines the recipe's icon. [...]

If given, this determines the recipe's icon. [...]

icon_size optional :: SpriteSizeType

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

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

ingredients optional :: array[IngredientPrototype]

A table containing ingredient names and amounts. [...]

A table containing ingredient names and amounts. [...]

results optional :: array[ProductPrototype]

A table containing result names and amounts. [...]

A table containing result names and amounts. [...]

main_product optional :: string

For recipes with one or more products: Subgroup, localised_name and icon default to the values of the singular/main product, but can be overwritten by the recipe. [...]

For recipes with one or more products: Subgroup, localised_name and icon default to the values of the singular/main product, but can be overwritten by the recipe. [...]

energy_required optional :: double

The amount of time it takes to make this recipe. [...]

The amount of time it takes to make this recipe. [...]

emissions_multiplier optional :: double
maximum_productivitynew optional :: double

Must be >= 0.

Must be >= 0.

requester_paste_multiplier optional :: uint32
overload_multiplier optional :: uint32

Used to determine how many extra items are put into an assembling machine before it's considered "full enough". [...]

Used to determine how many extra items are put into an assembling machine before it's considered "full enough". [...]

allow_inserter_overload optional :: bool

Whether the recipe is allowed to have the extra inserter overload bonus applied (4 * stack inserter stack size).

Whether the recipe is allowed to have the extra inserter overload bonus applied (4 * stack inserter stack size).

enabled optional :: bool

This can be false to disable the recipe at the start of the game, or true to leave it enabled. [...]

This can be false to disable the recipe at the start of the game, or true to leave it enabled. [...]

hide_from_stats optional :: bool

Hides the recipe from item/fluid production statistics.

Hides the recipe from item/fluid production statistics.

hide_from_player_crafting optional :: bool

Hides the recipe from the player's crafting screen. [...]

Hides the recipe from the player's crafting screen. [...]

allow_decomposition optional :: bool

Whether this recipe is allowed to be broken down for the recipe tooltip "Total raw" calculations.

Whether this recipe is allowed to be broken down for the recipe tooltip "Total raw" calculations.

allow_as_intermediate optional :: bool

Whether the recipe can be used as an intermediate recipe in hand-crafting.

Whether the recipe can be used as an intermediate recipe in hand-crafting.

allow_intermediates optional :: bool

Whether the recipe is allowed to use intermediate recipes when hand-crafting.

Whether the recipe is allowed to use intermediate recipes when hand-crafting.

always_show_made_in optional :: bool

Whether the "Made in: " part of the tool-tip should always be present, and not only when the recipe can't be hand-crafted.

Whether the "Made in: " part of the tool-tip should always be present, and not only when the recipe can't be hand-crafted.

show_amount_in_title optional :: bool

Whether the recipe name should have the product amount in front of it. [...]

Whether the recipe name should have the product amount in front of it. [...]

always_show_products optional :: bool

Whether the products are always shown in the recipe tooltip.

Whether the products are always shown in the recipe tooltip.

unlock_results optional :: bool

Whether enabling this recipe unlocks its item products to show in selection lists (item filters, logistic requests, etc.).

Whether enabling this recipe unlocks its item products to show in selection lists (item filters, logistic requests, etc.).

preserve_products_in_machine_outputnew optional :: bool
result_is_always_freshnew optional :: bool

When set to true, the recipe will always produce fresh (non-spoiled) item even when the ingredients are spoiled.

When set to true, the recipe will always produce fresh (non-spoiled) item even when the ingredients are spoiled.

allow_consumption_messagenew optional :: LocalisedString
allow_speed_messagenew optional :: LocalisedString
allow_productivity_messagenew optional :: LocalisedString
allow_pollution_messagenew optional :: LocalisedString
allow_quality_messagenew optional :: LocalisedString
surface_conditionsnew optional :: array[SurfaceCondition]
hide_from_signal_guinew optional :: bool
allow_consumptionnew optional :: bool
allow_speednew optional :: bool
allow_productivitynew optional :: bool
allow_pollutionnew optional :: bool
allow_qualitynew optional :: bool
allowed_module_categoriesnew optional :: array[ModuleCategoryID]

Sets the module categories that are allowed to be used with this recipe.

Sets the module categories that are allowed to be used with this recipe.

alternative_unlock_methodsnew optional :: array[TechnologyID]

RemoteControllerPrototype 'remote-controller' new

type :: "remote-controller"
name :: string

Name of the remote controller. [...]

Name of the remote controller. [...]

movement_speed :: double

Must be >= 0.34375.

Must be >= 0.34375.

RepairToolPrototype 'repair-tool' changed

speed :: float

Entity health repaired per used ToolPrototype::durability. [...]

Entity health repaired per used ToolPrototype::durability. [...]

ResearchAchievementPrototype 'research-achievement'

technology optional :: TechnologyID

Mandatory if research_all is not defined. [...]

Mandatory if research_all is not defined. [...]

research_all optional :: bool

Mandatory if technology is not defined. [...]

Mandatory if technology is not defined. [...]

ResearchWithSciencePackAchievementPrototype 'research-with-science-pack-achievement' new

ResourceCategory 'resource-category'

No new properties

ResourceEntityPrototype 'resource' changed

stages optional :: AnimationVariations

Entity's graphics, using a graphic sheet, with variation and depletion. [...]

Entity's graphics, using a graphic sheet, with variation and depletion. [...]

stage_counts :: array[uint32]

Number of stages the animation has.

Number of stages the animation has.

infinite optional :: bool

If the ore is infinitely minable, or if it will eventually run out of resource.

If the ore is infinitely minable, or if it will eventually run out of resource.

highlight optional :: bool

If the resource should be highlighted when holding a mining drill that can mine it (holding a pumpjack highlights crude-oil in the base game).

If the resource should be highlighted when holding a mining drill that can mine it (holding a pumpjack highlights crude-oil in the base game).

randomize_visual_position optional :: bool

Whether there should be a slight offset to graphics of the resource. [...]

Whether there should be a slight offset to graphics of the resource. [...]

map_grid optional :: bool

Whether the resource should have a grid pattern on the map instead of a solid map color.

Whether the resource should have a grid pattern on the map instead of a solid map color.

draw_stateless_visualisation_under_buildingnew optional :: bool
minimum optional :: uint32

Must be not 0 when infinite = true.

Must be not 0 when infinite = true.

normal optional :: uint32

Must be not 0 when infinite = true.

Must be not 0 when infinite = true.

infinite_depletion_amount optional :: uint32

Every time an infinite-type resource "ticks" lower it's lowered by that amount. [...]

Every time an infinite-type resource "ticks" lower it's lowered by that amount. [...]

resource_patch_search_radius optional :: uint32

When hovering over this resource in the map view: How far to search for other resource patches of this type to display as one (summing amount, white outline).

When hovering over this resource in the map view: How far to search for other resource patches of this type to display as one (summing amount, white outline).

category optional :: ResourceCategoryID

The category for the resource. [...]

The category for the resource. [...]

walking_sound optional :: Sound

Sound played when the player walks over this resource.

Sound played when the player walks over this resource.

driving_soundnew optional :: InterruptibleSound

Sound played when a CarPrototype drives over this resource.

Sound played when a CarPrototype drives over this resource.

stages_effect optional :: AnimationVariations

An effect that can be overlaid above the normal ore graphics. [...]

An effect that can be overlaid above the normal ore graphics. [...]

effect_animation_period optional :: float

How long it takes stages_effect to go from min_effect_alpha to max_effect_alpha.

How long it takes stages_effect to go from min_effect_alpha to max_effect_alpha.

effect_animation_period_deviation optional :: float

How much effect_animation_period can deviate from its original value. [...]

How much effect_animation_period can deviate from its original value. [...]

effect_darkness_multiplier optional :: float

How much the surface darkness should affect the alpha of stages_effect.

How much the surface darkness should affect the alpha of stages_effect.

min_effect_alpha optional :: float

Minimal alpha value of stages_effect.

Minimal alpha value of stages_effect.

max_effect_alpha optional :: float

Maximal alpha value of stages_effect.

Maximal alpha value of stages_effect.

tree_removal_probability optional :: double

Must be greater than or equal to 0.

Must be greater than or equal to 0.

cliff_removal_probability optional :: double

Must be greater than or equal to 0.

Must be greater than or equal to 0.

tree_removal_max_distance optional :: double

Must be positive when tree_removal_probability is set.

Must be positive when tree_removal_probability is set.

mining_visualisation_tint optional :: Color

Defaults to the resources map color if left unset and map color is set, otherwise defaults to white if left unset.

Defaults to the resources map color if left unset and map color is set, otherwise defaults to white if left unset.

RoboportEquipmentPrototype 'roboport-equipment' changed

recharging_animation optional :: Animation

The animation played at each charging point when a robot is charging there.

The animation played at each charging point when a robot is charging there.

spawn_and_station_height :: float

Presumably states the height of the charging stations and thus an additive offset for the charging_offsets.

Presumably states the height of the charging stations and thus an additive offset for the charging_offsets.

charge_approach_distance :: float

Presumably, the distance from the roboport at which robots will wait to charge.

Presumably, the distance from the roboport at which robots will wait to charge.

construction_radius :: float

Can't be negative.

Can't be negative.

charging_energy :: Energy
spawn_and_station_shadow_height_offset optional :: float
stationing_render_layer_swap_heightnew optional :: float

When robot ascends or descends to this roboport, at which height is should switch between "air-object" and "object" render layer.

When robot ascends or descends to this roboport, at which height is should switch between "air-object" and "object" render layer.

draw_logistic_radius_visualization optional :: bool

Unused, as roboport equipment does not have a logistic radius that could be drawn.

Unused, as roboport equipment does not have a logistic radius that could be drawn.

draw_construction_radius_visualization optional :: bool
recharging_light optional :: LightDefinition

The light emitted when charging a robot.

The light emitted when charging a robot.

charging_station_count optional :: uint32

How many charging points this roboport has. [...]

How many charging points this roboport has. [...]

charging_station_count_affected_by_qualitynew optional :: bool
charging_distance optional :: float
charging_station_shift optional :: Vector
charging_threshold_distance optional :: float

Distance in tiles. [...]

Distance in tiles. [...]

robot_vertical_acceleration optional :: float
stationing_offset optional :: Vector

The offset from the center of the roboport at which robots will enter and exit.

The offset from the center of the roboport at which robots will enter and exit.

robot_limit optional :: ItemCountType

How many robots can exist in the network (cumulative).

How many robots can exist in the network (cumulative).

robots_shrink_when_entering_and_exiting optional :: bool
charging_offsets optional :: array[Vector]

The offsets from the center of the roboport at which robots will charge. [...]

The offsets from the center of the roboport at which robots will charge. [...]

spawn_minimum optional :: Energy

Minimum amount of energy that needs to available inside the roboport's buffer so that robots can be spawned.

Minimum amount of energy that needs to available inside the roboport's buffer so that robots can be spawned.

burner optional :: BurnerEnergySource

Add this is if the roboport should be fueled directly instead of using power from the equipment grid.

Add this is if the roboport should be fueled directly instead of using power from the equipment grid.

power optional :: Energy

Mandatory if burner is defined. [...]

Mandatory if burner is defined. [...]

RoboportPrototype 'roboport' changed

energy_source :: ElectricEnergySource or VoidEnergySource

The roboport's energy source.

The roboport's energy source.

energy_usage :: Energy

The amount of energy the roboport uses when idle.

The amount of energy the roboport uses when idle.

recharge_minimum :: Energy

Minimum charge that the roboport has to have after a blackout (0 charge/buffered energy) to begin working again. [...]

Minimum charge that the roboport has to have after a blackout (0 charge/buffered energy) to begin working again. [...]

robot_slots_count :: ItemStackIndex

The number of robot slots in the roboport.

The number of robot slots in the roboport.

material_slots_count :: ItemStackIndex

The number of repair pack slots in the roboport.

The number of repair pack slots in the roboport.

base optional :: Sprite
base_patch optional :: Sprite
frozen_patchnew optional :: Sprite
base_animation optional :: Animation

The animation played when the roboport is idle.

The animation played when the roboport is idle.

door_animation_up optional :: Animation
door_animation_down optional :: Animation
request_to_open_door_timeout :: uint32
radar_rangenew optional :: uint32

Defaults to the max of logistic range or construction range rounded up to chunks.

Defaults to the max of logistic range or construction range rounded up to chunks.

radar_visualisation_colornew optional :: Color
recharging_animation optional :: Animation

The animation played at each charging point when a robot is charging there.

The animation played at each charging point when a robot is charging there.

spawn_and_station_height :: float

Presumably states the height of the charging stations and thus an additive offset for the charging_offsets.

Presumably states the height of the charging stations and thus an additive offset for the charging_offsets.

charge_approach_distance :: float

The distance (in tiles) from the roboport at which robots will wait to charge. [...]

The distance (in tiles) from the roboport at which robots will wait to charge. [...]

logistics_radius :: float

Can't be negative.

Can't be negative.

construction_radius :: float

Can't be negative.

Can't be negative.

charging_energy :: Energy

The maximum power provided to each charging station.

The maximum power provided to each charging station.

open_door_trigger_effect optional :: TriggerEffect
close_door_trigger_effect optional :: TriggerEffect
default_available_logistic_output_signal optional :: SignalIDConnector
default_total_logistic_output_signal optional :: SignalIDConnector
default_available_construction_output_signal optional :: SignalIDConnector
default_total_construction_output_signal optional :: SignalIDConnector
default_roboports_output_signalnew optional :: SignalIDConnector
circuit_wire_max_distance optional :: double

The maximum circuit wire distance for this entity.

The maximum circuit wire distance for this entity.

draw_copper_wires optional :: bool
draw_circuit_wires optional :: bool
circuit_connectornew optional :: CircuitConnectorDefinition
max_logistic_slotsnew optional :: LogisticFilterIndex
spawn_and_station_shadow_height_offset optional :: float
stationing_render_layer_swap_heightnew optional :: float

When robot ascends or descends to this roboport, at which height is should switch between "air-object" and "object" render layer.

When robot ascends or descends to this roboport, at which height is should switch between "air-object" and "object" render layer.

draw_logistic_radius_visualization optional :: bool
draw_construction_radius_visualization optional :: bool
recharging_light optional :: LightDefinition

The light emitted when charging a robot.

The light emitted when charging a robot.

charging_station_count optional :: uint32

How many charging points this roboport has. [...]

How many charging points this roboport has. [...]

charging_station_count_affected_by_qualitynew optional :: bool
charging_distance optional :: float
charging_station_shift optional :: Vector
charging_threshold_distance optional :: float

Unused.

Unused.

robot_vertical_acceleration optional :: float
stationing_offset optional :: Vector

The offset from the center of the roboport at which robots will enter and exit.

The offset from the center of the roboport at which robots will enter and exit.

robot_limit optional :: ItemCountType

Unused.

Unused.

robots_shrink_when_entering_and_exiting optional :: bool
charging_offsets optional :: array[Vector]

The offsets from the center of the roboport at which robots will charge. [...]

The offsets from the center of the roboport at which robots will charge. [...]

logistics_connection_distance optional :: float

Must be >= logistics_radius.

Must be >= logistics_radius.

max_payload_size :: ItemCountType

The robot's cargo carrying capacity. [...]

The robot's cargo carrying capacity. [...]

idle optional :: RotatedAnimation

Only the first frame of the animation is drawn. [...]

Only the first frame of the animation is drawn. [...]

in_motion optional :: RotatedAnimation

Only the first frame of the animation is drawn. [...]

Only the first frame of the animation is drawn. [...]

shadow_idle optional :: RotatedAnimation

Only the first frame of the animation is drawn. [...]

Only the first frame of the animation is drawn. [...]

shadow_in_motion optional :: RotatedAnimation

Only the first frame of the animation is drawn. [...]

Only the first frame of the animation is drawn. [...]

destroy_action optional :: Trigger

Applied when the robot expires (runs out of energy and FlyingRobotPrototype::speed_multiplier_when_out_of_energy is 0).

Applied when the robot expires (runs out of energy and FlyingRobotPrototype::speed_multiplier_when_out_of_energy is 0).

draw_cargo optional :: bool
charging_soundnew optional :: InterruptibleSound

RocketSiloPrototype 'rocket-silo' changed

active_energy_usage :: Energy

Additional energy used during the following parts of the launch sequence: doors_opening, rocket_rising, arms_advance, engine_starting, arms_retract, doors_closing.

Additional energy used during the following parts of the launch sequence: doors_opening, rocket_rising, arms_advance, engine_starting, arms_retract, doors_closing.

lamp_energy_usage :: Energy

May be 0. [...]

May be 0. [...]

rocket_entity :: EntityID
arm_02_right_animation optional :: Animation
arm_01_back_animation optional :: Animation
arm_03_front_animation optional :: Animation
shadow_sprite optional :: Sprite
hole_sprite optional :: Sprite
hole_light_sprite optional :: Sprite
rocket_shadow_overlay_sprite optional :: Sprite
rocket_glow_overlay_sprite optional :: Sprite
door_back_sprite optional :: Sprite
door_front_sprite optional :: Sprite
base_day_sprite optional :: Sprite
base_front_sprite optional :: Sprite
red_lights_back_sprites optional :: Sprite

Drawn from the start of the lights_blinking_open state until the end of the lights_blinking_close state.

Drawn from the start of the lights_blinking_open state until the end of the lights_blinking_close state.

red_lights_front_sprites optional :: Sprite

Drawn from the start of the lights_blinking_open state until the end of the lights_blinking_close state.

Drawn from the start of the lights_blinking_open state until the end of the lights_blinking_close state.

base_frozennew optional :: Sprite
base_front_frozennew optional :: Sprite
hole_frozennew optional :: Sprite
door_back_frozennew optional :: Sprite
door_front_frozennew optional :: Sprite
hole_clipping_box :: BoundingBox
door_back_open_offset :: Vector
door_front_open_offset :: Vector
silo_fade_out_start_distance :: double
silo_fade_out_end_distance :: double
times_to_blink :: uint8

How many times the red_lights_back_sprites and red_lights_front_sprites should blink during lights_blinking_open and lights_blinking_close. [...]

How many times the red_lights_back_sprites and red_lights_front_sprites should blink during lights_blinking_open and lights_blinking_close. [...]

light_blinking_speed :: double

The inverse of the duration in ticks of lights_blinking_open and lights_blinking_close.

The inverse of the duration in ticks of lights_blinking_open and lights_blinking_close.

door_opening_speed :: double

The inverse of the duration in ticks of doors_opening and closing.

The inverse of the duration in ticks of doors_opening and closing.

rocket_parts_required :: uint32

The number of crafts that must complete to produce a rocket. [...]

The number of crafts that must complete to produce a rocket. [...]

rocket_quick_relaunch_start_offsetnew :: double
satellite_animation optional :: Animation
satellite_shadow_animation optional :: Animation
base_night_sprite optional :: Sprite

Drawn instead of base_day_sprite during the night, that is when LuaSurface::darkness is larger than 0.3.

Drawn instead of base_day_sprite during the night, that is when LuaSurface::darkness is larger than 0.3.

base_light optional :: LightDefinition
base_engine_light optional :: LightDefinition
rocket_rising_delay optional :: uint8

The time to wait in the doors_opened state before switching to rocket_rising.

The time to wait in the doors_opened state before switching to rocket_rising.

launch_wait_time optional :: uint8

The time to wait in the launch_started state before switching to engine_starting.

The time to wait in the launch_started state before switching to engine_starting.

render_not_in_network_iconnew optional :: bool

Whether the "no network" icon should be rendered on this entity if the entity is not within a logistics network.

Whether the "no network" icon should be rendered on this entity if the entity is not within a logistics network.

rocket_parts_storage_capnew optional :: uint32

Must be at least rocket_parts_required.

Must be at least rocket_parts_required.

alarm_trigger optional :: TriggerEffect

Applied when switching into the lights_blinking_open state.

Applied when switching into the lights_blinking_open state.

clamps_on_trigger optional :: TriggerEffect

Applied when switching into the arms_advance state.

Applied when switching into the arms_advance state.

clamps_off_trigger optional :: TriggerEffect

Applied when switching into the arms_retract state.

Applied when switching into the arms_retract state.

doors_trigger optional :: TriggerEffect

Applied when switching into the doors_opening and doors_closing states.

Applied when switching into the doors_opening and doors_closing states.

raise_rocket_trigger optional :: TriggerEffect

Applied when switching into the rocket_rising state.

Applied when switching into the rocket_rising state.

alarm_sound optional :: Sound

Played when switching into the lights_blinking_open state.

Played when switching into the lights_blinking_open state.

quick_alarm_soundnew optional :: Sound

Played when switching from rocket_flying into the doors_opened state when a quick follow-up rocket is ready.

Played when switching from rocket_flying into the doors_opened state when a quick follow-up rocket is ready.

clamps_on_sound optional :: Sound

Played when switching into the arms_advance state.

Played when switching into the arms_advance state.

clamps_off_sound optional :: Sound

Played when switching into the arms_retract state.

Played when switching into the arms_retract state.

doors_sound optional :: Sound

Played when switching into the doors_opening and doors_closing states.

Played when switching into the doors_opening and doors_closing states.

raise_rocket_sound optional :: Sound

Played when switching into the rocket_rising state.

Played when switching into the rocket_rising state.

to_be_inserted_to_rocket_inventory_sizenew optional :: ItemStackIndex
rocket_supply_inventory_sizenew optional :: ItemStackIndex
logistic_trash_inventory_sizenew optional :: ItemStackIndex
cargo_station_parametersnew :: CargoStationParameters

Must have exactly one entry in CargoStationParameters::hatch_definitions.

Must have exactly one entry in CargoStationParameters::hatch_definitions.

launch_to_space_platformsnew optional :: bool

Enables 'Space Age' functionality for this rocket silo, allowing it to supply space platforms.

Enables 'Space Age' functionality for this rocket silo, allowing it to supply space platforms.

RocketSiloRocketPrototype 'rocket-silo-rocket' changed

shadow_slave_entity optional :: EntityID
cargo_pod_entitynew :: EntityID
dying_explosion optional :: EntityID
glow_light optional :: LightDefinition
rocket_sprite optional :: Sprite
rocket_shadow_sprite optional :: Sprite
rocket_glare_overlay_sprite optional :: Sprite
rocket_smoke_bottom1_animation optional :: Animation
rocket_smoke_bottom2_animation optional :: Animation
rocket_smoke_top1_animation optional :: Animation
rocket_smoke_top2_animation optional :: Animation
rocket_smoke_top3_animation optional :: Animation
rocket_flame_animation optional :: Animation
rocket_flame_left_animation optional :: Animation
rocket_flame_right_animation optional :: Animation
rocket_initial_offset optional :: Vector
rocket_rise_offset :: Vector
cargo_attachment_offsetnew optional :: Vector
rocket_flame_left_rotation :: float
rocket_flame_right_rotation :: float
rocket_render_layer_switch_distance :: double
full_render_layer_switch_distance :: double
rocket_launch_offset :: Vector
effects_fade_in_start_distance :: double
effects_fade_in_end_distance :: double
shadow_fade_out_start_ratio :: double
shadow_fade_out_end_ratio :: double
rocket_visible_distance_from_center :: float
rocket_above_wires_slice_offset_from_center optional :: float
rocket_air_object_slice_offset_from_center optional :: float
rocket_fog_masknew optional :: FogMaskShapeDefinition
rising_speed :: double
engine_starting_speed :: double
flying_speed :: double
flying_acceleration :: double
flying_trigger optional :: TriggerEffect
flying_soundnew optional :: Sound
inventory_size :: ItemStackIndex

RocketSiloRocketShadowPrototype 'rocket-silo-rocket-shadow'

No new properties

RollingStockPrototype abstract changed

max_speed :: double

Maximum speed of the rolling stock in tiles/tick. [...]

Maximum speed of the rolling stock in tiles/tick. [...]

air_resistance :: double
joint_distance :: double

The length between this rolling stocks front and rear joints. [...]

The length between this rolling stocks front and rear joints. [...]

connection_distance :: double

The distance between the joint of this rolling stock and its connected rolling stocks joint. [...]

The distance between the joint of this rolling stock and its connected rolling stocks joint. [...]

pictureschanged optional :: RollingStockRotatedSlopedGraphics
wheelschanged optional :: RollingStockRotatedSlopedGraphics
vertical_selection_shift :: double
drive_over_tie_trigger optional :: TriggerEffect

Usually a sound to play when the rolling stock drives over a tie. [...]

Usually a sound to play when the rolling stock drives over a tie. [...]

drive_over_tie_trigger_minimal_speednew optional :: double
tie_distance optional :: double

In tiles. [...]

In tiles. [...]

back_light optional :: LightDefinition
stand_by_light optional :: LightDefinition
horizontal_doors optional :: Animation
vertical_doors optional :: Animation
color optional :: Color
allow_manual_color optional :: bool
allow_robot_dispatch_in_automatic_mode optional :: bool
default_copy_color_from_train_stopnew optional :: bool
transition_collision_masknew optional :: CollisionMaskConnector

Defaults to the mask from UtilityConstants::default_collision_masks when indexed by `type .. [...]

Defaults to the mask from UtilityConstants::default_collision_masks when indexed by `type .. [...]

elevated_collision_masknew optional :: CollisionMaskConnector

Defaults to the mask from UtilityConstants::default_collision_masks when indexed by `type .. [...]

Defaults to the mask from UtilityConstants::default_collision_masks when indexed by `type .. [...]

elevated_selection_prioritynew optional :: uint8
elevated_rail_soundnew optional :: MainSound
drive_over_elevated_tie_triggernew optional :: TriggerEffect
door_opening_soundnew optional :: InterruptibleSound

Cannot use fade_ticks.

Cannot use fade_ticks.

door_closing_soundnew optional :: InterruptibleSound

Cannot use fade_ticks.

Cannot use fade_ticks.

SegmentPrototype 'segment' new

dying_sound optional :: Sound

The sound to play when the entity dies. [...]

The sound to play when the entity dies. [...]

dying_sound_volume_modifier optional :: float
animation :: RotatedAnimation

The animation to use of the entity.

The animation to use of the entity.

render_layer optional :: RenderLayer

The layer to render the entity in.

The layer to render the entity in.

forward_overlap optional :: uint8

The number of segments ahead of this one that should always be rendered atop this one, giving the illusion that at all orientations, those preceding segments overlap this current segment. [...]

The number of segments ahead of this one that should always be rendered atop this one, giving the illusion that at all orientations, those preceding segments overlap this current segment. [...]

backward_overlap optional :: uint8

The number of segments behind this one that should always be rendered atop this one, giving the illusion that at all orientations, those following segments overlap this current segment. [...]

The number of segments behind this one that should always be rendered atop this one, giving the illusion that at all orientations, those following segments overlap this current segment. [...]

forward_padding optional :: double

The number of tiles of spacing to add in front of this segment. [...]

The number of tiles of spacing to add in front of this segment. [...]

backward_padding optional :: double

The number of tiles of spacing to add behind this segment. [...]

The number of tiles of spacing to add behind this segment. [...]

update_effects optional :: array[TriggerEffectWithCooldown]

The effects to trigger every tick.

The effects to trigger every tick.

update_effects_while_enraged optional :: array[TriggerEffectWithCooldown]

The effects to trigger every tick while enraged, in addition to update_effects.

The effects to trigger every tick while enraged, in addition to update_effects.

SegmentedUnitPrototype 'segmented-unit' new

vision_distance :: double

Vision distance, affects scanning radius for enemies to attack. [...]

Vision distance, affects scanning radius for enemies to attack. [...]

attack_parameters optional :: AttackParameters

Attack parameters for when a segmented unit is attacking something.

Attack parameters for when a segmented unit is attacking something.

revenge_attack_parameters optional :: AttackParameters

Attack parameters for when a segmented unit is attacking something in retaliation because the target first attacked it.

Attack parameters for when a segmented unit is attacking something in retaliation because the target first attacked it.

territory_radius :: uint32

The territory radius in chunks. [...]

The territory radius in chunks. [...]

enraged_duration :: uint32

The number of ticks to remain enraged after last taking damage.

The number of ticks to remain enraged after last taking damage.

patrolling_speed :: double

The movement speed while patrolling, in tiles per tick. [...]

The movement speed while patrolling, in tiles per tick. [...]

investigating_speed :: double

The movement speed while investigating, in tiles per tick. [...]

The movement speed while investigating, in tiles per tick. [...]

attacking_speed :: double

The movement speed while attacking, in tiles per tick. [...]

The movement speed while attacking, in tiles per tick. [...]

enraged_speed :: double

The movement speed while enraged, in tiles per tick. [...]

The movement speed while enraged, in tiles per tick. [...]

acceleration_rate :: double

The acceleration rate when moving from one state to another. [...]

The acceleration rate when moving from one state to another. [...]

turn_radius :: double

Turn radius, in tiles. [...]

Turn radius, in tiles. [...]

patrolling_turn_radius optional :: double

Cannot be negative.

Cannot be negative.

turn_smoothing optional :: double

Attempts to smooth out tight turns by limiting how quickly the unit can change turning directions. [...]

Attempts to smooth out tight turns by limiting how quickly the unit can change turning directions. [...]

ticks_per_scan optional :: uint32

The number of ticks between territory scans. [...]

The number of ticks between territory scans. [...]

segment_engine :: SegmentEngineSpecification

Specification of the segment engine, which should contain a list of the segments that compose the entity's body.

Specification of the segment engine, which should contain a list of the segments that compose the entity's body.

roar optional :: Sound
roar_probability optional :: float

The default is 1.0f / (6.0f * 60.0f), average pause between roars is 6 seconds.

The default is 1.0f / (6.0f * 60.0f), average pause between roars is 6 seconds.

hurt_roar optional :: Sound

Sound which plays when health ratio drops below any of hurt_thresholds.

Sound which plays when health ratio drops below any of hurt_thresholds.

hurt_thresholds optional :: array[float]

Only loaded, and mandatory if hurt_roar is defined.

Only loaded, and mandatory if hurt_roar is defined.

SelectionToolPrototype 'selection-tool' changed

selectnew :: SelectionModeData
alt_selectnew :: SelectionModeData
super_forced_selectnew optional :: SelectionModeData
reverse_selectnew optional :: SelectionModeData
alt_reverse_selectnew optional :: SelectionModeData

Settings for how the selection tool alt-reverse-selects things in-game (using SHIFT + Right mouse button).

Settings for how the selection tool alt-reverse-selects things in-game (using SHIFT + Right mouse button).

always_include_tiles optional :: bool

If tiles should be included in the selection regardless of entities also being in the selection. [...]

If tiles should be included in the selection regardless of entities also being in the selection. [...]

mouse_cursor optional :: MouseCursorID
skip_fog_of_warnew optional :: bool

ShootAchievementPrototype 'shoot-achievement' new

ammo_type optional :: ItemID

This will trigger the achievement, if this ammo is shot.

This will trigger the achievement, if this ammo is shot.

amount optional :: uint32

How much of the ammo needs to be shot.

How much of the ammo needs to be shot.

ShortcutPrototype 'shortcut' changed

action :: "toggle-alt-mode" or "undo" or "copy" or "cut" or "paste" or "import-string" or "toggle-personal-roboport" or "toggle-equipment-movement-bonus" or "spawn-item" or "lua"

If this is "lua", on_lua_shortcut is raised when the shortcut is clicked.

If this is "lua", on_lua_shortcut is raised when the shortcut is clicked.

iconsnew optional :: array[IconData]

Can't be an empty array.

Can't be an empty array.

iconchanged optional :: FileName

Path to the icon file. [...]

Path to the icon file. [...]

icon_sizenew optional :: SpriteSizeType

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

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

small_iconsnew optional :: array[IconData]

Can't be an empty array.

Can't be an empty array.

small_iconchanged optional :: FileName

Path to the icon file. [...]

Path to the icon file. [...]

small_icon_sizenew optional :: SpriteSizeType

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

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

item_to_spawn optional :: ItemID

The item to create when clicking on a shortcut with the action set to "spawn-item". [...]

The item to create when clicking on a shortcut with the action set to "spawn-item". [...]

technology_to_unlock optional :: TechnologyID

The technology that must be researched before this shortcut can be used. [...]

The technology that must be researched before this shortcut can be used. [...]

unavailable_until_unlockednew optional :: bool

If true, the shortcut will not be available until its technology_to_unlock is researched, even if it was already researched in a different game.

If true, the shortcut will not be available until its technology_to_unlock is researched, even if it was already researched in a different game.

toggleable optional :: bool

Must be enabled for the Factorio API to be able to set the toggled state on the shortcut button, see LuaPlayer::set_shortcut_toggled.

Must be enabled for the Factorio API to be able to set the toggled state on the shortcut button, see LuaPlayer::set_shortcut_toggled.

associated_control_input optional :: string

Name of a custom input or vanilla control. [...]

Name of a custom input or vanilla control. [...]

style optional :: "default" or "blue" or "red" or "green"

SimpleEntityPrototype 'simple-entity' changed

count_as_rock_for_filtered_deconstruction optional :: bool

Whether this entity should be treated as a rock for the purpose of deconstruction and for CarPrototype::immune_to_rock_impacts.

Whether this entity should be treated as a rock for the purpose of deconstruction and for CarPrototype::immune_to_rock_impacts.

render_layer optional :: RenderLayer
secondary_draw_order optional :: int8

Used to determine render order for entities with the same render_layer in the same position. [...]

Used to determine render order for entities with the same render_layer in the same position. [...]

random_animation_offset optional :: bool
random_variation_on_create optional :: bool

Whether a random graphics variation is chosen when placing the entity/creating it via script/creating it via map generation. [...]

Whether a random graphics variation is chosen when placing the entity/creating it via script/creating it via map generation. [...]

pictures optional :: SpriteVariations

Takes priority over picture and animations.

Takes priority over picture and animations.

picture optional :: Sprite4Way

Takes priority over animations. [...]

Takes priority over animations. [...]

animations optional :: AnimationVariations
lower_render_layernew optional :: RenderLayer
lower_picturesnew optional :: SpriteVariations
stateless_visualisation_variationsnew optional :: array[StatelessVisualisations]

Loaded and drawn with all pictures, picture and animations. [...]

Loaded and drawn with all pictures, picture and animations. [...]

SimpleEntityWithForcePrototype 'simple-entity-with-force'

No new properties

SimpleEntityWithOwnerPrototype 'simple-entity-with-owner' changed

render_layer optional :: RenderLayer
secondary_draw_order optional :: int8

Used to determine render order for entities with the same render_layer in the same position. [...]

Used to determine render order for entities with the same render_layer in the same position. [...]

random_animation_offset optional :: bool
random_variation_on_create optional :: bool

Whether a random graphics variation is chosen when placing the entity/creating it via script/creating it via map generation. [...]

Whether a random graphics variation is chosen when placing the entity/creating it via script/creating it via map generation. [...]

pictures optional :: SpriteVariations

Takes priority over picture and animations.

Takes priority over picture and animations.

picture optional :: Sprite4Way

Takes priority over animations.

Takes priority over animations.

animations optional :: AnimationVariations
lower_render_layernew optional :: RenderLayer
lower_picturesnew optional :: SpriteVariations

Loaded and drawn with all pictures, picture and animations. [...]

Loaded and drawn with all pictures, picture and animations. [...]

stateless_visualisation_variationsnew optional :: array[StatelessVisualisations]
force_visibility optional :: ForceCondition

If the entity is not visible to a player, the player cannot select it.

If the entity is not visible to a player, the player cannot select it.

SmokePrototype abstract changed

animation optional :: Animation
cyclic optional :: bool

If this is false then the smoke expires when the animation has played once.

If this is false then the smoke expires when the animation has played once.

duration optional :: uint32

May not be 0 if cyclic is true. [...]

May not be 0 if cyclic is true. [...]

spread_duration optional :: uint32
fade_away_duration optional :: uint32

fade_in_duration + fade_away_duration must be <= duration.

fade_in_duration + fade_away_duration must be <= duration.

fade_in_duration optional :: uint32

fade_in_duration + fade_away_duration must be <= duration.

fade_in_duration + fade_away_duration must be <= duration.

start_scale optional :: double
end_scale optional :: double
color optional :: Color
affected_by_wind optional :: bool

Smoke always moves randomly unless movement_slow_down_factor is 0. [...]

Smoke always moves randomly unless movement_slow_down_factor is 0. [...]

show_when_smoke_off optional :: bool
render_layer optional :: RenderLayer
movement_slow_down_factor optional :: double

Value between 0 and 1, with 0 being no movement.

Value between 0 and 1, with 0 being no movement.

glow_fade_away_duration optional :: uint32
glow_animation optional :: Animation

SmokeWithTriggerPrototype 'smoke-with-trigger' changed

action optional :: Trigger
action_cooldown optional :: uint32

0 means never apply.

0 means never apply.

particle_count optional :: uint8
particle_distance_scale_factor optional :: float
spread_duration_variation optional :: uint32
particle_duration_variation optional :: uint32
particle_spread optional :: Vector
particle_scale_factor optional :: Vector
wave_distance optional :: Vector
wave_speed optional :: Vector
attach_to_targetnew optional :: bool

If true, causes the smoke to move with the target entity if one is specified.

If true, causes the smoke to move with the target entity if one is specified.

fade_when_attachment_is_destroyednew optional :: bool

If true, the smoke will immediately start fading away when the entity it is attached to is destroyed. [...]

If true, the smoke will immediately start fading away when the entity it is attached to is destroyed. [...]

SolarPanelEquipmentPrototype 'solar-panel-equipment'

power :: Energy

How much power should be provided.

How much power should be provided.

SolarPanelPrototype 'solar-panel'

energy_source :: ElectricEnergySource

Sets how this solar panel connects to the energy network. [...]

Sets how this solar panel connects to the energy network. [...]

picture optional :: SpriteVariations

The picture displayed for this solar panel.

The picture displayed for this solar panel.

production :: Energy

The maximum amount of power this solar panel can produce.

The maximum amount of power this solar panel can produce.

overlay optional :: SpriteVariations

Overlay has to be empty or have same number of variations as picture.

Overlay has to be empty or have same number of variations as picture.

SoundPrototype 'sound' changed

type :: "sound"
name :: string

Name of the sound. [...]

Name of the sound. [...]

category optional :: SoundType
prioritynew optional :: uint8

Sounds with higher priority will replace a sound with lower priority if the maximum sounds limit is reached. [...]

Sounds with higher priority will replace a sound with lower priority if the maximum sounds limit is reached. [...]

aggregation optional :: AggregationSpecification
allow_random_repeat optional :: bool
audible_distance_modifier optional :: double

Modifies how far a sound can be heard. [...]

Modifies how far a sound can be heard. [...]

game_controller_vibration_data optional :: GameControllerVibrationData
advanced_volume_controlnew optional :: AdvancedVolumeControl
speed_smoothing_window_sizenew optional :: uint32
variations optional :: SoundDefinition or array[SoundDefinition]
filename optional :: FileName

Supported sound file formats are .ogg (Vorbis and Opus) and .wav. [...]

Supported sound file formats are .ogg (Vorbis and Opus) and .wav. [...]

volume optional :: float

Only loaded if variations is not defined. [...]

Only loaded if variations is not defined. [...]

min_volumenew optional :: float

Only loaded if variations and volume are not defined. [...]

Only loaded if variations and volume are not defined. [...]

max_volumenew optional :: float

Only loaded if variations is not defined. [...]

Only loaded if variations is not defined. [...]

preload optional :: bool

Only loaded if variations is not defined.

Only loaded if variations is not defined.

speed optional :: float

Speed must be >= 1 / 64. [...]

Speed must be >= 1 / 64. [...]

min_speed optional :: float

Must be >= 1 / 64. [...]

Must be >= 1 / 64. [...]

max_speed optional :: float

Must be >= min_speed. [...]

Must be >= min_speed. [...]

modifiersnew optional :: SoundModifier or array[SoundModifier]

Only loaded if variations is not defined.

Only loaded if variations is not defined.

SpaceConnectionDistanceTraveledAchievementPrototype 'space-connection-distance-traveled-achievement' new

tracked_connection :: SpaceConnectionID
distance :: uint32

How far a platform must travel to gain this achievement. [...]

How far a platform must travel to gain this achievement. [...]

reversed :: bool

The achievement is unidirectional, this property controls the direction (using space connection definition). [...]

The achievement is unidirectional, this property controls the direction (using space connection definition). [...]

SpaceConnectionPrototype 'space-connection' new

from :: SpaceLocationID
to :: SpaceLocationID
length optional :: uint32

Cannot be 0.

Cannot be 0.

asteroid_spawn_definitions optional :: array[SpaceConnectionAsteroidSpawnDefinition]
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. [...]

SpaceLocationPrototype 'space-location' new

gravity_pull :: double

A value which modifies platform speed; is subtracted when traveling from this location and added when traveling to this location.

A value which modifies platform speed; is subtracted when traveling from this location and added when traveling to this location.

distance :: double

Distance from the location's parent body in map coordinates.

Distance from the location's parent body in map coordinates.

orientation :: RealOrientation

Angle in relation to the parent body.

Angle in relation to the parent body.

magnitude optional :: double

The apparent size of the space location in map coordinates.

The apparent size of the space location in map coordinates.

parked_platforms_orientation optional :: RealOrientation

The orientation where parked space platforms will be drawn.

The orientation where parked space platforms will be drawn.

label_orientation optional :: RealOrientation

The orientation where the location's name will be drawn.

The orientation where the location's name will be drawn.

draw_orbit optional :: bool

If false, an orbital ring will not be drawn for this location.

If false, an orbital ring will not be drawn for this location.

solar_power_in_space optional :: double
asteroid_spawn_influence optional :: double

If greater than 0, asteroid_spawn_definitions will be used on space connections of this location, interpolated based on distance. [...]

If greater than 0, asteroid_spawn_definitions will be used on space connections of this location, interpolated based on distance. [...]

fly_condition optional :: bool

When set to true, it means that this connection offers fly condition rather than wait condition at the destination

When set to true, it means that this connection offers fly condition rather than wait condition at the destination

auto_save_on_first_trip optional :: bool
procession_graphic_catalogue optional :: ProcessionGraphicCatalogue
procession_audio_catalogue optional :: ProcessionAudioCatalogue
platform_procession_set optional :: ProcessionSet

These transitions are used for any platform stopped at this location.

These transitions are used for any platform stopped at this location.

planet_procession_set optional :: ProcessionSet

These transitions are used for anything traveling from the surface associated with this location.

These transitions are used for anything traveling from the surface associated with this location.

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. [...]

starmap_icons optional :: array[IconData]

Can't be an empty array.

Can't be an empty array.

starmap_icon optional :: FileName

Path to the icon file. [...]

Path to the icon file. [...]

starmap_icon_size optional :: SpriteSizeType

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

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

asteroid_spawn_definitions optional :: array[SpaceLocationAsteroidSpawnDefinition]

SpacePlatformStarterPackPrototype 'space-platform-starter-pack' new

trigger optional :: Trigger
surface optional :: SurfaceID
create_electric_network optional :: bool
tiles optional :: array[SpacePlatformTileDefinition]
initial_items optional :: array[ItemProductPrototype]

The quality of the items will match the quality of the starter pack.

The quality of the items will match the quality of the starter pack.

SpectatorControllerPrototype 'spectator-controller'

type :: "spectator-controller"
name :: string

Name of the spectator controller. [...]

Name of the spectator controller. [...]

movement_speed :: double

Must be >= 0.34375.

Must be >= 0.34375.

SpeechBubblePrototype 'speech-bubble' changed

style :: string

Needs a style of the type "speech_bubble_style", defined inside the gui styles.

Needs a style of the type "speech_bubble_style", defined inside the gui styles.

wrapper_flow_style optional :: string

Needs a style of the type "flow_style", defined inside the gui styles.

Needs a style of the type "flow_style", defined inside the gui styles.

y_offset optional :: double
fade_in_out_ticks optional :: uint32

SpiderLegPrototype 'spider-leg' changed

stretch_force_scalarnew optional :: double

A scalar that controls the amount of influence this leg has over the position of the torso. [...]

A scalar that controls the amount of influence this leg has over the position of the torso. [...]

hip_flexibilitynew optional :: double

The flexibility of hip. [...]

The flexibility of hip. [...]

knee_heightnew :: double

The resting height of the knee from the ground. [...]

The resting height of the knee from the ground. [...]

knee_distance_factornew :: double

The placement of the knee relative to the torso of the spider and the end of the foot when at rest. [...]

The placement of the knee relative to the torso of the spider and the end of the foot when at rest. [...]

ankle_heightnew optional :: double

The height of the foot from the ground when at rest.

The height of the foot from the ground when at rest.

initial_movement_speed :: double
movement_acceleration :: double
target_position_randomisation_distance :: double
minimal_step_size :: double
base_position_selection_distancenew :: double
movement_based_position_selection_distance :: double
graphics_set optional :: SpiderLegGraphicsSet
walking_sound_volume_modifierchanged optional :: float
walking_sound_speed_modifiernew optional :: float
upper_leg_dying_trigger_effectsnew optional :: array[SpiderLegTriggerEffect]
lower_leg_dying_trigger_effectsnew optional :: array[SpiderLegTriggerEffect]

SpiderUnitPrototype 'spider-unit' new

spider_engine :: SpiderEngineSpecification
height :: float

The height of the spider affects the shooting height and the drawing of the graphics and lights.

The height of the spider affects the shooting height and the drawing of the graphics and lights.

torso_bob_speed optional :: float

Cannot be negative.

Cannot be negative.

torso_rotation_speed optional :: float

The orientation of the torso of the spider affects the shooting direction and the drawing of the graphics and lights.

The orientation of the torso of the spider affects the shooting direction and the drawing of the graphics and lights.

graphics_set optional :: SpiderTorsoGraphicsSet
absorptions_to_join_attack optional :: dictionary[AirbornePollutantID → float]
spawning_time_modifier optional :: double
radar_range optional :: uint32
attack_parameters :: AttackParameters
dying_sound optional :: Sound
warcry optional :: Sound

A sound the spider unit makes when it sets out to attack.

A sound the spider unit makes when it sets out to attack.

vision_distance :: double

Must be less than or equal to 100.

Must be less than or equal to 100.

distraction_cooldown :: uint32
min_pursue_time optional :: uint32
max_pursue_distance optional :: double
ai_settings optional :: UnitAISettings

SpiderVehiclePrototype 'spider-vehicle' changed

energy_source :: BurnerEnergySource or VoidEnergySource
inventory_size :: ItemStackIndex
graphics_set optional :: SpiderVehicleGraphicsSet
spider_enginechanged :: SpiderEngineSpecification
height :: float

The height of the spider affects the shooting height and the drawing of the graphics and lights.

The height of the spider affects the shooting height and the drawing of the graphics and lights.

movement_energy_consumption :: Energy
automatic_weapon_cycling :: bool
chain_shooting_cooldown_modifier :: float

This is applied whenever the spider shoots (manual and automatic targeting), automatic_weapon_cycling is true and the next gun in line (which is then selected) has ammo. [...]

This is applied whenever the spider shoots (manual and automatic targeting), automatic_weapon_cycling is true and the next gun in line (which is then selected) has ammo. [...]

torso_rotation_speed optional :: float

The orientation of the torso of the spider affects the shooting direction and the drawing of the graphics and lights.

The orientation of the torso of the spider affects the shooting direction and the drawing of the graphics and lights.

torso_bob_speed optional :: float

Cannot be negative.

Cannot be negative.

trash_inventory_size optional :: ItemStackIndex

If set to 0 then the spider will not have a Logistics tab.

If set to 0 then the spider will not have a Logistics tab.

guns optional :: array[ItemID]

The guns this spider vehicle uses.

The guns this spider vehicle uses.

SpidertronRemotePrototype 'spidertron-remote' changed

No new properties

SplitterPrototype 'splitter' changed

structure optional :: Animation4Way
structure_patch optional :: Animation4Way

Drawn 1 tile north of structure when the splitter is facing east or west.

Drawn 1 tile north of structure when the splitter is facing east or west.

frozen_patchnew optional :: Sprite4Way
structure_animation_speed_coefficient optional :: double
structure_animation_movement_cooldown optional :: uint32
related_transport_beltnew optional :: EntityID

The name of the TransportBeltPrototype which is used for the sound of the underlying belt.

The name of the TransportBeltPrototype which is used for the sound of the underlying belt.

SpritePrototype 'sprite' changed

type :: "sprite"
name :: string

Name of the sprite. [...]

Name of the sprite. [...]

layers optional :: array[Sprite]

If this property is present, all Sprite definitions have to be placed as entries in the array, and they will all be loaded from there. [...]

If this property is present, all Sprite definitions have to be placed as entries in the array, and they will all be loaded from there. [...]

filename optional :: FileName

Only loaded, and mandatory if layers is not defined. [...]

Only loaded, and mandatory if layers is not defined. [...]

dicenew optional :: SpriteSizeType

Only loaded if layers is not defined. [...]

Only loaded if layers is not defined. [...]

dice_xnew optional :: SpriteSizeType

Only loaded if layers is not defined. [...]

Only loaded if layers is not defined. [...]

dice_ynew optional :: SpriteSizeType

Only loaded if layers is not defined. [...]

Only loaded if layers is not defined. [...]

priority optional :: SpritePriority

Only loaded if layers is not defined.

Only loaded if layers is not defined.

flags optional :: SpriteFlags

Only loaded if layers is not defined.

Only loaded if layers is not defined.

size optional :: SpriteSizeType or {SpriteSizeType, SpriteSizeType}

Only loaded if layers is not defined. [...]

Only loaded if layers is not defined. [...]

width optional :: SpriteSizeType

Only loaded if layers is not defined. [...]

Only loaded if layers is not defined. [...]

height optional :: SpriteSizeType

Only loaded if layers is not defined. [...]

Only loaded if layers is not defined. [...]

x optional :: SpriteSizeType

Only loaded if layers is not defined. [...]

Only loaded if layers is not defined. [...]

y optional :: SpriteSizeType

Only loaded if layers is not defined. [...]

Only loaded if layers is not defined. [...]

position optional :: {SpriteSizeType, SpriteSizeType}

Only loaded if layers is not defined. [...]

Only loaded if layers is not defined. [...]

shift optional :: Vector

Only loaded if layers is not defined. [...]

Only loaded if layers is not defined. [...]

rotate_shiftnew optional :: bool

Only loaded if layers is not defined.

Only loaded if layers is not defined.

apply_special_effectnew optional :: bool

Only loaded if layers is not defined.

Only loaded if layers is not defined.

scale optional :: double

Only loaded if layers is not defined. [...]

Only loaded if layers is not defined. [...]

draw_as_shadow optional :: bool

Only loaded if layers is not defined. [...]

Only loaded if layers is not defined. [...]

draw_as_glow optional :: bool

Only loaded if layers is not defined. [...]

Only loaded if layers is not defined. [...]

draw_as_light optional :: bool

Only loaded if layers is not defined. [...]

Only loaded if layers is not defined. [...]

mipmap_count optional :: uint8

Only loaded if layers is not defined. [...]

Only loaded if layers is not defined. [...]

apply_runtime_tint optional :: bool

Only loaded if layers is not defined.

Only loaded if layers is not defined.

tint_as_overlaynew optional :: bool

Only loaded if layers is not defined.

Only loaded if layers is not defined.

invert_colorsnew optional :: bool

Only loaded if layers is not defined.

Only loaded if layers is not defined.

tint optional :: Color

Only loaded if layers is not defined.

Only loaded if layers is not defined.

blend_mode optional :: BlendMode

Only loaded if layers is not defined.

Only loaded if layers is not defined.

load_in_minimal_mode optional :: bool

Only loaded if layers is not defined. [...]

Only loaded if layers is not defined. [...]

premul_alpha optional :: bool

Only loaded if layers is not defined. [...]

Only loaded if layers is not defined. [...]

allow_forced_downscalenew optional :: bool

Only loaded if layers is not defined. [...]

Only loaded if layers is not defined. [...]

generate_sdf optional :: bool

Only loaded if layers is not defined. [...]

Only loaded if layers is not defined. [...]

surfacenew optional :: SpriteUsageSurfaceHint

Only loaded if layers is not defined. [...]

Only loaded if layers is not defined. [...]

usagenew optional :: SpriteUsageHint

Only loaded if layers is not defined. [...]

Only loaded if layers is not defined. [...]

StickerPrototype 'sticker' changed

duration_in_ticks :: uint32

Must be > 0.

Must be > 0.

animation optional :: Animation
render_layernew optional :: RenderLayer
damage_interval optional :: uint32

Interval between application of damage_per_tick, in ticks.

Interval between application of damage_per_tick, in ticks.

spread_fire_entity optional :: EntityID

If this is given, this sticker is considered a "fire sticker" for some functions, such as BaseAttackParameters::fire_penalty and EntityPrototypeFlags::not-flammable.

If this is given, this sticker is considered a "fire sticker" for some functions, such as BaseAttackParameters::fire_penalty and EntityPrototypeFlags::not-flammable.

fire_spread_cooldown optional :: uint8
fire_spread_radius optional :: float
stickers_per_square_meter optional :: float
force_visibility optional :: ForceCondition
single_particle optional :: bool
damage_per_tickchanged optional :: DamageParameters

Applied every damage_interval ticks, so may not necessarily be "per tick".

Applied every damage_interval ticks, so may not necessarily be "per tick".

target_movement_modifier optional :: float

Less than 1 to reduce movement speed, more than 1 to increase it.

Less than 1 to reduce movement speed, more than 1 to increase it.

target_movement_modifier_from optional :: float

The modifier value when the sticker is attached. [...]

The modifier value when the sticker is attached. [...]

target_movement_modifier_to optional :: float

The modifier value when the sticker expires. [...]

The modifier value when the sticker expires. [...]

target_movement_maxnew optional :: float

The maximum movement speed for the target. [...]

The maximum movement speed for the target. [...]

target_movement_max_fromnew optional :: float

The maximum movement speed for the target when the sticker is attached. [...]

The maximum movement speed for the target when the sticker is attached. [...]

target_movement_max_tonew optional :: float

The maximum movement speed for the target when the sticker expires. [...]

The maximum movement speed for the target when the sticker expires. [...]

ground_targetnew optional :: bool

If true, causes the target entity to become "grounded", disabling flight. [...]

If true, causes the target entity to become "grounded", disabling flight. [...]

vehicle_speed_modifier optional :: float

Less than 1 to reduce vehicle speed, more than 1 to increase it.

Less than 1 to reduce vehicle speed, more than 1 to increase it.

vehicle_speed_modifier_from optional :: float

Works similarly to target_movement_modifier_from.

Works similarly to target_movement_modifier_from.

vehicle_speed_modifier_to optional :: float

Works similarly to target_movement_modifier_to.

Works similarly to target_movement_modifier_to.

vehicle_speed_maxnew optional :: float

The maximum movement speed for vehicles. [...]

The maximum movement speed for vehicles. [...]

vehicle_speed_max_fromnew optional :: float

The maximum movement speed for vehicles when the sticker is attached. [...]

The maximum movement speed for vehicles when the sticker is attached. [...]

vehicle_speed_max_tonew optional :: float

The maximum movement speed for vehicles when the sticker expires. [...]

The maximum movement speed for vehicles when the sticker expires. [...]

vehicle_friction_modifier optional :: float
vehicle_friction_modifier_from optional :: float

Works similarly to target_movement_modifier_from.

Works similarly to target_movement_modifier_from.

vehicle_friction_modifier_to optional :: float

Works similarly to target_movement_modifier_to.

Works similarly to target_movement_modifier_to.

selection_box_type optional :: CursorBoxType

Using this property marks the sticker as a "selection sticker", meaning that the selection box will be rendered around the entity when the sticker is on it.

Using this property marks the sticker as a "selection sticker", meaning that the selection box will be rendered around the entity when the sticker is on it.

update_effectsnew optional :: array[TriggerEffectWithCooldown]

Effects (with cooldowns) to trigger every tick.

Effects (with cooldowns) to trigger every tick.

StorageTankPrototype 'storage-tank' changed

fluid_box :: FluidBox
window_bounding_box :: BoundingBox

The location of the window showing the contents. [...]

The location of the window showing the contents. [...]

pictures optional :: StorageTankPictures
flow_length_in_ticks :: uint32

Must be positive. [...]

Must be positive. [...]

two_direction_only optional :: bool
show_fluid_icon optional :: bool

Whether the "alt-mode icon" should be drawn at all.

Whether the "alt-mode icon" should be drawn at all.

circuit_wire_max_distance optional :: double
draw_copper_wires optional :: bool
draw_circuit_wires optional :: bool
circuit_connectornew optional :: {CircuitConnectorDefinition, CircuitConnectorDefinition, CircuitConnectorDefinition, CircuitConnectorDefinition}

StraightRailPrototype 'straight-rail' changed

No new properties

SurfacePropertyPrototype 'surface-property' new

localised_unit_key optional :: string

The locale key of the unit of the property. [...]

The locale key of the unit of the property. [...]

default_value :: double
is_time optional :: bool

SurfacePrototype 'surface' new

surface_properties optional :: dictionary[SurfacePropertyID → double]
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. [...]

TechnologyPrototype 'technology' changed

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. [...]

upgrade optional :: bool

When set to true, and the technology contains several levels, only the relevant one is displayed in the technology screen.

When set to true, and the technology contains several levels, only the relevant one is displayed in the technology screen.

enabled optional :: bool
essentialnew optional :: bool

Whether the technology should be shown in the technology tree GUI when "Show only essential technologies" is enabled.

Whether the technology should be shown in the technology tree GUI when "Show only essential technologies" is enabled.

visible_when_disabled optional :: bool

Controls whether the technology is shown in the tech GUI when it is not enabled.

Controls whether the technology is shown in the tech GUI when it is not enabled.

ignore_tech_cost_multiplier optional :: bool

Controls whether the technology cost ignores the tech cost multiplier set in the DifficultySettings. [...]

Controls whether the technology cost ignores the tech cost multiplier set in the DifficultySettings. [...]

allows_productivitynew optional :: bool
research_triggernew optional :: TechnologyTrigger

Mandatory if unit is not defined.

Mandatory if unit is not defined.

unit optional :: TechnologyUnit

Determines the cost in items and time of the technology. [...]

Determines the cost in items and time of the technology. [...]

max_level optional :: uint32 or "infinite"

"infinite" for infinite technologies, otherwise uint32. [...]

"infinite" for infinite technologies, otherwise uint32. [...]

prerequisites optional :: array[TechnologyID]

List of technologies needed to be researched before this one can be researched.

List of technologies needed to be researched before this one can be researched.

effects optional :: array[Modifier]

List of effects of the technology (applied when the technology is researched).

List of effects of the technology (applied when the technology is researched).

TemporaryContainerPrototype 'temporary-container' new

destroy_on_empty optional :: bool
time_to_live optional :: uint32
alert_after_time optional :: uint32

ThrusterPrototype 'thruster' new

min_performance :: ThrusterPerformancePoint
max_performance :: ThrusterPerformancePoint

max_performance.fluid_volume must not be smaller than min_performance.fluid_volume.

max_performance.fluid_volume must not be smaller than min_performance.fluid_volume.

fuel_fluid_box :: FluidBox
oxidizer_fluid_box :: FluidBox
graphics_set optional :: ThrusterGraphicsSet
plumes optional :: PlumesSpecification

TileEffectDefinition 'tile-effect' changed

type :: "tile-effect"
name :: string

Name of the tile-effect.

Name of the tile-effect.

shadernew :: "water" or "space" or "puddle"
waternew optional :: WaterTileEffectParameters

Only loaded, and mandatory if shader is "water".

Only loaded, and mandatory if shader is "water".

spacenew optional :: SpaceTileEffectParameters

Only loaded, and mandatory if shader is "space".

Only loaded, and mandatory if shader is "space".

puddlenew optional :: PuddleTileEffectParameters

Only loaded, and mandatory if shader is "puddle".

Only loaded, and mandatory if shader is "puddle".

TileGhostPrototype 'tile-ghost' changed

No new properties

TilePrototype 'tile' changed

collision_maskchanged :: CollisionMaskConnector
layer :: uint8

Specifies transition drawing priority.

Specifies transition drawing priority.

build_animationsnew optional :: Animation4Way

The build animation used when this tile is built on a space platform.

The build animation used when this tile is built on a space platform.

build_animations_backgroundnew optional :: Animation4Way
built_animation_framenew optional :: uint32

When the build_animations frame reaches this point the tile is built. [...]

When the build_animations frame reaches this point the tile is built. [...]

variants :: TileTransitionsVariants

Graphics for this tile.

Graphics for this tile.

map_color :: Color
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. [...]

lowland_fognew optional :: bool

For surfaces that use fog effect of type gleba, this property determines whether given tile should contribute to fog intensity on a chunk or not.

For surfaces that use fog effect of type gleba, this property determines whether given tile should contribute to fog intensity on a chunk or not.

transition_overlay_layer_offset optional :: int8
sprite_usage_surfacenew optional :: SpriteUsageSurfaceHint
layer_group optional :: TileRenderLayer
transition_merges_with_tile optional :: TileID
effect_color optional :: Color
tint optional :: Color
particle_tintsnew optional :: TileBasedParticleTints
walking_sound optional :: Sound
landing_steps_soundnew optional :: Sound
driving_soundnew optional :: Sound
build_sound optional :: Sound or TileBuildSound

If this is loaded as one Sound, it is loaded as the "small" build sound.

If this is loaded as one Sound, it is loaded as the "small" build sound.

mined_sound optional :: Sound
walking_speed_modifier optional :: double
vehicle_friction_modifier optional :: double
decorative_removal_probability optional :: float
allowed_neighbors optional :: array[TileID]

Array of tile names that are allowed next to this one.

Array of tile names that are allowed next to this one.

needs_correction optional :: bool

Whether the tile needs tile correction logic applied when it's generated in the world, to prevent graphical artifacts. [...]

Whether the tile needs tile correction logic applied when it's generated in the world, to prevent graphical artifacts. [...]

minable optional :: MinableProperties

If you want the tile to not be mineable, don't specify the minable property. [...]

If you want the tile to not be mineable, don't specify the minable property. [...]

fluidnew optional :: FluidID
next_direction optional :: TileID
can_be_part_of_blueprint optional :: bool
is_foundationnew optional :: bool
destroys_dropped_itemsnew optional :: bool

If items dropped on this tile are destroyed.

If items dropped on this tile are destroyed.

allows_being_coverednew optional :: bool
searchablenew optional :: bool
max_healthnew optional :: float

Must be equal to or greater than 0.

Must be equal to or greater than 0.

weightnew optional :: Weight
dying_explosionnew optional :: ExplosionDefinition or array[ExplosionDefinition]

Triggers when a foundation tile is destroyed by an asteroid.

Triggers when a foundation tile is destroyed by an asteroid.

absorptions_per_secondnew optional :: dictionary[AirbornePollutantID → double]
default_cover_tilenew optional :: TileID
frozen_variantnew optional :: TileID
thawed_variantnew optional :: TileID
effectchanged optional :: TileEffectDefinitionID
trigger_effect optional :: TriggerEffect
default_destroyed_dropped_item_triggernew optional :: Trigger

The effect/trigger that runs when an item is destroyed by being dropped on this tile. [...]

The effect/trigger that runs when an item is destroyed by being dropped on this tile. [...]

scorch_mark_color optional :: Color
check_collision_with_entities optional :: bool

If set to true, the game will check for collisions with entities before building or mining the tile. [...]

If set to true, the game will check for collisions with entities before building or mining the tile. [...]

effect_color_secondary optional :: Color

Used by the pollution shader.

Used by the pollution shader.

effect_is_opaque optional :: bool
transitions optional :: array[TileTransitionsToTiles]

Extra transitions.

Extra transitions.

transitions_between_transitions optional :: array[TileTransitionsBetweenTransitions]
autoplace optional :: AutoplaceSpecification
placeable_by optional :: ItemToPlace or array[ItemToPlace]
bound_decorativesnew optional :: DecorativeID or array[DecorativeID]
ambient_sounds_groupnew optional :: TileID
ambient_soundsnew optional :: WorldAmbientSoundDefinition or array[WorldAmbientSoundDefinition]

TipsAndTricksItem 'tips-and-tricks-item' changed

image optional :: FileName
simulation optional :: SimulationDefinition
tag optional :: string

String to add in front of the tips and trick entries name. [...]

String to add in front of the tips and trick entries name. [...]

category optional :: string

Name of a TipsAndTricksItemCategory, used for the sorting of this tips and tricks entry. [...]

Name of a TipsAndTricksItemCategory, used for the sorting of this tips and tricks entry. [...]

indent optional :: uint8

The tips and tricks entry is indented by indent×6 spaces.

The tips and tricks entry is indented by indent×6 spaces.

is_title optional :: bool

Whether the tip title on the left in the tips and tricks GUI should use the "title_tip_item" style (semi bold font).

Whether the tip title on the left in the tips and tricks GUI should use the "title_tip_item" style (semi bold font).

trigger optional :: TipTrigger

Condition for when the tip notification should be shown to the player.

Condition for when the tip notification should be shown to the player.

skip_trigger optional :: TipTrigger

Condition for never showing the tip notification to the player.

Condition for never showing the tip notification to the player.

tutorial optional :: string
starting_status optional :: TipStatus
dependencies optional :: array[string]

An array of names of other tips and tricks items. [...]

An array of names of other tips and tricks items. [...]

player_input_method_filter optional :: PlayerInputMethodFilter
iconsnew optional :: array[IconData]

Can't be an empty array.

Can't be an empty array.

iconnew optional :: FileName

Path to the icon file. [...]

Path to the icon file. [...]

icon_sizenew optional :: SpriteSizeType

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

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

TipsAndTricksItemCategory 'tips-and-tricks-item-category'

type :: "tips-and-tricks-item-category"
name :: string
order :: Order

Tips and trick categories are sorted by order, and then the tips and tips entries are sorted by their own order within those categories.

Tips and trick categories are sorted by order, and then the tips and tips entries are sorted by their own order within those categories.

durability optional :: double

The durability of this tool. [...]

The durability of this tool. [...]

durability_description_key optional :: string

May not be longer than 200 characters.

May not be longer than 200 characters.

durability_description_value optional :: string

May not be longer than 200 characters. [...]

May not be longer than 200 characters. [...]

infinite optional :: bool

Whether this tool has infinite durability. [...]

Whether this tool has infinite durability. [...]

TrainPathAchievementPrototype 'train-path-achievement'

minimum_distance :: double

The achievement will trigger if a train path is longer than this.

The achievement will trigger if a train path is longer than this.

belt_animation_set optional :: TransportBeltAnimationSet
speed :: double

The speed of the belt: speed × 480 = x Items/second. [...]

The speed of the belt: speed × 480 = x Items/second. [...]

animation_speed_coefficient optional :: double

TransportBeltPrototype 'transport-belt' changed

connector_frame_sprites optional :: TransportBeltConnectorFrame
circuit_wire_max_distance optional :: double

The maximum circuit wire distance for this entity.

The maximum circuit wire distance for this entity.

draw_copper_wires optional :: bool
draw_circuit_wires optional :: bool
circuit_connectornew optional :: array[CircuitConnectorDefinition]

Set of 7 circuit connector definitions in order: X, H, V, SE, SW, NE and NW.

Set of 7 circuit connector definitions in order: X, H, V, SE, SW, NE and NW.

related_underground_belt optional :: EntityID

The name of the UndergroundBeltPrototype which is used in quick-replace fashion when the smart belt dragging behavior is triggered.

The name of the UndergroundBeltPrototype which is used in quick-replace fashion when the smart belt dragging behavior is triggered.

TreePrototype 'tree' changed

variation_weights optional :: array[float]
darkness_of_burnt_tree optional :: float
pictures optional :: SpriteVariations

Mandatory if variations is not defined.

Mandatory if variations is not defined.

variations optional :: array[TreeVariation]

If defined, it can't be empty.

If defined, it can't be empty.

colors optional :: array[Color]

Mandatory if variations is defined.

Mandatory if variations is defined.

stateless_visualisation_variationsnew optional :: array[StatelessVisualisations]

TriggerTargetType 'trigger-target-type'

type :: "trigger-target-type"
name :: string

TrivialSmokePrototype 'trivial-smoke'

animation :: Animation
duration :: uint32

Can't be 0 - the smoke will never render.

Can't be 0 - the smoke will never render.

glow_animation optional :: Animation
color optional :: Color
start_scale optional :: float
end_scale optional :: float
movement_slow_down_factor optional :: double

Value between 0 and 1, with 1 being no slowdown and 0 being no movement.

Value between 0 and 1, with 1 being no slowdown and 0 being no movement.

spread_duration optional :: uint32
fade_away_duration optional :: uint32

fade_in_duration + fade_away_duration must be <= duration.

fade_in_duration + fade_away_duration must be <= duration.

fade_in_duration optional :: uint32

fade_in_duration + fade_away_duration must be <= duration.

fade_in_duration + fade_away_duration must be <= duration.

glow_fade_away_duration optional :: uint32
cyclic optional :: bool
affected_by_wind optional :: bool

Smoke always moves randomly unless movement_slow_down_factor is 0. [...]

Smoke always moves randomly unless movement_slow_down_factor is 0. [...]

show_when_smoke_off optional :: bool
render_layer optional :: RenderLayer

TurretPrototype 'turret' changed

attack_parameters :: AttackParameters

Requires ammo_type in attack_parameters unless this is a AmmoTurretPrototype.

Requires ammo_type in attack_parameters unless this is a AmmoTurretPrototype.

folded_animationchanged :: RotatedAnimation8Way
call_for_help_radius :: double
attack_target_mask optional :: TriggerTargetMask
ignore_target_mask optional :: TriggerTargetMask
shoot_in_prepare_state optional :: bool
start_attacking_only_when_can_shootnew optional :: bool

When false the turret will enter starting_attack state without checking its ammo or energy levels. [...]

When false the turret will enter starting_attack state without checking its ammo or energy levels. [...]

turret_base_has_direction optional :: bool

When true the turret's collision box will affected by its rotation.

When true the turret's collision box will affected by its rotation.

random_animation_offset optional :: bool
attack_from_start_frame optional :: bool
allow_turning_when_starting_attack optional :: bool
gun_animation_secondary_draw_order optional :: uint8
gun_animation_render_layer optional :: RenderLayer
graphics_setnew :: TurretGraphicsSet
preparing_animationchanged optional :: RotatedAnimation8Way
prepared_animationchanged optional :: RotatedAnimation8Way
prepared_alternative_animationchanged optional :: RotatedAnimation8Way
starting_attack_animationchanged optional :: RotatedAnimation8Way
attacking_animationchanged optional :: RotatedAnimation8Way
energy_glow_animationchanged optional :: RotatedAnimation8Way
resource_indicator_animationnew optional :: RotatedAnimation8Way
ending_attack_animationchanged optional :: RotatedAnimation8Way
folding_animationchanged optional :: RotatedAnimation8Way
integration optional :: Sprite
special_effectnew optional :: TurretSpecialEffect
glow_light_intensity optional :: float

The intensity of light in the form of energy_glow_animation drawn on top of energy_glow_animation.

The intensity of light in the form of energy_glow_animation drawn on top of energy_glow_animation.

energy_glow_animation_flicker_strength optional :: float

The range of the flickering of the alpha of energy_glow_animation. [...]

The range of the flickering of the alpha of energy_glow_animation. [...]

starting_attack_sound optional :: Sound
dying_sound optional :: Sound
preparing_sound optional :: Sound
folding_sound optional :: Sound
prepared_sound optional :: Sound
prepared_alternative_sound optional :: Sound
rotating_soundnew optional :: InterruptibleSound
default_speednew optional :: float
default_speed_secondarynew optional :: float
default_speed_when_killednew optional :: float
default_starting_progress_when_killednew optional :: float
rotation_speed optional :: float
rotation_speed_secondarynew optional :: float
rotation_speed_when_killednew optional :: float
rotation_starting_progress_when_killednew optional :: float
preparing_speed optional :: float

Controls the speed of the preparing_animation: 1 ÷ preparing_speed = duration of the preparing_animation

Controls the speed of the preparing_animation: 1 ÷ preparing_speed = duration of the preparing_animation

preparing_speed_secondarynew optional :: float
preparing_speed_when_killednew optional :: float
preparing_starting_progress_when_killednew optional :: float
folded_speed optional :: float

It's randomized whether a particular turret uses the primary or the secondary speed for its animations. [...]

It's randomized whether a particular turret uses the primary or the secondary speed for its animations. [...]

folded_speed_secondary optional :: float

It's randomized whether a particular turret uses the primary or the secondary speed for its animations. [...]

It's randomized whether a particular turret uses the primary or the secondary speed for its animations. [...]

folded_speed_when_killednew optional :: float
folded_starting_progress_when_killednew optional :: float
prepared_speed optional :: float

It's randomized whether a particular turret uses the primary or the secondary speed for its animations. [...]

It's randomized whether a particular turret uses the primary or the secondary speed for its animations. [...]

prepared_speed_secondary optional :: float

It's randomized whether a particular turret uses the primary or the secondary speed for its animations. [...]

It's randomized whether a particular turret uses the primary or the secondary speed for its animations. [...]

prepared_speed_when_killednew optional :: float
prepared_starting_progress_when_killednew optional :: float
prepared_alternative_speed optional :: float

It's randomized whether a particular turret uses the primary or the secondary speed for its animations. [...]

It's randomized whether a particular turret uses the primary or the secondary speed for its animations. [...]

prepared_alternative_speed_secondary optional :: float

It's randomized whether a particular turret uses the primary or the secondary speed for its animations. [...]

It's randomized whether a particular turret uses the primary or the secondary speed for its animations. [...]

prepared_alternative_speed_when_killednew optional :: float
prepared_alternative_starting_progress_when_killednew optional :: float
prepared_alternative_chance optional :: float

The chance for prepared_alternative_animation to be used.

The chance for prepared_alternative_animation to be used.

starting_attack_speed optional :: float

Controls the speed of the starting_attack_animation: 1 ÷ starting_attack_speed = duration of the starting_attack_animation

Controls the speed of the starting_attack_animation: 1 ÷ starting_attack_speed = duration of the starting_attack_animation

starting_attack_speed_secondarynew optional :: float
starting_attack_speed_when_killednew optional :: float
starting_attack_starting_progress_when_killednew optional :: float
attacking_speed optional :: float

Controls the speed of the attacking_animation: 1 ÷ attacking_speed = duration of the attacking_animation

Controls the speed of the attacking_animation: 1 ÷ attacking_speed = duration of the attacking_animation

ending_attack_speed optional :: float

Controls the speed of the ending_attack_animation: 1 ÷ ending_attack_speed = duration of the ending_attack_animation

Controls the speed of the ending_attack_animation: 1 ÷ ending_attack_speed = duration of the ending_attack_animation

ending_attack_speed_secondarynew optional :: float
ending_attack_speed_when_killednew optional :: float
ending_attack_starting_progress_when_killednew optional :: float
folding_speed optional :: float

Controls the speed of the folding_animation: 1 ÷ folding_speed = duration of the folding_animation

Controls the speed of the folding_animation: 1 ÷ folding_speed = duration of the folding_animation

folding_speed_secondarynew optional :: float
folding_speed_when_killednew optional :: float
folding_starting_progress_when_killednew optional :: float
prepare_range optional :: double
alert_when_attacking optional :: bool
spawn_decorations_on_expansion optional :: bool

Whether spawn_decoration should be spawned when this turret is created through enemy expansion.

Whether spawn_decoration should be spawned when this turret is created through enemy expansion.

folded_animation_is_statelessnew optional :: bool
unfolds_before_dyingnew optional :: bool
spawn_decorationchanged optional :: array[CreateDecorativesTriggerEffectItem]

Decoratives to be created when the spawner is created by the map generator. [...]

Decoratives to be created when the spawner is created by the map generator. [...]

folded_state_corpsenew optional :: EntityID or array[EntityID]
can_retarget_while_starting_attacknew optional :: bool
circuit_wire_max_distancenew optional :: double

The maximum circuit wire distance for this entity.

The maximum circuit wire distance for this entity.

draw_copper_wiresnew optional :: bool
draw_circuit_wiresnew optional :: bool
circuit_connectornew optional :: array[CircuitConnectorDefinition]

Set of circuit connector definitions for all directions used by this turret. [...]

Set of circuit connector definitions for all directions used by this turret. [...]

TutorialDefinition 'tutorial' changed

scenario :: string

Name of the folder for this tutorial scenario in the tutorials folder.

Name of the folder for this tutorial scenario in the tutorials folder.

UnitPrototype 'unit' changed

run_animation :: RotatedAnimation
attack_parameters :: AttackParameters

Requires animation in attack_parameters. [...]

Requires animation in attack_parameters. [...]

warcrynew optional :: Sound

A sound the unit makes when it sets out to attack.

A sound the unit makes when it sets out to attack.

movement_speed :: float

Movement speed of the unit in the world, in tiles per tick. [...]

Movement speed of the unit in the world, in tiles per tick. [...]

distance_per_frame :: float

How fast the run_animation frames are advanced. [...]

How fast the run_animation frames are advanced. [...]

distraction_cooldown :: uint32
vision_distance :: double

Max is 100. [...]

Max is 100. [...]

rotation_speed optional :: float
dying_sound optional :: Sound

The sound file to play when entity dies.

The sound file to play when entity dies.

min_pursue_time optional :: uint32

In ticks.

In ticks.

has_belt_immunity optional :: bool

If the unit is immune to movement by belts.

If the unit is immune to movement by belts.

max_pursue_distance optional :: double
radar_range optional :: uint32
ai_settings optional :: UnitAISettings
move_while_shooting optional :: bool
can_open_gates optional :: bool
affected_by_tiles optional :: bool
render_layer optional :: RenderLayer
light optional :: LightDefinition
absorptions_to_join_attacknew optional :: dictionary[AirbornePollutantID → float]
spawning_time_modifier optional :: double
walking_sound optional :: Sound
alternative_attacking_frame_sequence optional :: UnitAlternativeFrameSequence
running_sound_animation_positions optional :: array[float]

Only loaded if walking_sound is defined.

Only loaded if walking_sound is defined.

UpgradeItemPrototype 'upgrade-item' changed

No new properties

UseEntityInEnergyProductionAchievementPrototype 'use-entity-in-energy-production-achievement' new

entity :: EntityID

This entity is needed to produce energy, for the player to complete the achievement.

This entity is needed to produce energy, for the player to complete the achievement.

consumed_condition optional :: ItemIDFilter

This item need to be consumed before gaining the achievement.

This item need to be consumed before gaining the achievement.

produced_condition optional :: ItemIDFilter

This item needs to be produced before gaining the achievement.

This item needs to be produced before gaining the achievement.

required_to_build optional :: EntityID

This item need to be built before gaining the achievement.

This item need to be built before gaining the achievement.

UseItemAchievementPrototype 'use-item-achievement' new

to_use :: ItemID

This will trigger the achievement, if this capsule is used.

This will trigger the achievement, if this capsule is used.

limit_quality :: QualityID
amount optional :: uint32

How many capsules need to be used.

How many capsules need to be used.

limited_to_one_game optional :: bool

If this is false, the player carries over their statistics from this achievement through all their saves.

If this is false, the player carries over their statistics from this achievement through all their saves.

UtilityConstants 'utility-constants' changed

entity_button_background_color :: Color
building_buildable_too_far_tint :: Color
building_buildable_tint :: Color
building_not_buildable_tint :: Color
building_ignorable_tint :: Color
building_no_tint :: Color
underground_belt_max_distance_tintnew :: Color
underground_pipe_max_distance_tintnew :: Color
ghost_shader_tintnew :: GhostTintSet
ghost_shaderless_tintnew :: GhostTintSet
ghost_shimmer_settingsnew :: GhostShimmerConfig
probability_product_count_tintnew :: Color
zero_count_value_tintnew :: Color
equipment_default_background_color :: Color
equipment_default_background_border_color :: Color
equipment_default_grabbed_background_color :: Color
turret_range_visualization_color :: Color
capsule_range_visualization_color :: Color
agricultural_range_visualization_colornew :: Color
artillery_range_visualization_color :: Color
chart :: ChartUtilityConstants

Chart means map and minimap.

Chart means map and minimap.

gui_remark_color :: Color
gui_search_match_foreground_colornew :: Color
gui_search_match_background_colornew :: Color
default_player_force_color :: Color
default_enemy_force_color :: Color
default_other_force_color :: Color
deconstruct_mark_tint :: Color
rail_planner_count_button_color :: Color
count_button_size :: int32
logistic_gui_unselected_network_highlight_tintnew :: Color
logistic_gui_selected_network_highlight_tintnew :: Color
chart_search_highlightnew :: Color
selected_chart_search_highlightnew :: Color
zoom_to_world_can_use_nightvision :: bool
zoom_to_world_effect_strength :: float
max_logistic_filter_countnew :: LogisticFilterIndex
max_terrain_building_size :: uint8
small_area_size :: float
medium_area_size :: float
large_area_sizenew :: float
small_blueprint_area_size :: float
medium_blueprint_area_size :: float
large_blueprint_area_sizenew :: float
enabled_recipe_slot_tint :: Color
disabled_recipe_slot_tint :: Color
disabled_recipe_slot_background_tint :: Color
forced_enabled_recipe_slot_background_tint :: Color
rail_segment_colors :: array[Color]
player_colors :: array[PlayerColorData]

The table with name = "default" must exist and be the first member of the array.

The table with name = "default" must exist and be the first member of the array.

server_command_console_chat_color :: Color
script_command_console_chat_color :: Color
default_alert_icon_scale :: float
default_alert_icon_shift_by_type optional :: dictionary[string → Vector]
default_alert_icon_scale_by_type optional :: dictionary[string → float]
bonus_gui_ordering :: BonusGuiOrdering

The base game uses more entries here that are applied via the ammo-category.lua file.

The base game uses more entries here that are applied via the ammo-category.lua file.

daytime_color_lookup :: DaytimeColorLookupTable
zoom_to_world_daytime_color_lookup :: DaytimeColorLookupTable
frozen_color_lookupnew :: ColorLookupTable
map_editor :: MapEditorConstants
drop_item_radiusnew :: float
checkerboard_white :: Color
checkerboard_black :: Color
item_outline_color :: Color
item_outline_radius :: float
item_outline_inset :: float
item_outline_sharpness :: float
item_default_random_tint_strengthnew :: Color
spawner_evolution_factor_health_modifiernew :: float
item_health_bar_colorsnew :: array[ItemHealthColorData]

There must be one array item with a threshold of 0.

There must be one array item with a threshold of 0.

item_ammo_magazine_left_bar_colornew :: Color
item_tool_durability_bar_colornew :: Color
filter_outline_color :: Color
icon_shadow_radius :: float
icon_shadow_inset :: float
icon_shadow_sharpness :: float
icon_shadow_color :: Color
clipboard_history_size :: uint32
recipe_step_limit :: uint32
manual_rail_building_reach_modifier :: double
train_temporary_stop_wait_time :: uint32
train_time_wait_condition_default :: uint32
train_inactivity_wait_condition_default :: uint32
default_trigger_target_mask_by_type optional :: dictionary[string → TriggerTargetMask]

The strings are entity types.

The strings are entity types.

unit_group_pathfind_resolution :: int8
unit_group_max_pursue_distance :: double
dynamic_recipe_overload_factor :: double
minimum_recipe_overload_multiplier :: uint32
maximum_recipe_overload_multiplier :: uint32
entity_renderer_search_box_limits :: EntityRendererSearchBoxLimits
light_renderer_search_distance_limit :: uint8

Can be set to anything from range 0 to 255, but larger values will be clamped to 160. [...]

Can be set to anything from range 0 to 255, but larger values will be clamped to 160. [...]

tree_leaf_distortion_strength_far :: Vector
tree_leaf_distortion_distortion_far :: Vector
tree_leaf_distortion_speed_far :: Vector
tree_leaf_distortion_strength_near :: Vector
tree_leaf_distortion_distortion_near :: Vector
tree_leaf_distortion_speed_near :: Vector
tree_shadow_roughness :: float
tree_shadow_speed :: float
missing_preview_sprite_location :: FileName
main_menu_background_image_location :: FileName
main_menu_simulations optional :: dictionary[string → SimulationDefinition]

The strings represent the names of the simulations.

The strings represent the names of the simulations.

main_menu_background_vignette_intensity :: float
main_menu_background_vignette_sharpness :: float
default_scorch_mark_color :: Color
color_filters optional :: array[ColorFilterData]
minimap_slot_hovered_tintnew :: Color
minimap_slot_clicked_tintnew :: Color
clear_cursor_volume_modifiernew :: float
weapons_in_simulation_volume_modifiernew :: float
explosions_in_simulation_volume_modifiernew :: float
enemies_in_simulation_volume_modifiernew :: float
low_energy_robot_estimate_multipliernew :: double
asteroid_spawning_offsetnew :: SimpleBoundingBox
asteroid_fading_rangenew :: float
asteroid_spawning_with_random_orientation_max_speednew :: double
asteroid_position_offset_to_speed_coefficientnew :: double
asteroid_collector_navmesh_refresh_tick_intervalnew :: uint32
asteroid_collector_blockage_update_tile_distancenew :: uint32
asteroid_collector_max_nurbs_control_point_separationnew :: double
asteroid_collector_static_head_swing_strength_scalenew :: double
asteroid_collector_static_head_swing_segment_countnew :: uint32
space_platform_default_speed_formulanew :: MathExpression

Variables: speed, thrust, weight, width, height

Variables: speed, thrust, weight, width, height

space_platform_relative_speed_factornew :: double
space_platform_starfield_movement_vectornew :: Vector
space_platform_max_sizenew :: SimpleBoundingBox
space_platform_dump_cooldownnew :: uint32

Determines how fast space platforms will send items in trash slots to the surface. [...]

Determines how fast space platforms will send items in trash slots to the surface. [...]

default_item_weightnew :: Weight
rocket_lift_weightnew :: Weight
max_fluid_flownew :: FluidAmount
default_pipeline_extentnew :: double

The default value of FluidBox::max_pipeline_extent.

The default value of FluidBox::max_pipeline_extent.

default_planet_procession_setnew :: ProcessionSet

Must contain arrival and departure with procession_style containing 0.

Must contain arrival and departure with procession_style containing 0.

default_platform_procession_setnew :: ProcessionSet

Must contain arrival and departure with procession_style containing 0.

Must contain arrival and departure with procession_style containing 0.

landing_area_clear_zone_radiusnew :: float

Radius of area where cargo pods won't land.

Radius of area where cargo pods won't land.

landing_area_max_radiusnew :: float

Max radius where cargo pods will land.

Max radius where cargo pods will land.

lightning_attractor_collection_range_colornew :: Color
lightning_attractor_protection_range_colornew :: Color
ejected_item_lifetimenew :: MapTick

Silently clamped to be between 1 tick and 5 minutes (5 * 60 * 60 ticks).

Silently clamped to be between 1 tick and 5 minutes (5 * 60 * 60 ticks).

ejected_item_speednew :: double

Silently clamped to be between 0 and 1/60.

Silently clamped to be between 0 and 1/60.

ejected_item_direction_variationnew :: double

Silently clamped to be between 0 and 0.99.

Silently clamped to be between 0 and 0.99.

ejected_item_frictionnew :: double

Silently clamped to be between 0 and 1.

Silently clamped to be between 0 and 1.

train_visualizationnew :: TrainVisualizationConstants
default_collision_masksnew :: dictionary[string → CollisionMaskConnector]

The strings can be entity types or custom strings.

The strings can be entity types or custom strings.

show_chunk_components_collision_masknew :: CollisionMaskConnector
building_collision_masknew :: CollisionMaskConnector
water_collision_masknew :: CollisionMaskConnector
ghost_layernew :: CollisionLayerID
train_pushed_by_player_max_speednew :: double
train_pushed_by_player_max_accelerationnew :: double
train_pushed_by_player_ignores_frictionnew :: bool
freezing_temperaturenew :: double
train_on_elevated_rail_shadow_shift_multipliernew :: Vector
select_group_row_count :: uint8

Must be in range [1, 100].

Must be in range [1, 100].

select_slot_row_countchanged :: uint8

Must be in range [1, 100].

Must be in range [1, 100].

inventory_width :: uint32

Must be in range [1, 100].

Must be in range [1, 100].

module_inventory_width :: uint32

Must be in range [1, 100].

Must be in range [1, 100].

tooltip_monitor_edge_border :: int32

Must be >= 1.

Must be >= 1.

flying_text_ttl :: uint32

Must be >= 1.

Must be >= 1.

train_path_finding :: TrainPathFinderConstants
max_belt_stack_sizenew :: uint8

Must be >= 1.

Must be >= 1.

inserter_hand_stack_items_per_spritenew :: ItemCountType

Must be >= 1.

Must be >= 1.

inserter_hand_stack_max_spritesnew :: ItemCountType

Must be >= 1.

Must be >= 1.

remote_view_LPF_min_cutoff_frequencynew :: float
remote_view_LPF_max_cutoff_frequencynew :: float
walking_sound_count_reduction_ratenew :: float

Silently clamped to be between 0 and 1.

Silently clamped to be between 0 and 1.

moving_sound_count_reduction_ratenew :: float

Silently clamped to be between 0 and 1.

Silently clamped to be between 0 and 1.

environment_sounds_transition_fade_in_ticksnew :: uint32
time_to_show_full_health_barnew :: MapTick

The number of ticks to show a segmented unit's health bar after fully regenerating.

The number of ticks to show a segmented unit's health bar after fully regenerating.

UtilitySounds 'utility-sounds' changed

gui_click :: Sound
list_box_click :: Sound
build_small :: Sound
build_medium :: Sound
build_large :: Sound
build_hugenew :: Sound
cannot_build :: Sound
build_blueprint_small :: Sound
build_blueprint_medium :: Sound
build_blueprint_large :: Sound
build_blueprint_hugenew :: Sound
build_ghost_upgradenew :: Sound
build_ghost_upgrade_cancelnew :: Sound
build_animated_smallnew :: Sound
build_animated_mediumnew :: Sound
build_animated_largenew :: Sound
build_animated_hugenew :: Sound
deconstruct_small :: Sound
deconstruct_medium :: Sound
deconstruct_largenew :: Sound
deconstruct_hugenew :: Sound
deconstruct_robot :: Sound
rotated_small :: Sound
rotated_medium :: Sound
rotated_largenew :: Sound
rotated_hugenew :: Sound
axe_mining_ore :: Sound
axe_mining_stonenew :: Sound
mining_wood :: Sound
axe_fighting :: Sound
alert_destroyed :: Sound
console_message :: Sound
scenario_message :: Sound
new_objective :: Sound
game_lost :: Sound
game_won :: Sound
metal_walking_sound :: Sound
research_completed :: Sound
default_manual_repair :: Sound
crafting_finished :: Sound
inventory_click :: Sound
inventory_move :: Sound
clear_cursor :: Sound
armor_insert :: Sound
armor_remove :: Sound
achievement_unlocked :: Sound
wire_connect_pole :: Sound
wire_disconnect :: Sound
wire_pickup :: Sound
tutorial_notice :: Sound
smart_pipette :: Sound
switch_gun :: Sound
picked_up_item :: Sound
paste_activated :: Sound
item_deleted :: Sound
entity_settings_pasted :: Sound
entity_settings_copied :: Sound
item_spawned :: Sound
confirm :: Sound
undo :: Sound
drop_item :: Sound
rail_plan_start :: Sound
default_driving_soundnew :: InterruptibleSound
default_landing_stepsnew :: Sound
segment_dying_soundnew optional :: Sound

Only present when the Space Age mod is loaded.

Only present when the Space Age mod is loaded.

UtilitySprites 'utility-sprites' changed

cursor_box :: CursorBoxSpecification
platform_entity_build_animationsnew optional :: EntityBuildAnimations

Only present when the Space Age mod is loaded.

Only present when the Space Age mod is loaded.

bookmark :: Sprite
center :: Sprite
check_mark :: Sprite
check_mark_white :: Sprite
check_mark_green :: Sprite
check_mark_dark_green :: Sprite
not_played_yet_green :: Sprite
not_played_yet_dark_green :: Sprite
played_green :: Sprite
played_dark_green :: Sprite
close_fat :: Sprite
closenew :: Sprite
close_black :: Sprite
backward_arrownew :: Sprite
backward_arrow_blacknew :: Sprite
forward_arrownew :: Sprite
forward_arrow_blacknew :: Sprite
recipe_arrownew :: Sprite
close_map_preview :: Sprite
color_picker :: Sprite
change_recipe :: Sprite
dropdown :: Sprite
downloading :: Sprite
downloaded :: Sprite
equipment_grid :: Sprite
expand_dots :: Sprite
export :: Sprite
import :: Sprite
map :: Sprite
map_exchange_string :: Sprite
missing_mod_icon :: Sprite
not_available :: Sprite
not_available_blacknew :: Sprite
play :: Sprite
stop :: Sprite
preset :: Sprite
refresh :: Sprite
reset :: Sprite
reset_white :: Sprite
shuffle :: Sprite
station_name :: Sprite
searchnew :: Sprite
sync_mods :: Sprite
trash :: Sprite
trash_white :: Sprite
copy :: Sprite
reassign :: Sprite
warning :: Sprite
warning_white :: Sprite
list_view :: Sprite
grid_view :: Sprite
slots_viewnew :: Sprite
reference_point :: Sprite
mouse_cursor :: Sprite
mouse_cursor_macosnew :: Sprite
mod_categorynew :: Sprite
mod_last_updatednew :: Sprite
mod_downloads_countnew :: Sprite
item_to_be_delivered_symbolnew :: Sprite
rebuild_marknew :: Sprite
any_qualitynew :: Sprite
mod_dependency_arrow :: Sprite
add :: Sprite
add_whitenew :: Sprite
clone :: Sprite
go_to_arrow :: Sprite
pause :: Sprite
speed_down :: Sprite
speed_up :: Sprite
editor_speed_down :: Sprite
editor_pause :: Sprite
editor_play :: Sprite
editor_speed_up :: Sprite
tick_once :: Sprite
tick_sixty :: Sprite
tick_custom :: Sprite
search_icon :: Sprite
too_far :: Sprite
shoot_cursor_green :: Sprite
shoot_cursor_red :: Sprite
electricity_icon :: Sprite
lightning_warning_iconnew :: Sprite
fuel_icon :: Sprite
ammo_icon :: Sprite
fluid_icon :: Sprite

The sprite will be drawn on top of fluid turrets that are out of fluid ammunition and don't have FluidTurretPrototype::out_of_ammo_alert_icon set.

The sprite will be drawn on top of fluid turrets that are out of fluid ammunition and don't have FluidTurretPrototype::out_of_ammo_alert_icon set.

warning_icon :: Sprite
danger_icon :: Sprite
destroyed_icon :: Sprite
recharge_icon :: Sprite
no_path_iconnew :: Sprite
destination_full_iconnew :: Sprite
too_far_from_roboport_icon :: Sprite
pump_cannot_connect_icon :: Sprite
not_enough_repair_packs_icon :: Sprite
not_enough_construction_robots_icon :: Sprite
no_building_material_icon :: Sprite
no_storage_space_icon :: Sprite
no_platform_storage_space_iconnew :: Sprite
asteroid_collector_path_blocked_iconnew :: Sprite
unclaimed_cargo_iconnew :: Sprite
no_roboport_storage_space_iconnew :: Sprite
cargo_bay_not_connected_iconnew :: Sprite
frozen_iconnew :: Sprite
pipeline_disabled_iconnew :: Sprite
electricity_icon_unplugged :: Sprite
tooltip_category_spoilablenew :: Sprite
resources_depleted_iconnew :: Sprite
game_stopped_visualization :: Sprite
health_bar_green_pip :: Sprite
health_bar_yellow_pip :: Sprite
health_bar_red_pip :: Sprite
ghost_bar_pip :: Sprite
bar_gray_pip :: Sprite
shield_bar_pip :: Sprite
hand :: Sprite
hand_black :: Sprite
entity_info_dark_background :: Sprite
medium_gui_arrow :: Sprite
small_gui_arrow :: Sprite
light_medium :: Sprite
light_small :: Sprite
light_cone :: Sprite
color_effect :: Sprite
clock :: Sprite
default_ammo_damage_modifier_icon :: Sprite
default_gun_speed_modifier_icon :: Sprite
default_turret_attack_modifier_icon :: Sprite
hint_arrow_up :: Sprite
hint_arrow_down :: Sprite
hint_arrow_right :: Sprite
hint_arrow_left :: Sprite
fluid_indication_arrow :: Sprite
fluid_indication_arrow_both_ways :: Sprite
heat_exchange_indication :: Sprite
indication_arrow :: Sprite
rail_planner_indication_arrow :: Sprite
rail_planner_indication_arrow_anchorednew :: Sprite
rail_planner_indication_arrow_too_far :: Sprite
rail_path_not_possible :: Sprite
indication_line :: Sprite
short_indication_line :: Sprite
short_indication_line_green :: Sprite
empty_module_slotnew :: Sprite
empty_armor_slotnew :: Sprite
empty_gun_slotnew :: Sprite
empty_ammo_slotnew :: Sprite
empty_robot_slotnew :: Sprite
empty_robot_material_slotnew :: Sprite
empty_inserter_hand_slotnew :: Sprite
empty_trash_slotnew :: Sprite
empty_drop_cargo_slotnew :: Sprite
upgrade_blueprint :: Sprite
slot :: Sprite
equipment_slot :: Sprite
equipment_collision :: Sprite
battery :: Sprite
green_circle :: Sprite
green_dot :: Sprite
robot_slot :: Sprite
set_bar_slot :: Sprite
missing_icon :: Sprite
deconstruction_mark :: Sprite
buildability_collisionnew :: Sprite
buildability_elevated_collision_linenew :: Sprite
buildability_elevated_collision_topnew :: Sprite
buildability_elevated_collision_bottomnew :: Sprite
buildability_collision_elevatednew :: Sprite
upgrade_mark :: Sprite
confirm_slot :: Sprite
export_slot :: Sprite
import_slot :: Sprite
none_editor_icon :: Sprite
cable_editor_icon :: Sprite
tile_editor_icon :: Sprite
decorative_editor_icon :: Sprite
asteroid_chunk_editor_iconnew :: Sprite
resource_editor_icon :: Sprite
entity_editor_icon :: Sprite
item_editor_icon :: Sprite
force_editor_icon :: Sprite
clone_editor_icon :: Sprite
scripting_editor_icon :: Sprite
paint_bucket_icon :: Sprite
surface_editor_icon :: Sprite
time_editor_icon :: Sprite
cliff_editor_icon :: Sprite
brush_icon :: Sprite
spray_icon :: Sprite
cursor_icon :: Sprite
area_icon :: Sprite
line_icon :: Sprite
variations_tool_icon :: Sprite
lua_snippet_tool_icon :: Sprite
editor_selection :: Sprite
brush_square_shape :: Sprite
brush_circle_shape :: Sprite
player_force_icon :: Sprite
neutral_force_icon :: Sprite
enemy_force_icon :: Sprite
nature_icon :: Sprite
no_nature_icon :: Sprite
multiplayer_waiting_icon :: Sprite
spawn_flag :: Sprite
questionmark :: Sprite
copper_wire :: Sprite
green_wire :: Sprite
red_wire :: Sprite
copper_wire_highlightnew :: Sprite
green_wire_highlightnew :: Sprite
red_wire_highlightnew :: Sprite
wire_shadow :: Sprite
and_or :: Sprite
left_arrow :: Sprite
right_arrow :: Sprite
down_arrow :: Sprite
enter :: Sprite
move_tagnew :: Sprite
side_menu_blueprint_library_icon :: Sprite
side_menu_production_icon :: Sprite
side_menu_bonus_icon :: Sprite
side_menu_tutorials_icon :: Sprite
side_menu_factoriopedia_iconnew :: Sprite
side_menu_train_icon :: Sprite
side_menu_achievements_icon :: Sprite
side_menu_menu_icon :: Sprite
side_menu_map_icon :: Sprite
side_menu_space_platforms_iconnew :: Sprite
side_menu_technology_iconnew :: Sprite
side_menu_logistic_networks_iconnew :: Sprite
side_menu_players_iconnew :: Sprite
circuit_network_panelnew :: Sprite
logistic_network_panel_white :: Sprite
logistic_network_panel_black :: Sprite
rename_iconnew :: Sprite
achievement_warningnew :: Sprite
achievement_labelnew :: Sprite
achievement_label_completednew :: Sprite
achievement_label_failed :: Sprite
rail_signal_placement_indicator :: Sprite
train_stop_placement_indicator :: Sprite
rail_support_placement_indicatornew :: Sprite
placement_indicator_leg :: Sprite
grey_rail_signal_placement_indicator :: Sprite
grey_placement_indicator_leg :: Sprite
logistic_radius_visualization :: Sprite
construction_radius_visualization :: Sprite
track_button :: Sprite
track_button_whitenew :: Sprite
show_logistics_network_in_map_view :: Sprite
show_electric_network_in_map_view :: Sprite
show_turret_range_in_map_view :: Sprite
show_train_station_names_in_map_view :: Sprite
show_player_names_in_map_view :: Sprite
show_tags_in_map_view :: Sprite
show_worker_robots_in_map_view :: Sprite
show_rail_signal_states_in_map_view :: Sprite
show_recipe_icons_in_map_view :: Sprite
show_pipelines_in_map_viewnew :: Sprite
train_stop_in_map_view :: Sprite
train_stop_disabled_in_map_view :: Sprite
train_stop_full_in_map_view :: Sprite
custom_tag_in_map_view :: Sprite
covered_chunk :: Sprite
white_square :: Sprite
white_square_iconnew :: Sprite
white_mask :: Sprite
crafting_machine_recipe_not_unlocked :: Sprite
filter_blacklistnew :: Sprite
gps_map_icon :: Sprite
custom_tag_icon :: Sprite
space_age_iconnew :: Sprite
tip_iconnew :: Sprite
underground_remove_belts :: Sprite
max_distance_underground_remove_beltsnew :: Sprite
underground_remove_pipes :: Sprite
underground_pipe_connection :: Sprite
ghost_cursor :: Sprite
tile_ghost_cursor :: Sprite
force_ghost_cursornew :: Sprite
force_tile_ghost_cursornew :: Sprite
cross_select :: Sprite
crosshairnew :: Sprite
expand :: Sprite
collapse :: Sprite
status_working :: Sprite
status_not_working :: Sprite
status_yellow :: Sprite
status_bluenew :: Sprite
status_inactivenew :: Sprite
gradient :: Sprite
output_console_gradient :: Sprite
select_icon_white :: Sprite
select_icon_black :: Sprite
notification :: Sprite
alert_arrow :: Sprite
pin_arrownew :: Sprite
pin_centernew :: Sprite
technology_white :: Sprite
feedbacknew :: Sprite
sort_by_namenew :: Sprite
sort_by_timenew :: Sprite
parametrisenew :: Sprite
fluid_visualization_connectionnew :: Sprite
fluid_visualization_connection_both_waysnew :: Sprite
fluid_visualization_connection_undergroundnew :: Sprite
fluid_visualization_extent_arrownew :: Sprite
starmap_platform_movingnew :: Sprite
starmap_platform_moving_hoverednew :: Sprite
starmap_platform_moving_clickednew :: Sprite
starmap_platform_stoppednew :: Sprite
starmap_platform_stopped_hoverednew :: Sprite
starmap_platform_stopped_clickednew :: Sprite
starmap_platform_stackednew :: Sprite
starmap_platform_stacked_hoverednew :: Sprite
starmap_platform_stacked_clickednew :: Sprite
starmap_starnew :: Sprite
controller_joycon_a :: Sprite
controller_joycon_b :: Sprite
controller_joycon_x :: Sprite
controller_joycon_y :: Sprite
controller_joycon_back :: Sprite
controller_joycon_start :: Sprite
controller_joycon_leftstick :: Sprite
controller_joycon_rightstick :: Sprite
controller_joycon_leftshoulder :: Sprite
controller_joycon_rightshoulder :: Sprite
controller_joycon_dpup :: Sprite
controller_joycon_dpdown :: Sprite
controller_joycon_dpleft :: Sprite
controller_joycon_dpright :: Sprite
controller_joycon_paddle1 :: Sprite
controller_joycon_paddle2 :: Sprite
controller_joycon_paddle3 :: Sprite
controller_joycon_paddle4 :: Sprite
controller_joycon_righttrigger :: Sprite
controller_joycon_lefttrigger :: Sprite
controller_joycon_left_stick :: Sprite
controller_joycon_right_stick :: Sprite
controller_joycon_black_a :: Sprite
controller_joycon_black_b :: Sprite
controller_joycon_black_x :: Sprite
controller_joycon_black_y :: Sprite
controller_joycon_black_back :: Sprite
controller_joycon_black_start :: Sprite
controller_joycon_black_leftstick :: Sprite
controller_joycon_black_rightstick :: Sprite
controller_joycon_black_leftshoulder :: Sprite
controller_joycon_black_rightshoulder :: Sprite
controller_joycon_black_dpup :: Sprite
controller_joycon_black_dpdown :: Sprite
controller_joycon_black_dpleft :: Sprite
controller_joycon_black_dpright :: Sprite
controller_joycon_black_paddle1 :: Sprite
controller_joycon_black_paddle2 :: Sprite
controller_joycon_black_paddle3 :: Sprite
controller_joycon_black_paddle4 :: Sprite
controller_joycon_black_righttrigger :: Sprite
controller_joycon_black_lefttrigger :: Sprite
controller_joycon_black_left_stick :: Sprite
controller_joycon_black_right_stick :: Sprite
controller_xbox_a :: Sprite
controller_xbox_b :: Sprite
controller_xbox_x :: Sprite
controller_xbox_y :: Sprite
controller_xbox_back :: Sprite
controller_xbox_start :: Sprite
controller_xbox_leftstick :: Sprite
controller_xbox_rightstick :: Sprite
controller_xbox_leftshoulder :: Sprite
controller_xbox_rightshoulder :: Sprite
controller_xbox_dpup :: Sprite
controller_xbox_dpdown :: Sprite
controller_xbox_dpleft :: Sprite
controller_xbox_dpright :: Sprite
controller_xbox_righttrigger :: Sprite
controller_xbox_lefttrigger :: Sprite
controller_xbox_left_stick :: Sprite
controller_xbox_right_stick :: Sprite
controller_xbox_black_a :: Sprite
controller_xbox_black_b :: Sprite
controller_xbox_black_x :: Sprite
controller_xbox_black_y :: Sprite
controller_xbox_black_back :: Sprite
controller_xbox_black_start :: Sprite
controller_xbox_black_leftstick :: Sprite
controller_xbox_black_rightstick :: Sprite
controller_xbox_black_leftshoulder :: Sprite
controller_xbox_black_rightshoulder :: Sprite
controller_xbox_black_dpup :: Sprite
controller_xbox_black_dpdown :: Sprite
controller_xbox_black_dpleft :: Sprite
controller_xbox_black_dpright :: Sprite
controller_xbox_black_righttrigger :: Sprite
controller_xbox_black_lefttrigger :: Sprite
controller_xbox_black_left_stick :: Sprite
controller_xbox_black_right_stick :: Sprite
controller_ps_a :: Sprite
controller_ps_b :: Sprite
controller_ps_x :: Sprite
controller_ps_y :: Sprite
controller_ps_back :: Sprite
controller_ps_start :: Sprite
controller_ps_leftstick :: Sprite
controller_ps_rightstick :: Sprite
controller_ps_leftshoulder :: Sprite
controller_ps_rightshoulder :: Sprite
controller_ps_dpup :: Sprite
controller_ps_dpdown :: Sprite
controller_ps_dpleft :: Sprite
controller_ps_dpright :: Sprite
controller_ps_righttrigger :: Sprite
controller_ps_lefttrigger :: Sprite
controller_ps_left_stick :: Sprite
controller_ps_right_stick :: Sprite
controller_ps_black_a :: Sprite
controller_ps_black_b :: Sprite
controller_ps_black_x :: Sprite
controller_ps_black_y :: Sprite
controller_ps_black_back :: Sprite
controller_ps_black_start :: Sprite
controller_ps_black_leftstick :: Sprite
controller_ps_black_rightstick :: Sprite
controller_ps_black_leftshoulder :: Sprite
controller_ps_black_rightshoulder :: Sprite
controller_ps_black_dpup :: Sprite
controller_ps_black_dpdown :: Sprite
controller_ps_black_dpleft :: Sprite
controller_ps_black_dpright :: Sprite
controller_ps_black_righttrigger :: Sprite
controller_ps_black_lefttrigger :: Sprite
controller_ps_black_left_stick :: Sprite
controller_ps_black_right_stick :: Sprite
controller_steamdeck_a :: Sprite
controller_steamdeck_b :: Sprite
controller_steamdeck_x :: Sprite
controller_steamdeck_y :: Sprite
controller_steamdeck_back :: Sprite
controller_steamdeck_start :: Sprite
controller_steamdeck_leftstick :: Sprite
controller_steamdeck_rightstick :: Sprite
controller_steamdeck_leftshoulder :: Sprite
controller_steamdeck_rightshoulder :: Sprite
controller_steamdeck_dpup :: Sprite
controller_steamdeck_dpdown :: Sprite
controller_steamdeck_dpleft :: Sprite
controller_steamdeck_dpright :: Sprite
controller_steamdeck_paddle1 :: Sprite
controller_steamdeck_paddle2 :: Sprite
controller_steamdeck_paddle3 :: Sprite
controller_steamdeck_paddle4 :: Sprite
controller_steamdeck_righttrigger :: Sprite
controller_steamdeck_lefttrigger :: Sprite
controller_steamdeck_left_stick :: Sprite
controller_steamdeck_right_stick :: Sprite
controller_steamdeck_black_a :: Sprite
controller_steamdeck_black_b :: Sprite
controller_steamdeck_black_x :: Sprite
controller_steamdeck_black_y :: Sprite
controller_steamdeck_black_back :: Sprite
controller_steamdeck_black_start :: Sprite
controller_steamdeck_black_leftstick :: Sprite
controller_steamdeck_black_rightstick :: Sprite
controller_steamdeck_black_leftshoulder :: Sprite
controller_steamdeck_black_rightshoulder :: Sprite
controller_steamdeck_black_dpup :: Sprite
controller_steamdeck_black_dpdown :: Sprite
controller_steamdeck_black_dpleft :: Sprite
controller_steamdeck_black_dpright :: Sprite
controller_steamdeck_black_paddle1 :: Sprite
controller_steamdeck_black_paddle2 :: Sprite
controller_steamdeck_black_paddle3 :: Sprite
controller_steamdeck_black_paddle4 :: Sprite
controller_steamdeck_black_righttrigger :: Sprite
controller_steamdeck_black_lefttrigger :: Sprite
controller_steamdeck_black_left_stick :: Sprite
controller_steamdeck_black_right_stick :: Sprite
clouds :: Animation
arrow_button :: Animation
explosion_chart_visualization :: Animation
refresh_white :: Animation
navmesh_pending_iconnew :: Animation
inserter_stack_size_bonus_modifier_icon :: Sprite
inserter_stack_size_bonus_modifier_constant optional :: Sprite
bulk_inserter_capacity_bonus_modifier_iconnew :: Sprite
bulk_inserter_capacity_bonus_modifier_constantnew optional :: Sprite
laboratory_speed_modifier_icon :: Sprite
laboratory_speed_modifier_constant optional :: Sprite
character_logistic_trash_slots_modifier_icon :: Sprite
character_logistic_trash_slots_modifier_constant optional :: Sprite
maximum_following_robots_count_modifier_icon :: Sprite
maximum_following_robots_count_modifier_constant optional :: Sprite
worker_robot_speed_modifier_icon :: Sprite
worker_robot_speed_modifier_constant optional :: Sprite
worker_robot_storage_modifier_icon :: Sprite
worker_robot_storage_modifier_constant optional :: Sprite
create_ghost_on_entity_death_modifier_iconnew :: Sprite
create_ghost_on_entity_death_modifier_constantnew optional :: Sprite
turret_attack_modifier_icon :: Sprite
turret_attack_modifier_constant optional :: Sprite
ammo_damage_modifier_icon :: Sprite
ammo_damage_modifier_constant optional :: Sprite
give_item_modifier_icon :: Sprite
give_item_modifier_constant optional :: Sprite
gun_speed_modifier_icon :: Sprite
gun_speed_modifier_constant optional :: Sprite
unlock_recipe_modifier_icon :: Sprite
unlock_recipe_modifier_constant optional :: Sprite
character_crafting_speed_modifier_icon :: Sprite
character_crafting_speed_modifier_constant optional :: Sprite
character_mining_speed_modifier_icon :: Sprite
character_mining_speed_modifier_constant optional :: Sprite
character_running_speed_modifier_icon :: Sprite
character_running_speed_modifier_constant optional :: Sprite
character_build_distance_modifier_icon :: Sprite
character_build_distance_modifier_constant optional :: Sprite
character_item_drop_distance_modifier_icon :: Sprite
character_item_drop_distance_modifier_constant optional :: Sprite
character_reach_distance_modifier_icon :: Sprite
character_reach_distance_modifier_constant optional :: Sprite
character_resource_reach_distance_modifier_icon :: Sprite
character_resource_reach_distance_modifier_constant optional :: Sprite
character_item_pickup_distance_modifier_icon :: Sprite
character_item_pickup_distance_modifier_constant optional :: Sprite
character_loot_pickup_distance_modifier_icon :: Sprite
character_loot_pickup_distance_modifier_constant optional :: Sprite
character_inventory_slots_bonus_modifier_icon :: Sprite
character_inventory_slots_bonus_modifier_constant optional :: Sprite
deconstruction_time_to_live_modifier_icon :: Sprite
deconstruction_time_to_live_modifier_constant optional :: Sprite
max_failed_attempts_per_tick_per_construction_queue_modifier_icon :: Sprite
max_failed_attempts_per_tick_per_construction_queue_modifier_constant optional :: Sprite
max_successful_attempts_per_tick_per_construction_queue_modifier_icon :: Sprite
max_successful_attempts_per_tick_per_construction_queue_modifier_constant optional :: Sprite
character_health_bonus_modifier_icon :: Sprite
character_health_bonus_modifier_constant optional :: Sprite
mining_drill_productivity_bonus_modifier_icon :: Sprite
mining_drill_productivity_bonus_modifier_constant optional :: Sprite
train_braking_force_bonus_modifier_icon :: Sprite
train_braking_force_bonus_modifier_constant optional :: Sprite
worker_robot_battery_modifier_icon :: Sprite
worker_robot_battery_modifier_constant optional :: Sprite
laboratory_productivity_modifier_icon :: Sprite
laboratory_productivity_modifier_constant optional :: Sprite
follower_robot_lifetime_modifier_icon :: Sprite
follower_robot_lifetime_modifier_constant optional :: Sprite
artillery_range_modifier_icon :: Sprite
artillery_range_modifier_constant optional :: Sprite
nothing_modifier_icon :: Sprite
nothing_modifier_constant optional :: Sprite
character_additional_mining_categories_modifier_icon :: Sprite
character_additional_mining_categories_modifier_constant optional :: Sprite
character_logistic_requests_modifier_icon :: Sprite
character_logistic_requests_modifier_constant optional :: Sprite
unlock_space_location_modifier_iconnew :: Sprite
unlock_space_location_modifier_constantnew optional :: Sprite
unlock_quality_modifier_iconnew :: Sprite
unlock_quality_modifier_constantnew optional :: Sprite
unlock_space_platforms_modifier_iconnew :: Sprite
unlock_space_platforms_modifier_constantnew optional :: Sprite
unlock_circuit_network_modifier_iconnew :: Sprite
unlock_circuit_network_modifier_constantnew optional :: Sprite
cargo_landing_pad_count_modifier_iconnew :: Sprite
cargo_landing_pad_count_modifier_constantnew optional :: Sprite
change_recipe_productivity_modifier_iconnew :: Sprite
change_recipe_productivity_modifier_constantnew optional :: Sprite
cliff_deconstruction_enabled_modifier_iconnew :: Sprite
cliff_deconstruction_enabled_modifier_constantnew optional :: Sprite
mining_with_fluid_modifier_iconnew :: Sprite
mining_with_fluid_modifier_constantnew optional :: Sprite
rail_support_on_deep_oil_ocean_modifier_iconnew :: Sprite
rail_support_on_deep_oil_ocean_modifier_constantnew optional :: Sprite
rail_planner_allow_elevated_rails_modifier_iconnew :: Sprite
rail_planner_allow_elevated_rails_modifier_constantnew optional :: Sprite
beacon_distribution_modifier_iconnew :: Sprite
beacon_distribution_modifier_constantnew optional :: Sprite
belt_stack_size_bonus_modifier_iconnew :: Sprite
belt_stack_size_bonus_modifier_constantnew optional :: Sprite
vehicle_logistics_modifier_iconnew :: Sprite
vehicle_logistics_modifier_constantnew optional :: Sprite

VehiclePrototype abstract changed

weight :: double

Must be positive. [...]

Must be positive. [...]

braking_power or braking_force :: Energy or double

Must be positive. [...]

Must be positive. [...]

friction or friction_force :: double

Must be positive. [...]

Must be positive. [...]

energy_per_hit_point :: double

The (movement) energy used per hit point (1 hit point = 1 health damage) taken and dealt for this vehicle during collisions. [...]

The (movement) energy used per hit point (1 hit point = 1 health damage) taken and dealt for this vehicle during collisions. [...]

terrain_friction_modifier optional :: float

Must be in the [0, 1] interval.

Must be in the [0, 1] interval.

impact_speed_to_volume_rationew optional :: double
stop_trigger_speed optional :: double
crash_trigger optional :: TriggerEffect
stop_trigger optional :: TriggerEffect
equipment_grid optional :: EquipmentGridID

The name of the EquipmentGridPrototype this vehicle has.

The name of the EquipmentGridPrototype this vehicle has.

minimap_representation optional :: Sprite

The sprite that represents this vehicle on the map/minimap.

The sprite that represents this vehicle on the map/minimap.

selected_minimap_representation optional :: Sprite

The sprite that represents this vehicle on the map/minimap when it is selected.

The sprite that represents this vehicle on the map/minimap when it is selected.

allow_passengers optional :: bool

Determines whether this vehicle accepts passengers. [...]

Determines whether this vehicle accepts passengers. [...]

deliver_categorynew optional :: string

Name of a DeliverCategory.

Name of a DeliverCategory.

chunk_exploration_radiusnew optional :: uint32
allow_remote_drivingnew optional :: bool

VirtualSignalPrototype 'virtual-signal' changed

icons optional :: array[IconData]

The icon that is used to represent this virtual signal. [...]

The icon that is used to represent this virtual signal. [...]

icon optional :: FileName

Path to the icon file that is used to represent this virtual signal. [...]

Path to the icon file that is used to represent this virtual signal. [...]

icon_size optional :: SpriteSizeType

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

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

WallPrototype 'wall' changed

pictures optional :: WallPictures
visual_merge_group optional :: uint32

Different walls will visually connect to each other if their merge group is the same.

Different walls will visually connect to each other if their merge group is the same.

circuit_wire_max_distance optional :: double

The maximum circuit wire distance for this entity.

The maximum circuit wire distance for this entity.

draw_copper_wires optional :: bool
draw_circuit_wires optional :: bool
circuit_connectornew optional :: CircuitConnectorDefinition
default_output_signal optional :: SignalIDConnector
wall_diode_green optional :: Sprite4Way
wall_diode_red optional :: Sprite4Way
wall_diode_green_light_top optional :: LightDefinition
wall_diode_green_light_right optional :: LightDefinition
wall_diode_green_light_bottom optional :: LightDefinition
wall_diode_green_light_left optional :: LightDefinition
wall_diode_red_light_top optional :: LightDefinition
wall_diode_red_light_right optional :: LightDefinition
wall_diode_red_light_bottom optional :: LightDefinition
wall_diode_red_light_left optional :: LightDefinition
connected_gate_visualization optional :: Sprite

Prototypes

Types

Defines