typed-factorio 4.2.0 → 4.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -12,7 +12,7 @@ import type { VersionString } from "factorio:common"
12
12
  declare module "factorio:runtime" {
13
13
  /**
14
14
  * Weight of an object. The weight is stored as a fixed-size 64 bit integer, with 16 bits reserved for decimal precision, meaning the smallest value step is `1/2^16`.
15
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/Weight.html Online documentation}
15
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/Weight.html Online documentation}
16
16
  */
17
17
  export type Weight = double
18
18
  export interface CircularParticleCreationSpecification {
@@ -54,8 +54,8 @@ declare module "factorio:runtime" {
54
54
  _customEventIdBrand: any
55
55
  }
56
56
  /**
57
- * 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.1.9/events.html the list of Factorio events} for more information on these.
58
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/EventData.html Online documentation}
57
+ * 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.1.21/events.html the list of Factorio events} for more information on these.
58
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/EventData.html Online documentation}
59
59
  */
60
60
  export interface EventData {
61
61
  /**
@@ -115,7 +115,7 @@ declare module "factorio:runtime" {
115
115
  }
116
116
  /**
117
117
  * Information about an individual segment in a segmented unit when the unit died.
118
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/PostSegmentDiedData.html Online documentation}
118
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/PostSegmentDiedData.html Online documentation}
119
119
  */
120
120
  export interface PostSegmentDiedData {
121
121
  /**
@@ -131,7 +131,7 @@ declare module "factorio:runtime" {
131
131
  * ## Union members
132
132
  * - `"input"`
133
133
  * - `"output"`
134
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/BeltConnectionType.html Online documentation}
134
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/BeltConnectionType.html Online documentation}
135
135
  */
136
136
  export type BeltConnectionType = "input" | "output"
137
137
  /**
@@ -142,13 +142,13 @@ declare module "factorio:runtime" {
142
142
  * - {@link FluidID}: Used with fluid production statistics.
143
143
  * - {@link EntityWithQualityID}: Used with electric network, entity build count, and kill count statistics.
144
144
  * - {@link EntityID}: Used with pollution statistics.
145
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/FlowStatisticsID.html Online documentation}
145
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/FlowStatisticsID.html Online documentation}
146
146
  */
147
147
  export type FlowStatisticsID = ItemWithQualityID | FluidID | EntityWithQualityID | EntityID
148
148
  export type ItemStackIndex = uint16
149
149
  export type LogisticFilterIndex = uint16
150
+ export type LogisticSectionIndex = uint8
150
151
  export type ItemCountType = uint32
151
- export type InventoryIndex = uint8
152
152
  /**
153
153
  * A string that specifies how the inputs should be compared.
154
154
  *
@@ -164,7 +164,7 @@ declare module "factorio:runtime" {
164
164
  * - `"<="`: "lesser than or equal to"
165
165
  * - `"≠"`: "not equal to"
166
166
  * - `"!="`: "not equal to"
167
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/ComparatorString.html Online documentation}
167
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/ComparatorString.html Online documentation}
168
168
  */
169
169
  export type ComparatorString = "=" | ">" | "<" | "≥" | ">=" | "≤" | "<=" | "≠" | "!="
170
170
  export type ComparatorStringRead = "=" | ">" | "<" | "≥" | "≤" | "≠"
@@ -195,132 +195,132 @@ declare module "factorio:runtime" {
195
195
  *
196
196
  * The validity of a SpritePath can be verified at runtime using {@link LuaHelpers#is_valid_sprite_path LuaHelpers::is_valid_sprite_path}.
197
197
  *
198
- * {@link https://lua-api.factorio.com/2.1.9/concepts/SpritePath.html > The supported types are:}
199
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/SpritePath.html Online documentation}
198
+ * {@link https://lua-api.factorio.com/2.1.21/concepts/SpritePath.html > The supported types are:}
199
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/SpritePath.html Online documentation}
200
200
  */
201
201
  export type SpritePath = (string & { _?: never }) | `${SpriteType}${"/" | "."}${string}`
202
202
  /**
203
203
  * 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.
204
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/GameViewSettings.html Online documentation}
204
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/GameViewSettings.html Online documentation}
205
205
  */
206
206
  export interface GameViewSettings {
207
207
  /**
208
208
  * Show the controller GUI elements. This includes the toolbar, the selected tool slot, the armour slot, and the gun and ammunition slots.
209
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/GameViewSettings.show_controller_gui.html Online documentation}
209
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/GameViewSettings.show_controller_gui.html Online documentation}
210
210
  */
211
211
  show_controller_gui: boolean
212
212
  /**
213
213
  * Show the chart in the upper right-hand corner of the screen.
214
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/GameViewSettings.show_minimap.html Online documentation}
214
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/GameViewSettings.show_minimap.html Online documentation}
215
215
  */
216
216
  show_minimap: boolean
217
217
  /**
218
218
  * Show research progress and name in the upper right-hand corner of the screen.
219
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/GameViewSettings.show_research_info.html Online documentation}
219
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/GameViewSettings.show_research_info.html Online documentation}
220
220
  */
221
221
  show_research_info: boolean
222
222
  /**
223
223
  * Show overlay icons on entities. Also known as "alt-mode".
224
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/GameViewSettings.show_entity_info.html Online documentation}
224
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/GameViewSettings.show_entity_info.html Online documentation}
225
225
  */
226
226
  show_entity_info: boolean
227
227
  /**
228
228
  * Show the flashing alert icons next to the player's toolbar.
229
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/GameViewSettings.show_alert_gui.html Online documentation}
229
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/GameViewSettings.show_alert_gui.html Online documentation}
230
230
  */
231
231
  show_alert_gui: boolean
232
232
  /**
233
233
  * When `true` (the default), mousing over an entity will select it. Otherwise, moving the mouse won't update entity selection.
234
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/GameViewSettings.update_entity_selection.html Online documentation}
234
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/GameViewSettings.update_entity_selection.html Online documentation}
235
235
  */
236
236
  update_entity_selection: boolean
237
237
  /**
238
238
  * When `true` (`false` is default), the rails will always show the rail block visualisation.
239
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/GameViewSettings.show_rail_block_visualisation.html Online documentation}
239
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/GameViewSettings.show_rail_block_visualisation.html Online documentation}
240
240
  */
241
241
  show_rail_block_visualisation: boolean
242
242
  /**
243
243
  * Shows or hides the buttons row.
244
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/GameViewSettings.show_side_menu.html Online documentation}
244
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/GameViewSettings.show_side_menu.html Online documentation}
245
245
  */
246
246
  show_side_menu: boolean
247
247
  /**
248
248
  * Shows or hides the pins GUI on the right side of the screen.
249
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/GameViewSettings.show_pins_gui.html Online documentation}
249
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/GameViewSettings.show_pins_gui.html Online documentation}
250
250
  */
251
251
  show_pins_gui: boolean
252
252
  /**
253
253
  * Shows or hides the view options when map is opened.
254
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/GameViewSettings.show_map_view_options.html Online documentation}
254
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/GameViewSettings.show_map_view_options.html Online documentation}
255
255
  */
256
256
  show_map_view_options: boolean
257
257
  /**
258
258
  * Shows or hides the tooltip that is displayed when selecting an entity.
259
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/GameViewSettings.show_entity_tooltip.html Online documentation}
259
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/GameViewSettings.show_entity_tooltip.html Online documentation}
260
260
  */
261
261
  show_entity_tooltip: boolean
262
262
  /**
263
263
  * Shows or hides quickbar of shortcuts.
264
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/GameViewSettings.show_quickbar.html Online documentation}
264
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/GameViewSettings.show_quickbar.html Online documentation}
265
265
  */
266
266
  show_quickbar: boolean
267
267
  /**
268
268
  * Shows or hides the shortcut bar.
269
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/GameViewSettings.show_shortcut_bar.html Online documentation}
269
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/GameViewSettings.show_shortcut_bar.html Online documentation}
270
270
  */
271
271
  show_shortcut_bar: boolean
272
272
  /**
273
273
  * Shows or hides the crafting queue.
274
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/GameViewSettings.show_crafting_queue.html Online documentation}
274
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/GameViewSettings.show_crafting_queue.html Online documentation}
275
275
  */
276
276
  show_crafting_queue: boolean
277
277
  /**
278
278
  * Shows or hides the tool window with the weapons and armor.
279
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/GameViewSettings.show_tool_bar.html Online documentation}
279
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/GameViewSettings.show_tool_bar.html Online documentation}
280
280
  */
281
281
  show_tool_bar: boolean
282
282
  /**
283
283
  * Shows or hides the mouse and keyboard/controller button hints in the bottom left corner if they are enabled in the interface settings.
284
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/GameViewSettings.show_hotkey_suggestions.html Online documentation}
284
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/GameViewSettings.show_hotkey_suggestions.html Online documentation}
285
285
  */
286
286
  show_hotkey_suggestions: boolean
287
287
  /**
288
288
  * Shows or hides the surface list while in Remote View.
289
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/GameViewSettings.show_surface_list.html Online documentation}
289
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/GameViewSettings.show_surface_list.html Online documentation}
290
290
  */
291
291
  show_surface_list: boolean
292
292
  /**
293
293
  * Makes tall entities translucent and unselectable.
294
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/GameViewSettings.hide_tall_entities.html Online documentation}
294
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/GameViewSettings.hide_tall_entities.html Online documentation}
295
295
  */
296
296
  hide_tall_entities: boolean
297
297
  }
298
298
  /**
299
- * The percentual increase of the attribute. A value of `0.6` means a 60% increase.
300
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/ModuleEffectValue.html Online documentation}
299
+ * Precision is ignored beyond four decimals - `0.56789` results in `0.5678` and means 56.78% etc. Values can range from `-1000.0000` to `1000.0000`.
300
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/EffectValue.html Online documentation}
301
301
  */
302
- export type ModuleEffectValue = float
302
+ export type EffectValue = float
303
303
  /**
304
304
  * @example
305
305
  * -- These are the effects of the vanilla Speed Module 3
306
306
  * {speed = 0.5, consumption = 0.7, quality = -0.025}
307
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/ModuleEffects.html Online documentation}
307
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/Effect.html Online documentation}
308
308
  */
309
- export interface ModuleEffects {
310
- readonly consumption?: ModuleEffectValue
311
- readonly speed?: ModuleEffectValue
312
- readonly productivity?: ModuleEffectValue
313
- readonly pollution?: ModuleEffectValue
314
- readonly quality?: ModuleEffectValue
309
+ export interface Effect {
310
+ readonly consumption?: EffectValue
311
+ readonly speed?: EffectValue
312
+ readonly productivity?: EffectValue
313
+ readonly pollution?: EffectValue
314
+ readonly quality?: EffectValue
315
315
  }
316
316
  /**
317
317
  * `math.huge` represents the maximum possible tick.
318
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/MapTick.html Online documentation}
318
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/MapTick.html Online documentation}
319
319
  */
320
320
  export type MapTick = uint64
321
321
  /**
322
322
  * @see BlueprintSignalIconWrite
323
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/BlueprintSignalIcon.html Online documentation}
323
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/BlueprintSignalIcon.html Online documentation}
324
324
  */
325
325
  export interface BlueprintSignalIcon {
326
326
  /**
@@ -334,7 +334,7 @@ declare module "factorio:runtime" {
334
334
  }
335
335
  /**
336
336
  * Write form of {@link BlueprintSignalIcon}, where some properties allow additional values as input compared to the read form.
337
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/BlueprintSignalIcon.html Online documentation}
337
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/BlueprintSignalIcon.html Online documentation}
338
338
  */
339
339
  export interface BlueprintSignalIconWrite {
340
340
  /**
@@ -404,6 +404,7 @@ declare module "factorio:runtime" {
404
404
  * - `"elevated-rail-tie"`: 135
405
405
  * - `"elevated-rail-screw"`: 136
406
406
  * - `"elevated-rail-metal"`: 137
407
+ * - `"elevated-rail-above-metal"`: 138
407
408
  * - `"elevated-lower-object"`: 141
408
409
  * - `"elevated-object"`: 142
409
410
  * - `"elevated-higher-object"`: 143
@@ -422,7 +423,7 @@ declare module "factorio:runtime" {
422
423
  * - `"collision-selection-box"`: 189
423
424
  * - `"arrow"`: 190
424
425
  * - `"cursor"`: 226
425
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/RenderLayer.html Online documentation}
426
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/RenderLayer.html Online documentation}
426
427
  */
427
428
  export type RenderLayer =
428
429
  | `${bigint}`
@@ -479,6 +480,7 @@ declare module "factorio:runtime" {
479
480
  | "elevated-rail-tie"
480
481
  | "elevated-rail-screw"
481
482
  | "elevated-rail-metal"
483
+ | "elevated-rail-above-metal"
482
484
  | "elevated-lower-object"
483
485
  | "elevated-object"
484
486
  | "elevated-higher-object"
@@ -505,7 +507,7 @@ declare module "factorio:runtime" {
505
507
  }
506
508
  /**
507
509
  * What is shown in the map view. If a field is not given, that setting will not be changed.
508
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/MapViewSettings.html Online documentation}
510
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/MapViewSettings.html Online documentation}
509
511
  */
510
512
  export interface MapViewSettings {
511
513
  readonly "show-logistic-network"?: boolean
@@ -535,7 +537,7 @@ declare module "factorio:runtime" {
535
537
  * - `"blueprint-snap-rectangle"`: Green by default.
536
538
  * - `"spidertron-remote-selected"`
537
539
  * - `"spidertron-remote-to-be-selected"`
538
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/CursorBoxRenderType.html Online documentation}
540
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/CursorBoxRenderType.html Online documentation}
539
541
  */
540
542
  export type CursorBoxRenderType =
541
543
  | "entity"
@@ -562,14 +564,14 @@ declare module "factorio:runtime" {
562
564
  * The name of a {@link LuaCollisionLayerPrototype}.
563
565
  * @example
564
566
  * "is_lower_object"
565
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/CollisionLayerID.html Online documentation}
567
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/CollisionLayerID.html Online documentation}
566
568
  */
567
569
  export type CollisionLayerID = string
568
570
  /**
569
571
  * @example
570
572
  * -- Most common collision mask of buildings:
571
573
  * collision_mask = {layers = {item = true, meltable = true, object = true, player = true, water_tile = true, is_object = true, is_lower_object = true}}
572
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/CollisionMask.html Online documentation}
574
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/CollisionMask.html Online documentation}
573
575
  */
574
576
  export interface CollisionMask {
575
577
  /**
@@ -604,7 +606,7 @@ declare module "factorio:runtime" {
604
606
  * - `"always"`
605
607
  * - `"auto"`
606
608
  * - `"auto-and-reserve-space"`
607
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/ScrollPolicy.html Online documentation}
609
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/ScrollPolicy.html Online documentation}
608
610
  */
609
611
  export type ScrollPolicy = "never" | "dont-show-but-allow-scrolling" | "always" | "auto" | "auto-and-reserve-space"
610
612
  export interface EmptySlotInfo {
@@ -622,9 +624,7 @@ declare module "factorio:runtime" {
622
624
  readonly text?: LocalisedString
623
625
  }
624
626
  /**
625
- * A set of flags. Active flags are in the dictionary as `true`, while inactive flags aren't present at all.
626
- *
627
- * To write to this, use an array[`string`] of the mouse buttons that should be possible to use with on button. The flag `"left-and-right"` can also be set, which will set `"left"` and `"right"` to `true`.
627
+ * Active flags are in the dictionary as `true`, while inactive flags aren't present at all.
628
628
  *
629
629
  * ## Union members
630
630
  * - `"left"`
@@ -636,9 +636,9 @@ declare module "factorio:runtime" {
636
636
  * - `"button-7"`
637
637
  * - `"button-8"`
638
638
  * - `"button-9"`
639
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/MouseButtonFlags.html Online documentation}
639
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/ActiveMouseButtonFlags.html Online documentation}
640
640
  */
641
- export interface MouseButtonFlags {
641
+ export interface ActiveMouseButtonFlags {
642
642
  readonly "left"?: true
643
643
  readonly "right"?: true
644
644
  readonly "middle"?: true
@@ -649,7 +649,32 @@ declare module "factorio:runtime" {
649
649
  readonly "button-8"?: true
650
650
  readonly "button-9"?: true
651
651
  }
652
- export type MouseButtonFlagsWrite = MouseButtonFlags | ReadonlyArray<keyof MouseButtonFlags | "left-and-right">
652
+ /**
653
+ * ## Union members
654
+ * - `"left"`
655
+ * - `"right"`
656
+ * - `"left-and-right"`: Sets both `"left"` and `"right"` flags.
657
+ * - `"middle"`
658
+ * - `"button-4"`
659
+ * - `"button-5"`
660
+ * - `"button-6"`
661
+ * - `"button-7"`
662
+ * - `"button-8"`
663
+ * - `"button-9"`
664
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/MouseButtonFlags.html Online documentation}
665
+ */
666
+ export type MouseButtonFlags = readonly (
667
+ | "left"
668
+ | "right"
669
+ | "left-and-right"
670
+ | "middle"
671
+ | "button-4"
672
+ | "button-5"
673
+ | "button-6"
674
+ | "button-7"
675
+ | "button-8"
676
+ | "button-9"
677
+ )[]
653
678
  /**
654
679
  * State of a GUI {@link LuaGuiElement#switch_state switch}.
655
680
  *
@@ -657,7 +682,7 @@ declare module "factorio:runtime" {
657
682
  * - `"left"`
658
683
  * - `"right"`
659
684
  * - `"none"`
660
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/SwitchState.html Online documentation}
685
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/SwitchState.html Online documentation}
661
686
  */
662
687
  export type SwitchState = "left" | "right" | "none"
663
688
  /**
@@ -688,7 +713,7 @@ declare module "factorio:runtime" {
688
713
  * - `"tab"`: A tab for use in a `tabbed-pane`.
689
714
  * - `"switch"`: A switch with three possible states. Can have labels attached to either side. Relevant event: {@link OnGuiSwitchStateChangedEvent on_gui_switch_state_changed}
690
715
  * - `"inventory"`
691
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/GuiElementType.html Online documentation}
716
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/GuiElementType.html Online documentation}
692
717
  */
693
718
  export type GuiElementType =
694
719
  | "button"
@@ -752,7 +777,14 @@ declare module "factorio:runtime" {
752
777
  * - `"entity-with-quality"`
753
778
  * - `"recipe-with-quality"`
754
779
  * - `"equipment-with-quality"`
755
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/ElemType.html Online documentation}
780
+ * - `"ammo-category"`
781
+ * - `"airborne-pollutant"`
782
+ * - `"quality"`
783
+ * - `"shortcut"`
784
+ * - `"space-connection"`
785
+ * - `"surface"`
786
+ * - `"virtual-signal"`
787
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/ElemType.html Online documentation}
756
788
  */
757
789
  export type ElemType =
758
790
  | "achievement"
@@ -772,6 +804,13 @@ declare module "factorio:runtime" {
772
804
  | "entity-with-quality"
773
805
  | "recipe-with-quality"
774
806
  | "equipment-with-quality"
807
+ | "ammo-category"
808
+ | "airborne-pollutant"
809
+ | "quality"
810
+ | "shortcut"
811
+ | "space-connection"
812
+ | "surface"
813
+ | "virtual-signal"
775
814
  export interface ElemID {
776
815
  readonly type: ElemType
777
816
  /**
@@ -803,7 +842,7 @@ declare module "factorio:runtime" {
803
842
  }
804
843
  /**
805
844
  * The supported subset of {@linkplain https://microsoft.github.io/debug-adapter-protocol/specification#Types_VariablePresentationHint DebugAdapter VariablePresentationHint}
806
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/DebugVariablePresentationHint.html Online documentation}
845
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/DebugVariablePresentationHint.html Online documentation}
807
846
  */
808
847
  export interface DebugVariablePresentationHint {
809
848
  /**
@@ -818,7 +857,7 @@ declare module "factorio:runtime" {
818
857
  }
819
858
  /**
820
859
  * The supported subset of {@linkplain https://microsoft.github.io/debug-adapter-protocol/specification#Types_Variable DebugAdapter Variable}
821
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/DebugVariable.html Online documentation}
860
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/DebugVariable.html Online documentation}
822
861
  */
823
862
  export interface DebugVariable {
824
863
  readonly name: string
@@ -834,13 +873,13 @@ declare module "factorio:runtime" {
834
873
  * @see VectorTable
835
874
  * @example
836
875
  * right = {1.0, 0.0}
837
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/Vector.html Online documentation}
876
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/Vector.html Online documentation}
838
877
  */
839
878
  export type Vector = readonly [float, float]
840
879
  /**
841
880
  * Table form of {@link Vector}.
842
881
  * @see Vector
843
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/Vector.html Online documentation}
882
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/Vector.html Online documentation}
844
883
  */
845
884
  export interface VectorTable {
846
885
  readonly x: float
@@ -849,7 +888,7 @@ declare module "factorio:runtime" {
849
888
  /**
850
889
  * 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.
851
890
  * @see ChunkPositionArray
852
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/ChunkPosition.html Online documentation}
891
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/ChunkPosition.html Online documentation}
853
892
  */
854
893
  export interface ChunkPosition {
855
894
  readonly x: int32
@@ -858,7 +897,7 @@ declare module "factorio:runtime" {
858
897
  /**
859
898
  * Array form of {@link ChunkPosition}.
860
899
  * @see ChunkPosition
861
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/ChunkPosition.html Online documentation}
900
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/ChunkPosition.html Online documentation}
862
901
  */
863
902
  export type ChunkPositionArray = readonly [int32, int32]
864
903
  export interface ItemStackLocation {
@@ -882,7 +921,7 @@ declare module "factorio:runtime" {
882
921
  /**
883
922
  * An item filter may be specified in two ways, either as a string which is an item prototype name or as a table.
884
923
  * @see ItemFilterWrite
885
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/ItemFilter.html Online documentation}
924
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/ItemFilter.html Online documentation}
886
925
  */
887
926
  export type ItemFilter =
888
927
  | {
@@ -902,7 +941,7 @@ declare module "factorio:runtime" {
902
941
  | string
903
942
  /**
904
943
  * Write form of {@link ItemFilter}, where some properties allow additional values as input compared to the read form.
905
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/ItemFilter.html Online documentation}
944
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/ItemFilter.html Online documentation}
906
945
  */
907
946
  export type ItemFilterWrite =
908
947
  | {
@@ -922,7 +961,7 @@ declare module "factorio:runtime" {
922
961
  | string
923
962
  /**
924
963
  * @see SavedLogisticFiltersWrite
925
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/SavedLogisticFilters.html Online documentation}
964
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/SavedLogisticFilters.html Online documentation}
926
965
  */
927
966
  export interface SavedLogisticFilters {
928
967
  readonly trash_not_requested: boolean
@@ -930,7 +969,7 @@ declare module "factorio:runtime" {
930
969
  }
931
970
  /**
932
971
  * Write form of {@link SavedLogisticFilters}, where some properties allow additional values as input compared to the read form.
933
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/SavedLogisticFilters.html Online documentation}
972
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/SavedLogisticFilters.html Online documentation}
934
973
  */
935
974
  export interface SavedLogisticFiltersWrite {
936
975
  readonly trash_not_requested: boolean
@@ -938,7 +977,7 @@ declare module "factorio:runtime" {
938
977
  }
939
978
  /**
940
979
  * @see SavedLogisticSectionWrite
941
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/SavedLogisticSection.html Online documentation}
980
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/SavedLogisticSection.html Online documentation}
942
981
  */
943
982
  export interface SavedLogisticSection {
944
983
  readonly group?: string
@@ -948,7 +987,7 @@ declare module "factorio:runtime" {
948
987
  }
949
988
  /**
950
989
  * Write form of {@link SavedLogisticSection}, where some properties allow additional values as input compared to the read form.
951
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/SavedLogisticSection.html Online documentation}
990
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/SavedLogisticSection.html Online documentation}
952
991
  */
953
992
  export interface SavedLogisticSectionWrite {
954
993
  readonly group?: string
@@ -987,7 +1026,7 @@ declare module "factorio:runtime" {
987
1026
  * -- If 'entity-description.furnace' exists, it is concatenated with "\n" and returned. Otherwise, if 'item-description.furnace'
988
1027
  * -- exists, it is returned as-is. Otherwise, "optional fallback" is returned. If this value wasn't specified, the
989
1028
  * -- translation result would be "Unknown key: 'item-description.furnace'".
990
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/LocalisedString.html Online documentation}
1029
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/LocalisedString.html Online documentation}
991
1030
  */
992
1031
  export type LocalisedString = string | number | boolean | LuaObject | nil | [string, ...LocalisedString[]]
993
1032
  export interface BaseCommand {
@@ -1220,7 +1259,7 @@ declare module "factorio:runtime" {
1220
1259
  * - {@link defines.command.stop}: {@link StopCommand}
1221
1260
  * - {@link defines.command.flee}: {@link FleeCommand}
1222
1261
  * - {@link defines.command.build_base}: {@link BuildBaseCommand}
1223
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/Command.html Online documentation}
1262
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/Command.html Online documentation}
1224
1263
  */
1225
1264
  export type Command =
1226
1265
  | AttackCommand
@@ -1234,7 +1273,7 @@ declare module "factorio:runtime" {
1234
1273
  | BuildBaseCommand
1235
1274
  /**
1236
1275
  * Write form of {@link Command}, where some properties allow additional values as input compared to the read form.
1237
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/Command.html Online documentation}
1276
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/Command.html Online documentation}
1238
1277
  */
1239
1278
  export type CommandWrite =
1240
1279
  | AttackCommand
@@ -1311,7 +1350,7 @@ declare module "factorio:runtime" {
1311
1350
  * - `"position"`: {@link PositionGuiArrowSpecification}
1312
1351
  * - `"crafting_queue"`: {@link CraftingQueueGuiArrowSpecification}
1313
1352
  * - `"item_stack"`: {@link ItemStackGuiArrowSpecification}
1314
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/GuiArrowSpecification.html Online documentation}
1353
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/GuiArrowSpecification.html Online documentation}
1315
1354
  */
1316
1355
  export type GuiArrowSpecification =
1317
1356
  | EntityGuiArrowSpecification
@@ -1331,13 +1370,13 @@ declare module "factorio:runtime" {
1331
1370
  * - `"position"`
1332
1371
  * - `"crafting_queue"`
1333
1372
  * - `"item_stack"`: Will point to a given item stack in an inventory.
1334
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/GuiArrowType.html Online documentation}
1373
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/GuiArrowType.html Online documentation}
1335
1374
  */
1336
1375
  export type GuiArrowType =
1337
1376
  "nowhere" | "goal" | "entity_info" | "active_window" | "entity" | "position" | "crafting_queue" | "item_stack"
1338
1377
  /**
1339
1378
  * @see FluidFilterWrite
1340
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/FluidFilter.html Online documentation}
1379
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/FluidFilter.html Online documentation}
1341
1380
  */
1342
1381
  export interface FluidFilter {
1343
1382
  readonly fluid?: LuaFluidPrototype
@@ -1352,7 +1391,7 @@ declare module "factorio:runtime" {
1352
1391
  }
1353
1392
  /**
1354
1393
  * Write form of {@link FluidFilter}, where some properties allow additional values as input compared to the read form.
1355
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/FluidFilter.html Online documentation}
1394
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/FluidFilter.html Online documentation}
1356
1395
  */
1357
1396
  export interface FluidFilterWrite {
1358
1397
  readonly fluid?: FluidID
@@ -1370,7 +1409,7 @@ declare module "factorio:runtime" {
1370
1409
  *
1371
1410
  * If this is specified as a three-element array then the array items are x, y and z, in that order.
1372
1411
  * @see Vector3DArray
1373
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/Vector3D.html Online documentation}
1412
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/Vector3D.html Online documentation}
1374
1413
  */
1375
1414
  export interface Vector3D {
1376
1415
  readonly x: float
@@ -1380,7 +1419,7 @@ declare module "factorio:runtime" {
1380
1419
  /**
1381
1420
  * Array form of {@link Vector3D}.
1382
1421
  * @see Vector3D
1383
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/Vector3D.html Online documentation}
1422
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/Vector3D.html Online documentation}
1384
1423
  */
1385
1424
  export type Vector3DArray = readonly [float, float, float]
1386
1425
  export interface TrainVisualizationConstants {
@@ -1419,12 +1458,12 @@ declare module "factorio:runtime" {
1419
1458
  }
1420
1459
  /**
1421
1460
  * Does not return the value at runtime.
1422
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/ColorLookupTable.html Online documentation}
1461
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/ColorLookupTable.html Online documentation}
1423
1462
  */
1424
1463
  export type ColorLookupTable = nil
1425
1464
  /**
1426
1465
  * Returns an empty table at runtime.
1427
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/DaytimeColorLookupTable.html Online documentation}
1466
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/DaytimeColorLookupTable.html Online documentation}
1428
1467
  */
1429
1468
  export type DaytimeColorLookupTable = "{}"
1430
1469
  export interface ColorFilterData {
@@ -1520,7 +1559,7 @@ declare module "factorio:runtime" {
1520
1559
  }
1521
1560
  /**
1522
1561
  * @see TrainScheduleWrite
1523
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/TrainSchedule.html Online documentation}
1562
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/TrainSchedule.html Online documentation}
1524
1563
  */
1525
1564
  export interface TrainSchedule {
1526
1565
  /**
@@ -1531,7 +1570,7 @@ declare module "factorio:runtime" {
1531
1570
  }
1532
1571
  /**
1533
1572
  * Write form of {@link TrainSchedule}, where some properties allow additional values as input compared to the read form.
1534
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/TrainSchedule.html Online documentation}
1573
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/TrainSchedule.html Online documentation}
1535
1574
  */
1536
1575
  export interface TrainScheduleWrite {
1537
1576
  /**
@@ -1542,7 +1581,7 @@ declare module "factorio:runtime" {
1542
1581
  }
1543
1582
  /**
1544
1583
  * @see PlatformScheduleWrite
1545
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/PlatformSchedule.html Online documentation}
1584
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/PlatformSchedule.html Online documentation}
1546
1585
  */
1547
1586
  export interface PlatformSchedule {
1548
1587
  /**
@@ -1553,7 +1592,7 @@ declare module "factorio:runtime" {
1553
1592
  }
1554
1593
  /**
1555
1594
  * Write form of {@link PlatformSchedule}, where some properties allow additional values as input compared to the read form.
1556
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/PlatformSchedule.html Online documentation}
1595
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/PlatformSchedule.html Online documentation}
1557
1596
  */
1558
1597
  export interface PlatformScheduleWrite {
1559
1598
  /**
@@ -1599,17 +1638,21 @@ declare module "factorio:runtime" {
1599
1638
  readonly rail_layer: defines.rail_layer
1600
1639
  }
1601
1640
  export interface EffectValueRange {
1602
- readonly low: double
1603
- readonly high: double
1641
+ readonly low: EffectValue
1642
+ readonly high: EffectValue
1604
1643
  }
1605
1644
  export interface EffectReceiver {
1606
- readonly base_effect: ModuleEffects
1645
+ readonly base_effect: Effect
1607
1646
  readonly uses_module_effects: boolean
1608
1647
  readonly uses_beacon_effects: boolean
1609
1648
  /**
1610
1649
  * Controls whether {@link LuaSurface#global_effect LuaSurface::global_effect} affects this receiver.
1611
1650
  */
1612
1651
  readonly uses_surface_effects: boolean
1652
+ /**
1653
+ * Controls whether {@link LuaEntity#local_effect LuaEntity::local_effect} affects this receiver.
1654
+ */
1655
+ readonly uses_local_effects: boolean
1613
1656
  readonly consumption_limits: EffectValueRange
1614
1657
  readonly speed_limits: EffectValueRange
1615
1658
  readonly productivity_limits: EffectValueRange
@@ -1624,7 +1667,7 @@ declare module "factorio:runtime" {
1624
1667
  }
1625
1668
  /**
1626
1669
  * A recipe prototype with optional quality specification.
1627
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/RecipeIDAndQualityIDPair.html Online documentation}
1670
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/RecipeIDAndQualityIDPair.html Online documentation}
1628
1671
  */
1629
1672
  export interface RecipeIDAndQualityIDPair {
1630
1673
  /**
@@ -1689,7 +1732,7 @@ declare module "factorio:runtime" {
1689
1732
  }
1690
1733
  /**
1691
1734
  * A runtime representation of {@link SegmentEngineSpecification}.
1692
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/SegmentEngineSpecification.html Online documentation}
1735
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/SegmentEngineSpecification.html Online documentation}
1693
1736
  */
1694
1737
  export interface SegmentEngineSpecification {
1695
1738
  /**
@@ -1703,7 +1746,7 @@ declare module "factorio:runtime" {
1703
1746
  }
1704
1747
  /**
1705
1748
  * A runtime representation of {@link SegmentSpecification}.
1706
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/SegmentSpecification.html Online documentation}
1749
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/SegmentSpecification.html Online documentation}
1707
1750
  */
1708
1751
  export interface SegmentSpecification {
1709
1752
  /**
@@ -1717,7 +1760,7 @@ declare module "factorio:runtime" {
1717
1760
  }
1718
1761
  /**
1719
1762
  * A runtime representation of {@link TileBuildabilityRule}.
1720
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/TileBuildabilityRule.html Online documentation}
1763
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/TileBuildabilityRule.html Online documentation}
1721
1764
  */
1722
1765
  export interface TileBuildabilityRule {
1723
1766
  /**
@@ -1911,7 +1954,7 @@ declare module "factorio:runtime" {
1911
1954
  * - `string`: Name of the force, same as {@link LuaForce#name LuaForce::name}.
1912
1955
  * - {@link uint8}: Index of the force, same as {@link LuaForce#index LuaForce::index}.
1913
1956
  * - {@link LuaForce}: A reference to {@link LuaForce} may be passed directly.
1914
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/ForceID.html Online documentation}
1957
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/ForceID.html Online documentation}
1915
1958
  */
1916
1959
  export type ForceID = string | uint8 | LuaForce
1917
1960
  /**
@@ -1921,7 +1964,7 @@ declare module "factorio:runtime" {
1921
1964
  * - `string`: The fluid name.
1922
1965
  * - {@link LuaFluidPrototype}: The fluid prototype.
1923
1966
  * - {@link Fluid}: The fluid.
1924
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/FluidID.html Online documentation}
1967
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/FluidID.html Online documentation}
1925
1968
  */
1926
1969
  export type FluidID = string | LuaFluidPrototype | Fluid
1927
1970
  /**
@@ -1932,12 +1975,12 @@ declare module "factorio:runtime" {
1932
1975
  * - {@link LuaEntityPrototype}: The entity prototype. Normal quality will be used.
1933
1976
  * - `string`: The prototype name. Normal quality will be used.
1934
1977
  * - {@link EntityIDAndQualityIDPair}: A table of entity prototype and quality.
1935
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/EntityWithQualityID.html Online documentation}
1978
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/EntityWithQualityID.html Online documentation}
1936
1979
  */
1937
1980
  export type EntityWithQualityID = LuaEntity | LuaEntityPrototype | string | EntityIDAndQualityIDPair
1938
1981
  /**
1939
1982
  * An entity prototype with optional quality specification.
1940
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/EntityIDAndQualityIDPair.html Online documentation}
1983
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/EntityIDAndQualityIDPair.html Online documentation}
1941
1984
  */
1942
1985
  export interface EntityIDAndQualityIDPair {
1943
1986
  /**
@@ -1957,13 +2000,13 @@ declare module "factorio:runtime" {
1957
2000
  * - {@link LuaItemPrototype}: The item prototype. Normal quality will be used.
1958
2001
  * - `string`: The prototype name. Normal quality will be used.
1959
2002
  * - {@link ItemIDAndQualityIDPair}: A table of item prototype and quality.
1960
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/ItemWithQualityID.html Online documentation}
2003
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/ItemWithQualityID.html Online documentation}
1961
2004
  */
1962
2005
  export type ItemWithQualityID = LuaItemStack | LuaItemPrototype | string | ItemIDAndQualityIDPairWrite
1963
2006
  /**
1964
2007
  * An item prototype with optional quality specification.
1965
2008
  * @see ItemIDAndQualityIDPairWrite
1966
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/ItemIDAndQualityIDPair.html Online documentation}
2009
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/ItemIDAndQualityIDPair.html Online documentation}
1967
2010
  */
1968
2011
  export interface ItemIDAndQualityIDPair {
1969
2012
  /**
@@ -1977,7 +2020,7 @@ declare module "factorio:runtime" {
1977
2020
  }
1978
2021
  /**
1979
2022
  * Write form of {@link ItemIDAndQualityIDPair}, where some properties allow additional values as input compared to the read form.
1980
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/ItemIDAndQualityIDPair.html Online documentation}
2023
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/ItemIDAndQualityIDPair.html Online documentation}
1981
2024
  */
1982
2025
  export interface ItemIDAndQualityIDPairWrite {
1983
2026
  /**
@@ -1997,9 +2040,18 @@ declare module "factorio:runtime" {
1997
2040
  * - {@link LuaItemStack}: Non empty item stack.
1998
2041
  * - {@link LuaItem}: The item.
1999
2042
  * - `string`: The prototype name.
2000
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/ItemID.html Online documentation}
2043
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/ItemID.html Online documentation}
2001
2044
  */
2002
2045
  export type ItemID = LuaItemPrototype | LuaItemStack | LuaItem | string
2046
+ /**
2047
+ * An item group may be specified in one of two ways.
2048
+ *
2049
+ * ## Union members
2050
+ * - {@link LuaItemGroup}: The item group prototype.
2051
+ * - `string`: The prototype name.
2052
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/ItemGroupID.html Online documentation}
2053
+ */
2054
+ export type ItemGroupID = LuaItemGroup | string
2003
2055
  /**
2004
2056
  * An entity prototype may be specified in one of three ways.
2005
2057
  *
@@ -2007,7 +2059,7 @@ declare module "factorio:runtime" {
2007
2059
  * - {@link LuaEntityPrototype}: The entity prototype.
2008
2060
  * - {@link LuaEntity}: The entity.
2009
2061
  * - `string`: The prototype name.
2010
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/EntityID.html Online documentation}
2062
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/EntityID.html Online documentation}
2011
2063
  */
2012
2064
  export type EntityID = LuaEntityPrototype | LuaEntity | string
2013
2065
  /**
@@ -2017,7 +2069,7 @@ declare module "factorio:runtime" {
2017
2069
  * - {@link LuaTechnologyPrototype}: The technology prototype.
2018
2070
  * - {@link LuaTechnology}: Instance of the technology.
2019
2071
  * - `string`: The prototype name.
2020
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/TechnologyID.html Online documentation}
2072
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/TechnologyID.html Online documentation}
2021
2073
  */
2022
2074
  export type TechnologyID = LuaTechnologyPrototype | LuaTechnology | string
2023
2075
  /**
@@ -2026,7 +2078,7 @@ declare module "factorio:runtime" {
2026
2078
  * ## Union members
2027
2079
  * - {@link LuaParticlePrototype}: The particle prototype.
2028
2080
  * - `string`: The prototype name.
2029
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/ParticleID.html Online documentation}
2081
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/ParticleID.html Online documentation}
2030
2082
  */
2031
2083
  export type ParticleID = LuaParticlePrototype | string
2032
2084
  /**
@@ -2035,7 +2087,7 @@ declare module "factorio:runtime" {
2035
2087
  * ## Union members
2036
2088
  * - {@link LuaDamagePrototype}: The damage type prototype.
2037
2089
  * - `string`: The prototype name.
2038
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/DamageTypeID.html Online documentation}
2090
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/DamageTypeID.html Online documentation}
2039
2091
  */
2040
2092
  export type DamageTypeID = LuaDamagePrototype | string
2041
2093
  /**
@@ -2044,7 +2096,7 @@ declare module "factorio:runtime" {
2044
2096
  * ## Union members
2045
2097
  * - {@link LuaTrivialSmokePrototype}: The trivial smoke prototype.
2046
2098
  * - `string`: The prototype name.
2047
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/TrivialSmokeID.html Online documentation}
2099
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/TrivialSmokeID.html Online documentation}
2048
2100
  */
2049
2101
  export type TrivialSmokeID = LuaTrivialSmokePrototype | string
2050
2102
  /**
@@ -2056,7 +2108,7 @@ declare module "factorio:runtime" {
2056
2108
  * - `"left"`
2057
2109
  * - `"right"`
2058
2110
  * - `"center"`
2059
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/TextAlign.html Online documentation}
2111
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/TextAlign.html Online documentation}
2060
2112
  */
2061
2113
  export type TextAlign = "left" | "right" | "center"
2062
2114
  /**
@@ -2069,7 +2121,7 @@ declare module "factorio:runtime" {
2069
2121
  * - `"middle"`
2070
2122
  * - `"baseline"`
2071
2123
  * - `"bottom"`
2072
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/VerticalTextAlign.html Online documentation}
2124
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/VerticalTextAlign.html Online documentation}
2073
2125
  */
2074
2126
  export type VerticalTextAlign = "top" | "middle" | "baseline" | "bottom"
2075
2127
  /**
@@ -2078,7 +2130,7 @@ declare module "factorio:runtime" {
2078
2130
  * ## Union members
2079
2131
  * - {@link LuaQualityPrototype}: The quality prototype.
2080
2132
  * - `string`: The prototype name.
2081
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/QualityID.html Online documentation}
2133
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/QualityID.html Online documentation}
2082
2134
  */
2083
2135
  export type QualityID = LuaQualityPrototype | string
2084
2136
  /**
@@ -2087,7 +2139,7 @@ declare module "factorio:runtime" {
2087
2139
  * ## Union members
2088
2140
  * - {@link LuaRecipeCategoryPrototype}: By recipe category prototype.
2089
2141
  * - `string`: By name of the recipe category prototype.
2090
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/RecipeCategoryID.html Online documentation}
2142
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/RecipeCategoryID.html Online documentation}
2091
2143
  */
2092
2144
  export type RecipeCategoryID = LuaRecipeCategoryPrototype | string
2093
2145
  /**
@@ -2097,7 +2149,7 @@ declare module "factorio:runtime" {
2097
2149
  * - {@link LuaRecipePrototype}: By recipe prototype.
2098
2150
  * - {@link LuaRecipe}: By instance of recipe.
2099
2151
  * - `string`: By name of the recipe prototype.
2100
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/RecipeID.html Online documentation}
2152
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/RecipeID.html Online documentation}
2101
2153
  */
2102
2154
  export type RecipeID = LuaRecipePrototype | LuaRecipe | string
2103
2155
  /**
@@ -2107,7 +2159,7 @@ declare module "factorio:runtime" {
2107
2159
  * - {@link LuaTilePrototype}: By tile prototype.
2108
2160
  * - {@link LuaTile}: By instance of tile.
2109
2161
  * - `string`: By name of the tile prototype.
2110
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/TileID.html Online documentation}
2162
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/TileID.html Online documentation}
2111
2163
  */
2112
2164
  export type TileID = LuaTilePrototype | LuaTile | string
2113
2165
  export interface Fluid {
@@ -2131,7 +2183,7 @@ declare module "factorio:runtime" {
2131
2183
  * - {@link LuaEquipmentPrototype}: The equipment prototype.
2132
2184
  * - {@link LuaEquipment}: The equipment.
2133
2185
  * - `string`: The prototype name.
2134
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/EquipmentID.html Online documentation}
2186
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/EquipmentID.html Online documentation}
2135
2187
  */
2136
2188
  export type EquipmentID = LuaEquipmentPrototype | LuaEquipment | string
2137
2189
  /**
@@ -2143,19 +2195,19 @@ declare module "factorio:runtime" {
2143
2195
  * - `string`: The prototype name. Normal quality will be used.
2144
2196
  * - {@link EquipmentIDAndQualityIDPair}: A table of equipment prototype and quality.
2145
2197
  * @see EquipmentWithQualityIDWrite
2146
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/EquipmentWithQualityID.html Online documentation}
2198
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/EquipmentWithQualityID.html Online documentation}
2147
2199
  */
2148
2200
  export type EquipmentWithQualityID = LuaEquipmentPrototype | LuaEquipment | string | EquipmentIDAndQualityIDPair
2149
2201
  /**
2150
2202
  * Write form of {@link EquipmentWithQualityID}, where some properties allow additional values as input compared to the read form.
2151
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/EquipmentWithQualityID.html Online documentation}
2203
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/EquipmentWithQualityID.html Online documentation}
2152
2204
  */
2153
2205
  export type EquipmentWithQualityIDWrite =
2154
2206
  LuaEquipmentPrototype | LuaEquipment | string | EquipmentIDAndQualityIDPairWrite
2155
2207
  /**
2156
2208
  * An equipment prototype with optional quality specification.
2157
2209
  * @see EquipmentIDAndQualityIDPairWrite
2158
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/EquipmentIDAndQualityIDPair.html Online documentation}
2210
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/EquipmentIDAndQualityIDPair.html Online documentation}
2159
2211
  */
2160
2212
  export interface EquipmentIDAndQualityIDPair {
2161
2213
  /**
@@ -2169,7 +2221,7 @@ declare module "factorio:runtime" {
2169
2221
  }
2170
2222
  /**
2171
2223
  * Write form of {@link EquipmentIDAndQualityIDPair}, where some properties allow additional values as input compared to the read form.
2172
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/EquipmentIDAndQualityIDPair.html Online documentation}
2224
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/EquipmentIDAndQualityIDPair.html Online documentation}
2173
2225
  */
2174
2226
  export interface EquipmentIDAndQualityIDPairWrite {
2175
2227
  /**
@@ -2216,7 +2268,7 @@ declare module "factorio:runtime" {
2216
2268
  * @example
2217
2269
  * -- Shorthand
2218
2270
  * {{-2, -3}, {5, 8}}
2219
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/BoundingBox.html Online documentation}
2271
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/BoundingBox.html Online documentation}
2220
2272
  */
2221
2273
  export interface BoundingBox {
2222
2274
  readonly left_top: MapPosition
@@ -2226,7 +2278,7 @@ declare module "factorio:runtime" {
2226
2278
  /**
2227
2279
  * Array form of {@link BoundingBox}.
2228
2280
  * @see BoundingBox
2229
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/BoundingBox.html Online documentation}
2281
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/BoundingBox.html Online documentation}
2230
2282
  */
2231
2283
  export type BoundingBoxArray = readonly [MapPosition | MapPositionArray, MapPosition | MapPositionArray]
2232
2284
  export interface BoundingBoxWrite {
@@ -2289,7 +2341,7 @@ declare module "factorio:runtime" {
2289
2341
  * - 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.
2290
2342
  * - `string`: It will be the surface name. E.g. `"nauvis"`.
2291
2343
  * - {@link LuaSurface}: A reference to {@link LuaSurface} may be passed directly.
2292
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/SurfaceIdentification.html Online documentation}
2344
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/SurfaceIdentification.html Online documentation}
2293
2345
  */
2294
2346
  export type SurfaceIdentification = SurfaceIndex | string | LuaSurface
2295
2347
  /**
@@ -2299,7 +2351,7 @@ declare module "factorio:runtime" {
2299
2351
  * - PlayerIndex: The player index.
2300
2352
  * - `string`: The player name.
2301
2353
  * - {@link LuaPlayer}: A reference to {@link LuaPlayer} may be passed directly.
2302
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/PlayerIdentification.html Online documentation}
2354
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/PlayerIdentification.html Online documentation}
2303
2355
  */
2304
2356
  export type PlayerIdentification = PlayerIndex | string | LuaPlayer
2305
2357
  /**
@@ -2308,7 +2360,7 @@ declare module "factorio:runtime" {
2308
2360
  * ## Union members
2309
2361
  * - {@link ForceID}[]: Array of many forces.
2310
2362
  * - {@link ForceID}: A single force.
2311
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/ForceSet.html Online documentation}
2363
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/ForceSet.html Online documentation}
2312
2364
  */
2313
2365
  export type ForceSet = readonly ForceID[] | ForceID
2314
2366
  /**
@@ -2317,7 +2369,7 @@ declare module "factorio:runtime" {
2317
2369
  * ## Union members
2318
2370
  * - {@link LuaDecorativePrototype}: The decorative prototype.
2319
2371
  * - `string`: The prototype name.
2320
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/DecorativeID.html Online documentation}
2372
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/DecorativeID.html Online documentation}
2321
2373
  */
2322
2374
  export type DecorativeID = LuaDecorativePrototype | string
2323
2375
  /**
@@ -2326,7 +2378,7 @@ declare module "factorio:runtime" {
2326
2378
  * ## Union members
2327
2379
  * - {@link LuaAsteroidChunkPrototype}: The asteroid chunk prototype.
2328
2380
  * - `string`: The prototype name.
2329
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/AsteroidChunkID.html Online documentation}
2381
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/AsteroidChunkID.html Online documentation}
2330
2382
  */
2331
2383
  export type AsteroidChunkID = LuaAsteroidChunkPrototype | string
2332
2384
  /**
@@ -2335,7 +2387,7 @@ declare module "factorio:runtime" {
2335
2387
  * ## Union members
2336
2388
  * - {@link LuaSpaceConnectionPrototype}: The space connection prototype.
2337
2389
  * - `string`: The prototype name.
2338
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/SpaceConnectionID.html Online documentation}
2390
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/SpaceConnectionID.html Online documentation}
2339
2391
  */
2340
2392
  export type SpaceConnectionID = LuaSpaceConnectionPrototype | string
2341
2393
  /**
@@ -2344,7 +2396,7 @@ declare module "factorio:runtime" {
2344
2396
  * ## Union members
2345
2397
  * - {@link LuaSpaceLocationPrototype}: The space location prototype.
2346
2398
  * - `string`: The prototype name.
2347
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/SpaceLocationID.html Online documentation}
2399
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/SpaceLocationID.html Online documentation}
2348
2400
  */
2349
2401
  export type SpaceLocationID = LuaSpaceLocationPrototype | string
2350
2402
  /**
@@ -2352,7 +2404,7 @@ declare module "factorio:runtime" {
2352
2404
  *
2353
2405
  * When the LogisticFilter that this is used in has a non-zero `min` value then `comparator` must be `"="` (the default when writing) and `quality` is mandatory.
2354
2406
  * @see SignalFilterWrite
2355
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/SignalFilter.html Online documentation}
2407
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/SignalFilter.html Online documentation}
2356
2408
  */
2357
2409
  export type SignalFilter =
2358
2410
  | {
@@ -2376,7 +2428,7 @@ declare module "factorio:runtime" {
2376
2428
  | string
2377
2429
  /**
2378
2430
  * Write form of {@link SignalFilter}, where some properties allow additional values as input compared to the read form.
2379
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/SignalFilter.html Online documentation}
2431
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/SignalFilter.html Online documentation}
2380
2432
  */
2381
2433
  export type SignalFilterWrite =
2382
2434
  | {
@@ -2400,7 +2452,7 @@ declare module "factorio:runtime" {
2400
2452
  | string
2401
2453
  /**
2402
2454
  * @see LogisticFilterWrite
2403
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/LogisticFilter.html Online documentation}
2455
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/LogisticFilter.html Online documentation}
2404
2456
  */
2405
2457
  export interface LogisticFilter {
2406
2458
  /**
@@ -2430,7 +2482,7 @@ declare module "factorio:runtime" {
2430
2482
  }
2431
2483
  /**
2432
2484
  * Write form of {@link LogisticFilter}, where some properties allow additional values as input compared to the read form.
2433
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/LogisticFilter.html Online documentation}
2485
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/LogisticFilter.html Online documentation}
2434
2486
  */
2435
2487
  export interface LogisticFilterWrite {
2436
2488
  /**
@@ -2506,7 +2558,7 @@ declare module "factorio:runtime" {
2506
2558
  * ## Union members
2507
2559
  * - {@link LuaSurfacePropertyPrototype}: The surface property prototype.
2508
2560
  * - `string`: The prototype name.
2509
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/SurfacePropertyID.html Online documentation}
2561
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/SurfacePropertyID.html Online documentation}
2510
2562
  */
2511
2563
  export type SurfacePropertyID = LuaSurfacePropertyPrototype | string
2512
2564
  /**
@@ -2528,12 +2580,12 @@ declare module "factorio:runtime" {
2528
2580
  * target = {type = "cursor", offset = {6, 7}}
2529
2581
  * @example
2530
2582
  * target = {type = "build-cursor", offset = {3.2, -4.5}}
2531
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/ScriptRenderTarget.html Online documentation}
2583
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/ScriptRenderTarget.html Online documentation}
2532
2584
  */
2533
2585
  export type ScriptRenderTarget = LuaEntity | MapPosition | ScriptRenderTargetTable
2534
2586
  /**
2535
2587
  * Write form of {@link ScriptRenderTarget}, where some properties allow additional values as input compared to the read form.
2536
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/ScriptRenderTarget.html Online documentation}
2588
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/ScriptRenderTarget.html Online documentation}
2537
2589
  */
2538
2590
  export type ScriptRenderTargetWrite = LuaEntity | (MapPosition | MapPositionArray) | ScriptRenderTargetTableWrite
2539
2591
  /**
@@ -2555,7 +2607,7 @@ declare module "factorio:runtime" {
2555
2607
  * {type = "cursor", offset = {6, 7}}
2556
2608
  * @example
2557
2609
  * {type = "build-cursor", offset = {3.2, -4.5}}
2558
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/ScriptRenderTargetTable.html Online documentation}
2610
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/ScriptRenderTargetTable.html Online documentation}
2559
2611
  */
2560
2612
  export interface ScriptRenderTargetTable {
2561
2613
  /**
@@ -2577,7 +2629,7 @@ declare module "factorio:runtime" {
2577
2629
  }
2578
2630
  /**
2579
2631
  * Write form of {@link ScriptRenderTargetTable}, where some properties allow additional values as input compared to the read form.
2580
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/ScriptRenderTargetTable.html Online documentation}
2632
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/ScriptRenderTargetTable.html Online documentation}
2581
2633
  */
2582
2634
  export interface ScriptRenderTargetTableWrite {
2583
2635
  /**
@@ -2616,13 +2668,13 @@ declare module "factorio:runtime" {
2616
2668
  * --These are both full stacks of iron plates (for iron-plate, a full stack is 100 plates)
2617
2669
  * "iron-plate"
2618
2670
  * {name="iron-plate", count=100}
2619
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/ItemStackIdentification.html Online documentation}
2671
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/ItemStackIdentification.html Online documentation}
2620
2672
  */
2621
2673
  export type ItemStackIdentification = string | ItemStackDefinition | LuaItemStack
2622
2674
  /**
2623
2675
  * An item filter may be specified in two ways, either as a string which is a quality prototype name or as a table.
2624
2676
  * @see QualityConditionWrite
2625
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/QualityCondition.html Online documentation}
2677
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/QualityCondition.html Online documentation}
2626
2678
  */
2627
2679
  export type QualityCondition =
2628
2680
  | {
@@ -2638,7 +2690,7 @@ declare module "factorio:runtime" {
2638
2690
  | string
2639
2691
  /**
2640
2692
  * Write form of {@link QualityCondition}, where some properties allow additional values as input compared to the read form.
2641
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/QualityCondition.html Online documentation}
2693
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/QualityCondition.html Online documentation}
2642
2694
  */
2643
2695
  export type QualityConditionWrite =
2644
2696
  | {
@@ -2655,7 +2707,7 @@ declare module "factorio:runtime" {
2655
2707
  /**
2656
2708
  * The destination of a cargo pod.
2657
2709
  * @see CargoDestinationWrite
2658
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/CargoDestination.html Online documentation}
2710
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/CargoDestination.html Online documentation}
2659
2711
  */
2660
2712
  export interface CargoDestination {
2661
2713
  /**
@@ -2693,7 +2745,7 @@ declare module "factorio:runtime" {
2693
2745
  }
2694
2746
  /**
2695
2747
  * Write form of {@link CargoDestination}, where some properties allow additional values as input compared to the read form.
2696
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/CargoDestination.html Online documentation}
2748
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/CargoDestination.html Online documentation}
2697
2749
  */
2698
2750
  export interface CargoDestinationWrite {
2699
2751
  /**
@@ -2747,7 +2799,7 @@ declare module "factorio:runtime" {
2747
2799
  * furthest = { zoom = 1 / 16 },
2748
2800
  * furthest_game_view = { distance = 200, max_distance = 400 }
2749
2801
  * }
2750
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/ZoomLimits.html Online documentation}
2802
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/ZoomLimits.html Online documentation}
2751
2803
  */
2752
2804
  export interface ZoomLimits {
2753
2805
  /**
@@ -2777,7 +2829,7 @@ declare module "factorio:runtime" {
2777
2829
  *
2778
2830
  * -- Method 2: Specify a dynamic zoom level based on the window dimensions.
2779
2831
  * { distance = 200, max_distance = 500 }
2780
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/ZoomSpecification.html Online documentation}
2832
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/ZoomSpecification.html Online documentation}
2781
2833
  */
2782
2834
  export interface ZoomSpecification {
2783
2835
  /**
@@ -2798,7 +2850,7 @@ declare module "factorio:runtime" {
2798
2850
  * - `"game"`: Draw the object in the game world.
2799
2851
  * - `"chart"`: Draw the object on the map.
2800
2852
  * - `"build-cursor"`: Draw the object only when the player holds a buildable item trying to build an entity.
2801
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/ScriptRenderMode.html Online documentation}
2853
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/ScriptRenderMode.html Online documentation}
2802
2854
  */
2803
2855
  export type ScriptRenderMode = "game" | "chart" | "build-cursor"
2804
2856
  /**
@@ -2806,7 +2858,7 @@ declare module "factorio:runtime" {
2806
2858
  * - `"occluder"`: Draw as a regular sprite which occludes light under it if this option is enabled in graphics settings.
2807
2859
  * - `"light"`: Draw as light.
2808
2860
  * - `"glow"`: Draw as both occluder and light at once to make the sprite visible during the day and glow at night.
2809
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/ScriptSpriteLightMode.html Online documentation}
2861
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/ScriptSpriteLightMode.html Online documentation}
2810
2862
  */
2811
2863
  export type ScriptSpriteLightMode = "occluder" | "light" | "glow"
2812
2864
  /**
@@ -2817,7 +2869,7 @@ declare module "factorio:runtime" {
2817
2869
  * - {@link LuaCustomInputPrototype}: Custom input prototype.
2818
2870
  * - {@link defines.events}: Event identifier.
2819
2871
  * - `string`: Name of the event.
2820
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/LuaEventType.html Online documentation}
2872
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/LuaEventType.html Online documentation}
2821
2873
  */
2822
2874
  export type LuaEventType = LuaCustomEventPrototype | LuaCustomInputPrototype | defines.events | string | EventId<any>
2823
2875
  export interface UnlockableID {
@@ -2856,7 +2908,7 @@ declare module "factorio:runtime" {
2856
2908
  * - `"starter-packs-available"`
2857
2909
  * - `"thrusters-available"`
2858
2910
  * - `"capture-robots-available"`
2859
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/UnlockableIDType.html Online documentation}
2911
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/UnlockableIDType.html Online documentation}
2860
2912
  */
2861
2913
  export type UnlockableIDType =
2862
2914
  | "space-location"
@@ -2882,7 +2934,7 @@ declare module "factorio:runtime" {
2882
2934
  * - `"planet"`
2883
2935
  * - `"platforms"`
2884
2936
  * - `"all"`
2885
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/RequestFromLocation.html Online documentation}
2937
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/RequestFromLocation.html Online documentation}
2886
2938
  */
2887
2939
  export type RequestFromLocation = "planet" | "platforms" | "all"
2888
2940
  /**
@@ -2890,13 +2942,13 @@ declare module "factorio:runtime" {
2890
2942
  * - `"never"`
2891
2943
  * - `"has-unit"`
2892
2944
  * - `"always"`
2893
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/TerritoryVisibilityCondition.html Online documentation}
2945
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/TerritoryVisibilityCondition.html Online documentation}
2894
2946
  */
2895
2947
  export type TerritoryVisibilityCondition = "never" | "has-unit" | "always"
2896
2948
  /**
2897
2949
  * 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.
2898
2950
  * @see TilePositionArray
2899
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/TilePosition.html Online documentation}
2951
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/TilePosition.html Online documentation}
2900
2952
  */
2901
2953
  export interface TilePosition {
2902
2954
  readonly x: int32
@@ -2905,14 +2957,14 @@ declare module "factorio:runtime" {
2905
2957
  /**
2906
2958
  * Array form of {@link TilePosition}.
2907
2959
  * @see TilePosition
2908
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/TilePosition.html Online documentation}
2960
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/TilePosition.html Online documentation}
2909
2961
  */
2910
2962
  export type TilePositionArray = readonly [int32, int32]
2911
2963
  /**
2912
2964
  * The smooth orientation. It is a `float` in the range `[0, 1)` that covers a full circle, starting at the top and going clockwise.
2913
2965
  *
2914
2966
  * This means a value of `0` indicates "north", a value of `0.5` indicates "south". For example then, a value of `0.625` would indicate "south-west", and a value of `0.875` would indicate "north-west".
2915
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/RealOrientation.html Online documentation}
2967
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/RealOrientation.html Online documentation}
2916
2968
  */
2917
2969
  export type RealOrientation = float
2918
2970
  export interface MapLocation {
@@ -2920,7 +2972,7 @@ declare module "factorio:runtime" {
2920
2972
  readonly direction: defines.direction
2921
2973
  }
2922
2974
  /**
2923
- * Coordinates on a surface, for example of an entity. MapPositions may be specified either as a dictionary with `x`, `y` as keys, or simply as an array with two elements.
2975
+ * Coordinates on a surface, for example of an entity. MapPositions may be specified either as a dictionary with `x`, `y` as keys, or simply as an array with two elements. When reading this is always a dictionary.
2924
2976
  *
2925
2977
  * The coordinates are saved as a fixed-size 32 bit integer, with 8 bits reserved for decimal precision, meaning the smallest value step is `1/2^8 = 0.00390625` tiles.
2926
2978
  * @see MapPositionArray
@@ -2931,7 +2983,7 @@ declare module "factorio:runtime" {
2931
2983
  * @example
2932
2984
  * -- Shorthand
2933
2985
  * {1.625, 2.375}
2934
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/MapPosition.html Online documentation}
2986
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/MapPosition.html Online documentation}
2935
2987
  */
2936
2988
  export interface MapPosition {
2937
2989
  readonly x: double
@@ -2940,7 +2992,7 @@ declare module "factorio:runtime" {
2940
2992
  /**
2941
2993
  * Array form of {@link MapPosition}.
2942
2994
  * @see MapPosition
2943
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/MapPosition.html Online documentation}
2995
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/MapPosition.html Online documentation}
2944
2996
  */
2945
2997
  export type MapPositionArray = readonly [double, double]
2946
2998
  /**
@@ -2953,7 +3005,7 @@ declare module "factorio:runtime" {
2953
3005
  * red2 = {r = 0.5, a = 0.5} -- Same color as red1
2954
3006
  * black = {} -- All channels omitted: black
2955
3007
  * red1_short = {0.5, 0, 0, 0.5} -- Same color as red1 in short-hand notation
2956
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/Color.html Online documentation}
3008
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/Color.html Online documentation}
2957
3009
  */
2958
3010
  export interface Color {
2959
3011
  readonly r?: float
@@ -2964,7 +3016,7 @@ declare module "factorio:runtime" {
2964
3016
  /**
2965
3017
  * Array form of {@link Color}.
2966
3018
  * @see Color
2967
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/Color.html Online documentation}
3019
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/Color.html Online documentation}
2968
3020
  */
2969
3021
  export type ColorArray = readonly [r: double, g: double, b: double, a?: double]
2970
3022
  /**
@@ -2972,7 +3024,7 @@ declare module "factorio:runtime" {
2972
3024
  * - `"center-to-center"`
2973
3025
  * - `"bounding-box-to-bounding-box"`
2974
3026
  * - `"center-to-bounding-box"`
2975
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/RangeMode.html Online documentation}
3027
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/RangeMode.html Online documentation}
2976
3028
  */
2977
3029
  export type RangeMode = "center-to-center" | "bounding-box-to-bounding-box" | "center-to-bounding-box"
2978
3030
  export interface BlueprintRollingStockConnection {
@@ -3240,7 +3292,7 @@ declare module "factorio:runtime" {
3240
3292
  export interface CargoLandingPadBlueprintEntityWrite extends BaseBlueprintEntityWrite {
3241
3293
  readonly bar?: uint32
3242
3294
  readonly request_filters: BlueprintLogisticSectionsWrite
3243
- readonly control_behavior?: CargoLandingPadBlueprintControlBehavior
3295
+ readonly control_behavior?: CargoLandingPadBlueprintControlBehaviorWrite
3244
3296
  }
3245
3297
  /**
3246
3298
  * `"cargo-wagon"` variant of {@link BlueprintEntity}.
@@ -3285,7 +3337,7 @@ declare module "factorio:runtime" {
3285
3337
  export interface ContainerBlueprintEntityWrite extends BaseBlueprintEntityWrite {
3286
3338
  readonly filters?: readonly BlueprintItemFilterWrite[]
3287
3339
  readonly bar?: ItemStackIndex
3288
- readonly control_behavior?: ContainerBlueprintControlBehavior
3340
+ readonly control_behavior?: ContainerBlueprintControlBehaviorWrite
3289
3341
  }
3290
3342
  /**
3291
3343
  * `"decider-combinator"` variant of {@link BlueprintEntity}.
@@ -3733,6 +3785,9 @@ declare module "factorio:runtime" {
3733
3785
  export interface ProxyContainerBlueprintEntity extends BaseBlueprintEntity {
3734
3786
  readonly control_behavior?: ProxyContainerBlueprintControlBehavior
3735
3787
  }
3788
+ export interface ProxyContainerBlueprintEntityWrite extends BaseBlueprintEntityWrite {
3789
+ readonly control_behavior?: ProxyContainerBlueprintControlBehaviorWrite
3790
+ }
3736
3791
  /**
3737
3792
  * `"pump"` variant of {@link BlueprintEntity}.
3738
3793
  */
@@ -3817,6 +3872,13 @@ declare module "factorio:runtime" {
3817
3872
  readonly launch_to_orbit_automatically?: boolean
3818
3873
  readonly control_behavior?: RocketSiloBlueprintControlBehavior
3819
3874
  }
3875
+ export interface RocketSiloBlueprintEntityWrite extends BaseBlueprintEntityWrite {
3876
+ readonly recipe?: string
3877
+ readonly recipe_quality?: string
3878
+ readonly use_transitional_requests?: boolean
3879
+ readonly launch_to_orbit_automatically?: boolean
3880
+ readonly control_behavior?: RocketSiloBlueprintControlBehaviorWrite
3881
+ }
3820
3882
  /**
3821
3883
  * `"selector-combinator"` variant of {@link BlueprintEntity}.
3822
3884
  */
@@ -4030,7 +4092,7 @@ declare module "factorio:runtime" {
4030
4092
  * - `"underground-belt"`: {@link UndergroundBeltBlueprintEntity}
4031
4093
  * - `"valve"`: {@link ValveBlueprintEntity}
4032
4094
  * - `"wall"`: {@link WallBlueprintEntity}
4033
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/BlueprintEntity.html Online documentation}
4095
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/BlueprintEntity.html Online documentation}
4034
4096
  */
4035
4097
  export type BlueprintEntity =
4036
4098
  | AccumulatorBlueprintEntity
@@ -4097,7 +4159,7 @@ declare module "factorio:runtime" {
4097
4159
  | WallBlueprintEntity
4098
4160
  /**
4099
4161
  * Write form of {@link BlueprintEntity}, where some properties allow additional values as input compared to the read form.
4100
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/BlueprintEntity.html Online documentation}
4162
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/BlueprintEntity.html Online documentation}
4101
4163
  */
4102
4164
  export type BlueprintEntityWrite =
4103
4165
  | AccumulatorBlueprintEntityWrite
@@ -4143,14 +4205,14 @@ declare module "factorio:runtime" {
4143
4205
  | PipeToGroundBlueprintEntityWrite
4144
4206
  | PowerSwitchBlueprintEntityWrite
4145
4207
  | ProgrammableSpeakerBlueprintEntityWrite
4146
- | ProxyContainerBlueprintEntity
4208
+ | ProxyContainerBlueprintEntityWrite
4147
4209
  | PumpBlueprintEntityWrite
4148
4210
  | RadarBlueprintEntityWrite
4149
4211
  | RailChainSignalBlueprintEntityWrite
4150
4212
  | RailSignalBlueprintEntityWrite
4151
4213
  | ReactorBlueprintEntityWrite
4152
4214
  | RoboportBlueprintEntityWrite
4153
- | RocketSiloBlueprintEntity
4215
+ | RocketSiloBlueprintEntityWrite
4154
4216
  | SelectorCombinatorBlueprintEntityWrite
4155
4217
  | SpacePlatformHubBlueprintEntityWrite
4156
4218
  | SplitterBlueprintEntityWrite
@@ -4172,7 +4234,7 @@ declare module "factorio:runtime" {
4172
4234
  * - `target_entity_number`
4173
4235
  *
4174
4236
  * - `target_wire_connector_id`
4175
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/BlueprintWire.html Online documentation}
4237
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/BlueprintWire.html Online documentation}
4176
4238
  */
4177
4239
  export type BlueprintWire = [
4178
4240
  source_entity_number: uint32,
@@ -4236,6 +4298,10 @@ declare module "factorio:runtime" {
4236
4298
  * The schedule of the entity, if it has one. Only relevant for locomotives. Not present for entities the game can't restore, like trees or rocks.
4237
4299
  */
4238
4300
  readonly schedule?: BlueprintSchedule
4301
+ /**
4302
+ * The equipment for the equipment grid if any.
4303
+ */
4304
+ readonly grid?: UndoRedoEquipment[]
4239
4305
  }
4240
4306
  /**
4241
4307
  * `"built-tile"` variant of {@link UndoRedoAction}.
@@ -4373,7 +4439,7 @@ declare module "factorio:runtime" {
4373
4439
  * - `"wire-removed"`: {@link WireRemovedUndoRedoAction}
4374
4440
  * - `"rotated-entity"`: {@link RotatedEntityUndoRedoAction}
4375
4441
  * - `"copy-entity-settings"`: {@link CopyEntitySettingsUndoRedoAction}
4376
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/UndoRedoAction.html Online documentation}
4442
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/UndoRedoAction.html Online documentation}
4377
4443
  */
4378
4444
  export type UndoRedoAction =
4379
4445
  | BuiltEntityUndoRedoAction
@@ -4590,7 +4656,7 @@ declare module "factorio:runtime" {
4590
4656
  * - `"play-previous-track"`
4591
4657
  * - `"pause-resume-music"`
4592
4658
  * - `""`: Indicates no linked game control.
4593
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/LinkedGameControl.html Online documentation}
4659
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/LinkedGameControl.html Online documentation}
4594
4660
  */
4595
4661
  export type LinkedGameControl =
4596
4662
  | "move-up"
@@ -4798,7 +4864,7 @@ declare module "factorio:runtime" {
4798
4864
  * - {@link LuaSpaceLocationPrototype}
4799
4865
  * - {@link LuaTilePrototype}
4800
4866
  * - {@link LuaVirtualSignalPrototype}
4801
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/PipetteID.html Online documentation}
4867
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/PipetteID.html Online documentation}
4802
4868
  */
4803
4869
  export type PipetteID =
4804
4870
  | LuaEntityPrototype
@@ -4818,7 +4884,7 @@ declare module "factorio:runtime" {
4818
4884
  * - `"not-friend"`: Forces which are not friends pass.
4819
4885
  * - `"same"`: The same force pass.
4820
4886
  * - `"not-same"`: The non-same forces pass.
4821
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/ForceCondition.html Online documentation}
4887
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/ForceCondition.html Online documentation}
4822
4888
  */
4823
4889
  export type ForceCondition = "all" | "enemy" | "ally" | "friend" | "not-friend" | "same" | "not-same"
4824
4890
  /**
@@ -4826,7 +4892,7 @@ declare module "factorio:runtime" {
4826
4892
  * - `"input-output"`
4827
4893
  * - `"input"`
4828
4894
  * - `"output"`
4829
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/FluidFlowDirection.html Online documentation}
4895
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/FluidFlowDirection.html Online documentation}
4830
4896
  */
4831
4897
  export type FluidFlowDirection = "input-output" | "input" | "output"
4832
4898
  /**
@@ -4834,7 +4900,7 @@ declare module "factorio:runtime" {
4834
4900
  * - `"normal"`: 2 connections are required to be adjacent tiles next to each other on their respective directions.
4835
4901
  * - `"underground"`: Allows distant connection up to a certain limit. Those connections may be blocked by tiles.
4836
4902
  * - `"linked"`: For mods, connections between entities have to be explicitly requested by script.
4837
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/PipeConnectionType.html Online documentation}
4903
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/PipeConnectionType.html Online documentation}
4838
4904
  */
4839
4905
  export type PipeConnectionType = "normal" | "underground" | "linked"
4840
4906
  export interface PipeConnectionDefinition {
@@ -4866,7 +4932,7 @@ declare module "factorio:runtime" {
4866
4932
  }
4867
4933
  /**
4868
4934
  * A fluid amount. The amount is stored as a fixed-size signed 64 bit integer, with 24 bits reserved for decimal precision, meaning the smallest value step is `1/2^24`.
4869
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/FluidAmount.html Online documentation}
4935
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/FluidAmount.html Online documentation}
4870
4936
  */
4871
4937
  export type FluidAmount = double
4872
4938
  /**
@@ -4877,7 +4943,7 @@ declare module "factorio:runtime" {
4877
4943
  * - `"input"`
4878
4944
  * - `"input-output"`
4879
4945
  * - `"output"`
4880
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/ProductionType.html Online documentation}
4946
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/ProductionType.html Online documentation}
4881
4947
  */
4882
4948
  export type ProductionType = "none" | "input" | "input-output" | "output"
4883
4949
  export interface SurfaceCondition {
@@ -4889,7 +4955,7 @@ declare module "factorio:runtime" {
4889
4955
  * A set of flags. Active flags are in the dictionary as `true`, while inactive flags aren't present at all.
4890
4956
  *
4891
4957
  * By default, none of these flags are set.
4892
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/ItemPrototypeFlags.html Online documentation}
4958
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/ItemPrototypeFlags.html Online documentation}
4893
4959
  */
4894
4960
  export type ItemPrototypeFlags = {
4895
4961
  readonly [T in ItemPrototypeFlag]?: true
@@ -4913,7 +4979,8 @@ declare module "factorio:runtime" {
4913
4979
  * - `"ignore-spoil-time-modifier"`: Controls whether the spoil time ignores the spoil time modifier in the {@link DifficultySettings}.
4914
4980
  * - `"hide-health-bar-in-world"`
4915
4981
  * - `"hide-spoilage-bar-in-world"`
4916
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/ItemPrototypeFlag.html Online documentation}
4982
+ * - `"no-item-on-ground-merging"`
4983
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/ItemPrototypeFlag.html Online documentation}
4917
4984
  */
4918
4985
  export type ItemPrototypeFlag =
4919
4986
  | "draw-logistic-overlay"
@@ -4931,9 +4998,10 @@ declare module "factorio:runtime" {
4931
4998
  | "ignore-spoil-time-modifier"
4932
4999
  | "hide-health-bar-in-world"
4933
5000
  | "hide-spoilage-bar-in-world"
5001
+ | "no-item-on-ground-merging"
4934
5002
  /**
4935
5003
  * @see UpgradeMapperSourceWrite
4936
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/UpgradeMapperSource.html Online documentation}
5004
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/UpgradeMapperSource.html Online documentation}
4937
5005
  */
4938
5006
  export interface UpgradeMapperSource {
4939
5007
  readonly type: "item" | "entity"
@@ -4956,7 +5024,7 @@ declare module "factorio:runtime" {
4956
5024
  }
4957
5025
  /**
4958
5026
  * Write form of {@link UpgradeMapperSource}, where some properties allow additional values as input compared to the read form.
4959
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/UpgradeMapperSource.html Online documentation}
5027
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/UpgradeMapperSource.html Online documentation}
4960
5028
  */
4961
5029
  export interface UpgradeMapperSourceWrite {
4962
5030
  readonly type: "item" | "entity"
@@ -5046,7 +5114,7 @@ declare module "factorio:runtime" {
5046
5114
  * - `"controllable-remove"`
5047
5115
  * - `"entity-ghost"`: Selects entities that are `entity-ghost`s.
5048
5116
  * - `"tile-ghost"`: Selects entities that are `tile-ghost`s.
5049
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/SelectionModeFlags.html Online documentation}
5117
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/SelectionModeFlags.html Online documentation}
5050
5118
  */
5051
5119
  export interface SelectionModeFlags {
5052
5120
  /**
@@ -5203,7 +5271,7 @@ declare module "factorio:runtime" {
5203
5271
  * - `"use-on-self"`: {@link UseOnSelfCapsuleAction}
5204
5272
  * - `"artillery-remote"`: {@link ArtilleryRemoteCapsuleAction}
5205
5273
  * - `"destroy-cliffs"`: {@link DestroyCliffsCapsuleAction}
5206
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/CapsuleAction.html Online documentation}
5274
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/CapsuleAction.html Online documentation}
5207
5275
  */
5208
5276
  export type CapsuleAction =
5209
5277
  | ThrowCapsuleAction
@@ -5216,7 +5284,7 @@ declare module "factorio:runtime" {
5216
5284
  * - `"none"`
5217
5285
  * - `"whitelist"`
5218
5286
  * - `"blacklist"`
5219
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/PrototypeFilterMode.html Online documentation}
5287
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/PrototypeFilterMode.html Online documentation}
5220
5288
  */
5221
5289
  export type PrototypeFilterMode = "none" | "whitelist" | "blacklist"
5222
5290
  export interface SpoilToTriggerResult {
@@ -5255,7 +5323,7 @@ declare module "factorio:runtime" {
5255
5323
  * - `"entity"`: Fires at an entity.
5256
5324
  * - `"position"`: Fires directly at a position.
5257
5325
  * - `"direction"`: Fires in a direction.
5258
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/TargetType.html Online documentation}
5326
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/TargetType.html Online documentation}
5259
5327
  */
5260
5328
  export type TargetType = "entity" | "position" | "direction"
5261
5329
  export interface AmmoType {
@@ -5279,7 +5347,7 @@ declare module "factorio:runtime" {
5279
5347
  }
5280
5348
  /**
5281
5349
  * @see BlueprintItemFilterWrite
5282
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/BlueprintItemFilter.html Online documentation}
5350
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/BlueprintItemFilter.html Online documentation}
5283
5351
  */
5284
5352
  export interface BlueprintItemFilter {
5285
5353
  readonly index: uint32
@@ -5298,7 +5366,7 @@ declare module "factorio:runtime" {
5298
5366
  }
5299
5367
  /**
5300
5368
  * Write form of {@link BlueprintItemFilter}, where some properties allow additional values as input compared to the read form.
5301
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/BlueprintItemFilter.html Online documentation}
5369
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/BlueprintItemFilter.html Online documentation}
5302
5370
  */
5303
5371
  export interface BlueprintItemFilterWrite {
5304
5372
  readonly index: uint32
@@ -5317,7 +5385,7 @@ declare module "factorio:runtime" {
5317
5385
  }
5318
5386
  /**
5319
5387
  * @see BlueprintInventoryWithFiltersWrite
5320
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/BlueprintInventoryWithFilters.html Online documentation}
5388
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/BlueprintInventoryWithFilters.html Online documentation}
5321
5389
  */
5322
5390
  export interface BlueprintInventoryWithFilters {
5323
5391
  readonly bar?: ItemStackIndex
@@ -5325,7 +5393,7 @@ declare module "factorio:runtime" {
5325
5393
  }
5326
5394
  /**
5327
5395
  * Write form of {@link BlueprintInventoryWithFilters}, where some properties allow additional values as input compared to the read form.
5328
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/BlueprintInventoryWithFilters.html Online documentation}
5396
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/BlueprintInventoryWithFilters.html Online documentation}
5329
5397
  */
5330
5398
  export interface BlueprintInventoryWithFiltersWrite {
5331
5399
  readonly bar?: ItemStackIndex
@@ -5367,21 +5435,76 @@ declare module "factorio:runtime" {
5367
5435
  */
5368
5436
  readonly mining_trigger?: TriggerItem[]
5369
5437
  }
5438
+ export interface UndoRedoEquipmentSettings {
5439
+ /**
5440
+ * Only used for equipment of type `"electric-energy-interface-equipment"`.
5441
+ */
5442
+ readonly power_production?: double
5443
+ /**
5444
+ * Only used for equipment of type `"electric-energy-interface-equipment"`.
5445
+ */
5446
+ readonly power_usage?: double
5447
+ /**
5448
+ * Only used for equipment of type `"electric-energy-interface-equipment"`.
5449
+ */
5450
+ readonly buffer_size?: double
5451
+ /**
5452
+ * Only used for equipment of type `"generator-equipment"` that has a burner energy source.
5453
+ */
5454
+ readonly burner_fuel_inventory?: BlueprintInventoryWithFilters
5455
+ }
5456
+ export interface UndoRedoEquipment {
5457
+ readonly id: LuaEquipmentPrototype
5458
+ readonly position: EquipmentPosition
5459
+ readonly settings: UndoRedoEquipmentSettings
5460
+ }
5370
5461
  /**
5371
5462
  * @see BlueprintEquipmentWrite
5372
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/BlueprintEquipment.html Online documentation}
5463
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/BlueprintEquipment.html Online documentation}
5373
5464
  */
5374
5465
  export interface BlueprintEquipment {
5375
5466
  readonly equipment: LuaEquipmentPrototype
5376
5467
  readonly position: EquipmentPosition
5468
+ /**
5469
+ * Only used for equipment of type `"electric-energy-interface-equipment"`.
5470
+ */
5471
+ readonly power_production?: double
5472
+ /**
5473
+ * Only used for equipment of type `"electric-energy-interface-equipment"`.
5474
+ */
5475
+ readonly power_usage?: double
5476
+ /**
5477
+ * Only used for equipment of type `"electric-energy-interface-equipment"`.
5478
+ */
5479
+ readonly buffer_size?: double
5480
+ /**
5481
+ * Only used for equipment of type `"generator-equipment"` that has a burner energy source.
5482
+ */
5483
+ readonly burner_fuel_inventory?: BlueprintInventoryWithFilters
5377
5484
  }
5378
5485
  /**
5379
5486
  * Write form of {@link BlueprintEquipment}, where some properties allow additional values as input compared to the read form.
5380
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/BlueprintEquipment.html Online documentation}
5487
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/BlueprintEquipment.html Online documentation}
5381
5488
  */
5382
5489
  export interface BlueprintEquipmentWrite {
5383
5490
  readonly equipment: EquipmentWithQualityID
5384
5491
  readonly position: EquipmentPosition | EquipmentPositionArray
5492
+ /**
5493
+ * Only used for equipment of type `"electric-energy-interface-equipment"`.
5494
+ */
5495
+ readonly power_production?: double
5496
+ /**
5497
+ * Only used for equipment of type `"electric-energy-interface-equipment"`.
5498
+ */
5499
+ readonly power_usage?: double
5500
+ /**
5501
+ * Only used for equipment of type `"electric-energy-interface-equipment"`.
5502
+ */
5503
+ readonly buffer_size?: double
5504
+ /**
5505
+ * Only used for equipment of type `"generator-equipment"` that has a burner energy source.
5506
+ */
5507
+ readonly burner_fuel_inventory?: BlueprintInventoryWithFiltersWrite
5385
5508
  }
5386
5509
  /**
5387
5510
  * Position inside an equipment grid. This uses the same format as {@link MapPosition}, meaning it can be specified either with or without explicit keys.
@@ -5393,7 +5516,7 @@ declare module "factorio:runtime" {
5393
5516
  * @example
5394
5517
  * -- Shorthand
5395
5518
  * {1, 2}
5396
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/EquipmentPosition.html Online documentation}
5519
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/EquipmentPosition.html Online documentation}
5397
5520
  */
5398
5521
  export interface EquipmentPosition {
5399
5522
  readonly x: int32
@@ -5402,12 +5525,88 @@ declare module "factorio:runtime" {
5402
5525
  /**
5403
5526
  * Array form of {@link EquipmentPosition}.
5404
5527
  * @see EquipmentPosition
5405
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/EquipmentPosition.html Online documentation}
5528
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/EquipmentPosition.html Online documentation}
5406
5529
  */
5407
5530
  export type EquipmentPositionArray = readonly [int32, int32]
5531
+ /**
5532
+ * @see MapEditorSettingWrite
5533
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/MapEditorSetting.html Online documentation}
5534
+ */
5535
+ export interface MapEditorSetting {
5536
+ readonly position?: MapPosition
5537
+ readonly inventory_size: ItemStackIndex
5538
+ readonly gun_inventory_size: ItemStackIndex
5539
+ /**
5540
+ * Must be >= 0.34375.
5541
+ */
5542
+ readonly movement_speed: double
5543
+ /**
5544
+ * Must be >= 0.34375.
5545
+ */
5546
+ readonly base_movement_speed: double
5547
+ readonly item_pickup_distance: double
5548
+ readonly loot_pickup_distance: double
5549
+ readonly mining_speed: double
5550
+ readonly enable_flash_light: boolean
5551
+ readonly adjust_speed_based_off_zoom: boolean
5552
+ readonly render_as_day: boolean
5553
+ readonly instant_blueprint_building: boolean
5554
+ readonly instant_deconstruction: boolean
5555
+ readonly instant_upgrading: boolean
5556
+ readonly instant_rail_planner: boolean
5557
+ readonly show_status_icons: boolean
5558
+ readonly show_hidden_entities: boolean
5559
+ readonly show_entity_tags: boolean
5560
+ readonly show_entity_health_bars: boolean
5561
+ readonly show_additional_entity_info_gui: boolean
5562
+ readonly generate_neighbor_chunks: boolean
5563
+ readonly fill_built_entity_energy_buffers: boolean
5564
+ readonly show_character_tab_in_controller_gui: boolean
5565
+ readonly show_infinity_filters_in_controller_gui: boolean
5566
+ readonly placed_corpses_never_expire: boolean
5567
+ readonly ignore_tile_conditions: boolean
5568
+ }
5569
+ /**
5570
+ * Write form of {@link MapEditorSetting}, where some properties allow additional values as input compared to the read form.
5571
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/MapEditorSetting.html Online documentation}
5572
+ */
5573
+ export interface MapEditorSettingWrite {
5574
+ readonly position?: MapPosition | MapPositionArray
5575
+ readonly inventory_size: ItemStackIndex
5576
+ readonly gun_inventory_size: ItemStackIndex
5577
+ /**
5578
+ * Must be >= 0.34375.
5579
+ */
5580
+ readonly movement_speed: double
5581
+ /**
5582
+ * Must be >= 0.34375.
5583
+ */
5584
+ readonly base_movement_speed: double
5585
+ readonly item_pickup_distance: double
5586
+ readonly loot_pickup_distance: double
5587
+ readonly mining_speed: double
5588
+ readonly enable_flash_light: boolean
5589
+ readonly adjust_speed_based_off_zoom: boolean
5590
+ readonly render_as_day: boolean
5591
+ readonly instant_blueprint_building: boolean
5592
+ readonly instant_deconstruction: boolean
5593
+ readonly instant_upgrading: boolean
5594
+ readonly instant_rail_planner: boolean
5595
+ readonly show_status_icons: boolean
5596
+ readonly show_hidden_entities: boolean
5597
+ readonly show_entity_tags: boolean
5598
+ readonly show_entity_health_bars: boolean
5599
+ readonly show_additional_entity_info_gui: boolean
5600
+ readonly generate_neighbor_chunks: boolean
5601
+ readonly fill_built_entity_energy_buffers: boolean
5602
+ readonly show_character_tab_in_controller_gui: boolean
5603
+ readonly show_infinity_filters_in_controller_gui: boolean
5604
+ readonly placed_corpses_never_expire: boolean
5605
+ readonly ignore_tile_conditions: boolean
5606
+ }
5408
5607
  /**
5409
5608
  * An actual signal transmitted by the network.
5410
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/Signal.html Online documentation}
5609
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/Signal.html Online documentation}
5411
5610
  */
5412
5611
  export interface Signal {
5413
5612
  /**
@@ -5421,7 +5620,7 @@ declare module "factorio:runtime" {
5421
5620
  }
5422
5621
  /**
5423
5622
  * @see DisplayPanelMessageDefinitionWrite
5424
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/DisplayPanelMessageDefinition.html Online documentation}
5623
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/DisplayPanelMessageDefinition.html Online documentation}
5425
5624
  */
5426
5625
  export interface DisplayPanelMessageDefinition {
5427
5626
  /**
@@ -5439,7 +5638,7 @@ declare module "factorio:runtime" {
5439
5638
  }
5440
5639
  /**
5441
5640
  * Write form of {@link DisplayPanelMessageDefinition}, where some properties allow additional values as input compared to the read form.
5442
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/DisplayPanelMessageDefinition.html Online documentation}
5641
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/DisplayPanelMessageDefinition.html Online documentation}
5443
5642
  */
5444
5643
  export interface DisplayPanelMessageDefinitionWrite {
5445
5644
  /**
@@ -5467,7 +5666,7 @@ declare module "factorio:runtime" {
5467
5666
  }
5468
5667
  /**
5469
5668
  * @see CircuitConditionWrite
5470
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/CircuitCondition.html Online documentation}
5669
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/CircuitCondition.html Online documentation}
5471
5670
  */
5472
5671
  export interface CircuitCondition {
5473
5672
  /**
@@ -5489,7 +5688,7 @@ declare module "factorio:runtime" {
5489
5688
  }
5490
5689
  /**
5491
5690
  * Write form of {@link CircuitCondition}, where some properties allow additional values as input compared to the read form.
5492
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/CircuitCondition.html Online documentation}
5691
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/CircuitCondition.html Online documentation}
5493
5692
  */
5494
5693
  export interface CircuitConditionWrite {
5495
5694
  /**
@@ -5511,7 +5710,7 @@ declare module "factorio:runtime" {
5511
5710
  }
5512
5711
  /**
5513
5712
  * @see SignalIDWrite
5514
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/SignalID.html Online documentation}
5713
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/SignalID.html Online documentation}
5515
5714
  */
5516
5715
  export interface SignalID {
5517
5716
  /**
@@ -5529,7 +5728,7 @@ declare module "factorio:runtime" {
5529
5728
  }
5530
5729
  /**
5531
5730
  * Write form of {@link SignalID}, where some properties allow additional values as input compared to the read form.
5532
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/SignalID.html Online documentation}
5731
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/SignalID.html Online documentation}
5533
5732
  */
5534
5733
  export interface SignalIDWrite {
5535
5734
  /**
@@ -5565,13 +5764,13 @@ declare module "factorio:runtime" {
5565
5764
  * - `"space-location"`
5566
5765
  * - `"asteroid-chunk"`
5567
5766
  * - `"quality"`
5568
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/SignalIDType.html Online documentation}
5767
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/SignalIDType.html Online documentation}
5569
5768
  */
5570
5769
  export type SignalIDType =
5571
5770
  "item" | "fluid" | "virtual" | "entity" | "recipe" | "space-location" | "asteroid-chunk" | "quality"
5572
5771
  /**
5573
5772
  * @see DeciderCombinatorParametersWrite
5574
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/DeciderCombinatorParameters.html Online documentation}
5773
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/DeciderCombinatorParameters.html Online documentation}
5575
5774
  */
5576
5775
  export interface DeciderCombinatorParameters {
5577
5776
  /**
@@ -5589,7 +5788,7 @@ declare module "factorio:runtime" {
5589
5788
  }
5590
5789
  /**
5591
5790
  * Write form of {@link DeciderCombinatorParameters}, where some properties allow additional values as input compared to the read form.
5592
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/DeciderCombinatorParameters.html Online documentation}
5791
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/DeciderCombinatorParameters.html Online documentation}
5593
5792
  */
5594
5793
  export interface DeciderCombinatorParametersWrite {
5595
5794
  /**
@@ -5607,7 +5806,7 @@ declare module "factorio:runtime" {
5607
5806
  }
5608
5807
  /**
5609
5808
  * @see DeciderCombinatorConditionWrite
5610
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/DeciderCombinatorCondition.html Online documentation}
5809
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/DeciderCombinatorCondition.html Online documentation}
5611
5810
  */
5612
5811
  export interface DeciderCombinatorCondition {
5613
5812
  /**
@@ -5641,7 +5840,7 @@ declare module "factorio:runtime" {
5641
5840
  }
5642
5841
  /**
5643
5842
  * Write form of {@link DeciderCombinatorCondition}, where some properties allow additional values as input compared to the read form.
5644
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/DeciderCombinatorCondition.html Online documentation}
5843
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/DeciderCombinatorCondition.html Online documentation}
5645
5844
  */
5646
5845
  export interface DeciderCombinatorConditionWrite {
5647
5846
  /**
@@ -5675,7 +5874,7 @@ declare module "factorio:runtime" {
5675
5874
  }
5676
5875
  /**
5677
5876
  * @see DeciderCombinatorOutputWrite
5678
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/DeciderCombinatorOutput.html Online documentation}
5877
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/DeciderCombinatorOutput.html Online documentation}
5679
5878
  */
5680
5879
  export interface DeciderCombinatorOutput {
5681
5880
  /**
@@ -5697,7 +5896,7 @@ declare module "factorio:runtime" {
5697
5896
  }
5698
5897
  /**
5699
5898
  * Write form of {@link DeciderCombinatorOutput}, where some properties allow additional values as input compared to the read form.
5700
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/DeciderCombinatorOutput.html Online documentation}
5899
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/DeciderCombinatorOutput.html Online documentation}
5701
5900
  */
5702
5901
  export interface DeciderCombinatorOutputWrite {
5703
5902
  /**
@@ -5719,7 +5918,7 @@ declare module "factorio:runtime" {
5719
5918
  }
5720
5919
  /**
5721
5920
  * @see ArithmeticCombinatorParametersWrite
5722
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/ArithmeticCombinatorParameters.html Online documentation}
5921
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/ArithmeticCombinatorParameters.html Online documentation}
5723
5922
  */
5724
5923
  export interface ArithmeticCombinatorParameters {
5725
5924
  /**
@@ -5757,7 +5956,7 @@ declare module "factorio:runtime" {
5757
5956
  }
5758
5957
  /**
5759
5958
  * Write form of {@link ArithmeticCombinatorParameters}, where some properties allow additional values as input compared to the read form.
5760
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/ArithmeticCombinatorParameters.html Online documentation}
5959
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/ArithmeticCombinatorParameters.html Online documentation}
5761
5960
  */
5762
5961
  export interface ArithmeticCombinatorParametersWrite {
5763
5962
  /**
@@ -5806,7 +6005,7 @@ declare module "factorio:runtime" {
5806
6005
  * - `"AND"`
5807
6006
  * - `"OR"`
5808
6007
  * - `"XOR"`
5809
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/ArithmeticCombinatorParameterOperation.html Online documentation}
6008
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/ArithmeticCombinatorParameterOperation.html Online documentation}
5810
6009
  */
5811
6010
  export type ArithmeticCombinatorParameterOperation =
5812
6011
  "*" | "/" | "+" | "-" | "%" | "^" | "<<" | ">>" | "AND" | "OR" | "XOR"
@@ -5833,6 +6032,10 @@ declare module "factorio:runtime" {
5833
6032
  * The signal index to use if not using a specific `index_signal`. Defaults to `0`.
5834
6033
  */
5835
6034
  readonly index_constant?: int32
6035
+ /**
6036
+ * Defaults to `"="`.
6037
+ */
6038
+ readonly index_comparator?: ComparatorStringRead
5836
6039
  }
5837
6040
  export interface SelectSelectorCombinatorParametersWrite extends BaseSelectorCombinatorParameters {
5838
6041
  readonly operation: "select"
@@ -5848,6 +6051,10 @@ declare module "factorio:runtime" {
5848
6051
  * The signal index to use if not using a specific `index_signal`. Defaults to `0`.
5849
6052
  */
5850
6053
  readonly index_constant?: int32
6054
+ /**
6055
+ * Defaults to `"="`.
6056
+ */
6057
+ readonly index_comparator?: ComparatorString
5851
6058
  }
5852
6059
  /**
5853
6060
  * `"count"` variant of {@link SelectorCombinatorParameters}.
@@ -5949,6 +6156,16 @@ declare module "factorio:runtime" {
5949
6156
  */
5950
6157
  readonly day_length_signal?: SignalIDWrite
5951
6158
  }
6159
+ /**
6160
+ * `"quality-select"` variant of {@link SelectorCombinatorParameters}.
6161
+ */
6162
+ export interface QualitySelectSelectorCombinatorParameters extends BaseSelectorCombinatorParameters {
6163
+ readonly operation: "quality-select"
6164
+ /**
6165
+ * Defaults to `true`.
6166
+ */
6167
+ readonly select_highest_quality?: boolean
6168
+ }
5952
6169
  /**
5953
6170
  * Variants of {@link SelectorCombinatorParameters} with no additional attributes.
5954
6171
  */
@@ -5963,7 +6180,8 @@ declare module "factorio:runtime" {
5963
6180
  * - `"quality-filter"`: {@link QualityFilterSelectorCombinatorParameters}
5964
6181
  * - `"quality-transfer"`: {@link QualityTransferSelectorCombinatorParameters}
5965
6182
  * - `"time"`: {@link TimeSelectorCombinatorParameters}
5966
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/SelectorCombinatorParameters.html Online documentation}
6183
+ * - `"quality-select"`: {@link QualitySelectSelectorCombinatorParameters}
6184
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/SelectorCombinatorParameters.html Online documentation}
5967
6185
  */
5968
6186
  export type SelectorCombinatorParameters =
5969
6187
  | SelectSelectorCombinatorParameters
@@ -5972,10 +6190,11 @@ declare module "factorio:runtime" {
5972
6190
  | QualityFilterSelectorCombinatorParameters
5973
6191
  | QualityTransferSelectorCombinatorParameters
5974
6192
  | TimeSelectorCombinatorParameters
6193
+ | QualitySelectSelectorCombinatorParameters
5975
6194
  | OtherSelectorCombinatorParameters
5976
6195
  /**
5977
6196
  * Write form of {@link SelectorCombinatorParameters}, where some properties allow additional values as input compared to the read form.
5978
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/SelectorCombinatorParameters.html Online documentation}
6197
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/SelectorCombinatorParameters.html Online documentation}
5979
6198
  */
5980
6199
  export type SelectorCombinatorParametersWrite =
5981
6200
  | SelectSelectorCombinatorParametersWrite
@@ -5984,6 +6203,7 @@ declare module "factorio:runtime" {
5984
6203
  | QualityFilterSelectorCombinatorParametersWrite
5985
6204
  | QualityTransferSelectorCombinatorParametersWrite
5986
6205
  | TimeSelectorCombinatorParametersWrite
6206
+ | QualitySelectSelectorCombinatorParameters
5987
6207
  | OtherSelectorCombinatorParameters
5988
6208
  /**
5989
6209
  * ## Union members
@@ -5995,10 +6215,19 @@ declare module "factorio:runtime" {
5995
6215
  * - `"stack-size"`
5996
6216
  * - `"quality-filter"`
5997
6217
  * - `"time"`
5998
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/SelectorCombinatorParameterOperation.html Online documentation}
6218
+ * - `"quality-select"`
6219
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/SelectorCombinatorParameterOperation.html Online documentation}
5999
6220
  */
6000
6221
  export type SelectorCombinatorParameterOperation =
6001
- "select" | "count" | "random" | "quality-transfer" | "rocket-capacity" | "stack-size" | "quality-filter" | "time"
6222
+ | "select"
6223
+ | "count"
6224
+ | "random"
6225
+ | "quality-transfer"
6226
+ | "rocket-capacity"
6227
+ | "stack-size"
6228
+ | "quality-filter"
6229
+ | "time"
6230
+ | "quality-select"
6002
6231
  export interface SpaceConnectionAsteroidSpawnDefinition {
6003
6232
  /**
6004
6233
  * `asteroid-chunk` or `entity`
@@ -6039,14 +6268,16 @@ declare module "factorio:runtime" {
6039
6268
  * {{type="item", name="steel-chest", amount=1}}
6040
6269
  * @example
6041
6270
  * -- Products of the "advanced-oil-processing" recipe
6042
- * {{type="fluid", name="heavy-oil", amount=1},
6043
- * {type="fluid", name="light-oil", amount=4.5},
6044
- * {type="fluid", name="petroleum-gas", amount=5.5}}
6271
+ * {
6272
+ * {type = "fluid", name = "heavy-oil", amount = 25},
6273
+ * {type = "fluid", name = "light-oil", amount = 45},
6274
+ * {type = "fluid", name = "petroleum-gas", amount = 55}
6275
+ * }
6045
6276
  * @example
6046
6277
  * -- What a custom recipe would look like that had a probability of 0.5 to return a
6047
6278
  * -- minimum amount of 1 and a maximum amount of 5
6048
- * {{type="item", name="custom-item", probability=0.5, amount_min=1, amount_max=5}}
6049
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/Product.html Online documentation}
6279
+ * {{type="item", name="custom-item", independent_probability=0.5, amount_min=1, amount_max=5}}
6280
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/Product.html Online documentation}
6050
6281
  */
6051
6282
  export type Product = ItemProduct | FluidProduct
6052
6283
  export interface SharedProbabilityDefinition {
@@ -6066,8 +6297,8 @@ declare module "factorio:runtime" {
6066
6297
  * @example
6067
6298
  * -- What a custom recipe would look like that had a probability of 0.5 to return a
6068
6299
  * -- minimum amount of 1 and a maximum amount of 5
6069
- * {{type="item", name="custom-item", probability=0.5, amount_min=1, amount_max=5}}
6070
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/ItemProduct.html Online documentation}
6300
+ * {{type="item", name="custom-item", independent_probability=0.5, amount_min=1, amount_max=5}}
6301
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/ItemProduct.html Online documentation}
6071
6302
  */
6072
6303
  export interface ItemProduct {
6073
6304
  readonly type: "item"
@@ -6118,7 +6349,7 @@ declare module "factorio:runtime" {
6118
6349
  * {{type="fluid", name="heavy-oil", amount=1},
6119
6350
  * {type="fluid", name="light-oil", amount=4.5},
6120
6351
  * {type="fluid", name="petroleum-gas", amount=5.5}}
6121
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/FluidProduct.html Online documentation}
6352
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/FluidProduct.html Online documentation}
6122
6353
  */
6123
6354
  export interface FluidProduct {
6124
6355
  readonly type: "fluid"
@@ -6159,7 +6390,7 @@ declare module "factorio:runtime" {
6159
6390
  }
6160
6391
  /**
6161
6392
  * @see BlueprintScheduleRecordWrite
6162
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/BlueprintScheduleRecord.html Online documentation}
6393
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/BlueprintScheduleRecord.html Online documentation}
6163
6394
  */
6164
6395
  export interface BlueprintScheduleRecord {
6165
6396
  /**
@@ -6173,7 +6404,7 @@ declare module "factorio:runtime" {
6173
6404
  }
6174
6405
  /**
6175
6406
  * Write form of {@link BlueprintScheduleRecord}, where some properties allow additional values as input compared to the read form.
6176
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/BlueprintScheduleRecord.html Online documentation}
6407
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/BlueprintScheduleRecord.html Online documentation}
6177
6408
  */
6178
6409
  export interface BlueprintScheduleRecordWrite {
6179
6410
  /**
@@ -6187,7 +6418,7 @@ declare module "factorio:runtime" {
6187
6418
  }
6188
6419
  /**
6189
6420
  * @see ScheduleRecordWrite
6190
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/ScheduleRecord.html Online documentation}
6421
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/ScheduleRecord.html Online documentation}
6191
6422
  */
6192
6423
  export interface ScheduleRecord {
6193
6424
  /**
@@ -6206,7 +6437,7 @@ declare module "factorio:runtime" {
6206
6437
  }
6207
6438
  /**
6208
6439
  * Write form of {@link ScheduleRecord}, where some properties allow additional values as input compared to the read form.
6209
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/ScheduleRecord.html Online documentation}
6440
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/ScheduleRecord.html Online documentation}
6210
6441
  */
6211
6442
  export interface ScheduleRecordWrite {
6212
6443
  /**
@@ -6225,7 +6456,7 @@ declare module "factorio:runtime" {
6225
6456
  }
6226
6457
  /**
6227
6458
  * @see BlueprintScheduleInterruptWrite
6228
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/BlueprintScheduleInterrupt.html Online documentation}
6459
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/BlueprintScheduleInterrupt.html Online documentation}
6229
6460
  */
6230
6461
  export interface BlueprintScheduleInterrupt {
6231
6462
  /**
@@ -6241,7 +6472,7 @@ declare module "factorio:runtime" {
6241
6472
  }
6242
6473
  /**
6243
6474
  * Write form of {@link BlueprintScheduleInterrupt}, where some properties allow additional values as input compared to the read form.
6244
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/BlueprintScheduleInterrupt.html Online documentation}
6475
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/BlueprintScheduleInterrupt.html Online documentation}
6245
6476
  */
6246
6477
  export interface BlueprintScheduleInterruptWrite {
6247
6478
  /**
@@ -6257,7 +6488,7 @@ declare module "factorio:runtime" {
6257
6488
  }
6258
6489
  /**
6259
6490
  * @see ScheduleInterruptWrite
6260
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/ScheduleInterrupt.html Online documentation}
6491
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/ScheduleInterrupt.html Online documentation}
6261
6492
  */
6262
6493
  export interface ScheduleInterrupt {
6263
6494
  /**
@@ -6273,7 +6504,7 @@ declare module "factorio:runtime" {
6273
6504
  }
6274
6505
  /**
6275
6506
  * Write form of {@link ScheduleInterrupt}, where some properties allow additional values as input compared to the read form.
6276
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/ScheduleInterrupt.html Online documentation}
6507
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/ScheduleInterrupt.html Online documentation}
6277
6508
  */
6278
6509
  export interface ScheduleInterruptWrite {
6279
6510
  /**
@@ -6289,7 +6520,7 @@ declare module "factorio:runtime" {
6289
6520
  }
6290
6521
  /**
6291
6522
  * @see WaitConditionWrite
6292
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/WaitCondition.html Online documentation}
6523
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/WaitCondition.html Online documentation}
6293
6524
  */
6294
6525
  export interface WaitCondition {
6295
6526
  readonly type: WaitConditionType
@@ -6320,7 +6551,7 @@ declare module "factorio:runtime" {
6320
6551
  }
6321
6552
  /**
6322
6553
  * Write form of {@link WaitCondition}, where some properties allow additional values as input compared to the read form.
6323
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/WaitCondition.html Online documentation}
6554
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/WaitCondition.html Online documentation}
6324
6555
  */
6325
6556
  export interface WaitConditionWrite {
6326
6557
  readonly type: WaitConditionType
@@ -6379,7 +6610,7 @@ declare module "factorio:runtime" {
6379
6610
  * - `"at_station"`
6380
6611
  * - `"not_at_station"`
6381
6612
  * - `"damage_taken"`
6382
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/WaitConditionType.html Online documentation}
6613
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/WaitConditionType.html Online documentation}
6383
6614
  */
6384
6615
  export type WaitConditionType =
6385
6616
  | "time"
@@ -6410,7 +6641,7 @@ declare module "factorio:runtime" {
6410
6641
  | "damage_taken"
6411
6642
  /**
6412
6643
  * @see BlueprintScheduleWrite
6413
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/BlueprintSchedule.html Online documentation}
6644
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/BlueprintSchedule.html Online documentation}
6414
6645
  */
6415
6646
  export interface BlueprintSchedule {
6416
6647
  readonly records?: BlueprintScheduleRecord[]
@@ -6419,7 +6650,7 @@ declare module "factorio:runtime" {
6419
6650
  }
6420
6651
  /**
6421
6652
  * Write form of {@link BlueprintSchedule}, where some properties allow additional values as input compared to the read form.
6422
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/BlueprintSchedule.html Online documentation}
6653
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/BlueprintSchedule.html Online documentation}
6423
6654
  */
6424
6655
  export interface BlueprintScheduleWrite {
6425
6656
  readonly records?: readonly BlueprintScheduleRecordWrite[]
@@ -6491,7 +6722,7 @@ declare module "factorio:runtime" {
6491
6722
  * - `"vehicle-logistics"`
6492
6723
  * - `"unlock-logistic-network"`
6493
6724
  * - `"unlock-travel-to-space-platforms"`
6494
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/ModifierType.html Online documentation}
6725
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/ModifierType.html Online documentation}
6495
6726
  */
6496
6727
  export type ModifierType =
6497
6728
  | "inserter-stack-size-bonus"
@@ -6545,7 +6776,11 @@ declare module "factorio:runtime" {
6545
6776
  | "vehicle-logistics"
6546
6777
  | "unlock-logistic-network"
6547
6778
  | "unlock-travel-to-space-platforms"
6779
+ /**
6780
+ * Common attributes to all variants of {@link TechnologyModifier}.
6781
+ */
6548
6782
  export interface BaseTechnologyModifier {
6783
+ readonly hidden: boolean
6549
6784
  /**
6550
6785
  * Modifier type. Specifies which of the other fields will be available.
6551
6786
  */
@@ -7088,6 +7323,8 @@ declare module "factorio:runtime" {
7088
7323
  /**
7089
7324
  * The effect that is applied when a technology is researched.
7090
7325
  *
7326
+ * Base attributes: {@link BaseTechnologyModifier}
7327
+ *
7091
7328
  * Other attributes may be specified depending on `type`:
7092
7329
  * - `"ammo-damage"`: {@link AmmoDamageTechnologyModifier}
7093
7330
  * - `"artillery-range"`: {@link ArtilleryRangeTechnologyModifier}
@@ -7140,7 +7377,7 @@ declare module "factorio:runtime" {
7140
7377
  * - `"worker-robot-speed"`: {@link WorkerRobotSpeedTechnologyModifier}
7141
7378
  * - `"worker-robot-storage"`: {@link WorkerRobotStorageTechnologyModifier}
7142
7379
  * - `"unlock-logistic-network"`: {@link UnlockLogisticNetworkTechnologyModifier}
7143
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/TechnologyModifier.html Online documentation}
7380
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/TechnologyModifier.html Online documentation}
7144
7381
  */
7145
7382
  export type TechnologyModifier =
7146
7383
  | AmmoDamageTechnologyModifier
@@ -7248,7 +7485,7 @@ declare module "factorio:runtime" {
7248
7485
  * Other attributes may be specified depending on `type`:
7249
7486
  * - `"fluid"`: {@link FluidIngredient}
7250
7487
  * - `"item"`: {@link ItemIngredient}
7251
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/Ingredient.html Online documentation}
7488
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/Ingredient.html Online documentation}
7252
7489
  */
7253
7490
  export type Ingredient = FluidIngredient | ItemIngredient
7254
7491
  /**
@@ -7269,7 +7506,7 @@ declare module "factorio:runtime" {
7269
7506
  * * other_base_coefficient
7270
7507
  * score(chunk) = 1 / (1 + player + base)
7271
7508
  * ```
7272
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/EnemyExpansionMapSettings.html Online documentation}
7509
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/EnemyExpansionMapSettings.html Online documentation}
7273
7510
  */
7274
7511
  export interface EnemyExpansionMapSettings {
7275
7512
  /**
@@ -7328,6 +7565,10 @@ declare module "factorio:runtime" {
7328
7565
  * The maximum time between expansions in ticks. The actual cooldown is adjusted to the current evolution levels. Defaults to `60*3 600=216 000` ticks.
7329
7566
  */
7330
7567
  readonly max_expansion_cooldown: uint32
7568
+ /**
7569
+ * Cooldown in ticks for dispatching units when building bases. Defaults to `60*30=1 800` ticks.
7570
+ */
7571
+ readonly build_base_unit_dispatch_cooldown: uint32
7331
7572
  }
7332
7573
  export interface AsteroidMapSettings {
7333
7574
  readonly spawning_rate: double
@@ -7530,23 +7771,23 @@ declare module "factorio:runtime" {
7530
7771
  }
7531
7772
  /**
7532
7773
  * Technology difficulty settings. Updating any of the attributes will immediately take effect in the game engine.
7533
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/DifficultySettings.html Online documentation}
7774
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/DifficultySettings.html Online documentation}
7534
7775
  */
7535
7776
  export interface DifficultySettings {
7536
7777
  /**
7537
7778
  * A value in range [0.001, 100000].
7538
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/DifficultySettings.technology_price_multiplier.html Online documentation}
7779
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/DifficultySettings.technology_price_multiplier.html Online documentation}
7539
7780
  */
7540
7781
  technology_price_multiplier: double
7541
7782
  /**
7542
7783
  * A value in range [0.01, 100].
7543
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/DifficultySettings.spoil_time_modifier.html Online documentation}
7784
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/DifficultySettings.spoil_time_modifier.html Online documentation}
7544
7785
  */
7545
7786
  spoil_time_modifier: double
7546
7787
  }
7547
7788
  /**
7548
7789
  * A standard table containing all {@link MapSettings} attributes plus an additional table that contains all {@link DifficultySettings} properties.
7549
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/MapAndDifficultySettings.html Online documentation}
7790
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/MapAndDifficultySettings.html Online documentation}
7550
7791
  */
7551
7792
  export interface MapAndDifficultySettings {
7552
7793
  readonly pollution: PollutionMapSettings
@@ -7566,7 +7807,7 @@ declare module "factorio:runtime" {
7566
7807
  * @example
7567
7808
  * -- Increase the number of short paths the pathfinder can cache.
7568
7809
  * game.map_settings.path_finder.short_cache_size = 15
7569
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/MapSettings.html Online documentation}
7810
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/MapSettings.html Online documentation}
7570
7811
  */
7571
7812
  export interface MapSettings {
7572
7813
  pollution: PollutionMapSettings
@@ -7577,7 +7818,7 @@ declare module "factorio:runtime" {
7577
7818
  asteroids: AsteroidMapSettings
7578
7819
  /**
7579
7820
  * If a behavior fails this many times, the enemy (or enemy group) is destroyed. This solves biters getting stuck within their own base.
7580
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/MapSettings.max_failed_behavior_count.html Online documentation}
7821
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/MapSettings.max_failed_behavior_count.html Online documentation}
7581
7822
  */
7582
7823
  max_failed_behavior_count: uint32
7583
7824
  }
@@ -7606,7 +7847,7 @@ declare module "factorio:runtime" {
7606
7847
  * - `"very-high"`: equivalent to `2`.
7607
7848
  * - `"very-big"`: equivalent to `2`.
7608
7849
  * - `"very-good"`: equivalent to `2`.
7609
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/MapGenSize.html Online documentation}
7850
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/MapGenSize.html Online documentation}
7610
7851
  */
7611
7852
  export type MapGenSize =
7612
7853
  | float
@@ -7628,7 +7869,7 @@ declare module "factorio:runtime" {
7628
7869
  | "very-good"
7629
7870
  /**
7630
7871
  * These values are for the time frame of one second (60 ticks).
7631
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/PollutionMapSettings.html Online documentation}
7872
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/PollutionMapSettings.html Online documentation}
7632
7873
  */
7633
7874
  export interface PollutionMapSettings {
7634
7875
  /**
@@ -7671,10 +7912,6 @@ declare module "factorio:runtime" {
7671
7912
  * Defaults to `10`.
7672
7913
  */
7673
7914
  readonly pollution_restored_per_tree_damage: double
7674
- /**
7675
- * Defaults to `20`.
7676
- */
7677
- readonly max_pollution_to_restore_trees: double
7678
7915
  /**
7679
7916
  * Defaults to `1`.
7680
7917
  */
@@ -7682,7 +7919,7 @@ declare module "factorio:runtime" {
7682
7919
  }
7683
7920
  /**
7684
7921
  * These values represent a percentual increase in evolution. This means a value of `0.1` would increase evolution by 10%.
7685
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/EnemyEvolutionMapSettings.html Online documentation}
7922
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/EnemyEvolutionMapSettings.html Online documentation}
7686
7923
  */
7687
7924
  export interface EnemyEvolutionMapSettings {
7688
7925
  /**
@@ -7704,7 +7941,7 @@ declare module "factorio:runtime" {
7704
7941
  }
7705
7942
  /**
7706
7943
  * @see AutoplaceControlWrite
7707
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/AutoplaceControl.html Online documentation}
7944
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/AutoplaceControl.html Online documentation}
7708
7945
  */
7709
7946
  export interface AutoplaceControl {
7710
7947
  /**
@@ -7722,7 +7959,7 @@ declare module "factorio:runtime" {
7722
7959
  }
7723
7960
  /**
7724
7961
  * Write form of {@link AutoplaceControl}, where some properties allow additional values as input compared to the read form.
7725
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/AutoplaceControl.html Online documentation}
7962
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/AutoplaceControl.html Online documentation}
7726
7963
  */
7727
7964
  export interface AutoplaceControlWrite {
7728
7965
  /**
@@ -7740,7 +7977,7 @@ declare module "factorio:runtime" {
7740
7977
  }
7741
7978
  /**
7742
7979
  * @see CliffPlacementSettingsWrite
7743
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/CliffPlacementSettings.html Online documentation}
7980
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/CliffPlacementSettings.html Online documentation}
7744
7981
  */
7745
7982
  export interface CliffPlacementSettings {
7746
7983
  /**
@@ -7770,7 +8007,7 @@ declare module "factorio:runtime" {
7770
8007
  }
7771
8008
  /**
7772
8009
  * Write form of {@link CliffPlacementSettings}, where some properties allow additional values as input compared to the read form.
7773
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/CliffPlacementSettings.html Online documentation}
8010
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/CliffPlacementSettings.html Online documentation}
7774
8011
  */
7775
8012
  export interface CliffPlacementSettingsWrite {
7776
8013
  /**
@@ -7800,7 +8037,7 @@ declare module "factorio:runtime" {
7800
8037
  }
7801
8038
  /**
7802
8039
  * @see AutoplaceSettingsWrite
7803
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/AutoplaceSettings.html Online documentation}
8040
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/AutoplaceSettings.html Online documentation}
7804
8041
  */
7805
8042
  export interface AutoplaceSettings {
7806
8043
  /**
@@ -7814,7 +8051,7 @@ declare module "factorio:runtime" {
7814
8051
  }
7815
8052
  /**
7816
8053
  * Write form of {@link AutoplaceSettings}, where some properties allow additional values as input compared to the read form.
7817
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/AutoplaceSettings.html Online documentation}
8054
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/AutoplaceSettings.html Online documentation}
7818
8055
  */
7819
8056
  export interface AutoplaceSettingsWrite {
7820
8057
  /**
@@ -7850,7 +8087,7 @@ declare module "factorio:runtime" {
7850
8087
  * surface.map_gen_settings = mgs
7851
8088
  * -- This does not require a NamedNoiseExpression to be defined, since literal numbers (and strings naming literal
7852
8089
  * -- numbers, e.g. `"123"`) are understood to stand for constant value expressions.
7853
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/MapGenSettings.html Online documentation}
8090
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/MapGenSettings.html Online documentation}
7854
8091
  */
7855
8092
  export interface MapGenSettings {
7856
8093
  /**
@@ -7905,7 +8142,7 @@ declare module "factorio:runtime" {
7905
8142
  }
7906
8143
  /**
7907
8144
  * Write form of {@link MapGenSettings}, where some properties allow additional values as input compared to the read form.
7908
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/MapGenSettings.html Online documentation}
8145
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/MapGenSettings.html Online documentation}
7909
8146
  */
7910
8147
  export interface MapGenSettingsWrite {
7911
8148
  /**
@@ -7989,12 +8226,12 @@ declare module "factorio:runtime" {
7989
8226
  }
7990
8227
  /**
7991
8228
  * The string representation of a noise expression. More detailed information is found on the {@link import("factorio:prototype").NamedNoiseExpression prototype docs}.
7992
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/NoiseExpressionSourceString.html Online documentation}
8229
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/NoiseExpressionSourceString.html Online documentation}
7993
8230
  */
7994
8231
  export type NoiseExpressionSourceString = string
7995
8232
  /**
7996
8233
  * Specifies how probability and richness are calculated when placing something on the map.
7997
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/AutoplaceSpecification.html Online documentation}
8234
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/AutoplaceSpecification.html Online documentation}
7998
8235
  */
7999
8236
  export interface AutoplaceSpecification {
8000
8237
  readonly placement_density: uint32
@@ -8077,13 +8314,13 @@ declare module "factorio:runtime" {
8077
8314
  */
8078
8315
  readonly migration_applied: boolean
8079
8316
  /**
8080
- * Dictionary of prototype changes due to {@linkplain https://lua-api.factorio.com/2.1.9/auxiliary/migrations.html migrations}. The inner dictionary maps the old prototype name to the new prototype name. The new name will be an empty string if the prototype was removed. Entries are omitted if the old and new prototype name are the same.
8317
+ * Dictionary of prototype changes due to {@linkplain https://lua-api.factorio.com/2.1.21/auxiliary/migrations.html migrations}. The inner dictionary maps the old prototype name to the new prototype name. The new name will be an empty string if the prototype was removed. Entries are omitted if the old and new prototype name are the same.
8081
8318
  */
8082
8319
  readonly migrations: Record<IDType, Record<string, string>>
8083
8320
  }
8084
8321
  /**
8085
8322
  * @see AsteroidChunkWrite
8086
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/AsteroidChunk.html Online documentation}
8323
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/AsteroidChunk.html Online documentation}
8087
8324
  */
8088
8325
  export interface AsteroidChunk {
8089
8326
  /**
@@ -8095,7 +8332,7 @@ declare module "factorio:runtime" {
8095
8332
  }
8096
8333
  /**
8097
8334
  * Write form of {@link AsteroidChunk}, where some properties allow additional values as input compared to the read form.
8098
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/AsteroidChunk.html Online documentation}
8335
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/AsteroidChunk.html Online documentation}
8099
8336
  */
8100
8337
  export interface AsteroidChunkWrite {
8101
8338
  /**
@@ -8107,7 +8344,7 @@ declare module "factorio:runtime" {
8107
8344
  }
8108
8345
  /**
8109
8346
  * An item thrown overboard on a space platform.
8110
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/EjectedItem.html Online documentation}
8347
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/EjectedItem.html Online documentation}
8111
8348
  */
8112
8349
  export interface EjectedItem {
8113
8350
  readonly item: ItemIDAndQualityIDPair
@@ -8119,7 +8356,7 @@ declare module "factorio:runtime" {
8119
8356
  }
8120
8357
  /**
8121
8358
  * The data that can be extracted from a map exchange string, as a plain table.
8122
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/MapExchangeStringData.html Online documentation}
8359
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/MapExchangeStringData.html Online documentation}
8123
8360
  */
8124
8361
  export interface MapExchangeStringData {
8125
8362
  readonly map_settings: MapAndDifficultySettings
@@ -8145,7 +8382,7 @@ declare module "factorio:runtime" {
8145
8382
  }
8146
8383
  /**
8147
8384
  * A {@link ChunkPosition} with an added bounding box for the area of the chunk.
8148
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/ChunkPositionAndArea.html Online documentation}
8385
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/ChunkPositionAndArea.html Online documentation}
8149
8386
  */
8150
8387
  export interface ChunkPositionAndArea {
8151
8388
  readonly x: int32
@@ -8177,6 +8414,7 @@ declare module "factorio:runtime" {
8177
8414
  * - `"signal-or-number"`
8178
8415
  * - `"simple-slot"`
8179
8416
  * - `"simple-item-slot"`
8417
+ * - `"simple-item-with-quality-slot"`
8180
8418
  * - `"recipe-slot"`
8181
8419
  * - `"quickbar-slot"`
8182
8420
  * - `"logistics-button"`
@@ -8193,7 +8431,7 @@ declare module "factorio:runtime" {
8193
8431
  * - `"check-box"`
8194
8432
  * - `"switch"`
8195
8433
  * - `"label"`
8196
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/SimulationWidgetType.html Online documentation}
8434
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/SimulationWidgetType.html Online documentation}
8197
8435
  */
8198
8436
  export type SimulationWidgetType =
8199
8437
  | "signal-id"
@@ -8201,6 +8439,7 @@ declare module "factorio:runtime" {
8201
8439
  | "signal-or-number"
8202
8440
  | "simple-slot"
8203
8441
  | "simple-item-slot"
8442
+ | "simple-item-with-quality-slot"
8204
8443
  | "recipe-slot"
8205
8444
  | "quickbar-slot"
8206
8445
  | "logistics-button"
@@ -8381,7 +8620,7 @@ declare module "factorio:runtime" {
8381
8620
  * - {@link defines.segmented_unit_ai_state.attacking}: {@link AttackingSegmentedUnitAIState}
8382
8621
  * - {@link defines.segmented_unit_ai_state.enraged_at_target}: {@link EnragedAtTargetSegmentedUnitAIState}
8383
8622
  * - {@link defines.segmented_unit_ai_state.enraged_at_nothing}: {@link EnragedAtNothingSegmentedUnitAIState}
8384
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/SegmentedUnitAIState.html Online documentation}
8623
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/SegmentedUnitAIState.html Online documentation}
8385
8624
  */
8386
8625
  export type SegmentedUnitAIState =
8387
8626
  | PatrollingSegmentedUnitAIState
@@ -8391,7 +8630,7 @@ declare module "factorio:runtime" {
8391
8630
  | EnragedAtNothingSegmentedUnitAIState
8392
8631
  /**
8393
8632
  * Write form of {@link SegmentedUnitAIState}, where some properties allow additional values as input compared to the read form.
8394
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/SegmentedUnitAIState.html Online documentation}
8633
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/SegmentedUnitAIState.html Online documentation}
8395
8634
  */
8396
8635
  export type SegmentedUnitAIStateWrite =
8397
8636
  | PatrollingSegmentedUnitAIStateWrite
@@ -8539,7 +8778,7 @@ declare module "factorio:runtime" {
8539
8778
  /**
8540
8779
  * 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].
8541
8780
  * @see ColorModifierArray
8542
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/ColorModifier.html Online documentation}
8781
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/ColorModifier.html Online documentation}
8543
8782
  */
8544
8783
  export interface ColorModifier {
8545
8784
  readonly r?: float
@@ -8550,7 +8789,7 @@ declare module "factorio:runtime" {
8550
8789
  /**
8551
8790
  * Array form of {@link ColorModifier}.
8552
8791
  * @see ColorModifier
8553
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/ColorModifier.html Online documentation}
8792
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/ColorModifier.html Online documentation}
8554
8793
  */
8555
8794
  export type ColorModifierArray = readonly [r: double, g: double, b: double, a?: double]
8556
8795
  export interface Decorative {
@@ -8569,7 +8808,7 @@ declare module "factorio:runtime" {
8569
8808
  /**
8570
8809
  * An area defined using the map editor.
8571
8810
  * @see ScriptAreaWrite
8572
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/ScriptArea.html Online documentation}
8811
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/ScriptArea.html Online documentation}
8573
8812
  */
8574
8813
  export interface ScriptArea {
8575
8814
  readonly area: BoundingBox
@@ -8579,7 +8818,7 @@ declare module "factorio:runtime" {
8579
8818
  }
8580
8819
  /**
8581
8820
  * Write form of {@link ScriptArea}, where some properties allow additional values as input compared to the read form.
8582
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/ScriptArea.html Online documentation}
8821
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/ScriptArea.html Online documentation}
8583
8822
  */
8584
8823
  export interface ScriptAreaWrite {
8585
8824
  readonly area: BoundingBoxWrite | BoundingBoxArray
@@ -8590,7 +8829,7 @@ declare module "factorio:runtime" {
8590
8829
  /**
8591
8830
  * A position defined using the map editor.
8592
8831
  * @see ScriptPositionWrite
8593
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/ScriptPosition.html Online documentation}
8832
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/ScriptPosition.html Online documentation}
8594
8833
  */
8595
8834
  export interface ScriptPosition {
8596
8835
  readonly position: MapPosition
@@ -8600,7 +8839,7 @@ declare module "factorio:runtime" {
8600
8839
  }
8601
8840
  /**
8602
8841
  * Write form of {@link ScriptPosition}, where some properties allow additional values as input compared to the read form.
8603
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/ScriptPosition.html Online documentation}
8842
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/ScriptPosition.html Online documentation}
8604
8843
  */
8605
8844
  export interface ScriptPositionWrite {
8606
8845
  readonly position: MapPosition | MapPositionArray
@@ -8616,7 +8855,7 @@ declare module "factorio:runtime" {
8616
8855
  }
8617
8856
  /**
8618
8857
  * A table used to define a manual shape for a piece of equipment.
8619
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/EquipmentPoint.html Online documentation}
8858
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/EquipmentPoint.html Online documentation}
8620
8859
  */
8621
8860
  export interface EquipmentPoint {
8622
8861
  readonly x: uint32
@@ -8625,7 +8864,7 @@ declare module "factorio:runtime" {
8625
8864
  /**
8626
8865
  * 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.
8627
8866
  * @see GuiLocationArray
8628
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/GuiLocation.html Online documentation}
8867
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/GuiLocation.html Online documentation}
8629
8868
  */
8630
8869
  export interface GuiLocation {
8631
8870
  readonly x: int32
@@ -8634,7 +8873,7 @@ declare module "factorio:runtime" {
8634
8873
  /**
8635
8874
  * Array form of {@link GuiLocation}.
8636
8875
  * @see GuiLocation
8637
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/GuiLocation.html Online documentation}
8876
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/GuiLocation.html Online documentation}
8638
8877
  */
8639
8878
  export type GuiLocationArray = readonly [int32, int32]
8640
8879
  export interface TabAndContent {
@@ -8663,7 +8902,7 @@ declare module "factorio:runtime" {
8663
8902
  }
8664
8903
  /**
8665
8904
  * Either `icon`, `text`, or both must be provided.
8666
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/ChartTagSpec.html Online documentation}
8905
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/ChartTagSpec.html Online documentation}
8667
8906
  */
8668
8907
  export interface ChartTagSpec {
8669
8908
  readonly position: MapPosition | MapPositionArray
@@ -8806,7 +9045,7 @@ declare module "factorio:runtime" {
8806
9045
  * - `"any-goal-accessible"`: The method will return {@link TrainPathFinderOneGoalResult}.
8807
9046
  * - `"all-goals-accessible"`: The method will return {@link TrainPathAllGoalsResult}.
8808
9047
  * - `"all-goals-penalties"`: The method will return {@link TrainPathAllGoalsResult} with `penalties`.
8809
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/TrainPathRequestType.html Online documentation}
9048
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/TrainPathRequestType.html Online documentation}
8810
9049
  */
8811
9050
  export type TrainPathRequestType = "path" | "any-goal-accessible" | "all-goals-accessible" | "all-goals-penalties"
8812
9051
  /**
@@ -8815,7 +9054,7 @@ declare module "factorio:runtime" {
8815
9054
  * - {@link RailEndGoal}
8816
9055
  * - {@link LuaRailEnd}
8817
9056
  * - {@link LuaEntity}: Only if it points at train-stop that is connected to a rail.
8818
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/TrainPathFinderGoal.html Online documentation}
9057
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/TrainPathFinderGoal.html Online documentation}
8819
9058
  */
8820
9059
  export type TrainPathFinderGoal = TrainStopGoal | RailEndGoal | LuaRailEnd | LuaEntity
8821
9060
  export interface TrainStopGoal {
@@ -8948,7 +9187,7 @@ declare module "factorio:runtime" {
8948
9187
  }
8949
9188
  /**
8950
9189
  * @see QuickBarSlotWrite
8951
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/QuickBarSlot.html Online documentation}
9190
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/QuickBarSlot.html Online documentation}
8952
9191
  */
8953
9192
  export interface QuickBarSlot {
8954
9193
  /**
@@ -8974,7 +9213,7 @@ declare module "factorio:runtime" {
8974
9213
  }
8975
9214
  /**
8976
9215
  * Write form of {@link QuickBarSlot}, where some properties allow additional values as input compared to the read form.
8977
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/QuickBarSlot.html Online documentation}
9216
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/QuickBarSlot.html Online documentation}
8978
9217
  */
8979
9218
  export interface QuickBarSlotWrite {
8980
9219
  /**
@@ -9027,7 +9266,7 @@ declare module "factorio:runtime" {
9027
9266
  }
9028
9267
  /**
9029
9268
  * Valid values are from 1 up to {@link LuaEntity#fluids_count LuaEntity::fluids_count}.
9030
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/FluidStorageIndex.html Online documentation}
9269
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/FluidStorageIndex.html Online documentation}
9031
9270
  */
9032
9271
  export type FluidStorageIndex = uint32
9033
9272
  export interface FluidBoxNeighbourRecord {
@@ -9036,7 +9275,7 @@ declare module "factorio:runtime" {
9036
9275
  }
9037
9276
  /**
9038
9277
  * A single pipe connection for a given fluidbox.
9039
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/PipeConnection.html Online documentation}
9278
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/PipeConnection.html Online documentation}
9040
9279
  */
9041
9280
  export interface PipeConnection {
9042
9281
  readonly flow_direction: FluidFlowDirection
@@ -9085,7 +9324,7 @@ declare module "factorio:runtime" {
9085
9324
  }
9086
9325
  /**
9087
9326
  * @see LabStoredDurabilityWrite
9088
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/LabStoredDurability.html Online documentation}
9327
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/LabStoredDurability.html Online documentation}
9089
9328
  */
9090
9329
  export interface LabStoredDurability {
9091
9330
  /**
@@ -9099,7 +9338,7 @@ declare module "factorio:runtime" {
9099
9338
  }
9100
9339
  /**
9101
9340
  * Write form of {@link LabStoredDurability}, where some properties allow additional values as input compared to the read form.
9102
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/LabStoredDurability.html Online documentation}
9341
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/LabStoredDurability.html Online documentation}
9103
9342
  */
9104
9343
  export interface LabStoredDurabilityWrite {
9105
9344
  /**
@@ -9161,7 +9400,7 @@ declare module "factorio:runtime" {
9161
9400
  * - `"surface"`
9162
9401
  * - `"mod-data"`
9163
9402
  * - `"custom-event"`
9164
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/IDType.html Online documentation}
9403
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/IDType.html Online documentation}
9165
9404
  */
9166
9405
  export type IDType =
9167
9406
  | "custom-input"
@@ -9214,7 +9453,7 @@ declare module "factorio:runtime" {
9214
9453
  }
9215
9454
  /**
9216
9455
  * An item prototype with optional quality specification.
9217
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/BlueprintItemIDAndQualityIDPair.html Online documentation}
9456
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/BlueprintItemIDAndQualityIDPair.html Online documentation}
9218
9457
  */
9219
9458
  export interface BlueprintItemIDAndQualityIDPair {
9220
9459
  /**
@@ -9242,7 +9481,7 @@ declare module "factorio:runtime" {
9242
9481
  }
9243
9482
  /**
9244
9483
  * @see EntityIDFilterWrite
9245
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/EntityIDFilter.html Online documentation}
9484
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/EntityIDFilter.html Online documentation}
9246
9485
  */
9247
9486
  export interface EntityIDFilter {
9248
9487
  /**
@@ -9260,7 +9499,7 @@ declare module "factorio:runtime" {
9260
9499
  }
9261
9500
  /**
9262
9501
  * Write form of {@link EntityIDFilter}, where some properties allow additional values as input compared to the read form.
9263
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/EntityIDFilter.html Online documentation}
9502
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/EntityIDFilter.html Online documentation}
9264
9503
  */
9265
9504
  export interface EntityIDFilterWrite {
9266
9505
  /**
@@ -9280,7 +9519,7 @@ declare module "factorio:runtime" {
9280
9519
  * A set of flags. Active flags are in the dictionary as `true`, while inactive flags aren't present at all.
9281
9520
  *
9282
9521
  * By default, none of these flags are set.
9283
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/EntityPrototypeFlags.html Online documentation}
9522
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/EntityPrototypeFlags.html Online documentation}
9284
9523
  */
9285
9524
  export type EntityPrototypeFlags = {
9286
9525
  readonly [T in EntityPrototypeFlag]?: true
@@ -9318,7 +9557,7 @@ declare module "factorio:runtime" {
9318
9557
  * - `"not-in-made-in"`: Prevents the entity from being shown in the "made in" list in recipe tooltips and Factoriopedia.
9319
9558
  * - `"not-in-bonus-gui"`: Prevents the entity from being shown in the bonus GUI.
9320
9559
  * - `"not-in-mined-by"`: Prevents the entity from being shown in the mined-by tooltip of resources.
9321
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/EntityPrototypeFlag.html Online documentation}
9560
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/EntityPrototypeFlag.html Online documentation}
9322
9561
  */
9323
9562
  export type EntityPrototypeFlag =
9324
9563
  | "not-rotatable"
@@ -9352,7 +9591,7 @@ declare module "factorio:runtime" {
9352
9591
  | "not-in-mined-by"
9353
9592
  /**
9354
9593
  * A single filter used by an infinity-pipe type entity.
9355
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/InfinityPipeFilter.html Online documentation}
9594
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/InfinityPipeFilter.html Online documentation}
9356
9595
  */
9357
9596
  export interface InfinityPipeFilter {
9358
9597
  /**
@@ -9382,7 +9621,7 @@ declare module "factorio:runtime" {
9382
9621
  }
9383
9622
  /**
9384
9623
  * @see ProgrammableSpeakerParametersWrite
9385
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/ProgrammableSpeakerParameters.html Online documentation}
9624
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/ProgrammableSpeakerParameters.html Online documentation}
9386
9625
  */
9387
9626
  export interface ProgrammableSpeakerParameters {
9388
9627
  readonly playback_volume: float
@@ -9393,7 +9632,7 @@ declare module "factorio:runtime" {
9393
9632
  }
9394
9633
  /**
9395
9634
  * Write form of {@link ProgrammableSpeakerParameters}, where some properties allow additional values as input compared to the read form.
9396
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/ProgrammableSpeakerParameters.html Online documentation}
9635
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/ProgrammableSpeakerParameters.html Online documentation}
9397
9636
  */
9398
9637
  export interface ProgrammableSpeakerParametersWrite {
9399
9638
  readonly playback_volume: float
@@ -9409,12 +9648,12 @@ declare module "factorio:runtime" {
9409
9648
  * - `"local"`: The sound can be heard within the audible range around the speaker.
9410
9649
  * - `"surface"`: The sound can be heard anywhere on the speaker's surface.
9411
9650
  * - `"global"`: The sound can be heard everywhere.
9412
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/ProgrammableSpeakerPlaybackMode.html Online documentation}
9651
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/ProgrammableSpeakerPlaybackMode.html Online documentation}
9413
9652
  */
9414
9653
  export type ProgrammableSpeakerPlaybackMode = "local" | "surface" | "global"
9415
9654
  /**
9416
9655
  * @see ProgrammableSpeakerAlertParametersWrite
9417
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/ProgrammableSpeakerAlertParameters.html Online documentation}
9656
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/ProgrammableSpeakerAlertParameters.html Online documentation}
9418
9657
  */
9419
9658
  export interface ProgrammableSpeakerAlertParameters {
9420
9659
  readonly show_alert: boolean
@@ -9424,7 +9663,7 @@ declare module "factorio:runtime" {
9424
9663
  }
9425
9664
  /**
9426
9665
  * Write form of {@link ProgrammableSpeakerAlertParameters}, where some properties allow additional values as input compared to the read form.
9427
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/ProgrammableSpeakerAlertParameters.html Online documentation}
9666
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/ProgrammableSpeakerAlertParameters.html Online documentation}
9428
9667
  */
9429
9668
  export interface ProgrammableSpeakerAlertParametersWrite {
9430
9669
  readonly show_alert: boolean
@@ -9452,12 +9691,12 @@ declare module "factorio:runtime" {
9452
9691
  * - `"exactly"`
9453
9692
  * - `"add"`
9454
9693
  * - `"remove"`
9455
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/HeatSettingMode.html Online documentation}
9694
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/HeatSettingMode.html Online documentation}
9456
9695
  */
9457
9696
  export type HeatSettingMode = "at-least" | "at-most" | "exactly" | "add" | "remove"
9458
9697
  /**
9459
9698
  * The settings used by a heat-interface type entity.
9460
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/HeatSetting.html Online documentation}
9699
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/HeatSetting.html Online documentation}
9461
9700
  */
9462
9701
  export interface HeatSetting {
9463
9702
  /**
@@ -9491,7 +9730,7 @@ declare module "factorio:runtime" {
9491
9730
  * - `"none-to-south"`
9492
9731
  * - `"south-to-none"`
9493
9732
  * - `"none-to-north"`
9494
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/CliffOrientation.html Online documentation}
9733
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/CliffOrientation.html Online documentation}
9495
9734
  */
9496
9735
  export type CliffOrientation =
9497
9736
  | "west-to-east"
@@ -9521,14 +9760,14 @@ declare module "factorio:runtime" {
9521
9760
  * - `"one-way"`: Fluid will flow if input level > output level.
9522
9761
  * - `"overflow"`: Fluid will flow if input level > {@link import("factorio:prototype").ValvePrototype#threshold ValvePrototype::threshold} and input level > output level.
9523
9762
  * - `"top-up"`: Fluid will flow if output level < {@link import("factorio:prototype").ValvePrototype#threshold ValvePrototype::threshold} and input level > output level.
9524
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/ValveMode.html Online documentation}
9763
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/ValveMode.html Online documentation}
9525
9764
  */
9526
9765
  export type ValveMode = "one-way" | "overflow" | "top-up"
9527
9766
  /**
9528
9767
  * ## Union members
9529
9768
  * - `"fresh-first"`
9530
9769
  * - `"spoiled-first"`
9531
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/BlueprintSpoilPriority.html Online documentation}
9770
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/BlueprintSpoilPriority.html Online documentation}
9532
9771
  */
9533
9772
  export type BlueprintSpoilPriority = "fresh-first" | "spoiled-first"
9534
9773
  /**
@@ -9536,7 +9775,7 @@ declare module "factorio:runtime" {
9536
9775
  * - `"fresh-first"`
9537
9776
  * - `"none"`
9538
9777
  * - `"spoiled-first"`
9539
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/SpoilPriority.html Online documentation}
9778
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/SpoilPriority.html Online documentation}
9540
9779
  */
9541
9780
  export type SpoilPriority = "fresh-first" | "none" | "spoiled-first"
9542
9781
  export interface SpiderLegSpecification {
@@ -9556,7 +9795,7 @@ declare module "factorio:runtime" {
9556
9795
  }
9557
9796
  /**
9558
9797
  * @see BlueprintInfinityInventorySettingsWrite
9559
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/BlueprintInfinityInventorySettings.html Online documentation}
9798
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/BlueprintInfinityInventorySettings.html Online documentation}
9560
9799
  */
9561
9800
  export interface BlueprintInfinityInventorySettings {
9562
9801
  readonly filters?: InfinityInventoryFilter[]
@@ -9567,7 +9806,7 @@ declare module "factorio:runtime" {
9567
9806
  }
9568
9807
  /**
9569
9808
  * Write form of {@link BlueprintInfinityInventorySettings}, where some properties allow additional values as input compared to the read form.
9570
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/BlueprintInfinityInventorySettings.html Online documentation}
9809
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/BlueprintInfinityInventorySettings.html Online documentation}
9571
9810
  */
9572
9811
  export interface BlueprintInfinityInventorySettingsWrite {
9573
9812
  readonly filters?: readonly InfinityInventoryFilterWrite[]
@@ -9611,7 +9850,7 @@ declare module "factorio:runtime" {
9611
9850
  }
9612
9851
  /**
9613
9852
  * Defines an item type that a blueprint entity will request.
9614
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/BlueprintInsertPlan.html Online documentation}
9853
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/BlueprintInsertPlan.html Online documentation}
9615
9854
  */
9616
9855
  export interface BlueprintInsertPlan {
9617
9856
  /**
@@ -9649,7 +9888,7 @@ declare module "factorio:runtime" {
9649
9888
  }
9650
9889
  /**
9651
9890
  * A single offer on a market entity.
9652
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/Offer.html Online documentation}
9891
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/Offer.html Online documentation}
9653
9892
  */
9654
9893
  export interface Offer {
9655
9894
  /**
@@ -9695,7 +9934,7 @@ declare module "factorio:runtime" {
9695
9934
  /**
9696
9935
  * A single filter used by an infinity-filters instance.
9697
9936
  * @see InfinityInventoryFilterWrite
9698
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/InfinityInventoryFilter.html Online documentation}
9937
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/InfinityInventoryFilter.html Online documentation}
9699
9938
  */
9700
9939
  export interface InfinityInventoryFilter {
9701
9940
  /**
@@ -9721,7 +9960,7 @@ declare module "factorio:runtime" {
9721
9960
  }
9722
9961
  /**
9723
9962
  * Write form of {@link InfinityInventoryFilter}, where some properties allow additional values as input compared to the read form.
9724
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/InfinityInventoryFilter.html Online documentation}
9963
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/InfinityInventoryFilter.html Online documentation}
9725
9964
  */
9726
9965
  export interface InfinityInventoryFilterWrite {
9727
9966
  /**
@@ -9764,7 +10003,7 @@ declare module "factorio:runtime" {
9764
10003
  }
9765
10004
  /**
9766
10005
  * Used to specify what type of damage and how much damage something deals.
9767
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/DamageParameters.html Online documentation}
10006
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/DamageParameters.html Online documentation}
9768
10007
  */
9769
10008
  export interface DamageParameters {
9770
10009
  readonly amount: float
@@ -9794,14 +10033,14 @@ declare module "factorio:runtime" {
9794
10033
  *
9795
10034
  * The validity of a SoundPath can be verified at runtime using {@link LuaHelpers#is_valid_sound_path LuaHelpers::is_valid_sound_path}.
9796
10035
  *
9797
- * {@link https://lua-api.factorio.com/2.1.9/concepts/SoundPath.html > The utility and ambient types each contain general use sound prototypes defined by the game itself.}
10036
+ * {@link https://lua-api.factorio.com/2.1.21/concepts/SoundPath.html > The utility and ambient types each contain general use sound prototypes defined by the game itself.}
9798
10037
  *
9799
- * {@link https://lua-api.factorio.com/2.1.9/concepts/SoundPath.html > The following types can be combined with any tile name as long as its prototype defines the corresponding sound.}
10038
+ * {@link https://lua-api.factorio.com/2.1.21/concepts/SoundPath.html > The following types can be combined with any tile name as long as its prototype defines the corresponding sound.}
9800
10039
  *
9801
- * {@link https://lua-api.factorio.com/2.1.9/concepts/SoundPath.html > The following types can be combined with any entity name as long as its prototype defines the corresponding sound.}
10040
+ * {@link https://lua-api.factorio.com/2.1.21/concepts/SoundPath.html > The following types can be combined with any entity name as long as its prototype defines the corresponding sound.}
9802
10041
  *
9803
- * {@link https://lua-api.factorio.com/2.1.9/concepts/SoundPath.html > The following types can be combined with any item name as long as its prototype defines the corresponding sound.}
9804
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/SoundPath.html Online documentation}
10042
+ * {@link https://lua-api.factorio.com/2.1.21/concepts/SoundPath.html > The following types can be combined with any item name as long as its prototype defines the corresponding sound.}
10043
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/SoundPath.html Online documentation}
9805
10044
  */
9806
10045
  export type SoundPath = (string & { _?: never }) | `${SoundCategory}/${string}`
9807
10046
  /**
@@ -9819,7 +10058,7 @@ declare module "factorio:runtime" {
9819
10058
  * - `"weapon"`
9820
10059
  * - `"explosion"`
9821
10060
  * - `"enemy"`
9822
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/SoundType.html Online documentation}
10061
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/SoundType.html Online documentation}
9823
10062
  */
9824
10063
  export type SoundType =
9825
10064
  | "game-effect"
@@ -9869,12 +10108,12 @@ declare module "factorio:runtime" {
9869
10108
  * - `"requester"`
9870
10109
  * - `"storage"`
9871
10110
  * - `"buffer"`
9872
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/LogisticMode.html Online documentation}
10111
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/LogisticMode.html Online documentation}
9873
10112
  */
9874
10113
  export type LogisticMode = "active-provider" | "passive-provider" | "requester" | "storage" | "buffer"
9875
10114
  /**
9876
10115
  * @see BlueprintLogisticFilterWrite
9877
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/BlueprintLogisticFilter.html Online documentation}
10116
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/BlueprintLogisticFilter.html Online documentation}
9878
10117
  */
9879
10118
  export interface BlueprintLogisticFilter {
9880
10119
  readonly index: LogisticFilterIndex
@@ -9908,7 +10147,7 @@ declare module "factorio:runtime" {
9908
10147
  }
9909
10148
  /**
9910
10149
  * Write form of {@link BlueprintLogisticFilter}, where some properties allow additional values as input compared to the read form.
9911
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/BlueprintLogisticFilter.html Online documentation}
10150
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/BlueprintLogisticFilter.html Online documentation}
9912
10151
  */
9913
10152
  export interface BlueprintLogisticFilterWrite {
9914
10153
  readonly index: LogisticFilterIndex
@@ -9942,7 +10181,7 @@ declare module "factorio:runtime" {
9942
10181
  }
9943
10182
  /**
9944
10183
  * @see BlueprintLogisticSectionsWrite
9945
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/BlueprintLogisticSections.html Online documentation}
10184
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/BlueprintLogisticSections.html Online documentation}
9946
10185
  */
9947
10186
  export interface BlueprintLogisticSections {
9948
10187
  readonly sections?: LogisticSection[]
@@ -9957,7 +10196,7 @@ declare module "factorio:runtime" {
9957
10196
  }
9958
10197
  /**
9959
10198
  * Write form of {@link BlueprintLogisticSections}, where some properties allow additional values as input compared to the read form.
9960
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/BlueprintLogisticSections.html Online documentation}
10199
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/BlueprintLogisticSections.html Online documentation}
9961
10200
  */
9962
10201
  export interface BlueprintLogisticSectionsWrite {
9963
10202
  readonly sections?: readonly LogisticSectionWrite[]
@@ -9972,7 +10211,7 @@ declare module "factorio:runtime" {
9972
10211
  }
9973
10212
  /**
9974
10213
  * @see LogisticSectionWrite
9975
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/LogisticSection.html Online documentation}
10214
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/LogisticSection.html Online documentation}
9976
10215
  */
9977
10216
  export interface LogisticSection {
9978
10217
  readonly index: uint8
@@ -9989,7 +10228,7 @@ declare module "factorio:runtime" {
9989
10228
  }
9990
10229
  /**
9991
10230
  * Write form of {@link LogisticSection}, where some properties allow additional values as input compared to the read form.
9992
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/LogisticSection.html Online documentation}
10231
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/LogisticSection.html Online documentation}
9993
10232
  */
9994
10233
  export interface LogisticSectionWrite {
9995
10234
  readonly index: uint8
@@ -10006,7 +10245,7 @@ declare module "factorio:runtime" {
10006
10245
  }
10007
10246
  /**
10008
10247
  * @see LogisticSectionsWrite
10009
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/LogisticSections.html Online documentation}
10248
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/LogisticSections.html Online documentation}
10010
10249
  */
10011
10250
  export interface LogisticSections {
10012
10251
  readonly sections?: LogisticSection[]
@@ -10017,7 +10256,7 @@ declare module "factorio:runtime" {
10017
10256
  }
10018
10257
  /**
10019
10258
  * Write form of {@link LogisticSections}, where some properties allow additional values as input compared to the read form.
10020
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/LogisticSections.html Online documentation}
10259
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/LogisticSections.html Online documentation}
10021
10260
  */
10022
10261
  export interface LogisticSectionsWrite {
10023
10262
  readonly sections?: readonly LogisticSectionWrite[]
@@ -10040,7 +10279,7 @@ declare module "factorio:runtime" {
10040
10279
  * - {@link LuaAsteroidChunkPrototype}
10041
10280
  * - {@link LuaVirtualSignalPrototype}
10042
10281
  * - {@link LuaSurfacePrototype}
10043
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/FactoriopediaID.html Online documentation}
10282
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/FactoriopediaID.html Online documentation}
10044
10283
  */
10045
10284
  export type FactoriopediaID =
10046
10285
  | LuaItemPrototype
@@ -10061,7 +10300,7 @@ declare module "factorio:runtime" {
10061
10300
  * ## Union members
10062
10301
  * - `"horizontal"`
10063
10302
  * - `"vertical"`
10064
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/GuiDirection.html Online documentation}
10303
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/GuiDirection.html Online documentation}
10065
10304
  */
10066
10305
  export type GuiDirection = "horizontal" | "vertical"
10067
10306
  export interface AttackParameterFluid {
@@ -10148,7 +10387,7 @@ declare module "factorio:runtime" {
10148
10387
  * - `"cluster"`: {@link ClusterTriggerItem}
10149
10388
  * - `"direct"`: {@link DirectTriggerItem}
10150
10389
  * - `"line"`: {@link LineTriggerItem}
10151
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/TriggerItem.html Online documentation}
10390
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/TriggerItem.html Online documentation}
10152
10391
  */
10153
10392
  export type TriggerItem = AreaTriggerItem | ClusterTriggerItem | DirectTriggerItem | LineTriggerItem
10154
10393
  export type CircularProjectileCreationSpecification = (readonly [RealOrientation, Vector])[]
@@ -10163,12 +10402,12 @@ declare module "factorio:runtime" {
10163
10402
  * ## Union members
10164
10403
  * - `"primary"`
10165
10404
  * - `"secondary"`
10166
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/ApplyTileTint.html Online documentation}
10405
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/ApplyTileTint.html Online documentation}
10167
10406
  */
10168
10407
  export type ApplyTileTint = "primary" | "secondary"
10169
10408
  /**
10170
10409
  * A set of trigger target masks.
10171
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/TriggerTargetMask.html Online documentation}
10410
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/TriggerTargetMask.html Online documentation}
10172
10411
  */
10173
10412
  export type TriggerTargetMask = Record<string, true>
10174
10413
  export interface AttackReactionItem {
@@ -10261,7 +10500,7 @@ declare module "factorio:runtime" {
10261
10500
  * - `"delayed"`: {@link DelayedTriggerDelivery}
10262
10501
  * - `"projectile"`: {@link ProjectileTriggerDelivery}
10263
10502
  * - `"stream"`: {@link StreamTriggerDelivery}
10264
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/TriggerDelivery.html Online documentation}
10503
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/TriggerDelivery.html Online documentation}
10265
10504
  */
10266
10505
  export type TriggerDelivery =
10267
10506
  | ArtilleryTriggerDelivery
@@ -10328,7 +10567,7 @@ declare module "factorio:runtime" {
10328
10567
  * - `"camera-effect"`
10329
10568
  * - `"activate-impact"`
10330
10569
  * - `"create-pollution"`
10331
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/TriggerEffectItemType.html Online documentation}
10570
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/TriggerEffectItemType.html Online documentation}
10332
10571
  */
10333
10572
  export type TriggerEffectItemType =
10334
10573
  | "damage"
@@ -10702,7 +10941,7 @@ declare module "factorio:runtime" {
10702
10941
  * - `"script"`: {@link ScriptTriggerEffectItem}
10703
10942
  * - `"set-tile"`: {@link SetTileTriggerEffectItem}
10704
10943
  * - `"show-explosion-on-chart"`: {@link ShowExplosionOnChartTriggerEffectItem}
10705
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/TriggerEffectItem.html Online documentation}
10944
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/TriggerEffectItem.html Online documentation}
10706
10945
  */
10707
10946
  export type TriggerEffectItem =
10708
10947
  | ActivateImpactTriggerEffectItem
@@ -10831,7 +11070,7 @@ declare module "factorio:runtime" {
10831
11070
  * Other attributes may be specified depending on `type`:
10832
11071
  * - `"projectile"`: {@link ProjectileAttackParameters}
10833
11072
  * - `"stream"`: {@link StreamAttackParameters}
10834
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/AttackParameters.html Online documentation}
11073
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/AttackParameters.html Online documentation}
10835
11074
  */
10836
11075
  export type AttackParameters = ProjectileAttackParameters | StreamAttackParameters | OtherAttackParameters
10837
11076
  /**
@@ -10839,7 +11078,7 @@ declare module "factorio:runtime" {
10839
11078
  * - `"left"`
10840
11079
  * - `"none"`
10841
11080
  * - `"right"`
10842
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/SplitterPriority.html Online documentation}
11081
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/SplitterPriority.html Online documentation}
10843
11082
  */
10844
11083
  export type SplitterPriority = "left" | "none" | "right"
10845
11084
  /**
@@ -10858,7 +11097,7 @@ declare module "factorio:runtime" {
10858
11097
  * - `"middle-right"`
10859
11098
  * - `"right"`: The same as `"middle-right"`
10860
11099
  * - `"bottom-right"`
10861
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/Alignment.html Online documentation}
11100
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/Alignment.html Online documentation}
10862
11101
  */
10863
11102
  export type Alignment =
10864
11103
  | "top-left"
@@ -10893,7 +11132,7 @@ declare module "factorio:runtime" {
10893
11132
  * - {@link FluidPrototypeFilter}
10894
11133
  * - {@link EntityPrototypeFilter}
10895
11134
  * @see PrototypeFilterWrite
10896
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/PrototypeFilter.html Online documentation}
11135
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/PrototypeFilter.html Online documentation}
10897
11136
  */
10898
11137
  export type PrototypeFilter =
10899
11138
  | ModSettingPrototypeFilter[]
@@ -10911,7 +11150,7 @@ declare module "factorio:runtime" {
10911
11150
  | EntityPrototypeFilter[]
10912
11151
  /**
10913
11152
  * Write form of {@link PrototypeFilter}, where some properties allow additional values as input compared to the read form.
10914
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/PrototypeFilter.html Online documentation}
11153
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/PrototypeFilter.html Online documentation}
10915
11154
  */
10916
11155
  export type PrototypeFilterWrite =
10917
11156
  | readonly ModSettingPrototypeFilter[]
@@ -10964,7 +11203,7 @@ declare module "factorio:runtime" {
10964
11203
  * - {@link LuaSegmentedUnitCreatedEventFilter}
10965
11204
  * - {@link LuaScriptRaisedDestroyEventFilter}
10966
11205
  * @see EventFilterWrite
10967
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/EventFilter.html Online documentation}
11206
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/EventFilter.html Online documentation}
10968
11207
  */
10969
11208
  export type EventFilter =
10970
11209
  | LuaSegmentedUnitDiedEventFilter[]
@@ -10999,7 +11238,7 @@ declare module "factorio:runtime" {
10999
11238
  | LuaScriptRaisedDestroyEventFilter[]
11000
11239
  /**
11001
11240
  * Write form of {@link EventFilter}, where some properties allow additional values as input compared to the read form.
11002
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/EventFilter.html Online documentation}
11241
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/EventFilter.html Online documentation}
11003
11242
  */
11004
11243
  export type EventFilterWrite =
11005
11244
  | readonly LuaSegmentedUnitDiedEventFilter[]
@@ -11034,7 +11273,7 @@ declare module "factorio:runtime" {
11034
11273
  | readonly LuaScriptRaisedDestroyEventFilter[]
11035
11274
  /**
11036
11275
  * @see CircuitConditionDefinitionWrite
11037
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/CircuitConditionDefinition.html Online documentation}
11276
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/CircuitConditionDefinition.html Online documentation}
11038
11277
  */
11039
11278
  export interface CircuitConditionDefinition {
11040
11279
  /**
@@ -11060,7 +11299,7 @@ declare module "factorio:runtime" {
11060
11299
  }
11061
11300
  /**
11062
11301
  * Write form of {@link CircuitConditionDefinition}, where some properties allow additional values as input compared to the read form.
11063
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/CircuitConditionDefinition.html Online documentation}
11302
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/CircuitConditionDefinition.html Online documentation}
11064
11303
  */
11065
11304
  export interface CircuitConditionDefinitionWrite {
11066
11305
  /**
@@ -11088,7 +11327,7 @@ declare module "factorio:runtime" {
11088
11327
  * Constants used by the game that are not specific to certain prototypes. See {@linkplain https://github.com/wube/factorio-data/blob/master/core/prototypes/utility-constants.lua utility-constants.lua} for the values used by the base game.
11089
11328
  *
11090
11329
  * Note that this is actually implemented as a {@link LuaCustomTable}, not a regular table.
11091
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/UtilityConstants.html Online documentation}
11330
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/UtilityConstants.html Online documentation}
11092
11331
  */
11093
11332
  export interface UtilityConstants {
11094
11333
  /**
@@ -11144,8 +11383,6 @@ declare module "factorio:runtime" {
11144
11383
  readonly logistic_gui_selected_network_highlight_tint: Color
11145
11384
  readonly chart_search_highlight: Color
11146
11385
  readonly selected_chart_search_highlight: Color
11147
- readonly zoom_to_world_can_use_nightvision: boolean
11148
- readonly zoom_to_world_effect_strength: float
11149
11386
  readonly max_logistic_filter_count: LogisticFilterIndex
11150
11387
  /**
11151
11388
  * Will be clamped to the range [1, 100].
@@ -11211,7 +11448,6 @@ declare module "factorio:runtime" {
11211
11448
  */
11212
11449
  readonly merge_bonus_gui_production_bonuses?: boolean
11213
11450
  readonly daytime_color_lookup: DaytimeColorLookupTable
11214
- readonly zoom_to_world_daytime_color_lookup: DaytimeColorLookupTable
11215
11451
  readonly frozen_color_lookup: ColorLookupTable
11216
11452
  readonly default_platform_surface_render_parameters: SurfaceRenderParameters
11217
11453
  readonly drop_item_radius: double
@@ -11282,6 +11518,13 @@ declare module "factorio:runtime" {
11282
11518
  readonly low_energy_robot_estimate_multiplier: double
11283
11519
  readonly asteroid_spawning_offset: SimpleBoundingBox
11284
11520
  readonly asteroid_fading_range: float
11521
+ /**
11522
+ * Asteroid damage will be multiplied by this value when space platform speed is zero and will linearly increase until asteroid_spawning_with_random_orientation_max_speed is reached.
11523
+ */
11524
+ readonly asteroid_min_damage_modifier: float
11525
+ /**
11526
+ * In km per tick.
11527
+ */
11285
11528
  readonly asteroid_spawning_with_random_orientation_max_speed: double
11286
11529
  readonly asteroid_position_offset_to_speed_coefficient: double
11287
11530
  readonly asteroid_collector_navmesh_refresh_tick_interval: uint32
@@ -11557,7 +11800,7 @@ declare module "factorio:runtime" {
11557
11800
  * - {@link LuaElectricNetwork}: Target type {@link defines.target_type.electric_network electric_network}
11558
11801
  * - {@link LuaElectricSubNetwork}: Target type {@link defines.target_type.electric_sub_network electric_sub_network}; `useful_id` {@link LuaElectricSubNetwork#id LuaElectricSubNetwork::id}
11559
11802
  * - {@link LuaForce}: Target type {@link defines.target_type.force force}; `useful_id` {@link LuaForce#index LuaForce::index}
11560
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/RegistrationTarget.html Online documentation}
11803
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/RegistrationTarget.html Online documentation}
11561
11804
  */
11562
11805
  export type RegistrationTarget =
11563
11806
  | LuaEntity
@@ -11609,7 +11852,10 @@ declare module "factorio:runtime" {
11609
11852
  */
11610
11853
  export interface MineEntityResearchTrigger extends BaseResearchTrigger {
11611
11854
  readonly type: "mine-entity"
11612
- readonly entity: string
11855
+ /**
11856
+ * The trigger is considered fulfilled if at least one of these entities is mined.
11857
+ */
11858
+ readonly entities: string[]
11613
11859
  }
11614
11860
  /**
11615
11861
  * `"craft-fluid"` variant of {@link ResearchTrigger}.
@@ -11662,7 +11908,7 @@ declare module "factorio:runtime" {
11662
11908
  * - `"build-entity"`: {@link BuildEntityResearchTrigger}
11663
11909
  * - `"send-item-to-orbit"`: {@link SendItemToOrbitResearchTrigger}
11664
11910
  * - `"scripted"`: {@link ScriptedResearchTrigger}
11665
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/ResearchTrigger.html Online documentation}
11911
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/ResearchTrigger.html Online documentation}
11666
11912
  */
11667
11913
  export type ResearchTrigger =
11668
11914
  | CraftItemResearchTrigger
@@ -11675,33 +11921,58 @@ declare module "factorio:runtime" {
11675
11921
  | OtherResearchTrigger
11676
11922
  /**
11677
11923
  * The name of a {@link import("factorio:prototype").ProcessionPrototype ProcessionPrototype}.
11678
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/ProcessionID.html Online documentation}
11924
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/ProcessionID.html Online documentation}
11679
11925
  */
11680
11926
  export type ProcessionID = string
11681
11927
  /**
11682
11928
  * @see DeciderCombinatorBlueprintControlBehaviorWrite
11683
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/DeciderCombinatorBlueprintControlBehavior.html Online documentation}
11929
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/DeciderCombinatorBlueprintControlBehavior.html Online documentation}
11684
11930
  */
11685
11931
  export interface DeciderCombinatorBlueprintControlBehavior {
11686
11932
  readonly decider_conditions: DeciderCombinatorParameters
11687
11933
  }
11688
11934
  /**
11689
11935
  * Write form of {@link DeciderCombinatorBlueprintControlBehavior}, where some properties allow additional values as input compared to the read form.
11690
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/DeciderCombinatorBlueprintControlBehavior.html Online documentation}
11936
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/DeciderCombinatorBlueprintControlBehavior.html Online documentation}
11691
11937
  */
11692
11938
  export interface DeciderCombinatorBlueprintControlBehaviorWrite {
11693
11939
  readonly decider_conditions: DeciderCombinatorParametersWrite
11694
11940
  }
11941
+ /**
11942
+ * @see RocketSiloBlueprintControlBehaviorWrite
11943
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/RocketSiloBlueprintControlBehavior.html Online documentation}
11944
+ */
11695
11945
  export interface RocketSiloBlueprintControlBehavior {
11696
11946
  readonly output_networks?: CircuitNetworkSelection
11697
11947
  /**
11698
11948
  * Defaults to `logistic_inventory`.
11699
11949
  */
11700
11950
  readonly read_items_mode?: defines.control_behavior.rocket_silo.read_mode
11951
+ /**
11952
+ * Defaults to `false`.
11953
+ */
11954
+ readonly read_launched?: boolean
11955
+ readonly launched_signal?: SignalID
11956
+ }
11957
+ /**
11958
+ * Write form of {@link RocketSiloBlueprintControlBehavior}, where some properties allow additional values as input compared to the read form.
11959
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/RocketSiloBlueprintControlBehavior.html Online documentation}
11960
+ */
11961
+ export interface RocketSiloBlueprintControlBehaviorWrite {
11962
+ readonly output_networks?: CircuitNetworkSelection
11963
+ /**
11964
+ * Defaults to `logistic_inventory`.
11965
+ */
11966
+ readonly read_items_mode?: defines.control_behavior.rocket_silo.read_mode
11967
+ /**
11968
+ * Defaults to `false`.
11969
+ */
11970
+ readonly read_launched?: boolean
11971
+ readonly launched_signal?: SignalIDWrite
11701
11972
  }
11702
11973
  /**
11703
11974
  * @see SpacePlatformHubBlueprintControlBehaviorWrite
11704
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/SpacePlatformHubBlueprintControlBehavior.html Online documentation}
11975
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/SpacePlatformHubBlueprintControlBehavior.html Online documentation}
11705
11976
  */
11706
11977
  export interface SpacePlatformHubBlueprintControlBehavior {
11707
11978
  readonly input_networks?: CircuitNetworkSelection
@@ -11710,6 +11981,11 @@ declare module "factorio:runtime" {
11710
11981
  * Defaults to `true`.
11711
11982
  */
11712
11983
  readonly read_contents?: boolean
11984
+ /**
11985
+ * Defaults to `false`.
11986
+ */
11987
+ readonly read_empty_slots?: boolean
11988
+ readonly empty_slots_signal?: SignalID
11713
11989
  /**
11714
11990
  * Defaults to `false`.
11715
11991
  */
@@ -11739,7 +12015,7 @@ declare module "factorio:runtime" {
11739
12015
  }
11740
12016
  /**
11741
12017
  * Write form of {@link SpacePlatformHubBlueprintControlBehavior}, where some properties allow additional values as input compared to the read form.
11742
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/SpacePlatformHubBlueprintControlBehavior.html Online documentation}
12018
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/SpacePlatformHubBlueprintControlBehavior.html Online documentation}
11743
12019
  */
11744
12020
  export interface SpacePlatformHubBlueprintControlBehaviorWrite {
11745
12021
  readonly input_networks?: CircuitNetworkSelection
@@ -11748,6 +12024,11 @@ declare module "factorio:runtime" {
11748
12024
  * Defaults to `true`.
11749
12025
  */
11750
12026
  readonly read_contents?: boolean
12027
+ /**
12028
+ * Defaults to `false`.
12029
+ */
12030
+ readonly read_empty_slots?: boolean
12031
+ readonly empty_slots_signal?: SignalIDWrite
11751
12032
  /**
11752
12033
  * Defaults to `false`.
11753
12034
  */
@@ -11777,7 +12058,7 @@ declare module "factorio:runtime" {
11777
12058
  }
11778
12059
  /**
11779
12060
  * @see RailSignalBaseBlueprintControlBehaviorWrite
11780
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/RailSignalBaseBlueprintControlBehavior.html Online documentation}
12061
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/RailSignalBaseBlueprintControlBehavior.html Online documentation}
11781
12062
  */
11782
12063
  export interface RailSignalBaseBlueprintControlBehavior {
11783
12064
  readonly input_networks?: CircuitNetworkSelection
@@ -11792,7 +12073,7 @@ declare module "factorio:runtime" {
11792
12073
  }
11793
12074
  /**
11794
12075
  * Write form of {@link RailSignalBaseBlueprintControlBehavior}, where some properties allow additional values as input compared to the read form.
11795
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/RailSignalBaseBlueprintControlBehavior.html Online documentation}
12076
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/RailSignalBaseBlueprintControlBehavior.html Online documentation}
11796
12077
  */
11797
12078
  export interface RailSignalBaseBlueprintControlBehaviorWrite {
11798
12079
  readonly input_networks?: CircuitNetworkSelection
@@ -11807,7 +12088,7 @@ declare module "factorio:runtime" {
11807
12088
  }
11808
12089
  /**
11809
12090
  * @see FurnaceBlueprintControlBehaviorWrite
11810
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/FurnaceBlueprintControlBehavior.html Online documentation}
12091
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/FurnaceBlueprintControlBehavior.html Online documentation}
11811
12092
  */
11812
12093
  export interface FurnaceBlueprintControlBehavior {
11813
12094
  readonly input_networks?: CircuitNetworkSelection
@@ -11851,7 +12132,7 @@ declare module "factorio:runtime" {
11851
12132
  }
11852
12133
  /**
11853
12134
  * Write form of {@link FurnaceBlueprintControlBehavior}, where some properties allow additional values as input compared to the read form.
11854
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/FurnaceBlueprintControlBehavior.html Online documentation}
12135
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/FurnaceBlueprintControlBehavior.html Online documentation}
11855
12136
  */
11856
12137
  export interface FurnaceBlueprintControlBehaviorWrite {
11857
12138
  readonly input_networks?: CircuitNetworkSelection
@@ -11895,18 +12176,22 @@ declare module "factorio:runtime" {
11895
12176
  }
11896
12177
  /**
11897
12178
  * @see ArithmeticCombinatorBlueprintControlBehaviorWrite
11898
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/ArithmeticCombinatorBlueprintControlBehavior.html Online documentation}
12179
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/ArithmeticCombinatorBlueprintControlBehavior.html Online documentation}
11899
12180
  */
11900
12181
  export interface ArithmeticCombinatorBlueprintControlBehavior {
11901
12182
  readonly arithmetic_conditions: ArithmeticCombinatorParameters
11902
12183
  }
11903
12184
  /**
11904
12185
  * Write form of {@link ArithmeticCombinatorBlueprintControlBehavior}, where some properties allow additional values as input compared to the read form.
11905
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/ArithmeticCombinatorBlueprintControlBehavior.html Online documentation}
12186
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/ArithmeticCombinatorBlueprintControlBehavior.html Online documentation}
11906
12187
  */
11907
12188
  export interface ArithmeticCombinatorBlueprintControlBehaviorWrite {
11908
12189
  readonly arithmetic_conditions: ArithmeticCombinatorParametersWrite
11909
12190
  }
12191
+ /**
12192
+ * @see CargoLandingPadBlueprintControlBehaviorWrite
12193
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/CargoLandingPadBlueprintControlBehavior.html Online documentation}
12194
+ */
11910
12195
  export interface CargoLandingPadBlueprintControlBehavior {
11911
12196
  readonly input_networks?: CircuitNetworkSelection
11912
12197
  readonly output_networks?: CircuitNetworkSelection
@@ -11914,6 +12199,32 @@ declare module "factorio:runtime" {
11914
12199
  * Defaults to `true`.
11915
12200
  */
11916
12201
  readonly read_contents?: boolean
12202
+ /**
12203
+ * Defaults to `false`.
12204
+ */
12205
+ readonly read_empty_slots?: boolean
12206
+ readonly empty_slots_signal?: SignalID
12207
+ /**
12208
+ * Defaults to `false`.
12209
+ */
12210
+ readonly set_requests?: boolean
12211
+ }
12212
+ /**
12213
+ * Write form of {@link CargoLandingPadBlueprintControlBehavior}, where some properties allow additional values as input compared to the read form.
12214
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/CargoLandingPadBlueprintControlBehavior.html Online documentation}
12215
+ */
12216
+ export interface CargoLandingPadBlueprintControlBehaviorWrite {
12217
+ readonly input_networks?: CircuitNetworkSelection
12218
+ readonly output_networks?: CircuitNetworkSelection
12219
+ /**
12220
+ * Defaults to `true`.
12221
+ */
12222
+ readonly read_contents?: boolean
12223
+ /**
12224
+ * Defaults to `false`.
12225
+ */
12226
+ readonly read_empty_slots?: boolean
12227
+ readonly empty_slots_signal?: SignalIDWrite
11917
12228
  /**
11918
12229
  * Defaults to `false`.
11919
12230
  */
@@ -11921,7 +12232,7 @@ declare module "factorio:runtime" {
11921
12232
  }
11922
12233
  /**
11923
12234
  * @see LampBlueprintControlBehaviorWrite
11924
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/LampBlueprintControlBehavior.html Online documentation}
12235
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/LampBlueprintControlBehavior.html Online documentation}
11925
12236
  */
11926
12237
  export interface LampBlueprintControlBehavior {
11927
12238
  readonly input_networks?: CircuitNetworkSelection
@@ -11950,7 +12261,7 @@ declare module "factorio:runtime" {
11950
12261
  }
11951
12262
  /**
11952
12263
  * Write form of {@link LampBlueprintControlBehavior}, where some properties allow additional values as input compared to the read form.
11953
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/LampBlueprintControlBehavior.html Online documentation}
12264
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/LampBlueprintControlBehavior.html Online documentation}
11954
12265
  */
11955
12266
  export interface LampBlueprintControlBehaviorWrite {
11956
12267
  readonly input_networks?: CircuitNetworkSelection
@@ -11977,16 +12288,41 @@ declare module "factorio:runtime" {
11977
12288
  readonly connect_to_logistic_network?: boolean
11978
12289
  readonly logistic_condition?: CircuitConditionWrite
11979
12290
  }
12291
+ /**
12292
+ * @see ProxyContainerBlueprintControlBehaviorWrite
12293
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/ProxyContainerBlueprintControlBehavior.html Online documentation}
12294
+ */
11980
12295
  export interface ProxyContainerBlueprintControlBehavior {
11981
12296
  readonly output_networks?: CircuitNetworkSelection
11982
12297
  /**
11983
12298
  * Defaults to `true`.
11984
12299
  */
11985
12300
  readonly read_contents?: boolean
12301
+ /**
12302
+ * Defaults to `false`.
12303
+ */
12304
+ readonly read_empty_slots?: boolean
12305
+ readonly empty_slots_signal?: SignalID
12306
+ }
12307
+ /**
12308
+ * Write form of {@link ProxyContainerBlueprintControlBehavior}, where some properties allow additional values as input compared to the read form.
12309
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/ProxyContainerBlueprintControlBehavior.html Online documentation}
12310
+ */
12311
+ export interface ProxyContainerBlueprintControlBehaviorWrite {
12312
+ readonly output_networks?: CircuitNetworkSelection
12313
+ /**
12314
+ * Defaults to `true`.
12315
+ */
12316
+ readonly read_contents?: boolean
12317
+ /**
12318
+ * Defaults to `false`.
12319
+ */
12320
+ readonly read_empty_slots?: boolean
12321
+ readonly empty_slots_signal?: SignalIDWrite
11986
12322
  }
11987
12323
  /**
11988
12324
  * @see MiningDrillBlueprintControlBehaviorWrite
11989
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/MiningDrillBlueprintControlBehavior.html Online documentation}
12325
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/MiningDrillBlueprintControlBehavior.html Online documentation}
11990
12326
  */
11991
12327
  export interface MiningDrillBlueprintControlBehavior {
11992
12328
  readonly input_networks?: CircuitNetworkSelection
@@ -12006,7 +12342,7 @@ declare module "factorio:runtime" {
12006
12342
  }
12007
12343
  /**
12008
12344
  * Write form of {@link MiningDrillBlueprintControlBehavior}, where some properties allow additional values as input compared to the read form.
12009
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/MiningDrillBlueprintControlBehavior.html Online documentation}
12345
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/MiningDrillBlueprintControlBehavior.html Online documentation}
12010
12346
  */
12011
12347
  export interface MiningDrillBlueprintControlBehaviorWrite {
12012
12348
  readonly input_networks?: CircuitNetworkSelection
@@ -12026,7 +12362,7 @@ declare module "factorio:runtime" {
12026
12362
  }
12027
12363
  /**
12028
12364
  * @see LoaderBlueprintControlBehaviorWrite
12029
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/LoaderBlueprintControlBehavior.html Online documentation}
12365
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/LoaderBlueprintControlBehavior.html Online documentation}
12030
12366
  */
12031
12367
  export interface LoaderBlueprintControlBehavior {
12032
12368
  readonly input_networks?: CircuitNetworkSelection
@@ -12052,7 +12388,7 @@ declare module "factorio:runtime" {
12052
12388
  }
12053
12389
  /**
12054
12390
  * Write form of {@link LoaderBlueprintControlBehavior}, where some properties allow additional values as input compared to the read form.
12055
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/LoaderBlueprintControlBehavior.html Online documentation}
12391
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/LoaderBlueprintControlBehavior.html Online documentation}
12056
12392
  */
12057
12393
  export interface LoaderBlueprintControlBehaviorWrite {
12058
12394
  readonly input_networks?: CircuitNetworkSelection
@@ -12078,7 +12414,7 @@ declare module "factorio:runtime" {
12078
12414
  }
12079
12415
  /**
12080
12416
  * @see WallBlueprintControlBehaviorWrite
12081
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/WallBlueprintControlBehavior.html Online documentation}
12417
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/WallBlueprintControlBehavior.html Online documentation}
12082
12418
  */
12083
12419
  export interface WallBlueprintControlBehavior {
12084
12420
  readonly input_networks?: CircuitNetworkSelection
@@ -12090,7 +12426,7 @@ declare module "factorio:runtime" {
12090
12426
  }
12091
12427
  /**
12092
12428
  * Write form of {@link WallBlueprintControlBehavior}, where some properties allow additional values as input compared to the read form.
12093
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/WallBlueprintControlBehavior.html Online documentation}
12429
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/WallBlueprintControlBehavior.html Online documentation}
12094
12430
  */
12095
12431
  export interface WallBlueprintControlBehaviorWrite {
12096
12432
  readonly input_networks?: CircuitNetworkSelection
@@ -12102,7 +12438,7 @@ declare module "factorio:runtime" {
12102
12438
  }
12103
12439
  /**
12104
12440
  * @see GenericOnOffBlueprintControlBehaviorWrite
12105
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/GenericOnOffBlueprintControlBehavior.html Online documentation}
12441
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/GenericOnOffBlueprintControlBehavior.html Online documentation}
12106
12442
  */
12107
12443
  export interface GenericOnOffBlueprintControlBehavior {
12108
12444
  readonly input_networks?: CircuitNetworkSelection
@@ -12119,7 +12455,7 @@ declare module "factorio:runtime" {
12119
12455
  }
12120
12456
  /**
12121
12457
  * Write form of {@link GenericOnOffBlueprintControlBehavior}, where some properties allow additional values as input compared to the read form.
12122
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/GenericOnOffBlueprintControlBehavior.html Online documentation}
12458
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/GenericOnOffBlueprintControlBehavior.html Online documentation}
12123
12459
  */
12124
12460
  export interface GenericOnOffBlueprintControlBehaviorWrite {
12125
12461
  readonly input_networks?: CircuitNetworkSelection
@@ -12136,7 +12472,7 @@ declare module "factorio:runtime" {
12136
12472
  }
12137
12473
  /**
12138
12474
  * @see ResearchConditionWrite
12139
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/ResearchCondition.html Online documentation}
12475
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/ResearchCondition.html Online documentation}
12140
12476
  */
12141
12477
  export interface ResearchCondition {
12142
12478
  readonly condition?: CircuitCondition
@@ -12151,7 +12487,7 @@ declare module "factorio:runtime" {
12151
12487
  }
12152
12488
  /**
12153
12489
  * Write form of {@link ResearchCondition}, where some properties allow additional values as input compared to the read form.
12154
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/ResearchCondition.html Online documentation}
12490
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/ResearchCondition.html Online documentation}
12155
12491
  */
12156
12492
  export interface ResearchConditionWrite {
12157
12493
  readonly condition?: CircuitConditionWrite
@@ -12166,7 +12502,7 @@ declare module "factorio:runtime" {
12166
12502
  }
12167
12503
  /**
12168
12504
  * @see BoilerBlueprintControlBehaviorWrite
12169
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/BoilerBlueprintControlBehavior.html Online documentation}
12505
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/BoilerBlueprintControlBehavior.html Online documentation}
12170
12506
  */
12171
12507
  export interface BoilerBlueprintControlBehavior {
12172
12508
  readonly input_networks?: CircuitNetworkSelection
@@ -12188,7 +12524,7 @@ declare module "factorio:runtime" {
12188
12524
  }
12189
12525
  /**
12190
12526
  * Write form of {@link BoilerBlueprintControlBehavior}, where some properties allow additional values as input compared to the read form.
12191
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/BoilerBlueprintControlBehavior.html Online documentation}
12527
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/BoilerBlueprintControlBehavior.html Online documentation}
12192
12528
  */
12193
12529
  export interface BoilerBlueprintControlBehaviorWrite {
12194
12530
  readonly input_networks?: CircuitNetworkSelection
@@ -12208,16 +12544,41 @@ declare module "factorio:runtime" {
12208
12544
  readonly connect_to_logistic_network?: boolean
12209
12545
  readonly logistic_condition?: CircuitConditionWrite
12210
12546
  }
12547
+ /**
12548
+ * @see ContainerBlueprintControlBehaviorWrite
12549
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/ContainerBlueprintControlBehavior.html Online documentation}
12550
+ */
12211
12551
  export interface ContainerBlueprintControlBehavior {
12212
12552
  readonly output_networks?: CircuitNetworkSelection
12213
12553
  /**
12214
12554
  * Defaults to `true`.
12215
12555
  */
12216
12556
  readonly read_contents?: boolean
12557
+ /**
12558
+ * Defaults to `false`.
12559
+ */
12560
+ readonly read_empty_slots?: boolean
12561
+ readonly empty_slots_signal?: SignalID
12562
+ }
12563
+ /**
12564
+ * Write form of {@link ContainerBlueprintControlBehavior}, where some properties allow additional values as input compared to the read form.
12565
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/ContainerBlueprintControlBehavior.html Online documentation}
12566
+ */
12567
+ export interface ContainerBlueprintControlBehaviorWrite {
12568
+ readonly output_networks?: CircuitNetworkSelection
12569
+ /**
12570
+ * Defaults to `true`.
12571
+ */
12572
+ readonly read_contents?: boolean
12573
+ /**
12574
+ * Defaults to `false`.
12575
+ */
12576
+ readonly read_empty_slots?: boolean
12577
+ readonly empty_slots_signal?: SignalIDWrite
12217
12578
  }
12218
12579
  /**
12219
12580
  * @see PumpBlueprintControlBehaviorWrite
12220
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/PumpBlueprintControlBehavior.html Online documentation}
12581
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/PumpBlueprintControlBehavior.html Online documentation}
12221
12582
  */
12222
12583
  export interface PumpBlueprintControlBehavior {
12223
12584
  readonly input_networks?: CircuitNetworkSelection
@@ -12238,7 +12599,7 @@ declare module "factorio:runtime" {
12238
12599
  }
12239
12600
  /**
12240
12601
  * Write form of {@link PumpBlueprintControlBehavior}, where some properties allow additional values as input compared to the read form.
12241
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/PumpBlueprintControlBehavior.html Online documentation}
12602
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/PumpBlueprintControlBehavior.html Online documentation}
12242
12603
  */
12243
12604
  export interface PumpBlueprintControlBehaviorWrite {
12244
12605
  readonly input_networks?: CircuitNetworkSelection
@@ -12259,7 +12620,7 @@ declare module "factorio:runtime" {
12259
12620
  }
12260
12621
  /**
12261
12622
  * @see TrainStopBlueprintControlBehaviorWrite
12262
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/TrainStopBlueprintControlBehavior.html Online documentation}
12623
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/TrainStopBlueprintControlBehavior.html Online documentation}
12263
12624
  */
12264
12625
  export interface TrainStopBlueprintControlBehavior {
12265
12626
  readonly input_networks?: CircuitNetworkSelection
@@ -12305,7 +12666,7 @@ declare module "factorio:runtime" {
12305
12666
  }
12306
12667
  /**
12307
12668
  * Write form of {@link TrainStopBlueprintControlBehavior}, where some properties allow additional values as input compared to the read form.
12308
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/TrainStopBlueprintControlBehavior.html Online documentation}
12669
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/TrainStopBlueprintControlBehavior.html Online documentation}
12309
12670
  */
12310
12671
  export interface TrainStopBlueprintControlBehaviorWrite {
12311
12672
  readonly input_networks?: CircuitNetworkSelection
@@ -12351,7 +12712,7 @@ declare module "factorio:runtime" {
12351
12712
  }
12352
12713
  /**
12353
12714
  * @see LandMineBlueprintControlBehaviorWrite
12354
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/LandMineBlueprintControlBehavior.html Online documentation}
12715
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/LandMineBlueprintControlBehavior.html Online documentation}
12355
12716
  */
12356
12717
  export interface LandMineBlueprintControlBehavior {
12357
12718
  readonly input_networks?: CircuitNetworkSelection
@@ -12368,7 +12729,7 @@ declare module "factorio:runtime" {
12368
12729
  }
12369
12730
  /**
12370
12731
  * Write form of {@link LandMineBlueprintControlBehavior}, where some properties allow additional values as input compared to the read form.
12371
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/LandMineBlueprintControlBehavior.html Online documentation}
12732
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/LandMineBlueprintControlBehavior.html Online documentation}
12372
12733
  */
12373
12734
  export interface LandMineBlueprintControlBehaviorWrite {
12374
12735
  readonly input_networks?: CircuitNetworkSelection
@@ -12385,7 +12746,7 @@ declare module "factorio:runtime" {
12385
12746
  }
12386
12747
  /**
12387
12748
  * @see ProgrammableSpeakerBlueprintControlBehaviorWrite
12388
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/ProgrammableSpeakerBlueprintControlBehavior.html Online documentation}
12749
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/ProgrammableSpeakerBlueprintControlBehavior.html Online documentation}
12389
12750
  */
12390
12751
  export interface ProgrammableSpeakerBlueprintControlBehavior {
12391
12752
  readonly circuit_condition: CircuitCondition
@@ -12393,7 +12754,7 @@ declare module "factorio:runtime" {
12393
12754
  }
12394
12755
  /**
12395
12756
  * Write form of {@link ProgrammableSpeakerBlueprintControlBehavior}, where some properties allow additional values as input compared to the read form.
12396
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/ProgrammableSpeakerBlueprintControlBehavior.html Online documentation}
12757
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/ProgrammableSpeakerBlueprintControlBehavior.html Online documentation}
12397
12758
  */
12398
12759
  export interface ProgrammableSpeakerBlueprintControlBehaviorWrite {
12399
12760
  readonly circuit_condition: CircuitConditionWrite
@@ -12401,7 +12762,7 @@ declare module "factorio:runtime" {
12401
12762
  }
12402
12763
  /**
12403
12764
  * @see HeatPipeBlueprintControlBehaviorWrite
12404
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/HeatPipeBlueprintControlBehavior.html Online documentation}
12765
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/HeatPipeBlueprintControlBehavior.html Online documentation}
12405
12766
  */
12406
12767
  export interface HeatPipeBlueprintControlBehavior {
12407
12768
  readonly output_networks?: CircuitNetworkSelection
@@ -12413,7 +12774,7 @@ declare module "factorio:runtime" {
12413
12774
  }
12414
12775
  /**
12415
12776
  * Write form of {@link HeatPipeBlueprintControlBehavior}, where some properties allow additional values as input compared to the read form.
12416
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/HeatPipeBlueprintControlBehavior.html Online documentation}
12777
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/HeatPipeBlueprintControlBehavior.html Online documentation}
12417
12778
  */
12418
12779
  export interface HeatPipeBlueprintControlBehaviorWrite {
12419
12780
  readonly output_networks?: CircuitNetworkSelection
@@ -12425,7 +12786,7 @@ declare module "factorio:runtime" {
12425
12786
  }
12426
12787
  /**
12427
12788
  * @see SplitterBlueprintControlBehaviorWrite
12428
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/SplitterBlueprintControlBehavior.html Online documentation}
12789
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/SplitterBlueprintControlBehavior.html Online documentation}
12429
12790
  */
12430
12791
  export interface SplitterBlueprintControlBehavior {
12431
12792
  readonly input_networks?: CircuitNetworkSelection
@@ -12448,7 +12809,7 @@ declare module "factorio:runtime" {
12448
12809
  }
12449
12810
  /**
12450
12811
  * Write form of {@link SplitterBlueprintControlBehavior}, where some properties allow additional values as input compared to the read form.
12451
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/SplitterBlueprintControlBehavior.html Online documentation}
12812
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/SplitterBlueprintControlBehavior.html Online documentation}
12452
12813
  */
12453
12814
  export interface SplitterBlueprintControlBehaviorWrite {
12454
12815
  readonly input_networks?: CircuitNetworkSelection
@@ -12471,7 +12832,7 @@ declare module "factorio:runtime" {
12471
12832
  }
12472
12833
  /**
12473
12834
  * @see TransportBeltBlueprintControlBehaviorWrite
12474
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/TransportBeltBlueprintControlBehavior.html Online documentation}
12835
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/TransportBeltBlueprintControlBehavior.html Online documentation}
12475
12836
  */
12476
12837
  export interface TransportBeltBlueprintControlBehavior {
12477
12838
  readonly input_networks?: CircuitNetworkSelection
@@ -12491,7 +12852,7 @@ declare module "factorio:runtime" {
12491
12852
  }
12492
12853
  /**
12493
12854
  * Write form of {@link TransportBeltBlueprintControlBehavior}, where some properties allow additional values as input compared to the read form.
12494
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/TransportBeltBlueprintControlBehavior.html Online documentation}
12855
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/TransportBeltBlueprintControlBehavior.html Online documentation}
12495
12856
  */
12496
12857
  export interface TransportBeltBlueprintControlBehaviorWrite {
12497
12858
  readonly input_networks?: CircuitNetworkSelection
@@ -12511,7 +12872,7 @@ declare module "factorio:runtime" {
12511
12872
  }
12512
12873
  /**
12513
12874
  * @see LogisticContainerBlueprintControlBehaviorWrite
12514
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/LogisticContainerBlueprintControlBehavior.html Online documentation}
12875
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/LogisticContainerBlueprintControlBehavior.html Online documentation}
12515
12876
  */
12516
12877
  export interface LogisticContainerBlueprintControlBehavior {
12517
12878
  readonly input_networks?: CircuitNetworkSelection
@@ -12520,6 +12881,11 @@ declare module "factorio:runtime" {
12520
12881
  * Defaults to `true`.
12521
12882
  */
12522
12883
  readonly read_contents?: boolean
12884
+ /**
12885
+ * Defaults to `false`.
12886
+ */
12887
+ readonly read_empty_slots?: boolean
12888
+ readonly empty_slots_signal?: SignalID
12523
12889
  /**
12524
12890
  * Defaults to `false`.
12525
12891
  */
@@ -12532,7 +12898,7 @@ declare module "factorio:runtime" {
12532
12898
  }
12533
12899
  /**
12534
12900
  * Write form of {@link LogisticContainerBlueprintControlBehavior}, where some properties allow additional values as input compared to the read form.
12535
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/LogisticContainerBlueprintControlBehavior.html Online documentation}
12901
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/LogisticContainerBlueprintControlBehavior.html Online documentation}
12536
12902
  */
12537
12903
  export interface LogisticContainerBlueprintControlBehaviorWrite {
12538
12904
  readonly input_networks?: CircuitNetworkSelection
@@ -12541,6 +12907,11 @@ declare module "factorio:runtime" {
12541
12907
  * Defaults to `true`.
12542
12908
  */
12543
12909
  readonly read_contents?: boolean
12910
+ /**
12911
+ * Defaults to `false`.
12912
+ */
12913
+ readonly read_empty_slots?: boolean
12914
+ readonly empty_slots_signal?: SignalIDWrite
12544
12915
  /**
12545
12916
  * Defaults to `false`.
12546
12917
  */
@@ -12553,7 +12924,7 @@ declare module "factorio:runtime" {
12553
12924
  }
12554
12925
  /**
12555
12926
  * @see ReactorBlueprintControlBehaviorWrite
12556
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/ReactorBlueprintControlBehavior.html Online documentation}
12927
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/ReactorBlueprintControlBehavior.html Online documentation}
12557
12928
  */
12558
12929
  export interface ReactorBlueprintControlBehavior {
12559
12930
  readonly output_networks?: CircuitNetworkSelection
@@ -12565,11 +12936,11 @@ declare module "factorio:runtime" {
12565
12936
  * Defaults to `false`.
12566
12937
  */
12567
12938
  readonly read_temperature?: boolean
12568
- readonly temperature_signal: SignalID
12939
+ readonly temperature_signal?: SignalID
12569
12940
  }
12570
12941
  /**
12571
12942
  * Write form of {@link ReactorBlueprintControlBehavior}, where some properties allow additional values as input compared to the read form.
12572
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/ReactorBlueprintControlBehavior.html Online documentation}
12943
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/ReactorBlueprintControlBehavior.html Online documentation}
12573
12944
  */
12574
12945
  export interface ReactorBlueprintControlBehaviorWrite {
12575
12946
  readonly output_networks?: CircuitNetworkSelection
@@ -12581,11 +12952,11 @@ declare module "factorio:runtime" {
12581
12952
  * Defaults to `false`.
12582
12953
  */
12583
12954
  readonly read_temperature?: boolean
12584
- readonly temperature_signal: SignalIDWrite
12955
+ readonly temperature_signal?: SignalIDWrite
12585
12956
  }
12586
12957
  /**
12587
12958
  * @see ConstantCombinatorBlueprintControlBehaviorWrite
12588
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/ConstantCombinatorBlueprintControlBehavior.html Online documentation}
12959
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/ConstantCombinatorBlueprintControlBehavior.html Online documentation}
12589
12960
  */
12590
12961
  export interface ConstantCombinatorBlueprintControlBehavior {
12591
12962
  readonly sections: LogisticSections
@@ -12596,7 +12967,7 @@ declare module "factorio:runtime" {
12596
12967
  }
12597
12968
  /**
12598
12969
  * Write form of {@link ConstantCombinatorBlueprintControlBehavior}, where some properties allow additional values as input compared to the read form.
12599
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/ConstantCombinatorBlueprintControlBehavior.html Online documentation}
12970
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/ConstantCombinatorBlueprintControlBehavior.html Online documentation}
12600
12971
  */
12601
12972
  export interface ConstantCombinatorBlueprintControlBehaviorWrite {
12602
12973
  readonly sections: LogisticSectionsWrite
@@ -12607,7 +12978,7 @@ declare module "factorio:runtime" {
12607
12978
  }
12608
12979
  /**
12609
12980
  * @see ArtilleryTurretBlueprintControlBehaviorWrite
12610
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/ArtilleryTurretBlueprintControlBehavior.html Online documentation}
12981
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/ArtilleryTurretBlueprintControlBehavior.html Online documentation}
12611
12982
  */
12612
12983
  export interface ArtilleryTurretBlueprintControlBehavior {
12613
12984
  readonly input_networks?: CircuitNetworkSelection
@@ -12626,7 +12997,7 @@ declare module "factorio:runtime" {
12626
12997
  }
12627
12998
  /**
12628
12999
  * Write form of {@link ArtilleryTurretBlueprintControlBehavior}, where some properties allow additional values as input compared to the read form.
12629
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/ArtilleryTurretBlueprintControlBehavior.html Online documentation}
13000
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/ArtilleryTurretBlueprintControlBehavior.html Online documentation}
12630
13001
  */
12631
13002
  export interface ArtilleryTurretBlueprintControlBehaviorWrite {
12632
13003
  readonly input_networks?: CircuitNetworkSelection
@@ -12645,7 +13016,7 @@ declare module "factorio:runtime" {
12645
13016
  }
12646
13017
  /**
12647
13018
  * @see LabBlueprintControlBehaviorWrite
12648
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/LabBlueprintControlBehavior.html Online documentation}
13019
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/LabBlueprintControlBehavior.html Online documentation}
12649
13020
  */
12650
13021
  export interface LabBlueprintControlBehavior {
12651
13022
  readonly input_networks?: CircuitNetworkSelection
@@ -12660,7 +13031,7 @@ declare module "factorio:runtime" {
12660
13031
  }
12661
13032
  /**
12662
13033
  * Write form of {@link LabBlueprintControlBehavior}, where some properties allow additional values as input compared to the read form.
12663
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/LabBlueprintControlBehavior.html Online documentation}
13034
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/LabBlueprintControlBehavior.html Online documentation}
12664
13035
  */
12665
13036
  export interface LabBlueprintControlBehaviorWrite {
12666
13037
  readonly input_networks?: CircuitNetworkSelection
@@ -12675,7 +13046,7 @@ declare module "factorio:runtime" {
12675
13046
  }
12676
13047
  /**
12677
13048
  * @see RadarBlueprintControlBehaviorWrite
12678
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/RadarBlueprintControlBehavior.html Online documentation}
13049
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/RadarBlueprintControlBehavior.html Online documentation}
12679
13050
  */
12680
13051
  export interface RadarBlueprintControlBehavior {
12681
13052
  /**
@@ -12686,7 +13057,7 @@ declare module "factorio:runtime" {
12686
13057
  }
12687
13058
  /**
12688
13059
  * Write form of {@link RadarBlueprintControlBehavior}, where some properties allow additional values as input compared to the read form.
12689
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/RadarBlueprintControlBehavior.html Online documentation}
13060
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/RadarBlueprintControlBehavior.html Online documentation}
12690
13061
  */
12691
13062
  export interface RadarBlueprintControlBehaviorWrite {
12692
13063
  /**
@@ -12697,7 +13068,7 @@ declare module "factorio:runtime" {
12697
13068
  }
12698
13069
  /**
12699
13070
  * @see AccumulatorBlueprintControlBehaviorWrite
12700
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/AccumulatorBlueprintControlBehavior.html Online documentation}
13071
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/AccumulatorBlueprintControlBehavior.html Online documentation}
12701
13072
  */
12702
13073
  export interface AccumulatorBlueprintControlBehavior {
12703
13074
  readonly output_networks?: CircuitNetworkSelection
@@ -12709,7 +13080,7 @@ declare module "factorio:runtime" {
12709
13080
  }
12710
13081
  /**
12711
13082
  * Write form of {@link AccumulatorBlueprintControlBehavior}, where some properties allow additional values as input compared to the read form.
12712
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/AccumulatorBlueprintControlBehavior.html Online documentation}
13083
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/AccumulatorBlueprintControlBehavior.html Online documentation}
12713
13084
  */
12714
13085
  export interface AccumulatorBlueprintControlBehaviorWrite {
12715
13086
  readonly output_networks?: CircuitNetworkSelection
@@ -12721,7 +13092,7 @@ declare module "factorio:runtime" {
12721
13092
  }
12722
13093
  /**
12723
13094
  * @see SingleFluidBoxBlueprintControlBehaviorWrite
12724
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/SingleFluidBoxBlueprintControlBehavior.html Online documentation}
13095
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/SingleFluidBoxBlueprintControlBehavior.html Online documentation}
12725
13096
  */
12726
13097
  export interface SingleFluidBoxBlueprintControlBehavior {
12727
13098
  readonly output_networks?: CircuitNetworkSelection
@@ -12737,7 +13108,7 @@ declare module "factorio:runtime" {
12737
13108
  }
12738
13109
  /**
12739
13110
  * Write form of {@link SingleFluidBoxBlueprintControlBehavior}, where some properties allow additional values as input compared to the read form.
12740
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/SingleFluidBoxBlueprintControlBehavior.html Online documentation}
13111
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/SingleFluidBoxBlueprintControlBehavior.html Online documentation}
12741
13112
  */
12742
13113
  export interface SingleFluidBoxBlueprintControlBehaviorWrite {
12743
13114
  readonly output_networks?: CircuitNetworkSelection
@@ -12753,7 +13124,7 @@ declare module "factorio:runtime" {
12753
13124
  }
12754
13125
  /**
12755
13126
  * @see TurretBlueprintControlBehaviorWrite
12756
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/TurretBlueprintControlBehavior.html Online documentation}
13127
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/TurretBlueprintControlBehavior.html Online documentation}
12757
13128
  */
12758
13129
  export interface TurretBlueprintControlBehavior {
12759
13130
  readonly input_networks?: CircuitNetworkSelection
@@ -12784,7 +13155,7 @@ declare module "factorio:runtime" {
12784
13155
  }
12785
13156
  /**
12786
13157
  * Write form of {@link TurretBlueprintControlBehavior}, where some properties allow additional values as input compared to the read form.
12787
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/TurretBlueprintControlBehavior.html Online documentation}
13158
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/TurretBlueprintControlBehavior.html Online documentation}
12788
13159
  */
12789
13160
  export interface TurretBlueprintControlBehaviorWrite {
12790
13161
  readonly input_networks?: CircuitNetworkSelection
@@ -12815,7 +13186,7 @@ declare module "factorio:runtime" {
12815
13186
  }
12816
13187
  /**
12817
13188
  * @see AsteroidCollectorBlueprintControlBehaviorWrite
12818
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/AsteroidCollectorBlueprintControlBehavior.html Online documentation}
13189
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/AsteroidCollectorBlueprintControlBehavior.html Online documentation}
12819
13190
  */
12820
13191
  export interface AsteroidCollectorBlueprintControlBehavior {
12821
13192
  readonly input_networks?: CircuitNetworkSelection
@@ -12845,7 +13216,7 @@ declare module "factorio:runtime" {
12845
13216
  }
12846
13217
  /**
12847
13218
  * Write form of {@link AsteroidCollectorBlueprintControlBehavior}, where some properties allow additional values as input compared to the read form.
12848
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/AsteroidCollectorBlueprintControlBehavior.html Online documentation}
13219
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/AsteroidCollectorBlueprintControlBehavior.html Online documentation}
12849
13220
  */
12850
13221
  export interface AsteroidCollectorBlueprintControlBehaviorWrite {
12851
13222
  readonly input_networks?: CircuitNetworkSelection
@@ -12875,7 +13246,7 @@ declare module "factorio:runtime" {
12875
13246
  }
12876
13247
  /**
12877
13248
  * @see InserterBlueprintControlBehaviorWrite
12878
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/InserterBlueprintControlBehavior.html Online documentation}
13249
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/InserterBlueprintControlBehavior.html Online documentation}
12879
13250
  */
12880
13251
  export interface InserterBlueprintControlBehavior {
12881
13252
  readonly input_networks?: CircuitNetworkSelection
@@ -12910,7 +13281,7 @@ declare module "factorio:runtime" {
12910
13281
  }
12911
13282
  /**
12912
13283
  * Write form of {@link InserterBlueprintControlBehavior}, where some properties allow additional values as input compared to the read form.
12913
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/InserterBlueprintControlBehavior.html Online documentation}
13284
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/InserterBlueprintControlBehavior.html Online documentation}
12914
13285
  */
12915
13286
  export interface InserterBlueprintControlBehaviorWrite {
12916
13287
  readonly input_networks?: CircuitNetworkSelection
@@ -12945,21 +13316,21 @@ declare module "factorio:runtime" {
12945
13316
  }
12946
13317
  /**
12947
13318
  * @see DisplayPanelBlueprintControlBehaviorWrite
12948
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/DisplayPanelBlueprintControlBehavior.html Online documentation}
13319
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/DisplayPanelBlueprintControlBehavior.html Online documentation}
12949
13320
  */
12950
13321
  export interface DisplayPanelBlueprintControlBehavior {
12951
13322
  readonly parameters?: DisplayPanelMessageDefinition[]
12952
13323
  }
12953
13324
  /**
12954
13325
  * Write form of {@link DisplayPanelBlueprintControlBehavior}, where some properties allow additional values as input compared to the read form.
12955
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/DisplayPanelBlueprintControlBehavior.html Online documentation}
13326
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/DisplayPanelBlueprintControlBehavior.html Online documentation}
12956
13327
  */
12957
13328
  export interface DisplayPanelBlueprintControlBehaviorWrite {
12958
13329
  readonly parameters?: readonly DisplayPanelMessageDefinitionWrite[]
12959
13330
  }
12960
13331
  /**
12961
13332
  * @see RoboportBlueprintControlBehaviorWrite
12962
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/RoboportBlueprintControlBehavior.html Online documentation}
13333
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/RoboportBlueprintControlBehavior.html Online documentation}
12963
13334
  */
12964
13335
  export interface RoboportBlueprintControlBehavior {
12965
13336
  readonly output_networks?: CircuitNetworkSelection
@@ -12973,7 +13344,7 @@ declare module "factorio:runtime" {
12973
13344
  }
12974
13345
  /**
12975
13346
  * Write form of {@link RoboportBlueprintControlBehavior}, where some properties allow additional values as input compared to the read form.
12976
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/RoboportBlueprintControlBehavior.html Online documentation}
13347
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/RoboportBlueprintControlBehavior.html Online documentation}
12977
13348
  */
12978
13349
  export interface RoboportBlueprintControlBehaviorWrite {
12979
13350
  readonly output_networks?: CircuitNetworkSelection
@@ -12987,7 +13358,7 @@ declare module "factorio:runtime" {
12987
13358
  }
12988
13359
  /**
12989
13360
  * @see AssemblingMachineBlueprintControlBehaviorWrite
12990
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/AssemblingMachineBlueprintControlBehavior.html Online documentation}
13361
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/AssemblingMachineBlueprintControlBehavior.html Online documentation}
12991
13362
  */
12992
13363
  export interface AssemblingMachineBlueprintControlBehavior {
12993
13364
  readonly input_networks?: CircuitNetworkSelection
@@ -13035,7 +13406,7 @@ declare module "factorio:runtime" {
13035
13406
  }
13036
13407
  /**
13037
13408
  * Write form of {@link AssemblingMachineBlueprintControlBehavior}, where some properties allow additional values as input compared to the read form.
13038
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/AssemblingMachineBlueprintControlBehavior.html Online documentation}
13409
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/AssemblingMachineBlueprintControlBehavior.html Online documentation}
13039
13410
  */
13040
13411
  export interface AssemblingMachineBlueprintControlBehaviorWrite {
13041
13412
  readonly input_networks?: CircuitNetworkSelection
@@ -13083,7 +13454,7 @@ declare module "factorio:runtime" {
13083
13454
  }
13084
13455
  /**
13085
13456
  * @see AgriculturalTowerBlueprintControlBehaviorWrite
13086
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/AgriculturalTowerBlueprintControlBehavior.html Online documentation}
13457
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/AgriculturalTowerBlueprintControlBehavior.html Online documentation}
13087
13458
  */
13088
13459
  export interface AgriculturalTowerBlueprintControlBehavior {
13089
13460
  readonly input_networks?: CircuitNetworkSelection
@@ -13115,7 +13486,7 @@ declare module "factorio:runtime" {
13115
13486
  }
13116
13487
  /**
13117
13488
  * Write form of {@link AgriculturalTowerBlueprintControlBehavior}, where some properties allow additional values as input compared to the read form.
13118
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/AgriculturalTowerBlueprintControlBehavior.html Online documentation}
13489
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/AgriculturalTowerBlueprintControlBehavior.html Online documentation}
13119
13490
  */
13120
13491
  export interface AgriculturalTowerBlueprintControlBehaviorWrite {
13121
13492
  readonly input_networks?: CircuitNetworkSelection
@@ -13181,7 +13552,7 @@ declare module "factorio:runtime" {
13181
13552
  * "2500 * (L - 3)"
13182
13553
  * @example
13183
13554
  * "(4e5 * (abs(speed) + 10.5)) / weight"
13184
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/MathExpression.html Online documentation}
13555
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/MathExpression.html Online documentation}
13185
13556
  */
13186
13557
  export type MathExpression = string
13187
13558
  /**
@@ -13192,12 +13563,12 @@ declare module "factorio:runtime" {
13192
13563
  * Tables inside Tags that have numeric keys but are not sequences (e.g. `tags = {foo = {nil, "something"}}` or `tags = {bar = {[4] = "cat"}}`) will have their keys converted to strings when read back from the game (e.g. `{foo = {["2"] = "something"}}` or `{bar = {["4"] = "cat"}}`). Only sequences without gaps will have their keys maintained as numeric.
13193
13564
  * @example
13194
13565
  * {a = 1, b = true, c = "three", d = {e = "f"}}
13195
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/Tags.html Online documentation}
13566
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/Tags.html Online documentation}
13196
13567
  */
13197
13568
  export type Tags = Record<string, AnyBasic>
13198
13569
  /**
13199
13570
  * @see TileWrite
13200
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/Tile.html Online documentation}
13571
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/Tile.html Online documentation}
13201
13572
  */
13202
13573
  export interface Tile {
13203
13574
  /**
@@ -13211,7 +13582,7 @@ declare module "factorio:runtime" {
13211
13582
  }
13212
13583
  /**
13213
13584
  * Write form of {@link Tile}, where some properties allow additional values as input compared to the read form.
13214
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/Tile.html Online documentation}
13585
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/Tile.html Online documentation}
13215
13586
  */
13216
13587
  export interface TileWrite {
13217
13588
  /**
@@ -13235,99 +13606,99 @@ declare module "factorio:runtime" {
13235
13606
  }
13236
13607
  /**
13237
13608
  * 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.
13238
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/float.html Online documentation}
13609
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/float.html Online documentation}
13239
13610
  */
13240
13611
  export type float = number
13241
13612
  /**
13242
13613
  * A double-precision floating-point number. This is the same data type as all Lua numbers use.
13243
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/double.html Online documentation}
13614
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/double.html Online documentation}
13244
13615
  */
13245
13616
  export type double = number
13246
13617
  /**
13247
13618
  * 8-bit unsigned integer. Possible values are `0` to `255`.
13248
13619
  *
13249
13620
  * Since Lua 5.2 only uses doubles, any API that asks for `uint8` will floor the given double.
13250
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/uint8.html Online documentation}
13621
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/uint8.html Online documentation}
13251
13622
  */
13252
13623
  export type uint8 = number
13253
13624
  /**
13254
13625
  * 8-bit signed integer. Possible values are `-128` to `127`.
13255
13626
  *
13256
13627
  * Since Lua 5.2 only uses doubles, any API that asks for `int8` will floor the given double.
13257
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/int8.html Online documentation}
13628
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/int8.html Online documentation}
13258
13629
  */
13259
13630
  export type int8 = number
13260
13631
  /**
13261
13632
  * 16-bit unsigned integer. Possible values are `0` to `65 535`.
13262
13633
  *
13263
13634
  * Since Lua 5.2 only uses doubles, any API that asks for `uint16` will floor the given double.
13264
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/uint16.html Online documentation}
13635
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/uint16.html Online documentation}
13265
13636
  */
13266
13637
  export type uint16 = number
13267
13638
  /**
13268
13639
  * 16 bit signed integer. Possible values are `-32 768` to `32 767`.
13269
13640
  *
13270
13641
  * Since Lua 5.2 only uses doubles, any API that asks for `int16` will floor the given double.
13271
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/int16.html Online documentation}
13642
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/int16.html Online documentation}
13272
13643
  */
13273
13644
  export type int16 = number
13274
13645
  /**
13275
13646
  * 32-bit unsigned integer. Possible values are `0` to `4 294 967 295`.
13276
13647
  *
13277
13648
  * Since Lua 5.2 only uses doubles, any API that asks for `uint` will floor the given double.
13278
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/uint32.html Online documentation}
13649
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/uint32.html Online documentation}
13279
13650
  */
13280
13651
  export type uint32 = number
13281
13652
  /**
13282
13653
  * 32-bit signed integer. Possible values are `-2 147 483 648` to `2 147 483 647`.
13283
13654
  *
13284
13655
  * Since Lua 5.2 only uses doubles, any API that asks for `int` will floor the given double.
13285
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/int32.html Online documentation}
13656
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/int32.html Online documentation}
13286
13657
  */
13287
13658
  export type int32 = number
13288
13659
  /**
13289
13660
  * 64-bit unsigned integer. Possible values are `0` to `18 446 744 073 709 551 615`.
13290
13661
  *
13291
13662
  * Since Lua 5.2 only uses doubles, any API that asks for `uint64` will floor the given double.
13292
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/uint64.html Online documentation}
13663
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/uint64.html Online documentation}
13293
13664
  */
13294
13665
  export type uint64 = number
13295
13666
  /**
13296
13667
  * 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.
13297
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/nil.html Online documentation}
13668
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/nil.html Online documentation}
13298
13669
  */
13299
13670
  export type nil = undefined
13300
13671
  /**
13301
13672
  * Tables are enclosed in curly brackets, like this `{}`.
13302
13673
  *
13303
13674
  * Throughout the API docs, the terms "array" and "dictionary" are used. These are fundamentally just {@linkplain https://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.
13304
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/table.html Online documentation}
13675
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/table.html Online documentation}
13305
13676
  */
13306
13677
  export type table = object
13307
13678
  /**
13308
- * Any LuaObject listed on the {@linkplain https://lua-api.factorio.com/2.1.9/classes.html Classes} page.
13309
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/LuaObject.html Online documentation}
13679
+ * Any LuaObject listed on the {@linkplain https://lua-api.factorio.com/2.1.21/classes.html Classes} page.
13680
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/LuaObject.html Online documentation}
13310
13681
  */
13311
13682
  export interface LuaObject {
13312
13683
  readonly object_name: string
13313
13684
  }
13314
13685
  /**
13315
13686
  * Any basic type (string, number, boolean) or table.
13316
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/AnyBasic.html Online documentation}
13687
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/AnyBasic.html Online documentation}
13317
13688
  */
13318
13689
  export type AnyBasic = string | boolean | number | table
13319
13690
  /**
13320
13691
  * Any basic type (string, number, boolean), table, or LuaObject.
13321
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/Any.html Online documentation}
13692
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/Any.html Online documentation}
13322
13693
  */
13323
13694
  export type Any = string | boolean | number | table | LuaObject
13324
13695
  /**
13325
13696
  * 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}`.
13326
13697
  *
13327
- * {@link https://lua-api.factorio.com/2.1.9/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:}
13698
+ * {@link https://lua-api.factorio.com/2.1.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:}
13328
13699
  *
13329
- * {@link https://lua-api.factorio.com/2.1.9/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:}
13330
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/PropertyExpressionNames.html Online documentation}
13700
+ * {@link https://lua-api.factorio.com/2.1.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:}
13701
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/PropertyExpressionNames.html Online documentation}
13331
13702
  */
13332
13703
  export type PropertyExpressionNames = Record<string, string>
13333
13704
  /**
@@ -13384,7 +13755,7 @@ declare module "factorio:runtime" {
13384
13755
  * - `"type"`: {@link TypeModSettingPrototypeFilter}
13385
13756
  * - `"mod"`: {@link ModModSettingPrototypeFilter}
13386
13757
  * - `"setting-type"`: {@link SettingTypeModSettingPrototypeFilter}
13387
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/ModSettingPrototypeFilter.html Online documentation}
13758
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/ModSettingPrototypeFilter.html Online documentation}
13388
13759
  */
13389
13760
  export type ModSettingPrototypeFilter =
13390
13761
  TypeModSettingPrototypeFilter | ModModSettingPrototypeFilter | SettingTypeModSettingPrototypeFilter
@@ -13446,13 +13817,13 @@ declare module "factorio:runtime" {
13446
13817
  * Other attributes may be specified depending on `filter`:
13447
13818
  * - `"type"`: {@link TypeSpaceLocationPrototypeFilter}
13448
13819
  * - `"solar-power-in-space"`: {@link SolarPowerInSpaceSpaceLocationPrototypeFilter}
13449
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/SpaceLocationPrototypeFilter.html Online documentation}
13820
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/SpaceLocationPrototypeFilter.html Online documentation}
13450
13821
  */
13451
13822
  export type SpaceLocationPrototypeFilter =
13452
13823
  TypeSpaceLocationPrototypeFilter | SolarPowerInSpaceSpaceLocationPrototypeFilter | OtherSpaceLocationPrototypeFilter
13453
13824
  /**
13454
13825
  * Write form of {@link SpaceLocationPrototypeFilter}, where some properties allow additional values as input compared to the read form.
13455
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/SpaceLocationPrototypeFilter.html Online documentation}
13826
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/SpaceLocationPrototypeFilter.html Online documentation}
13456
13827
  */
13457
13828
  export type SpaceLocationPrototypeFilterWrite =
13458
13829
  | TypeSpaceLocationPrototypeFilter
@@ -13500,7 +13871,7 @@ declare module "factorio:runtime" {
13500
13871
  *
13501
13872
  * Other attributes may be specified depending on `filter`:
13502
13873
  * - `"collision-mask"`: {@link CollisionMaskDecorativePrototypeFilter}
13503
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/DecorativePrototypeFilter.html Online documentation}
13874
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/DecorativePrototypeFilter.html Online documentation}
13504
13875
  */
13505
13876
  export type DecorativePrototypeFilter = CollisionMaskDecorativePrototypeFilter | OtherDecorativePrototypeFilter
13506
13877
  /**
@@ -13642,7 +14013,7 @@ declare module "factorio:runtime" {
13642
14013
  * - `"vehicle-friction-modifier"`: {@link VehicleFrictionModifierTilePrototypeFilter}
13643
14014
  * - `"decorative-removal-probability"`: {@link DecorativeRemovalProbabilityTilePrototypeFilter}
13644
14015
  * - `"absorptions-per-second"`: {@link AbsorptionsPerSecondTilePrototypeFilter}
13645
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/TilePrototypeFilter.html Online documentation}
14016
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/TilePrototypeFilter.html Online documentation}
13646
14017
  */
13647
14018
  export type TilePrototypeFilter =
13648
14019
  | CollisionMaskTilePrototypeFilter
@@ -13653,7 +14024,7 @@ declare module "factorio:runtime" {
13653
14024
  | OtherTilePrototypeFilter
13654
14025
  /**
13655
14026
  * Write form of {@link TilePrototypeFilter}, where some properties allow additional values as input compared to the read form.
13656
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/TilePrototypeFilter.html Online documentation}
14027
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/TilePrototypeFilter.html Online documentation}
13657
14028
  */
13658
14029
  export type TilePrototypeFilterWrite =
13659
14030
  | CollisionMaskTilePrototypeFilter
@@ -13858,7 +14229,7 @@ declare module "factorio:runtime" {
13858
14229
  export interface SubgroupItemPrototypeFilter extends BaseItemPrototypeFilter {
13859
14230
  readonly filter: "subgroup"
13860
14231
  /**
13861
- * A {@link LuaGroup} (subgroup) name
14232
+ * A {@link LuaItemSubGroup} name
13862
14233
  */
13863
14234
  readonly subgroup: string
13864
14235
  }
@@ -14010,7 +14381,7 @@ declare module "factorio:runtime" {
14010
14381
  * - `"fuel-acceleration-multiplier"`: {@link FuelAccelerationMultiplierItemPrototypeFilter}
14011
14382
  * - `"fuel-top-speed-multiplier"`: {@link FuelTopSpeedMultiplierItemPrototypeFilter}
14012
14383
  * - `"fuel-emissions-multiplier"`: {@link FuelEmissionsMultiplierItemPrototypeFilter}
14013
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/ItemPrototypeFilter.html Online documentation}
14384
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/ItemPrototypeFilter.html Online documentation}
14014
14385
  */
14015
14386
  export type ItemPrototypeFilter =
14016
14387
  | PlaceResultItemPrototypeFilter
@@ -14032,7 +14403,7 @@ declare module "factorio:runtime" {
14032
14403
  | OtherItemPrototypeFilter
14033
14404
  /**
14034
14405
  * Write form of {@link ItemPrototypeFilter}, where some properties allow additional values as input compared to the read form.
14035
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/ItemPrototypeFilter.html Online documentation}
14406
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/ItemPrototypeFilter.html Online documentation}
14036
14407
  */
14037
14408
  export type ItemPrototypeFilterWrite =
14038
14409
  | PlaceResultItemPrototypeFilterWrite
@@ -14172,7 +14543,7 @@ declare module "factorio:runtime" {
14172
14543
  * - `"level"`: {@link LevelTechnologyPrototypeFilter}
14173
14544
  * - `"max-level"`: {@link MaxLevelTechnologyPrototypeFilter}
14174
14545
  * - `"time"`: {@link TimeTechnologyPrototypeFilter}
14175
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/TechnologyPrototypeFilter.html Online documentation}
14546
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/TechnologyPrototypeFilter.html Online documentation}
14176
14547
  */
14177
14548
  export type TechnologyPrototypeFilter =
14178
14549
  | ResearchUnitIngredientTechnologyPrototypeFilter
@@ -14183,7 +14554,7 @@ declare module "factorio:runtime" {
14183
14554
  | OtherTechnologyPrototypeFilter
14184
14555
  /**
14185
14556
  * Write form of {@link TechnologyPrototypeFilter}, where some properties allow additional values as input compared to the read form.
14186
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/TechnologyPrototypeFilter.html Online documentation}
14557
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/TechnologyPrototypeFilter.html Online documentation}
14187
14558
  */
14188
14559
  export type TechnologyPrototypeFilterWrite =
14189
14560
  | ResearchUnitIngredientTechnologyPrototypeFilter
@@ -14319,7 +14690,7 @@ declare module "factorio:runtime" {
14319
14690
  export interface SubgroupRecipePrototypeFilter extends BaseRecipePrototypeFilter {
14320
14691
  readonly filter: "subgroup"
14321
14692
  /**
14322
- * A {@link LuaGroup} (subgroup) name
14693
+ * A {@link LuaItemSubGroup} name
14323
14694
  */
14324
14695
  readonly subgroup: string
14325
14696
  }
@@ -14439,7 +14810,7 @@ declare module "factorio:runtime" {
14439
14810
  * - `"emissions-multiplier"`: {@link EmissionsMultiplierRecipePrototypeFilter}
14440
14811
  * - `"request-paste-multiplier"`: {@link RequestPasteMultiplierRecipePrototypeFilter}
14441
14812
  * - `"overload-multiplier"`: {@link OverloadMultiplierRecipePrototypeFilter}
14442
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/RecipePrototypeFilter.html Online documentation}
14813
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/RecipePrototypeFilter.html Online documentation}
14443
14814
  */
14444
14815
  export type RecipePrototypeFilter =
14445
14816
  | HasIngredientItemRecipePrototypeFilter
@@ -14455,7 +14826,7 @@ declare module "factorio:runtime" {
14455
14826
  | OtherRecipePrototypeFilter
14456
14827
  /**
14457
14828
  * Write form of {@link RecipePrototypeFilter}, where some properties allow additional values as input compared to the read form.
14458
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/RecipePrototypeFilter.html Online documentation}
14829
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/RecipePrototypeFilter.html Online documentation}
14459
14830
  */
14460
14831
  export type RecipePrototypeFilterWrite =
14461
14832
  | HasIngredientItemRecipePrototypeFilterWrite
@@ -14507,7 +14878,7 @@ declare module "factorio:runtime" {
14507
14878
  *
14508
14879
  * Other attributes may be specified depending on `filter`:
14509
14880
  * - `"type"`: {@link TypeAchievementPrototypeFilter}
14510
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/AchievementPrototypeFilter.html Online documentation}
14881
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/AchievementPrototypeFilter.html Online documentation}
14511
14882
  */
14512
14883
  export type AchievementPrototypeFilter = TypeAchievementPrototypeFilter | OtherAchievementPrototypeFilter
14513
14884
  export interface VirtualSignalPrototypeFilter {
@@ -14562,7 +14933,7 @@ declare module "factorio:runtime" {
14562
14933
  *
14563
14934
  * Other attributes may be specified depending on `filter`:
14564
14935
  * - `"type"`: {@link TypeEquipmentPrototypeFilter}
14565
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/EquipmentPrototypeFilter.html Online documentation}
14936
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/EquipmentPrototypeFilter.html Online documentation}
14566
14937
  */
14567
14938
  export type EquipmentPrototypeFilter = TypeEquipmentPrototypeFilter | OtherEquipmentPrototypeFilter
14568
14939
  /**
@@ -14611,7 +14982,7 @@ declare module "factorio:runtime" {
14611
14982
  export interface SubgroupFluidPrototypeFilter extends BaseFluidPrototypeFilter {
14612
14983
  readonly filter: "subgroup"
14613
14984
  /**
14614
- * A {@link LuaGroup} (subgroup) name
14985
+ * A {@link LuaItemSubGroup} name
14615
14986
  */
14616
14987
  readonly subgroup: string
14617
14988
  }
@@ -14747,7 +15118,7 @@ declare module "factorio:runtime" {
14747
15118
  * - `"fuel-value"`: {@link FuelValueFluidPrototypeFilter}
14748
15119
  * - `"emissions-multiplier"`: {@link EmissionsMultiplierFluidPrototypeFilter}
14749
15120
  * - `"gas-temperature"`: {@link GasTemperatureFluidPrototypeFilter}
14750
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/FluidPrototypeFilter.html Online documentation}
15121
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/FluidPrototypeFilter.html Online documentation}
14751
15122
  */
14752
15123
  export type FluidPrototypeFilter =
14753
15124
  | NameFluidPrototypeFilter
@@ -14761,7 +15132,7 @@ declare module "factorio:runtime" {
14761
15132
  | OtherFluidPrototypeFilter
14762
15133
  /**
14763
15134
  * Write form of {@link FluidPrototypeFilter}, where some properties allow additional values as input compared to the read form.
14764
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/FluidPrototypeFilter.html Online documentation}
15135
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/FluidPrototypeFilter.html Online documentation}
14765
15136
  */
14766
15137
  export type FluidPrototypeFilterWrite =
14767
15138
  | NameFluidPrototypeFilter
@@ -14980,7 +15351,7 @@ declare module "factorio:runtime" {
14980
15351
  * - `"selection-priority"`: {@link SelectionPriorityEntityPrototypeFilter}
14981
15352
  * - `"emissions-per-second"`: {@link EmissionsPerSecondEntityPrototypeFilter}
14982
15353
  * - `"crafting-category"`: {@link CraftingCategoryEntityPrototypeFilter}
14983
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/EntityPrototypeFilter.html Online documentation}
15354
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/EntityPrototypeFilter.html Online documentation}
14984
15355
  */
14985
15356
  export type EntityPrototypeFilter =
14986
15357
  | NameEntityPrototypeFilter
@@ -14993,7 +15364,7 @@ declare module "factorio:runtime" {
14993
15364
  | OtherEntityPrototypeFilter
14994
15365
  /**
14995
15366
  * Write form of {@link EntityPrototypeFilter}, where some properties allow additional values as input compared to the read form.
14996
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/EntityPrototypeFilter.html Online documentation}
15367
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/EntityPrototypeFilter.html Online documentation}
14997
15368
  */
14998
15369
  export type EntityPrototypeFilterWrite =
14999
15370
  | NameEntityPrototypeFilter
@@ -15036,7 +15407,7 @@ declare module "factorio:runtime" {
15036
15407
  *
15037
15408
  * Other attributes may be specified depending on `filter`:
15038
15409
  * - `"name"`: {@link NameSegmentedUnitDiedEventFilter}
15039
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/LuaSegmentedUnitDiedEventFilter.html Online documentation}
15410
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/LuaSegmentedUnitDiedEventFilter.html Online documentation}
15040
15411
  */
15041
15412
  export type LuaSegmentedUnitDiedEventFilter = NameSegmentedUnitDiedEventFilter
15042
15413
  /**
@@ -15136,7 +15507,7 @@ declare module "factorio:runtime" {
15136
15507
  * - `"name"`: {@link NameScriptRaisedTeleportedEventFilter}
15137
15508
  * - `"ghost_type"`: {@link GhostTypeScriptRaisedTeleportedEventFilter}
15138
15509
  * - `"ghost_name"`: {@link GhostNameScriptRaisedTeleportedEventFilter}
15139
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/LuaScriptRaisedTeleportedEventFilter.html Online documentation}
15510
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/LuaScriptRaisedTeleportedEventFilter.html Online documentation}
15140
15511
  */
15141
15512
  export type LuaScriptRaisedTeleportedEventFilter =
15142
15513
  | TypeScriptRaisedTeleportedEventFilter
@@ -15241,7 +15612,7 @@ declare module "factorio:runtime" {
15241
15612
  * - `"name"`: {@link NamePreRobotMinedEntityEventFilter}
15242
15613
  * - `"ghost_type"`: {@link GhostTypePreRobotMinedEntityEventFilter}
15243
15614
  * - `"ghost_name"`: {@link GhostNamePreRobotMinedEntityEventFilter}
15244
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/LuaPreRobotMinedEntityEventFilter.html Online documentation}
15615
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/LuaPreRobotMinedEntityEventFilter.html Online documentation}
15245
15616
  */
15246
15617
  export type LuaPreRobotMinedEntityEventFilter =
15247
15618
  | TypePreRobotMinedEntityEventFilter
@@ -15346,7 +15717,7 @@ declare module "factorio:runtime" {
15346
15717
  * - `"name"`: {@link NameScriptRaisedBuiltEventFilter}
15347
15718
  * - `"ghost_type"`: {@link GhostTypeScriptRaisedBuiltEventFilter}
15348
15719
  * - `"ghost_name"`: {@link GhostNameScriptRaisedBuiltEventFilter}
15349
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/LuaScriptRaisedBuiltEventFilter.html Online documentation}
15720
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/LuaScriptRaisedBuiltEventFilter.html Online documentation}
15350
15721
  */
15351
15722
  export type LuaScriptRaisedBuiltEventFilter =
15352
15723
  | TypeScriptRaisedBuiltEventFilter
@@ -15451,7 +15822,7 @@ declare module "factorio:runtime" {
15451
15822
  * - `"name"`: {@link NamePlatformMinedEntityEventFilter}
15452
15823
  * - `"ghost_type"`: {@link GhostTypePlatformMinedEntityEventFilter}
15453
15824
  * - `"ghost_name"`: {@link GhostNamePlatformMinedEntityEventFilter}
15454
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/LuaPlatformMinedEntityEventFilter.html Online documentation}
15825
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/LuaPlatformMinedEntityEventFilter.html Online documentation}
15455
15826
  */
15456
15827
  export type LuaPlatformMinedEntityEventFilter =
15457
15828
  | TypePlatformMinedEntityEventFilter
@@ -15568,7 +15939,7 @@ declare module "factorio:runtime" {
15568
15939
  * - `"ghost_type"`: {@link GhostTypeRobotBuiltEntityEventFilter}
15569
15940
  * - `"ghost_name"`: {@link GhostNameRobotBuiltEntityEventFilter}
15570
15941
  * - `"force"`: {@link ForceRobotBuiltEntityEventFilter}
15571
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/LuaRobotBuiltEntityEventFilter.html Online documentation}
15942
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/LuaRobotBuiltEntityEventFilter.html Online documentation}
15572
15943
  */
15573
15944
  export type LuaRobotBuiltEntityEventFilter =
15574
15945
  | TypeRobotBuiltEntityEventFilter
@@ -15674,7 +16045,7 @@ declare module "factorio:runtime" {
15674
16045
  * - `"name"`: {@link NamePrePlayerMinedEntityEventFilter}
15675
16046
  * - `"ghost_type"`: {@link GhostTypePrePlayerMinedEntityEventFilter}
15676
16047
  * - `"ghost_name"`: {@link GhostNamePrePlayerMinedEntityEventFilter}
15677
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/LuaPrePlayerMinedEntityEventFilter.html Online documentation}
16048
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/LuaPrePlayerMinedEntityEventFilter.html Online documentation}
15678
16049
  */
15679
16050
  export type LuaPrePlayerMinedEntityEventFilter =
15680
16051
  | TypePrePlayerMinedEntityEventFilter
@@ -15779,7 +16150,7 @@ declare module "factorio:runtime" {
15779
16150
  * - `"name"`: {@link NameEntityDeconstructionCancelledEventFilter}
15780
16151
  * - `"ghost_type"`: {@link GhostTypeEntityDeconstructionCancelledEventFilter}
15781
16152
  * - `"ghost_name"`: {@link GhostNameEntityDeconstructionCancelledEventFilter}
15782
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/LuaEntityDeconstructionCancelledEventFilter.html Online documentation}
16153
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/LuaEntityDeconstructionCancelledEventFilter.html Online documentation}
15783
16154
  */
15784
16155
  export type LuaEntityDeconstructionCancelledEventFilter =
15785
16156
  | TypeEntityDeconstructionCancelledEventFilter
@@ -15884,7 +16255,7 @@ declare module "factorio:runtime" {
15884
16255
  * - `"name"`: {@link NamePreGhostUpgradedEventFilter}
15885
16256
  * - `"ghost_type"`: {@link GhostTypePreGhostUpgradedEventFilter}
15886
16257
  * - `"ghost_name"`: {@link GhostNamePreGhostUpgradedEventFilter}
15887
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/LuaPreGhostUpgradedEventFilter.html Online documentation}
16258
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/LuaPreGhostUpgradedEventFilter.html Online documentation}
15888
16259
  */
15889
16260
  export type LuaPreGhostUpgradedEventFilter =
15890
16261
  | TypePreGhostUpgradedEventFilter
@@ -16001,7 +16372,7 @@ declare module "factorio:runtime" {
16001
16372
  * - `"ghost_type"`: {@link GhostTypePlatformBuiltEntityEventFilter}
16002
16373
  * - `"ghost_name"`: {@link GhostNamePlatformBuiltEntityEventFilter}
16003
16374
  * - `"force"`: {@link ForcePlatformBuiltEntityEventFilter}
16004
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/LuaPlatformBuiltEntityEventFilter.html Online documentation}
16375
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/LuaPlatformBuiltEntityEventFilter.html Online documentation}
16005
16376
  */
16006
16377
  export type LuaPlatformBuiltEntityEventFilter =
16007
16378
  | TypePlatformBuiltEntityEventFilter
@@ -16107,7 +16478,7 @@ declare module "factorio:runtime" {
16107
16478
  * - `"name"`: {@link NamePrePlatformMinedEntityEventFilter}
16108
16479
  * - `"ghost_type"`: {@link GhostTypePrePlatformMinedEntityEventFilter}
16109
16480
  * - `"ghost_name"`: {@link GhostNamePrePlatformMinedEntityEventFilter}
16110
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/LuaPrePlatformMinedEntityEventFilter.html Online documentation}
16481
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/LuaPrePlatformMinedEntityEventFilter.html Online documentation}
16111
16482
  */
16112
16483
  export type LuaPrePlatformMinedEntityEventFilter =
16113
16484
  | TypePrePlatformMinedEntityEventFilter
@@ -16212,7 +16583,7 @@ declare module "factorio:runtime" {
16212
16583
  * - `"name"`: {@link NameEntityClonedEventFilter}
16213
16584
  * - `"ghost_type"`: {@link GhostTypeEntityClonedEventFilter}
16214
16585
  * - `"ghost_name"`: {@link GhostNameEntityClonedEventFilter}
16215
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/LuaEntityClonedEventFilter.html Online documentation}
16586
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/LuaEntityClonedEventFilter.html Online documentation}
16216
16587
  */
16217
16588
  export type LuaEntityClonedEventFilter =
16218
16589
  | TypeEntityClonedEventFilter
@@ -16317,7 +16688,7 @@ declare module "factorio:runtime" {
16317
16688
  * - `"name"`: {@link NamePlayerRepairedEntityEventFilter}
16318
16689
  * - `"ghost_type"`: {@link GhostTypePlayerRepairedEntityEventFilter}
16319
16690
  * - `"ghost_name"`: {@link GhostNamePlayerRepairedEntityEventFilter}
16320
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/LuaPlayerRepairedEntityEventFilter.html Online documentation}
16691
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/LuaPlayerRepairedEntityEventFilter.html Online documentation}
16321
16692
  */
16322
16693
  export type LuaPlayerRepairedEntityEventFilter =
16323
16694
  | TypePlayerRepairedEntityEventFilter
@@ -16357,7 +16728,7 @@ declare module "factorio:runtime" {
16357
16728
  *
16358
16729
  * Other attributes may be specified depending on `filter`:
16359
16730
  * - `"type"`: {@link TypePostEntityDiedEventFilter}
16360
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/LuaPostEntityDiedEventFilter.html Online documentation}
16731
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/LuaPostEntityDiedEventFilter.html Online documentation}
16361
16732
  */
16362
16733
  export type LuaPostEntityDiedEventFilter = TypePostEntityDiedEventFilter
16363
16734
  /**
@@ -16392,7 +16763,7 @@ declare module "factorio:runtime" {
16392
16763
  *
16393
16764
  * Other attributes may be specified depending on `filter`:
16394
16765
  * - `"name"`: {@link NameScriptRaisedDestroySegmentedUnitEventFilter}
16395
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/LuaScriptRaisedDestroySegmentedUnitEventFilter.html Online documentation}
16766
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/LuaScriptRaisedDestroySegmentedUnitEventFilter.html Online documentation}
16396
16767
  */
16397
16768
  export type LuaScriptRaisedDestroySegmentedUnitEventFilter = NameScriptRaisedDestroySegmentedUnitEventFilter
16398
16769
  /**
@@ -16498,7 +16869,7 @@ declare module "factorio:runtime" {
16498
16869
  * - `"final-damage-amount"`: {@link FinalDamageAmountSegmentedUnitDamagedEventFilter}
16499
16870
  * - `"damage-type"`: {@link DamageTypeSegmentedUnitDamagedEventFilter}
16500
16871
  * - `"final-health"`: {@link FinalHealthSegmentedUnitDamagedEventFilter}
16501
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/LuaSegmentedUnitDamagedEventFilter.html Online documentation}
16872
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/LuaSegmentedUnitDamagedEventFilter.html Online documentation}
16502
16873
  */
16503
16874
  export type LuaSegmentedUnitDamagedEventFilter =
16504
16875
  | NameSegmentedUnitDamagedEventFilter
@@ -16508,7 +16879,7 @@ declare module "factorio:runtime" {
16508
16879
  | FinalHealthSegmentedUnitDamagedEventFilter
16509
16880
  /**
16510
16881
  * Write form of {@link LuaSegmentedUnitDamagedEventFilter}, where some properties allow additional values as input compared to the read form.
16511
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/LuaSegmentedUnitDamagedEventFilter.html Online documentation}
16882
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/LuaSegmentedUnitDamagedEventFilter.html Online documentation}
16512
16883
  */
16513
16884
  export type LuaSegmentedUnitDamagedEventFilterWrite =
16514
16885
  | NameSegmentedUnitDamagedEventFilter
@@ -16613,7 +16984,7 @@ declare module "factorio:runtime" {
16613
16984
  * - `"name"`: {@link NamePreGhostDeconstructedEventFilter}
16614
16985
  * - `"ghost_type"`: {@link GhostTypePreGhostDeconstructedEventFilter}
16615
16986
  * - `"ghost_name"`: {@link GhostNamePreGhostDeconstructedEventFilter}
16616
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/LuaPreGhostDeconstructedEventFilter.html Online documentation}
16987
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/LuaPreGhostDeconstructedEventFilter.html Online documentation}
16617
16988
  */
16618
16989
  export type LuaPreGhostDeconstructedEventFilter =
16619
16990
  | TypePreGhostDeconstructedEventFilter
@@ -16718,7 +17089,7 @@ declare module "factorio:runtime" {
16718
17089
  * - `"name"`: {@link NamePlayerMinedEntityEventFilter}
16719
17090
  * - `"ghost_type"`: {@link GhostTypePlayerMinedEntityEventFilter}
16720
17091
  * - `"ghost_name"`: {@link GhostNamePlayerMinedEntityEventFilter}
16721
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/LuaPlayerMinedEntityEventFilter.html Online documentation}
17092
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/LuaPlayerMinedEntityEventFilter.html Online documentation}
16722
17093
  */
16723
17094
  export type LuaPlayerMinedEntityEventFilter =
16724
17095
  | TypePlayerMinedEntityEventFilter
@@ -16823,7 +17194,7 @@ declare module "factorio:runtime" {
16823
17194
  * - `"name"`: {@link NameSectorScannedEventFilter}
16824
17195
  * - `"ghost_type"`: {@link GhostTypeSectorScannedEventFilter}
16825
17196
  * - `"ghost_name"`: {@link GhostNameSectorScannedEventFilter}
16826
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/LuaSectorScannedEventFilter.html Online documentation}
17197
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/LuaSectorScannedEventFilter.html Online documentation}
16827
17198
  */
16828
17199
  export type LuaSectorScannedEventFilter =
16829
17200
  | TypeSectorScannedEventFilter
@@ -16928,7 +17299,7 @@ declare module "factorio:runtime" {
16928
17299
  * - `"name"`: {@link NameRobotMinedEntityEventFilter}
16929
17300
  * - `"ghost_type"`: {@link GhostTypeRobotMinedEntityEventFilter}
16930
17301
  * - `"ghost_name"`: {@link GhostNameRobotMinedEntityEventFilter}
16931
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/LuaRobotMinedEntityEventFilter.html Online documentation}
17302
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/LuaRobotMinedEntityEventFilter.html Online documentation}
16932
17303
  */
16933
17304
  export type LuaRobotMinedEntityEventFilter =
16934
17305
  | TypeRobotMinedEntityEventFilter
@@ -17033,7 +17404,7 @@ declare module "factorio:runtime" {
17033
17404
  * - `"name"`: {@link NameEntityMarkedForDeconstructionEventFilter}
17034
17405
  * - `"ghost_type"`: {@link GhostTypeEntityMarkedForDeconstructionEventFilter}
17035
17406
  * - `"ghost_name"`: {@link GhostNameEntityMarkedForDeconstructionEventFilter}
17036
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/LuaEntityMarkedForDeconstructionEventFilter.html Online documentation}
17407
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/LuaEntityMarkedForDeconstructionEventFilter.html Online documentation}
17037
17408
  */
17038
17409
  export type LuaEntityMarkedForDeconstructionEventFilter =
17039
17410
  | TypeEntityMarkedForDeconstructionEventFilter
@@ -17073,7 +17444,7 @@ declare module "factorio:runtime" {
17073
17444
  *
17074
17445
  * Other attributes may be specified depending on `filter`:
17075
17446
  * - `"name"`: {@link NamePostSegmentedUnitDiedEventFilter}
17076
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/LuaPostSegmentedUnitDiedEventFilter.html Online documentation}
17447
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/LuaPostSegmentedUnitDiedEventFilter.html Online documentation}
17077
17448
  */
17078
17449
  export type LuaPostSegmentedUnitDiedEventFilter = NamePostSegmentedUnitDiedEventFilter
17079
17450
  /**
@@ -17173,7 +17544,7 @@ declare module "factorio:runtime" {
17173
17544
  * - `"name"`: {@link NameScriptRaisedReviveEventFilter}
17174
17545
  * - `"ghost_type"`: {@link GhostTypeScriptRaisedReviveEventFilter}
17175
17546
  * - `"ghost_name"`: {@link GhostNameScriptRaisedReviveEventFilter}
17176
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/LuaScriptRaisedReviveEventFilter.html Online documentation}
17547
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/LuaScriptRaisedReviveEventFilter.html Online documentation}
17177
17548
  */
17178
17549
  export type LuaScriptRaisedReviveEventFilter =
17179
17550
  | TypeScriptRaisedReviveEventFilter
@@ -17290,7 +17661,7 @@ declare module "factorio:runtime" {
17290
17661
  * - `"ghost_type"`: {@link GhostTypePlayerBuiltEntityEventFilter}
17291
17662
  * - `"ghost_name"`: {@link GhostNamePlayerBuiltEntityEventFilter}
17292
17663
  * - `"force"`: {@link ForcePlayerBuiltEntityEventFilter}
17293
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/LuaPlayerBuiltEntityEventFilter.html Online documentation}
17664
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/LuaPlayerBuiltEntityEventFilter.html Online documentation}
17294
17665
  */
17295
17666
  export type LuaPlayerBuiltEntityEventFilter =
17296
17667
  | TypePlayerBuiltEntityEventFilter
@@ -17396,7 +17767,7 @@ declare module "factorio:runtime" {
17396
17767
  * - `"name"`: {@link NameUpgradeCancelledEventFilter}
17397
17768
  * - `"ghost_type"`: {@link GhostTypeUpgradeCancelledEventFilter}
17398
17769
  * - `"ghost_name"`: {@link GhostNameUpgradeCancelledEventFilter}
17399
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/LuaUpgradeCancelledEventFilter.html Online documentation}
17770
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/LuaUpgradeCancelledEventFilter.html Online documentation}
17400
17771
  */
17401
17772
  export type LuaUpgradeCancelledEventFilter =
17402
17773
  | TypeUpgradeCancelledEventFilter
@@ -17576,7 +17947,7 @@ declare module "factorio:runtime" {
17576
17947
  * - `"final-damage-amount"`: {@link FinalDamageAmountEntityDamagedEventFilter}
17577
17948
  * - `"damage-type"`: {@link DamageTypeEntityDamagedEventFilter}
17578
17949
  * - `"final-health"`: {@link FinalHealthEntityDamagedEventFilter}
17579
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/LuaEntityDamagedEventFilter.html Online documentation}
17950
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/LuaEntityDamagedEventFilter.html Online documentation}
17580
17951
  */
17581
17952
  export type LuaEntityDamagedEventFilter =
17582
17953
  | TypeEntityDamagedEventFilter
@@ -17590,7 +17961,7 @@ declare module "factorio:runtime" {
17590
17961
  | OtherEntityDamagedEventFilter
17591
17962
  /**
17592
17963
  * Write form of {@link LuaEntityDamagedEventFilter}, where some properties allow additional values as input compared to the read form.
17593
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/LuaEntityDamagedEventFilter.html Online documentation}
17964
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/LuaEntityDamagedEventFilter.html Online documentation}
17594
17965
  */
17595
17966
  export type LuaEntityDamagedEventFilterWrite =
17596
17967
  | TypeEntityDamagedEventFilter
@@ -17711,7 +18082,7 @@ declare module "factorio:runtime" {
17711
18082
  * - `"ghost_type"`: {@link GhostTypeEntityDiedEventFilter}
17712
18083
  * - `"ghost_name"`: {@link GhostNameEntityDiedEventFilter}
17713
18084
  * - `"force"`: {@link ForceEntityDiedEventFilter}
17714
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/LuaEntityDiedEventFilter.html Online documentation}
18085
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/LuaEntityDiedEventFilter.html Online documentation}
17715
18086
  */
17716
18087
  export type LuaEntityDiedEventFilter =
17717
18088
  | TypeEntityDiedEventFilter
@@ -17817,7 +18188,7 @@ declare module "factorio:runtime" {
17817
18188
  * - `"name"`: {@link NameEntityMarkedForUpgradeEventFilter}
17818
18189
  * - `"ghost_type"`: {@link GhostTypeEntityMarkedForUpgradeEventFilter}
17819
18190
  * - `"ghost_name"`: {@link GhostNameEntityMarkedForUpgradeEventFilter}
17820
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/LuaEntityMarkedForUpgradeEventFilter.html Online documentation}
18191
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/LuaEntityMarkedForUpgradeEventFilter.html Online documentation}
17821
18192
  */
17822
18193
  export type LuaEntityMarkedForUpgradeEventFilter =
17823
18194
  | TypeEntityMarkedForUpgradeEventFilter
@@ -17868,7 +18239,7 @@ declare module "factorio:runtime" {
17868
18239
  * Other attributes may be specified depending on `filter`:
17869
18240
  * - `"name"`: {@link NameSegmentedUnitCreatedEventFilter}
17870
18241
  * - `"cause"`: {@link CauseSegmentedUnitCreatedEventFilter}
17871
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/LuaSegmentedUnitCreatedEventFilter.html Online documentation}
18242
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/LuaSegmentedUnitCreatedEventFilter.html Online documentation}
17872
18243
  */
17873
18244
  export type LuaSegmentedUnitCreatedEventFilter =
17874
18245
  NameSegmentedUnitCreatedEventFilter | CauseSegmentedUnitCreatedEventFilter
@@ -17969,7 +18340,7 @@ declare module "factorio:runtime" {
17969
18340
  * - `"name"`: {@link NameScriptRaisedDestroyEventFilter}
17970
18341
  * - `"ghost_type"`: {@link GhostTypeScriptRaisedDestroyEventFilter}
17971
18342
  * - `"ghost_name"`: {@link GhostNameScriptRaisedDestroyEventFilter}
17972
- * @see {@link https://lua-api.factorio.com/2.1.9/concepts/LuaScriptRaisedDestroyEventFilter.html Online documentation}
18343
+ * @see {@link https://lua-api.factorio.com/2.1.21/concepts/LuaScriptRaisedDestroyEventFilter.html Online documentation}
17973
18344
  */
17974
18345
  export type LuaScriptRaisedDestroyEventFilter =
17975
18346
  | TypeScriptRaisedDestroyEventFilter