typed-factorio 3.4.0 → 3.5.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -12,12 +12,12 @@ import type { VersionString } from "factorio:common"
12
12
  declare module "factorio:runtime" {
13
13
  /**
14
14
  * `math.huge` represents the maximum possible tick.
15
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/MapTick.html Online documentation}
15
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/MapTick.html Online documentation}
16
16
  */
17
17
  export type MapTick = uint64
18
18
  /**
19
19
  * The percentual increase of the attribute. A value of `0.6` means a 60% increase.
20
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/ModuleEffectValue.html Online documentation}
20
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/ModuleEffectValue.html Online documentation}
21
21
  */
22
22
  export type ModuleEffectValue = float
23
23
  /**
@@ -27,7 +27,7 @@ declare module "factorio:runtime" {
27
27
  * speed=-0.15,
28
28
  * productivity=0.06,
29
29
  * pollution=0.075}
30
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/ModuleEffects.html Online documentation}
30
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/ModuleEffects.html Online documentation}
31
31
  */
32
32
  export interface ModuleEffects {
33
33
  readonly consumption?: ModuleEffectValue
@@ -51,10 +51,9 @@ declare module "factorio:runtime" {
51
51
  * - `"<="`: "lesser than or equal to"
52
52
  * - `"≠"`: "not equal to"
53
53
  * - `"!="`: "not equal to"
54
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/ComparatorString.html Online documentation}
54
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/ComparatorString.html Online documentation}
55
55
  */
56
56
  export type ComparatorString = "=" | ">" | "<" | "≥" | ">=" | "≤" | "<=" | "≠" | "!="
57
- /** @see ComparatorString */
58
57
  export type ComparatorStringRead = "=" | ">" | "<" | "≥" | "≤" | "≠"
59
58
  export type SpriteType =
60
59
  | "item"
@@ -83,19 +82,15 @@ declare module "factorio:runtime" {
83
82
  *
84
83
  * The validity of a SpritePath can be verified at runtime using {@link LuaHelpers#is_valid_sprite_path LuaHelpers::is_valid_sprite_path}.
85
84
  *
86
- * {@link https://lua-api.factorio.com/2.0.17/concepts/SpritePath.html > The supported types are:}
87
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/SpritePath.html Online documentation}
85
+ * {@link https://lua-api.factorio.com/2.0.21/concepts/SpritePath.html > The supported types are:}
86
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/SpritePath.html Online documentation}
88
87
  */
89
- export type SpritePath =
90
- | (string & {
91
- _?: never
92
- })
93
- | `${SpriteType}${"/" | "."}${string}`
88
+ export type SpritePath = (string & { _?: never }) | `${SpriteType}${"/" | "."}${string}`
94
89
  /**
95
90
  * @example
96
91
  * -- Most common collision mask of buildings:
97
92
  * collision_mask = {layers = {item = true, meltable = true, object = true, player = true, water_tile = true, is_object = true, is_lower_object = true}}
98
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/CollisionMask.html Online documentation}
93
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/CollisionMask.html Online documentation}
99
94
  */
100
95
  export interface CollisionMask {
101
96
  /**
@@ -223,7 +218,7 @@ declare module "factorio:runtime" {
223
218
  * - `"check-box"`
224
219
  * - `"switch"`
225
220
  * - `"label"`
226
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/SimulationWidgetType.html Online documentation}
221
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/SimulationWidgetType.html Online documentation}
227
222
  */
228
223
  export type SimulationWidgetType =
229
224
  | "signal-id"
@@ -345,7 +340,7 @@ declare module "factorio:runtime" {
345
340
  * - `"any-goal-accessible"`: The method will return {@link TrainPathFinderOneGoalResult}.
346
341
  * - `"all-goals-accessible"`: The method will return {@link TrainPathAllGoalsResult}.
347
342
  * - `"all-goals-penalties"`: The method will return {@link TrainPathAllGoalsResult} with `penalties`.
348
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/TrainPathRequestType.html Online documentation}
343
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/TrainPathRequestType.html Online documentation}
349
344
  */
350
345
  export type TrainPathRequestType = "path" | "any-goal-accessible" | "all-goals-accessible" | "all-goals-penalties"
351
346
  /**
@@ -354,7 +349,7 @@ declare module "factorio:runtime" {
354
349
  * - {@link RailEndGoal}
355
350
  * - {@link LuaRailEnd}
356
351
  * - {@link LuaEntity}: Only if it points at train-stop that is connected to a rail.
357
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/TrainPathFinderGoal.html Online documentation}
352
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/TrainPathFinderGoal.html Online documentation}
358
353
  */
359
354
  export type TrainPathFinderGoal = TrainStopGoal | RailEndGoal | LuaRailEnd | LuaEntity
360
355
  export interface TrainStopGoal {
@@ -459,7 +454,7 @@ declare module "factorio:runtime" {
459
454
  }
460
455
  /**
461
456
  * A single pipe connection for a given fluidbox.
462
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/PipeConnection.html Online documentation}
457
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/PipeConnection.html Online documentation}
463
458
  */
464
459
  export interface PipeConnection {
465
460
  readonly flow_direction: "input" | "output" | "input-output"
@@ -517,12 +512,12 @@ declare module "factorio:runtime" {
517
512
  * - {@link LuaPostEntityDiedEventFilter}
518
513
  * - {@link LuaEntityMarkedForDeconstructionEventFilter}
519
514
  * - {@link LuaPlayerMinedEntityEventFilter}
520
- * - LuaEntityDamagedEventFilter
515
+ * - {@link LuaEntityDamagedEventFilter}
521
516
  * - {@link LuaScriptRaisedReviveEventFilter}
522
517
  * - {@link LuaEntityDiedEventFilter}
523
518
  * - {@link LuaPreRobotMinedEntityEventFilter}
524
519
  * @see EventFilterWrite
525
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/EventFilter.html Online documentation}
520
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/EventFilter.html Online documentation}
526
521
  */
527
522
  export type EventFilter =
528
523
  | LuaPrePlatformMinedEntityEventFilter[]
@@ -552,7 +547,7 @@ declare module "factorio:runtime" {
552
547
  | LuaPreRobotMinedEntityEventFilter[]
553
548
  /**
554
549
  * Write form of {@link EventFilter}, where some properties allow additional values as input compared to the read form.
555
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/EventFilter.html Online documentation}
550
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/EventFilter.html Online documentation}
556
551
  */
557
552
  export type EventFilterWrite =
558
553
  | readonly LuaPrePlatformMinedEntityEventFilter[]
@@ -602,7 +597,7 @@ declare module "factorio:runtime" {
602
597
  * - {@link LuaCommandable}: Target type {@link defines.target_type.commandable commandable}; `useful_id` {@link LuaCommandable#unique_id LuaCommandable::unique_id}
603
598
  * - {@link LuaCustomChartTag}: Target type {@link defines.target_type.custom_chart_tag custom_chart_tag}; `useful_id` {@link LuaCustomChartTag#tag_number LuaCustomChartTag::tag_number}
604
599
  * - {@link LuaGuiElement}: Target type {@link defines.target_type.gui_element gui_element}; `useful_id` {@link LuaGuiElement#index LuaGuiElement::index}
605
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/RegistrationTarget.html Online documentation}
600
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/RegistrationTarget.html Online documentation}
606
601
  */
607
602
  export type RegistrationTarget =
608
603
  | LuaEntity
@@ -803,7 +798,7 @@ declare module "factorio:runtime" {
803
798
  * - `"wire-removed"`: {@link WireRemovedUndoRedoAction}
804
799
  * - `"rotated-entity"`: {@link RotatedEntityUndoRedoAction}
805
800
  * - `"copy-entity-settings"`: {@link CopyEntitySettingsUndoRedoAction}
806
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/UndoRedoAction.html Online documentation}
801
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/UndoRedoAction.html Online documentation}
807
802
  */
808
803
  export type UndoRedoAction =
809
804
  | BuiltEntityUndoRedoAction
@@ -835,7 +830,7 @@ declare module "factorio:runtime" {
835
830
  * - `"weapon"`
836
831
  * - `"explosion"`
837
832
  * - `"enemy"`
838
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/SoundType.html Online documentation}
833
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/SoundType.html Online documentation}
839
834
  */
840
835
  export type SoundType =
841
836
  | "game-effect"
@@ -918,7 +913,7 @@ declare module "factorio:runtime" {
918
913
  * - `"controllable-remove"`
919
914
  * - `"entity-ghost"`: Selects entities that are `entity-ghost`s.
920
915
  * - `"tile-ghost"`: Selects entities that are `tile-ghost`s.
921
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/SelectionModeFlags.html Online documentation}
916
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/SelectionModeFlags.html Online documentation}
922
917
  */
923
918
  export interface SelectionModeFlags {
924
919
  /**
@@ -1037,7 +1032,7 @@ declare module "factorio:runtime" {
1037
1032
  * A set of flags. Active flags are in the dictionary as `true`, while inactive flags aren't present at all.
1038
1033
  *
1039
1034
  * By default, none of these flags are set.
1040
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/ItemPrototypeFlags.html Online documentation}
1035
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/ItemPrototypeFlags.html Online documentation}
1041
1036
  */
1042
1037
  export type ItemPrototypeFlags = {
1043
1038
  readonly [T in ItemPrototypeFlag]?: true
@@ -1058,7 +1053,7 @@ declare module "factorio:runtime" {
1058
1053
  * - `"spawnable"`: Allows the item to be spawned by a quickbar shortcut or custom input.
1059
1054
  * - `"spoil-result"`
1060
1055
  * - `"ignore-spoil-time-modifier"`: Controls whether the spoil time ignores the spoil time modifier in the {@link DifficultySettings}.
1061
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/ItemPrototypeFlag.html Online documentation}
1056
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/ItemPrototypeFlag.html Online documentation}
1062
1057
  */
1063
1058
  export type ItemPrototypeFlag =
1064
1059
  | "draw-logistic-overlay"
@@ -1078,7 +1073,7 @@ declare module "factorio:runtime" {
1078
1073
  * - `"none"`
1079
1074
  * - `"whitelist"`
1080
1075
  * - `"blacklist"`
1081
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/PrototypeFilterMode.html Online documentation}
1076
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/PrototypeFilterMode.html Online documentation}
1082
1077
  */
1083
1078
  export type PrototypeFilterMode = "none" | "whitelist" | "blacklist"
1084
1079
  export interface PipeConnectionDefinition {
@@ -1102,7 +1097,7 @@ declare module "factorio:runtime" {
1102
1097
  * The name of a {@link LuaCollisionLayerPrototype}.
1103
1098
  * @example
1104
1099
  * "is_lower_object"
1105
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/CollisionLayerID.html Online documentation}
1100
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/CollisionLayerID.html Online documentation}
1106
1101
  */
1107
1102
  export type CollisionLayerID = string
1108
1103
  export interface ItemIDFilter {
@@ -1140,19 +1135,19 @@ declare module "factorio:runtime" {
1140
1135
  *
1141
1136
  * ## Union members
1142
1137
  * - {@link ModSettingPrototypeFilter}
1143
- * - TilePrototypeFilter
1138
+ * - {@link TilePrototypeFilter}
1144
1139
  * - {@link DecorativePrototypeFilter}
1145
- * - RecipePrototypeFilter
1140
+ * - {@link RecipePrototypeFilter}
1146
1141
  * - {@link AchievementPrototypeFilter}
1147
- * - TechnologyPrototypeFilter
1142
+ * - {@link TechnologyPrototypeFilter}
1148
1143
  * - {@link AsteroidChunkPrototypeFilter}
1149
- * - ItemPrototypeFilter
1144
+ * - {@link ItemPrototypeFilter}
1150
1145
  * - {@link EquipmentPrototypeFilter}
1151
- * - EntityPrototypeFilter
1152
- * - SpaceLocationPrototypeFilter
1153
- * - FluidPrototypeFilter
1146
+ * - {@link EntityPrototypeFilter}
1147
+ * - {@link SpaceLocationPrototypeFilter}
1148
+ * - {@link FluidPrototypeFilter}
1154
1149
  * @see PrototypeFilterWrite
1155
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/PrototypeFilter.html Online documentation}
1150
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/PrototypeFilter.html Online documentation}
1156
1151
  */
1157
1152
  export type PrototypeFilter =
1158
1153
  | ModSettingPrototypeFilter[]
@@ -1169,7 +1164,7 @@ declare module "factorio:runtime" {
1169
1164
  | FluidPrototypeFilter[]
1170
1165
  /**
1171
1166
  * Write form of {@link PrototypeFilter}, where some properties allow additional values as input compared to the read form.
1172
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/PrototypeFilter.html Online documentation}
1167
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/PrototypeFilter.html Online documentation}
1173
1168
  */
1174
1169
  export type PrototypeFilterWrite =
1175
1170
  | readonly ModSettingPrototypeFilter[]
@@ -1186,7 +1181,7 @@ declare module "factorio:runtime" {
1186
1181
  | readonly FluidPrototypeFilterWrite[]
1187
1182
  /**
1188
1183
  * @see DisplayPanelMessageDefinitionWrite
1189
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/DisplayPanelMessageDefinition.html Online documentation}
1184
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/DisplayPanelMessageDefinition.html Online documentation}
1190
1185
  */
1191
1186
  export interface DisplayPanelMessageDefinition {
1192
1187
  /**
@@ -1204,7 +1199,7 @@ declare module "factorio:runtime" {
1204
1199
  }
1205
1200
  /**
1206
1201
  * Write form of {@link DisplayPanelMessageDefinition}, where some properties allow additional values as input compared to the read form.
1207
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/DisplayPanelMessageDefinition.html Online documentation}
1202
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/DisplayPanelMessageDefinition.html Online documentation}
1208
1203
  */
1209
1204
  export interface DisplayPanelMessageDefinitionWrite {
1210
1205
  /**
@@ -1230,7 +1225,7 @@ declare module "factorio:runtime" {
1230
1225
  * - `"space-location"`
1231
1226
  * - `"asteroid-chunk"`
1232
1227
  * - `"quality"`
1233
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/SignalIDType.html Online documentation}
1228
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/SignalIDType.html Online documentation}
1234
1229
  */
1235
1230
  export type SignalIDType =
1236
1231
  | "item"
@@ -1431,7 +1426,7 @@ declare module "factorio:runtime" {
1431
1426
  * - `"play-next-track"`
1432
1427
  * - `"play-previous-track"`
1433
1428
  * - `"pause-resume-music"`
1434
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/LinkedGameControl.html Online documentation}
1429
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/LinkedGameControl.html Online documentation}
1435
1430
  */
1436
1431
  export type LinkedGameControl =
1437
1432
  | "move-up"
@@ -1682,7 +1677,7 @@ declare module "factorio:runtime" {
1682
1677
  * - `"create-ghost-on-entity-death"`
1683
1678
  * - `"belt-stack-size-bonus"`
1684
1679
  * - `"vehicle-logistics"`
1685
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/ModifierType.html Online documentation}
1680
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/ModifierType.html Online documentation}
1686
1681
  */
1687
1682
  export type ModifierType =
1688
1683
  | "inserter-stack-size-bonus"
@@ -1801,7 +1796,7 @@ declare module "factorio:runtime" {
1801
1796
  * - `"capture-spawner"`: {@link CaptureSpawnerResearchTrigger}
1802
1797
  * - `"build-entity"`: {@link BuildEntityResearchTrigger}
1803
1798
  * - `"send-item-to-orbit"`: {@link SendItemToOrbitResearchTrigger}
1804
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/ResearchTrigger.html Online documentation}
1799
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/ResearchTrigger.html Online documentation}
1805
1800
  */
1806
1801
  export type ResearchTrigger =
1807
1802
  | CraftItemResearchTrigger
@@ -1815,7 +1810,7 @@ declare module "factorio:runtime" {
1815
1810
  * A set of flags. Active flags are in the dictionary as `true`, while inactive flags aren't present at all.
1816
1811
  *
1817
1812
  * By default, none of these flags are set.
1818
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/EntityPrototypeFlags.html Online documentation}
1813
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/EntityPrototypeFlags.html Online documentation}
1819
1814
  */
1820
1815
  export type EntityPrototypeFlags = {
1821
1816
  readonly [T in EntityPrototypeFlag]?: true
@@ -1850,7 +1845,7 @@ declare module "factorio:runtime" {
1850
1845
  * - `"building-direction-16-way"`
1851
1846
  * - `"snap-to-rail-support-spot"`
1852
1847
  * - `"not-in-made-in"`: Prevents the entity from being shown in the "made in" list in recipe tooltips.
1853
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/EntityPrototypeFlag.html Online documentation}
1848
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/EntityPrototypeFlag.html Online documentation}
1854
1849
  */
1855
1850
  export type EntityPrototypeFlag =
1856
1851
  | "not-rotatable"
@@ -1920,7 +1915,7 @@ declare module "factorio:runtime" {
1920
1915
  * - `"local"`: The sound can be heard within the audible range around the speaker.
1921
1916
  * - `"surface"`: The sound can be heard anywhere on the speaker's surface.
1922
1917
  * - `"global"`: The sound can be heard everywhere.
1923
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/ProgrammableSpeakerPlaybackMode.html Online documentation}
1918
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/ProgrammableSpeakerPlaybackMode.html Online documentation}
1924
1919
  */
1925
1920
  export type ProgrammableSpeakerPlaybackMode = "local" | "surface" | "global"
1926
1921
  /**
@@ -1945,7 +1940,7 @@ declare module "factorio:runtime" {
1945
1940
  * - `"none-to-south"`
1946
1941
  * - `"south-to-none"`
1947
1942
  * - `"none-to-north"`
1948
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/CliffOrientation.html Online documentation}
1943
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/CliffOrientation.html Online documentation}
1949
1944
  */
1950
1945
  export type CliffOrientation =
1951
1946
  | "west-to-east"
@@ -1971,7 +1966,7 @@ declare module "factorio:runtime" {
1971
1966
  /**
1972
1967
  * Defines an item type that a blueprint entity will request.
1973
1968
  * @see BlueprintInsertPlanWrite
1974
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/BlueprintInsertPlan.html Online documentation}
1969
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/BlueprintInsertPlan.html Online documentation}
1975
1970
  */
1976
1971
  export interface BlueprintInsertPlan {
1977
1972
  /**
@@ -1985,7 +1980,7 @@ declare module "factorio:runtime" {
1985
1980
  }
1986
1981
  /**
1987
1982
  * Write form of {@link BlueprintInsertPlan}, where some properties allow additional values as input compared to the read form.
1988
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/BlueprintInsertPlan.html Online documentation}
1983
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/BlueprintInsertPlan.html Online documentation}
1989
1984
  */
1990
1985
  export interface BlueprintInsertPlanWrite {
1991
1986
  /**
@@ -2013,7 +2008,7 @@ declare module "factorio:runtime" {
2013
2008
  }
2014
2009
  /**
2015
2010
  * A single offer on a market entity.
2016
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/Offer.html Online documentation}
2011
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/Offer.html Online documentation}
2017
2012
  */
2018
2013
  export interface Offer {
2019
2014
  /**
@@ -2028,7 +2023,7 @@ declare module "factorio:runtime" {
2028
2023
  /**
2029
2024
  * An item filter may be specified in two ways, either as a string which is an item prototype name or as a table.
2030
2025
  * @see ItemFilterWrite
2031
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/ItemFilter.html Online documentation}
2026
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/ItemFilter.html Online documentation}
2032
2027
  */
2033
2028
  export type ItemFilter =
2034
2029
  | {
@@ -2048,7 +2043,7 @@ declare module "factorio:runtime" {
2048
2043
  | string
2049
2044
  /**
2050
2045
  * Write form of {@link ItemFilter}, where some properties allow additional values as input compared to the read form.
2051
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/ItemFilter.html Online documentation}
2046
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/ItemFilter.html Online documentation}
2052
2047
  */
2053
2048
  export type ItemFilterWrite =
2054
2049
  | {
@@ -2068,7 +2063,7 @@ declare module "factorio:runtime" {
2068
2063
  | string
2069
2064
  /**
2070
2065
  * @see ScheduleRecordWrite
2071
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/ScheduleRecord.html Online documentation}
2066
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/ScheduleRecord.html Online documentation}
2072
2067
  */
2073
2068
  export interface ScheduleRecord {
2074
2069
  /**
@@ -2091,7 +2086,7 @@ declare module "factorio:runtime" {
2091
2086
  }
2092
2087
  /**
2093
2088
  * Write form of {@link ScheduleRecord}, where some properties allow additional values as input compared to the read form.
2094
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/ScheduleRecord.html Online documentation}
2089
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/ScheduleRecord.html Online documentation}
2095
2090
  */
2096
2091
  export interface ScheduleRecordWrite {
2097
2092
  /**
@@ -2177,7 +2172,7 @@ declare module "factorio:runtime" {
2177
2172
  * - `"position"`: {@link PositionGuiArrowSpecification}
2178
2173
  * - `"crafting_queue"`: {@link CraftingQueueGuiArrowSpecification}
2179
2174
  * - `"item_stack"`: {@link ItemStackGuiArrowSpecification}
2180
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/GuiArrowSpecification.html Online documentation}
2175
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/GuiArrowSpecification.html Online documentation}
2181
2176
  */
2182
2177
  export type GuiArrowSpecification =
2183
2178
  | EntityGuiArrowSpecification
@@ -2190,7 +2185,7 @@ declare module "factorio:runtime" {
2190
2185
  *
2191
2186
  * If this is specified as a three-element array then the array items are x, y and z, in that order.
2192
2187
  * @see Vector3DArray
2193
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/Vector3D.html Online documentation}
2188
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/Vector3D.html Online documentation}
2194
2189
  */
2195
2190
  export interface Vector3D {
2196
2191
  readonly x: float
@@ -2200,12 +2195,12 @@ declare module "factorio:runtime" {
2200
2195
  /**
2201
2196
  * Array form of {@link Vector3D}.
2202
2197
  * @see Vector3D
2203
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/Vector3D.html Online documentation}
2198
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/Vector3D.html Online documentation}
2204
2199
  */
2205
2200
  export type Vector3DArray = readonly [float, float, float]
2206
2201
  /**
2207
2202
  * @see TrainScheduleWrite
2208
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/TrainSchedule.html Online documentation}
2203
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/TrainSchedule.html Online documentation}
2209
2204
  */
2210
2205
  export interface TrainSchedule {
2211
2206
  /**
@@ -2216,7 +2211,7 @@ declare module "factorio:runtime" {
2216
2211
  }
2217
2212
  /**
2218
2213
  * Write form of {@link TrainSchedule}, where some properties allow additional values as input compared to the read form.
2219
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/TrainSchedule.html Online documentation}
2214
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/TrainSchedule.html Online documentation}
2220
2215
  */
2221
2216
  export interface TrainScheduleWrite {
2222
2217
  /**
@@ -2227,7 +2222,7 @@ declare module "factorio:runtime" {
2227
2222
  }
2228
2223
  /**
2229
2224
  * @see PlatformScheduleWrite
2230
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/PlatformSchedule.html Online documentation}
2225
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/PlatformSchedule.html Online documentation}
2231
2226
  */
2232
2227
  export interface PlatformSchedule {
2233
2228
  /**
@@ -2238,7 +2233,7 @@ declare module "factorio:runtime" {
2238
2233
  }
2239
2234
  /**
2240
2235
  * Write form of {@link PlatformSchedule}, where some properties allow additional values as input compared to the read form.
2241
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/PlatformSchedule.html Online documentation}
2236
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/PlatformSchedule.html Online documentation}
2242
2237
  */
2243
2238
  export interface PlatformScheduleWrite {
2244
2239
  /**
@@ -2255,7 +2250,7 @@ declare module "factorio:runtime" {
2255
2250
  }
2256
2251
  /**
2257
2252
  * A recipe prototype with optional quality specification.
2258
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/RecipeIDAndQualityIDPair.html Online documentation}
2253
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/RecipeIDAndQualityIDPair.html Online documentation}
2259
2254
  */
2260
2255
  export interface RecipeIDAndQualityIDPair {
2261
2256
  /**
@@ -2304,7 +2299,7 @@ declare module "factorio:runtime" {
2304
2299
  * - `string`: Name of the force, same as {@link LuaForce#name LuaForce::name}.
2305
2300
  * - {@link uint8}: Index of the force, same as {@link LuaForce#index LuaForce::index}.
2306
2301
  * - {@link LuaForce}: A reference to {@link LuaForce} may be passed directly.
2307
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/ForceID.html Online documentation}
2302
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/ForceID.html Online documentation}
2308
2303
  */
2309
2304
  export type ForceID = string | uint8 | LuaForce
2310
2305
  /**
@@ -2314,7 +2309,7 @@ declare module "factorio:runtime" {
2314
2309
  * - `string`: The fluid name.
2315
2310
  * - {@link LuaFluidPrototype}: The fluid prototype.
2316
2311
  * - {@link Fluid}: The fluid.
2317
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/FluidID.html Online documentation}
2312
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/FluidID.html Online documentation}
2318
2313
  */
2319
2314
  export type FluidID = string | LuaFluidPrototype | Fluid
2320
2315
  /**
@@ -2325,12 +2320,12 @@ declare module "factorio:runtime" {
2325
2320
  * - {@link LuaEntityPrototype}: The entity prototype. Normal quality will be used.
2326
2321
  * - `string`: The prototype name. Normal quality will be used.
2327
2322
  * - {@link EntityIDAndQualityIDPair}: A table of entity prototype and quality.
2328
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/EntityWithQualityID.html Online documentation}
2323
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/EntityWithQualityID.html Online documentation}
2329
2324
  */
2330
2325
  export type EntityWithQualityID = LuaEntity | LuaEntityPrototype | string | EntityIDAndQualityIDPair
2331
2326
  /**
2332
2327
  * An entity prototype with optional quality specification.
2333
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/EntityIDAndQualityIDPair.html Online documentation}
2328
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/EntityIDAndQualityIDPair.html Online documentation}
2334
2329
  */
2335
2330
  export interface EntityIDAndQualityIDPair {
2336
2331
  /**
@@ -2349,14 +2344,14 @@ declare module "factorio:runtime" {
2349
2344
  * - {@link LuaItemStack}: The item stack. Both prototype and quality of the item stack will be used.
2350
2345
  * - {@link LuaItemPrototype}: The item prototype. Normal quality will be used.
2351
2346
  * - `string`: The prototype name. Normal quality will be used.
2352
- * - ItemIDAndQualityIDPairWrite: A table of entity prototype and quality.
2353
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/ItemWithQualityID.html Online documentation}
2347
+ * - `ItemIDAndQualityIDPairWrite`: A table of entity prototype and quality.
2348
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/ItemWithQualityID.html Online documentation}
2354
2349
  */
2355
2350
  export type ItemWithQualityID = LuaItemStack | LuaItemPrototype | string | ItemIDAndQualityIDPairWrite
2356
2351
  /**
2357
2352
  * An item prototype with optional quality specification.
2358
2353
  * @see ItemIDAndQualityIDPairWrite
2359
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/ItemIDAndQualityIDPair.html Online documentation}
2354
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/ItemIDAndQualityIDPair.html Online documentation}
2360
2355
  */
2361
2356
  export interface ItemIDAndQualityIDPair {
2362
2357
  /**
@@ -2370,7 +2365,7 @@ declare module "factorio:runtime" {
2370
2365
  }
2371
2366
  /**
2372
2367
  * Write form of {@link ItemIDAndQualityIDPair}, where some properties allow additional values as input compared to the read form.
2373
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/ItemIDAndQualityIDPair.html Online documentation}
2368
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/ItemIDAndQualityIDPair.html Online documentation}
2374
2369
  */
2375
2370
  export interface ItemIDAndQualityIDPairWrite {
2376
2371
  /**
@@ -2390,7 +2385,7 @@ declare module "factorio:runtime" {
2390
2385
  * - {@link LuaItemStack}: Non empty item stack.
2391
2386
  * - {@link LuaItem}: The item.
2392
2387
  * - `string`: The prototype name.
2393
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/ItemID.html Online documentation}
2388
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/ItemID.html Online documentation}
2394
2389
  */
2395
2390
  export type ItemID = LuaItemPrototype | LuaItemStack | LuaItem | string
2396
2391
  /**
@@ -2400,7 +2395,7 @@ declare module "factorio:runtime" {
2400
2395
  * - {@link LuaEntityPrototype}: The entity prototype.
2401
2396
  * - {@link LuaEntity}: The entity.
2402
2397
  * - `string`: The prototype name.
2403
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/EntityID.html Online documentation}
2398
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/EntityID.html Online documentation}
2404
2399
  */
2405
2400
  export type EntityID = LuaEntityPrototype | LuaEntity | string
2406
2401
  /**
@@ -2410,7 +2405,7 @@ declare module "factorio:runtime" {
2410
2405
  * - {@link LuaTechnologyPrototype}: The technology prototype.
2411
2406
  * - {@link LuaTechnology}: Instance of the technology.
2412
2407
  * - `string`: The prototype name.
2413
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/TechnologyID.html Online documentation}
2408
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/TechnologyID.html Online documentation}
2414
2409
  */
2415
2410
  export type TechnologyID = LuaTechnologyPrototype | LuaTechnology | string
2416
2411
  /**
@@ -2419,7 +2414,7 @@ declare module "factorio:runtime" {
2419
2414
  * ## Union members
2420
2415
  * - {@link LuaParticlePrototype}: The particle prototype.
2421
2416
  * - `string`: The prototype name.
2422
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/ParticleID.html Online documentation}
2417
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/ParticleID.html Online documentation}
2423
2418
  */
2424
2419
  export type ParticleID = LuaParticlePrototype | string
2425
2420
  /**
@@ -2428,7 +2423,7 @@ declare module "factorio:runtime" {
2428
2423
  * ## Union members
2429
2424
  * - {@link LuaDamagePrototype}: The damage type prototype.
2430
2425
  * - `string`: The prototype name.
2431
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/DamageTypeID.html Online documentation}
2426
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/DamageTypeID.html Online documentation}
2432
2427
  */
2433
2428
  export type DamageTypeID = LuaDamagePrototype | string
2434
2429
  /**
@@ -2437,7 +2432,7 @@ declare module "factorio:runtime" {
2437
2432
  * ## Union members
2438
2433
  * - {@link LuaTrivialSmokePrototype}: The trivial smoke prototype.
2439
2434
  * - `string`: The prototype name.
2440
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/TrivialSmokeID.html Online documentation}
2435
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/TrivialSmokeID.html Online documentation}
2441
2436
  */
2442
2437
  export type TrivialSmokeID = LuaTrivialSmokePrototype | string
2443
2438
  /**
@@ -2449,7 +2444,7 @@ declare module "factorio:runtime" {
2449
2444
  * - `"left"`
2450
2445
  * - `"right"`
2451
2446
  * - `"center"`
2452
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/TextAlign.html Online documentation}
2447
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/TextAlign.html Online documentation}
2453
2448
  */
2454
2449
  export type TextAlign = "left" | "right" | "center"
2455
2450
  /**
@@ -2462,7 +2457,7 @@ declare module "factorio:runtime" {
2462
2457
  * - `"middle"`
2463
2458
  * - `"baseline"`
2464
2459
  * - `"bottom"`
2465
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/VerticalTextAlign.html Online documentation}
2460
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/VerticalTextAlign.html Online documentation}
2466
2461
  */
2467
2462
  export type VerticalTextAlign = "top" | "middle" | "baseline" | "bottom"
2468
2463
  /**
@@ -2471,7 +2466,7 @@ declare module "factorio:runtime" {
2471
2466
  * ## Union members
2472
2467
  * - {@link LuaQualityPrototype}: The quality prototype.
2473
2468
  * - `string`: The prototype name.
2474
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/QualityID.html Online documentation}
2469
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/QualityID.html Online documentation}
2475
2470
  */
2476
2471
  export type QualityID = LuaQualityPrototype | string
2477
2472
  /**
@@ -2481,7 +2476,7 @@ declare module "factorio:runtime" {
2481
2476
  * - {@link LuaRecipePrototype}: By recipe prototype.
2482
2477
  * - {@link LuaRecipe}: By instance of recipe.
2483
2478
  * - `string`: By name of the recipe prototype.
2484
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/RecipeID.html Online documentation}
2479
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/RecipeID.html Online documentation}
2485
2480
  */
2486
2481
  export type RecipeID = LuaRecipePrototype | LuaRecipe | string
2487
2482
  /**
@@ -2491,7 +2486,7 @@ declare module "factorio:runtime" {
2491
2486
  * - {@link LuaTilePrototype}: By tile prototype.
2492
2487
  * - {@link LuaTile}: By instance of tile.
2493
2488
  * - `string`: By name of the tile prototype.
2494
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/TileID.html Online documentation}
2489
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/TileID.html Online documentation}
2495
2490
  */
2496
2491
  export type TileID = LuaTilePrototype | LuaTile | string
2497
2492
  export interface Fluid {
@@ -2515,7 +2510,7 @@ declare module "factorio:runtime" {
2515
2510
  * - {@link LuaEquipmentPrototype}: The equipment prototype.
2516
2511
  * - {@link LuaEquipment}: The equipment.
2517
2512
  * - `string`: The prototype name.
2518
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/EquipmentID.html Online documentation}
2513
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/EquipmentID.html Online documentation}
2519
2514
  */
2520
2515
  export type EquipmentID = LuaEquipmentPrototype | LuaEquipment | string
2521
2516
  /**
@@ -2526,12 +2521,12 @@ declare module "factorio:runtime" {
2526
2521
  * - {@link LuaEquipment}: The equipment. Both prototype and quality of the provided equipment will be used.
2527
2522
  * - `string`: The prototype name. Normal quality will be used.
2528
2523
  * - {@link EquipmentIDAndQualityIDPair}: A table of equipment prototype and quality.
2529
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/EquipmentWithQualityID.html Online documentation}
2524
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/EquipmentWithQualityID.html Online documentation}
2530
2525
  */
2531
2526
  export type EquipmentWithQualityID = LuaEquipmentPrototype | LuaEquipment | string | EquipmentIDAndQualityIDPair
2532
2527
  /**
2533
2528
  * An equipment prototype with optional quality specification.
2534
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/EquipmentIDAndQualityIDPair.html Online documentation}
2529
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/EquipmentIDAndQualityIDPair.html Online documentation}
2535
2530
  */
2536
2531
  export interface EquipmentIDAndQualityIDPair {
2537
2532
  /**
@@ -2552,48 +2547,45 @@ declare module "factorio:runtime" {
2552
2547
  * @example
2553
2548
  * -- Shorthand
2554
2549
  * {{-2, -3}, {5, 8}}
2555
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/BoundingBox.html Online documentation}
2550
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/BoundingBox.html Online documentation}
2556
2551
  */
2557
2552
  export interface BoundingBox {
2558
2553
  readonly left_top: MapPosition
2559
2554
  readonly right_bottom: MapPosition
2560
2555
  readonly orientation?: RealOrientation
2561
2556
  }
2562
- /**
2563
- * Write form of {@link BoundingBox}, as a table, where positions are allowed to take an array form.
2564
- */
2565
- export interface BoundingBoxWrite {
2566
- readonly left_top: MapPosition | MapPositionArray
2567
- readonly right_bottom: MapPosition | MapPositionArray
2568
- readonly orientation?: RealOrientation
2569
- }
2570
2557
  /**
2571
2558
  * Array form of {@link BoundingBox}.
2572
2559
  * @see BoundingBox
2573
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/BoundingBox.html Online documentation}
2560
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/BoundingBox.html Online documentation}
2574
2561
  */
2575
2562
  export type BoundingBoxArray = readonly [MapPosition | MapPositionArray, MapPosition | MapPositionArray]
2563
+ export interface BoundingBoxWrite {
2564
+ readonly left_top: (MapPosition | MapPositionArray) | MapPositionArray
2565
+ readonly right_bottom: (MapPosition | MapPositionArray) | MapPositionArray
2566
+ readonly orientation?: RealOrientation
2567
+ }
2576
2568
  /**
2577
2569
  * Space platform may be specified in one of one ways.
2578
2570
  *
2579
2571
  * ## Union members
2580
2572
  * - {@link LuaSpacePlatform}
2581
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/SpacePlatformIdentification.html Online documentation}
2573
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/SpacePlatformIdentification.html Online documentation}
2582
2574
  */
2583
2575
  export type SpacePlatformIdentification = LuaSpacePlatform
2584
2576
  /**
2585
2577
  * Set of forces. Can be specified in one of two ways.
2586
2578
  *
2587
2579
  * ## Union members
2588
- * - LuaForce[]: Array of many forces.
2589
- * - LuaForce: A single force.
2580
+ * - {@link LuaForce}[]: Array of many forces.
2581
+ * - {@link LuaForce}: A single force.
2590
2582
  * @see ForceSetWrite
2591
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/ForceSet.html Online documentation}
2583
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/ForceSet.html Online documentation}
2592
2584
  */
2593
2585
  export type ForceSet = LuaForce[] | LuaForce
2594
2586
  /**
2595
2587
  * Write form of {@link ForceSet}, where some properties allow additional values as input compared to the read form.
2596
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/ForceSet.html Online documentation}
2588
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/ForceSet.html Online documentation}
2597
2589
  */
2598
2590
  export type ForceSetWrite = readonly ForceID[] | ForceID
2599
2591
  /**
@@ -2602,7 +2594,7 @@ declare module "factorio:runtime" {
2602
2594
  * ## Union members
2603
2595
  * - {@link LuaDecorativePrototype}: The decorative prototype.
2604
2596
  * - `string`: The prototype name.
2605
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/DecorativeID.html Online documentation}
2597
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/DecorativeID.html Online documentation}
2606
2598
  */
2607
2599
  export type DecorativeID = LuaDecorativePrototype | string
2608
2600
  /**
@@ -2611,7 +2603,7 @@ declare module "factorio:runtime" {
2611
2603
  * ## Union members
2612
2604
  * - {@link LuaAsteroidChunkPrototype}: The asteroid chunk prototype.
2613
2605
  * - `string`: The prototype name.
2614
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/AsteroidChunkID.html Online documentation}
2606
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/AsteroidChunkID.html Online documentation}
2615
2607
  */
2616
2608
  export type AsteroidChunkID = LuaAsteroidChunkPrototype | string
2617
2609
  /**
@@ -2620,13 +2612,13 @@ declare module "factorio:runtime" {
2620
2612
  * ## Union members
2621
2613
  * - {@link LuaSpaceLocationPrototype}: The space location prototype.
2622
2614
  * - `string`: The prototype name.
2623
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/SpaceLocationID.html Online documentation}
2615
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/SpaceLocationID.html Online documentation}
2624
2616
  */
2625
2617
  export type SpaceLocationID = LuaSpaceLocationPrototype | string
2626
2618
  /**
2627
2619
  * A signal filter may be specified in two ways, either as a string which is a virtual signal name or item prototype name or as a table.
2628
2620
  * @see SignalFilterWrite
2629
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/SignalFilter.html Online documentation}
2621
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/SignalFilter.html Online documentation}
2630
2622
  */
2631
2623
  export type SignalFilter =
2632
2624
  | {
@@ -2650,7 +2642,7 @@ declare module "factorio:runtime" {
2650
2642
  | string
2651
2643
  /**
2652
2644
  * Write form of {@link SignalFilter}, where some properties allow additional values as input compared to the read form.
2653
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/SignalFilter.html Online documentation}
2645
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/SignalFilter.html Online documentation}
2654
2646
  */
2655
2647
  export type SignalFilterWrite =
2656
2648
  | {
@@ -2674,7 +2666,7 @@ declare module "factorio:runtime" {
2674
2666
  | string
2675
2667
  /**
2676
2668
  * @see LogisticFilterWrite
2677
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/LogisticFilter.html Online documentation}
2669
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/LogisticFilter.html Online documentation}
2678
2670
  */
2679
2671
  export interface LogisticFilter {
2680
2672
  /**
@@ -2700,7 +2692,7 @@ declare module "factorio:runtime" {
2700
2692
  }
2701
2693
  /**
2702
2694
  * Write form of {@link LogisticFilter}, where some properties allow additional values as input compared to the read form.
2703
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/LogisticFilter.html Online documentation}
2695
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/LogisticFilter.html Online documentation}
2704
2696
  */
2705
2697
  export interface LogisticFilterWrite {
2706
2698
  /**
@@ -2756,23 +2748,23 @@ declare module "factorio:runtime" {
2756
2748
  * ## Union members
2757
2749
  * - {@link LuaSurfacePropertyPrototype}: The surface property prototype.
2758
2750
  * - `string`: The prototype name.
2759
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/SurfacePropertyID.html Online documentation}
2751
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/SurfacePropertyID.html Online documentation}
2760
2752
  */
2761
2753
  export type SurfacePropertyID = LuaSurfacePropertyPrototype | string
2762
2754
  /**
2763
2755
  * When writing it is possible to give LuaEntity or MapPosition directly. However, reading always returns the full ScriptRenderTargetTable.
2764
2756
  * @see ScriptRenderTargetWrite
2765
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/ScriptRenderTarget.html Online documentation}
2757
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/ScriptRenderTarget.html Online documentation}
2766
2758
  */
2767
2759
  export type ScriptRenderTarget = LuaEntity | MapPosition | ScriptRenderTargetTable
2768
2760
  /**
2769
2761
  * Write form of {@link ScriptRenderTarget}, where some properties allow additional values as input compared to the read form.
2770
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/ScriptRenderTarget.html Online documentation}
2762
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/ScriptRenderTarget.html Online documentation}
2771
2763
  */
2772
2764
  export type ScriptRenderTargetWrite = LuaEntity | (MapPosition | MapPositionArray) | ScriptRenderTargetTableWrite
2773
2765
  /**
2774
2766
  * @see ScriptRenderTargetTableWrite
2775
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/ScriptRenderTargetTable.html Online documentation}
2767
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/ScriptRenderTargetTable.html Online documentation}
2776
2768
  */
2777
2769
  export interface ScriptRenderTargetTable {
2778
2770
  readonly entity?: LuaEntity
@@ -2787,7 +2779,7 @@ declare module "factorio:runtime" {
2787
2779
  }
2788
2780
  /**
2789
2781
  * Write form of {@link ScriptRenderTargetTable}, where some properties allow additional values as input compared to the read form.
2790
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/ScriptRenderTargetTable.html Online documentation}
2782
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/ScriptRenderTargetTable.html Online documentation}
2791
2783
  */
2792
2784
  export interface ScriptRenderTargetTableWrite {
2793
2785
  readonly entity?: LuaEntity
@@ -2802,7 +2794,7 @@ declare module "factorio:runtime" {
2802
2794
  }
2803
2795
  /**
2804
2796
  * An item filter may be specified in two ways, either as a string which is a quality prototype name or as a table.
2805
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/QualityCondition.html Online documentation}
2797
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/QualityCondition.html Online documentation}
2806
2798
  */
2807
2799
  export type QualityCondition =
2808
2800
  | {
@@ -2821,291 +2813,986 @@ declare module "factorio:runtime" {
2821
2813
  * - `"center-to-center"`
2822
2814
  * - `"bounding-box-to-bounding-box"`
2823
2815
  * - `"center-to-bounding-box"`
2824
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/RangeMode.html Online documentation}
2816
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/RangeMode.html Online documentation}
2825
2817
  */
2826
2818
  export type RangeMode = "center-to-center" | "bounding-box-to-bounding-box" | "center-to-bounding-box"
2827
2819
  /**
2828
2820
  * The representation of an entity inside of a blueprint. It has at least these fields, but can contain additional ones depending on the kind of entity.
2829
2821
  * @see BlueprintEntityWrite
2830
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/BlueprintEntity.html Online documentation}
2822
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/BlueprintEntity.html Online documentation}
2831
2823
  */
2832
2824
  export interface BlueprintEntity {
2833
2825
  /**
2834
- * The entity's unique identifier in the blueprint.
2826
+ * The entity's unique identifier in the blueprint.
2827
+ */
2828
+ readonly entity_number: uint
2829
+ /**
2830
+ * The prototype name of the entity.
2831
+ */
2832
+ readonly name: string
2833
+ /**
2834
+ * The position of the entity.
2835
+ */
2836
+ readonly position: MapPosition
2837
+ /**
2838
+ * The direction the entity is facing. Only present for entities that can face in different directions and when the entity is not facing north.
2839
+ */
2840
+ readonly direction?: defines.direction
2841
+ /**
2842
+ * Whether this entity is mirrored.
2843
+ */
2844
+ readonly mirror?: boolean
2845
+ /**
2846
+ * The prototype name of the entity's quality.
2847
+ */
2848
+ readonly quality?: string
2849
+ /**
2850
+ * The control behavior of the entity, if it has one. The format of the control behavior depends on the entity's type. Only relevant for entities that support control behaviors.
2851
+ */
2852
+ readonly control_behavior?: BlueprintControlBehavior
2853
+ /**
2854
+ * The items that the entity will request when revived, if any.
2855
+ */
2856
+ readonly items?: BlueprintInsertPlan[]
2857
+ /**
2858
+ * The entity tags of the entity, if there are any.
2859
+ */
2860
+ readonly tags?: Tags
2861
+ /**
2862
+ * The schedule of the entity, if it has one. Only relevant for locomotives.
2863
+ */
2864
+ readonly schedule?: BlueprintSchedule
2865
+ /**
2866
+ * Wires connected to this entity in the blueprint.
2867
+ */
2868
+ readonly wires?: BlueprintWire[]
2869
+ /**
2870
+ * Used by assembling machines. Name of the recipe prototype
2871
+ */
2872
+ readonly recipe?: string
2873
+ /**
2874
+ * Used by assembling machines; quality of the recipe.
2875
+ */
2876
+ readonly recipe_quality?: LuaQualityPrototype
2877
+ /**
2878
+ * Used by containers (chests). The index of the first inaccessible item slot due to limiting with the red "bar". 0-based.
2879
+ */
2880
+ readonly bar?: uint16
2881
+ /**
2882
+ * Cargo wagon or filtered container inventory configuration, for item filters and bar.
2883
+ */
2884
+ readonly inventory?: BlueprintInventory
2885
+ /**
2886
+ * Used by Infinity containers and infinity pipes.
2887
+ */
2888
+ readonly infinity_settings?: InfinityContainerFilter | InfinityPipeFilter
2889
+ /**
2890
+ * Used by heat interfaces.
2891
+ */
2892
+ readonly mode?: "at-least" | "at-most" | "exactly" | "add" | "remove"
2893
+ /**
2894
+ * Used by heat interfaces.
2895
+ */
2896
+ readonly temperature?: uint
2897
+ /**
2898
+ * Type of the underground belt or loader. Either "input" or "output".
2899
+ */
2900
+ readonly type?: "input" | "output"
2901
+ /**
2902
+ * Input priority of the splitter. Either "right" or "left", "none" is omitted.
2903
+ */
2904
+ readonly input_priority?: "right" | "left"
2905
+ /**
2906
+ * Output priority of the splitter. Either "right" or "left", "none" is omitted.
2907
+ */
2908
+ readonly output_priority?: "right" | "left"
2909
+ /**
2910
+ * Filter of the splitter.
2911
+ */
2912
+ readonly filter?: BlueprintLogisticFilter
2913
+ /**
2914
+ * Filters of the filter inserter or loader.
2915
+ */
2916
+ readonly filters?: BlueprintLogisticFilter[]
2917
+ /**
2918
+ * Filter mode of the filter inserter.
2919
+ */
2920
+ readonly filter_mode?: "whitelist" | "blacklist"
2921
+ /**
2922
+ * The stack size the inserter is set to.
2923
+ */
2924
+ readonly override_stack_size?: uint8
2925
+ /**
2926
+ * The drop position the inserter is set to.
2927
+ */
2928
+ readonly drop_position?: MapPosition
2929
+ /**
2930
+ * The pickup position the inserter is set to.
2931
+ */
2932
+ readonly pickup_position?: MapPosition
2933
+ /**
2934
+ * Spoiled priority of an inserter. "spoiled-first" or "fresh-first", "none" is omitted.
2935
+ */
2936
+ readonly spoil_priority?: "spoiled-first" | "fresh-first"
2937
+ /**
2938
+ * Used by all entities with logistics sections, except for combinators.
2939
+ */
2940
+ readonly request_filters?: BlueprintRequestFilters
2941
+ /**
2942
+ * Used by programmable speakers.
2943
+ */
2944
+ readonly parameters?: ProgrammableSpeakerParameters
2945
+ /**
2946
+ * Used by programmable speakers.
2947
+ */
2948
+ readonly alert_parameters?: ProgrammableSpeakerAlertParameters
2949
+ /**
2950
+ * Used by rocket silos. I have no idea what this is.
2951
+ */
2952
+ readonly transitional_request_index?: uint
2953
+ /**
2954
+ * Used by {@link https://wiki.factorio.com/Prototype/SimpleEntityWithForce Prototype/SimpleEntityWithForce} or {@link https://wiki.factorio.com/Prototype/SimpleEntityWithOwner Prototype/SimpleEntityWithOwner}.
2955
+ */
2956
+ readonly variation?: uint8
2957
+ /**
2958
+ * Color of the entity. Used by SimpleEntityWithForce, SimpleEntityWithOwner, train stations, locomotives, and vehicles.
2959
+ */
2960
+ readonly color?: Color
2961
+ /**
2962
+ * The name of the train station.
2963
+ */
2964
+ readonly station?: string
2965
+ /**
2966
+ * The train limit of a train stop.
2967
+ */
2968
+ readonly manual_trains_limit?: uint
2969
+ /**
2970
+ * The priority of the train station.
2971
+ */
2972
+ readonly priority?: uint8
2973
+ /**
2974
+ * Orientation of the cargo wagon or locomotive, value from 0 to 1
2975
+ */
2976
+ readonly orientation?: RealOrientation
2977
+ /**
2978
+ * If this locomotive copies its color from the train stop. Default true.
2979
+ */
2980
+ readonly copy_color_from_train_stop?: boolean
2981
+ /**
2982
+ * Used by spidertons.
2983
+ */
2984
+ readonly vehicle_automatic_targeting_parameters?: VehicleAutomaticTargetingParameters
2985
+ /**
2986
+ * Used by vehicles.
2987
+ */
2988
+ readonly driver_is_main_gunner?: boolean
2989
+ /**
2990
+ * Used by vehicles.
2991
+ */
2992
+ readonly selected_gun_index?: uint
2993
+ /**
2994
+ * Used to vehicles and rolling stock.
2995
+ */
2996
+ readonly enable_logistics_while_moving?: boolean
2997
+ /**
2998
+ * Equipment grid. Note that [items] requests also needs to be set for bots to insert into the grid.
2999
+ */
3000
+ readonly grid?: BlueprintEquipment[]
3001
+ readonly artillery_auto_targeting?: boolean
3002
+ /**
3003
+ * Combinator description.
3004
+ */
3005
+ readonly player_description?: string
3006
+ /**
3007
+ * Used by display panels.
3008
+ */
3009
+ readonly always_show?: boolean
3010
+ /**
3011
+ * Used by display panels.
3012
+ */
3013
+ readonly show_in_chart?: boolean
3014
+ /**
3015
+ * Display panel icon.
3016
+ */
3017
+ readonly icon?: SignalID
3018
+ /**
3019
+ * Display panel text.
3020
+ */
3021
+ readonly text?: string
3022
+ /**
3023
+ * Turret configuration.
3024
+ */
3025
+ readonly "ignore-unprioritised"?: boolean
3026
+ /**
3027
+ * Turret configuration.
3028
+ */
3029
+ readonly "priority-list"?: {
3030
+ readonly index: uint
3031
+ readonly entity_id: LuaEntityPrototype
3032
+ }[]
3033
+ }
3034
+ /**
3035
+ * Write form of {@link BlueprintEntity}, where some properties allow additional values as input compared to the read form.
3036
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/BlueprintEntity.html Online documentation}
3037
+ */
3038
+ export interface BlueprintEntityWrite {
3039
+ /**
3040
+ * The entity's unique identifier in the blueprint.
3041
+ */
3042
+ readonly entity_number: uint
3043
+ /**
3044
+ * The prototype name of the entity.
3045
+ */
3046
+ readonly name: string
3047
+ /**
3048
+ * The position of the entity.
3049
+ */
3050
+ readonly position: MapPosition | MapPositionArray
3051
+ /**
3052
+ * The direction the entity is facing. Only present for entities that can face in different directions and when the entity is not facing north.
3053
+ */
3054
+ readonly direction?: defines.direction
3055
+ /**
3056
+ * Whether this entity is mirrored.
3057
+ */
3058
+ readonly mirror?: boolean
3059
+ /**
3060
+ * The prototype name of the entity's quality.
3061
+ */
3062
+ readonly quality?: string
3063
+ /**
3064
+ * The control behavior of the entity, if it has one. The format of the control behavior depends on the entity's type. Only relevant for entities that support control behaviors.
3065
+ */
3066
+ readonly control_behavior?: BlueprintControlBehaviorWrite
3067
+ /**
3068
+ * The items that the entity will request when revived, if any.
3069
+ */
3070
+ readonly items?: readonly BlueprintInsertPlanWrite[]
3071
+ /**
3072
+ * The entity tags of the entity, if there are any.
3073
+ */
3074
+ readonly tags?: Tags
3075
+ /**
3076
+ * The schedule of the entity, if it has one. Only relevant for locomotives.
3077
+ */
3078
+ readonly schedule?: BlueprintScheduleWrite
3079
+ /**
3080
+ * Wires connected to this entity in the blueprint.
3081
+ */
3082
+ readonly wires?: BlueprintWire[]
3083
+ /**
3084
+ * Used by assembling machines. Name of the recipe prototype
3085
+ */
3086
+ readonly recipe?: string
3087
+ /**
3088
+ * Used by assembling machines; quality of the recipe.
3089
+ */
3090
+ readonly recipe_quality?: QualityID
3091
+ /**
3092
+ * Used by containers (chests). The index of the first inaccessible item slot due to limiting with the red "bar". 0-based.
3093
+ */
3094
+ readonly bar?: uint16
3095
+ /**
3096
+ * Cargo wagon or filtered container inventory configuration, for item filters and bar.
3097
+ */
3098
+ readonly inventory?: BlueprintInventoryWrite
3099
+ /**
3100
+ * Used by Infinity containers and infinity pipes.
3101
+ */
3102
+ readonly infinity_settings?: InfinityContainerFilter | InfinityPipeFilter
3103
+ /**
3104
+ * Used by heat interfaces.
3105
+ */
3106
+ readonly mode?: "at-least" | "at-most" | "exactly" | "add" | "remove"
3107
+ /**
3108
+ * Used by heat interfaces.
3109
+ */
3110
+ readonly temperature?: uint
3111
+ /**
3112
+ * Type of the underground belt or loader. Either "input" or "output".
3113
+ */
3114
+ readonly type?: "input" | "output"
3115
+ /**
3116
+ * Input priority of the splitter. Either "right" or "left", "none" is omitted.
3117
+ */
3118
+ readonly input_priority?: "right" | "left"
3119
+ /**
3120
+ * Output priority of the splitter. Either "right" or "left", "none" is omitted.
3121
+ */
3122
+ readonly output_priority?: "right" | "left"
3123
+ /**
3124
+ * Filter of the splitter.
3125
+ */
3126
+ readonly filter?: BlueprintLogisticFilterWrite
3127
+ /**
3128
+ * Filters of the filter inserter or loader.
3129
+ */
3130
+ readonly filters?: readonly BlueprintLogisticFilterWrite[]
3131
+ /**
3132
+ * Filter mode of the filter inserter.
3133
+ */
3134
+ readonly filter_mode?: "whitelist" | "blacklist"
3135
+ /**
3136
+ * The stack size the inserter is set to.
3137
+ */
3138
+ readonly override_stack_size?: uint8
3139
+ /**
3140
+ * The drop position the inserter is set to.
3141
+ */
3142
+ readonly drop_position?: MapPosition | MapPositionArray
3143
+ /**
3144
+ * The pickup position the inserter is set to.
3145
+ */
3146
+ readonly pickup_position?: MapPosition | MapPositionArray
3147
+ /**
3148
+ * Spoiled priority of an inserter. "spoiled-first" or "fresh-first", "none" is omitted.
3149
+ */
3150
+ readonly spoil_priority?: "spoiled-first" | "fresh-first"
3151
+ /**
3152
+ * Used by all entities with logistics sections, except for combinators.
3153
+ */
3154
+ readonly request_filters?: BlueprintRequestFilters
3155
+ /**
3156
+ * Used by programmable speakers.
3157
+ */
3158
+ readonly parameters?: ProgrammableSpeakerParameters
3159
+ /**
3160
+ * Used by programmable speakers.
3161
+ */
3162
+ readonly alert_parameters?: ProgrammableSpeakerAlertParameters
3163
+ /**
3164
+ * Used by rocket silos. I have no idea what this is.
3165
+ */
3166
+ readonly transitional_request_index?: uint
3167
+ /**
3168
+ * Used by {@link https://wiki.factorio.com/Prototype/SimpleEntityWithForce Prototype/SimpleEntityWithForce} or {@link https://wiki.factorio.com/Prototype/SimpleEntityWithOwner Prototype/SimpleEntityWithOwner}.
3169
+ */
3170
+ readonly variation?: uint8
3171
+ /**
3172
+ * Color of the entity. Used by SimpleEntityWithForce, SimpleEntityWithOwner, train stations, locomotives, and vehicles.
3173
+ */
3174
+ readonly color?: Color | ColorArray
3175
+ /**
3176
+ * The name of the train station.
3177
+ */
3178
+ readonly station?: string
3179
+ /**
3180
+ * The train limit of a train stop.
3181
+ */
3182
+ readonly manual_trains_limit?: uint
3183
+ /**
3184
+ * The priority of the train station.
3185
+ */
3186
+ readonly priority?: uint8
3187
+ /**
3188
+ * Orientation of the cargo wagon or locomotive, value from 0 to 1
3189
+ */
3190
+ readonly orientation?: RealOrientation
3191
+ /**
3192
+ * If this locomotive copies its color from the train stop. Default true.
3193
+ */
3194
+ readonly copy_color_from_train_stop?: boolean
3195
+ /**
3196
+ * Used by spidertons.
3197
+ */
3198
+ readonly vehicle_automatic_targeting_parameters?: VehicleAutomaticTargetingParameters
3199
+ /**
3200
+ * Used by vehicles.
3201
+ */
3202
+ readonly driver_is_main_gunner?: boolean
3203
+ /**
3204
+ * Used by vehicles.
3205
+ */
3206
+ readonly selected_gun_index?: uint
3207
+ /**
3208
+ * Used to vehicles and rolling stock.
3209
+ */
3210
+ readonly enable_logistics_while_moving?: boolean
3211
+ /**
3212
+ * Equipment grid. Note that [items] requests also needs to be set for bots to insert into the grid.
3213
+ */
3214
+ readonly grid?: readonly BlueprintEquipmentWrite[]
3215
+ readonly artillery_auto_targeting?: boolean
3216
+ /**
3217
+ * Combinator description.
3218
+ */
3219
+ readonly player_description?: string
3220
+ /**
3221
+ * Used by display panels.
3222
+ */
3223
+ readonly always_show?: boolean
3224
+ /**
3225
+ * Used by display panels.
3226
+ */
3227
+ readonly show_in_chart?: boolean
3228
+ /**
3229
+ * Display panel icon.
3230
+ */
3231
+ readonly icon?: SignalID
3232
+ /**
3233
+ * Display panel text.
3234
+ */
3235
+ readonly text?: string
3236
+ /**
3237
+ * Turret configuration.
3238
+ */
3239
+ readonly "ignore-unprioritised"?: boolean
3240
+ /**
3241
+ * Turret configuration.
3242
+ */
3243
+ readonly "priority-list"?: readonly {
3244
+ readonly index: uint
3245
+ readonly entity_id: EntityID
3246
+ }[]
3247
+ }
3248
+ export interface BlueprintRequestFilters {
3249
+ /**
3250
+ * False if disabled in a vehicle.
3251
+ */
3252
+ readonly enabled?: boolean
3253
+ readonly request_from_buffers?: boolean
3254
+ }
3255
+ /**
3256
+ * @see BlueprintEquipmentWrite
3257
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/BlueprintEquipment.html Online documentation}
3258
+ */
3259
+ export interface BlueprintEquipment {
3260
+ readonly equipment: ItemIDAndQualityIDPair
3261
+ readonly position: EquipmentPosition
3262
+ }
3263
+ /**
3264
+ * Write form of {@link BlueprintEquipment}, where some properties allow additional values as input compared to the read form.
3265
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/BlueprintEquipment.html Online documentation}
3266
+ */
3267
+ export interface BlueprintEquipmentWrite {
3268
+ readonly equipment: ItemIDAndQualityIDPairWrite
3269
+ readonly position: EquipmentPosition | EquipmentPositionArray
3270
+ }
3271
+ /**
3272
+ * @see BlueprintInventoryWrite
3273
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/BlueprintInventory.html Online documentation}
3274
+ */
3275
+ export interface BlueprintInventory {
3276
+ readonly filters?: BlueprintLogisticFilter[]
3277
+ /**
3278
+ * The index of the first inaccessible item slot due to limiting with the red "bar". 0-based.
3279
+ */
3280
+ readonly bar?: uint16
3281
+ }
3282
+ /**
3283
+ * Write form of {@link BlueprintInventory}, where some properties allow additional values as input compared to the read form.
3284
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/BlueprintInventory.html Online documentation}
3285
+ */
3286
+ export interface BlueprintInventoryWrite {
3287
+ readonly filters?: readonly BlueprintLogisticFilterWrite[]
3288
+ /**
3289
+ * The index of the first inaccessible item slot due to limiting with the red "bar". 0-based.
3290
+ */
3291
+ readonly bar?: uint16
3292
+ }
3293
+ export interface InfinityContainerFilter {
3294
+ /**
3295
+ * Whether the "remove unfiltered items" checkbox is checked.
3296
+ */
3297
+ readonly remove_unfiltered_items: boolean
3298
+ /**
3299
+ * Filters of the infinity container.
3300
+ */
3301
+ readonly filters?: InfinityInventoryFilter[]
3302
+ }
3303
+ /**
3304
+ * @see BlueprintControlBehaviorWrite
3305
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/BlueprintControlBehavior.html Online documentation}
3306
+ */
3307
+ export interface BlueprintControlBehavior {
3308
+ /**
3309
+ * If this entity is enabled/disabled by the circuit network.
3310
+ *
3311
+ * Does **not** apply to logistic containers, see instead {@link circuit_condition_enabled }.
3312
+ *
3313
+ * Corresponds to {@link LuaGenericOnOffControlBehavior.circuit_enable_disable }
3314
+ */
3315
+ readonly circuit_enabled?: boolean
3316
+ /**
3317
+ * Applies to any entity that can be enabled/disabled by the circuit network.
3318
+ */
3319
+ readonly circuit_condition?: CircuitCondition
3320
+ /**
3321
+ * Corresponds to {@link LuaGenericOnOffControlBehavior.connect_to_logistic_network }.
3322
+ */
3323
+ readonly connect_to_logistic_network?: boolean
3324
+ /**
3325
+ * Corresponds to {@link LuaGenericOnOffControlBehavior.logistic_condition }.
3326
+ */
3327
+ readonly logistic_condition?: CircuitCondition
3328
+ /**
3329
+ * If this entity with inventory reads its contents to the circuit network. Default true.
3330
+ *
3331
+ * Does not apply to asteroid collectors, see {@link circuit_read_contents }.
3332
+ */
3333
+ readonly read_contents?: boolean
3334
+ /**
3335
+ * If an **asteroid collector** reads its contents to the circuit network. Default false.
3336
+ */
3337
+ readonly circuit_read_contents?: boolean
3338
+ /**
3339
+ * On a turret, if the ammo is read by the circuit network. Default true.
3340
+ */
3341
+ readonly read_ammo?: boolean
3342
+ /**
3343
+ * Used by turrets.
3344
+ */
3345
+ readonly set_priority_list?: boolean
3346
+ /**
3347
+ * Used by turrets.
3348
+ */
3349
+ readonly set_ignore_unlisted_targets?: boolean
3350
+ /**
3351
+ * Used by turrets.
3352
+ */
3353
+ readonly ignore_unlisted_targets_condition?: CircuitCondition
3354
+ readonly circuit_mode_of_operation?:
3355
+ | defines.control_behavior.logistic_container.exclusive_mode
3356
+ | defines.control_behavior.cargo_landing_pad.exclusive_mode
3357
+ /**
3358
+ * If this **logistics container** is enabled/disabled by the circuit network.
3359
+ *
3360
+ * For other machines, see {@link circuit_enabled }.
3361
+ */
3362
+ readonly circuit_condition_enabled?: boolean
3363
+ /**
3364
+ * Accumulator or gate output signal.
3365
+ */
3366
+ readonly output_signal?: SignalID
3367
+ /**
3368
+ * If the accumulator sends its charge to the circuit network. Default true.
3369
+ */
3370
+ readonly read_charge?: boolean
3371
+ /**
3372
+ * Used by walls connected to gates.
3373
+ */
3374
+ readonly circuit_open_gate?: boolean
3375
+ /**
3376
+ * Used by walls connected to gates. The signal is defined by {@link output_signal }.
3377
+ */
3378
+ readonly circuit_read_sensor?: boolean
3379
+ /**
3380
+ * If this inserter or belt is read by the circuit network.
3381
+ */
3382
+ readonly circuit_read_hand_contents?: boolean
3383
+ /**
3384
+ * For reading contents of an inserter.
3385
+ */
3386
+ readonly circuit_hand_read_mode?: defines.control_behavior.inserter.hand_read_mode
3387
+ /**
3388
+ * For reading contents of a belt.
3389
+ */
3390
+ readonly circuit_contents_read_mode?: defines.control_behavior.transport_belt.content_read_mode
3391
+ /**
3392
+ * If this inserter, loader, or asteroid collector has its filters set by the circuit network.
3393
+ */
3394
+ readonly circuit_set_filters?: boolean
3395
+ /**
3396
+ * If this pump should set its only filter from the circuit network
3397
+ */
3398
+ readonly set_filter?: boolean
3399
+ /**
3400
+ * If this loader pulses its transfers to the circuit network.
3401
+ */
3402
+ readonly circuit_read_transfers?: boolean
3403
+ /**
3404
+ * If this inserter has its stack size set by the circuit network.
3405
+ */
3406
+ readonly circuit_set_stack_size?: boolean
3407
+ readonly stack_control_input_signal?: SignalID
3408
+ /**
3409
+ * Used by assembling machines.
3410
+ */
3411
+ readonly set_recipe?: boolean
3412
+ readonly read_ingredients?: boolean
3413
+ readonly read_recipe_finished?: boolean
3414
+ readonly read_recipe_finished_signal?: SignalID
3415
+ readonly read_working?: boolean
3416
+ readonly read_working_signal?: SignalID
3417
+ /**
3418
+ * If this mining drill reads its resources to the circuit network.
3419
+ */
3420
+ readonly circuit_read_resources?: boolean
3421
+ readonly circuit_resource_read_mode?: defines.control_behavior.mining_drill.resource_read_mode
3422
+ /**
3423
+ * Used by constant combinators.
3424
+ */
3425
+ readonly is_on?: boolean
3426
+ /**
3427
+ * Used by constant combinators.
3428
+ */
3429
+ readonly sections?: LogisticSections
3430
+ readonly arithmetic_conditions?: ArithmeticCombinatorParameters
3431
+ readonly decider_conditions?: DeciderCombinatorParameters
3432
+ /**
3433
+ * Used by selector combinators.
3434
+ */
3435
+ readonly index_signal?: SignalID
3436
+ /**
3437
+ * Used by selector combinators.
3438
+ */
3439
+ readonly index_constant?: uint
3440
+ /**
3441
+ * Used by selector combinators.
3442
+ */
3443
+ readonly count_signal?: SignalID
3444
+ /**
3445
+ * Used by selector combinators. When not specified, defaults to "select".
3446
+ */
3447
+ readonly operation?: "select" | "count" | "random"
3448
+ /**
3449
+ * Used by selector combinators.
3450
+ */
3451
+ readonly select_max?: boolean
3452
+ /**
3453
+ * Applies to train stop. Default true.
3454
+ */
3455
+ readonly send_to_train?: boolean
3456
+ readonly read_from_train?: boolean
3457
+ readonly set_trains_limit?: boolean
3458
+ readonly trains_limit_signal?: SignalID
3459
+ readonly read_stopped_train?: boolean
3460
+ readonly train_stopped_signal?: SignalID
3461
+ readonly read_trains_count?: boolean
3462
+ readonly trains_count_signal?: SignalID
3463
+ readonly set_priority?: boolean
3464
+ readonly priority_signal?: SignalID
3465
+ /**
3466
+ * Used by lamps.
3467
+ */
3468
+ readonly use_colors?: boolean
3469
+ readonly color_mode?: defines.control_behavior.lamp.color_mode
3470
+ /**
3471
+ * Used by **lamps**. For rail signals, see {@link red_output_signal }.
3472
+ */
3473
+ readonly red_signal?: SignalID
3474
+ /**
3475
+ * Used by **lamps**. For rail signals, see {@link green_output_signal }.
3476
+ */
3477
+ readonly green_signal?: SignalID
3478
+ /**
3479
+ * Used by **lamps**. For rail signals, see {@link orange_output_signal }.
3480
+ */
3481
+ readonly blue_signal?: SignalID
3482
+ /**
3483
+ * Used by lamps.
3484
+ */
3485
+ readonly rgb_signal?: SignalID
3486
+ /**
3487
+ * Used by roboports.
3488
+ */
3489
+ readonly read_items_mode?:
3490
+ | defines.control_behavior.roboport.read_items_mode
3491
+ | defines.control_behavior.rocket_silo.read_mode
3492
+ readonly read_robot_stats?: boolean
3493
+ readonly available_logistic_output_signal?: SignalID
3494
+ readonly total_logistic_output_signal?: SignalID
3495
+ readonly available_construction_output_signal?: SignalID
3496
+ readonly total_construction_output_signal?: SignalID
3497
+ readonly roboport_count_output_signal?: SignalID
3498
+ /**
3499
+ * Used by train signals.
3500
+ */
3501
+ readonly circuit_close_signal?: boolean
3502
+ /**
3503
+ * Used by train signals.
3504
+ */
3505
+ readonly circuit_read_signal?: boolean
3506
+ /**
3507
+ * Used by **train signals**. For lamps, seed {@link red_signal }.
3508
+ */
3509
+ readonly red_output_signal?: SignalID
3510
+ /**
3511
+ * used by train signals.
3512
+ */
3513
+ readonly orange_output_signal?: SignalID
3514
+ /**
3515
+ * Used by **train signals**. For lamps, seed {@link green_signal }.
3516
+ */
3517
+ readonly green_output_signal?: SignalID
3518
+ /**
3519
+ * Used by **train signals**. For lamps, seed {@link blue_signal }.
3520
+ */
3521
+ readonly blue_output_signal?: SignalID
3522
+ /**
3523
+ * Used by programmable speakers.
3524
+ */
3525
+ readonly circuit_parameters?: ProgrammableSpeakerCircuitParameters
3526
+ /**
3527
+ * Display panel configuration.
3528
+ */
3529
+ readonly parameters?: DisplayPanelMessageDefinition
3530
+ /**
3531
+ * If this reads the fuel contents of this reactor.
3532
+ */
3533
+ readonly read_burner_fuel?: boolean
3534
+ /**
3535
+ * If this reads the temperature of this reactor.
3536
+ */
3537
+ readonly read_temperature?: boolean
3538
+ readonly temperature_signal?: SignalID
3539
+ /**
3540
+ * Used by space platform hub.
3541
+ */
3542
+ readonly send_to_platform?: boolean
3543
+ readonly read_moving_from?: boolean
3544
+ readonly read_moving_to?: boolean
3545
+ readonly read_speed?: boolean
3546
+ readonly speed_signal?: SignalID
3547
+ readonly read_damage_taken?: boolean
3548
+ readonly damage_taken_signal?: SignalID
3549
+ }
3550
+ /**
3551
+ * Write form of {@link BlueprintControlBehavior}, where some properties allow additional values as input compared to the read form.
3552
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/BlueprintControlBehavior.html Online documentation}
3553
+ */
3554
+ export interface BlueprintControlBehaviorWrite {
3555
+ /**
3556
+ * If this entity is enabled/disabled by the circuit network.
3557
+ *
3558
+ * Does **not** apply to logistic containers, see instead {@link circuit_condition_enabled }.
3559
+ *
3560
+ * Corresponds to {@link LuaGenericOnOffControlBehavior.circuit_enable_disable }
3561
+ */
3562
+ readonly circuit_enabled?: boolean
3563
+ /**
3564
+ * Applies to any entity that can be enabled/disabled by the circuit network.
3565
+ */
3566
+ readonly circuit_condition?: CircuitConditionWrite
3567
+ /**
3568
+ * Corresponds to {@link LuaGenericOnOffControlBehavior.connect_to_logistic_network }.
3569
+ */
3570
+ readonly connect_to_logistic_network?: boolean
3571
+ /**
3572
+ * Corresponds to {@link LuaGenericOnOffControlBehavior.logistic_condition }.
3573
+ */
3574
+ readonly logistic_condition?: CircuitConditionWrite
3575
+ /**
3576
+ * If this entity with inventory reads its contents to the circuit network. Default true.
3577
+ *
3578
+ * Does not apply to asteroid collectors, see {@link circuit_read_contents }.
3579
+ */
3580
+ readonly read_contents?: boolean
3581
+ /**
3582
+ * If an **asteroid collector** reads its contents to the circuit network. Default false.
3583
+ */
3584
+ readonly circuit_read_contents?: boolean
3585
+ /**
3586
+ * On a turret, if the ammo is read by the circuit network. Default true.
3587
+ */
3588
+ readonly read_ammo?: boolean
3589
+ /**
3590
+ * Used by turrets.
3591
+ */
3592
+ readonly set_priority_list?: boolean
3593
+ /**
3594
+ * Used by turrets.
3595
+ */
3596
+ readonly set_ignore_unlisted_targets?: boolean
3597
+ /**
3598
+ * Used by turrets.
3599
+ */
3600
+ readonly ignore_unlisted_targets_condition?: CircuitConditionWrite
3601
+ readonly circuit_mode_of_operation?:
3602
+ | defines.control_behavior.logistic_container.exclusive_mode
3603
+ | defines.control_behavior.cargo_landing_pad.exclusive_mode
3604
+ /**
3605
+ * If this **logistics container** is enabled/disabled by the circuit network.
3606
+ *
3607
+ * For other machines, see {@link circuit_enabled }.
3608
+ */
3609
+ readonly circuit_condition_enabled?: boolean
3610
+ /**
3611
+ * Accumulator or gate output signal.
3612
+ */
3613
+ readonly output_signal?: SignalID
3614
+ /**
3615
+ * If the accumulator sends its charge to the circuit network. Default true.
3616
+ */
3617
+ readonly read_charge?: boolean
3618
+ /**
3619
+ * Used by walls connected to gates.
3620
+ */
3621
+ readonly circuit_open_gate?: boolean
3622
+ /**
3623
+ * Used by walls connected to gates. The signal is defined by {@link output_signal }.
3624
+ */
3625
+ readonly circuit_read_sensor?: boolean
3626
+ /**
3627
+ * If this inserter or belt is read by the circuit network.
3628
+ */
3629
+ readonly circuit_read_hand_contents?: boolean
3630
+ /**
3631
+ * For reading contents of an inserter.
3632
+ */
3633
+ readonly circuit_hand_read_mode?: defines.control_behavior.inserter.hand_read_mode
3634
+ /**
3635
+ * For reading contents of a belt.
3636
+ */
3637
+ readonly circuit_contents_read_mode?: defines.control_behavior.transport_belt.content_read_mode
3638
+ /**
3639
+ * If this inserter, loader, or asteroid collector has its filters set by the circuit network.
3640
+ */
3641
+ readonly circuit_set_filters?: boolean
3642
+ /**
3643
+ * If this pump should set its only filter from the circuit network
3644
+ */
3645
+ readonly set_filter?: boolean
3646
+ /**
3647
+ * If this loader pulses its transfers to the circuit network.
3648
+ */
3649
+ readonly circuit_read_transfers?: boolean
3650
+ /**
3651
+ * If this inserter has its stack size set by the circuit network.
3652
+ */
3653
+ readonly circuit_set_stack_size?: boolean
3654
+ readonly stack_control_input_signal?: SignalID
3655
+ /**
3656
+ * Used by assembling machines.
3657
+ */
3658
+ readonly set_recipe?: boolean
3659
+ readonly read_ingredients?: boolean
3660
+ readonly read_recipe_finished?: boolean
3661
+ readonly read_recipe_finished_signal?: SignalID
3662
+ readonly read_working?: boolean
3663
+ readonly read_working_signal?: SignalID
3664
+ /**
3665
+ * If this mining drill reads its resources to the circuit network.
3666
+ */
3667
+ readonly circuit_read_resources?: boolean
3668
+ readonly circuit_resource_read_mode?: defines.control_behavior.mining_drill.resource_read_mode
3669
+ /**
3670
+ * Used by constant combinators.
3671
+ */
3672
+ readonly is_on?: boolean
3673
+ /**
3674
+ * Used by constant combinators.
2835
3675
  */
2836
- readonly entity_number: uint
3676
+ readonly sections?: LogisticSectionsWrite
3677
+ readonly arithmetic_conditions?: ArithmeticCombinatorParameters
3678
+ readonly decider_conditions?: DeciderCombinatorParameters
2837
3679
  /**
2838
- * The prototype name of the entity.
3680
+ * Used by selector combinators.
2839
3681
  */
2840
- readonly name: string
3682
+ readonly index_signal?: SignalID
2841
3683
  /**
2842
- * The position of the entity.
3684
+ * Used by selector combinators.
2843
3685
  */
2844
- readonly position: MapPosition
3686
+ readonly index_constant?: uint
2845
3687
  /**
2846
- * The direction the entity is facing. Only present for entities that can face in different directions and when the entity is not facing north.
3688
+ * Used by selector combinators.
2847
3689
  */
2848
- readonly direction?: defines.direction
3690
+ readonly count_signal?: SignalID
2849
3691
  /**
2850
- * Whether this entity is mirrored.
3692
+ * Used by selector combinators. When not specified, defaults to "select".
2851
3693
  */
2852
- readonly mirror?: boolean
3694
+ readonly operation?: "select" | "count" | "random"
2853
3695
  /**
2854
- * The prototype name of the entity's quality.
3696
+ * Used by selector combinators.
2855
3697
  */
2856
- readonly quality?: string
3698
+ readonly select_max?: boolean
2857
3699
  /**
2858
- * The control behavior of the entity, if it has one. The format of the control behavior depends on the entity's type. Only relevant for entities that support control behaviors.
3700
+ * Applies to train stop. Default true.
2859
3701
  */
2860
- readonly control_behavior?: BlueprintControlBehavior
3702
+ readonly send_to_train?: boolean
3703
+ readonly read_from_train?: boolean
3704
+ readonly set_trains_limit?: boolean
3705
+ readonly trains_limit_signal?: SignalID
3706
+ readonly read_stopped_train?: boolean
3707
+ readonly train_stopped_signal?: SignalID
3708
+ readonly read_trains_count?: boolean
3709
+ readonly trains_count_signal?: SignalID
3710
+ readonly set_priority?: boolean
3711
+ readonly priority_signal?: SignalID
2861
3712
  /**
2862
- * The items that the entity will request when revived, if any.
3713
+ * Used by lamps.
2863
3714
  */
2864
- readonly items?: BlueprintInsertPlan[]
3715
+ readonly use_colors?: boolean
3716
+ readonly color_mode?: defines.control_behavior.lamp.color_mode
2865
3717
  /**
2866
- * The entity tags of the entity, if there are any.
3718
+ * Used by **lamps**. For rail signals, see {@link red_output_signal }.
2867
3719
  */
2868
- readonly tags?: Tags
3720
+ readonly red_signal?: SignalID
2869
3721
  /**
2870
- * The schedule of the entity, if it has one. Only relevant for locomotives.
3722
+ * Used by **lamps**. For rail signals, see {@link green_output_signal }.
2871
3723
  */
2872
- readonly schedule?: BlueprintSchedule
3724
+ readonly green_signal?: SignalID
2873
3725
  /**
2874
- * Wires connected to this entity in the blueprint.
3726
+ * Used by **lamps**. For rail signals, see {@link orange_output_signal }.
2875
3727
  */
2876
- readonly wires?: BlueprintWire[]
2877
- /** Orientation of the cargo wagon or locomotive, value 0 to 1 */
2878
- readonly orientation?: RealOrientation
2879
- /** Copper wire connections, array of entity_numbers */
2880
- readonly neighbours?: uint[]
2881
- /** Name of the recipe prototype this assembling machine is set to. */
2882
- readonly recipe?: string
2883
- /** Used by {@link https://wiki.factorio.com/Prototype/Container Prototype/Container}. The index of the first inaccessible item slot due to limiting with the red "bar". 0-based. */
2884
- readonly bar?: uint16
2885
- /** Cargo wagon inventory configuration */
2886
- readonly inventory?: BlueprintInventory
2887
- /** Used by {@link https://wiki.factorio.com/Prototype/InfinityContainer Prototype/InfinityContainer}. */
2888
- readonly infinity_settings?: BlueprintInfinitySettings | InfinityPipeFilter
2889
- /** Type of the underground belt or loader. Either "input" or "output". */
2890
- readonly type?: "input" | "output"
2891
- /** Input priority of the splitter. Either "right" or "left", "none" is omitted. */
2892
- readonly input_priority?: "right" | "left"
2893
- /** Output priority of the splitter. Either "right" or "left", "none" is omitted. */
2894
- readonly output_priority?: "right" | "left"
2895
- /** Filter of the splitter. Name of the item prototype the filter is set to. */
2896
- readonly filter?: string
2897
- /** Filters of the filter inserter or loader. Array of {@link InventoryFilter} objects. */
2898
- readonly filters?: InventoryFilter[]
2899
- /** Filter mode of the filter inserter. Either "whitelist" or "blacklist". */
2900
- readonly filter_mode?: "whitelist" | "blacklist"
2901
- /** The stack size the inserter is set to. */
2902
- readonly override_stack_size?: uint8
2903
- /** The drop position the inserter is set to. */
2904
- readonly drop_position?: MapPosition
2905
- /** The pickup position the inserter is set to. */
2906
- readonly pickup_position?: MapPosition
2907
- /** Used by {@link https://wiki.factorio.com/Prototype/LogisticContainer Prototype/LogisticContainer}. */
2908
- readonly request_filters?: LogisticFilter[]
2909
- /** Whether this requester chest can request from buffer chests. */
2910
- readonly request_from_buffers?: boolean
2911
- /** Used by {@link https://wiki.factorio.com/Programmable_speaker Programmable speaker}. */
2912
- readonly parameters?: ProgrammableSpeakerParameters
2913
- /** Used by {@link https://wiki.factorio.com/Programmable_speaker Programmable speaker}. */
2914
- readonly alert_parameters?: ProgrammableSpeakerAlertParameters
2915
- /** Used by the rocket silo, whether auto launch is enabled. */
2916
- readonly auto_launch?: boolean
2917
- /** Used by {@link https://wiki.factorio.com/Prototype/SimpleEntityWithForce Prototype/SimpleEntityWithForce} or {@link https://wiki.factorio.com/Prototype/SimpleEntityWithOwner Prototype/SimpleEntityWithOwner}. */
2918
- readonly variation?: uint8
2919
- /** Color of the {@link https://wiki.factorio.com/Prototype/SimpleEntityWithForce Prototype/SimpleEntityWithForce}, {@link https://wiki.factorio.com/Prototype/SimpleEntityWithOwner Prototype/SimpleEntityWithOwner}, or train station. */
2920
- readonly color?: Color
2921
- /** The name of the train station. */
2922
- readonly station?: string
2923
- }
2924
- /**
2925
- * Information about a single connection between two connection points.
2926
- *
2927
- * {@link https://wiki.factorio.com/Blueprint_string_format#Connection_data_object View Documentation}
2928
- */
2929
- export interface BlueprintConnectionData {
2930
- /** ID of the entity this connection is connected with. */
2931
- entity_id: uint
2932
- /** The circuit connector id of the entity this connection is connected to. */
2933
- circuit_id?: defines.wire_connector_id
2934
- }
2935
- /**
2936
- * The actual point where a wire is connected to. Contains information about where it is connected to.
2937
- *
2938
- * {@link https://wiki.factorio.com/Blueprint_string_format#Connection_point_object View Documentation}
2939
- */
2940
- export interface BlueprintConnectionPoint {
3728
+ readonly blue_signal?: SignalID
2941
3729
  /**
2942
- * An array of {@link BlueprintConnectionData Connection data object} containing all the connections from this point
2943
- * created by red wire.
3730
+ * Used by lamps.
2944
3731
  */
2945
- red?: BlueprintConnectionData[]
3732
+ readonly rgb_signal?: SignalID
2946
3733
  /**
2947
- * An array of {@link BlueprintConnectionData Connection data object} containing all the connections from this point
2948
- * created by green wire.
3734
+ * Used by roboports.
2949
3735
  */
2950
- green?: BlueprintConnectionData[]
2951
- }
2952
- /**
2953
- * Object containing information about the connections to other entities formed by red or green wires.
2954
- *
2955
- * {@link https://wiki.factorio.com/Blueprint_string_format#Connection_object View Documentation}
2956
- */
2957
- export interface BlueprintCircuitConnection {
2958
- /** First connection point. The default for everything that doesn't have multiple connection points. */
2959
- "1"?: BlueprintConnectionPoint
2960
- /** Second connection point. For example, the "output" part of an arithmetic combinator. */
2961
- "2"?: BlueprintConnectionPoint
2962
- }
2963
- export interface BlueprintInventory {
2964
- readonly filters?: InventoryFilter[]
2965
- /** The index of the first inaccessible item slot due to limiting with the red "bar". 0-based. */
2966
- readonly bar?: uint16
2967
- }
2968
- export interface BlueprintInfinitySettings {
2969
- /** Whether the "remove unfiltered items" checkbox is checked. */
2970
- readonly remove_unfiltered_items: boolean
2971
- /** Filters of the infinity container. */
2972
- readonly filters?: InfinityInventoryFilter[]
2973
- }
2974
- /**
2975
- * WARNING: this type has not yet been updated for factorio 2.0.
2976
- */
2977
- export interface BlueprintControlBehavior {
2978
- readonly condition?: CircuitCondition
2979
- readonly circuit_condition?: CircuitCondition
2980
- readonly is_on?: boolean
2981
- readonly arithmetic_conditions?: ArithmeticCombinatorParameters
2982
- readonly decider_conditions?: DeciderCombinatorParameters
2983
- readonly circuit_enable_disable?: boolean
2984
- readonly circuit_read_resources?: boolean
2985
- readonly circuit_resource_read_mode?: defines.control_behavior.mining_drill.resource_read_mode
2986
- readonly read_stopped_train?: boolean
2987
- readonly train_stopped_signal?: SignalID
2988
- readonly read_from_train?: boolean
2989
- readonly send_to_train?: boolean
2990
- readonly circuit_mode_of_operation?: number
2991
- readonly circuit_read_hand_contents?: boolean
2992
- readonly circuit_hand_read_mode?: defines.control_behavior.inserter.hand_read_mode
2993
- readonly circuit_set_stack_size?: boolean
2994
- readonly stack_control_input_signal?: SignalID
2995
- readonly use_colors?: boolean
3736
+ readonly read_items_mode?:
3737
+ | defines.control_behavior.roboport.read_items_mode
3738
+ | defines.control_behavior.rocket_silo.read_mode
2996
3739
  readonly read_robot_stats?: boolean
2997
- readonly read_logistics?: boolean
2998
- readonly available_logistic_output_signal?: boolean
2999
- readonly total_logistic_output_signal?: boolean
3000
- readonly available_construction_output_signal?: boolean
3001
- readonly total_construction_output_signal?: boolean
3002
- readonly circuit_contents_read_mode?: defines.control_behavior.transport_belt.content_read_mode
3003
- readonly output_signal?: SignalID
3004
- readonly circuit_close_signal?: boolean
3005
- readonly circuit_read_signal?: boolean
3006
- readonly red_output_signal?: SignalID
3007
- readonly orange_output_signal?: SignalID
3008
- readonly green_output_signal?: SignalID
3009
- readonly blue_output_signal?: SignalID
3010
- readonly circuit_open_gate?: boolean
3011
- readonly circuit_read_sensor?: boolean
3012
- readonly circuit_parameters?: ProgrammableSpeakerCircuitParameters
3013
- }
3014
- /**
3015
- * Write form of {@link BlueprintEntity}, where some properties allow additional values as input compared to the read form.
3016
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/BlueprintEntity.html Online documentation}
3017
- */
3018
- export interface BlueprintEntityWrite {
3740
+ readonly available_logistic_output_signal?: SignalID
3741
+ readonly total_logistic_output_signal?: SignalID
3742
+ readonly available_construction_output_signal?: SignalID
3743
+ readonly total_construction_output_signal?: SignalID
3744
+ readonly roboport_count_output_signal?: SignalID
3019
3745
  /**
3020
- * The entity's unique identifier in the blueprint.
3746
+ * Used by train signals.
3021
3747
  */
3022
- readonly entity_number: uint
3748
+ readonly circuit_close_signal?: boolean
3023
3749
  /**
3024
- * The prototype name of the entity.
3750
+ * Used by train signals.
3025
3751
  */
3026
- readonly name: string
3752
+ readonly circuit_read_signal?: boolean
3027
3753
  /**
3028
- * The position of the entity.
3754
+ * Used by **train signals**. For lamps, seed {@link red_signal }.
3029
3755
  */
3030
- readonly position: MapPosition | MapPositionArray
3756
+ readonly red_output_signal?: SignalID
3031
3757
  /**
3032
- * The direction the entity is facing. Only present for entities that can face in different directions and when the entity is not facing north.
3758
+ * used by train signals.
3033
3759
  */
3034
- readonly direction?: defines.direction
3760
+ readonly orange_output_signal?: SignalID
3035
3761
  /**
3036
- * Whether this entity is mirrored.
3762
+ * Used by **train signals**. For lamps, seed {@link green_signal }.
3037
3763
  */
3038
- readonly mirror?: boolean
3764
+ readonly green_output_signal?: SignalID
3039
3765
  /**
3040
- * The prototype name of the entity's quality.
3766
+ * Used by **train signals**. For lamps, seed {@link blue_signal }.
3041
3767
  */
3042
- readonly quality?: string
3768
+ readonly blue_output_signal?: SignalID
3043
3769
  /**
3044
- * The control behavior of the entity, if it has one. The format of the control behavior depends on the entity's type. Only relevant for entities that support control behaviors.
3770
+ * Used by programmable speakers.
3045
3771
  */
3046
- readonly control_behavior?: BlueprintControlBehavior
3772
+ readonly circuit_parameters?: ProgrammableSpeakerCircuitParameters
3047
3773
  /**
3048
- * The items that the entity will request when revived, if any.
3774
+ * Display panel configuration.
3049
3775
  */
3050
- readonly items?: readonly BlueprintInsertPlanWrite[]
3776
+ readonly parameters?: DisplayPanelMessageDefinitionWrite
3051
3777
  /**
3052
- * The entity tags of the entity, if there are any.
3778
+ * If this reads the fuel contents of this reactor.
3053
3779
  */
3054
- readonly tags?: Tags
3780
+ readonly read_burner_fuel?: boolean
3055
3781
  /**
3056
- * The schedule of the entity, if it has one. Only relevant for locomotives.
3782
+ * If this reads the temperature of this reactor.
3057
3783
  */
3058
- readonly schedule?: BlueprintScheduleWrite
3784
+ readonly read_temperature?: boolean
3785
+ readonly temperature_signal?: SignalID
3059
3786
  /**
3060
- * Wires connected to this entity in the blueprint.
3787
+ * Used by space platform hub.
3061
3788
  */
3062
- readonly wires?: BlueprintWire[]
3063
- /** Orientation of the cargo wagon or locomotive, value 0 to 1 */
3064
- readonly orientation?: RealOrientation
3065
- /** Copper wire connections, array of entity_numbers */
3066
- readonly neighbours?: uint[]
3067
- /** Name of the recipe prototype this assembling machine is set to. */
3068
- readonly recipe?: string
3069
- /** Used by {@link https://wiki.factorio.com/Prototype/Container Prototype/Container}. The index of the first inaccessible item slot due to limiting with the red "bar". 0-based. */
3070
- readonly bar?: uint16
3071
- /** Cargo wagon inventory configuration */
3072
- readonly inventory?: BlueprintInventory
3073
- /** Used by {@link https://wiki.factorio.com/Prototype/InfinityContainer Prototype/InfinityContainer}. */
3074
- readonly infinity_settings?: BlueprintInfinitySettings | InfinityPipeFilter
3075
- /** Type of the underground belt or loader. Either "input" or "output". */
3076
- readonly type?: "input" | "output"
3077
- /** Input priority of the splitter. Either "right" or "left", "none" is omitted. */
3078
- readonly input_priority?: "right" | "left"
3079
- /** Output priority of the splitter. Either "right" or "left", "none" is omitted. */
3080
- readonly output_priority?: "right" | "left"
3081
- /** Filter of the splitter. Name of the item prototype the filter is set to. */
3082
- readonly filter?: string
3083
- /** Filters of the filter inserter or loader. Array of {@link InventoryFilter} objects. */
3084
- readonly filters?: InventoryFilter[]
3085
- /** Filter mode of the filter inserter. Either "whitelist" or "blacklist". */
3086
- readonly filter_mode?: "whitelist" | "blacklist"
3087
- /** The stack size the inserter is set to. */
3088
- readonly override_stack_size?: uint8
3089
- /** The drop position the inserter is set to. */
3090
- readonly drop_position?: MapPosition
3091
- /** The pickup position the inserter is set to. */
3092
- readonly pickup_position?: MapPosition
3093
- /** Used by {@link https://wiki.factorio.com/Prototype/LogisticContainer Prototype/LogisticContainer}. */
3094
- readonly request_filters?: LogisticFilter[]
3095
- /** Whether this requester chest can request from buffer chests. */
3096
- readonly request_from_buffers?: boolean
3097
- /** Used by {@link https://wiki.factorio.com/Programmable_speaker Programmable speaker}. */
3098
- readonly parameters?: ProgrammableSpeakerParameters
3099
- /** Used by {@link https://wiki.factorio.com/Programmable_speaker Programmable speaker}. */
3100
- readonly alert_parameters?: ProgrammableSpeakerAlertParameters
3101
- /** Used by the rocket silo, whether auto launch is enabled. */
3102
- readonly auto_launch?: boolean
3103
- /** Used by {@link https://wiki.factorio.com/Prototype/SimpleEntityWithForce Prototype/SimpleEntityWithForce} or {@link https://wiki.factorio.com/Prototype/SimpleEntityWithOwner Prototype/SimpleEntityWithOwner}. */
3104
- readonly variation?: uint8
3105
- /** Color of the {@link https://wiki.factorio.com/Prototype/SimpleEntityWithForce Prototype/SimpleEntityWithForce}, {@link https://wiki.factorio.com/Prototype/SimpleEntityWithOwner Prototype/SimpleEntityWithOwner}, or train station. */
3106
- readonly color?: Color
3107
- /** The name of the train station. */
3108
- readonly station?: string
3789
+ readonly send_to_platform?: boolean
3790
+ readonly read_moving_from?: boolean
3791
+ readonly read_moving_to?: boolean
3792
+ readonly read_speed?: boolean
3793
+ readonly speed_signal?: SignalID
3794
+ readonly read_damage_taken?: boolean
3795
+ readonly damage_taken_signal?: SignalID
3109
3796
  }
3110
3797
  /**
3111
3798
  * A string that represents a math expression. The expression parser recognizes four basic token types (with their regex):
@@ -3137,7 +3824,7 @@ declare module "factorio:runtime" {
3137
3824
  * "2500 * (L - 3)"
3138
3825
  * @example
3139
3826
  * "(4e5 * (abs(speed) + 10.5)) / weight"
3140
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/MathExpression.html Online documentation}
3827
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/MathExpression.html Online documentation}
3141
3828
  */
3142
3829
  export type MathExpression = string
3143
3830
  /**
@@ -3159,7 +3846,7 @@ declare module "factorio:runtime" {
3159
3846
  * -- What a custom recipe would look like that had a probability of 0.5 to return a
3160
3847
  * -- minimum amount of 1 and a maximum amount of 5
3161
3848
  * {{type="item", name="custom-item", probability=0.5, amount_min=1, amount_max=5}}
3162
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/Product.html Online documentation}
3849
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/Product.html Online documentation}
3163
3850
  */
3164
3851
  export type Product = ItemProduct | FluidProduct | ResearchProgressProduct
3165
3852
  /**
@@ -3170,7 +3857,7 @@ declare module "factorio:runtime" {
3170
3857
  * -- What a custom recipe would look like that had a probability of 0.5 to return a
3171
3858
  * -- minimum amount of 1 and a maximum amount of 5
3172
3859
  * {{type="item", name="custom-item", probability=0.5, amount_min=1, amount_max=5}}
3173
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/ItemProduct.html Online documentation}
3860
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/ItemProduct.html Online documentation}
3174
3861
  */
3175
3862
  export interface ItemProduct {
3176
3863
  readonly type: "item"
@@ -3214,7 +3901,7 @@ declare module "factorio:runtime" {
3214
3901
  * {{type="fluid", name="heavy-oil", amount=1},
3215
3902
  * {type="fluid", name="light-oil", amount=4.5},
3216
3903
  * {type="fluid", name="petroleum-gas", amount=5.5}}
3217
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/FluidProduct.html Online documentation}
3904
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/FluidProduct.html Online documentation}
3218
3905
  */
3219
3906
  export interface FluidProduct {
3220
3907
  readonly type: "fluid"
@@ -3260,6 +3947,28 @@ declare module "factorio:runtime" {
3260
3947
  readonly research_item: string
3261
3948
  readonly amount: double
3262
3949
  }
3950
+ /**
3951
+ * @see LogisticSectionsWrite
3952
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/LogisticSections.html Online documentation}
3953
+ */
3954
+ export interface LogisticSections {
3955
+ readonly sections?: LogisticSection[]
3956
+ /**
3957
+ * Defaults to false.
3958
+ */
3959
+ readonly trash_not_requested?: boolean
3960
+ }
3961
+ /**
3962
+ * Write form of {@link LogisticSections}, where some properties allow additional values as input compared to the read form.
3963
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/LogisticSections.html Online documentation}
3964
+ */
3965
+ export interface LogisticSectionsWrite {
3966
+ readonly sections?: readonly LogisticSectionWrite[]
3967
+ /**
3968
+ * Defaults to false.
3969
+ */
3970
+ readonly trash_not_requested?: boolean
3971
+ }
3263
3972
  export interface CompiledLogisticFilter {
3264
3973
  readonly index: LogisticFilterIndex
3265
3974
  /**
@@ -3285,9 +3994,103 @@ declare module "factorio:runtime" {
3285
3994
  */
3286
3995
  readonly minimum_delivery_count?: ItemCountType
3287
3996
  }
3997
+ /**
3998
+ * @see LogisticSectionWrite
3999
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/LogisticSection.html Online documentation}
4000
+ */
4001
+ export interface LogisticSection {
4002
+ readonly index: uint8
4003
+ readonly filters?: BlueprintLogisticFilter[]
4004
+ readonly group?: string
4005
+ /**
4006
+ * Defaults to 1.
4007
+ */
4008
+ readonly multiplier?: float
4009
+ /**
4010
+ * Defaults to true.
4011
+ */
4012
+ readonly active?: float
4013
+ }
4014
+ /**
4015
+ * Write form of {@link LogisticSection}, where some properties allow additional values as input compared to the read form.
4016
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/LogisticSection.html Online documentation}
4017
+ */
4018
+ export interface LogisticSectionWrite {
4019
+ readonly index: uint8
4020
+ readonly filters?: readonly BlueprintLogisticFilterWrite[]
4021
+ readonly group?: string
4022
+ /**
4023
+ * Defaults to 1.
4024
+ */
4025
+ readonly multiplier?: float
4026
+ /**
4027
+ * Defaults to true.
4028
+ */
4029
+ readonly active?: float
4030
+ }
4031
+ /**
4032
+ * @see BlueprintLogisticFilterWrite
4033
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/BlueprintLogisticFilter.html Online documentation}
4034
+ */
4035
+ export interface BlueprintLogisticFilter {
4036
+ readonly index: LogisticFilterIndex
4037
+ /**
4038
+ * The type of the logistic filter.
4039
+ */
4040
+ readonly type?: SignalIDType
4041
+ /**
4042
+ * Name of the logistic filter.
4043
+ */
4044
+ readonly name?: string
4045
+ /**
4046
+ * The prototype name of the quality. `nil` for any quality.
4047
+ */
4048
+ readonly quality?: string
4049
+ /**
4050
+ * The comparator for quality. `nil` if any quality.
4051
+ */
4052
+ readonly comparator?: ComparatorStringRead
4053
+ readonly count: int
4054
+ readonly max_count?: ItemCountType
4055
+ /**
4056
+ * Defaults to 0.
4057
+ */
4058
+ readonly minimum_delivery_count?: ItemCountType
4059
+ readonly import_from?: string
4060
+ }
4061
+ /**
4062
+ * Write form of {@link BlueprintLogisticFilter}, where some properties allow additional values as input compared to the read form.
4063
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/BlueprintLogisticFilter.html Online documentation}
4064
+ */
4065
+ export interface BlueprintLogisticFilterWrite {
4066
+ readonly index: LogisticFilterIndex
4067
+ /**
4068
+ * The type of the logistic filter.
4069
+ */
4070
+ readonly type?: SignalIDType
4071
+ /**
4072
+ * Name of the logistic filter.
4073
+ */
4074
+ readonly name?: string
4075
+ /**
4076
+ * The prototype name of the quality. `nil` for any quality.
4077
+ */
4078
+ readonly quality?: string
4079
+ /**
4080
+ * The comparator for quality. `nil` if any quality.
4081
+ */
4082
+ readonly comparator?: ComparatorString
4083
+ readonly count: int
4084
+ readonly max_count?: ItemCountType
4085
+ /**
4086
+ * Defaults to 0.
4087
+ */
4088
+ readonly minimum_delivery_count?: ItemCountType
4089
+ readonly import_from?: string
4090
+ }
3288
4091
  /**
3289
4092
  * Specifies how probability and richness are calculated when placing something on the map.
3290
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/AutoplaceSpecification.html Online documentation}
4093
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/AutoplaceSpecification.html Online documentation}
3291
4094
  */
3292
4095
  export interface AutoplaceSpecification {
3293
4096
  /**
@@ -3304,7 +4107,7 @@ declare module "factorio:runtime" {
3304
4107
  }
3305
4108
  /**
3306
4109
  * @see CliffPlacementSettingsWrite
3307
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/CliffPlacementSettings.html Online documentation}
4110
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/CliffPlacementSettings.html Online documentation}
3308
4111
  */
3309
4112
  export interface CliffPlacementSettings {
3310
4113
  /**
@@ -3334,7 +4137,7 @@ declare module "factorio:runtime" {
3334
4137
  }
3335
4138
  /**
3336
4139
  * Write form of {@link CliffPlacementSettings}, where some properties allow additional values as input compared to the read form.
3337
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/CliffPlacementSettings.html Online documentation}
4140
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/CliffPlacementSettings.html Online documentation}
3338
4141
  */
3339
4142
  export interface CliffPlacementSettingsWrite {
3340
4143
  /**
@@ -3364,7 +4167,7 @@ declare module "factorio:runtime" {
3364
4167
  }
3365
4168
  /**
3366
4169
  * @see AutoplaceSettingsWrite
3367
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/AutoplaceSettings.html Online documentation}
4170
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/AutoplaceSettings.html Online documentation}
3368
4171
  */
3369
4172
  export interface AutoplaceSettings {
3370
4173
  /**
@@ -3378,7 +4181,7 @@ declare module "factorio:runtime" {
3378
4181
  }
3379
4182
  /**
3380
4183
  * Write form of {@link AutoplaceSettings}, where some properties allow additional values as input compared to the read form.
3381
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/AutoplaceSettings.html Online documentation}
4184
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/AutoplaceSettings.html Online documentation}
3382
4185
  */
3383
4186
  export interface AutoplaceSettingsWrite {
3384
4187
  /**
@@ -3413,7 +4216,7 @@ declare module "factorio:runtime" {
3413
4216
  * surface.map_gen_settings = mgs
3414
4217
  * -- This does not require a NamedNoiseExpression to be defined, since literal numbers (and strings naming literal
3415
4218
  * -- numbers, e.g. `"123"`) are understood to stand for constant value expressions.
3416
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/MapGenSettings.html Online documentation}
4219
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/MapGenSettings.html Online documentation}
3417
4220
  */
3418
4221
  export interface MapGenSettings {
3419
4222
  /**
@@ -3468,7 +4271,7 @@ declare module "factorio:runtime" {
3468
4271
  }
3469
4272
  /**
3470
4273
  * Write form of {@link MapGenSettings}, where some properties allow additional values as input compared to the read form.
3471
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/MapGenSettings.html Online documentation}
4274
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/MapGenSettings.html Online documentation}
3472
4275
  */
3473
4276
  export interface MapGenSettingsWrite {
3474
4277
  /**
@@ -3527,7 +4330,7 @@ declare module "factorio:runtime" {
3527
4330
  }
3528
4331
  /**
3529
4332
  * These values are for the time frame of one second (60 ticks).
3530
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/PollutionMapSettings.html Online documentation}
4333
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/PollutionMapSettings.html Online documentation}
3531
4334
  */
3532
4335
  export interface PollutionMapSettings {
3533
4336
  /**
@@ -3581,7 +4384,7 @@ declare module "factorio:runtime" {
3581
4384
  }
3582
4385
  /**
3583
4386
  * These values represent a percentual increase in evolution. This means a value of `0.1` would increase evolution by 10%.
3584
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/EnemyEvolutionMapSettings.html Online documentation}
4387
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/EnemyEvolutionMapSettings.html Online documentation}
3585
4388
  */
3586
4389
  export interface EnemyEvolutionMapSettings {
3587
4390
  /**
@@ -3619,7 +4422,7 @@ declare module "factorio:runtime" {
3619
4422
  * * neighbouring_base_chunk_coefficient^distance(chunk, neighbour)
3620
4423
  * score(chunk) = 1 / (1 + player + base)
3621
4424
  * ```
3622
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/EnemyExpansionMapSettings.html Online documentation}
4425
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/EnemyExpansionMapSettings.html Online documentation}
3623
4426
  */
3624
4427
  export interface EnemyExpansionMapSettings {
3625
4428
  /**
@@ -3878,17 +4681,17 @@ declare module "factorio:runtime" {
3878
4681
  }
3879
4682
  /**
3880
4683
  * Technology difficulty settings. Updating any of the attributes will immediately take effect in the game engine.
3881
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/DifficultySettings.html Online documentation}
4684
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/DifficultySettings.html Online documentation}
3882
4685
  */
3883
4686
  export interface DifficultySettings {
3884
4687
  /**
3885
4688
  * A value in range [0.001, 1000].
3886
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/DifficultySettings.technology_price_multiplier.html Online documentation}
4689
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/DifficultySettings.technology_price_multiplier.html Online documentation}
3887
4690
  */
3888
4691
  technology_price_multiplier: double
3889
4692
  /**
3890
4693
  * A value in range [0.01, 100].
3891
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/DifficultySettings.spoil_time_modifier.html Online documentation}
4694
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/DifficultySettings.spoil_time_modifier.html Online documentation}
3892
4695
  */
3893
4696
  spoil_time_modifier: double
3894
4697
  }
@@ -3904,7 +4707,7 @@ declare module "factorio:runtime" {
3904
4707
  }
3905
4708
  /**
3906
4709
  * A standard table containing all {@link MapSettings} attributes plus an additional table that contains all {@link DifficultySettings} properties.
3907
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/MapAndDifficultySettings.html Online documentation}
4710
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/MapAndDifficultySettings.html Online documentation}
3908
4711
  */
3909
4712
  export interface MapAndDifficultySettings {
3910
4713
  readonly pollution: PollutionMapSettings
@@ -3925,7 +4728,7 @@ declare module "factorio:runtime" {
3925
4728
  * @example
3926
4729
  * -- Increase the number of short paths the pathfinder can cache.
3927
4730
  * game.map_settings.path_finder.short_cache_size = 15
3928
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/MapSettings.html Online documentation}
4731
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/MapSettings.html Online documentation}
3929
4732
  */
3930
4733
  export interface MapSettings {
3931
4734
  pollution: PollutionMapSettings
@@ -3937,13 +4740,13 @@ declare module "factorio:runtime" {
3937
4740
  asteroids: AsteroidMapSettings
3938
4741
  /**
3939
4742
  * If a behavior fails this many times, the enemy (or enemy group) is destroyed. This solves biters getting stuck within their own base.
3940
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/MapSettings.max_failed_behavior_count.html Online documentation}
4743
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/MapSettings.max_failed_behavior_count.html Online documentation}
3941
4744
  */
3942
4745
  max_failed_behavior_count: uint
3943
4746
  }
3944
4747
  /**
3945
4748
  * @see BlueprintScheduleRecordWrite
3946
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/BlueprintScheduleRecord.html Online documentation}
4749
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/BlueprintScheduleRecord.html Online documentation}
3947
4750
  */
3948
4751
  export interface BlueprintScheduleRecord {
3949
4752
  /**
@@ -3960,7 +4763,7 @@ declare module "factorio:runtime" {
3960
4763
  }
3961
4764
  /**
3962
4765
  * Write form of {@link BlueprintScheduleRecord}, where some properties allow additional values as input compared to the read form.
3963
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/BlueprintScheduleRecord.html Online documentation}
4766
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/BlueprintScheduleRecord.html Online documentation}
3964
4767
  */
3965
4768
  export interface BlueprintScheduleRecordWrite {
3966
4769
  /**
@@ -3977,7 +4780,7 @@ declare module "factorio:runtime" {
3977
4780
  }
3978
4781
  /**
3979
4782
  * @see BlueprintScheduleInterruptWrite
3980
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/BlueprintScheduleInterrupt.html Online documentation}
4783
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/BlueprintScheduleInterrupt.html Online documentation}
3981
4784
  */
3982
4785
  export interface BlueprintScheduleInterrupt {
3983
4786
  readonly name?: string
@@ -3987,7 +4790,7 @@ declare module "factorio:runtime" {
3987
4790
  }
3988
4791
  /**
3989
4792
  * Write form of {@link BlueprintScheduleInterrupt}, where some properties allow additional values as input compared to the read form.
3990
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/BlueprintScheduleInterrupt.html Online documentation}
4793
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/BlueprintScheduleInterrupt.html Online documentation}
3991
4794
  */
3992
4795
  export interface BlueprintScheduleInterruptWrite {
3993
4796
  readonly name?: string
@@ -3997,7 +4800,7 @@ declare module "factorio:runtime" {
3997
4800
  }
3998
4801
  /**
3999
4802
  * @see BlueprintScheduleWrite
4000
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/BlueprintSchedule.html Online documentation}
4803
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/BlueprintSchedule.html Online documentation}
4001
4804
  */
4002
4805
  export interface BlueprintSchedule {
4003
4806
  readonly records?: BlueprintScheduleRecord[]
@@ -4006,7 +4809,7 @@ declare module "factorio:runtime" {
4006
4809
  }
4007
4810
  /**
4008
4811
  * Write form of {@link BlueprintSchedule}, where some properties allow additional values as input compared to the read form.
4009
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/BlueprintSchedule.html Online documentation}
4812
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/BlueprintSchedule.html Online documentation}
4010
4813
  */
4011
4814
  export interface BlueprintScheduleWrite {
4012
4815
  readonly records?: readonly BlueprintScheduleRecordWrite[]
@@ -4015,7 +4818,7 @@ declare module "factorio:runtime" {
4015
4818
  }
4016
4819
  /**
4017
4820
  * @see WaitConditionWrite
4018
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/WaitCondition.html Online documentation}
4821
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/WaitCondition.html Online documentation}
4019
4822
  */
4020
4823
  export interface WaitCondition {
4021
4824
  readonly type: WaitConditionType
@@ -4046,7 +4849,7 @@ declare module "factorio:runtime" {
4046
4849
  }
4047
4850
  /**
4048
4851
  * Write form of {@link WaitCondition}, where some properties allow additional values as input compared to the read form.
4049
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/WaitCondition.html Online documentation}
4852
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/WaitCondition.html Online documentation}
4050
4853
  */
4051
4854
  export interface WaitConditionWrite {
4052
4855
  readonly type: WaitConditionType
@@ -4105,7 +4908,7 @@ declare module "factorio:runtime" {
4105
4908
  * - `"at_station"`
4106
4909
  * - `"not_at_station"`
4107
4910
  * - `"damage_taken"`
4108
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/WaitConditionType.html Online documentation}
4911
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/WaitConditionType.html Online documentation}
4109
4912
  */
4110
4913
  export type WaitConditionType =
4111
4914
  | "time"
@@ -4147,7 +4950,7 @@ declare module "factorio:runtime" {
4147
4950
  * - `"blueprint-snap-rectangle"`: Green by default.
4148
4951
  * - `"spidertron-remote-selected"`
4149
4952
  * - `"spidertron-remote-to-be-selected"`
4150
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/CursorBoxRenderType.html Online documentation}
4953
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/CursorBoxRenderType.html Online documentation}
4151
4954
  */
4152
4955
  export type CursorBoxRenderType =
4153
4956
  | "entity"
@@ -4163,7 +4966,7 @@ declare module "factorio:runtime" {
4163
4966
  | "spidertron-remote-to-be-selected"
4164
4967
  /**
4165
4968
  * What is shown in the map view. If a field is not given, that setting will not be changed.
4166
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/MapViewSettings.html Online documentation}
4969
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/MapViewSettings.html Online documentation}
4167
4970
  */
4168
4971
  export interface MapViewSettings {
4169
4972
  readonly "show-logistic-network"?: boolean
@@ -4256,7 +5059,7 @@ declare module "factorio:runtime" {
4256
5059
  * - `"collision-selection-box"`: 189
4257
5060
  * - `"arrow"`: 190
4258
5061
  * - `"cursor"`: 226
4259
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/RenderLayer.html Online documentation}
5062
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/RenderLayer.html Online documentation}
4260
5063
  */
4261
5064
  export type RenderLayer =
4262
5065
  | `${bigint}`
@@ -4352,7 +5155,7 @@ declare module "factorio:runtime" {
4352
5155
  * - `"entity-with-quality"`
4353
5156
  * - `"recipe-with-quality"`
4354
5157
  * - `"equipment-with-quality"`
4355
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/ElemType.html Online documentation}
5158
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/ElemType.html Online documentation}
4356
5159
  */
4357
5160
  export type ElemType =
4358
5161
  | "achievement"
@@ -4379,7 +5182,7 @@ declare module "factorio:runtime" {
4379
5182
  * - `"left"`
4380
5183
  * - `"right"`
4381
5184
  * - `"none"`
4382
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/SwitchState.html Online documentation}
5185
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/SwitchState.html Online documentation}
4383
5186
  */
4384
5187
  export type SwitchState = "left" | "right" | "none"
4385
5188
  export interface ElemID {
@@ -4419,7 +5222,7 @@ declare module "factorio:runtime" {
4419
5222
  * - `"destroy-decoratives"`
4420
5223
  * - `"camera-effect"`
4421
5224
  * - `"activate-impact"`
4422
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/TriggerEffectItemType.html Online documentation}
5225
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/TriggerEffectItemType.html Online documentation}
4423
5226
  */
4424
5227
  export type TriggerEffectItemType =
4425
5228
  | "damage"
@@ -4455,7 +5258,7 @@ declare module "factorio:runtime" {
4455
5258
  }
4456
5259
  /**
4457
5260
  * A set of trigger target masks.
4458
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/TriggerTargetMask.html Online documentation}
5261
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/TriggerTargetMask.html Online documentation}
4459
5262
  */
4460
5263
  export type TriggerTargetMask = Record<string, true>
4461
5264
  export interface TriggerItem {
@@ -4522,7 +5325,7 @@ declare module "factorio:runtime" {
4522
5325
  * -- If 'entity-description.furnace' exists, it is concatenated with "\n" and returned. Otherwise, if 'item-description.furnace'
4523
5326
  * -- exists, it is returned as-is. Otherwise, "optional fallback" is returned. If this value wasn't specified, the
4524
5327
  * -- translation result would be "Unknown key: 'item-description.furnace'".
4525
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/LocalisedString.html Online documentation}
5328
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/LocalisedString.html Online documentation}
4526
5329
  */
4527
5330
  export type LocalisedString = string | number | boolean | LuaObject | nil | [string, ...LocalisedString[]]
4528
5331
  export interface DisplayResolution {
@@ -4533,7 +5336,7 @@ declare module "factorio:runtime" {
4533
5336
  * The smooth orientation. It is a {@link float} in the range `[0, 1)` that covers a full circle, starting at the top and going clockwise. This means a value of `0` indicates "north", a value of `0.5` indicates "south".
4534
5337
  *
4535
5338
  * For example then, a value of `0.625` would indicate "south-west", and a value of `0.875` would indicate "north-west".
4536
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/RealOrientation.html Online documentation}
5339
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/RealOrientation.html Online documentation}
4537
5340
  */
4538
5341
  export type RealOrientation = float
4539
5342
  /**
@@ -4548,7 +5351,7 @@ declare module "factorio:runtime" {
4548
5351
  * @example
4549
5352
  * -- Shorthand
4550
5353
  * {1.625, 2.375}
4551
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/MapPosition.html Online documentation}
5354
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/MapPosition.html Online documentation}
4552
5355
  */
4553
5356
  export interface MapPosition {
4554
5357
  readonly x: double
@@ -4557,13 +5360,13 @@ declare module "factorio:runtime" {
4557
5360
  /**
4558
5361
  * Array form of {@link MapPosition}.
4559
5362
  * @see MapPosition
4560
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/MapPosition.html Online documentation}
5363
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/MapPosition.html Online documentation}
4561
5364
  */
4562
5365
  export type MapPositionArray = readonly [double, double]
4563
5366
  /**
4564
5367
  * Coordinates of a chunk in a {@link LuaSurface} where each integer `x`/`y` represents a different chunk. This uses the same format as {@link MapPosition}, meaning it can be specified either with or without explicit keys. A {@link MapPosition} can be translated to a ChunkPosition by dividing the `x`/`y` values by 32.
4565
5368
  * @see ChunkPositionArray
4566
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/ChunkPosition.html Online documentation}
5369
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/ChunkPosition.html Online documentation}
4567
5370
  */
4568
5371
  export interface ChunkPosition {
4569
5372
  readonly x: int
@@ -4572,13 +5375,13 @@ declare module "factorio:runtime" {
4572
5375
  /**
4573
5376
  * Array form of {@link ChunkPosition}.
4574
5377
  * @see ChunkPosition
4575
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/ChunkPosition.html Online documentation}
5378
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/ChunkPosition.html Online documentation}
4576
5379
  */
4577
5380
  export type ChunkPositionArray = readonly [int, int]
4578
5381
  /**
4579
5382
  * Coordinates of a tile on a {@link LuaSurface} where each integer `x`/`y` represents a different tile. This uses the same format as {@link MapPosition}, except it rounds any non-integer `x`/`y` down to whole numbers. It can be specified either with or without explicit keys.
4580
5383
  * @see TilePositionArray
4581
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/TilePosition.html Online documentation}
5384
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/TilePosition.html Online documentation}
4582
5385
  */
4583
5386
  export interface TilePosition {
4584
5387
  readonly x: int
@@ -4587,7 +5390,7 @@ declare module "factorio:runtime" {
4587
5390
  /**
4588
5391
  * Array form of {@link TilePosition}.
4589
5392
  * @see TilePosition
4590
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/TilePosition.html Online documentation}
5393
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/TilePosition.html Online documentation}
4591
5394
  */
4592
5395
  export type TilePositionArray = readonly [int, int]
4593
5396
  /**
@@ -4600,7 +5403,7 @@ declare module "factorio:runtime" {
4600
5403
  * @example
4601
5404
  * -- Shorthand
4602
5405
  * {1, 2}
4603
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/EquipmentPosition.html Online documentation}
5406
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/EquipmentPosition.html Online documentation}
4604
5407
  */
4605
5408
  export interface EquipmentPosition {
4606
5409
  readonly x: int
@@ -4609,13 +5412,13 @@ declare module "factorio:runtime" {
4609
5412
  /**
4610
5413
  * Array form of {@link EquipmentPosition}.
4611
5414
  * @see EquipmentPosition
4612
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/EquipmentPosition.html Online documentation}
5415
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/EquipmentPosition.html Online documentation}
4613
5416
  */
4614
5417
  export type EquipmentPositionArray = readonly [int, int]
4615
5418
  /**
4616
5419
  * Screen coordinates of a GUI element in a {@link LuaGui}. This uses the same format as {@link TilePosition}, meaning it can be specified either with or without explicit keys.
4617
5420
  * @see GuiLocationArray
4618
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/GuiLocation.html Online documentation}
5421
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/GuiLocation.html Online documentation}
4619
5422
  */
4620
5423
  export interface GuiLocation {
4621
5424
  readonly x: int
@@ -4624,12 +5427,12 @@ declare module "factorio:runtime" {
4624
5427
  /**
4625
5428
  * Array form of {@link GuiLocation}.
4626
5429
  * @see GuiLocation
4627
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/GuiLocation.html Online documentation}
5430
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/GuiLocation.html Online documentation}
4628
5431
  */
4629
5432
  export type GuiLocationArray = readonly [int, int]
4630
5433
  /**
4631
5434
  * A {@link ChunkPosition} with an added bounding box for the area of the chunk.
4632
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/ChunkPositionAndArea.html Online documentation}
5435
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/ChunkPositionAndArea.html Online documentation}
4633
5436
  */
4634
5437
  export interface ChunkPositionAndArea {
4635
5438
  readonly x: int
@@ -4638,7 +5441,7 @@ declare module "factorio:runtime" {
4638
5441
  }
4639
5442
  /**
4640
5443
  * A table used to define a manual shape for a piece of equipment.
4641
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/EquipmentPoint.html Online documentation}
5444
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/EquipmentPoint.html Online documentation}
4642
5445
  */
4643
5446
  export interface EquipmentPoint {
4644
5447
  readonly x: uint
@@ -4674,7 +5477,7 @@ declare module "factorio:runtime" {
4674
5477
  * Note that the API returns tags as a simple table, meaning any modifications to it will not propagate back to the game. Thus, to modify a set of tags, the whole table needs to be written back to the respective property.
4675
5478
  * @example
4676
5479
  * {a = 1, b = true, c = "three", d = {e = "f"}}
4677
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/Tags.html Online documentation}
5480
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/Tags.html Online documentation}
4678
5481
  */
4679
5482
  export type Tags = Record<string, AnyBasic>
4680
5483
  export interface SurfaceCondition {
@@ -4708,13 +5511,13 @@ declare module "factorio:runtime" {
4708
5511
  * A vector is a two-element array or dictionary containing the `x` and `y` components. The game will always provide the array format. Positive x goes east, positive y goes south.
4709
5512
  * @example
4710
5513
  * right = {1.0, 0.0}
4711
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/Vector.html Online documentation}
5514
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/Vector.html Online documentation}
4712
5515
  */
4713
5516
  export type Vector = MapPositionArray
4714
5517
  /**
4715
5518
  * An area defined using the map editor.
4716
5519
  * @see ScriptAreaWrite
4717
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/ScriptArea.html Online documentation}
5520
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/ScriptArea.html Online documentation}
4718
5521
  */
4719
5522
  export interface ScriptArea {
4720
5523
  readonly area: BoundingBox
@@ -4724,7 +5527,7 @@ declare module "factorio:runtime" {
4724
5527
  }
4725
5528
  /**
4726
5529
  * Write form of {@link ScriptArea}, where some properties allow additional values as input compared to the read form.
4727
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/ScriptArea.html Online documentation}
5530
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/ScriptArea.html Online documentation}
4728
5531
  */
4729
5532
  export interface ScriptAreaWrite {
4730
5533
  readonly area: BoundingBoxWrite | BoundingBoxArray
@@ -4735,7 +5538,7 @@ declare module "factorio:runtime" {
4735
5538
  /**
4736
5539
  * A position defined using the map editor.
4737
5540
  * @see ScriptPositionWrite
4738
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/ScriptPosition.html Online documentation}
5541
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/ScriptPosition.html Online documentation}
4739
5542
  */
4740
5543
  export interface ScriptPosition {
4741
5544
  readonly position: MapPosition
@@ -4745,7 +5548,7 @@ declare module "factorio:runtime" {
4745
5548
  }
4746
5549
  /**
4747
5550
  * Write form of {@link ScriptPosition}, where some properties allow additional values as input compared to the read form.
4748
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/ScriptPosition.html Online documentation}
5551
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/ScriptPosition.html Online documentation}
4749
5552
  */
4750
5553
  export interface ScriptPositionWrite {
4751
5554
  readonly position: MapPosition | MapPositionArray
@@ -4763,7 +5566,7 @@ declare module "factorio:runtime" {
4763
5566
  * red2 = {r = 0.5, a = 0.5} -- Same color as red1
4764
5567
  * black = {} -- All channels omitted: black
4765
5568
  * red1_short = {0.5, 0, 0, 0.5} -- Same color as red1 in short-hand notation
4766
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/Color.html Online documentation}
5569
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/Color.html Online documentation}
4767
5570
  */
4768
5571
  export interface Color {
4769
5572
  readonly r?: float
@@ -4774,13 +5577,13 @@ declare module "factorio:runtime" {
4774
5577
  /**
4775
5578
  * Array form of {@link Color}.
4776
5579
  * @see Color
4777
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/Color.html Online documentation}
5580
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/Color.html Online documentation}
4778
5581
  */
4779
5582
  export type ColorArray = readonly [r: double, g: double, b: double, a?: double]
4780
5583
  /**
4781
5584
  * Same as {@link Color}, but red, green, blue and alpha values can be any floating point number, without any special handling of the range [1, 255].
4782
5585
  * @see ColorModifierArray
4783
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/ColorModifier.html Online documentation}
5586
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/ColorModifier.html Online documentation}
4784
5587
  */
4785
5588
  export interface ColorModifier {
4786
5589
  readonly r?: float
@@ -4791,7 +5594,7 @@ declare module "factorio:runtime" {
4791
5594
  /**
4792
5595
  * Array form of {@link ColorModifier}.
4793
5596
  * @see ColorModifier
4794
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/ColorModifier.html Online documentation}
5597
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/ColorModifier.html Online documentation}
4795
5598
  */
4796
5599
  export type ColorModifierArray = readonly [r: double, g: double, b: double, a?: double]
4797
5600
  export interface CraftingQueueItem {
@@ -4934,7 +5737,7 @@ declare module "factorio:runtime" {
4934
5737
  }
4935
5738
  /**
4936
5739
  * @see AsteroidChunkWrite
4937
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/AsteroidChunk.html Online documentation}
5740
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/AsteroidChunk.html Online documentation}
4938
5741
  */
4939
5742
  export interface AsteroidChunk {
4940
5743
  /**
@@ -4946,7 +5749,7 @@ declare module "factorio:runtime" {
4946
5749
  }
4947
5750
  /**
4948
5751
  * Write form of {@link AsteroidChunk}, where some properties allow additional values as input compared to the read form.
4949
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/AsteroidChunk.html Online documentation}
5752
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/AsteroidChunk.html Online documentation}
4950
5753
  */
4951
5754
  export interface AsteroidChunkWrite {
4952
5755
  /**
@@ -4968,7 +5771,7 @@ declare module "factorio:runtime" {
4968
5771
  }
4969
5772
  /**
4970
5773
  * Either `icon`, `text`, or both must be provided.
4971
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/ChartTagSpec.html Online documentation}
5774
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/ChartTagSpec.html Online documentation}
4972
5775
  */
4973
5776
  export interface ChartTagSpec {
4974
5777
  readonly position: MapPosition | MapPositionArray
@@ -4978,88 +5781,88 @@ declare module "factorio:runtime" {
4978
5781
  }
4979
5782
  /**
4980
5783
  * Parameters that affect the look and control of the game. Updating any of the member attributes here will immediately take effect in the game engine.
4981
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/GameViewSettings.html Online documentation}
5784
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/GameViewSettings.html Online documentation}
4982
5785
  */
4983
5786
  export interface GameViewSettings {
4984
5787
  /**
4985
5788
  * Show the controller GUI elements. This includes the toolbar, the selected tool slot, the armour slot, and the gun and ammunition slots.
4986
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/GameViewSettings.show_controller_gui.html Online documentation}
5789
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/GameViewSettings.show_controller_gui.html Online documentation}
4987
5790
  */
4988
5791
  show_controller_gui: boolean
4989
5792
  /**
4990
5793
  * Show the chart in the upper right-hand corner of the screen.
4991
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/GameViewSettings.show_minimap.html Online documentation}
5794
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/GameViewSettings.show_minimap.html Online documentation}
4992
5795
  */
4993
5796
  show_minimap: boolean
4994
5797
  /**
4995
5798
  * Show research progress and name in the upper right-hand corner of the screen.
4996
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/GameViewSettings.show_research_info.html Online documentation}
5799
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/GameViewSettings.show_research_info.html Online documentation}
4997
5800
  */
4998
5801
  show_research_info: boolean
4999
5802
  /**
5000
5803
  * Show overlay icons on entities. Also known as "alt-mode".
5001
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/GameViewSettings.show_entity_info.html Online documentation}
5804
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/GameViewSettings.show_entity_info.html Online documentation}
5002
5805
  */
5003
5806
  show_entity_info: boolean
5004
5807
  /**
5005
5808
  * Show the flashing alert icons next to the player's toolbar.
5006
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/GameViewSettings.show_alert_gui.html Online documentation}
5809
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/GameViewSettings.show_alert_gui.html Online documentation}
5007
5810
  */
5008
5811
  show_alert_gui: boolean
5009
5812
  /**
5010
5813
  * When `true` (the default), mousing over an entity will select it. Otherwise, moving the mouse won't update entity selection.
5011
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/GameViewSettings.update_entity_selection.html Online documentation}
5814
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/GameViewSettings.update_entity_selection.html Online documentation}
5012
5815
  */
5013
5816
  update_entity_selection: boolean
5014
5817
  /**
5015
5818
  * When `true` (`false` is default), the rails will always show the rail block visualisation.
5016
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/GameViewSettings.show_rail_block_visualisation.html Online documentation}
5819
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/GameViewSettings.show_rail_block_visualisation.html Online documentation}
5017
5820
  */
5018
5821
  show_rail_block_visualisation: boolean
5019
5822
  /**
5020
5823
  * Shows or hides the buttons row.
5021
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/GameViewSettings.show_side_menu.html Online documentation}
5824
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/GameViewSettings.show_side_menu.html Online documentation}
5022
5825
  */
5023
5826
  show_side_menu: boolean
5024
5827
  /**
5025
5828
  * Shows or hides the view options when map is opened.
5026
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/GameViewSettings.show_map_view_options.html Online documentation}
5829
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/GameViewSettings.show_map_view_options.html Online documentation}
5027
5830
  */
5028
5831
  show_map_view_options: boolean
5029
5832
  /**
5030
5833
  * Shows or hides the tooltip that is displayed when selecting an entity.
5031
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/GameViewSettings.show_entity_tooltip.html Online documentation}
5834
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/GameViewSettings.show_entity_tooltip.html Online documentation}
5032
5835
  */
5033
5836
  show_entity_tooltip: boolean
5034
5837
  /**
5035
5838
  * Shows or hides quickbar of shortcuts.
5036
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/GameViewSettings.show_quickbar.html Online documentation}
5839
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/GameViewSettings.show_quickbar.html Online documentation}
5037
5840
  */
5038
5841
  show_quickbar: boolean
5039
5842
  /**
5040
5843
  * Shows or hides the shortcut bar.
5041
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/GameViewSettings.show_shortcut_bar.html Online documentation}
5844
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/GameViewSettings.show_shortcut_bar.html Online documentation}
5042
5845
  */
5043
5846
  show_shortcut_bar: boolean
5044
5847
  /**
5045
5848
  * Shows or hides the crafting queue.
5046
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/GameViewSettings.show_crafting_queue.html Online documentation}
5849
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/GameViewSettings.show_crafting_queue.html Online documentation}
5047
5850
  */
5048
5851
  show_crafting_queue: boolean
5049
5852
  /**
5050
5853
  * Shows or hides the tool window with the weapons and armor.
5051
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/GameViewSettings.show_tool_bar.html Online documentation}
5854
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/GameViewSettings.show_tool_bar.html Online documentation}
5052
5855
  */
5053
5856
  show_tool_bar: boolean
5054
5857
  /**
5055
5858
  * hows or hides the mouse and keyboard/controller button hints in the bottom left corner if they are enabled in the interface settings.
5056
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/GameViewSettings.show_hotkey_suggestions.html Online documentation}
5859
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/GameViewSettings.show_hotkey_suggestions.html Online documentation}
5057
5860
  */
5058
5861
  show_hotkey_suggestions: boolean
5059
5862
  }
5060
5863
  /**
5061
5864
  * The data that can be extracted from a map exchange string, as a plain table.
5062
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/MapExchangeStringData.html Online documentation}
5865
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/MapExchangeStringData.html Online documentation}
5063
5866
  */
5064
5867
  export interface MapExchangeStringData {
5065
5868
  readonly map_settings: MapAndDifficultySettings
@@ -5092,12 +5895,12 @@ declare module "factorio:runtime" {
5092
5895
  * - `target_entity_number`
5093
5896
  *
5094
5897
  * - `target_wire_connector_id`
5095
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/BlueprintWire.html Online documentation}
5898
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/BlueprintWire.html Online documentation}
5096
5899
  */
5097
5900
  export type BlueprintWire = readonly [uint, defines.wire_connector_id, uint, defines.wire_connector_id]
5098
5901
  /**
5099
5902
  * @see TileWrite
5100
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/Tile.html Online documentation}
5903
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/Tile.html Online documentation}
5101
5904
  */
5102
5905
  export interface Tile {
5103
5906
  /**
@@ -5111,7 +5914,7 @@ declare module "factorio:runtime" {
5111
5914
  }
5112
5915
  /**
5113
5916
  * Write form of {@link Tile}, where some properties allow additional values as input compared to the read form.
5114
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/Tile.html Online documentation}
5917
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/Tile.html Online documentation}
5115
5918
  */
5116
5919
  export interface TileWrite {
5117
5920
  /**
@@ -5166,7 +5969,7 @@ declare module "factorio:runtime" {
5166
5969
  *
5167
5970
  * Other attributes may be specified depending on `type`:
5168
5971
  * - `"fluid"`: {@link FluidIngredient}
5169
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/Ingredient.html Online documentation}
5972
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/Ingredient.html Online documentation}
5170
5973
  */
5171
5974
  export type Ingredient = FluidIngredient | OtherIngredient
5172
5975
  export interface Loot {
@@ -5332,7 +6135,7 @@ declare module "factorio:runtime" {
5332
6135
  * - `"unlock-recipe"`: {@link UnlockRecipeTechnologyModifier}
5333
6136
  * - `"nothing"`: {@link NothingTechnologyModifier}
5334
6137
  * - Other types: {@link OtherTechnologyModifier}
5335
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/TechnologyModifier.html Online documentation}
6138
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/TechnologyModifier.html Online documentation}
5336
6139
  */
5337
6140
  export type TechnologyModifier =
5338
6141
  | GunSpeedTechnologyModifier
@@ -5344,7 +6147,7 @@ declare module "factorio:runtime" {
5344
6147
  | OtherTechnologyModifier
5345
6148
  /**
5346
6149
  * A fragment of a functional program used to generate coherent noise, probably for purposes related to terrain generation. These can only be meaningfully written/modified during the data load phase. More detailed information is found on the {@link import("factorio:prototype").NamedNoiseExpression prototype docs}.
5347
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/NoiseExpression.html Online documentation}
6150
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/NoiseExpression.html Online documentation}
5348
6151
  */
5349
6152
  export interface NoiseExpression {
5350
6153
  /**
@@ -5397,7 +6200,7 @@ declare module "factorio:runtime" {
5397
6200
  * - `"very-high"`: equivalent to `2`.
5398
6201
  * - `"very-big"`: equivalent to `2`.
5399
6202
  * - `"very-good"`: equivalent to `2`.
5400
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/MapGenSize.html Online documentation}
6203
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/MapGenSize.html Online documentation}
5401
6204
  */
5402
6205
  export type MapGenSize =
5403
6206
  | float
@@ -5419,7 +6222,7 @@ declare module "factorio:runtime" {
5419
6222
  | "very-good"
5420
6223
  /**
5421
6224
  * @see AutoplaceControlWrite
5422
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/AutoplaceControl.html Online documentation}
6225
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/AutoplaceControl.html Online documentation}
5423
6226
  */
5424
6227
  export interface AutoplaceControl {
5425
6228
  /**
@@ -5437,7 +6240,7 @@ declare module "factorio:runtime" {
5437
6240
  }
5438
6241
  /**
5439
6242
  * Write form of {@link AutoplaceControl}, where some properties allow additional values as input compared to the read form.
5440
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/AutoplaceControl.html Online documentation}
6243
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/AutoplaceControl.html Online documentation}
5441
6244
  */
5442
6245
  export interface AutoplaceControlWrite {
5443
6246
  /**
@@ -5456,10 +6259,10 @@ declare module "factorio:runtime" {
5456
6259
  /**
5457
6260
  * All other MapGenSettings feed into named noise expressions, and therefore placement can be overridden by including the name of a property in this dictionary. The probability and richness functions for placing specific tiles, entities, and decoratives can be overridden by including an entry named `{tile|entity|decorative}:(prototype name):{probability|richness}`.
5458
6261
  *
5459
- * {@link https://lua-api.factorio.com/2.0.17/concepts/PropertyExpressionNames.html > Values either name a NamedNoiseExpression or can be literal numbers, stored as strings (e.g. `5`). All other controls can be overridden by a property expression names. Notable properties:}
6262
+ * {@link https://lua-api.factorio.com/2.0.21/concepts/PropertyExpressionNames.html > Values either name a NamedNoiseExpression or can be literal numbers, stored as strings (e.g. `5`). All other controls can be overridden by a property expression names. Notable properties:}
5460
6263
  *
5461
- * {@link https://lua-api.factorio.com/2.0.17/concepts/PropertyExpressionNames.html > Climate controls ('Moisture' and 'Terrain type' at the bottom of the Terrain tab in the map generator GUI) don't have their own dedicated structures in MapGenSettings. Instead, their values are stored as property expression overrides with long names:}
5462
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/PropertyExpressionNames.html Online documentation}
6264
+ * {@link https://lua-api.factorio.com/2.0.21/concepts/PropertyExpressionNames.html > Climate controls ('Moisture' and 'Terrain type' at the bottom of the Terrain tab in the map generator GUI) don't have their own dedicated structures in MapGenSettings. Instead, their values are stored as property expression overrides with long names:}
6265
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/PropertyExpressionNames.html Online documentation}
5463
6266
  */
5464
6267
  export type PropertyExpressionNames = Record<string, string>
5465
6268
  export interface AdvancedMapGenSettings {
@@ -5492,7 +6295,7 @@ declare module "factorio:runtime" {
5492
6295
  }
5493
6296
  /**
5494
6297
  * An actual signal transmitted by the network.
5495
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/Signal.html Online documentation}
6298
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/Signal.html Online documentation}
5496
6299
  */
5497
6300
  export interface Signal {
5498
6301
  /**
@@ -5506,7 +6309,7 @@ declare module "factorio:runtime" {
5506
6309
  }
5507
6310
  /**
5508
6311
  * @see UpgradeMapperSourceWrite
5509
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/UpgradeMapperSource.html Online documentation}
6312
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/UpgradeMapperSource.html Online documentation}
5510
6313
  */
5511
6314
  export interface UpgradeMapperSource {
5512
6315
  readonly type: "item" | "entity"
@@ -5525,7 +6328,7 @@ declare module "factorio:runtime" {
5525
6328
  }
5526
6329
  /**
5527
6330
  * Write form of {@link UpgradeMapperSource}, where some properties allow additional values as input compared to the read form.
5528
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/UpgradeMapperSource.html Online documentation}
6331
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/UpgradeMapperSource.html Online documentation}
5529
6332
  */
5530
6333
  export interface UpgradeMapperSourceWrite {
5531
6334
  readonly type: "item" | "entity"
@@ -5562,7 +6365,7 @@ declare module "factorio:runtime" {
5562
6365
  }
5563
6366
  /**
5564
6367
  * A single filter used by an infinity-filters instance.
5565
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/InfinityInventoryFilter.html Online documentation}
6368
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/InfinityInventoryFilter.html Online documentation}
5566
6369
  */
5567
6370
  export interface InfinityInventoryFilter {
5568
6371
  /**
@@ -5584,7 +6387,7 @@ declare module "factorio:runtime" {
5584
6387
  }
5585
6388
  /**
5586
6389
  * A single filter used by an infinity-pipe type entity.
5587
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/InfinityPipeFilter.html Online documentation}
6390
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/InfinityPipeFilter.html Online documentation}
5588
6391
  */
5589
6392
  export interface InfinityPipeFilter {
5590
6393
  /**
@@ -5638,7 +6441,7 @@ declare module "factorio:runtime" {
5638
6441
  }
5639
6442
  /**
5640
6443
  * The settings used by a heat-interface type entity.
5641
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/HeatSetting.html Online documentation}
6444
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/HeatSetting.html Online documentation}
5642
6445
  */
5643
6446
  export interface HeatSetting {
5644
6447
  /**
@@ -5720,7 +6523,7 @@ declare module "factorio:runtime" {
5720
6523
  }
5721
6524
  /**
5722
6525
  * @see CircuitConditionWrite
5723
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/CircuitCondition.html Online documentation}
6526
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/CircuitCondition.html Online documentation}
5724
6527
  */
5725
6528
  export interface CircuitCondition {
5726
6529
  /**
@@ -5742,7 +6545,7 @@ declare module "factorio:runtime" {
5742
6545
  }
5743
6546
  /**
5744
6547
  * Write form of {@link CircuitCondition}, where some properties allow additional values as input compared to the read form.
5745
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/CircuitCondition.html Online documentation}
6548
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/CircuitCondition.html Online documentation}
5746
6549
  */
5747
6550
  export interface CircuitConditionWrite {
5748
6551
  /**
@@ -5764,7 +6567,7 @@ declare module "factorio:runtime" {
5764
6567
  }
5765
6568
  /**
5766
6569
  * @see CircuitConditionDefinitionWrite
5767
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/CircuitConditionDefinition.html Online documentation}
6570
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/CircuitConditionDefinition.html Online documentation}
5768
6571
  */
5769
6572
  export interface CircuitConditionDefinition {
5770
6573
  /**
@@ -5778,7 +6581,7 @@ declare module "factorio:runtime" {
5778
6581
  }
5779
6582
  /**
5780
6583
  * Write form of {@link CircuitConditionDefinition}, where some properties allow additional values as input compared to the read form.
5781
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/CircuitConditionDefinition.html Online documentation}
6584
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/CircuitConditionDefinition.html Online documentation}
5782
6585
  */
5783
6586
  export interface CircuitConditionDefinitionWrite {
5784
6587
  /**
@@ -6067,7 +6870,7 @@ declare module "factorio:runtime" {
6067
6870
  * - {@link defines.command.stop}: {@link StopCommand}
6068
6871
  * - {@link defines.command.flee}: {@link FleeCommand}
6069
6872
  * - {@link defines.command.build_base}: {@link BuildBaseCommand}
6070
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/Command.html Online documentation}
6873
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/Command.html Online documentation}
6071
6874
  */
6072
6875
  export type Command =
6073
6876
  | AttackCommand
@@ -6081,7 +6884,7 @@ declare module "factorio:runtime" {
6081
6884
  | BuildBaseCommand
6082
6885
  /**
6083
6886
  * Write form of {@link Command}, where some properties allow additional values as input compared to the read form.
6084
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/Command.html Online documentation}
6887
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/Command.html Online documentation}
6085
6888
  */
6086
6889
  export type CommandWrite =
6087
6890
  | AttackCommand
@@ -6166,7 +6969,7 @@ declare module "factorio:runtime" {
6166
6969
  * These are both full stacks of iron plates (for iron-plate, a full stack is 100 plates)
6167
6970
  * "iron-plate"
6168
6971
  * {name="iron-plate", count=100}
6169
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/SimpleItemStack.html Online documentation}
6972
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/SimpleItemStack.html Online documentation}
6170
6973
  */
6171
6974
  export type SimpleItemStack = string | ItemStackDefinition
6172
6975
  /**
@@ -6176,7 +6979,7 @@ declare module "factorio:runtime" {
6176
6979
  * - SurfaceIndex: It will be the index of the surface. `nauvis` has index `1`, the first surface-created surface will have index `2` and so on.
6177
6980
  * - `string`: It will be the surface name. E.g. `"nauvis"`.
6178
6981
  * - {@link LuaSurface}: A reference to {@link LuaSurface} may be passed directly.
6179
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/SurfaceIdentification.html Online documentation}
6982
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/SurfaceIdentification.html Online documentation}
6180
6983
  */
6181
6984
  export type SurfaceIdentification = SurfaceIndex | string | LuaSurface
6182
6985
  /**
@@ -6186,7 +6989,7 @@ declare module "factorio:runtime" {
6186
6989
  * - PlayerIndex: The player index.
6187
6990
  * - `string`: The player name.
6188
6991
  * - {@link LuaPlayer}: A reference to {@link LuaPlayer} may be passed directly.
6189
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/PlayerIdentification.html Online documentation}
6992
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/PlayerIdentification.html Online documentation}
6190
6993
  */
6191
6994
  export type PlayerIdentification = PlayerIndex | string | LuaPlayer
6192
6995
  /**
@@ -6195,7 +6998,7 @@ declare module "factorio:runtime" {
6195
6998
  * ## Union members
6196
6999
  * - {@link SimpleItemStack}
6197
7000
  * - {@link LuaItemStack}
6198
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/ItemStackIdentification.html Online documentation}
7001
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/ItemStackIdentification.html Online documentation}
6199
7002
  */
6200
7003
  export type ItemStackIdentification = SimpleItemStack | LuaItemStack
6201
7004
  /**
@@ -6205,7 +7008,7 @@ declare module "factorio:runtime" {
6205
7008
  * - `"entity"`: Fires at an entity.
6206
7009
  * - `"position"`: Fires directly at a position.
6207
7010
  * - `"direction"`: Fires in a direction.
6208
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/TargetType.html Online documentation}
7011
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/TargetType.html Online documentation}
6209
7012
  */
6210
7013
  export type TargetType = "entity" | "position" | "direction"
6211
7014
  export interface BeamTarget {
@@ -6242,14 +7045,10 @@ declare module "factorio:runtime" {
6242
7045
  *
6243
7046
  * The validity of a SoundPath can be verified at runtime using {@link LuaHelpers#is_valid_sound_path LuaHelpers::is_valid_sound_path}.
6244
7047
  *
6245
- * {@link https://lua-api.factorio.com/2.0.17/concepts/SoundPath.html > The utility and ambient types each contain general use sound prototypes defined by the game itself.}
6246
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/SoundPath.html Online documentation}
7048
+ * {@link https://lua-api.factorio.com/2.0.21/concepts/SoundPath.html > The utility and ambient types each contain general use sound prototypes defined by the game itself.}
7049
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/SoundPath.html Online documentation}
6247
7050
  */
6248
- export type SoundPath =
6249
- | (string & {
6250
- _?: never
6251
- })
6252
- | `${SoundCategory}/${string}`
7051
+ export type SoundPath = (string & { _?: never }) | `${SoundCategory}/${string}`
6253
7052
  export interface CircularParticleCreationSpecification {
6254
7053
  /**
6255
7054
  * Name of the {@link LuaEntityPrototype}.
@@ -6379,7 +7178,7 @@ declare module "factorio:runtime" {
6379
7178
  * Other attributes may be specified depending on `type`:
6380
7179
  * - `"projectile"`: {@link ProjectileAttackParameters}
6381
7180
  * - `"stream"`: {@link StreamAttackParameters}
6382
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/AttackParameters.html Online documentation}
7181
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/AttackParameters.html Online documentation}
6383
7182
  */
6384
7183
  export type AttackParameters = ProjectileAttackParameters | StreamAttackParameters | OtherAttackParameters
6385
7184
  export interface GunShift4Way {
@@ -6445,7 +7244,7 @@ declare module "factorio:runtime" {
6445
7244
  * - `"use-on-self"`: {@link UseOnSelfCapsuleAction}
6446
7245
  * - `"artillery-remote"`: {@link ArtilleryRemoteCapsuleAction}
6447
7246
  * - `"destroy-cliffs"`: {@link DestroyCliffsCapsuleAction}
6448
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/CapsuleAction.html Online documentation}
7247
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/CapsuleAction.html Online documentation}
6449
7248
  */
6450
7249
  export type CapsuleAction =
6451
7250
  | ThrowCapsuleAction
@@ -6485,12 +7284,12 @@ declare module "factorio:runtime" {
6485
7284
  }
6486
7285
  /**
6487
7286
  * Any basic type (string, number, boolean) or table.
6488
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/AnyBasic.html Online documentation}
7287
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/AnyBasic.html Online documentation}
6489
7288
  */
6490
7289
  export type AnyBasic = string | boolean | number | table
6491
7290
  /**
6492
7291
  * Any basic type (string, number, boolean), table, or LuaObject.
6493
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/Any.html Online documentation}
7292
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/Any.html Online documentation}
6494
7293
  */
6495
7294
  export type Any = string | boolean | number | table | LuaObject
6496
7295
  export interface ProgrammableSpeakerParameters {
@@ -6528,7 +7327,7 @@ declare module "factorio:runtime" {
6528
7327
  * - `"top-right"`
6529
7328
  * - `"right"`: The same as `"middle-right"`
6530
7329
  * - `"bottom-right"`
6531
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/Alignment.html Online documentation}
7330
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/Alignment.html Online documentation}
6532
7331
  */
6533
7332
  export type Alignment =
6534
7333
  | "top-left"
@@ -6542,9 +7341,27 @@ declare module "factorio:runtime" {
6542
7341
  | "top-right"
6543
7342
  | "right"
6544
7343
  | "bottom-right"
7344
+ export type RaiseableEvents =
7345
+ | typeof defines.events.on_console_chat
7346
+ | typeof defines.events.on_player_crafted_item
7347
+ | typeof defines.events.on_player_fast_transferred
7348
+ | typeof defines.events.on_biter_base_built
7349
+ | typeof defines.events.on_market_item_purchased
7350
+ | typeof defines.events.script_raised_built
7351
+ | typeof defines.events.script_raised_destroy
7352
+ | typeof defines.events.script_raised_revive
7353
+ | typeof defines.events.script_raised_teleported
7354
+ | typeof defines.events.script_raised_set_tiles
7355
+ export type EventId<T extends object, F = unknown> = uint & {
7356
+ readonly _eventData: T
7357
+ readonly _filter: F
7358
+ }
7359
+ export type CustomEventId<T extends table> = EventId<T> & {
7360
+ _customEventIdBrand: any
7361
+ }
6545
7362
  /**
6546
- * Information about the event that has been raised. The table can also contain other fields depending on the type of event. See {@linkplain https://lua-api.factorio.com/2.0.17/events.html the list of Factorio events} for more information on these.
6547
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/EventData.html Online documentation}
7363
+ * Information about the event that has been raised. The table can also contain other fields depending on the type of event. See {@linkplain https://lua-api.factorio.com/2.0.21/events.html the list of Factorio events} for more information on these.
7364
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/EventData.html Online documentation}
6548
7365
  */
6549
7366
  export interface EventData {
6550
7367
  /**
@@ -6649,7 +7466,7 @@ declare module "factorio:runtime" {
6649
7466
  * - `"button-7"`
6650
7467
  * - `"button-8"`
6651
7468
  * - `"button-9"`
6652
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/MouseButtonFlags.html Online documentation}
7469
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/MouseButtonFlags.html Online documentation}
6653
7470
  */
6654
7471
  export interface MouseButtonFlags {
6655
7472
  readonly left?: true
@@ -6662,7 +7479,6 @@ declare module "factorio:runtime" {
6662
7479
  readonly "button-8"?: true
6663
7480
  readonly "button-9"?: true
6664
7481
  }
6665
- /** @see MouseButtonFlags */
6666
7482
  export type MouseButtonFlagsWrite = MouseButtonFlags | ReadonlyArray<keyof MouseButtonFlags | "left-and-right">
6667
7483
  /**
6668
7484
  * ## Union members
@@ -6673,7 +7489,7 @@ declare module "factorio:runtime" {
6673
7489
  * - `"not-friend"`: Forces which are not friends pass.
6674
7490
  * - `"same"`: The same force pass.
6675
7491
  * - `"not-same"`: The non-same forces pass.
6676
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/ForceCondition.html Online documentation}
7492
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/ForceCondition.html Online documentation}
6677
7493
  */
6678
7494
  export type ForceCondition = "all" | "enemy" | "ally" | "friend" | "not-friend" | "same" | "not-same"
6679
7495
  export interface ItemStackLocation {
@@ -6711,7 +7527,7 @@ declare module "factorio:runtime" {
6711
7527
  * - `"tabbed-pane"`: A collection of `tab`s and their contents. Relevant event: {@link OnGuiSelectedTabChangedEvent on_gui_selected_tab_changed}
6712
7528
  * - `"tab"`: A tab for use in a `tabbed-pane`.
6713
7529
  * - `"switch"`: A switch with three possible states. Can have labels attached to either side. Relevant event: {@link OnGuiSwitchStateChangedEvent on_gui_switch_state_changed}
6714
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/GuiElementType.html Online documentation}
7530
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/GuiElementType.html Online documentation}
6715
7531
  */
6716
7532
  export type GuiElementType =
6717
7533
  | "button"
@@ -6751,7 +7567,7 @@ declare module "factorio:runtime" {
6751
7567
  * - `"position"`
6752
7568
  * - `"crafting_queue"`
6753
7569
  * - `"item_stack"`: Will point to a given item stack in an inventory.
6754
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/GuiArrowType.html Online documentation}
7570
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/GuiArrowType.html Online documentation}
6755
7571
  */
6756
7572
  export type GuiArrowType =
6757
7573
  | "nowhere"
@@ -6768,7 +7584,7 @@ declare module "factorio:runtime" {
6768
7584
  * ## Union members
6769
7585
  * - `"horizontal"`
6770
7586
  * - `"vertical"`
6771
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/GuiDirection.html Online documentation}
7587
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/GuiDirection.html Online documentation}
6772
7588
  */
6773
7589
  export type GuiDirection = "horizontal" | "vertical"
6774
7590
  /**
@@ -6780,7 +7596,7 @@ declare module "factorio:runtime" {
6780
7596
  * - `"always"`
6781
7597
  * - `"auto"`
6782
7598
  * - `"auto-and-reserve-space"`
6783
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/ScrollPolicy.html Online documentation}
7599
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/ScrollPolicy.html Online documentation}
6784
7600
  */
6785
7601
  export type ScrollPolicy = "never" | "dont-show-but-allow-scrolling" | "always" | "auto" | "auto-and-reserve-space"
6786
7602
  export interface RailLocation {
@@ -6797,71 +7613,71 @@ declare module "factorio:runtime" {
6797
7613
  }
6798
7614
  /**
6799
7615
  * A floating-point number. This is a single-precision floating point number. Whilst Lua only uses double-precision numbers, when a function takes a float, the game engine will immediately convert the double-precision number to single-precision.
6800
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/float.html Online documentation}
7616
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/float.html Online documentation}
6801
7617
  */
6802
7618
  export type float = number
6803
7619
  /**
6804
7620
  * A double-precision floating-point number. This is the same data type as all Lua numbers use.
6805
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/double.html Online documentation}
7621
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/double.html Online documentation}
6806
7622
  */
6807
7623
  export type double = number
6808
7624
  /**
6809
7625
  * 32-bit signed integer. Possible values are `-2 147 483 648` to `2 147 483 647`.
6810
7626
  *
6811
7627
  * Since Lua 5.2 only uses doubles, any API that asks for `int` will floor the given double.
6812
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/int.html Online documentation}
7628
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/int.html Online documentation}
6813
7629
  */
6814
7630
  export type int = number
6815
7631
  /**
6816
7632
  * 8-bit signed integer. Possible values are `-128` to `127`.
6817
7633
  *
6818
7634
  * Since Lua 5.2 only uses doubles, any API that asks for `int8` will floor the given double.
6819
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/int8.html Online documentation}
7635
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/int8.html Online documentation}
6820
7636
  */
6821
7637
  export type int8 = number
6822
7638
  /**
6823
7639
  * 32-bit unsigned integer. Possible values are `0` to `4 294 967 295`.
6824
7640
  *
6825
7641
  * Since Lua 5.2 only uses doubles, any API that asks for `uint` will floor the given double.
6826
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/uint.html Online documentation}
7642
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/uint.html Online documentation}
6827
7643
  */
6828
7644
  export type uint = number
6829
7645
  /**
6830
7646
  * 8-bit unsigned integer. Possible values are `0` to `255`.
6831
7647
  *
6832
7648
  * Since Lua 5.2 only uses doubles, any API that asks for `uint8` will floor the given double.
6833
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/uint8.html Online documentation}
7649
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/uint8.html Online documentation}
6834
7650
  */
6835
7651
  export type uint8 = number
6836
7652
  /**
6837
7653
  * 16-bit unsigned integer. Possible values are `0` to `65 535`.
6838
7654
  *
6839
7655
  * Since Lua 5.2 only uses doubles, any API that asks for `uint16` will floor the given double.
6840
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/uint16.html Online documentation}
7656
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/uint16.html Online documentation}
6841
7657
  */
6842
7658
  export type uint16 = number
6843
7659
  /**
6844
7660
  * 64-bit unsigned integer. Possible values are `0` to `18 446 744 073 709 551 615`.
6845
7661
  *
6846
7662
  * Since Lua 5.2 only uses doubles, any API that asks for `uint64` will floor the given double.
6847
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/uint64.html Online documentation}
7663
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/uint64.html Online documentation}
6848
7664
  */
6849
7665
  export type uint64 = number
6850
7666
  /**
6851
7667
  * Nil is the type of the value `nil`, whose main property is to be different from any other value. It usually represents the absence of a useful value.
6852
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/nil.html Online documentation}
7668
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/nil.html Online documentation}
6853
7669
  */
6854
7670
  export type nil = undefined
6855
7671
  /**
6856
7672
  * Tables are enclosed in curly brackets, like this `{}`.
6857
7673
  *
6858
7674
  * Throughout the API docs, the terms "array" and "dictionary" are used. These are fundamentally just {@linkplain http://www.lua.org/pil/2.5.html Lua tables}, but have a limitation on which kind of table keys can be used. An array is a table that uses continuous integer keys starting at `1`, while a dictionary can use numeric or string keys in any order or combination.
6859
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/table.html Online documentation}
7675
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/table.html Online documentation}
6860
7676
  */
6861
7677
  export type table = object
6862
7678
  /**
6863
- * Any LuaObject listed on the {@linkplain https://lua-api.factorio.com/2.0.17/classes.html Classes} page.
6864
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/LuaObject.html Online documentation}
7679
+ * Any LuaObject listed on the {@linkplain https://lua-api.factorio.com/2.0.21/classes.html Classes} page.
7680
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/LuaObject.html Online documentation}
6865
7681
  */
6866
7682
  export interface LuaObject {
6867
7683
  readonly object_name: string
@@ -6920,7 +7736,7 @@ declare module "factorio:runtime" {
6920
7736
  * - `"type"`: {@link TypeModSettingPrototypeFilter}
6921
7737
  * - `"mod"`: {@link ModModSettingPrototypeFilter}
6922
7738
  * - `"setting-type"`: {@link SettingTypeModSettingPrototypeFilter}
6923
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/ModSettingPrototypeFilter.html Online documentation}
7739
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/ModSettingPrototypeFilter.html Online documentation}
6924
7740
  */
6925
7741
  export type ModSettingPrototypeFilter =
6926
7742
  | TypeModSettingPrototypeFilter
@@ -7065,7 +7881,7 @@ declare module "factorio:runtime" {
7065
7881
  * - `"vehicle-friction-modifier"`: {@link VehicleFrictionModifierTilePrototypeFilter}
7066
7882
  * - `"decorative-removal-probability"`: {@link DecorativeRemovalProbabilityTilePrototypeFilter}
7067
7883
  * - `"absorptions-per-second"`: {@link AbsorptionsPerSecondTilePrototypeFilter}
7068
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/TilePrototypeFilter.html Online documentation}
7884
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/TilePrototypeFilter.html Online documentation}
7069
7885
  */
7070
7886
  export type TilePrototypeFilter =
7071
7887
  | CollisionMaskTilePrototypeFilter
@@ -7076,7 +7892,7 @@ declare module "factorio:runtime" {
7076
7892
  | OtherTilePrototypeFilter
7077
7893
  /**
7078
7894
  * Write form of {@link TilePrototypeFilter}, where some properties allow additional values as input compared to the read form.
7079
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/TilePrototypeFilter.html Online documentation}
7895
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/TilePrototypeFilter.html Online documentation}
7080
7896
  */
7081
7897
  export type TilePrototypeFilterWrite =
7082
7898
  | CollisionMaskTilePrototypeFilter
@@ -7127,7 +7943,7 @@ declare module "factorio:runtime" {
7127
7943
  *
7128
7944
  * Other attributes may be specified depending on `filter`:
7129
7945
  * - `"collision-mask"`: {@link CollisionMaskDecorativePrototypeFilter}
7130
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/DecorativePrototypeFilter.html Online documentation}
7946
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/DecorativePrototypeFilter.html Online documentation}
7131
7947
  */
7132
7948
  export type DecorativePrototypeFilter = CollisionMaskDecorativePrototypeFilter | OtherDecorativePrototypeFilter
7133
7949
  /**
@@ -7381,7 +8197,7 @@ declare module "factorio:runtime" {
7381
8197
  * - `"emissions-multiplier"`: {@link EmissionsMultiplierRecipePrototypeFilter}
7382
8198
  * - `"request-paste-multiplier"`: {@link RequestPasteMultiplierRecipePrototypeFilter}
7383
8199
  * - `"overload-multiplier"`: {@link OverloadMultiplierRecipePrototypeFilter}
7384
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/RecipePrototypeFilter.html Online documentation}
8200
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/RecipePrototypeFilter.html Online documentation}
7385
8201
  */
7386
8202
  export type RecipePrototypeFilter =
7387
8203
  | HasIngredientItemRecipePrototypeFilter
@@ -7397,7 +8213,7 @@ declare module "factorio:runtime" {
7397
8213
  | OtherRecipePrototypeFilter
7398
8214
  /**
7399
8215
  * Write form of {@link RecipePrototypeFilter}, where some properties allow additional values as input compared to the read form.
7400
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/RecipePrototypeFilter.html Online documentation}
8216
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/RecipePrototypeFilter.html Online documentation}
7401
8217
  */
7402
8218
  export type RecipePrototypeFilterWrite =
7403
8219
  | HasIngredientItemRecipePrototypeFilterWrite
@@ -7449,7 +8265,7 @@ declare module "factorio:runtime" {
7449
8265
  *
7450
8266
  * Other attributes may be specified depending on `filter`:
7451
8267
  * - `"type"`: {@link TypeAchievementPrototypeFilter}
7452
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/AchievementPrototypeFilter.html Online documentation}
8268
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/AchievementPrototypeFilter.html Online documentation}
7453
8269
  */
7454
8270
  export type AchievementPrototypeFilter = TypeAchievementPrototypeFilter | OtherAchievementPrototypeFilter
7455
8271
  /**
@@ -7572,7 +8388,7 @@ declare module "factorio:runtime" {
7572
8388
  * - `"level"`: {@link LevelTechnologyPrototypeFilter}
7573
8389
  * - `"max-level"`: {@link MaxLevelTechnologyPrototypeFilter}
7574
8390
  * - `"time"`: {@link TimeTechnologyPrototypeFilter}
7575
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/TechnologyPrototypeFilter.html Online documentation}
8391
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/TechnologyPrototypeFilter.html Online documentation}
7576
8392
  */
7577
8393
  export type TechnologyPrototypeFilter =
7578
8394
  | ResearchUnitIngredientTechnologyPrototypeFilter
@@ -7583,7 +8399,7 @@ declare module "factorio:runtime" {
7583
8399
  | OtherTechnologyPrototypeFilter
7584
8400
  /**
7585
8401
  * Write form of {@link TechnologyPrototypeFilter}, where some properties allow additional values as input compared to the read form.
7586
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/TechnologyPrototypeFilter.html Online documentation}
8402
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/TechnologyPrototypeFilter.html Online documentation}
7587
8403
  */
7588
8404
  export type TechnologyPrototypeFilterWrite =
7589
8405
  | ResearchUnitIngredientTechnologyPrototypeFilter
@@ -7900,7 +8716,7 @@ declare module "factorio:runtime" {
7900
8716
  * - `"fuel-acceleration-multiplier"`: {@link FuelAccelerationMultiplierItemPrototypeFilter}
7901
8717
  * - `"fuel-top-speed-multiplier"`: {@link FuelTopSpeedMultiplierItemPrototypeFilter}
7902
8718
  * - `"fuel-emissions-multiplier"`: {@link FuelEmissionsMultiplierItemPrototypeFilter}
7903
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/ItemPrototypeFilter.html Online documentation}
8719
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/ItemPrototypeFilter.html Online documentation}
7904
8720
  */
7905
8721
  export type ItemPrototypeFilter =
7906
8722
  | PlaceResultItemPrototypeFilter
@@ -7920,7 +8736,7 @@ declare module "factorio:runtime" {
7920
8736
  | OtherItemPrototypeFilter
7921
8737
  /**
7922
8738
  * Write form of {@link ItemPrototypeFilter}, where some properties allow additional values as input compared to the read form.
7923
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/ItemPrototypeFilter.html Online documentation}
8739
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/ItemPrototypeFilter.html Online documentation}
7924
8740
  */
7925
8741
  export type ItemPrototypeFilterWrite =
7926
8742
  | PlaceResultItemPrototypeFilterWrite
@@ -7976,7 +8792,7 @@ declare module "factorio:runtime" {
7976
8792
  *
7977
8793
  * Other attributes may be specified depending on `filter`:
7978
8794
  * - `"type"`: {@link TypeEquipmentPrototypeFilter}
7979
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/EquipmentPrototypeFilter.html Online documentation}
8795
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/EquipmentPrototypeFilter.html Online documentation}
7980
8796
  */
7981
8797
  export type EquipmentPrototypeFilter = TypeEquipmentPrototypeFilter | OtherEquipmentPrototypeFilter
7982
8798
  /**
@@ -8207,7 +9023,7 @@ declare module "factorio:runtime" {
8207
9023
  * - `"selection-priority"`: {@link SelectionPriorityEntityPrototypeFilter}
8208
9024
  * - `"emissions-per-second"`: {@link EmissionsPerSecondEntityPrototypeFilter}
8209
9025
  * - `"crafting-category"`: {@link CraftingCategoryEntityPrototypeFilter}
8210
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/EntityPrototypeFilter.html Online documentation}
9026
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/EntityPrototypeFilter.html Online documentation}
8211
9027
  */
8212
9028
  export type EntityPrototypeFilter =
8213
9029
  | NameEntityPrototypeFilter
@@ -8221,7 +9037,7 @@ declare module "factorio:runtime" {
8221
9037
  | OtherEntityPrototypeFilter
8222
9038
  /**
8223
9039
  * Write form of {@link EntityPrototypeFilter}, where some properties allow additional values as input compared to the read form.
8224
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/EntityPrototypeFilter.html Online documentation}
9040
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/EntityPrototypeFilter.html Online documentation}
8225
9041
  */
8226
9042
  export type EntityPrototypeFilterWrite =
8227
9043
  | NameEntityPrototypeFilter
@@ -8291,7 +9107,7 @@ declare module "factorio:runtime" {
8291
9107
  * Other attributes may be specified depending on `filter`:
8292
9108
  * - `"type"`: {@link TypeSpaceLocationPrototypeFilter}
8293
9109
  * - `"solar-power-in-space"`: {@link SolarPowerInSpaceSpaceLocationPrototypeFilter}
8294
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/SpaceLocationPrototypeFilter.html Online documentation}
9110
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/SpaceLocationPrototypeFilter.html Online documentation}
8295
9111
  */
8296
9112
  export type SpaceLocationPrototypeFilter =
8297
9113
  | TypeSpaceLocationPrototypeFilter
@@ -8299,7 +9115,7 @@ declare module "factorio:runtime" {
8299
9115
  | OtherSpaceLocationPrototypeFilter
8300
9116
  /**
8301
9117
  * Write form of {@link SpaceLocationPrototypeFilter}, where some properties allow additional values as input compared to the read form.
8302
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/SpaceLocationPrototypeFilter.html Online documentation}
9118
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/SpaceLocationPrototypeFilter.html Online documentation}
8303
9119
  */
8304
9120
  export type SpaceLocationPrototypeFilterWrite =
8305
9121
  | TypeSpaceLocationPrototypeFilter
@@ -8487,7 +9303,7 @@ declare module "factorio:runtime" {
8487
9303
  * - `"fuel-value"`: {@link FuelValueFluidPrototypeFilter}
8488
9304
  * - `"emissions-multiplier"`: {@link EmissionsMultiplierFluidPrototypeFilter}
8489
9305
  * - `"gas-temperature"`: {@link GasTemperatureFluidPrototypeFilter}
8490
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/FluidPrototypeFilter.html Online documentation}
9306
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/FluidPrototypeFilter.html Online documentation}
8491
9307
  */
8492
9308
  export type FluidPrototypeFilter =
8493
9309
  | NameFluidPrototypeFilter
@@ -8501,7 +9317,7 @@ declare module "factorio:runtime" {
8501
9317
  | OtherFluidPrototypeFilter
8502
9318
  /**
8503
9319
  * Write form of {@link FluidPrototypeFilter}, where some properties allow additional values as input compared to the read form.
8504
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/FluidPrototypeFilter.html Online documentation}
9320
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/FluidPrototypeFilter.html Online documentation}
8505
9321
  */
8506
9322
  export type FluidPrototypeFilterWrite =
8507
9323
  | NameFluidPrototypeFilter
@@ -8610,7 +9426,7 @@ declare module "factorio:runtime" {
8610
9426
  * - `"name"`: {@link NamePrePlatformMinedEntityEventFilter}
8611
9427
  * - `"ghost_type"`: {@link GhostTypePrePlatformMinedEntityEventFilter}
8612
9428
  * - `"ghost_name"`: {@link GhostNamePrePlatformMinedEntityEventFilter}
8613
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/LuaPrePlatformMinedEntityEventFilter.html Online documentation}
9429
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/LuaPrePlatformMinedEntityEventFilter.html Online documentation}
8614
9430
  */
8615
9431
  export type LuaPrePlatformMinedEntityEventFilter =
8616
9432
  | TypePrePlatformMinedEntityEventFilter
@@ -8715,7 +9531,7 @@ declare module "factorio:runtime" {
8715
9531
  * - `"name"`: {@link NameRobotMinedEntityEventFilter}
8716
9532
  * - `"ghost_type"`: {@link GhostTypeRobotMinedEntityEventFilter}
8717
9533
  * - `"ghost_name"`: {@link GhostNameRobotMinedEntityEventFilter}
8718
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/LuaRobotMinedEntityEventFilter.html Online documentation}
9534
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/LuaRobotMinedEntityEventFilter.html Online documentation}
8719
9535
  */
8720
9536
  export type LuaRobotMinedEntityEventFilter =
8721
9537
  | TypeRobotMinedEntityEventFilter
@@ -8820,7 +9636,7 @@ declare module "factorio:runtime" {
8820
9636
  * - `"name"`: {@link NameEntityMarkedForUpgradeEventFilter}
8821
9637
  * - `"ghost_type"`: {@link GhostTypeEntityMarkedForUpgradeEventFilter}
8822
9638
  * - `"ghost_name"`: {@link GhostNameEntityMarkedForUpgradeEventFilter}
8823
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/LuaEntityMarkedForUpgradeEventFilter.html Online documentation}
9639
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/LuaEntityMarkedForUpgradeEventFilter.html Online documentation}
8824
9640
  */
8825
9641
  export type LuaEntityMarkedForUpgradeEventFilter =
8826
9642
  | TypeEntityMarkedForUpgradeEventFilter
@@ -8925,7 +9741,7 @@ declare module "factorio:runtime" {
8925
9741
  * - `"name"`: {@link NamePreGhostUpgradedEventFilter}
8926
9742
  * - `"ghost_type"`: {@link GhostTypePreGhostUpgradedEventFilter}
8927
9743
  * - `"ghost_name"`: {@link GhostNamePreGhostUpgradedEventFilter}
8928
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/LuaPreGhostUpgradedEventFilter.html Online documentation}
9744
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/LuaPreGhostUpgradedEventFilter.html Online documentation}
8929
9745
  */
8930
9746
  export type LuaPreGhostUpgradedEventFilter =
8931
9747
  | TypePreGhostUpgradedEventFilter
@@ -9030,7 +9846,7 @@ declare module "factorio:runtime" {
9030
9846
  * - `"name"`: {@link NamePlatformMinedEntityEventFilter}
9031
9847
  * - `"ghost_type"`: {@link GhostTypePlatformMinedEntityEventFilter}
9032
9848
  * - `"ghost_name"`: {@link GhostNamePlatformMinedEntityEventFilter}
9033
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/LuaPlatformMinedEntityEventFilter.html Online documentation}
9849
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/LuaPlatformMinedEntityEventFilter.html Online documentation}
9034
9850
  */
9035
9851
  export type LuaPlatformMinedEntityEventFilter =
9036
9852
  | TypePlatformMinedEntityEventFilter
@@ -9135,7 +9951,7 @@ declare module "factorio:runtime" {
9135
9951
  * - `"name"`: {@link NameScriptRaisedDestroyEventFilter}
9136
9952
  * - `"ghost_type"`: {@link GhostTypeScriptRaisedDestroyEventFilter}
9137
9953
  * - `"ghost_name"`: {@link GhostNameScriptRaisedDestroyEventFilter}
9138
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/LuaScriptRaisedDestroyEventFilter.html Online documentation}
9954
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/LuaScriptRaisedDestroyEventFilter.html Online documentation}
9139
9955
  */
9140
9956
  export type LuaScriptRaisedDestroyEventFilter =
9141
9957
  | TypeScriptRaisedDestroyEventFilter
@@ -9252,7 +10068,7 @@ declare module "factorio:runtime" {
9252
10068
  * - `"ghost_type"`: {@link GhostTypePlayerBuiltEntityEventFilter}
9253
10069
  * - `"ghost_name"`: {@link GhostNamePlayerBuiltEntityEventFilter}
9254
10070
  * - `"force"`: {@link ForcePlayerBuiltEntityEventFilter}
9255
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/LuaPlayerBuiltEntityEventFilter.html Online documentation}
10071
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/LuaPlayerBuiltEntityEventFilter.html Online documentation}
9256
10072
  */
9257
10073
  export type LuaPlayerBuiltEntityEventFilter =
9258
10074
  | TypePlayerBuiltEntityEventFilter
@@ -9370,7 +10186,7 @@ declare module "factorio:runtime" {
9370
10186
  * - `"ghost_type"`: {@link GhostTypePlatformBuiltEntityEventFilter}
9371
10187
  * - `"ghost_name"`: {@link GhostNamePlatformBuiltEntityEventFilter}
9372
10188
  * - `"force"`: {@link ForcePlatformBuiltEntityEventFilter}
9373
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/LuaPlatformBuiltEntityEventFilter.html Online documentation}
10189
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/LuaPlatformBuiltEntityEventFilter.html Online documentation}
9374
10190
  */
9375
10191
  export type LuaPlatformBuiltEntityEventFilter =
9376
10192
  | TypePlatformBuiltEntityEventFilter
@@ -9476,7 +10292,7 @@ declare module "factorio:runtime" {
9476
10292
  * - `"name"`: {@link NamePreGhostDeconstructedEventFilter}
9477
10293
  * - `"ghost_type"`: {@link GhostTypePreGhostDeconstructedEventFilter}
9478
10294
  * - `"ghost_name"`: {@link GhostNamePreGhostDeconstructedEventFilter}
9479
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/LuaPreGhostDeconstructedEventFilter.html Online documentation}
10295
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/LuaPreGhostDeconstructedEventFilter.html Online documentation}
9480
10296
  */
9481
10297
  export type LuaPreGhostDeconstructedEventFilter =
9482
10298
  | TypePreGhostDeconstructedEventFilter
@@ -9581,7 +10397,7 @@ declare module "factorio:runtime" {
9581
10397
  * - `"name"`: {@link NameEntityClonedEventFilter}
9582
10398
  * - `"ghost_type"`: {@link GhostTypeEntityClonedEventFilter}
9583
10399
  * - `"ghost_name"`: {@link GhostNameEntityClonedEventFilter}
9584
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/LuaEntityClonedEventFilter.html Online documentation}
10400
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/LuaEntityClonedEventFilter.html Online documentation}
9585
10401
  */
9586
10402
  export type LuaEntityClonedEventFilter =
9587
10403
  | TypeEntityClonedEventFilter
@@ -9686,7 +10502,7 @@ declare module "factorio:runtime" {
9686
10502
  * - `"name"`: {@link NameScriptRaisedTeleportedEventFilter}
9687
10503
  * - `"ghost_type"`: {@link GhostTypeScriptRaisedTeleportedEventFilter}
9688
10504
  * - `"ghost_name"`: {@link GhostNameScriptRaisedTeleportedEventFilter}
9689
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/LuaScriptRaisedTeleportedEventFilter.html Online documentation}
10505
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/LuaScriptRaisedTeleportedEventFilter.html Online documentation}
9690
10506
  */
9691
10507
  export type LuaScriptRaisedTeleportedEventFilter =
9692
10508
  | TypeScriptRaisedTeleportedEventFilter
@@ -9793,7 +10609,7 @@ declare module "factorio:runtime" {
9793
10609
  * - `"name"`: {@link NameEntityDeconstructionCancelledEventFilter}
9794
10610
  * - `"ghost_type"`: {@link GhostTypeEntityDeconstructionCancelledEventFilter}
9795
10611
  * - `"ghost_name"`: {@link GhostNameEntityDeconstructionCancelledEventFilter}
9796
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/LuaEntityDeconstructionCancelledEventFilter.html Online documentation}
10612
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/LuaEntityDeconstructionCancelledEventFilter.html Online documentation}
9797
10613
  */
9798
10614
  export type LuaEntityDeconstructionCancelledEventFilter =
9799
10615
  | TypeEntityDeconstructionCancelledEventFilter
@@ -9910,7 +10726,7 @@ declare module "factorio:runtime" {
9910
10726
  * - `"ghost_type"`: {@link GhostTypeRobotBuiltEntityEventFilter}
9911
10727
  * - `"ghost_name"`: {@link GhostNameRobotBuiltEntityEventFilter}
9912
10728
  * - `"force"`: {@link ForceRobotBuiltEntityEventFilter}
9913
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/LuaRobotBuiltEntityEventFilter.html Online documentation}
10729
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/LuaRobotBuiltEntityEventFilter.html Online documentation}
9914
10730
  */
9915
10731
  export type LuaRobotBuiltEntityEventFilter =
9916
10732
  | TypeRobotBuiltEntityEventFilter
@@ -10016,7 +10832,7 @@ declare module "factorio:runtime" {
10016
10832
  * - `"name"`: {@link NameScriptRaisedBuiltEventFilter}
10017
10833
  * - `"ghost_type"`: {@link GhostTypeScriptRaisedBuiltEventFilter}
10018
10834
  * - `"ghost_name"`: {@link GhostNameScriptRaisedBuiltEventFilter}
10019
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/LuaScriptRaisedBuiltEventFilter.html Online documentation}
10835
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/LuaScriptRaisedBuiltEventFilter.html Online documentation}
10020
10836
  */
10021
10837
  export type LuaScriptRaisedBuiltEventFilter =
10022
10838
  | TypeScriptRaisedBuiltEventFilter
@@ -10121,7 +10937,7 @@ declare module "factorio:runtime" {
10121
10937
  * - `"name"`: {@link NamePrePlayerMinedEntityEventFilter}
10122
10938
  * - `"ghost_type"`: {@link GhostTypePrePlayerMinedEntityEventFilter}
10123
10939
  * - `"ghost_name"`: {@link GhostNamePrePlayerMinedEntityEventFilter}
10124
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/LuaPrePlayerMinedEntityEventFilter.html Online documentation}
10940
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/LuaPrePlayerMinedEntityEventFilter.html Online documentation}
10125
10941
  */
10126
10942
  export type LuaPrePlayerMinedEntityEventFilter =
10127
10943
  | TypePrePlayerMinedEntityEventFilter
@@ -10226,7 +11042,7 @@ declare module "factorio:runtime" {
10226
11042
  * - `"name"`: {@link NamePlayerRepairedEntityEventFilter}
10227
11043
  * - `"ghost_type"`: {@link GhostTypePlayerRepairedEntityEventFilter}
10228
11044
  * - `"ghost_name"`: {@link GhostNamePlayerRepairedEntityEventFilter}
10229
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/LuaPlayerRepairedEntityEventFilter.html Online documentation}
11045
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/LuaPlayerRepairedEntityEventFilter.html Online documentation}
10230
11046
  */
10231
11047
  export type LuaPlayerRepairedEntityEventFilter =
10232
11048
  | TypePlayerRepairedEntityEventFilter
@@ -10331,7 +11147,7 @@ declare module "factorio:runtime" {
10331
11147
  * - `"name"`: {@link NameUpgradeCancelledEventFilter}
10332
11148
  * - `"ghost_type"`: {@link GhostTypeUpgradeCancelledEventFilter}
10333
11149
  * - `"ghost_name"`: {@link GhostNameUpgradeCancelledEventFilter}
10334
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/LuaUpgradeCancelledEventFilter.html Online documentation}
11150
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/LuaUpgradeCancelledEventFilter.html Online documentation}
10335
11151
  */
10336
11152
  export type LuaUpgradeCancelledEventFilter =
10337
11153
  | TypeUpgradeCancelledEventFilter
@@ -10436,7 +11252,7 @@ declare module "factorio:runtime" {
10436
11252
  * - `"name"`: {@link NameSectorScannedEventFilter}
10437
11253
  * - `"ghost_type"`: {@link GhostTypeSectorScannedEventFilter}
10438
11254
  * - `"ghost_name"`: {@link GhostNameSectorScannedEventFilter}
10439
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/LuaSectorScannedEventFilter.html Online documentation}
11255
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/LuaSectorScannedEventFilter.html Online documentation}
10440
11256
  */
10441
11257
  export type LuaSectorScannedEventFilter =
10442
11258
  | TypeSectorScannedEventFilter
@@ -10482,7 +11298,7 @@ declare module "factorio:runtime" {
10482
11298
  *
10483
11299
  * Other attributes may be specified depending on `filter`:
10484
11300
  * - `"type"`: {@link TypePostEntityDiedEventFilter}
10485
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/LuaPostEntityDiedEventFilter.html Online documentation}
11301
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/LuaPostEntityDiedEventFilter.html Online documentation}
10486
11302
  */
10487
11303
  export type LuaPostEntityDiedEventFilter = TypePostEntityDiedEventFilter | OtherPostEntityDiedEventFilter
10488
11304
  /**
@@ -10584,7 +11400,7 @@ declare module "factorio:runtime" {
10584
11400
  * - `"name"`: {@link NameEntityMarkedForDeconstructionEventFilter}
10585
11401
  * - `"ghost_type"`: {@link GhostTypeEntityMarkedForDeconstructionEventFilter}
10586
11402
  * - `"ghost_name"`: {@link GhostNameEntityMarkedForDeconstructionEventFilter}
10587
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/LuaEntityMarkedForDeconstructionEventFilter.html Online documentation}
11403
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/LuaEntityMarkedForDeconstructionEventFilter.html Online documentation}
10588
11404
  */
10589
11405
  export type LuaEntityMarkedForDeconstructionEventFilter =
10590
11406
  | TypeEntityMarkedForDeconstructionEventFilter
@@ -10689,7 +11505,7 @@ declare module "factorio:runtime" {
10689
11505
  * - `"name"`: {@link NamePlayerMinedEntityEventFilter}
10690
11506
  * - `"ghost_type"`: {@link GhostTypePlayerMinedEntityEventFilter}
10691
11507
  * - `"ghost_name"`: {@link GhostNamePlayerMinedEntityEventFilter}
10692
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/LuaPlayerMinedEntityEventFilter.html Online documentation}
11508
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/LuaPlayerMinedEntityEventFilter.html Online documentation}
10693
11509
  */
10694
11510
  export type LuaPlayerMinedEntityEventFilter =
10695
11511
  | TypePlayerMinedEntityEventFilter
@@ -10869,7 +11685,7 @@ declare module "factorio:runtime" {
10869
11685
  * - `"final-damage-amount"`: {@link FinalDamageAmountEntityDamagedEventFilter}
10870
11686
  * - `"damage-type"`: {@link DamageTypeEntityDamagedEventFilter}
10871
11687
  * - `"final-health"`: {@link FinalHealthEntityDamagedEventFilter}
10872
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/LuaEntityDamagedEventFilter.html Online documentation}
11688
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/LuaEntityDamagedEventFilter.html Online documentation}
10873
11689
  */
10874
11690
  export type LuaEntityDamagedEventFilter =
10875
11691
  | TypeEntityDamagedEventFilter
@@ -10883,7 +11699,7 @@ declare module "factorio:runtime" {
10883
11699
  | OtherEntityDamagedEventFilter
10884
11700
  /**
10885
11701
  * Write form of {@link LuaEntityDamagedEventFilter}, where some properties allow additional values as input compared to the read form.
10886
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/LuaEntityDamagedEventFilter.html Online documentation}
11702
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/LuaEntityDamagedEventFilter.html Online documentation}
10887
11703
  */
10888
11704
  export type LuaEntityDamagedEventFilterWrite =
10889
11705
  | TypeEntityDamagedEventFilter
@@ -10992,7 +11808,7 @@ declare module "factorio:runtime" {
10992
11808
  * - `"name"`: {@link NameScriptRaisedReviveEventFilter}
10993
11809
  * - `"ghost_type"`: {@link GhostTypeScriptRaisedReviveEventFilter}
10994
11810
  * - `"ghost_name"`: {@link GhostNameScriptRaisedReviveEventFilter}
10995
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/LuaScriptRaisedReviveEventFilter.html Online documentation}
11811
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/LuaScriptRaisedReviveEventFilter.html Online documentation}
10996
11812
  */
10997
11813
  export type LuaScriptRaisedReviveEventFilter =
10998
11814
  | TypeScriptRaisedReviveEventFilter
@@ -11097,7 +11913,7 @@ declare module "factorio:runtime" {
11097
11913
  * - `"name"`: {@link NameEntityDiedEventFilter}
11098
11914
  * - `"ghost_type"`: {@link GhostTypeEntityDiedEventFilter}
11099
11915
  * - `"ghost_name"`: {@link GhostNameEntityDiedEventFilter}
11100
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/LuaEntityDiedEventFilter.html Online documentation}
11916
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/LuaEntityDiedEventFilter.html Online documentation}
11101
11917
  */
11102
11918
  export type LuaEntityDiedEventFilter =
11103
11919
  | TypeEntityDiedEventFilter
@@ -11202,7 +12018,7 @@ declare module "factorio:runtime" {
11202
12018
  * - `"name"`: {@link NamePreRobotMinedEntityEventFilter}
11203
12019
  * - `"ghost_type"`: {@link GhostTypePreRobotMinedEntityEventFilter}
11204
12020
  * - `"ghost_name"`: {@link GhostNamePreRobotMinedEntityEventFilter}
11205
- * @see {@link https://lua-api.factorio.com/2.0.17/concepts/LuaPreRobotMinedEntityEventFilter.html Online documentation}
12021
+ * @see {@link https://lua-api.factorio.com/2.0.21/concepts/LuaPreRobotMinedEntityEventFilter.html Online documentation}
11206
12022
  */
11207
12023
  export type LuaPreRobotMinedEntityEventFilter =
11208
12024
  | TypePreRobotMinedEntityEventFilter
@@ -11210,24 +12026,6 @@ declare module "factorio:runtime" {
11210
12026
  | GhostTypePreRobotMinedEntityEventFilter
11211
12027
  | GhostNamePreRobotMinedEntityEventFilter
11212
12028
  | OtherPreRobotMinedEntityEventFilter
11213
- export type StyleValuesArray =
11214
- | readonly [topBottom: int, leftRight: int]
11215
- | readonly [top: int, right: int, bottom: int, left: int]
11216
- export type SizeArray = readonly [width: int, height: int]
11217
- export type RaiseableEvents =
11218
- | typeof defines.events.on_console_chat
11219
- | typeof defines.events.on_player_crafted_item
11220
- | typeof defines.events.on_player_fast_transferred
11221
- | typeof defines.events.on_biter_base_built
11222
- | typeof defines.events.on_market_item_purchased
11223
- | typeof defines.events.script_raised_built
11224
- | typeof defines.events.script_raised_destroy
11225
- | typeof defines.events.script_raised_revive
11226
- | typeof defines.events.script_raised_teleported
11227
- | typeof defines.events.script_raised_set_tiles
11228
- /** An event id. */
11229
- export type EventId<T extends object, F = unknown> = uint & {
11230
- readonly _eventData: T
11231
- readonly _filter: F
11232
- }
12029
+ export type StyleValuesArray = [topBottom: int, leftRight: int] | [top: int, right: int, bottom: int, left: int]
12030
+ export type SizeArray = [width: int, height: int]
11233
12031
  }