typed-factorio 2.10.1 → 2.12.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -10,6 +10,34 @@ import type { VersionString } from "factorio:common"
10
10
  * @noResolution
11
11
  */
12
12
  declare module "factorio:runtime" {
13
+ /**
14
+ * @see AutoplaceSettingsWrite
15
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#AutoplaceSettings Online documentation}
16
+ */
17
+ export interface AutoplaceSettings {
18
+ /**
19
+ * Whether missing autoplace names for this type should be default enabled. Always defined when reading autoplace settings.
20
+ */
21
+ readonly treat_missing_as_default?: boolean
22
+ /**
23
+ * Always defined when reading autoplace settings.
24
+ */
25
+ readonly settings?: Record<string, AutoplaceControl>
26
+ }
27
+ /**
28
+ * Write form of {@link AutoplaceSettings}, where table-or-array concepts are allowed to take an array form.
29
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#AutoplaceSettings Online documentation}
30
+ */
31
+ export interface AutoplaceSettingsWrite {
32
+ /**
33
+ * Whether missing autoplace names for this type should be default enabled. Always defined when reading autoplace settings.
34
+ */
35
+ readonly treat_missing_as_default?: boolean
36
+ /**
37
+ * Always defined when reading autoplace settings.
38
+ */
39
+ readonly settings?: Record<string, AutoplaceControlWrite>
40
+ }
13
41
  /**
14
42
  * Used by {@link TriggerEffectItem}.
15
43
  *
@@ -34,7 +62,7 @@ declare module "factorio:runtime" {
34
62
  * - `"invoke-tile-trigger"`
35
63
  * - `"destroy-decoratives"`
36
64
  * - `"camera-effect"`
37
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#TriggerEffectItemType Online documentation}
65
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#TriggerEffectItemType Online documentation}
38
66
  */
39
67
  export type TriggerEffectItemType =
40
68
  | "damage"
@@ -110,7 +138,7 @@ declare module "factorio:runtime" {
110
138
  * - `"left"`
111
139
  * - `"right"`
112
140
  * - `"center"`
113
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#TextAlign Online documentation}
141
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#TextAlign Online documentation}
114
142
  */
115
143
  export type TextAlign = "left" | "right" | "center"
116
144
  /**
@@ -123,7 +151,7 @@ declare module "factorio:runtime" {
123
151
  * - `"middle"`
124
152
  * - `"baseline"`
125
153
  * - `"bottom"`
126
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#VerticalTextAlign Online documentation}
154
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#VerticalTextAlign Online documentation}
127
155
  */
128
156
  export type VerticalTextAlign = "top" | "middle" | "baseline" | "bottom"
129
157
  /**
@@ -191,7 +219,7 @@ declare module "factorio:runtime" {
191
219
  * - `"position"`: {@link PositionGuiArrowSpecification}
192
220
  * - `"crafting_queue"`: {@link CraftingQueueGuiArrowSpecification}
193
221
  * - `"item_stack"`: {@link ItemStackGuiArrowSpecification}
194
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#GuiArrowSpecification Online documentation}
222
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#GuiArrowSpecification Online documentation}
195
223
  */
196
224
  export type GuiArrowSpecification =
197
225
  | EntityGuiArrowSpecification
@@ -221,7 +249,7 @@ declare module "factorio:runtime" {
221
249
  */
222
250
  readonly volume_modifier?: double
223
251
  /**
224
- * If set to false, message will not be part of game state and will dissapear from output console after save-load. Defaults to `true`.
252
+ * If set to false, message will not be part of game state and will disappear from output console after save-load. Defaults to `true`.
225
253
  */
226
254
  readonly game_state?: boolean
227
255
  }
@@ -232,7 +260,7 @@ declare module "factorio:runtime" {
232
260
  * - `"none"`
233
261
  * - `"whitelist"`
234
262
  * - `"blacklist"`
235
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#PrototypeFilterMode Online documentation}
263
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#PrototypeFilterMode Online documentation}
236
264
  */
237
265
  export type PrototypeFilterMode = "none" | "whitelist" | "blacklist"
238
266
  export interface RailEnd {
@@ -253,7 +281,7 @@ declare module "factorio:runtime" {
253
281
  * - `"any-goal-accessible"`: The method will return {@link TrainPathAnyGoalResult}.
254
282
  * - `"all-goals-accessible"`: The method will return {@link TrainPathAllGoalsResult}.
255
283
  * - `"all-goals-penalties"`: The method will return {@link TrainPathAllGoalsResult} with `penalties`.
256
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#TrainPathRequestType Online documentation}
284
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#TrainPathRequestType Online documentation}
257
285
  */
258
286
  export type TrainPathRequestType = "path" | "any-goal-accessible" | "all-goals-accessible" | "all-goals-penalties"
259
287
  export interface TrainPathFinderPathResult {
@@ -322,6 +350,132 @@ declare module "factorio:runtime" {
322
350
  */
323
351
  readonly steps_count: uint
324
352
  }
353
+ /**
354
+ * Used to filter out irrelevant event callbacks in a performant way.
355
+ *
356
+ * Filters are always used as an array of filters of a specific type. Every filter can only be used with its corresponding event, and different types of event filters can not be mixed.
357
+ *
358
+ * ## Union members
359
+ * - {@link LuaScriptRaisedReviveEventFilter}
360
+ * - {@link LuaEntityDiedEventFilter}
361
+ * - {@link LuaEntityMarkedForDeconstructionEventFilter}
362
+ * - {@link LuaPreGhostDeconstructedEventFilter}
363
+ * - {@link LuaScriptRaisedDestroyEventFilter}
364
+ * - {@link LuaUpgradeCancelledEventFilter}
365
+ * - {@link LuaPlayerRepairedEntityEventFilter}
366
+ * - {@link LuaScriptRaisedTeleportedEventFilter}
367
+ * - {@link LuaEntityMarkedForUpgradeEventFilter}
368
+ * - {@link LuaPostEntityDiedEventFilter}
369
+ * - {@link LuaPreRobotMinedEntityEventFilter}
370
+ * - {@link LuaEntityClonedEventFilter}
371
+ * - {@link LuaScriptRaisedBuiltEventFilter}
372
+ * - {@link LuaRobotMinedEntityEventFilter}
373
+ * - {@link LuaPrePlayerMinedEntityEventFilter}
374
+ * - {@link LuaRobotBuiltEntityEventFilter}
375
+ * - {@link LuaPreGhostUpgradedEventFilter}
376
+ * - {@link LuaEntityDeconstructionCancelledEventFilter}
377
+ * - {@link LuaPlayerBuiltEntityEventFilter}
378
+ * - {@link LuaPlayerMinedEntityEventFilter}
379
+ * - LuaEntityDamagedEventFilter
380
+ * - {@link LuaSectorScannedEventFilter}
381
+ * @see EventFilterWrite
382
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#EventFilter Online documentation}
383
+ */
384
+ export type EventFilter =
385
+ | LuaScriptRaisedReviveEventFilter[]
386
+ | LuaEntityDiedEventFilter[]
387
+ | LuaEntityMarkedForDeconstructionEventFilter[]
388
+ | LuaPreGhostDeconstructedEventFilter[]
389
+ | LuaScriptRaisedDestroyEventFilter[]
390
+ | LuaUpgradeCancelledEventFilter[]
391
+ | LuaPlayerRepairedEntityEventFilter[]
392
+ | LuaScriptRaisedTeleportedEventFilter[]
393
+ | LuaEntityMarkedForUpgradeEventFilter[]
394
+ | LuaPostEntityDiedEventFilter[]
395
+ | LuaPreRobotMinedEntityEventFilter[]
396
+ | LuaEntityClonedEventFilter[]
397
+ | LuaScriptRaisedBuiltEventFilter[]
398
+ | LuaRobotMinedEntityEventFilter[]
399
+ | LuaPrePlayerMinedEntityEventFilter[]
400
+ | LuaRobotBuiltEntityEventFilter[]
401
+ | LuaPreGhostUpgradedEventFilter[]
402
+ | LuaEntityDeconstructionCancelledEventFilter[]
403
+ | LuaPlayerBuiltEntityEventFilter[]
404
+ | LuaPlayerMinedEntityEventFilter[]
405
+ | LuaEntityDamagedEventFilter[]
406
+ | LuaSectorScannedEventFilter[]
407
+ /**
408
+ * Write form of {@link EventFilter}, where table-or-array concepts are allowed to take an array form.
409
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#EventFilter Online documentation}
410
+ */
411
+ export type EventFilterWrite =
412
+ | readonly LuaScriptRaisedReviveEventFilter[]
413
+ | readonly LuaEntityDiedEventFilter[]
414
+ | readonly LuaEntityMarkedForDeconstructionEventFilter[]
415
+ | readonly LuaPreGhostDeconstructedEventFilter[]
416
+ | readonly LuaScriptRaisedDestroyEventFilter[]
417
+ | readonly LuaUpgradeCancelledEventFilter[]
418
+ | readonly LuaPlayerRepairedEntityEventFilter[]
419
+ | readonly LuaScriptRaisedTeleportedEventFilter[]
420
+ | readonly LuaEntityMarkedForUpgradeEventFilter[]
421
+ | readonly LuaPostEntityDiedEventFilter[]
422
+ | readonly LuaPreRobotMinedEntityEventFilter[]
423
+ | readonly LuaEntityClonedEventFilter[]
424
+ | readonly LuaScriptRaisedBuiltEventFilter[]
425
+ | readonly LuaRobotMinedEntityEventFilter[]
426
+ | readonly LuaPrePlayerMinedEntityEventFilter[]
427
+ | readonly LuaRobotBuiltEntityEventFilter[]
428
+ | readonly LuaPreGhostUpgradedEventFilter[]
429
+ | readonly LuaEntityDeconstructionCancelledEventFilter[]
430
+ | readonly LuaPlayerBuiltEntityEventFilter[]
431
+ | readonly LuaPlayerMinedEntityEventFilter[]
432
+ | readonly LuaEntityDamagedEventFilterWrite[]
433
+ | readonly LuaSectorScannedEventFilter[]
434
+ /**
435
+ * Types `"signal"` and `"item-group"` do not support filters.
436
+ *
437
+ * Filters are always used as an array of filters of a specific type. Every filter can only be used with its corresponding event, and different types of event filters can not be mixed.
438
+ *
439
+ * ## Union members
440
+ * - ItemPrototypeFilter
441
+ * - {@link ModSettingPrototypeFilter}
442
+ * - TechnologyPrototypeFilter
443
+ * - {@link DecorativePrototypeFilter}
444
+ * - {@link AchievementPrototypeFilter}
445
+ * - FluidPrototypeFilter
446
+ * - {@link EquipmentPrototypeFilter}
447
+ * - TilePrototypeFilter
448
+ * - RecipePrototypeFilter
449
+ * - EntityPrototypeFilter
450
+ * @see PrototypeFilterWrite
451
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#PrototypeFilter Online documentation}
452
+ */
453
+ export type PrototypeFilter =
454
+ | ItemPrototypeFilter[]
455
+ | ModSettingPrototypeFilter[]
456
+ | TechnologyPrototypeFilter[]
457
+ | DecorativePrototypeFilter[]
458
+ | AchievementPrototypeFilter[]
459
+ | FluidPrototypeFilter[]
460
+ | EquipmentPrototypeFilter[]
461
+ | TilePrototypeFilter[]
462
+ | RecipePrototypeFilter[]
463
+ | EntityPrototypeFilter[]
464
+ /**
465
+ * Write form of {@link PrototypeFilter}, where table-or-array concepts are allowed to take an array form.
466
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#PrototypeFilter Online documentation}
467
+ */
468
+ export type PrototypeFilterWrite =
469
+ | readonly ItemPrototypeFilterWrite[]
470
+ | readonly ModSettingPrototypeFilter[]
471
+ | readonly TechnologyPrototypeFilterWrite[]
472
+ | readonly DecorativePrototypeFilter[]
473
+ | readonly AchievementPrototypeFilter[]
474
+ | readonly FluidPrototypeFilterWrite[]
475
+ | readonly EquipmentPrototypeFilter[]
476
+ | readonly TilePrototypeFilterWrite[]
477
+ | readonly RecipePrototypeFilterWrite[]
478
+ | readonly EntityPrototypeFilterWrite[]
325
479
  export interface ElemID {
326
480
  readonly type: ElemType
327
481
  /**
@@ -336,7 +490,7 @@ declare module "factorio:runtime" {
336
490
  * - `"left"`
337
491
  * - `"right"`
338
492
  * - `"none"`
339
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#SwitchState Online documentation}
493
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#SwitchState Online documentation}
340
494
  */
341
495
  export type SwitchState = "left" | "right" | "none"
342
496
  /**
@@ -354,7 +508,7 @@ declare module "factorio:runtime" {
354
508
  * - `"signal"`
355
509
  * - `"technology"`
356
510
  * - `"tile"`
357
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#ElemType Online documentation}
511
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#ElemType Online documentation}
358
512
  */
359
513
  export type ElemType =
360
514
  | "achievement"
@@ -380,7 +534,7 @@ declare module "factorio:runtime" {
380
534
  * - `"logistics"`: Light blue by default.
381
535
  * - `"train-visualization"`: White by default.
382
536
  * - `"blueprint-snap-rectangle"`: Green by default.
383
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#CursorBoxRenderType Online documentation}
537
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#CursorBoxRenderType Online documentation}
384
538
  */
385
539
  export type CursorBoxRenderType =
386
540
  | "entity"
@@ -393,7 +547,7 @@ declare module "factorio:runtime" {
393
547
  | "blueprint-snap-rectangle"
394
548
  /**
395
549
  * What is shown in the map view. If a field is not given, that setting will not be changed.
396
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#MapViewSettings Online documentation}
550
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#MapViewSettings Online documentation}
397
551
  */
398
552
  export interface MapViewSettings {
399
553
  readonly "show-logistic-network"?: boolean
@@ -437,7 +591,7 @@ declare module "factorio:runtime" {
437
591
  * - `"none-to-south"`
438
592
  * - `"south-to-none"`
439
593
  * - `"none-to-north"`
440
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#CliffOrientation Online documentation}
594
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#CliffOrientation Online documentation}
441
595
  */
442
596
  export type CliffOrientation =
443
597
  | "west-to-east"
@@ -505,7 +659,7 @@ declare module "factorio:runtime" {
505
659
  * - `"artillery-range"`
506
660
  * - `"nothing"`
507
661
  * - `"character-logistic-requests"`
508
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#ModifierType Online documentation}
662
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#ModifierType Online documentation}
509
663
  */
510
664
  export type ModifierType =
511
665
  | "inserter-stack-size-bonus"
@@ -552,26 +706,33 @@ declare module "factorio:runtime" {
552
706
  /**
553
707
  * Localised strings are a way to support translation of in-game text. It is an array where the first element is the key and the remaining elements are parameters that will be substituted for placeholders in the template designated by the key.
554
708
  *
555
- * The key identifies the string template. For example, `"gui-alert-tooltip.attack"` (for the template `"__1__
556
- *
557
- * objects are being damaged"`; see the file `data/core/locale/en.cfg`).
709
+ * The key identifies the string template. For example, `"gui-alert-tooltip.attack"` (for the template `"__1__ objects are being damaged"`; see the file `data/core/locale/en.cfg`).
558
710
  *
559
711
  * The template can contain placeholders such as `__1__` or `__2__`. These will be replaced by the respective parameter in the LocalisedString. The parameters themselves can be other localised strings, which will be processed recursively in the same fashion. Localised strings can not be recursed deeper than 20 levels and can not have more than 20 parameters.
560
712
  *
561
713
  * There are two special flags for the localised string, indicated by the key being a particular string. First, if the key is the empty string (`""`), then all parameters will be concatenated (after processing, if any are localised strings themselves). Second, if the key is a question mark (`"?"`), then the first valid parameter will be used. A parameter can be invalid if its name doesn't match any string template. If no parameters are valid, the last one is returned. This is useful to implement a fallback for missing locale templates.
562
714
  *
563
715
  * Furthermore, when an API function expects a localised string, it will also accept a regular string (i.e. not a table) which will not be translated, as well as a number, boolean or `nil`, which will be converted to their textual representation.
564
- * @example In the English translation, this will print `"No ammo"`; in the Czech translation, it will print `"Bez munice"`:
716
+ * @example
717
+ * -- In the English translation, this will print "No ammo"; in the Czech translation, it will print "Bez munice":
565
718
  * game.player.print({"description.no-ammo"})
566
- * @example In the English translation, this will print `"Durability: 5/9"`; in the Japanese one, it will print `"耐久度: 5/9"`:
719
+ * -- The 'description.no-ammo' template contains no placeholders, so no further parameters are necessary.
720
+ * @example
721
+ * -- In the English translation, this will print "Durability: 5/9"; in the Japanese one, it will print "耐久度: 5/9":
567
722
  * game.player.print({"description.durability", 5, 9})
568
- * @example This will print `"hello"` in all translations:
723
+ * @example
724
+ * -- This will print "hello" in all translations:
569
725
  * game.player.print({"", "hello"})
570
- * @example This will print `"Iron plate: 60"` in the English translation and `"Eisenplatte: 60"` in the German translation.
726
+ * @example
727
+ * -- This will print "Iron plate: 60" in the English translation and "Eisenplatte: 60" in the German translation.
571
728
  * game.print({"", {"item-name.iron-plate"}, ": ", 60})
572
- * @example As an example of a localised string with fallback, consider this:
729
+ * @example
730
+ * -- As an example of a localised string with fallback, consider this:
573
731
  * {"?", {"", {"entity-description.furnace"}, "\n"}, {"item-description.furnace"}, "optional fallback"}
574
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#LocalisedString Online documentation}
732
+ * -- If 'entity-description.furnace' exists, it is concatenated with "\n" and returned. Otherwise, if 'item-description.furnace'
733
+ * -- exists, it is returned as-is. Otherwise, "optional fallback" is returned. If this value wasn't specified, the
734
+ * -- translation result would be "Unknown key: 'item-description.furnace'".
735
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#LocalisedString Online documentation}
575
736
  */
576
737
  export type LocalisedString = string | number | boolean | LuaObject | nil | [string, ...LocalisedString[]]
577
738
  export interface DisplayResolution {
@@ -596,7 +757,7 @@ declare module "factorio:runtime" {
596
757
  * The smooth orientation. It is a {@link float} in the range `[0, 1)` that covers a full circle, starting at the top and going clockwise. This means a value of `0` indicates "north", a value of `0.5` indicates "south".
597
758
  *
598
759
  * For example then, a value of `0.625` would indicate "south-west", and a value of `0.875` would indicate "north-west".
599
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#RealOrientation Online documentation}
760
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#RealOrientation Online documentation}
600
761
  */
601
762
  export type RealOrientation = float
602
763
  /**
@@ -604,12 +765,14 @@ declare module "factorio:runtime" {
604
765
  *
605
766
  * 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.
606
767
  * @see MapPositionArray
607
- * @example Explicit definition:
768
+ * @example
769
+ * -- Explicit definition
608
770
  * {x = 5.5, y = 2}
609
771
  * {y = 2.25, x = 5.125}
610
- * @example Shorthand:
772
+ * @example
773
+ * -- Shorthand
611
774
  * {1.625, 2.375}
612
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#MapPosition Online documentation}
775
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#MapPosition Online documentation}
613
776
  */
614
777
  export interface MapPosition {
615
778
  readonly x: double
@@ -618,13 +781,13 @@ declare module "factorio:runtime" {
618
781
  /**
619
782
  * Array form of {@link MapPosition}.
620
783
  * @see MapPosition
621
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#MapPosition Online documentation}
784
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#MapPosition Online documentation}
622
785
  */
623
- export type MapPositionArray = readonly [x: double, y: double]
786
+ export type MapPositionArray = readonly [double, double]
624
787
  /**
625
788
  * 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.
626
789
  * @see ChunkPositionArray
627
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#ChunkPosition Online documentation}
790
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#ChunkPosition Online documentation}
628
791
  */
629
792
  export interface ChunkPosition {
630
793
  readonly x: int
@@ -633,13 +796,13 @@ declare module "factorio:runtime" {
633
796
  /**
634
797
  * Array form of {@link ChunkPosition}.
635
798
  * @see ChunkPosition
636
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#ChunkPosition Online documentation}
799
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#ChunkPosition Online documentation}
637
800
  */
638
- export type ChunkPositionArray = readonly [x: int, y: int]
801
+ export type ChunkPositionArray = readonly [int, int]
639
802
  /**
640
803
  * 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.
641
804
  * @see TilePositionArray
642
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#TilePosition Online documentation}
805
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#TilePosition Online documentation}
643
806
  */
644
807
  export interface TilePosition {
645
808
  readonly x: int
@@ -648,18 +811,20 @@ declare module "factorio:runtime" {
648
811
  /**
649
812
  * Array form of {@link TilePosition}.
650
813
  * @see TilePosition
651
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#TilePosition Online documentation}
814
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#TilePosition Online documentation}
652
815
  */
653
- export type TilePositionArray = readonly [x: int, y: int]
816
+ export type TilePositionArray = readonly [int, int]
654
817
  /**
655
818
  * Position inside an equipment grid. This uses the same format as {@link MapPosition}, meaning it can be specified either with or without explicit keys.
656
819
  * @see EquipmentPositionArray
657
- * @example Explicit definition:
820
+ * @example
821
+ * -- Explicit definition
658
822
  * {x = 5, y = 2}
659
823
  * {y = 2, x = 5}
660
- * @example Shorthand:
824
+ * @example
825
+ * -- Shorthand
661
826
  * {1, 2}
662
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#EquipmentPosition Online documentation}
827
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#EquipmentPosition Online documentation}
663
828
  */
664
829
  export interface EquipmentPosition {
665
830
  readonly x: int
@@ -668,13 +833,13 @@ declare module "factorio:runtime" {
668
833
  /**
669
834
  * Array form of {@link EquipmentPosition}.
670
835
  * @see EquipmentPosition
671
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#EquipmentPosition Online documentation}
836
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#EquipmentPosition Online documentation}
672
837
  */
673
- export type EquipmentPositionArray = readonly [x: int, y: int]
838
+ export type EquipmentPositionArray = readonly [int, int]
674
839
  /**
675
840
  * 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.
676
841
  * @see GuiLocationArray
677
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#GuiLocation Online documentation}
842
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#GuiLocation Online documentation}
678
843
  */
679
844
  export interface GuiLocation {
680
845
  readonly x: int
@@ -683,12 +848,12 @@ declare module "factorio:runtime" {
683
848
  /**
684
849
  * Array form of {@link GuiLocation}.
685
850
  * @see GuiLocation
686
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#GuiLocation Online documentation}
851
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#GuiLocation Online documentation}
687
852
  */
688
- export type GuiLocationArray = readonly [x: int, y: int]
853
+ export type GuiLocationArray = readonly [int, int]
689
854
  /**
690
855
  * A {@link ChunkPosition} with an added bounding box for the area of the chunk.
691
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#ChunkPositionAndArea Online documentation}
856
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#ChunkPositionAndArea Online documentation}
692
857
  */
693
858
  export interface ChunkPositionAndArea {
694
859
  readonly x: int
@@ -697,7 +862,7 @@ declare module "factorio:runtime" {
697
862
  }
698
863
  /**
699
864
  * A table used to define a manual shape for a piece of equipment.
700
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#EquipmentPoint Online documentation}
865
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#EquipmentPoint Online documentation}
701
866
  */
702
867
  export interface EquipmentPoint {
703
868
  readonly x: uint
@@ -733,12 +898,12 @@ declare module "factorio:runtime" {
733
898
  * Note that the API returns tags as a simple table, meaning any modifications to it will not propagate back to the game. Thus, to modify a set of tags, the whole table needs to be written back to the respective property.
734
899
  * @example
735
900
  * {a = 1, b = true, c = "three", d = {e = "f"}}
736
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#Tags Online documentation}
901
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#Tags Online documentation}
737
902
  */
738
903
  export type Tags = Record<string, AnyBasic>
739
904
  /**
740
- * @remarks The vectors for all 5 position attributes are a table with `x` and `y` keys instead of an array.
741
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#SmokeSource Online documentation}
905
+ * The vectors for all 5 position attributes are a table with `x` and `y` keys instead of an array.
906
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#SmokeSource Online documentation}
742
907
  */
743
908
  export interface SmokeSource {
744
909
  readonly name: string
@@ -765,17 +930,19 @@ declare module "factorio:runtime" {
765
930
  * A vector is a two-element array containing the `x` and `y` components. In some specific cases, the vector is a table with `x` and `y` keys instead, which the documentation will point out.
766
931
  * @example
767
932
  * right = {1.0, 0.0}
768
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#Vector Online documentation}
933
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#Vector Online documentation}
769
934
  */
770
935
  export type Vector = MapPositionArray
771
936
  /**
772
937
  * Two positions, specifying the top-left and bottom-right corner of the box respectively. Like with {@link MapPosition}, the names of the members may be omitted. When read from the game, the third member `orientation` is present if it is non-zero.
773
938
  * @see BoundingBoxArray
774
- * @example Explicit definition:
939
+ * @example
940
+ * -- Explicit definition
775
941
  * {left_top = {x = -2, y = -3}, right_bottom = {x = 5, y = 8}}
776
- * @example Shorthand:
942
+ * @example
943
+ * -- Shorthand
777
944
  * {{-2, -3}, {5, 8}}
778
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#BoundingBox Online documentation}
945
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#BoundingBox Online documentation}
779
946
  */
780
947
  export interface BoundingBox {
781
948
  readonly left_top: MapPosition
@@ -793,17 +960,13 @@ declare module "factorio:runtime" {
793
960
  /**
794
961
  * Array form of {@link BoundingBox}.
795
962
  * @see BoundingBox
796
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#BoundingBox Online documentation}
963
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#BoundingBox Online documentation}
797
964
  */
798
- export type BoundingBoxArray = readonly [
799
- left_top: MapPosition | MapPositionArray,
800
- right_bottom: MapPosition | MapPositionArray,
801
- orientation?: RealOrientation,
802
- ]
965
+ export type BoundingBoxArray = readonly [MapPosition | MapPositionArray, MapPosition | MapPositionArray]
803
966
  /**
804
967
  * An area defined using the map editor.
805
968
  * @see ScriptAreaWrite
806
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#ScriptArea Online documentation}
969
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#ScriptArea Online documentation}
807
970
  */
808
971
  export interface ScriptArea {
809
972
  readonly area: BoundingBox
@@ -813,7 +976,7 @@ declare module "factorio:runtime" {
813
976
  }
814
977
  /**
815
978
  * Write form of {@link ScriptArea}, where table-or-array concepts are allowed to take an array form.
816
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#ScriptArea Online documentation}
979
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#ScriptArea Online documentation}
817
980
  */
818
981
  export interface ScriptAreaWrite {
819
982
  readonly area: BoundingBoxWrite | BoundingBoxArray
@@ -824,7 +987,7 @@ declare module "factorio:runtime" {
824
987
  /**
825
988
  * A position defined using the map editor.
826
989
  * @see ScriptPositionWrite
827
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#ScriptPosition Online documentation}
990
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#ScriptPosition Online documentation}
828
991
  */
829
992
  export interface ScriptPosition {
830
993
  readonly position: MapPosition
@@ -834,7 +997,7 @@ declare module "factorio:runtime" {
834
997
  }
835
998
  /**
836
999
  * Write form of {@link ScriptPosition}, where table-or-array concepts are allowed to take an array form.
837
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#ScriptPosition Online documentation}
1000
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#ScriptPosition Online documentation}
838
1001
  */
839
1002
  export interface ScriptPositionWrite {
840
1003
  readonly position: MapPosition | MapPositionArray
@@ -852,7 +1015,7 @@ declare module "factorio:runtime" {
852
1015
  * red2 = {r = 0.5, a = 0.5} -- Same color as red1
853
1016
  * black = {} -- All channels omitted: black
854
1017
  * red1_short = {0.5, 0, 0, 0.5} -- Same color as red1 in short-hand notation
855
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#Color Online documentation}
1018
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#Color Online documentation}
856
1019
  */
857
1020
  export interface Color {
858
1021
  readonly r?: float
@@ -863,13 +1026,13 @@ declare module "factorio:runtime" {
863
1026
  /**
864
1027
  * Array form of {@link Color}.
865
1028
  * @see Color
866
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#Color Online documentation}
1029
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#Color Online documentation}
867
1030
  */
868
1031
  export type ColorArray = readonly [r: double, g: double, b: double, a?: double]
869
1032
  /**
870
1033
  * 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].
871
1034
  * @see ColorModifierArray
872
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#ColorModifier Online documentation}
1035
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#ColorModifier Online documentation}
873
1036
  */
874
1037
  export interface ColorModifier {
875
1038
  readonly r?: float
@@ -880,7 +1043,7 @@ declare module "factorio:runtime" {
880
1043
  /**
881
1044
  * Array form of {@link ColorModifier}.
882
1045
  * @see ColorModifier
883
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#ColorModifier Online documentation}
1046
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#ColorModifier Online documentation}
884
1047
  */
885
1048
  export type ColorModifierArray = readonly [r: double, g: double, b: double, a?: double]
886
1049
  export interface CraftingQueueItem {
@@ -920,7 +1083,7 @@ declare module "factorio:runtime" {
920
1083
  }
921
1084
  /**
922
1085
  * One vertex of a ScriptRenderPolygon.
923
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#ScriptRenderVertexTarget Online documentation}
1086
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#ScriptRenderVertexTarget Online documentation}
924
1087
  */
925
1088
  export interface ScriptRenderVertexTarget {
926
1089
  readonly target: (MapPosition | MapPositionArray) | LuaEntity
@@ -985,8 +1148,8 @@ declare module "factorio:runtime" {
985
1148
  readonly changed: string[]
986
1149
  }
987
1150
  /**
988
- * @remarks Either `icon`, `text`, or both must be provided.
989
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#ChartTagSpec Online documentation}
1151
+ * Either `icon`, `text`, or both must be provided.
1152
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#ChartTagSpec Online documentation}
990
1153
  */
991
1154
  export interface ChartTagSpec {
992
1155
  readonly position: MapPosition | MapPositionArray
@@ -996,88 +1159,88 @@ declare module "factorio:runtime" {
996
1159
  }
997
1160
  /**
998
1161
  * 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.
999
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#GameViewSettings Online documentation}
1162
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#GameViewSettings Online documentation}
1000
1163
  */
1001
1164
  export interface GameViewSettings {
1002
1165
  /**
1003
1166
  * Show the controller GUI elements. This includes the toolbar, the selected tool slot, the armour slot, and the gun and ammunition slots.
1004
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#GameViewSettings.show_controller_gui Online documentation}
1167
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#GameViewSettings.show_controller_gui Online documentation}
1005
1168
  */
1006
1169
  show_controller_gui: boolean
1007
1170
  /**
1008
1171
  * Show the chart in the upper right-hand corner of the screen.
1009
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#GameViewSettings.show_minimap Online documentation}
1172
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#GameViewSettings.show_minimap Online documentation}
1010
1173
  */
1011
1174
  show_minimap: boolean
1012
1175
  /**
1013
1176
  * Show research progress and name in the upper right-hand corner of the screen.
1014
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#GameViewSettings.show_research_info Online documentation}
1177
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#GameViewSettings.show_research_info Online documentation}
1015
1178
  */
1016
1179
  show_research_info: boolean
1017
1180
  /**
1018
1181
  * Show overlay icons on entities. Also known as "alt-mode".
1019
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#GameViewSettings.show_entity_info Online documentation}
1182
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#GameViewSettings.show_entity_info Online documentation}
1020
1183
  */
1021
1184
  show_entity_info: boolean
1022
1185
  /**
1023
1186
  * Show the flashing alert icons next to the player's toolbar.
1024
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#GameViewSettings.show_alert_gui Online documentation}
1187
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#GameViewSettings.show_alert_gui Online documentation}
1025
1188
  */
1026
1189
  show_alert_gui: boolean
1027
1190
  /**
1028
1191
  * When `true` (the default), mousing over an entity will select it. Otherwise, moving the mouse won't update entity selection.
1029
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#GameViewSettings.update_entity_selection Online documentation}
1192
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#GameViewSettings.update_entity_selection Online documentation}
1030
1193
  */
1031
1194
  update_entity_selection: boolean
1032
1195
  /**
1033
1196
  * When `true` (`false` is default), the rails will always show the rail block visualisation.
1034
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#GameViewSettings.show_rail_block_visualisation Online documentation}
1197
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#GameViewSettings.show_rail_block_visualisation Online documentation}
1035
1198
  */
1036
1199
  show_rail_block_visualisation: boolean
1037
1200
  /**
1038
1201
  * Shows or hides the buttons row.
1039
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#GameViewSettings.show_side_menu Online documentation}
1202
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#GameViewSettings.show_side_menu Online documentation}
1040
1203
  */
1041
1204
  show_side_menu: boolean
1042
1205
  /**
1043
1206
  * Shows or hides the view options when map is opened.
1044
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#GameViewSettings.show_map_view_options Online documentation}
1207
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#GameViewSettings.show_map_view_options Online documentation}
1045
1208
  */
1046
1209
  show_map_view_options: boolean
1047
1210
  /**
1048
1211
  * Shows or hides the tooltip that is displayed when selecting an entity.
1049
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#GameViewSettings.show_entity_tooltip Online documentation}
1212
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#GameViewSettings.show_entity_tooltip Online documentation}
1050
1213
  */
1051
1214
  show_entity_tooltip: boolean
1052
1215
  /**
1053
1216
  * Shows or hides quickbar of shortcuts.
1054
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#GameViewSettings.show_quickbar Online documentation}
1217
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#GameViewSettings.show_quickbar Online documentation}
1055
1218
  */
1056
1219
  show_quickbar: boolean
1057
1220
  /**
1058
1221
  * Shows or hides the shortcut bar.
1059
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#GameViewSettings.show_shortcut_bar Online documentation}
1222
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#GameViewSettings.show_shortcut_bar Online documentation}
1060
1223
  */
1061
1224
  show_shortcut_bar: boolean
1062
1225
  /**
1063
1226
  * Shows or hides the crafting queue.
1064
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#GameViewSettings.show_crafting_queue Online documentation}
1227
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#GameViewSettings.show_crafting_queue Online documentation}
1065
1228
  */
1066
1229
  show_crafting_queue: boolean
1067
1230
  /**
1068
1231
  * Shows or hides the tool window with the weapons and armor.
1069
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#GameViewSettings.show_tool_bar Online documentation}
1232
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#GameViewSettings.show_tool_bar Online documentation}
1070
1233
  */
1071
1234
  show_tool_bar: boolean
1072
1235
  /**
1073
1236
  * Shows or hides the mouse and keyboard/controller button hints in the bottom left corner if they are enabled in the interface settings.
1074
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#GameViewSettings.show_hotkey_suggestions Online documentation}
1237
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#GameViewSettings.show_hotkey_suggestions Online documentation}
1075
1238
  */
1076
1239
  show_hotkey_suggestions: boolean
1077
1240
  }
1078
1241
  /**
1079
1242
  * These values are for the time frame of one second (60 ticks).
1080
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#PollutionMapSettings Online documentation}
1243
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#PollutionMapSettings Online documentation}
1081
1244
  */
1082
1245
  export interface PollutionMapSettings {
1083
1246
  /**
@@ -1131,7 +1294,7 @@ declare module "factorio:runtime" {
1131
1294
  }
1132
1295
  /**
1133
1296
  * These values represent a percentual increase in evolution. This means a value of `0.1` would increase evolution by 10%.
1134
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#EnemyEvolutionMapSettings Online documentation}
1297
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#EnemyEvolutionMapSettings Online documentation}
1135
1298
  */
1136
1299
  export interface EnemyEvolutionMapSettings {
1137
1300
  /**
@@ -1160,18 +1323,16 @@ declare module "factorio:runtime" {
1160
1323
  * player = 0
1161
1324
  * for neighbour in all chunks within enemy_building_influence_radius from chunk:
1162
1325
  * player += number of player buildings on neighbour
1163
- * * building_coefficient
1164
- * * neighbouring_chunk_coefficient^distance(chunk, neighbour)
1165
- *
1326
+ * * building_coefficient
1327
+ * * neighbouring_chunk_coefficient^distance(chunk, neighbour)
1166
1328
  * base = 0
1167
1329
  * for neighbour in all chunk within friendly_base_influence_radius from chunk:
1168
1330
  * base += num of enemy bases on neighbour
1169
- * * other_base_coefficient
1170
- * * neighbouring_base_chunk_coefficient^distance(chunk, neighbour)
1171
- *
1331
+ * * other_base_coefficient
1332
+ * * neighbouring_base_chunk_coefficient^distance(chunk, neighbour)
1172
1333
  * score(chunk) = 1 / (1 + player + base)
1173
1334
  * ```
1174
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#EnemyExpansionMapSettings Online documentation}
1335
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#EnemyExpansionMapSettings Online documentation}
1175
1336
  */
1176
1337
  export interface EnemyExpansionMapSettings {
1177
1338
  /**
@@ -1430,9 +1591,10 @@ declare module "factorio:runtime" {
1430
1591
  }
1431
1592
  /**
1432
1593
  * Various game-related settings. Updating any of the attributes will immediately take effect in the game engine.
1433
- * @example Increase the number of short paths the pathfinder can cache.
1594
+ * @example
1595
+ * -- Increase the number of short paths the pathfinder can cache
1434
1596
  * game.map_settings.path_finder.short_cache_size = 15
1435
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#MapSettings Online documentation}
1597
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#MapSettings Online documentation}
1436
1598
  */
1437
1599
  export interface MapSettings {
1438
1600
  pollution: PollutionMapSettings
@@ -1443,31 +1605,31 @@ declare module "factorio:runtime" {
1443
1605
  path_finder: PathFinderMapSettings
1444
1606
  /**
1445
1607
  * If a behavior fails this many times, the enemy (or enemy group) is destroyed. This solves biters getting stuck within their own base.
1446
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#MapSettings.max_failed_behavior_count Online documentation}
1608
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#MapSettings.max_failed_behavior_count Online documentation}
1447
1609
  */
1448
1610
  max_failed_behavior_count: uint
1449
1611
  }
1450
1612
  /**
1451
1613
  * Technology and recipe difficulty settings. Updating any of the attributes will immediately take effect in the game engine.
1452
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#DifficultySettings Online documentation}
1614
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#DifficultySettings Online documentation}
1453
1615
  */
1454
1616
  export interface DifficultySettings {
1455
1617
  recipe_difficulty: defines.difficulty_settings.recipe_difficulty
1456
1618
  technology_difficulty: defines.difficulty_settings.technology_difficulty
1457
1619
  /**
1458
1620
  * A value in range [0.001, 1000].
1459
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#DifficultySettings.technology_price_multiplier Online documentation}
1621
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#DifficultySettings.technology_price_multiplier Online documentation}
1460
1622
  */
1461
1623
  technology_price_multiplier: double
1462
1624
  /**
1463
1625
  * Changing this to `"always"` or `"after-victory"` does not automatically unlock the research queue. See {@link LuaForce#research_queue_enabled LuaForce::research_queue_enabled} for that.
1464
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#DifficultySettings.research_queue_setting Online documentation}
1626
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#DifficultySettings.research_queue_setting Online documentation}
1465
1627
  */
1466
1628
  research_queue_setting: "after-victory" | "always" | "never"
1467
1629
  }
1468
1630
  /**
1469
1631
  * A standard table containing all {@link MapSettings} attributes plus an additional table that contains all {@link DifficultySettings} properties.
1470
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#MapAndDifficultySettings Online documentation}
1632
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#MapAndDifficultySettings Online documentation}
1471
1633
  */
1472
1634
  export interface MapAndDifficultySettings {
1473
1635
  readonly pollution: PollutionMapSettings
@@ -1496,7 +1658,7 @@ declare module "factorio:runtime" {
1496
1658
  }
1497
1659
  /**
1498
1660
  * The data that can be extracted from a map exchange string, as a plain table.
1499
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#MapExchangeStringData Online documentation}
1661
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#MapExchangeStringData Online documentation}
1500
1662
  */
1501
1663
  export interface MapExchangeStringData {
1502
1664
  readonly map_settings: MapAndDifficultySettings
@@ -1515,7 +1677,7 @@ declare module "factorio:runtime" {
1515
1677
  /**
1516
1678
  * The representation of an entity inside of a blueprint. It has at least these fields, but can contain additional ones depending on the kind of entity.
1517
1679
  * @see BlueprintEntityWrite
1518
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#BlueprintEntity Online documentation}
1680
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#BlueprintEntity Online documentation}
1519
1681
  */
1520
1682
  export interface BlueprintEntity {
1521
1683
  /**
@@ -1694,7 +1856,7 @@ declare module "factorio:runtime" {
1694
1856
  }
1695
1857
  /**
1696
1858
  * Write form of {@link BlueprintEntity}, where table-or-array concepts are allowed to take an array form.
1697
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#BlueprintEntity Online documentation}
1859
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#BlueprintEntity Online documentation}
1698
1860
  */
1699
1861
  export interface BlueprintEntityWrite {
1700
1862
  /**
@@ -1782,7 +1944,7 @@ declare module "factorio:runtime" {
1782
1944
  }
1783
1945
  /**
1784
1946
  * @see TileWrite
1785
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#Tile Online documentation}
1947
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#Tile Online documentation}
1786
1948
  */
1787
1949
  export interface Tile {
1788
1950
  /**
@@ -1796,7 +1958,7 @@ declare module "factorio:runtime" {
1796
1958
  }
1797
1959
  /**
1798
1960
  * Write form of {@link Tile}, where table-or-array concepts are allowed to take an array form.
1799
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#Tile Online documentation}
1961
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#Tile Online documentation}
1800
1962
  */
1801
1963
  export interface TileWrite {
1802
1964
  /**
@@ -1865,7 +2027,7 @@ declare module "factorio:runtime" {
1865
2027
  *
1866
2028
  * Other attributes may be specified depending on `type`:
1867
2029
  * - `"fluid"`: {@link FluidIngredient}
1868
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#Ingredient Online documentation}
2030
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#Ingredient Online documentation}
1869
2031
  */
1870
2032
  export type Ingredient = FluidIngredient | OtherIngredient
1871
2033
  /**
@@ -1919,15 +2081,19 @@ declare module "factorio:runtime" {
1919
2081
  *
1920
2082
  * Other attributes may be specified depending on `type`:
1921
2083
  * - `"fluid"`: {@link FluidProduct}
1922
- * @example Products of the "steel-chest" recipe (an array of Product):
2084
+ * @example
2085
+ * -- Products of the "steel-chest" recipe (an array of Product)
1923
2086
  * {{type="item", name="steel-chest", amount=1}}
1924
- * @example Products of the "advanced-oil-processing" recipe:
2087
+ * @example
2088
+ * -- Products of the "advanced-oil-processing" recipe
1925
2089
  * {{type="fluid", name="heavy-oil", amount=1},
1926
- * {type="fluid", name="light-oil", amount=4.5},
1927
- * {type="fluid", name="petroleum-gas", amount=5.5}}
1928
- * @example What a custom recipe would look like that had a probability of 0.5 to return a minimum amount of 1 and a maximum amount of 5:
2090
+ * {type="fluid", name="light-oil", amount=4.5},
2091
+ * {type="fluid", name="petroleum-gas", amount=5.5}}
2092
+ * @example
2093
+ * -- What a custom recipe would look like that had a probability of 0.5 to return a
2094
+ * -- minimum amount of 1 and amaximum amount of 5
1929
2095
  * {{type="item", name="custom-item", probability=0.5, amount_min=1, amount_max=5}}
1930
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#Product Online documentation}
2096
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#Product Online documentation}
1931
2097
  */
1932
2098
  export type Product = FluidProduct | OtherProduct
1933
2099
  export interface Loot {
@@ -2086,7 +2252,7 @@ declare module "factorio:runtime" {
2086
2252
  * - `"unlock-recipe"`: {@link UnlockRecipeTechnologyModifier}
2087
2253
  * - `"nothing"`: {@link NothingTechnologyModifier}
2088
2254
  * - Other types: {@link OtherTechnologyModifier}
2089
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#TechnologyModifier Online documentation}
2255
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#TechnologyModifier Online documentation}
2090
2256
  */
2091
2257
  export type TechnologyModifier =
2092
2258
  | GunSpeedTechnologyModifier
@@ -2098,7 +2264,7 @@ declare module "factorio:runtime" {
2098
2264
  | OtherTechnologyModifier
2099
2265
  /**
2100
2266
  * A single offer on a market entity.
2101
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#Offer Online documentation}
2267
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#Offer Online documentation}
2102
2268
  */
2103
2269
  export interface Offer {
2104
2270
  /**
@@ -2112,7 +2278,7 @@ declare module "factorio:runtime" {
2112
2278
  }
2113
2279
  /**
2114
2280
  * Specifies how probability and richness are calculated when placing something on the map. Can be specified either using `probability_expression` and `richness_expression` or by using all the other fields.
2115
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#AutoplaceSpecification Online documentation}
2281
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#AutoplaceSpecification Online documentation}
2116
2282
  */
2117
2283
  export interface AutoplaceSpecification {
2118
2284
  readonly probability_expression: NoiseExpression
@@ -2138,7 +2304,7 @@ declare module "factorio:runtime" {
2138
2304
  }
2139
2305
  /**
2140
2306
  * A fragment of a functional program used to generate coherent noise, probably for purposes related to terrain generation. These can only be meaningfully written/modified during the data load phase. More detailed information is found on the {@link import("factorio:prototype").NamedNoiseExpression prototype docs}.
2141
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#NoiseExpression Online documentation}
2307
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#NoiseExpression Online documentation}
2142
2308
  */
2143
2309
  export interface NoiseExpression {
2144
2310
  /**
@@ -2211,6 +2377,8 @@ declare module "factorio:runtime" {
2211
2377
  *
2212
2378
  * For backwards compatibility, MapGenSizes can also be specified as one of the following strings, which will be converted to a number (when queried, a number will always be returned):
2213
2379
  *
2380
+ * The map generation algorithm officially supports the range of values the in-game map generation screen shows (specifically `0` and values from `1/6` to `6`). Values outside this range are not guaranteed to work as expected.
2381
+ *
2214
2382
  * ## Union members
2215
2383
  * - {@link float}: Specifying a map gen dimension.
2216
2384
  * - `"none"`: equivalent to `0`.
@@ -2229,8 +2397,7 @@ declare module "factorio:runtime" {
2229
2397
  * - `"very-high"`: equivalent to `2`.
2230
2398
  * - `"very-big"`: equivalent to `2`.
2231
2399
  * - `"very-good"`: equivalent to `2`.
2232
- * @remarks The map generation algorithm officially supports the range of values the in-game map generation screen shows (specifically `0` and values from `1/6` to `6`). Values outside this range are not guaranteed to work as expected.
2233
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#MapGenSize Online documentation}
2400
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#MapGenSize Online documentation}
2234
2401
  */
2235
2402
  export type MapGenSize =
2236
2403
  | float
@@ -2252,7 +2419,7 @@ declare module "factorio:runtime" {
2252
2419
  | "very-good"
2253
2420
  /**
2254
2421
  * @see AutoplaceControlWrite
2255
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#AutoplaceControl Online documentation}
2422
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#AutoplaceControl Online documentation}
2256
2423
  */
2257
2424
  export interface AutoplaceControl {
2258
2425
  /**
@@ -2264,13 +2431,13 @@ declare module "factorio:runtime" {
2264
2431
  */
2265
2432
  readonly size: float
2266
2433
  /**
2267
- * Has different effects for different things, but generally affects the 'health' or density of a thing that is placed without affecting where it is placed. For trees, richness affects tree health. For ores, richness multiplies the amount of ore at any given tile in a patch. Metadata about autoplace controls (such as whether or not 'richness' does anything for them) can be found in the {@link LuaAutoplaceControlPrototype} by looking up `game.autoplace_control_prototypes[(control prototype name)]`, e.g. `game.autoplace_control_prototypes["enemy-base"].richness` is false, because enemy base autoplacement doesn't use richness.
2434
+ * Has different effects for different things, but generally affects the 'health' or density of a thing that is placed without affecting where it is placed. For trees, richness affects tree health. For ores, richness multiplies the amount of ore at any given tile in a patch. Metadata about autoplace controls (such as whether or not 'richness' does anything for them) can be found in the {@link LuaAutoplaceControlPrototype} by looking up `game.autoplace_control_prototypes[(control prototype name)]`, e.g. `game.autoplace_control_prototypes["enemy-base"].richness` is false, because enemy base autoplacement doesn't use richness.
2268
2435
  */
2269
2436
  readonly richness: float
2270
2437
  }
2271
2438
  /**
2272
2439
  * Write form of {@link AutoplaceControl}, where table-or-array concepts are allowed to take an array form.
2273
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#AutoplaceControl Online documentation}
2440
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#AutoplaceControl Online documentation}
2274
2441
  */
2275
2442
  export interface AutoplaceControlWrite {
2276
2443
  /**
@@ -2282,35 +2449,13 @@ declare module "factorio:runtime" {
2282
2449
  */
2283
2450
  readonly size: MapGenSize
2284
2451
  /**
2285
- * Has different effects for different things, but generally affects the 'health' or density of a thing that is placed without affecting where it is placed. For trees, richness affects tree health. For ores, richness multiplies the amount of ore at any given tile in a patch. Metadata about autoplace controls (such as whether or not 'richness' does anything for them) can be found in the {@link LuaAutoplaceControlPrototype} by looking up `game.autoplace_control_prototypes[(control prototype name)]`, e.g. `game.autoplace_control_prototypes["enemy-base"].richness` is false, because enemy base autoplacement doesn't use richness.
2452
+ * Has different effects for different things, but generally affects the 'health' or density of a thing that is placed without affecting where it is placed. For trees, richness affects tree health. For ores, richness multiplies the amount of ore at any given tile in a patch. Metadata about autoplace controls (such as whether or not 'richness' does anything for them) can be found in the {@link LuaAutoplaceControlPrototype} by looking up `game.autoplace_control_prototypes[(control prototype name)]`, e.g. `game.autoplace_control_prototypes["enemy-base"].richness` is false, because enemy base autoplacement doesn't use richness.
2286
2453
  */
2287
2454
  readonly richness: MapGenSize
2288
2455
  }
2289
- /**
2290
- * @see AutoplaceSettingsWrite
2291
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#AutoplaceSettings Online documentation}
2292
- */
2293
- export interface AutoplaceSettings {
2294
- /**
2295
- * Whether missing autoplace names for this type should be default enabled.
2296
- */
2297
- readonly treat_missing_as_default: boolean
2298
- readonly settings: Record<string, AutoplaceControl>
2299
- }
2300
- /**
2301
- * Write form of {@link AutoplaceSettings}, where table-or-array concepts are allowed to take an array form.
2302
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#AutoplaceSettings Online documentation}
2303
- */
2304
- export interface AutoplaceSettingsWrite {
2305
- /**
2306
- * Whether missing autoplace names for this type should be default enabled.
2307
- */
2308
- readonly treat_missing_as_default: boolean
2309
- readonly settings: Record<string, AutoplaceControlWrite>
2310
- }
2311
2456
  /**
2312
2457
  * @see CliffPlacementSettingsWrite
2313
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#CliffPlacementSettings Online documentation}
2458
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#CliffPlacementSettings Online documentation}
2314
2459
  */
2315
2460
  export interface CliffPlacementSettings {
2316
2461
  /**
@@ -2332,7 +2477,7 @@ declare module "factorio:runtime" {
2332
2477
  }
2333
2478
  /**
2334
2479
  * Write form of {@link CliffPlacementSettings}, where table-or-array concepts are allowed to take an array form.
2335
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#CliffPlacementSettings Online documentation}
2480
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#CliffPlacementSettings Online documentation}
2336
2481
  */
2337
2482
  export interface CliffPlacementSettingsWrite {
2338
2483
  /**
@@ -2355,17 +2500,22 @@ declare module "factorio:runtime" {
2355
2500
  /**
2356
2501
  * The 'map type' dropdown in the map generation GUI is actually a selector for elevation generator. The base game sets `property_expression_names.elevation` to `"0_16-elevation"` to reproduce terrain from 0.16 or to `"0_17-island"` for the island preset. If generators are available for other properties, the 'map type' dropdown in the GUI will be renamed to 'elevation' and shown along with selectors for the other selectable properties.
2357
2502
  * @see MapGenSettingsWrite
2358
- * @example Assuming a NamedNoiseExpression with the name "my-alternate-grass1-probability" is defined
2503
+ * @example
2504
+ * -- Assuming a NamedNoiseExpression with the name "my-alternate-grass1-probability" is defined...
2359
2505
  * local surface = game.player.surface
2360
2506
  * local mgs = surface.map_gen_settings
2361
2507
  * mgs.property_expression_names["tile:grass1:probability"] = "my-alternate-grass1-probability"
2362
2508
  * surface.map_gen_settings = mgs
2363
- * @example To make there be no deep water on (newly generated chunks) a surface:
2509
+ * -- ...would override the probability of grass1 being placed at any given point on the current surface.
2510
+ * @example
2511
+ * -- To make there be no deep water on (newly generated chunks) a surface
2364
2512
  * local surface = game.player.surface
2365
2513
  * local mgs = surface.map_gen_settings
2366
2514
  * mgs.property_expression_names["tile:deepwater:probability"] = -1000
2367
2515
  * surface.map_gen_settings = mgs
2368
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#MapGenSettings Online documentation}
2516
+ * -- This does not require a NamedNoiseExpression to be defined, since literal numbers (and strings naming literal
2517
+ * -- numbers, e.g. `"123"`) are understood to stand for constant value expressions.
2518
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#MapGenSettings Online documentation}
2369
2519
  */
2370
2520
  export interface MapGenSettings {
2371
2521
  /**
@@ -2417,25 +2567,13 @@ declare module "factorio:runtime" {
2417
2567
  */
2418
2568
  readonly peaceful_mode: boolean
2419
2569
  /**
2420
- * Overrides for tile property value generators. 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:
2421
- * - `moisture` - a value between 0 and 1 that determines whether a tile becomes sandy (low moisture) or grassy (high moisture).
2422
- * - `aux` - a value between 0 and 1 that determines whether low-moisture tiles become sand or red desert.
2423
- * - `temperature` - provides a value (vaguely representing degrees Celsius, varying between -20 and 50) that is used (together with moisture and aux) as part of tree and decorative placement.
2424
- * - `elevation` - tiles values less than zero become water. Cliffs are placed along certain contours according to {@link CliffPlacementSettings}.
2425
- * - `cliffiness` - determines whether (when >0.5) or not (when <0.5) a cliff will be placed at an otherwise suitable (according to {@link CliffPlacementSettings}) location.
2426
- * - `enemy-base-intensity` - a number that is referenced by both `enemy-base-frequency` and `enemy-base-radius`. i.e. if this is overridden, enemy base frequency and size will both be affected and do something reasonable. By default, this expression returns a value proportional to distance from any starting point, clamped at about 7.
2427
- * - `enemy-base-frequency` - a number representing average number of enemy bases per tile for a region, by default in terms of `enemy-base-intensity`.
2428
- * - `enemy-base-radius` - a number representing the radius of an enemy base, if one were to be placed on the given tile, by default proportional to a constant plus `enemy-base-intensity`. 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:
2429
- * - `control-setting:moisture:frequency:multiplier` - frequency (inverse of scale) multiplier for moisture noise. Default is 1.
2430
- * - `control-setting:moisture:bias` - global bias for moisture (which normally varies between 0 and 1). Default is 0.
2431
- * - `control-setting:aux:frequency:multiplier` - frequency (inverse of scale) multiplier for aux (called 'terrain type' in the GUI) noise. Default is 1.
2432
- * - `control-setting:aux:bias` - global bias for aux/terrain type (which normally varies between 0 and 1). Default is 0. 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}`.
2570
+ * Overrides for tile property value generators.
2433
2571
  */
2434
- readonly property_expression_names: Record<string, string>
2572
+ readonly property_expression_names: PropertyExpressionNames
2435
2573
  }
2436
2574
  /**
2437
2575
  * Write form of {@link MapGenSettings}, where table-or-array concepts are allowed to take an array form.
2438
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#MapGenSettings Online documentation}
2576
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#MapGenSettings Online documentation}
2439
2577
  */
2440
2578
  export interface MapGenSettingsWrite {
2441
2579
  /**
@@ -2487,22 +2625,19 @@ declare module "factorio:runtime" {
2487
2625
  */
2488
2626
  readonly peaceful_mode: boolean
2489
2627
  /**
2490
- * Overrides for tile property value generators. 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:
2491
- * - `moisture` - a value between 0 and 1 that determines whether a tile becomes sandy (low moisture) or grassy (high moisture).
2492
- * - `aux` - a value between 0 and 1 that determines whether low-moisture tiles become sand or red desert.
2493
- * - `temperature` - provides a value (vaguely representing degrees Celsius, varying between -20 and 50) that is used (together with moisture and aux) as part of tree and decorative placement.
2494
- * - `elevation` - tiles values less than zero become water. Cliffs are placed along certain contours according to {@link CliffPlacementSettings}.
2495
- * - `cliffiness` - determines whether (when >0.5) or not (when <0.5) a cliff will be placed at an otherwise suitable (according to {@link CliffPlacementSettings}) location.
2496
- * - `enemy-base-intensity` - a number that is referenced by both `enemy-base-frequency` and `enemy-base-radius`. i.e. if this is overridden, enemy base frequency and size will both be affected and do something reasonable. By default, this expression returns a value proportional to distance from any starting point, clamped at about 7.
2497
- * - `enemy-base-frequency` - a number representing average number of enemy bases per tile for a region, by default in terms of `enemy-base-intensity`.
2498
- * - `enemy-base-radius` - a number representing the radius of an enemy base, if one were to be placed on the given tile, by default proportional to a constant plus `enemy-base-intensity`. 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:
2499
- * - `control-setting:moisture:frequency:multiplier` - frequency (inverse of scale) multiplier for moisture noise. Default is 1.
2500
- * - `control-setting:moisture:bias` - global bias for moisture (which normally varies between 0 and 1). Default is 0.
2501
- * - `control-setting:aux:frequency:multiplier` - frequency (inverse of scale) multiplier for aux (called 'terrain type' in the GUI) noise. Default is 1.
2502
- * - `control-setting:aux:bias` - global bias for aux/terrain type (which normally varies between 0 and 1). Default is 0. 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}`.
2503
- */
2504
- readonly property_expression_names: Record<string, string>
2628
+ * Overrides for tile property value generators.
2629
+ */
2630
+ readonly property_expression_names: PropertyExpressionNames
2505
2631
  }
2632
+ /**
2633
+ * 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}`.
2634
+ *
2635
+ * {@link https://lua-api.factorio.com/1.1.109/concepts.html#PropertyExpressionNames > 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:}
2636
+ *
2637
+ * {@link https://lua-api.factorio.com/1.1.109/concepts.html#PropertyExpressionNames > 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:}
2638
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#PropertyExpressionNames Online documentation}
2639
+ */
2640
+ export type PropertyExpressionNames = Record<string, string>
2506
2641
  export interface AdvancedMapGenSettings {
2507
2642
  readonly pollution: PollutionMapSettings
2508
2643
  readonly enemy_evolution: EnemyEvolutionMapSettings
@@ -2530,7 +2665,7 @@ declare module "factorio:runtime" {
2530
2665
  }
2531
2666
  /**
2532
2667
  * An actual signal transmitted by the network.
2533
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#Signal Online documentation}
2668
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#Signal Online documentation}
2534
2669
  */
2535
2670
  export interface Signal {
2536
2671
  /**
@@ -2551,7 +2686,7 @@ declare module "factorio:runtime" {
2551
2686
  }
2552
2687
  /**
2553
2688
  * A single filter used by an infinity-filters instance.
2554
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#InfinityInventoryFilter Online documentation}
2689
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#InfinityInventoryFilter Online documentation}
2555
2690
  */
2556
2691
  export interface InfinityInventoryFilter {
2557
2692
  /**
@@ -2573,7 +2708,7 @@ declare module "factorio:runtime" {
2573
2708
  }
2574
2709
  /**
2575
2710
  * A single filter used by an infinity-pipe type entity.
2576
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#InfinityPipeFilter Online documentation}
2711
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#InfinityPipeFilter Online documentation}
2577
2712
  */
2578
2713
  export interface InfinityPipeFilter {
2579
2714
  /**
@@ -2627,7 +2762,7 @@ declare module "factorio:runtime" {
2627
2762
  }
2628
2763
  /**
2629
2764
  * The settings used by a heat-interface type entity.
2630
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#HeatSetting Online documentation}
2765
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#HeatSetting Online documentation}
2631
2766
  */
2632
2767
  export interface HeatSetting {
2633
2768
  /**
@@ -2645,7 +2780,7 @@ declare module "factorio:runtime" {
2645
2780
  }
2646
2781
  /**
2647
2782
  * A definition of a fluidbox connection point.
2648
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#FluidBoxConnection Online documentation}
2783
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#FluidBoxConnection Online documentation}
2649
2784
  */
2650
2785
  export interface FluidBoxConnection {
2651
2786
  readonly type: "input" | "output" | "input-output"
@@ -2660,7 +2795,7 @@ declare module "factorio:runtime" {
2660
2795
  }
2661
2796
  /**
2662
2797
  * A single pipe connection for a given fluidbox.
2663
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#PipeConnection Online documentation}
2798
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#PipeConnection Online documentation}
2664
2799
  */
2665
2800
  export interface PipeConnection {
2666
2801
  readonly flow_direction: "input" | "output" | "input-output"
@@ -2729,6 +2864,8 @@ declare module "factorio:runtime" {
2729
2864
  /**
2730
2865
  * A string that specifies how the inputs should be compared
2731
2866
  *
2867
+ * While the API accepts both versions for `"less/greater than or equal to"` and `"not equal"`, it'll always return `"≥"`, `"≤"` or `"≠"` respectively when reading them back.
2868
+ *
2732
2869
  * ## Union members
2733
2870
  * - `"="`: "equal to"
2734
2871
  * - `">"`: "greater than"
@@ -2739,15 +2876,14 @@ declare module "factorio:runtime" {
2739
2876
  * - `"<="`: "lesser than or equal to"
2740
2877
  * - `"≠"`: "not equal to"
2741
2878
  * - `"!="`: "not equal to"
2742
- * @remarks While the API accepts both versions for `"less/greater than or equal to"` and `"not equal"`, it'll always return `"≥"`, `"≤"` or `"≠"` respectively when reading them back.
2743
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#ComparatorString Online documentation}
2879
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#ComparatorString Online documentation}
2744
2880
  */
2745
2881
  export type ComparatorString = "=" | ">" | "<" | "≥" | ">=" | "≤" | "<=" | "≠" | "!="
2746
2882
  /** @see ComparatorString */
2747
2883
  export type ComparatorStringRead = "=" | ">" | "<" | "≥" | "≤" | "≠"
2748
2884
  /**
2749
2885
  * @see DeciderCombinatorParametersWrite
2750
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#DeciderCombinatorParameters Online documentation}
2886
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#DeciderCombinatorParameters Online documentation}
2751
2887
  */
2752
2888
  export interface DeciderCombinatorParameters {
2753
2889
  /**
@@ -2777,7 +2913,7 @@ declare module "factorio:runtime" {
2777
2913
  }
2778
2914
  /**
2779
2915
  * Write form of {@link DeciderCombinatorParameters}, where table-or-array concepts are allowed to take an array form.
2780
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#DeciderCombinatorParameters Online documentation}
2916
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#DeciderCombinatorParameters Online documentation}
2781
2917
  */
2782
2918
  export interface DeciderCombinatorParametersWrite {
2783
2919
  /**
@@ -2811,7 +2947,7 @@ declare module "factorio:runtime" {
2811
2947
  }
2812
2948
  /**
2813
2949
  * @see CircuitConditionWrite
2814
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#CircuitCondition Online documentation}
2950
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#CircuitCondition Online documentation}
2815
2951
  */
2816
2952
  export interface CircuitCondition {
2817
2953
  /**
@@ -2833,7 +2969,7 @@ declare module "factorio:runtime" {
2833
2969
  }
2834
2970
  /**
2835
2971
  * Write form of {@link CircuitCondition}, where table-or-array concepts are allowed to take an array form.
2836
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#CircuitCondition Online documentation}
2972
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#CircuitCondition Online documentation}
2837
2973
  */
2838
2974
  export interface CircuitConditionWrite {
2839
2975
  /**
@@ -2855,7 +2991,7 @@ declare module "factorio:runtime" {
2855
2991
  }
2856
2992
  /**
2857
2993
  * @see CircuitConditionDefinitionWrite
2858
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#CircuitConditionDefinition Online documentation}
2994
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#CircuitConditionDefinition Online documentation}
2859
2995
  */
2860
2996
  export interface CircuitConditionDefinition {
2861
2997
  readonly condition: CircuitCondition
@@ -2866,7 +3002,7 @@ declare module "factorio:runtime" {
2866
3002
  }
2867
3003
  /**
2868
3004
  * Write form of {@link CircuitConditionDefinition}, where table-or-array concepts are allowed to take an array form.
2869
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#CircuitConditionDefinition Online documentation}
3005
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#CircuitConditionDefinition Online documentation}
2870
3006
  */
2871
3007
  export interface CircuitConditionDefinitionWrite {
2872
3008
  readonly condition: CircuitConditionWrite
@@ -3182,7 +3318,7 @@ declare module "factorio:runtime" {
3182
3318
  * - {@link defines.command.stop}: {@link StopCommand}
3183
3319
  * - {@link defines.command.flee}: {@link FleeCommand}
3184
3320
  * - {@link defines.command.build_base}: {@link BuildBaseCommand}
3185
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#Command Online documentation}
3321
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#Command Online documentation}
3186
3322
  */
3187
3323
  export type Command =
3188
3324
  | AttackCommand
@@ -3196,7 +3332,7 @@ declare module "factorio:runtime" {
3196
3332
  | BuildBaseCommand
3197
3333
  /**
3198
3334
  * Write form of {@link Command}, where table-or-array concepts are allowed to take an array form.
3199
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#Command Online documentation}
3335
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#Command Online documentation}
3200
3336
  */
3201
3337
  export type CommandWrite =
3202
3338
  | AttackCommand
@@ -3286,13 +3422,18 @@ declare module "factorio:runtime" {
3286
3422
  * ## Union members
3287
3423
  * - `string`: The name of the item, which represents a full stack of that item.
3288
3424
  * - {@link ItemStackDefinition}: The detailed definition of an item stack.
3289
- * @example Both of these lines specify an item stack of one iron plate:
3425
+ * @example
3426
+ * -- Both of these lines specify an item stack of one iron plate
3290
3427
  * {name="iron-plate"}
3291
- * @example This is a stack of 47 copper plates:
3428
+ * {name="iron-plate", count=1}
3429
+ * @example
3430
+ * -- This is a stack of 47 copper plates
3292
3431
  * {name="copper-plate", count=47}
3293
- * @example These are both full stacks of iron plates (for iron-plate, a full stack is 100 plates):
3432
+ * @example
3433
+ * These are both full stacks of iron plates (for iron-plate, a full stack is 100 plates)
3294
3434
  * "iron-plate"
3295
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#SimpleItemStack Online documentation}
3435
+ * {name="iron-plate", count=100}
3436
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#SimpleItemStack Online documentation}
3296
3437
  */
3297
3438
  export type SimpleItemStack = string | ItemStackDefinition
3298
3439
  /**
@@ -3302,7 +3443,7 @@ declare module "factorio:runtime" {
3302
3443
  * - `string`: The fluid name.
3303
3444
  * - {@link LuaFluidPrototype}: The fluid prototype.
3304
3445
  * - {@link Fluid}: The fluid.
3305
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#FluidIdentification Online documentation}
3446
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#FluidIdentification Online documentation}
3306
3447
  */
3307
3448
  export type FluidIdentification = string | LuaFluidPrototype | Fluid
3308
3449
  /**
@@ -3312,7 +3453,7 @@ declare module "factorio:runtime" {
3312
3453
  * - ForceIndex: The force index.
3313
3454
  * - `string`: The force name.
3314
3455
  * - {@link LuaForce}: A reference to {@link LuaForce} may be passed directly.
3315
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#ForceIdentification Online documentation}
3456
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#ForceIdentification Online documentation}
3316
3457
  */
3317
3458
  export type ForceIdentification = ForceIndex | string | LuaForce
3318
3459
  /**
@@ -3322,7 +3463,7 @@ declare module "factorio:runtime" {
3322
3463
  * - `string`: The technology name.
3323
3464
  * - {@link LuaTechnology}: A reference to {@link LuaTechnology} may be passed directly.
3324
3465
  * - {@link LuaTechnologyPrototype}: A reference to {@link LuaTechnologyPrototype} may be passed directly.
3325
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#TechnologyIdentification Online documentation}
3466
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#TechnologyIdentification Online documentation}
3326
3467
  */
3327
3468
  export type TechnologyIdentification = string | LuaTechnology | LuaTechnologyPrototype
3328
3469
  /**
@@ -3332,7 +3473,7 @@ declare module "factorio:runtime" {
3332
3473
  * - 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.
3333
3474
  * - `string`: It will be the surface name. E.g. `"nauvis"`.
3334
3475
  * - {@link LuaSurface}: A reference to {@link LuaSurface} may be passed directly.
3335
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#SurfaceIdentification Online documentation}
3476
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#SurfaceIdentification Online documentation}
3336
3477
  */
3337
3478
  export type SurfaceIdentification = SurfaceIndex | string | LuaSurface
3338
3479
  /**
@@ -3342,7 +3483,7 @@ declare module "factorio:runtime" {
3342
3483
  * - PlayerIndex: The player index.
3343
3484
  * - `string`: The player name.
3344
3485
  * - {@link LuaPlayer}: A reference to {@link LuaPlayer} may be passed directly.
3345
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#PlayerIdentification Online documentation}
3486
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#PlayerIdentification Online documentation}
3346
3487
  */
3347
3488
  export type PlayerIdentification = PlayerIndex | string | LuaPlayer
3348
3489
  /**
@@ -3351,7 +3492,7 @@ declare module "factorio:runtime" {
3351
3492
  * ## Union members
3352
3493
  * - {@link SimpleItemStack}
3353
3494
  * - {@link LuaItemStack}
3354
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#ItemStackIdentification Online documentation}
3495
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#ItemStackIdentification Online documentation}
3355
3496
  */
3356
3497
  export type ItemStackIdentification = SimpleItemStack | LuaItemStack
3357
3498
  /**
@@ -3361,7 +3502,7 @@ declare module "factorio:runtime" {
3361
3502
  * - {@link LuaEntity}: The entity.
3362
3503
  * - {@link LuaEntityPrototype}: The entity prototype.
3363
3504
  * - `string`: The prototype name.
3364
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#EntityPrototypeIdentification Online documentation}
3505
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#EntityPrototypeIdentification Online documentation}
3365
3506
  */
3366
3507
  export type EntityPrototypeIdentification = LuaEntity | LuaEntityPrototype | string
3367
3508
  /**
@@ -3371,7 +3512,7 @@ declare module "factorio:runtime" {
3371
3512
  * - {@link LuaItemStack}: The item.
3372
3513
  * - {@link LuaItemPrototype}: The item prototype.
3373
3514
  * - `string`: The prototype name.
3374
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#ItemPrototypeIdentification Online documentation}
3515
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#ItemPrototypeIdentification Online documentation}
3375
3516
  */
3376
3517
  export type ItemPrototypeIdentification = LuaItemStack | LuaItemPrototype | string
3377
3518
  /**
@@ -3388,7 +3529,7 @@ declare module "factorio:runtime" {
3388
3529
  * - `"fluid_count"`
3389
3530
  * - `"passenger_present"`
3390
3531
  * - `"passenger_not_present"`
3391
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#WaitConditionType Online documentation}
3532
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#WaitConditionType Online documentation}
3392
3533
  */
3393
3534
  export type WaitConditionType =
3394
3535
  | "time"
@@ -3403,7 +3544,7 @@ declare module "factorio:runtime" {
3403
3544
  | "passenger_not_present"
3404
3545
  /**
3405
3546
  * @see WaitConditionWrite
3406
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#WaitCondition Online documentation}
3547
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#WaitCondition Online documentation}
3407
3548
  */
3408
3549
  export interface WaitCondition {
3409
3550
  readonly type: WaitConditionType
@@ -3422,7 +3563,7 @@ declare module "factorio:runtime" {
3422
3563
  }
3423
3564
  /**
3424
3565
  * Write form of {@link WaitCondition}, where table-or-array concepts are allowed to take an array form.
3425
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#WaitCondition Online documentation}
3566
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#WaitCondition Online documentation}
3426
3567
  */
3427
3568
  export interface WaitConditionWrite {
3428
3569
  readonly type: WaitConditionType
@@ -3441,7 +3582,7 @@ declare module "factorio:runtime" {
3441
3582
  }
3442
3583
  /**
3443
3584
  * @see TrainScheduleRecordWrite
3444
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#TrainScheduleRecord Online documentation}
3585
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#TrainScheduleRecord Online documentation}
3445
3586
  */
3446
3587
  export interface TrainScheduleRecord {
3447
3588
  /**
@@ -3464,7 +3605,7 @@ declare module "factorio:runtime" {
3464
3605
  }
3465
3606
  /**
3466
3607
  * Write form of {@link TrainScheduleRecord}, where table-or-array concepts are allowed to take an array form.
3467
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#TrainScheduleRecord Online documentation}
3608
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#TrainScheduleRecord Online documentation}
3468
3609
  */
3469
3610
  export interface TrainScheduleRecordWrite {
3470
3611
  /**
@@ -3487,7 +3628,7 @@ declare module "factorio:runtime" {
3487
3628
  }
3488
3629
  /**
3489
3630
  * @see TrainScheduleWrite
3490
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#TrainSchedule Online documentation}
3631
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#TrainSchedule Online documentation}
3491
3632
  */
3492
3633
  export interface TrainSchedule {
3493
3634
  /**
@@ -3498,7 +3639,7 @@ declare module "factorio:runtime" {
3498
3639
  }
3499
3640
  /**
3500
3641
  * Write form of {@link TrainSchedule}, where table-or-array concepts are allowed to take an array form.
3501
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#TrainSchedule Online documentation}
3642
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#TrainSchedule Online documentation}
3502
3643
  */
3503
3644
  export interface TrainScheduleWrite {
3504
3645
  /**
@@ -3514,7 +3655,7 @@ declare module "factorio:runtime" {
3514
3655
  * - `"entity"`: Fires at an entity.
3515
3656
  * - `"position"`: Fires directly at a position.
3516
3657
  * - `"direction"`: Fires in a direction.
3517
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#TargetType Online documentation}
3658
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#TargetType Online documentation}
3518
3659
  */
3519
3660
  export type TargetType = "entity" | "position" | "direction"
3520
3661
  export interface AmmoType {
@@ -3564,24 +3705,12 @@ declare module "factorio:runtime" {
3564
3705
  | "file"
3565
3706
  | "utility"
3566
3707
  /**
3567
- * It can be either the name of a {@link import("factorio:prototype").SpritePrototype SpritePrototype} defined in the data stage, or a path in form "type/name".
3708
+ * It can be either the name of a {@link import("factorio:prototype").SpritePrototype SpritePrototype} defined in the data stage, or a path in form "type/name" or "type.name".
3568
3709
  *
3569
3710
  * The validity of a SpritePath can be verified at runtime using {@link LuaGameScript#is_valid_sprite_path LuaGameScript::is_valid_sprite_path}.
3570
3711
  *
3571
- * The supported types are:
3572
- * - `"item"` - for example "item/iron-plate" is the icon sprite of iron plate
3573
- * - `"entity"` - for example "entity/small-biter" is the icon sprite of the small biter
3574
- * - `"technology"`
3575
- * - `"recipe"`
3576
- * - `"item-group"`
3577
- * - `"fluid"`
3578
- * - `"tile"`
3579
- * - `"virtual-signal"`
3580
- * - `"achievement"`
3581
- * - `"equipment"`
3582
- * - `"file"` - path to an image file located inside the current scenario. This file is not preloaded so it will be slower; for frequently used sprites, it is better to define sprite prototype and use it instead.
3583
- * - `"utility"` - sprite defined in the utility-sprites object, these are the pictures used by the game internally for the UI.
3584
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#SpritePath Online documentation}
3712
+ * {@link https://lua-api.factorio.com/1.1.109/concepts.html#SpritePath > The supported types are:}
3713
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#SpritePath Online documentation}
3585
3714
  */
3586
3715
  export type SpritePath =
3587
3716
  | (string & {
@@ -3608,30 +3737,12 @@ declare module "factorio:runtime" {
3608
3737
  *
3609
3738
  * The validity of a SoundPath can be verified at runtime using {@link LuaGameScript#is_valid_sound_path LuaGameScript::is_valid_sound_path}.
3610
3739
  *
3611
- * The utility and ambient types each contain general use sound prototypes defined by the game itself.
3612
- * - `"utility"` - Uses {@link import("factorio:prototype").UtilitySounds UtilitySounds}. Example: `"utility/wire_connect_pole"`
3613
- * - `"ambient"` - Uses {@link import("factorio:prototype").AmbientSound AmbientSound}. Example: `"ambient/resource-deficiency"`
3614
- *
3615
- * The following types can be combined with any tile name as long as its prototype defines the
3740
+ * {@link https://lua-api.factorio.com/1.1.109/concepts.html#SoundPath > The utility and ambient types each contain general use sound prototypes defined by the game itself:}
3616
3741
  *
3617
- * corresponding sound.
3618
- * - `"tile-walking"` - Uses {@link import("factorio:prototype").TilePrototype#walking_sound TilePrototype::walking_sound}. Example: `"tile-walking/concrete"`
3619
- * - `"tile-mined"` - Uses {@link import("factorio:prototype").TilePrototype#mined_sound TilePrototype::mined_sound}
3620
- * - `"tile-build-small"` - Uses {@link import("factorio:prototype").TilePrototype#build_sound TilePrototype::build_sound}. Example: `"tile-build-small/concrete"`
3621
- * - `"tile-build-medium"` - Uses {@link import("factorio:prototype").TilePrototype#build_sound TilePrototype::build_sound}
3622
- * - `"tile-build-large"` - Uses {@link import("factorio:prototype").TilePrototype#build_sound TilePrototype::build_sound}
3742
+ * {@link https://lua-api.factorio.com/1.1.109/concepts.html#SoundPath > The following types can be combined with any tile name as long as its prototype defines the corresponding sound:}
3623
3743
  *
3624
- * The following types can be combined with any entity name as long as its prototype defines the
3625
- *
3626
- * corresponding sound.
3627
- * - `"entity-build"` - Uses {@link import("factorio:prototype").EntityPrototype#build_sound Entity::build_sound}. Example: `"entity-build/wooden-chest"`
3628
- * - `"entity-mined"` - Uses {@link import("factorio:prototype").EntityPrototype#mined_sound Entity::mined_sound}
3629
- * - `"entity-mining"` - Uses {@link import("factorio:prototype").EntityPrototype#mining_sound Entity::mining_sound}
3630
- * - `"entity-vehicle_impact"` - Uses {@link import("factorio:prototype").EntityPrototype#vehicle_impact_sound EntityPrototype::vehicle_impact_sound}
3631
- * - `"entity-rotated"` - Uses {@link import("factorio:prototype").EntityPrototype#rotated_sound EntityPrototype::rotated_sound}
3632
- * - `"entity-open"` - Uses {@link import("factorio:prototype").EntityPrototype#open_sound Entity::open_sound}
3633
- * - `"entity-close"` - Uses {@link import("factorio:prototype").EntityPrototype#close_sound Entity::close_sound}
3634
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#SoundPath Online documentation}
3744
+ * {@link https://lua-api.factorio.com/1.1.109/concepts.html#SoundPath > The following types can be combined with any entity name as long as its prototype defines the corresponding sound:}
3745
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#SoundPath Online documentation}
3635
3746
  */
3636
3747
  export type SoundPath =
3637
3748
  | (string & {
@@ -3645,12 +3756,13 @@ declare module "factorio:runtime" {
3645
3756
  readonly bonus: float
3646
3757
  }
3647
3758
  /**
3648
- * @example These are the effects of the vanilla Productivity Module 3 (up to floating point imprecisions):
3759
+ * @example
3760
+ * -- These are the effects of the vanilla Productivity Module 3 (up to floating point imprecisions)
3649
3761
  * {consumption={bonus=0.6},
3650
- * speed={bonus=-0.15},
3651
- * productivity={bonus=0.06},
3652
- * pollution={bonus=0.075}}
3653
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#ModuleEffects Online documentation}
3762
+ * speed={bonus=-0.15},
3763
+ * productivity={bonus=0.06},
3764
+ * pollution={bonus=0.075}}
3765
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#ModuleEffects Online documentation}
3654
3766
  */
3655
3767
  export interface ModuleEffects {
3656
3768
  readonly consumption?: ModuleEffectValue
@@ -3659,10 +3771,8 @@ declare module "factorio:runtime" {
3659
3771
  readonly pollution?: ModuleEffectValue
3660
3772
  }
3661
3773
  /**
3662
- * A set of flags. Active flags are in the dictionary as `true`, while inactive flags aren't present at all.
3663
- *
3664
- * By default, none of these flags are set.
3665
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#EntityPrototypeFlags Online documentation}
3774
+ * A set of flags. Active flags are in the dictionary as `true`, while inactive flags aren't present at all. By default, none of these flags are set.
3775
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#EntityPrototypeFlags Online documentation}
3666
3776
  */
3667
3777
  export type EntityPrototypeFlags = {
3668
3778
  readonly [T in EntityPrototypeFlag]?: true
@@ -3697,7 +3807,7 @@ declare module "factorio:runtime" {
3697
3807
  * - `"not-upgradable"`: Prevents the entity from being selected by the upgrade planner.
3698
3808
  * - `"not-in-kill-statistics"`: Prevents the entity from being shown in the kill statistics.
3699
3809
  * - `"not-in-made-in"`: Prevents the entity from being shown in the "made in" list in recipe tooltips.
3700
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#EntityPrototypeFlag Online documentation}
3810
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#EntityPrototypeFlag Online documentation}
3701
3811
  */
3702
3812
  export type EntityPrototypeFlag =
3703
3813
  | "not-rotatable"
@@ -3727,10 +3837,8 @@ declare module "factorio:runtime" {
3727
3837
  | "not-in-kill-statistics"
3728
3838
  | "not-in-made-in"
3729
3839
  /**
3730
- * A set of flags. Active flags are in the dictionary as `true`, while inactive flags aren't present at all.
3731
- *
3732
- * By default, none of these flags are set.
3733
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#ItemPrototypeFlags Online documentation}
3840
+ * A set of flags. Active flags are in the dictionary as `true`, while inactive flags aren't present at all. By default, none of these flags are set.
3841
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#ItemPrototypeFlags Online documentation}
3734
3842
  */
3735
3843
  export type ItemPrototypeFlags = {
3736
3844
  readonly [T in ItemPrototypeFlag]?: true
@@ -3750,7 +3858,7 @@ declare module "factorio:runtime" {
3750
3858
  * - `"mod-openable"`: Allows the item to be opened by the player, firing the `on_mod_item_opened` event. Only has an effect for selection tool items.
3751
3859
  * - `"only-in-cursor"`: Makes it so the item is deleted when clearing the cursor, instead of being put into the player's inventory. The copy-paste tools use this by default, for example.
3752
3860
  * - `"spawnable"`: Allows the item to be spawned by a quickbar shortcut or custom input.
3753
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#ItemPrototypeFlag Online documentation}
3861
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#ItemPrototypeFlag Online documentation}
3754
3862
  */
3755
3863
  export type ItemPrototypeFlag =
3756
3864
  | "draw-logistic-overlay"
@@ -3783,7 +3891,7 @@ declare module "factorio:runtime" {
3783
3891
  * - `"rail-layer"`
3784
3892
  * - `"transport-belt-layer"`
3785
3893
  * - `"not-setup"`
3786
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#CollisionMaskLayer Online documentation}
3894
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#CollisionMaskLayer Online documentation}
3787
3895
  */
3788
3896
  export type CollisionMaskLayer =
3789
3897
  | "ground-tile"
@@ -3802,7 +3910,7 @@ declare module "factorio:runtime" {
3802
3910
  | `layer-${bigint}`
3803
3911
  /**
3804
3912
  * A set of flags. Active flags are in the dictionary as `true`, while inactive flags aren't present at all.
3805
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#CollisionMask Online documentation}
3913
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#CollisionMask Online documentation}
3806
3914
  */
3807
3915
  export type CollisionMask = {
3808
3916
  readonly [T in CollisionMaskLayer]?: true
@@ -3815,7 +3923,7 @@ declare module "factorio:runtime" {
3815
3923
  * - `"not-colliding-with-itself"`: Any two entities that both have this option enabled on their prototype and have an identical collision mask layers list will not collide. Other collision mask options are not included in the identical layer list check. This does mean that two different prototypes with the same collision mask layers and this option enabled will not collide.
3816
3924
  * - `"consider-tile-transitions"`: Uses the prototypes position rather than its collision box when doing collision checks with tile prototypes. Allows the prototype to overlap colliding tiles up until its center point. This is only respected for character movement and cars driven by players.
3817
3925
  * - `"colliding-with-tiles-only"`: Any prototype with this collision option will only be checked for collision with other prototype's collision masks if they are a tile.
3818
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#CollisionMaskWithFlags Online documentation}
3926
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#CollisionMaskWithFlags Online documentation}
3819
3927
  */
3820
3928
  export type CollisionMaskWithFlags = {
3821
3929
  /**
@@ -3835,7 +3943,7 @@ declare module "factorio:runtime" {
3835
3943
  }
3836
3944
  /**
3837
3945
  * A set of trigger target masks.
3838
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#TriggerTargetMask Online documentation}
3946
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#TriggerTargetMask Online documentation}
3839
3947
  */
3840
3948
  export type TriggerTargetMask = Record<string, boolean>
3841
3949
  export interface CircularParticleCreationSpecification {
@@ -3856,12 +3964,12 @@ declare module "factorio:runtime" {
3856
3964
  /**
3857
3965
  * This vector is a table with `x` and `y` keys instead of an array.
3858
3966
  */
3859
- readonly center: MapPosition
3967
+ readonly center: Vector
3860
3968
  readonly creation_distance: double
3861
3969
  readonly creation_distance_orientation: double
3862
3970
  readonly use_source_position: boolean
3863
3971
  }
3864
- export type CircularProjectileCreationSpecification = readonly [_1: RealOrientation, _2: Vector]
3972
+ export type CircularProjectileCreationSpecification = readonly [RealOrientation, Vector]
3865
3973
  export interface AttackParameterFluid {
3866
3974
  /**
3867
3975
  * Name of the {@link LuaFluidPrototype}.
@@ -3970,7 +4078,7 @@ declare module "factorio:runtime" {
3970
4078
  * Other attributes may be specified depending on `type`:
3971
4079
  * - `"projectile"`: {@link ProjectileAttackParameters}
3972
4080
  * - `"stream"`: {@link StreamAttackParameters}
3973
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#AttackParameters Online documentation}
4081
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#AttackParameters Online documentation}
3974
4082
  */
3975
4083
  export type AttackParameters = ProjectileAttackParameters | StreamAttackParameters | OtherAttackParameters
3976
4084
  export interface GunShift4Way {
@@ -4036,7 +4144,7 @@ declare module "factorio:runtime" {
4036
4144
  * - `"use-on-self"`: {@link UseOnSelfCapsuleAction}
4037
4145
  * - `"artillery-remote"`: {@link ArtilleryRemoteCapsuleAction}
4038
4146
  * - `"destroy-cliffs"`: {@link DestroyCliffsCapsuleAction}
4039
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#CapsuleAction Online documentation}
4147
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#CapsuleAction Online documentation}
4040
4148
  */
4041
4149
  export type CapsuleAction =
4042
4150
  | ThrowCapsuleAction
@@ -4072,7 +4180,7 @@ declare module "factorio:runtime" {
4072
4180
  * - `"avoid-rolling-stock"`: Selects entities that are not `rolling-stock`s.
4073
4181
  * - `"entity-ghost"`: Selects entities that are `entity-ghost`s.
4074
4182
  * - `"tile-ghost"`: Selects entities that are `tile-ghost`s.
4075
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#SelectionModeFlags Online documentation}
4183
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#SelectionModeFlags Online documentation}
4076
4184
  */
4077
4185
  export interface SelectionModeFlags {
4078
4186
  /**
@@ -4221,12 +4329,12 @@ declare module "factorio:runtime" {
4221
4329
  }
4222
4330
  /**
4223
4331
  * Any basic type (string, number, boolean) or table.
4224
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#AnyBasic Online documentation}
4332
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#AnyBasic Online documentation}
4225
4333
  */
4226
4334
  export type AnyBasic = string | boolean | number | table
4227
4335
  /**
4228
4336
  * Any basic type (string, number, boolean), table, or LuaObject.
4229
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#Any Online documentation}
4337
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#Any Online documentation}
4230
4338
  */
4231
4339
  export type Any = string | boolean | number | table | LuaObject
4232
4340
  export interface ProgrammableSpeakerParameters {
@@ -4264,7 +4372,7 @@ declare module "factorio:runtime" {
4264
4372
  * - `"top-right"`
4265
4373
  * - `"right"`: The same as `"middle-right"`
4266
4374
  * - `"bottom-right"`
4267
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#Alignment Online documentation}
4375
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#Alignment Online documentation}
4268
4376
  */
4269
4377
  export type Alignment =
4270
4378
  | "top-left"
@@ -4279,8 +4387,8 @@ declare module "factorio:runtime" {
4279
4387
  | "right"
4280
4388
  | "bottom-right"
4281
4389
  /**
4282
- * 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/1.1.107/events.html the list of Factorio events} for more information on these.
4283
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#EventData Online documentation}
4390
+ * 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/1.1.109/events.html the list of Factorio events} for more information on these.
4391
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#EventData Online documentation}
4284
4392
  */
4285
4393
  export interface EventData {
4286
4394
  /**
@@ -4390,7 +4498,7 @@ declare module "factorio:runtime" {
4390
4498
  * - `"button-7"`
4391
4499
  * - `"button-8"`
4392
4500
  * - `"button-9"`
4393
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#MouseButtonFlags Online documentation}
4501
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#MouseButtonFlags Online documentation}
4394
4502
  */
4395
4503
  export interface MouseButtonFlags {
4396
4504
  readonly left?: true
@@ -4414,7 +4522,7 @@ declare module "factorio:runtime" {
4414
4522
  * - `"not-friend"`: Forces which are not friends pass.
4415
4523
  * - `"same"`: The same force pass.
4416
4524
  * - `"not-same"`: The non-same forces pass.
4417
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#ForceCondition Online documentation}
4525
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#ForceCondition Online documentation}
4418
4526
  */
4419
4527
  export type ForceCondition = "all" | "enemy" | "ally" | "friend" | "not-friend" | "same" | "not-same"
4420
4528
  /**
@@ -4465,7 +4573,7 @@ declare module "factorio:runtime" {
4465
4573
  * - `"collision-selection-box"`: 189
4466
4574
  * - `"arrow"`: 190
4467
4575
  * - `"cursor"`: 210
4468
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#RenderLayer Online documentation}
4576
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#RenderLayer Online documentation}
4469
4577
  */
4470
4578
  export type RenderLayer =
4471
4579
  | `${bigint}`
@@ -4531,7 +4639,7 @@ declare module "factorio:runtime" {
4531
4639
  * - `"walking"`
4532
4640
  * - `"alert"`
4533
4641
  * - `"wind"`
4534
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#SoundType Online documentation}
4642
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#SoundType Online documentation}
4535
4643
  */
4536
4644
  export type SoundType = "game-effect" | "gui-effect" | "ambient" | "environment" | "walking" | "alert" | "wind"
4537
4645
  /**
@@ -4561,7 +4669,7 @@ declare module "factorio:runtime" {
4561
4669
  * - `"tabbed-pane"`: A collection of `tab`s and their contents. Relevant event: {@link OnGuiSelectedTabChangedEvent on_gui_selected_tab_changed}
4562
4670
  * - `"tab"`: A tab for use in a `tabbed-pane`.
4563
4671
  * - `"switch"`: A switch with three possible states. Can have labels attached to either side. Relevant event: {@link OnGuiSwitchStateChangedEvent on_gui_switch_state_changed}
4564
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#GuiElementType Online documentation}
4672
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#GuiElementType Online documentation}
4565
4673
  */
4566
4674
  export type GuiElementType =
4567
4675
  | "button"
@@ -4601,7 +4709,7 @@ declare module "factorio:runtime" {
4601
4709
  * - `"position"`
4602
4710
  * - `"crafting_queue"`
4603
4711
  * - `"item_stack"`: Will point to a given item stack in an inventory.
4604
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#GuiArrowType Online documentation}
4712
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#GuiArrowType Online documentation}
4605
4713
  */
4606
4714
  export type GuiArrowType =
4607
4715
  | "nowhere"
@@ -4622,7 +4730,7 @@ declare module "factorio:runtime" {
4622
4730
  * ## Union members
4623
4731
  * - `"horizontal"`
4624
4732
  * - `"vertical"`
4625
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#GuiDirection Online documentation}
4733
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#GuiDirection Online documentation}
4626
4734
  */
4627
4735
  export type GuiDirection = "horizontal" | "vertical"
4628
4736
  /**
@@ -4634,58 +4742,86 @@ declare module "factorio:runtime" {
4634
4742
  * - `"always"`
4635
4743
  * - `"auto"`
4636
4744
  * - `"auto-and-reserve-space"`
4637
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#ScrollPolicy Online documentation}
4745
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#ScrollPolicy Online documentation}
4638
4746
  */
4639
4747
  export type ScrollPolicy = "never" | "dont-show-but-allow-scrolling" | "always" | "auto" | "auto-and-reserve-space"
4640
4748
  /**
4641
- * Types `"signal"` and `"item-group"` do not support filters.
4749
+ * 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.
4750
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#float Online documentation}
4751
+ */
4752
+ export type float = number
4753
+ /**
4754
+ * A double-precision floating-point number. This is the same data type as all Lua numbers use.
4755
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#double Online documentation}
4756
+ */
4757
+ export type double = number
4758
+ /**
4759
+ * 32-bit signed integer. Possible values are `-2 147 483 648` to `2 147 483 647`.
4642
4760
  *
4643
- * ## Union members
4644
- * - ItemPrototypeFilter: for type `"item"`
4645
- * - TilePrototypeFilter: for type `"tile"`
4646
- * - EntityPrototypeFilter: for type `"entity"`
4647
- * - FluidPrototypeFilter: for type `"fluid"`
4648
- * - RecipePrototypeFilter: for type `"recipe"`
4649
- * - {@link DecorativePrototypeFilter}: for type `"decorative"`
4650
- * - {@link AchievementPrototypeFilter}: for type `"achievement"`
4651
- * - {@link EquipmentPrototypeFilter}: for type `"equipment"`
4652
- * - TechnologyPrototypeFilter: for type `"technology"`
4653
- * @see PrototypeFilterWrite
4654
- * @remarks Filters are always used as an array of filters of a specific type. Every filter can only be used with its corresponding event, and different types of event filters can not be mixed.
4655
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#PrototypeFilter Online documentation}
4656
- */
4657
- export type PrototypeFilter = (
4658
- | ItemPrototypeFilter
4659
- | TilePrototypeFilter
4660
- | EntityPrototypeFilter
4661
- | FluidPrototypeFilter
4662
- | RecipePrototypeFilter
4663
- | DecorativePrototypeFilter
4664
- | AchievementPrototypeFilter
4665
- | EquipmentPrototypeFilter
4666
- | TechnologyPrototypeFilter
4667
- )[]
4761
+ * Since Lua 5.2 only uses doubles, any API that asks for `int` will floor the given double.
4762
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#int Online documentation}
4763
+ */
4764
+ export type int = number
4668
4765
  /**
4669
- * Write form of {@link PrototypeFilter}, where table-or-array concepts are allowed to take an array form.
4670
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#PrototypeFilter Online documentation}
4671
- */
4672
- export type PrototypeFilterWrite = readonly (
4673
- | ItemPrototypeFilterWrite
4674
- | TilePrototypeFilterWrite
4675
- | EntityPrototypeFilterWrite
4676
- | FluidPrototypeFilterWrite
4677
- | RecipePrototypeFilterWrite
4678
- | DecorativePrototypeFilter
4679
- | AchievementPrototypeFilter
4680
- | EquipmentPrototypeFilter
4681
- | TechnologyPrototypeFilterWrite
4682
- )[]
4766
+ * 8-bit signed integer. Possible values are `-128` to `127`.
4767
+ *
4768
+ * Since Lua 5.2 only uses doubles, any API that asks for `int8` will floor the given double.
4769
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#int8 Online documentation}
4770
+ */
4771
+ export type int8 = number
4772
+ /**
4773
+ * 32-bit unsigned integer. Possible values are `0` to `4 294 967 295`.
4774
+ *
4775
+ * Since Lua 5.2 only uses doubles, any API that asks for `uint` will floor the given double.
4776
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#uint Online documentation}
4777
+ */
4778
+ export type uint = number
4779
+ /**
4780
+ * 8-bit unsigned integer. Possible values are `0` to `255`.
4781
+ *
4782
+ * Since Lua 5.2 only uses doubles, any API that asks for `uint8` will floor the given double.
4783
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#uint8 Online documentation}
4784
+ */
4785
+ export type uint8 = number
4786
+ /**
4787
+ * 16-bit unsigned integer. Possible values are `0` to `65 535`.
4788
+ *
4789
+ * Since Lua 5.2 only uses doubles, any API that asks for `uint16` will floor the given double.
4790
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#uint16 Online documentation}
4791
+ */
4792
+ export type uint16 = number
4793
+ /**
4794
+ * 64-bit unsigned integer. Possible values are `0` to `18 446 744 073 709 551 615`.
4795
+ *
4796
+ * Since Lua 5.2 only uses doubles, any API that asks for `uint64` will floor the given double.
4797
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#uint64 Online documentation}
4798
+ */
4799
+ export type uint64 = number
4800
+ /**
4801
+ * 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.
4802
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#nil Online documentation}
4803
+ */
4804
+ export type nil = undefined
4805
+ /**
4806
+ * Tables are enclosed in curly brackets, like this `{}`.
4807
+ *
4808
+ * Throughout the API docs, the terms "array" and "dictionary" are used. These are fundamentally just {@linkplain http://www.lua.org/pil/2.5.html Lua tables}, but have a limitation on which kind of table keys can be used. An array is a table that uses continuous integer keys starting at `1`, while a dictionary can use numeric or string keys in any order or combination.
4809
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#table Online documentation}
4810
+ */
4811
+ export type table = object
4812
+ /**
4813
+ * Any LuaObject listed on the {@linkplain https://lua-api.factorio.com/1.1.109/classes.html Classes} page.
4814
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#LuaObject Online documentation}
4815
+ */
4816
+ export interface LuaObject {
4817
+ readonly object_name: string
4818
+ }
4683
4819
  /**
4684
4820
  * Common attributes to all variants of {@link ItemPrototypeFilter}.
4685
4821
  */
4686
4822
  export interface BaseItemPrototypeFilter {
4687
4823
  /**
4688
- * The condition to filter on. One of `"tool"`, `"mergeable"`, `"item-with-inventory"`, `"selection-tool"`, `"item-with-label"`, `"has-rocket-launch-products"`, `"fuel"`, `"place-result"`, `"burnt-result"`, `"place-as-tile"`, `"placed-as-equipment-result"`, `"name"`, `"type"`, `"flag"`, `"subgroup"`, `"fuel-category"`, `"stack-size"`, `"default-request-amount"`, `"wire-count"`, `"fuel-value"`, `"fuel-acceleration-multiplier"`, `"fuel-top-speed-multiplier"`, `"fuel-emissions-multiplier"`.
4824
+ * The condition to filter on.
4689
4825
  */
4690
4826
  readonly filter:
4691
4827
  | "tool"
@@ -4784,7 +4920,9 @@ declare module "factorio:runtime" {
4784
4920
  /**
4785
4921
  * `"name"` variant of {@link ItemPrototypeFilter}.
4786
4922
  *
4787
- * For use within nested filters such as the `has-product-item` filter of array[{@link RecipePrototypeFilter}]. To get a specific prototype by name, see {@link LuaGameScript#item_prototypes LuaGameScript::item_prototypes}.
4923
+ * For use within nested filters such as the `has-product-item` filter of array[{@link RecipePrototypeFilter}].
4924
+ *
4925
+ * To get a specific prototype by name, see {@link LuaGameScript#item_prototypes LuaGameScript::item_prototypes}.
4788
4926
  */
4789
4927
  export interface NameItemPrototypeFilter extends BaseItemPrototypeFilter {
4790
4928
  readonly filter: "name"
@@ -4989,8 +5127,6 @@ declare module "factorio:runtime" {
4989
5127
  | "fuel"
4990
5128
  }
4991
5129
  /**
4992
- * Depending on the value of `filter`, the table may take additional fields. `filter` may be one of the following:
4993
- *
4994
5130
  * Base attributes: {@link BaseItemPrototypeFilter}
4995
5131
  *
4996
5132
  * Other attributes may be specified depending on `filter`:
@@ -5010,7 +5146,7 @@ declare module "factorio:runtime" {
5010
5146
  * - `"fuel-acceleration-multiplier"`: {@link FuelAccelerationMultiplierItemPrototypeFilter}
5011
5147
  * - `"fuel-top-speed-multiplier"`: {@link FuelTopSpeedMultiplierItemPrototypeFilter}
5012
5148
  * - `"fuel-emissions-multiplier"`: {@link FuelEmissionsMultiplierItemPrototypeFilter}
5013
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#ItemPrototypeFilter Online documentation}
5149
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#ItemPrototypeFilter Online documentation}
5014
5150
  */
5015
5151
  export type ItemPrototypeFilter =
5016
5152
  | PlaceResultItemPrototypeFilter
@@ -5032,7 +5168,7 @@ declare module "factorio:runtime" {
5032
5168
  | OtherItemPrototypeFilter
5033
5169
  /**
5034
5170
  * Write form of {@link ItemPrototypeFilter}, where table-or-array concepts are allowed to take an array form.
5035
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#ItemPrototypeFilter Online documentation}
5171
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#ItemPrototypeFilter Online documentation}
5036
5172
  */
5037
5173
  export type ItemPrototypeFilterWrite =
5038
5174
  | PlaceResultItemPrototypeFilterWrite
@@ -5057,7 +5193,7 @@ declare module "factorio:runtime" {
5057
5193
  */
5058
5194
  export interface BaseModSettingPrototypeFilter {
5059
5195
  /**
5060
- * The condition to filter on. One of `"type"`, `"mod"`, `"setting-type"`.
5196
+ * The condition to filter on.
5061
5197
  */
5062
5198
  readonly filter: "type" | "mod" | "setting-type"
5063
5199
  /**
@@ -5077,7 +5213,7 @@ declare module "factorio:runtime" {
5077
5213
  /**
5078
5214
  * The prototype type, or a list of acceptable types.
5079
5215
  */
5080
- readonly type: string | readonly string[]
5216
+ readonly type: string | string[]
5081
5217
  }
5082
5218
  /**
5083
5219
  * `"mod"` variant of {@link ModSettingPrototypeFilter}.
@@ -5095,20 +5231,18 @@ declare module "factorio:runtime" {
5095
5231
  export interface SettingTypeModSettingPrototypeFilter extends BaseModSettingPrototypeFilter {
5096
5232
  readonly filter: "setting-type"
5097
5233
  /**
5098
- * The setting scope type (`"startup"`, `"runtime-global"`, or `"runtime-per-user"`)
5234
+ * The setting scope type.
5099
5235
  */
5100
5236
  readonly type: "startup" | "runtime-global" | "runtime-per-user"
5101
5237
  }
5102
5238
  /**
5103
- * Depending on the value of `filter`, the table may take additional fields. `filter` may be one of the following:
5104
- *
5105
5239
  * Base attributes: {@link BaseModSettingPrototypeFilter}
5106
5240
  *
5107
5241
  * Other attributes may be specified depending on `filter`:
5108
5242
  * - `"type"`: {@link TypeModSettingPrototypeFilter}
5109
5243
  * - `"mod"`: {@link ModModSettingPrototypeFilter}
5110
5244
  * - `"setting-type"`: {@link SettingTypeModSettingPrototypeFilter}
5111
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#ModSettingPrototypeFilter Online documentation}
5245
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#ModSettingPrototypeFilter Online documentation}
5112
5246
  */
5113
5247
  export type ModSettingPrototypeFilter =
5114
5248
  | TypeModSettingPrototypeFilter
@@ -5119,7 +5253,7 @@ declare module "factorio:runtime" {
5119
5253
  */
5120
5254
  export interface BaseTechnologyPrototypeFilter {
5121
5255
  /**
5122
- * The condition to filter on. One of `"enabled"`, `"hidden"`, `"upgrade"`, `"visible-when-disabled"`, `"has-effects"`, `"has-prerequisites"`, `"research-unit-ingredient"`, `"unlocks-recipe"`, `"level"`, `"max-level"`, `"time"`.
5256
+ * The condition to filter on.
5123
5257
  */
5124
5258
  readonly filter:
5125
5259
  | "enabled"
@@ -5226,8 +5360,6 @@ declare module "factorio:runtime" {
5226
5360
  readonly filter: "enabled" | "hidden" | "upgrade" | "visible-when-disabled" | "has-effects" | "has-prerequisites"
5227
5361
  }
5228
5362
  /**
5229
- * Depending on the value of `filter`, the table may take additional fields. `filter` may be one of the following:
5230
- *
5231
5363
  * Base attributes: {@link BaseTechnologyPrototypeFilter}
5232
5364
  *
5233
5365
  * Other attributes may be specified depending on `filter`:
@@ -5236,7 +5368,7 @@ declare module "factorio:runtime" {
5236
5368
  * - `"level"`: {@link LevelTechnologyPrototypeFilter}
5237
5369
  * - `"max-level"`: {@link MaxLevelTechnologyPrototypeFilter}
5238
5370
  * - `"time"`: {@link TimeTechnologyPrototypeFilter}
5239
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#TechnologyPrototypeFilter Online documentation}
5371
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#TechnologyPrototypeFilter Online documentation}
5240
5372
  */
5241
5373
  export type TechnologyPrototypeFilter =
5242
5374
  | ResearchUnitIngredientTechnologyPrototypeFilter
@@ -5247,7 +5379,7 @@ declare module "factorio:runtime" {
5247
5379
  | OtherTechnologyPrototypeFilter
5248
5380
  /**
5249
5381
  * Write form of {@link TechnologyPrototypeFilter}, where table-or-array concepts are allowed to take an array form.
5250
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#TechnologyPrototypeFilter Online documentation}
5382
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#TechnologyPrototypeFilter Online documentation}
5251
5383
  */
5252
5384
  export type TechnologyPrototypeFilterWrite =
5253
5385
  | ResearchUnitIngredientTechnologyPrototypeFilter
@@ -5261,7 +5393,7 @@ declare module "factorio:runtime" {
5261
5393
  */
5262
5394
  export interface BaseDecorativePrototypeFilter {
5263
5395
  /**
5264
- * The condition to filter on. One of `"decal"`, `"autoplace"`, `"collision-mask"`.
5396
+ * The condition to filter on.
5265
5397
  */
5266
5398
  readonly filter: "decal" | "autoplace" | "collision-mask"
5267
5399
  /**
@@ -5280,7 +5412,7 @@ declare module "factorio:runtime" {
5280
5412
  readonly filter: "collision-mask"
5281
5413
  readonly mask: CollisionMask | CollisionMaskWithFlags
5282
5414
  /**
5283
- * How to filter: `"collides"`, `"layers-equals"`, `"contains-any"` or `"contains-all"`
5415
+ * How to filter.
5284
5416
  */
5285
5417
  readonly mask_mode: "collides" | "layers-equals" | "contains-any" | "contains-all"
5286
5418
  }
@@ -5291,13 +5423,11 @@ declare module "factorio:runtime" {
5291
5423
  readonly filter: "decal" | "autoplace"
5292
5424
  }
5293
5425
  /**
5294
- * Depending on the value of `filter`, the table may take additional fields. `filter` may be one of the following:
5295
- *
5296
5426
  * Base attributes: {@link BaseDecorativePrototypeFilter}
5297
5427
  *
5298
5428
  * Other attributes may be specified depending on `filter`:
5299
5429
  * - `"collision-mask"`: {@link CollisionMaskDecorativePrototypeFilter}
5300
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#DecorativePrototypeFilter Online documentation}
5430
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#DecorativePrototypeFilter Online documentation}
5301
5431
  */
5302
5432
  export type DecorativePrototypeFilter = CollisionMaskDecorativePrototypeFilter | OtherDecorativePrototypeFilter
5303
5433
  /**
@@ -5305,7 +5435,7 @@ declare module "factorio:runtime" {
5305
5435
  */
5306
5436
  export interface BaseAchievementPrototypeFilter {
5307
5437
  /**
5308
- * The condition to filter on. One of `"allowed-without-fight"`, `"type"`.
5438
+ * The condition to filter on.
5309
5439
  */
5310
5440
  readonly filter: "allowed-without-fight" | "type"
5311
5441
  /**
@@ -5334,13 +5464,11 @@ declare module "factorio:runtime" {
5334
5464
  readonly filter: "allowed-without-fight"
5335
5465
  }
5336
5466
  /**
5337
- * Depending on the value of `filter`, the table may take additional fields. `filter` may be one of the following:
5338
- *
5339
5467
  * Base attributes: {@link BaseAchievementPrototypeFilter}
5340
5468
  *
5341
5469
  * Other attributes may be specified depending on `filter`:
5342
5470
  * - `"type"`: {@link TypeAchievementPrototypeFilter}
5343
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#AchievementPrototypeFilter Online documentation}
5471
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#AchievementPrototypeFilter Online documentation}
5344
5472
  */
5345
5473
  export type AchievementPrototypeFilter = TypeAchievementPrototypeFilter | OtherAchievementPrototypeFilter
5346
5474
  /**
@@ -5348,7 +5476,7 @@ declare module "factorio:runtime" {
5348
5476
  */
5349
5477
  export interface BaseFluidPrototypeFilter {
5350
5478
  /**
5351
- * The condition to filter on. One of `"hidden"`, `"name"`, `"subgroup"`, `"default-temperature"`, `"max-temperature"`, `"heat-capacity"`, `"fuel-value"`, `"emissions-multiplier"`, `"gas-temperature"`.
5479
+ * The condition to filter on.
5352
5480
  */
5353
5481
  readonly filter:
5354
5482
  | "hidden"
@@ -5372,7 +5500,9 @@ declare module "factorio:runtime" {
5372
5500
  /**
5373
5501
  * `"name"` variant of {@link FluidPrototypeFilter}.
5374
5502
  *
5375
- * For use within nested filters such as the `has-product-fluid` filter of array[{@link RecipePrototypeFilter}]. To get a specific prototype by name, see {@link LuaGameScript#fluid_prototypes LuaGameScript::fluid_prototypes}.
5503
+ * For use within nested filters such as the `has-product-fluid` filter of array[{@link RecipePrototypeFilter}].
5504
+ *
5505
+ * To get a specific prototype by name, see {@link LuaGameScript#fluid_prototypes LuaGameScript::fluid_prototypes}.
5376
5506
  */
5377
5507
  export interface NameFluidPrototypeFilter extends BaseFluidPrototypeFilter {
5378
5508
  readonly filter: "name"
@@ -5512,8 +5642,6 @@ declare module "factorio:runtime" {
5512
5642
  readonly filter: "hidden"
5513
5643
  }
5514
5644
  /**
5515
- * Depending on the value of `filter`, the table may take additional fields. `filter` may be one of the following:
5516
- *
5517
5645
  * Base attributes: {@link BaseFluidPrototypeFilter}
5518
5646
  *
5519
5647
  * Other attributes may be specified depending on `filter`:
@@ -5525,7 +5653,7 @@ declare module "factorio:runtime" {
5525
5653
  * - `"fuel-value"`: {@link FuelValueFluidPrototypeFilter}
5526
5654
  * - `"emissions-multiplier"`: {@link EmissionsMultiplierFluidPrototypeFilter}
5527
5655
  * - `"gas-temperature"`: {@link GasTemperatureFluidPrototypeFilter}
5528
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#FluidPrototypeFilter Online documentation}
5656
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#FluidPrototypeFilter Online documentation}
5529
5657
  */
5530
5658
  export type FluidPrototypeFilter =
5531
5659
  | NameFluidPrototypeFilter
@@ -5539,7 +5667,7 @@ declare module "factorio:runtime" {
5539
5667
  | OtherFluidPrototypeFilter
5540
5668
  /**
5541
5669
  * Write form of {@link FluidPrototypeFilter}, where table-or-array concepts are allowed to take an array form.
5542
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#FluidPrototypeFilter Online documentation}
5670
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#FluidPrototypeFilter Online documentation}
5543
5671
  */
5544
5672
  export type FluidPrototypeFilterWrite =
5545
5673
  | NameFluidPrototypeFilter
@@ -5556,7 +5684,7 @@ declare module "factorio:runtime" {
5556
5684
  */
5557
5685
  export interface BaseEquipmentPrototypeFilter {
5558
5686
  /**
5559
- * The condition to filter on. One of `"item-to-place"`, `"type"`.
5687
+ * The condition to filter on.
5560
5688
  */
5561
5689
  readonly filter: "item-to-place" | "type"
5562
5690
  /**
@@ -5585,13 +5713,11 @@ declare module "factorio:runtime" {
5585
5713
  readonly filter: "item-to-place"
5586
5714
  }
5587
5715
  /**
5588
- * Depending on the value of `filter`, the table may take additional fields. `filter` may be one of the following:
5589
- *
5590
5716
  * Base attributes: {@link BaseEquipmentPrototypeFilter}
5591
5717
  *
5592
5718
  * Other attributes may be specified depending on `filter`:
5593
5719
  * - `"type"`: {@link TypeEquipmentPrototypeFilter}
5594
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#EquipmentPrototypeFilter Online documentation}
5720
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#EquipmentPrototypeFilter Online documentation}
5595
5721
  */
5596
5722
  export type EquipmentPrototypeFilter = TypeEquipmentPrototypeFilter | OtherEquipmentPrototypeFilter
5597
5723
  /**
@@ -5599,7 +5725,7 @@ declare module "factorio:runtime" {
5599
5725
  */
5600
5726
  export interface BaseTilePrototypeFilter {
5601
5727
  /**
5602
- * The condition to filter on. One of `"minable"`, `"autoplace"`, `"blueprintable"`, `"item-to-place"`, `"collision-mask"`, `"walking-speed-modifier"`, `"vehicle-friction-modifier"`, `"decorative-removal-probability"`, `"emissions"`.
5728
+ * The condition to filter on.
5603
5729
  */
5604
5730
  readonly filter:
5605
5731
  | "minable"
@@ -5627,7 +5753,7 @@ declare module "factorio:runtime" {
5627
5753
  readonly filter: "collision-mask"
5628
5754
  readonly mask: CollisionMask | CollisionMaskWithFlags
5629
5755
  /**
5630
- * How to filter: `"collides"`, `"layers-equals"`, `"contains-any"` or `"contains-all"`
5756
+ * How to filter.
5631
5757
  */
5632
5758
  readonly mask_mode: "collides" | "layers-equals" | "contains-any" | "contains-all"
5633
5759
  }
@@ -5714,8 +5840,6 @@ declare module "factorio:runtime" {
5714
5840
  readonly filter: "minable" | "autoplace" | "blueprintable" | "item-to-place"
5715
5841
  }
5716
5842
  /**
5717
- * Depending on the value of `filter`, the table may take additional fields. `filter` may be one of the following:
5718
- *
5719
5843
  * Base attributes: {@link BaseTilePrototypeFilter}
5720
5844
  *
5721
5845
  * Other attributes may be specified depending on `filter`:
@@ -5724,7 +5848,7 @@ declare module "factorio:runtime" {
5724
5848
  * - `"vehicle-friction-modifier"`: {@link VehicleFrictionModifierTilePrototypeFilter}
5725
5849
  * - `"decorative-removal-probability"`: {@link DecorativeRemovalProbabilityTilePrototypeFilter}
5726
5850
  * - `"emissions"`: {@link EmissionsTilePrototypeFilter}
5727
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#TilePrototypeFilter Online documentation}
5851
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#TilePrototypeFilter Online documentation}
5728
5852
  */
5729
5853
  export type TilePrototypeFilter =
5730
5854
  | CollisionMaskTilePrototypeFilter
@@ -5735,7 +5859,7 @@ declare module "factorio:runtime" {
5735
5859
  | OtherTilePrototypeFilter
5736
5860
  /**
5737
5861
  * Write form of {@link TilePrototypeFilter}, where table-or-array concepts are allowed to take an array form.
5738
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#TilePrototypeFilter Online documentation}
5862
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#TilePrototypeFilter Online documentation}
5739
5863
  */
5740
5864
  export type TilePrototypeFilterWrite =
5741
5865
  | CollisionMaskTilePrototypeFilter
@@ -5749,7 +5873,7 @@ declare module "factorio:runtime" {
5749
5873
  */
5750
5874
  export interface BaseRecipePrototypeFilter {
5751
5875
  /**
5752
- * The condition to filter on. One of `"enabled"`, `"hidden"`, `"hidden-from-flow-stats"`, `"hidden-from-player-crafting"`, `"allow-as-intermediate"`, `"allow-intermediates"`, `"allow-decomposition"`, `"always-show-made-in"`, `"always-show-products"`, `"show-amount-in-title"`, `"has-ingredients"`, `"has-products"`, `"has-ingredient-item"`, `"has-ingredient-fluid"`, `"has-product-item"`, `"has-product-fluid"`, `"subgroup"`, `"category"`, `"energy"`, `"emissions-multiplier"`, `"request-paste-multiplier"`, `"overload-multiplier"`.
5876
+ * The condition to filter on.
5753
5877
  */
5754
5878
  readonly filter:
5755
5879
  | "enabled"
@@ -5803,8 +5927,6 @@ declare module "factorio:runtime" {
5803
5927
  /**
5804
5928
  * `"has-ingredient-fluid"` variant of {@link RecipePrototypeFilter}.
5805
5929
  *
5806
- * Usage example:
5807
- *
5808
5930
  * ```
5809
5931
  * -- selects recipes that consume sulfuric acid
5810
5932
  * {{filter = "has-ingredient-fluid", elem_filters = {{filter = "name", name = "sulfuric-acid"}}}}
@@ -5984,8 +6106,6 @@ declare module "factorio:runtime" {
5984
6106
  | "has-products"
5985
6107
  }
5986
6108
  /**
5987
- * Depending on the value of `filter`, the table may take additional fields. `filter` may be one of the following:
5988
- *
5989
6109
  * Base attributes: {@link BaseRecipePrototypeFilter}
5990
6110
  *
5991
6111
  * Other attributes may be specified depending on `filter`:
@@ -5999,7 +6119,7 @@ declare module "factorio:runtime" {
5999
6119
  * - `"emissions-multiplier"`: {@link EmissionsMultiplierRecipePrototypeFilter}
6000
6120
  * - `"request-paste-multiplier"`: {@link RequestPasteMultiplierRecipePrototypeFilter}
6001
6121
  * - `"overload-multiplier"`: {@link OverloadMultiplierRecipePrototypeFilter}
6002
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#RecipePrototypeFilter Online documentation}
6122
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#RecipePrototypeFilter Online documentation}
6003
6123
  */
6004
6124
  export type RecipePrototypeFilter =
6005
6125
  | HasIngredientItemRecipePrototypeFilter
@@ -6015,7 +6135,7 @@ declare module "factorio:runtime" {
6015
6135
  | OtherRecipePrototypeFilter
6016
6136
  /**
6017
6137
  * Write form of {@link RecipePrototypeFilter}, where table-or-array concepts are allowed to take an array form.
6018
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#RecipePrototypeFilter Online documentation}
6138
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#RecipePrototypeFilter Online documentation}
6019
6139
  */
6020
6140
  export type RecipePrototypeFilterWrite =
6021
6141
  | HasIngredientItemRecipePrototypeFilterWrite
@@ -6034,7 +6154,7 @@ declare module "factorio:runtime" {
6034
6154
  */
6035
6155
  export interface BaseEntityPrototypeFilter {
6036
6156
  /**
6037
- * The condition to filter on. One of `"flying-robot"`, `"robot-with-logistics-interface"`, `"rail"`, `"ghost"`, `"explosion"`, `"vehicle"`, `"crafting-machine"`, `"rolling-stock"`, `"turret"`, `"transport-belt-connectable"`, `"wall-connectable"`, `"buildable"`, `"placable-in-editor"`, `"clonable"`, `"selectable"`, `"hidden"`, `"entity-with-health"`, `"building"`, `"fast-replaceable"`, `"uses-direction"`, `"minable"`, `"circuit-connectable"`, `"autoplace"`, `"blueprintable"`, `"item-to-place"`, `"name"`, `"type"`, `"collision-mask"`, `"flag"`, `"build-base-evolution-requirement"`, `"selection-priority"`, `"emissions"`, `"crafting-category"`.
6157
+ * The condition to filter on.
6038
6158
  */
6039
6159
  readonly filter:
6040
6160
  | "flying-robot"
@@ -6082,7 +6202,9 @@ declare module "factorio:runtime" {
6082
6202
  /**
6083
6203
  * `"name"` variant of {@link EntityPrototypeFilter}.
6084
6204
  *
6085
- * For use within nested filters such as the `place-result` filter of array[{@link ItemPrototypeFilter}]. To get a specific prototype by name, see {@link LuaGameScript#entity_prototypes LuaGameScript::entity_prototypes}.
6205
+ * For use within nested filters such as the `place-result` filter of array[{@link ItemPrototypeFilter}].
6206
+ *
6207
+ * To get a specific prototype by name, see {@link LuaGameScript#entity_prototypes LuaGameScript::entity_prototypes}.
6086
6208
  */
6087
6209
  export interface NameEntityPrototypeFilter extends BaseEntityPrototypeFilter {
6088
6210
  readonly filter: "name"
@@ -6233,8 +6355,6 @@ declare module "factorio:runtime" {
6233
6355
  | "item-to-place"
6234
6356
  }
6235
6357
  /**
6236
- * Depending on the value of `filter`, the table may take additional fields. `filter` may be one of the following:
6237
- *
6238
6358
  * Base attributes: {@link BaseEntityPrototypeFilter}
6239
6359
  *
6240
6360
  * Other attributes may be specified depending on `filter`:
@@ -6246,7 +6366,7 @@ declare module "factorio:runtime" {
6246
6366
  * - `"selection-priority"`: {@link SelectionPriorityEntityPrototypeFilter}
6247
6367
  * - `"emissions"`: {@link EmissionsEntityPrototypeFilter}
6248
6368
  * - `"crafting-category"`: {@link CraftingCategoryEntityPrototypeFilter}
6249
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#EntityPrototypeFilter Online documentation}
6369
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#EntityPrototypeFilter Online documentation}
6250
6370
  */
6251
6371
  export type EntityPrototypeFilter =
6252
6372
  | NameEntityPrototypeFilter
@@ -6260,7 +6380,7 @@ declare module "factorio:runtime" {
6260
6380
  | OtherEntityPrototypeFilter
6261
6381
  /**
6262
6382
  * Write form of {@link EntityPrototypeFilter}, where table-or-array concepts are allowed to take an array form.
6263
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#EntityPrototypeFilter Online documentation}
6383
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#EntityPrototypeFilter Online documentation}
6264
6384
  */
6265
6385
  export type EntityPrototypeFilterWrite =
6266
6386
  | NameEntityPrototypeFilter
@@ -6272,93 +6392,18 @@ declare module "factorio:runtime" {
6272
6392
  | EmissionsEntityPrototypeFilterWrite
6273
6393
  | CraftingCategoryEntityPrototypeFilter
6274
6394
  | OtherEntityPrototypeFilter
6275
- /**
6276
- * Used to filter out irrelevant event callbacks in a performant way.
6277
- *
6278
- * ## Union members
6279
- * - {@link LuaEntityClonedEventFilter}
6280
- * - LuaEntityDamagedEventFilter
6281
- * - {@link LuaPlayerMinedEntityEventFilter}
6282
- * - {@link LuaPreRobotMinedEntityEventFilter}
6283
- * - {@link LuaRobotBuiltEntityEventFilter}
6284
- * - {@link LuaPostEntityDiedEventFilter}
6285
- * - {@link LuaEntityDiedEventFilter}
6286
- * - {@link LuaScriptRaisedReviveEventFilter}
6287
- * - {@link LuaPrePlayerMinedEntityEventFilter}
6288
- * - {@link LuaEntityMarkedForDeconstructionEventFilter}
6289
- * - {@link LuaPreGhostDeconstructedEventFilter}
6290
- * - {@link LuaPreGhostUpgradedEventFilter}
6291
- * - {@link LuaEntityDeconstructionCancelledEventFilter}
6292
- * - {@link LuaEntityMarkedForUpgradeEventFilter}
6293
- * - {@link LuaSectorScannedEventFilter}
6294
- * - {@link LuaRobotMinedEntityEventFilter}
6295
- * - {@link LuaScriptRaisedDestroyEventFilter}
6296
- * - {@link LuaUpgradeCancelledEventFilter}
6297
- * - {@link LuaScriptRaisedBuiltEventFilter}
6298
- * - {@link LuaPlayerBuiltEntityEventFilter}
6299
- * - {@link LuaPlayerRepairedEntityEventFilter}
6300
- * @see EventFilterWrite
6301
- * @remarks Filters are always used as an array of filters of a specific type. Every filter can only be used with its corresponding event, and different types of event filters can not be mixed.
6302
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#EventFilter Online documentation}
6303
- */
6304
- export type EventFilter = (
6305
- | LuaEntityClonedEventFilter
6306
- | LuaEntityDamagedEventFilter
6307
- | LuaPlayerMinedEntityEventFilter
6308
- | LuaPreRobotMinedEntityEventFilter
6309
- | LuaRobotBuiltEntityEventFilter
6310
- | LuaPostEntityDiedEventFilter
6311
- | LuaEntityDiedEventFilter
6312
- | LuaScriptRaisedReviveEventFilter
6313
- | LuaPrePlayerMinedEntityEventFilter
6314
- | LuaEntityMarkedForDeconstructionEventFilter
6315
- | LuaPreGhostDeconstructedEventFilter
6316
- | LuaPreGhostUpgradedEventFilter
6317
- | LuaEntityDeconstructionCancelledEventFilter
6318
- | LuaEntityMarkedForUpgradeEventFilter
6319
- | LuaSectorScannedEventFilter
6320
- | LuaRobotMinedEntityEventFilter
6321
- | LuaScriptRaisedDestroyEventFilter
6322
- | LuaUpgradeCancelledEventFilter
6323
- | LuaScriptRaisedBuiltEventFilter
6324
- | LuaPlayerBuiltEntityEventFilter
6325
- | LuaPlayerRepairedEntityEventFilter
6326
- )[]
6327
- /**
6328
- * Write form of {@link EventFilter}, where table-or-array concepts are allowed to take an array form.
6329
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#EventFilter Online documentation}
6330
- */
6331
- export type EventFilterWrite = readonly (
6332
- | LuaEntityClonedEventFilter
6333
- | LuaEntityDamagedEventFilterWrite
6334
- | LuaPlayerMinedEntityEventFilter
6335
- | LuaPreRobotMinedEntityEventFilter
6336
- | LuaRobotBuiltEntityEventFilter
6337
- | LuaPostEntityDiedEventFilter
6338
- | LuaEntityDiedEventFilter
6339
- | LuaScriptRaisedReviveEventFilter
6340
- | LuaPrePlayerMinedEntityEventFilter
6341
- | LuaEntityMarkedForDeconstructionEventFilter
6342
- | LuaPreGhostDeconstructedEventFilter
6343
- | LuaPreGhostUpgradedEventFilter
6344
- | LuaEntityDeconstructionCancelledEventFilter
6345
- | LuaEntityMarkedForUpgradeEventFilter
6346
- | LuaSectorScannedEventFilter
6347
- | LuaRobotMinedEntityEventFilter
6348
- | LuaScriptRaisedDestroyEventFilter
6349
- | LuaUpgradeCancelledEventFilter
6350
- | LuaScriptRaisedBuiltEventFilter
6351
- | LuaPlayerBuiltEntityEventFilter
6352
- | LuaPlayerRepairedEntityEventFilter
6353
- )[]
6354
6395
  /**
6355
6396
  * Common attributes to all variants of {@link LuaScriptRaisedReviveEventFilter}.
6356
6397
  */
6357
6398
  export interface BaseScriptRaisedReviveEventFilter {
6358
6399
  /**
6359
- * The condition to filter on. One of `"ghost"`, `"rail"`, `"rail-signal"`, `"rolling-stock"`, `"robot-with-logistics-interface"`, `"vehicle"`, `"turret"`, `"crafting-machine"`, `"wall-connectable"`, `"transport-belt-connectable"`, `"circuit-network-connectable"`, `"type"`, `"name"`, `"ghost_type"`, `"ghost_name"`.
6400
+ * The condition to filter on.
6360
6401
  */
6361
6402
  readonly filter:
6403
+ | "type"
6404
+ | "name"
6405
+ | "ghost_type"
6406
+ | "ghost_name"
6362
6407
  | "ghost"
6363
6408
  | "rail"
6364
6409
  | "rail-signal"
@@ -6370,10 +6415,6 @@ declare module "factorio:runtime" {
6370
6415
  | "wall-connectable"
6371
6416
  | "transport-belt-connectable"
6372
6417
  | "circuit-network-connectable"
6373
- | "type"
6374
- | "name"
6375
- | "ghost_type"
6376
- | "ghost_name"
6377
6418
  /**
6378
6419
  * How to combine this with the previous filter. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
6379
6420
  */
@@ -6389,7 +6430,7 @@ declare module "factorio:runtime" {
6389
6430
  export interface TypeScriptRaisedReviveEventFilter extends BaseScriptRaisedReviveEventFilter {
6390
6431
  readonly filter: "type"
6391
6432
  /**
6392
- * The prototype type
6433
+ * The prototype type.
6393
6434
  */
6394
6435
  readonly type: EntityType
6395
6436
  }
@@ -6399,7 +6440,7 @@ declare module "factorio:runtime" {
6399
6440
  export interface NameScriptRaisedReviveEventFilter extends BaseScriptRaisedReviveEventFilter {
6400
6441
  readonly filter: "name"
6401
6442
  /**
6402
- * The prototype name
6443
+ * The prototype name.
6403
6444
  */
6404
6445
  readonly name: string
6405
6446
  }
@@ -6409,7 +6450,7 @@ declare module "factorio:runtime" {
6409
6450
  export interface GhostTypeScriptRaisedReviveEventFilter extends BaseScriptRaisedReviveEventFilter {
6410
6451
  readonly filter: "ghost_type"
6411
6452
  /**
6412
- * The ghost prototype type
6453
+ * The ghost prototype type.
6413
6454
  */
6414
6455
  readonly type: EntityType
6415
6456
  }
@@ -6419,7 +6460,7 @@ declare module "factorio:runtime" {
6419
6460
  export interface GhostNameScriptRaisedReviveEventFilter extends BaseScriptRaisedReviveEventFilter {
6420
6461
  readonly filter: "ghost_name"
6421
6462
  /**
6422
- * The ghost prototype name
6463
+ * The ghost prototype name.
6423
6464
  */
6424
6465
  readonly name: string
6425
6466
  }
@@ -6441,8 +6482,6 @@ declare module "factorio:runtime" {
6441
6482
  | "circuit-network-connectable"
6442
6483
  }
6443
6484
  /**
6444
- * Depending on the value of `filter`, the table may take additional fields. `filter` may be one of the following:
6445
- *
6446
6485
  * Base attributes: {@link BaseScriptRaisedReviveEventFilter}
6447
6486
  *
6448
6487
  * Other attributes may be specified depending on `filter`:
@@ -6450,7 +6489,7 @@ declare module "factorio:runtime" {
6450
6489
  * - `"name"`: {@link NameScriptRaisedReviveEventFilter}
6451
6490
  * - `"ghost_type"`: {@link GhostTypeScriptRaisedReviveEventFilter}
6452
6491
  * - `"ghost_name"`: {@link GhostNameScriptRaisedReviveEventFilter}
6453
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#LuaScriptRaisedReviveEventFilter Online documentation}
6492
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#LuaScriptRaisedReviveEventFilter Online documentation}
6454
6493
  */
6455
6494
  export type LuaScriptRaisedReviveEventFilter =
6456
6495
  | TypeScriptRaisedReviveEventFilter
@@ -6463,9 +6502,13 @@ declare module "factorio:runtime" {
6463
6502
  */
6464
6503
  export interface BaseEntityDiedEventFilter {
6465
6504
  /**
6466
- * The condition to filter on. One of `"ghost"`, `"rail"`, `"rail-signal"`, `"rolling-stock"`, `"robot-with-logistics-interface"`, `"vehicle"`, `"turret"`, `"crafting-machine"`, `"wall-connectable"`, `"transport-belt-connectable"`, `"circuit-network-connectable"`, `"type"`, `"name"`, `"ghost_type"`, `"ghost_name"`.
6505
+ * The condition to filter on.
6467
6506
  */
6468
6507
  readonly filter:
6508
+ | "type"
6509
+ | "name"
6510
+ | "ghost_type"
6511
+ | "ghost_name"
6469
6512
  | "ghost"
6470
6513
  | "rail"
6471
6514
  | "rail-signal"
@@ -6477,10 +6520,6 @@ declare module "factorio:runtime" {
6477
6520
  | "wall-connectable"
6478
6521
  | "transport-belt-connectable"
6479
6522
  | "circuit-network-connectable"
6480
- | "type"
6481
- | "name"
6482
- | "ghost_type"
6483
- | "ghost_name"
6484
6523
  /**
6485
6524
  * How to combine this with the previous filter. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
6486
6525
  */
@@ -6496,7 +6535,7 @@ declare module "factorio:runtime" {
6496
6535
  export interface TypeEntityDiedEventFilter extends BaseEntityDiedEventFilter {
6497
6536
  readonly filter: "type"
6498
6537
  /**
6499
- * The prototype type
6538
+ * The prototype type.
6500
6539
  */
6501
6540
  readonly type: EntityType
6502
6541
  }
@@ -6506,7 +6545,7 @@ declare module "factorio:runtime" {
6506
6545
  export interface NameEntityDiedEventFilter extends BaseEntityDiedEventFilter {
6507
6546
  readonly filter: "name"
6508
6547
  /**
6509
- * The prototype name
6548
+ * The prototype name.
6510
6549
  */
6511
6550
  readonly name: string
6512
6551
  }
@@ -6516,7 +6555,7 @@ declare module "factorio:runtime" {
6516
6555
  export interface GhostTypeEntityDiedEventFilter extends BaseEntityDiedEventFilter {
6517
6556
  readonly filter: "ghost_type"
6518
6557
  /**
6519
- * The ghost prototype type
6558
+ * The ghost prototype type.
6520
6559
  */
6521
6560
  readonly type: EntityType
6522
6561
  }
@@ -6526,7 +6565,7 @@ declare module "factorio:runtime" {
6526
6565
  export interface GhostNameEntityDiedEventFilter extends BaseEntityDiedEventFilter {
6527
6566
  readonly filter: "ghost_name"
6528
6567
  /**
6529
- * The ghost prototype name
6568
+ * The ghost prototype name.
6530
6569
  */
6531
6570
  readonly name: string
6532
6571
  }
@@ -6548,8 +6587,6 @@ declare module "factorio:runtime" {
6548
6587
  | "circuit-network-connectable"
6549
6588
  }
6550
6589
  /**
6551
- * Depending on the value of `filter`, the table may take additional fields. `filter` may be one of the following:
6552
- *
6553
6590
  * Base attributes: {@link BaseEntityDiedEventFilter}
6554
6591
  *
6555
6592
  * Other attributes may be specified depending on `filter`:
@@ -6557,7 +6594,7 @@ declare module "factorio:runtime" {
6557
6594
  * - `"name"`: {@link NameEntityDiedEventFilter}
6558
6595
  * - `"ghost_type"`: {@link GhostTypeEntityDiedEventFilter}
6559
6596
  * - `"ghost_name"`: {@link GhostNameEntityDiedEventFilter}
6560
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#LuaEntityDiedEventFilter Online documentation}
6597
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#LuaEntityDiedEventFilter Online documentation}
6561
6598
  */
6562
6599
  export type LuaEntityDiedEventFilter =
6563
6600
  | TypeEntityDiedEventFilter
@@ -6570,9 +6607,13 @@ declare module "factorio:runtime" {
6570
6607
  */
6571
6608
  export interface BaseEntityMarkedForDeconstructionEventFilter {
6572
6609
  /**
6573
- * The condition to filter on. One of `"ghost"`, `"rail"`, `"rail-signal"`, `"rolling-stock"`, `"robot-with-logistics-interface"`, `"vehicle"`, `"turret"`, `"crafting-machine"`, `"wall-connectable"`, `"transport-belt-connectable"`, `"circuit-network-connectable"`, `"type"`, `"name"`, `"ghost_type"`, `"ghost_name"`.
6610
+ * The condition to filter on.
6574
6611
  */
6575
6612
  readonly filter:
6613
+ | "type"
6614
+ | "name"
6615
+ | "ghost_type"
6616
+ | "ghost_name"
6576
6617
  | "ghost"
6577
6618
  | "rail"
6578
6619
  | "rail-signal"
@@ -6584,10 +6625,6 @@ declare module "factorio:runtime" {
6584
6625
  | "wall-connectable"
6585
6626
  | "transport-belt-connectable"
6586
6627
  | "circuit-network-connectable"
6587
- | "type"
6588
- | "name"
6589
- | "ghost_type"
6590
- | "ghost_name"
6591
6628
  /**
6592
6629
  * How to combine this with the previous filter. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
6593
6630
  */
@@ -6603,7 +6640,7 @@ declare module "factorio:runtime" {
6603
6640
  export interface TypeEntityMarkedForDeconstructionEventFilter extends BaseEntityMarkedForDeconstructionEventFilter {
6604
6641
  readonly filter: "type"
6605
6642
  /**
6606
- * The prototype type
6643
+ * The prototype type.
6607
6644
  */
6608
6645
  readonly type: EntityType
6609
6646
  }
@@ -6613,7 +6650,7 @@ declare module "factorio:runtime" {
6613
6650
  export interface NameEntityMarkedForDeconstructionEventFilter extends BaseEntityMarkedForDeconstructionEventFilter {
6614
6651
  readonly filter: "name"
6615
6652
  /**
6616
- * The prototype name
6653
+ * The prototype name.
6617
6654
  */
6618
6655
  readonly name: string
6619
6656
  }
@@ -6624,7 +6661,7 @@ declare module "factorio:runtime" {
6624
6661
  extends BaseEntityMarkedForDeconstructionEventFilter {
6625
6662
  readonly filter: "ghost_type"
6626
6663
  /**
6627
- * The ghost prototype type
6664
+ * The ghost prototype type.
6628
6665
  */
6629
6666
  readonly type: EntityType
6630
6667
  }
@@ -6635,7 +6672,7 @@ declare module "factorio:runtime" {
6635
6672
  extends BaseEntityMarkedForDeconstructionEventFilter {
6636
6673
  readonly filter: "ghost_name"
6637
6674
  /**
6638
- * The ghost prototype name
6675
+ * The ghost prototype name.
6639
6676
  */
6640
6677
  readonly name: string
6641
6678
  }
@@ -6657,8 +6694,6 @@ declare module "factorio:runtime" {
6657
6694
  | "circuit-network-connectable"
6658
6695
  }
6659
6696
  /**
6660
- * Depending on the value of `filter`, the table may take additional fields. `filter` may be one of the following:
6661
- *
6662
6697
  * Base attributes: {@link BaseEntityMarkedForDeconstructionEventFilter}
6663
6698
  *
6664
6699
  * Other attributes may be specified depending on `filter`:
@@ -6666,7 +6701,7 @@ declare module "factorio:runtime" {
6666
6701
  * - `"name"`: {@link NameEntityMarkedForDeconstructionEventFilter}
6667
6702
  * - `"ghost_type"`: {@link GhostTypeEntityMarkedForDeconstructionEventFilter}
6668
6703
  * - `"ghost_name"`: {@link GhostNameEntityMarkedForDeconstructionEventFilter}
6669
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#LuaEntityMarkedForDeconstructionEventFilter Online documentation}
6704
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#LuaEntityMarkedForDeconstructionEventFilter Online documentation}
6670
6705
  */
6671
6706
  export type LuaEntityMarkedForDeconstructionEventFilter =
6672
6707
  | TypeEntityMarkedForDeconstructionEventFilter
@@ -6679,9 +6714,13 @@ declare module "factorio:runtime" {
6679
6714
  */
6680
6715
  export interface BasePreGhostDeconstructedEventFilter {
6681
6716
  /**
6682
- * The condition to filter on. One of `"ghost"`, `"rail"`, `"rail-signal"`, `"rolling-stock"`, `"robot-with-logistics-interface"`, `"vehicle"`, `"turret"`, `"crafting-machine"`, `"wall-connectable"`, `"transport-belt-connectable"`, `"circuit-network-connectable"`, `"type"`, `"name"`, `"ghost_type"`, `"ghost_name"`.
6717
+ * The condition to filter on.
6683
6718
  */
6684
6719
  readonly filter:
6720
+ | "type"
6721
+ | "name"
6722
+ | "ghost_type"
6723
+ | "ghost_name"
6685
6724
  | "ghost"
6686
6725
  | "rail"
6687
6726
  | "rail-signal"
@@ -6693,10 +6732,6 @@ declare module "factorio:runtime" {
6693
6732
  | "wall-connectable"
6694
6733
  | "transport-belt-connectable"
6695
6734
  | "circuit-network-connectable"
6696
- | "type"
6697
- | "name"
6698
- | "ghost_type"
6699
- | "ghost_name"
6700
6735
  /**
6701
6736
  * How to combine this with the previous filter. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
6702
6737
  */
@@ -6712,7 +6747,7 @@ declare module "factorio:runtime" {
6712
6747
  export interface TypePreGhostDeconstructedEventFilter extends BasePreGhostDeconstructedEventFilter {
6713
6748
  readonly filter: "type"
6714
6749
  /**
6715
- * The prototype type
6750
+ * The prototype type.
6716
6751
  */
6717
6752
  readonly type: EntityType
6718
6753
  }
@@ -6722,7 +6757,7 @@ declare module "factorio:runtime" {
6722
6757
  export interface NamePreGhostDeconstructedEventFilter extends BasePreGhostDeconstructedEventFilter {
6723
6758
  readonly filter: "name"
6724
6759
  /**
6725
- * The prototype name
6760
+ * The prototype name.
6726
6761
  */
6727
6762
  readonly name: string
6728
6763
  }
@@ -6732,7 +6767,7 @@ declare module "factorio:runtime" {
6732
6767
  export interface GhostTypePreGhostDeconstructedEventFilter extends BasePreGhostDeconstructedEventFilter {
6733
6768
  readonly filter: "ghost_type"
6734
6769
  /**
6735
- * The ghost prototype type
6770
+ * The ghost prototype type.
6736
6771
  */
6737
6772
  readonly type: EntityType
6738
6773
  }
@@ -6742,7 +6777,7 @@ declare module "factorio:runtime" {
6742
6777
  export interface GhostNamePreGhostDeconstructedEventFilter extends BasePreGhostDeconstructedEventFilter {
6743
6778
  readonly filter: "ghost_name"
6744
6779
  /**
6745
- * The ghost prototype name
6780
+ * The ghost prototype name.
6746
6781
  */
6747
6782
  readonly name: string
6748
6783
  }
@@ -6764,8 +6799,6 @@ declare module "factorio:runtime" {
6764
6799
  | "circuit-network-connectable"
6765
6800
  }
6766
6801
  /**
6767
- * Depending on the value of `filter`, the table may take additional fields. `filter` may be one of the following:
6768
- *
6769
6802
  * Base attributes: {@link BasePreGhostDeconstructedEventFilter}
6770
6803
  *
6771
6804
  * Other attributes may be specified depending on `filter`:
@@ -6773,7 +6806,7 @@ declare module "factorio:runtime" {
6773
6806
  * - `"name"`: {@link NamePreGhostDeconstructedEventFilter}
6774
6807
  * - `"ghost_type"`: {@link GhostTypePreGhostDeconstructedEventFilter}
6775
6808
  * - `"ghost_name"`: {@link GhostNamePreGhostDeconstructedEventFilter}
6776
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#LuaPreGhostDeconstructedEventFilter Online documentation}
6809
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#LuaPreGhostDeconstructedEventFilter Online documentation}
6777
6810
  */
6778
6811
  export type LuaPreGhostDeconstructedEventFilter =
6779
6812
  | TypePreGhostDeconstructedEventFilter
@@ -6786,9 +6819,13 @@ declare module "factorio:runtime" {
6786
6819
  */
6787
6820
  export interface BaseScriptRaisedDestroyEventFilter {
6788
6821
  /**
6789
- * The condition to filter on. One of `"ghost"`, `"rail"`, `"rail-signal"`, `"rolling-stock"`, `"robot-with-logistics-interface"`, `"vehicle"`, `"turret"`, `"crafting-machine"`, `"wall-connectable"`, `"transport-belt-connectable"`, `"circuit-network-connectable"`, `"type"`, `"name"`, `"ghost_type"`, `"ghost_name"`.
6822
+ * The condition to filter on.
6790
6823
  */
6791
6824
  readonly filter:
6825
+ | "type"
6826
+ | "name"
6827
+ | "ghost_type"
6828
+ | "ghost_name"
6792
6829
  | "ghost"
6793
6830
  | "rail"
6794
6831
  | "rail-signal"
@@ -6800,10 +6837,6 @@ declare module "factorio:runtime" {
6800
6837
  | "wall-connectable"
6801
6838
  | "transport-belt-connectable"
6802
6839
  | "circuit-network-connectable"
6803
- | "type"
6804
- | "name"
6805
- | "ghost_type"
6806
- | "ghost_name"
6807
6840
  /**
6808
6841
  * How to combine this with the previous filter. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
6809
6842
  */
@@ -6819,7 +6852,7 @@ declare module "factorio:runtime" {
6819
6852
  export interface TypeScriptRaisedDestroyEventFilter extends BaseScriptRaisedDestroyEventFilter {
6820
6853
  readonly filter: "type"
6821
6854
  /**
6822
- * The prototype type
6855
+ * The prototype type.
6823
6856
  */
6824
6857
  readonly type: EntityType
6825
6858
  }
@@ -6829,7 +6862,7 @@ declare module "factorio:runtime" {
6829
6862
  export interface NameScriptRaisedDestroyEventFilter extends BaseScriptRaisedDestroyEventFilter {
6830
6863
  readonly filter: "name"
6831
6864
  /**
6832
- * The prototype name
6865
+ * The prototype name.
6833
6866
  */
6834
6867
  readonly name: string
6835
6868
  }
@@ -6839,7 +6872,7 @@ declare module "factorio:runtime" {
6839
6872
  export interface GhostTypeScriptRaisedDestroyEventFilter extends BaseScriptRaisedDestroyEventFilter {
6840
6873
  readonly filter: "ghost_type"
6841
6874
  /**
6842
- * The ghost prototype type
6875
+ * The ghost prototype type.
6843
6876
  */
6844
6877
  readonly type: EntityType
6845
6878
  }
@@ -6849,7 +6882,7 @@ declare module "factorio:runtime" {
6849
6882
  export interface GhostNameScriptRaisedDestroyEventFilter extends BaseScriptRaisedDestroyEventFilter {
6850
6883
  readonly filter: "ghost_name"
6851
6884
  /**
6852
- * The ghost prototype name
6885
+ * The ghost prototype name.
6853
6886
  */
6854
6887
  readonly name: string
6855
6888
  }
@@ -6871,8 +6904,6 @@ declare module "factorio:runtime" {
6871
6904
  | "circuit-network-connectable"
6872
6905
  }
6873
6906
  /**
6874
- * Depending on the value of `filter`, the table may take additional fields. `filter` may be one of the following:
6875
- *
6876
6907
  * Base attributes: {@link BaseScriptRaisedDestroyEventFilter}
6877
6908
  *
6878
6909
  * Other attributes may be specified depending on `filter`:
@@ -6880,7 +6911,7 @@ declare module "factorio:runtime" {
6880
6911
  * - `"name"`: {@link NameScriptRaisedDestroyEventFilter}
6881
6912
  * - `"ghost_type"`: {@link GhostTypeScriptRaisedDestroyEventFilter}
6882
6913
  * - `"ghost_name"`: {@link GhostNameScriptRaisedDestroyEventFilter}
6883
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#LuaScriptRaisedDestroyEventFilter Online documentation}
6914
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#LuaScriptRaisedDestroyEventFilter Online documentation}
6884
6915
  */
6885
6916
  export type LuaScriptRaisedDestroyEventFilter =
6886
6917
  | TypeScriptRaisedDestroyEventFilter
@@ -6893,9 +6924,13 @@ declare module "factorio:runtime" {
6893
6924
  */
6894
6925
  export interface BaseUpgradeCancelledEventFilter {
6895
6926
  /**
6896
- * The condition to filter on. One of `"ghost"`, `"rail"`, `"rail-signal"`, `"rolling-stock"`, `"robot-with-logistics-interface"`, `"vehicle"`, `"turret"`, `"crafting-machine"`, `"wall-connectable"`, `"transport-belt-connectable"`, `"circuit-network-connectable"`, `"type"`, `"name"`, `"ghost_type"`, `"ghost_name"`.
6927
+ * The condition to filter on.
6897
6928
  */
6898
6929
  readonly filter:
6930
+ | "type"
6931
+ | "name"
6932
+ | "ghost_type"
6933
+ | "ghost_name"
6899
6934
  | "ghost"
6900
6935
  | "rail"
6901
6936
  | "rail-signal"
@@ -6907,10 +6942,6 @@ declare module "factorio:runtime" {
6907
6942
  | "wall-connectable"
6908
6943
  | "transport-belt-connectable"
6909
6944
  | "circuit-network-connectable"
6910
- | "type"
6911
- | "name"
6912
- | "ghost_type"
6913
- | "ghost_name"
6914
6945
  /**
6915
6946
  * How to combine this with the previous filter. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
6916
6947
  */
@@ -6926,7 +6957,7 @@ declare module "factorio:runtime" {
6926
6957
  export interface TypeUpgradeCancelledEventFilter extends BaseUpgradeCancelledEventFilter {
6927
6958
  readonly filter: "type"
6928
6959
  /**
6929
- * The prototype type
6960
+ * The prototype type.
6930
6961
  */
6931
6962
  readonly type: EntityType
6932
6963
  }
@@ -6936,7 +6967,7 @@ declare module "factorio:runtime" {
6936
6967
  export interface NameUpgradeCancelledEventFilter extends BaseUpgradeCancelledEventFilter {
6937
6968
  readonly filter: "name"
6938
6969
  /**
6939
- * The prototype name
6970
+ * The prototype name.
6940
6971
  */
6941
6972
  readonly name: string
6942
6973
  }
@@ -6946,7 +6977,7 @@ declare module "factorio:runtime" {
6946
6977
  export interface GhostTypeUpgradeCancelledEventFilter extends BaseUpgradeCancelledEventFilter {
6947
6978
  readonly filter: "ghost_type"
6948
6979
  /**
6949
- * The ghost prototype type
6980
+ * The ghost prototype type.
6950
6981
  */
6951
6982
  readonly type: EntityType
6952
6983
  }
@@ -6956,7 +6987,7 @@ declare module "factorio:runtime" {
6956
6987
  export interface GhostNameUpgradeCancelledEventFilter extends BaseUpgradeCancelledEventFilter {
6957
6988
  readonly filter: "ghost_name"
6958
6989
  /**
6959
- * The ghost prototype name
6990
+ * The ghost prototype name.
6960
6991
  */
6961
6992
  readonly name: string
6962
6993
  }
@@ -6978,8 +7009,6 @@ declare module "factorio:runtime" {
6978
7009
  | "circuit-network-connectable"
6979
7010
  }
6980
7011
  /**
6981
- * Depending on the value of `filter`, the table may take additional fields. `filter` may be one of the following:
6982
- *
6983
7012
  * Base attributes: {@link BaseUpgradeCancelledEventFilter}
6984
7013
  *
6985
7014
  * Other attributes may be specified depending on `filter`:
@@ -6987,7 +7016,7 @@ declare module "factorio:runtime" {
6987
7016
  * - `"name"`: {@link NameUpgradeCancelledEventFilter}
6988
7017
  * - `"ghost_type"`: {@link GhostTypeUpgradeCancelledEventFilter}
6989
7018
  * - `"ghost_name"`: {@link GhostNameUpgradeCancelledEventFilter}
6990
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#LuaUpgradeCancelledEventFilter Online documentation}
7019
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#LuaUpgradeCancelledEventFilter Online documentation}
6991
7020
  */
6992
7021
  export type LuaUpgradeCancelledEventFilter =
6993
7022
  | TypeUpgradeCancelledEventFilter
@@ -7000,9 +7029,13 @@ declare module "factorio:runtime" {
7000
7029
  */
7001
7030
  export interface BasePlayerRepairedEntityEventFilter {
7002
7031
  /**
7003
- * The condition to filter on. One of `"ghost"`, `"rail"`, `"rail-signal"`, `"rolling-stock"`, `"robot-with-logistics-interface"`, `"vehicle"`, `"turret"`, `"crafting-machine"`, `"wall-connectable"`, `"transport-belt-connectable"`, `"circuit-network-connectable"`, `"type"`, `"name"`, `"ghost_type"`, `"ghost_name"`.
7032
+ * The condition to filter on.
7004
7033
  */
7005
7034
  readonly filter:
7035
+ | "type"
7036
+ | "name"
7037
+ | "ghost_type"
7038
+ | "ghost_name"
7006
7039
  | "ghost"
7007
7040
  | "rail"
7008
7041
  | "rail-signal"
@@ -7014,10 +7047,6 @@ declare module "factorio:runtime" {
7014
7047
  | "wall-connectable"
7015
7048
  | "transport-belt-connectable"
7016
7049
  | "circuit-network-connectable"
7017
- | "type"
7018
- | "name"
7019
- | "ghost_type"
7020
- | "ghost_name"
7021
7050
  /**
7022
7051
  * How to combine this with the previous filter. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
7023
7052
  */
@@ -7033,7 +7062,7 @@ declare module "factorio:runtime" {
7033
7062
  export interface TypePlayerRepairedEntityEventFilter extends BasePlayerRepairedEntityEventFilter {
7034
7063
  readonly filter: "type"
7035
7064
  /**
7036
- * The prototype type
7065
+ * The prototype type.
7037
7066
  */
7038
7067
  readonly type: EntityType
7039
7068
  }
@@ -7043,7 +7072,7 @@ declare module "factorio:runtime" {
7043
7072
  export interface NamePlayerRepairedEntityEventFilter extends BasePlayerRepairedEntityEventFilter {
7044
7073
  readonly filter: "name"
7045
7074
  /**
7046
- * The prototype name
7075
+ * The prototype name.
7047
7076
  */
7048
7077
  readonly name: string
7049
7078
  }
@@ -7053,7 +7082,7 @@ declare module "factorio:runtime" {
7053
7082
  export interface GhostTypePlayerRepairedEntityEventFilter extends BasePlayerRepairedEntityEventFilter {
7054
7083
  readonly filter: "ghost_type"
7055
7084
  /**
7056
- * The ghost prototype type
7085
+ * The ghost prototype type.
7057
7086
  */
7058
7087
  readonly type: EntityType
7059
7088
  }
@@ -7063,7 +7092,7 @@ declare module "factorio:runtime" {
7063
7092
  export interface GhostNamePlayerRepairedEntityEventFilter extends BasePlayerRepairedEntityEventFilter {
7064
7093
  readonly filter: "ghost_name"
7065
7094
  /**
7066
- * The ghost prototype name
7095
+ * The ghost prototype name.
7067
7096
  */
7068
7097
  readonly name: string
7069
7098
  }
@@ -7085,8 +7114,6 @@ declare module "factorio:runtime" {
7085
7114
  | "circuit-network-connectable"
7086
7115
  }
7087
7116
  /**
7088
- * Depending on the value of `filter`, the table may take additional fields. `filter` may be one of the following:
7089
- *
7090
7117
  * Base attributes: {@link BasePlayerRepairedEntityEventFilter}
7091
7118
  *
7092
7119
  * Other attributes may be specified depending on `filter`:
@@ -7094,7 +7121,7 @@ declare module "factorio:runtime" {
7094
7121
  * - `"name"`: {@link NamePlayerRepairedEntityEventFilter}
7095
7122
  * - `"ghost_type"`: {@link GhostTypePlayerRepairedEntityEventFilter}
7096
7123
  * - `"ghost_name"`: {@link GhostNamePlayerRepairedEntityEventFilter}
7097
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#LuaPlayerRepairedEntityEventFilter Online documentation}
7124
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#LuaPlayerRepairedEntityEventFilter Online documentation}
7098
7125
  */
7099
7126
  export type LuaPlayerRepairedEntityEventFilter =
7100
7127
  | TypePlayerRepairedEntityEventFilter
@@ -7107,9 +7134,13 @@ declare module "factorio:runtime" {
7107
7134
  */
7108
7135
  export interface BaseScriptRaisedTeleportedEventFilter {
7109
7136
  /**
7110
- * The condition to filter on. One of `"ghost"`, `"rail"`, `"rail-signal"`, `"rolling-stock"`, `"robot-with-logistics-interface"`, `"vehicle"`, `"turret"`, `"crafting-machine"`, `"wall-connectable"`, `"transport-belt-connectable"`, `"circuit-network-connectable"`, `"type"`, `"name"`, `"ghost_type"`, `"ghost_name"`.
7137
+ * The condition to filter on.
7111
7138
  */
7112
7139
  readonly filter:
7140
+ | "type"
7141
+ | "name"
7142
+ | "ghost_type"
7143
+ | "ghost_name"
7113
7144
  | "ghost"
7114
7145
  | "rail"
7115
7146
  | "rail-signal"
@@ -7121,10 +7152,6 @@ declare module "factorio:runtime" {
7121
7152
  | "wall-connectable"
7122
7153
  | "transport-belt-connectable"
7123
7154
  | "circuit-network-connectable"
7124
- | "type"
7125
- | "name"
7126
- | "ghost_type"
7127
- | "ghost_name"
7128
7155
  /**
7129
7156
  * How to combine this with the previous filter. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
7130
7157
  */
@@ -7140,7 +7167,7 @@ declare module "factorio:runtime" {
7140
7167
  export interface TypeScriptRaisedTeleportedEventFilter extends BaseScriptRaisedTeleportedEventFilter {
7141
7168
  readonly filter: "type"
7142
7169
  /**
7143
- * The prototype type
7170
+ * The prototype type.
7144
7171
  */
7145
7172
  readonly type: EntityType
7146
7173
  }
@@ -7150,7 +7177,7 @@ declare module "factorio:runtime" {
7150
7177
  export interface NameScriptRaisedTeleportedEventFilter extends BaseScriptRaisedTeleportedEventFilter {
7151
7178
  readonly filter: "name"
7152
7179
  /**
7153
- * The prototype name
7180
+ * The prototype name.
7154
7181
  */
7155
7182
  readonly name: string
7156
7183
  }
@@ -7160,7 +7187,7 @@ declare module "factorio:runtime" {
7160
7187
  export interface GhostTypeScriptRaisedTeleportedEventFilter extends BaseScriptRaisedTeleportedEventFilter {
7161
7188
  readonly filter: "ghost_type"
7162
7189
  /**
7163
- * The ghost prototype type
7190
+ * The ghost prototype type.
7164
7191
  */
7165
7192
  readonly type: EntityType
7166
7193
  }
@@ -7170,7 +7197,7 @@ declare module "factorio:runtime" {
7170
7197
  export interface GhostNameScriptRaisedTeleportedEventFilter extends BaseScriptRaisedTeleportedEventFilter {
7171
7198
  readonly filter: "ghost_name"
7172
7199
  /**
7173
- * The ghost prototype name
7200
+ * The ghost prototype name.
7174
7201
  */
7175
7202
  readonly name: string
7176
7203
  }
@@ -7192,8 +7219,6 @@ declare module "factorio:runtime" {
7192
7219
  | "circuit-network-connectable"
7193
7220
  }
7194
7221
  /**
7195
- * Depending on the value of `filter`, the table may take additional fields. `filter` may be one of the following:
7196
- *
7197
7222
  * Base attributes: {@link BaseScriptRaisedTeleportedEventFilter}
7198
7223
  *
7199
7224
  * Other attributes may be specified depending on `filter`:
@@ -7201,7 +7226,7 @@ declare module "factorio:runtime" {
7201
7226
  * - `"name"`: {@link NameScriptRaisedTeleportedEventFilter}
7202
7227
  * - `"ghost_type"`: {@link GhostTypeScriptRaisedTeleportedEventFilter}
7203
7228
  * - `"ghost_name"`: {@link GhostNameScriptRaisedTeleportedEventFilter}
7204
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#LuaScriptRaisedTeleportedEventFilter Online documentation}
7229
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#LuaScriptRaisedTeleportedEventFilter Online documentation}
7205
7230
  */
7206
7231
  export type LuaScriptRaisedTeleportedEventFilter =
7207
7232
  | TypeScriptRaisedTeleportedEventFilter
@@ -7214,9 +7239,13 @@ declare module "factorio:runtime" {
7214
7239
  */
7215
7240
  export interface BaseEntityMarkedForUpgradeEventFilter {
7216
7241
  /**
7217
- * The condition to filter on. One of `"ghost"`, `"rail"`, `"rail-signal"`, `"rolling-stock"`, `"robot-with-logistics-interface"`, `"vehicle"`, `"turret"`, `"crafting-machine"`, `"wall-connectable"`, `"transport-belt-connectable"`, `"circuit-network-connectable"`, `"type"`, `"name"`, `"ghost_type"`, `"ghost_name"`.
7242
+ * The condition to filter on.
7218
7243
  */
7219
7244
  readonly filter:
7245
+ | "type"
7246
+ | "name"
7247
+ | "ghost_type"
7248
+ | "ghost_name"
7220
7249
  | "ghost"
7221
7250
  | "rail"
7222
7251
  | "rail-signal"
@@ -7228,10 +7257,6 @@ declare module "factorio:runtime" {
7228
7257
  | "wall-connectable"
7229
7258
  | "transport-belt-connectable"
7230
7259
  | "circuit-network-connectable"
7231
- | "type"
7232
- | "name"
7233
- | "ghost_type"
7234
- | "ghost_name"
7235
7260
  /**
7236
7261
  * How to combine this with the previous filter. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
7237
7262
  */
@@ -7247,7 +7272,7 @@ declare module "factorio:runtime" {
7247
7272
  export interface TypeEntityMarkedForUpgradeEventFilter extends BaseEntityMarkedForUpgradeEventFilter {
7248
7273
  readonly filter: "type"
7249
7274
  /**
7250
- * The prototype type
7275
+ * The prototype type.
7251
7276
  */
7252
7277
  readonly type: EntityType
7253
7278
  }
@@ -7257,7 +7282,7 @@ declare module "factorio:runtime" {
7257
7282
  export interface NameEntityMarkedForUpgradeEventFilter extends BaseEntityMarkedForUpgradeEventFilter {
7258
7283
  readonly filter: "name"
7259
7284
  /**
7260
- * The prototype name
7285
+ * The prototype name.
7261
7286
  */
7262
7287
  readonly name: string
7263
7288
  }
@@ -7267,7 +7292,7 @@ declare module "factorio:runtime" {
7267
7292
  export interface GhostTypeEntityMarkedForUpgradeEventFilter extends BaseEntityMarkedForUpgradeEventFilter {
7268
7293
  readonly filter: "ghost_type"
7269
7294
  /**
7270
- * The ghost prototype type
7295
+ * The ghost prototype type.
7271
7296
  */
7272
7297
  readonly type: EntityType
7273
7298
  }
@@ -7277,7 +7302,7 @@ declare module "factorio:runtime" {
7277
7302
  export interface GhostNameEntityMarkedForUpgradeEventFilter extends BaseEntityMarkedForUpgradeEventFilter {
7278
7303
  readonly filter: "ghost_name"
7279
7304
  /**
7280
- * The ghost prototype name
7305
+ * The ghost prototype name.
7281
7306
  */
7282
7307
  readonly name: string
7283
7308
  }
@@ -7299,8 +7324,6 @@ declare module "factorio:runtime" {
7299
7324
  | "circuit-network-connectable"
7300
7325
  }
7301
7326
  /**
7302
- * Depending on the value of `filter`, the table may take additional fields. `filter` may be one of the following:
7303
- *
7304
7327
  * Base attributes: {@link BaseEntityMarkedForUpgradeEventFilter}
7305
7328
  *
7306
7329
  * Other attributes may be specified depending on `filter`:
@@ -7308,7 +7331,7 @@ declare module "factorio:runtime" {
7308
7331
  * - `"name"`: {@link NameEntityMarkedForUpgradeEventFilter}
7309
7332
  * - `"ghost_type"`: {@link GhostTypeEntityMarkedForUpgradeEventFilter}
7310
7333
  * - `"ghost_name"`: {@link GhostNameEntityMarkedForUpgradeEventFilter}
7311
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#LuaEntityMarkedForUpgradeEventFilter Online documentation}
7334
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#LuaEntityMarkedForUpgradeEventFilter Online documentation}
7312
7335
  */
7313
7336
  export type LuaEntityMarkedForUpgradeEventFilter =
7314
7337
  | TypeEntityMarkedForUpgradeEventFilter
@@ -7321,7 +7344,7 @@ declare module "factorio:runtime" {
7321
7344
  */
7322
7345
  export interface BasePostEntityDiedEventFilter {
7323
7346
  /**
7324
- * The condition to filter on. Can only be `"type"`.
7347
+ * The condition to filter on.
7325
7348
  */
7326
7349
  readonly filter: "type"
7327
7350
  /**
@@ -7339,18 +7362,16 @@ declare module "factorio:runtime" {
7339
7362
  export interface TypePostEntityDiedEventFilter extends BasePostEntityDiedEventFilter {
7340
7363
  readonly filter: "type"
7341
7364
  /**
7342
- * The prototype type
7365
+ * The prototype type.
7343
7366
  */
7344
7367
  readonly type: EntityType
7345
7368
  }
7346
7369
  /**
7347
- * Depending on the value of `filter`, the table may take additional fields. `filter` may be one of the following:
7348
- *
7349
7370
  * Base attributes: {@link BasePostEntityDiedEventFilter}
7350
7371
  *
7351
7372
  * Other attributes may be specified depending on `filter`:
7352
7373
  * - `"type"`: {@link TypePostEntityDiedEventFilter}
7353
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#LuaPostEntityDiedEventFilter Online documentation}
7374
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#LuaPostEntityDiedEventFilter Online documentation}
7354
7375
  */
7355
7376
  export type LuaPostEntityDiedEventFilter = TypePostEntityDiedEventFilter
7356
7377
  /**
@@ -7358,9 +7379,13 @@ declare module "factorio:runtime" {
7358
7379
  */
7359
7380
  export interface BasePreRobotMinedEntityEventFilter {
7360
7381
  /**
7361
- * The condition to filter on. One of `"ghost"`, `"rail"`, `"rail-signal"`, `"rolling-stock"`, `"robot-with-logistics-interface"`, `"vehicle"`, `"turret"`, `"crafting-machine"`, `"wall-connectable"`, `"transport-belt-connectable"`, `"circuit-network-connectable"`, `"type"`, `"name"`, `"ghost_type"`, `"ghost_name"`.
7382
+ * The condition to filter on.
7362
7383
  */
7363
7384
  readonly filter:
7385
+ | "type"
7386
+ | "name"
7387
+ | "ghost_type"
7388
+ | "ghost_name"
7364
7389
  | "ghost"
7365
7390
  | "rail"
7366
7391
  | "rail-signal"
@@ -7372,10 +7397,6 @@ declare module "factorio:runtime" {
7372
7397
  | "wall-connectable"
7373
7398
  | "transport-belt-connectable"
7374
7399
  | "circuit-network-connectable"
7375
- | "type"
7376
- | "name"
7377
- | "ghost_type"
7378
- | "ghost_name"
7379
7400
  /**
7380
7401
  * How to combine this with the previous filter. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
7381
7402
  */
@@ -7391,7 +7412,7 @@ declare module "factorio:runtime" {
7391
7412
  export interface TypePreRobotMinedEntityEventFilter extends BasePreRobotMinedEntityEventFilter {
7392
7413
  readonly filter: "type"
7393
7414
  /**
7394
- * The prototype type
7415
+ * The prototype type.
7395
7416
  */
7396
7417
  readonly type: EntityType
7397
7418
  }
@@ -7401,7 +7422,7 @@ declare module "factorio:runtime" {
7401
7422
  export interface NamePreRobotMinedEntityEventFilter extends BasePreRobotMinedEntityEventFilter {
7402
7423
  readonly filter: "name"
7403
7424
  /**
7404
- * The prototype name
7425
+ * The prototype name.
7405
7426
  */
7406
7427
  readonly name: string
7407
7428
  }
@@ -7411,7 +7432,7 @@ declare module "factorio:runtime" {
7411
7432
  export interface GhostTypePreRobotMinedEntityEventFilter extends BasePreRobotMinedEntityEventFilter {
7412
7433
  readonly filter: "ghost_type"
7413
7434
  /**
7414
- * The ghost prototype type
7435
+ * The ghost prototype type.
7415
7436
  */
7416
7437
  readonly type: EntityType
7417
7438
  }
@@ -7421,7 +7442,7 @@ declare module "factorio:runtime" {
7421
7442
  export interface GhostNamePreRobotMinedEntityEventFilter extends BasePreRobotMinedEntityEventFilter {
7422
7443
  readonly filter: "ghost_name"
7423
7444
  /**
7424
- * The ghost prototype name
7445
+ * The ghost prototype name.
7425
7446
  */
7426
7447
  readonly name: string
7427
7448
  }
@@ -7443,8 +7464,6 @@ declare module "factorio:runtime" {
7443
7464
  | "circuit-network-connectable"
7444
7465
  }
7445
7466
  /**
7446
- * Depending on the value of `filter`, the table may take additional fields. `filter` may be one of the following:
7447
- *
7448
7467
  * Base attributes: {@link BasePreRobotMinedEntityEventFilter}
7449
7468
  *
7450
7469
  * Other attributes may be specified depending on `filter`:
@@ -7452,7 +7471,7 @@ declare module "factorio:runtime" {
7452
7471
  * - `"name"`: {@link NamePreRobotMinedEntityEventFilter}
7453
7472
  * - `"ghost_type"`: {@link GhostTypePreRobotMinedEntityEventFilter}
7454
7473
  * - `"ghost_name"`: {@link GhostNamePreRobotMinedEntityEventFilter}
7455
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#LuaPreRobotMinedEntityEventFilter Online documentation}
7474
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#LuaPreRobotMinedEntityEventFilter Online documentation}
7456
7475
  */
7457
7476
  export type LuaPreRobotMinedEntityEventFilter =
7458
7477
  | TypePreRobotMinedEntityEventFilter
@@ -7465,9 +7484,13 @@ declare module "factorio:runtime" {
7465
7484
  */
7466
7485
  export interface BaseEntityClonedEventFilter {
7467
7486
  /**
7468
- * The condition to filter on. One of `"ghost"`, `"rail"`, `"rail-signal"`, `"rolling-stock"`, `"robot-with-logistics-interface"`, `"vehicle"`, `"turret"`, `"crafting-machine"`, `"wall-connectable"`, `"transport-belt-connectable"`, `"circuit-network-connectable"`, `"type"`, `"name"`, `"ghost_type"`, `"ghost_name"`.
7487
+ * The condition to filter on.
7469
7488
  */
7470
7489
  readonly filter:
7490
+ | "type"
7491
+ | "name"
7492
+ | "ghost_type"
7493
+ | "ghost_name"
7471
7494
  | "ghost"
7472
7495
  | "rail"
7473
7496
  | "rail-signal"
@@ -7479,10 +7502,6 @@ declare module "factorio:runtime" {
7479
7502
  | "wall-connectable"
7480
7503
  | "transport-belt-connectable"
7481
7504
  | "circuit-network-connectable"
7482
- | "type"
7483
- | "name"
7484
- | "ghost_type"
7485
- | "ghost_name"
7486
7505
  /**
7487
7506
  * How to combine this with the previous filter. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
7488
7507
  */
@@ -7498,7 +7517,7 @@ declare module "factorio:runtime" {
7498
7517
  export interface TypeEntityClonedEventFilter extends BaseEntityClonedEventFilter {
7499
7518
  readonly filter: "type"
7500
7519
  /**
7501
- * The prototype type
7520
+ * The prototype type.
7502
7521
  */
7503
7522
  readonly type: EntityType
7504
7523
  }
@@ -7508,7 +7527,7 @@ declare module "factorio:runtime" {
7508
7527
  export interface NameEntityClonedEventFilter extends BaseEntityClonedEventFilter {
7509
7528
  readonly filter: "name"
7510
7529
  /**
7511
- * The prototype name
7530
+ * The prototype name.
7512
7531
  */
7513
7532
  readonly name: string
7514
7533
  }
@@ -7518,7 +7537,7 @@ declare module "factorio:runtime" {
7518
7537
  export interface GhostTypeEntityClonedEventFilter extends BaseEntityClonedEventFilter {
7519
7538
  readonly filter: "ghost_type"
7520
7539
  /**
7521
- * The ghost prototype type
7540
+ * The ghost prototype type.
7522
7541
  */
7523
7542
  readonly type: EntityType
7524
7543
  }
@@ -7528,7 +7547,7 @@ declare module "factorio:runtime" {
7528
7547
  export interface GhostNameEntityClonedEventFilter extends BaseEntityClonedEventFilter {
7529
7548
  readonly filter: "ghost_name"
7530
7549
  /**
7531
- * The ghost prototype name
7550
+ * The ghost prototype name.
7532
7551
  */
7533
7552
  readonly name: string
7534
7553
  }
@@ -7550,8 +7569,6 @@ declare module "factorio:runtime" {
7550
7569
  | "circuit-network-connectable"
7551
7570
  }
7552
7571
  /**
7553
- * Depending on the value of `filter`, the table may take additional fields. `filter` may be one of the following:
7554
- *
7555
7572
  * Base attributes: {@link BaseEntityClonedEventFilter}
7556
7573
  *
7557
7574
  * Other attributes may be specified depending on `filter`:
@@ -7559,7 +7576,7 @@ declare module "factorio:runtime" {
7559
7576
  * - `"name"`: {@link NameEntityClonedEventFilter}
7560
7577
  * - `"ghost_type"`: {@link GhostTypeEntityClonedEventFilter}
7561
7578
  * - `"ghost_name"`: {@link GhostNameEntityClonedEventFilter}
7562
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#LuaEntityClonedEventFilter Online documentation}
7579
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#LuaEntityClonedEventFilter Online documentation}
7563
7580
  */
7564
7581
  export type LuaEntityClonedEventFilter =
7565
7582
  | TypeEntityClonedEventFilter
@@ -7572,9 +7589,13 @@ declare module "factorio:runtime" {
7572
7589
  */
7573
7590
  export interface BaseScriptRaisedBuiltEventFilter {
7574
7591
  /**
7575
- * The condition to filter on. One of `"ghost"`, `"rail"`, `"rail-signal"`, `"rolling-stock"`, `"robot-with-logistics-interface"`, `"vehicle"`, `"turret"`, `"crafting-machine"`, `"wall-connectable"`, `"transport-belt-connectable"`, `"circuit-network-connectable"`, `"type"`, `"name"`, `"ghost_type"`, `"ghost_name"`.
7592
+ * The condition to filter on.
7576
7593
  */
7577
7594
  readonly filter:
7595
+ | "type"
7596
+ | "name"
7597
+ | "ghost_type"
7598
+ | "ghost_name"
7578
7599
  | "ghost"
7579
7600
  | "rail"
7580
7601
  | "rail-signal"
@@ -7586,10 +7607,6 @@ declare module "factorio:runtime" {
7586
7607
  | "wall-connectable"
7587
7608
  | "transport-belt-connectable"
7588
7609
  | "circuit-network-connectable"
7589
- | "type"
7590
- | "name"
7591
- | "ghost_type"
7592
- | "ghost_name"
7593
7610
  /**
7594
7611
  * How to combine this with the previous filter. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
7595
7612
  */
@@ -7605,7 +7622,7 @@ declare module "factorio:runtime" {
7605
7622
  export interface TypeScriptRaisedBuiltEventFilter extends BaseScriptRaisedBuiltEventFilter {
7606
7623
  readonly filter: "type"
7607
7624
  /**
7608
- * The prototype type
7625
+ * The prototype type.
7609
7626
  */
7610
7627
  readonly type: EntityType
7611
7628
  }
@@ -7615,7 +7632,7 @@ declare module "factorio:runtime" {
7615
7632
  export interface NameScriptRaisedBuiltEventFilter extends BaseScriptRaisedBuiltEventFilter {
7616
7633
  readonly filter: "name"
7617
7634
  /**
7618
- * The prototype name
7635
+ * The prototype name.
7619
7636
  */
7620
7637
  readonly name: string
7621
7638
  }
@@ -7625,7 +7642,7 @@ declare module "factorio:runtime" {
7625
7642
  export interface GhostTypeScriptRaisedBuiltEventFilter extends BaseScriptRaisedBuiltEventFilter {
7626
7643
  readonly filter: "ghost_type"
7627
7644
  /**
7628
- * The ghost prototype type
7645
+ * The ghost prototype type.
7629
7646
  */
7630
7647
  readonly type: EntityType
7631
7648
  }
@@ -7635,7 +7652,7 @@ declare module "factorio:runtime" {
7635
7652
  export interface GhostNameScriptRaisedBuiltEventFilter extends BaseScriptRaisedBuiltEventFilter {
7636
7653
  readonly filter: "ghost_name"
7637
7654
  /**
7638
- * The ghost prototype name
7655
+ * The ghost prototype name.
7639
7656
  */
7640
7657
  readonly name: string
7641
7658
  }
@@ -7657,8 +7674,6 @@ declare module "factorio:runtime" {
7657
7674
  | "circuit-network-connectable"
7658
7675
  }
7659
7676
  /**
7660
- * Depending on the value of `filter`, the table may take additional fields. `filter` may be one of the following:
7661
- *
7662
7677
  * Base attributes: {@link BaseScriptRaisedBuiltEventFilter}
7663
7678
  *
7664
7679
  * Other attributes may be specified depending on `filter`:
@@ -7666,7 +7681,7 @@ declare module "factorio:runtime" {
7666
7681
  * - `"name"`: {@link NameScriptRaisedBuiltEventFilter}
7667
7682
  * - `"ghost_type"`: {@link GhostTypeScriptRaisedBuiltEventFilter}
7668
7683
  * - `"ghost_name"`: {@link GhostNameScriptRaisedBuiltEventFilter}
7669
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#LuaScriptRaisedBuiltEventFilter Online documentation}
7684
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#LuaScriptRaisedBuiltEventFilter Online documentation}
7670
7685
  */
7671
7686
  export type LuaScriptRaisedBuiltEventFilter =
7672
7687
  | TypeScriptRaisedBuiltEventFilter
@@ -7679,9 +7694,13 @@ declare module "factorio:runtime" {
7679
7694
  */
7680
7695
  export interface BaseRobotMinedEntityEventFilter {
7681
7696
  /**
7682
- * The condition to filter on. One of `"ghost"`, `"rail"`, `"rail-signal"`, `"rolling-stock"`, `"robot-with-logistics-interface"`, `"vehicle"`, `"turret"`, `"crafting-machine"`, `"wall-connectable"`, `"transport-belt-connectable"`, `"circuit-network-connectable"`, `"type"`, `"name"`, `"ghost_type"`, `"ghost_name"`.
7697
+ * The condition to filter on.
7683
7698
  */
7684
7699
  readonly filter:
7700
+ | "type"
7701
+ | "name"
7702
+ | "ghost_type"
7703
+ | "ghost_name"
7685
7704
  | "ghost"
7686
7705
  | "rail"
7687
7706
  | "rail-signal"
@@ -7693,10 +7712,6 @@ declare module "factorio:runtime" {
7693
7712
  | "wall-connectable"
7694
7713
  | "transport-belt-connectable"
7695
7714
  | "circuit-network-connectable"
7696
- | "type"
7697
- | "name"
7698
- | "ghost_type"
7699
- | "ghost_name"
7700
7715
  /**
7701
7716
  * How to combine this with the previous filter. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
7702
7717
  */
@@ -7712,7 +7727,7 @@ declare module "factorio:runtime" {
7712
7727
  export interface TypeRobotMinedEntityEventFilter extends BaseRobotMinedEntityEventFilter {
7713
7728
  readonly filter: "type"
7714
7729
  /**
7715
- * The prototype type
7730
+ * The prototype type.
7716
7731
  */
7717
7732
  readonly type: EntityType
7718
7733
  }
@@ -7722,7 +7737,7 @@ declare module "factorio:runtime" {
7722
7737
  export interface NameRobotMinedEntityEventFilter extends BaseRobotMinedEntityEventFilter {
7723
7738
  readonly filter: "name"
7724
7739
  /**
7725
- * The prototype name
7740
+ * The prototype name.
7726
7741
  */
7727
7742
  readonly name: string
7728
7743
  }
@@ -7732,7 +7747,7 @@ declare module "factorio:runtime" {
7732
7747
  export interface GhostTypeRobotMinedEntityEventFilter extends BaseRobotMinedEntityEventFilter {
7733
7748
  readonly filter: "ghost_type"
7734
7749
  /**
7735
- * The ghost prototype type
7750
+ * The ghost prototype type.
7736
7751
  */
7737
7752
  readonly type: EntityType
7738
7753
  }
@@ -7742,7 +7757,7 @@ declare module "factorio:runtime" {
7742
7757
  export interface GhostNameRobotMinedEntityEventFilter extends BaseRobotMinedEntityEventFilter {
7743
7758
  readonly filter: "ghost_name"
7744
7759
  /**
7745
- * The ghost prototype name
7760
+ * The ghost prototype name.
7746
7761
  */
7747
7762
  readonly name: string
7748
7763
  }
@@ -7764,8 +7779,6 @@ declare module "factorio:runtime" {
7764
7779
  | "circuit-network-connectable"
7765
7780
  }
7766
7781
  /**
7767
- * Depending on the value of `filter`, the table may take additional fields. `filter` may be one of the following:
7768
- *
7769
7782
  * Base attributes: {@link BaseRobotMinedEntityEventFilter}
7770
7783
  *
7771
7784
  * Other attributes may be specified depending on `filter`:
@@ -7773,7 +7786,7 @@ declare module "factorio:runtime" {
7773
7786
  * - `"name"`: {@link NameRobotMinedEntityEventFilter}
7774
7787
  * - `"ghost_type"`: {@link GhostTypeRobotMinedEntityEventFilter}
7775
7788
  * - `"ghost_name"`: {@link GhostNameRobotMinedEntityEventFilter}
7776
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#LuaRobotMinedEntityEventFilter Online documentation}
7789
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#LuaRobotMinedEntityEventFilter Online documentation}
7777
7790
  */
7778
7791
  export type LuaRobotMinedEntityEventFilter =
7779
7792
  | TypeRobotMinedEntityEventFilter
@@ -7786,9 +7799,13 @@ declare module "factorio:runtime" {
7786
7799
  */
7787
7800
  export interface BasePrePlayerMinedEntityEventFilter {
7788
7801
  /**
7789
- * The condition to filter on. One of `"ghost"`, `"rail"`, `"rail-signal"`, `"rolling-stock"`, `"robot-with-logistics-interface"`, `"vehicle"`, `"turret"`, `"crafting-machine"`, `"wall-connectable"`, `"transport-belt-connectable"`, `"circuit-network-connectable"`, `"type"`, `"name"`, `"ghost_type"`, `"ghost_name"`.
7802
+ * The condition to filter on.
7790
7803
  */
7791
7804
  readonly filter:
7805
+ | "type"
7806
+ | "name"
7807
+ | "ghost_type"
7808
+ | "ghost_name"
7792
7809
  | "ghost"
7793
7810
  | "rail"
7794
7811
  | "rail-signal"
@@ -7800,10 +7817,6 @@ declare module "factorio:runtime" {
7800
7817
  | "wall-connectable"
7801
7818
  | "transport-belt-connectable"
7802
7819
  | "circuit-network-connectable"
7803
- | "type"
7804
- | "name"
7805
- | "ghost_type"
7806
- | "ghost_name"
7807
7820
  /**
7808
7821
  * How to combine this with the previous filter. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
7809
7822
  */
@@ -7819,7 +7832,7 @@ declare module "factorio:runtime" {
7819
7832
  export interface TypePrePlayerMinedEntityEventFilter extends BasePrePlayerMinedEntityEventFilter {
7820
7833
  readonly filter: "type"
7821
7834
  /**
7822
- * The prototype type
7835
+ * The prototype type.
7823
7836
  */
7824
7837
  readonly type: EntityType
7825
7838
  }
@@ -7829,7 +7842,7 @@ declare module "factorio:runtime" {
7829
7842
  export interface NamePrePlayerMinedEntityEventFilter extends BasePrePlayerMinedEntityEventFilter {
7830
7843
  readonly filter: "name"
7831
7844
  /**
7832
- * The prototype name
7845
+ * The prototype name.
7833
7846
  */
7834
7847
  readonly name: string
7835
7848
  }
@@ -7839,7 +7852,7 @@ declare module "factorio:runtime" {
7839
7852
  export interface GhostTypePrePlayerMinedEntityEventFilter extends BasePrePlayerMinedEntityEventFilter {
7840
7853
  readonly filter: "ghost_type"
7841
7854
  /**
7842
- * The ghost prototype type
7855
+ * The ghost prototype type.
7843
7856
  */
7844
7857
  readonly type: EntityType
7845
7858
  }
@@ -7849,7 +7862,7 @@ declare module "factorio:runtime" {
7849
7862
  export interface GhostNamePrePlayerMinedEntityEventFilter extends BasePrePlayerMinedEntityEventFilter {
7850
7863
  readonly filter: "ghost_name"
7851
7864
  /**
7852
- * The ghost prototype name
7865
+ * The ghost prototype name.
7853
7866
  */
7854
7867
  readonly name: string
7855
7868
  }
@@ -7871,8 +7884,6 @@ declare module "factorio:runtime" {
7871
7884
  | "circuit-network-connectable"
7872
7885
  }
7873
7886
  /**
7874
- * Depending on the value of `filter`, the table may take additional fields. `filter` may be one of the following:
7875
- *
7876
7887
  * Base attributes: {@link BasePrePlayerMinedEntityEventFilter}
7877
7888
  *
7878
7889
  * Other attributes may be specified depending on `filter`:
@@ -7880,7 +7891,7 @@ declare module "factorio:runtime" {
7880
7891
  * - `"name"`: {@link NamePrePlayerMinedEntityEventFilter}
7881
7892
  * - `"ghost_type"`: {@link GhostTypePrePlayerMinedEntityEventFilter}
7882
7893
  * - `"ghost_name"`: {@link GhostNamePrePlayerMinedEntityEventFilter}
7883
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#LuaPrePlayerMinedEntityEventFilter Online documentation}
7894
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#LuaPrePlayerMinedEntityEventFilter Online documentation}
7884
7895
  */
7885
7896
  export type LuaPrePlayerMinedEntityEventFilter =
7886
7897
  | TypePrePlayerMinedEntityEventFilter
@@ -7893,9 +7904,13 @@ declare module "factorio:runtime" {
7893
7904
  */
7894
7905
  export interface BaseRobotBuiltEntityEventFilter {
7895
7906
  /**
7896
- * The condition to filter on. One of `"ghost"`, `"rail"`, `"rail-signal"`, `"rolling-stock"`, `"robot-with-logistics-interface"`, `"vehicle"`, `"turret"`, `"crafting-machine"`, `"wall-connectable"`, `"transport-belt-connectable"`, `"circuit-network-connectable"`, `"type"`, `"name"`, `"ghost_type"`, `"ghost_name"`, `"force"`.
7907
+ * The condition to filter on.
7897
7908
  */
7898
7909
  readonly filter:
7910
+ | "type"
7911
+ | "name"
7912
+ | "ghost_type"
7913
+ | "ghost_name"
7899
7914
  | "ghost"
7900
7915
  | "rail"
7901
7916
  | "rail-signal"
@@ -7907,10 +7922,6 @@ declare module "factorio:runtime" {
7907
7922
  | "wall-connectable"
7908
7923
  | "transport-belt-connectable"
7909
7924
  | "circuit-network-connectable"
7910
- | "type"
7911
- | "name"
7912
- | "ghost_type"
7913
- | "ghost_name"
7914
7925
  | "force"
7915
7926
  /**
7916
7927
  * How to combine this with the previous filter. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
@@ -7927,7 +7938,7 @@ declare module "factorio:runtime" {
7927
7938
  export interface TypeRobotBuiltEntityEventFilter extends BaseRobotBuiltEntityEventFilter {
7928
7939
  readonly filter: "type"
7929
7940
  /**
7930
- * The prototype type
7941
+ * The prototype type.
7931
7942
  */
7932
7943
  readonly type: EntityType
7933
7944
  }
@@ -7937,7 +7948,7 @@ declare module "factorio:runtime" {
7937
7948
  export interface NameRobotBuiltEntityEventFilter extends BaseRobotBuiltEntityEventFilter {
7938
7949
  readonly filter: "name"
7939
7950
  /**
7940
- * The prototype name
7951
+ * The prototype name.
7941
7952
  */
7942
7953
  readonly name: string
7943
7954
  }
@@ -7947,7 +7958,7 @@ declare module "factorio:runtime" {
7947
7958
  export interface GhostTypeRobotBuiltEntityEventFilter extends BaseRobotBuiltEntityEventFilter {
7948
7959
  readonly filter: "ghost_type"
7949
7960
  /**
7950
- * The ghost prototype type
7961
+ * The ghost prototype type.
7951
7962
  */
7952
7963
  readonly type: EntityType
7953
7964
  }
@@ -7957,7 +7968,7 @@ declare module "factorio:runtime" {
7957
7968
  export interface GhostNameRobotBuiltEntityEventFilter extends BaseRobotBuiltEntityEventFilter {
7958
7969
  readonly filter: "ghost_name"
7959
7970
  /**
7960
- * The ghost prototype name
7971
+ * The ghost prototype name.
7961
7972
  */
7962
7973
  readonly name: string
7963
7974
  }
@@ -7989,8 +8000,6 @@ declare module "factorio:runtime" {
7989
8000
  | "circuit-network-connectable"
7990
8001
  }
7991
8002
  /**
7992
- * Depending on the value of `filter`, the table may take additional fields. `filter` may be one of the following:
7993
- *
7994
8003
  * Base attributes: {@link BaseRobotBuiltEntityEventFilter}
7995
8004
  *
7996
8005
  * Other attributes may be specified depending on `filter`:
@@ -7999,7 +8008,7 @@ declare module "factorio:runtime" {
7999
8008
  * - `"ghost_type"`: {@link GhostTypeRobotBuiltEntityEventFilter}
8000
8009
  * - `"ghost_name"`: {@link GhostNameRobotBuiltEntityEventFilter}
8001
8010
  * - `"force"`: {@link ForceRobotBuiltEntityEventFilter}
8002
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#LuaRobotBuiltEntityEventFilter Online documentation}
8011
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#LuaRobotBuiltEntityEventFilter Online documentation}
8003
8012
  */
8004
8013
  export type LuaRobotBuiltEntityEventFilter =
8005
8014
  | TypeRobotBuiltEntityEventFilter
@@ -8013,9 +8022,13 @@ declare module "factorio:runtime" {
8013
8022
  */
8014
8023
  export interface BasePreGhostUpgradedEventFilter {
8015
8024
  /**
8016
- * The condition to filter on. One of `"ghost"`, `"rail"`, `"rail-signal"`, `"rolling-stock"`, `"robot-with-logistics-interface"`, `"vehicle"`, `"turret"`, `"crafting-machine"`, `"wall-connectable"`, `"transport-belt-connectable"`, `"circuit-network-connectable"`, `"type"`, `"name"`, `"ghost_type"`, `"ghost_name"`.
8025
+ * The condition to filter on.
8017
8026
  */
8018
8027
  readonly filter:
8028
+ | "type"
8029
+ | "name"
8030
+ | "ghost_type"
8031
+ | "ghost_name"
8019
8032
  | "ghost"
8020
8033
  | "rail"
8021
8034
  | "rail-signal"
@@ -8027,10 +8040,6 @@ declare module "factorio:runtime" {
8027
8040
  | "wall-connectable"
8028
8041
  | "transport-belt-connectable"
8029
8042
  | "circuit-network-connectable"
8030
- | "type"
8031
- | "name"
8032
- | "ghost_type"
8033
- | "ghost_name"
8034
8043
  /**
8035
8044
  * How to combine this with the previous filter. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
8036
8045
  */
@@ -8046,7 +8055,7 @@ declare module "factorio:runtime" {
8046
8055
  export interface TypePreGhostUpgradedEventFilter extends BasePreGhostUpgradedEventFilter {
8047
8056
  readonly filter: "type"
8048
8057
  /**
8049
- * The prototype type
8058
+ * The prototype type.
8050
8059
  */
8051
8060
  readonly type: EntityType
8052
8061
  }
@@ -8056,7 +8065,7 @@ declare module "factorio:runtime" {
8056
8065
  export interface NamePreGhostUpgradedEventFilter extends BasePreGhostUpgradedEventFilter {
8057
8066
  readonly filter: "name"
8058
8067
  /**
8059
- * The prototype name
8068
+ * The prototype name.
8060
8069
  */
8061
8070
  readonly name: string
8062
8071
  }
@@ -8066,7 +8075,7 @@ declare module "factorio:runtime" {
8066
8075
  export interface GhostTypePreGhostUpgradedEventFilter extends BasePreGhostUpgradedEventFilter {
8067
8076
  readonly filter: "ghost_type"
8068
8077
  /**
8069
- * The ghost prototype type
8078
+ * The ghost prototype type.
8070
8079
  */
8071
8080
  readonly type: EntityType
8072
8081
  }
@@ -8076,7 +8085,7 @@ declare module "factorio:runtime" {
8076
8085
  export interface GhostNamePreGhostUpgradedEventFilter extends BasePreGhostUpgradedEventFilter {
8077
8086
  readonly filter: "ghost_name"
8078
8087
  /**
8079
- * The ghost prototype name
8088
+ * The ghost prototype name.
8080
8089
  */
8081
8090
  readonly name: string
8082
8091
  }
@@ -8098,8 +8107,6 @@ declare module "factorio:runtime" {
8098
8107
  | "circuit-network-connectable"
8099
8108
  }
8100
8109
  /**
8101
- * Depending on the value of `filter`, the table may take additional fields. `filter` may be one of the following:
8102
- *
8103
8110
  * Base attributes: {@link BasePreGhostUpgradedEventFilter}
8104
8111
  *
8105
8112
  * Other attributes may be specified depending on `filter`:
@@ -8107,7 +8114,7 @@ declare module "factorio:runtime" {
8107
8114
  * - `"name"`: {@link NamePreGhostUpgradedEventFilter}
8108
8115
  * - `"ghost_type"`: {@link GhostTypePreGhostUpgradedEventFilter}
8109
8116
  * - `"ghost_name"`: {@link GhostNamePreGhostUpgradedEventFilter}
8110
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#LuaPreGhostUpgradedEventFilter Online documentation}
8117
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#LuaPreGhostUpgradedEventFilter Online documentation}
8111
8118
  */
8112
8119
  export type LuaPreGhostUpgradedEventFilter =
8113
8120
  | TypePreGhostUpgradedEventFilter
@@ -8120,9 +8127,13 @@ declare module "factorio:runtime" {
8120
8127
  */
8121
8128
  export interface BaseEntityDeconstructionCancelledEventFilter {
8122
8129
  /**
8123
- * The condition to filter on. One of `"ghost"`, `"rail"`, `"rail-signal"`, `"rolling-stock"`, `"robot-with-logistics-interface"`, `"vehicle"`, `"turret"`, `"crafting-machine"`, `"wall-connectable"`, `"transport-belt-connectable"`, `"circuit-network-connectable"`, `"type"`, `"name"`, `"ghost_type"`, `"ghost_name"`.
8130
+ * The condition to filter on.
8124
8131
  */
8125
8132
  readonly filter:
8133
+ | "type"
8134
+ | "name"
8135
+ | "ghost_type"
8136
+ | "ghost_name"
8126
8137
  | "ghost"
8127
8138
  | "rail"
8128
8139
  | "rail-signal"
@@ -8134,10 +8145,6 @@ declare module "factorio:runtime" {
8134
8145
  | "wall-connectable"
8135
8146
  | "transport-belt-connectable"
8136
8147
  | "circuit-network-connectable"
8137
- | "type"
8138
- | "name"
8139
- | "ghost_type"
8140
- | "ghost_name"
8141
8148
  /**
8142
8149
  * How to combine this with the previous filter. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
8143
8150
  */
@@ -8153,7 +8160,7 @@ declare module "factorio:runtime" {
8153
8160
  export interface TypeEntityDeconstructionCancelledEventFilter extends BaseEntityDeconstructionCancelledEventFilter {
8154
8161
  readonly filter: "type"
8155
8162
  /**
8156
- * The prototype type
8163
+ * The prototype type.
8157
8164
  */
8158
8165
  readonly type: EntityType
8159
8166
  }
@@ -8163,7 +8170,7 @@ declare module "factorio:runtime" {
8163
8170
  export interface NameEntityDeconstructionCancelledEventFilter extends BaseEntityDeconstructionCancelledEventFilter {
8164
8171
  readonly filter: "name"
8165
8172
  /**
8166
- * The prototype name
8173
+ * The prototype name.
8167
8174
  */
8168
8175
  readonly name: string
8169
8176
  }
@@ -8174,7 +8181,7 @@ declare module "factorio:runtime" {
8174
8181
  extends BaseEntityDeconstructionCancelledEventFilter {
8175
8182
  readonly filter: "ghost_type"
8176
8183
  /**
8177
- * The ghost prototype type
8184
+ * The ghost prototype type.
8178
8185
  */
8179
8186
  readonly type: EntityType
8180
8187
  }
@@ -8185,7 +8192,7 @@ declare module "factorio:runtime" {
8185
8192
  extends BaseEntityDeconstructionCancelledEventFilter {
8186
8193
  readonly filter: "ghost_name"
8187
8194
  /**
8188
- * The ghost prototype name
8195
+ * The ghost prototype name.
8189
8196
  */
8190
8197
  readonly name: string
8191
8198
  }
@@ -8207,8 +8214,6 @@ declare module "factorio:runtime" {
8207
8214
  | "circuit-network-connectable"
8208
8215
  }
8209
8216
  /**
8210
- * Depending on the value of `filter`, the table may take additional fields. `filter` may be one of the following:
8211
- *
8212
8217
  * Base attributes: {@link BaseEntityDeconstructionCancelledEventFilter}
8213
8218
  *
8214
8219
  * Other attributes may be specified depending on `filter`:
@@ -8216,7 +8221,7 @@ declare module "factorio:runtime" {
8216
8221
  * - `"name"`: {@link NameEntityDeconstructionCancelledEventFilter}
8217
8222
  * - `"ghost_type"`: {@link GhostTypeEntityDeconstructionCancelledEventFilter}
8218
8223
  * - `"ghost_name"`: {@link GhostNameEntityDeconstructionCancelledEventFilter}
8219
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#LuaEntityDeconstructionCancelledEventFilter Online documentation}
8224
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#LuaEntityDeconstructionCancelledEventFilter Online documentation}
8220
8225
  */
8221
8226
  export type LuaEntityDeconstructionCancelledEventFilter =
8222
8227
  | TypeEntityDeconstructionCancelledEventFilter
@@ -8229,9 +8234,13 @@ declare module "factorio:runtime" {
8229
8234
  */
8230
8235
  export interface BasePlayerBuiltEntityEventFilter {
8231
8236
  /**
8232
- * The condition to filter on. One of `"ghost"`, `"rail"`, `"rail-signal"`, `"rolling-stock"`, `"robot-with-logistics-interface"`, `"vehicle"`, `"turret"`, `"crafting-machine"`, `"wall-connectable"`, `"transport-belt-connectable"`, `"circuit-network-connectable"`, `"type"`, `"name"`, `"ghost_type"`, `"ghost_name"`, `"force"`.
8237
+ * The condition to filter on.
8233
8238
  */
8234
8239
  readonly filter:
8240
+ | "type"
8241
+ | "name"
8242
+ | "ghost_type"
8243
+ | "ghost_name"
8235
8244
  | "ghost"
8236
8245
  | "rail"
8237
8246
  | "rail-signal"
@@ -8243,10 +8252,6 @@ declare module "factorio:runtime" {
8243
8252
  | "wall-connectable"
8244
8253
  | "transport-belt-connectable"
8245
8254
  | "circuit-network-connectable"
8246
- | "type"
8247
- | "name"
8248
- | "ghost_type"
8249
- | "ghost_name"
8250
8255
  | "force"
8251
8256
  /**
8252
8257
  * How to combine this with the previous filter. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
@@ -8263,7 +8268,7 @@ declare module "factorio:runtime" {
8263
8268
  export interface TypePlayerBuiltEntityEventFilter extends BasePlayerBuiltEntityEventFilter {
8264
8269
  readonly filter: "type"
8265
8270
  /**
8266
- * The prototype type
8271
+ * The prototype type.
8267
8272
  */
8268
8273
  readonly type: EntityType
8269
8274
  }
@@ -8273,7 +8278,7 @@ declare module "factorio:runtime" {
8273
8278
  export interface NamePlayerBuiltEntityEventFilter extends BasePlayerBuiltEntityEventFilter {
8274
8279
  readonly filter: "name"
8275
8280
  /**
8276
- * The prototype name
8281
+ * The prototype name.
8277
8282
  */
8278
8283
  readonly name: string
8279
8284
  }
@@ -8283,7 +8288,7 @@ declare module "factorio:runtime" {
8283
8288
  export interface GhostTypePlayerBuiltEntityEventFilter extends BasePlayerBuiltEntityEventFilter {
8284
8289
  readonly filter: "ghost_type"
8285
8290
  /**
8286
- * The ghost prototype type
8291
+ * The ghost prototype type.
8287
8292
  */
8288
8293
  readonly type: EntityType
8289
8294
  }
@@ -8293,7 +8298,7 @@ declare module "factorio:runtime" {
8293
8298
  export interface GhostNamePlayerBuiltEntityEventFilter extends BasePlayerBuiltEntityEventFilter {
8294
8299
  readonly filter: "ghost_name"
8295
8300
  /**
8296
- * The ghost prototype name
8301
+ * The ghost prototype name.
8297
8302
  */
8298
8303
  readonly name: string
8299
8304
  }
@@ -8325,8 +8330,6 @@ declare module "factorio:runtime" {
8325
8330
  | "circuit-network-connectable"
8326
8331
  }
8327
8332
  /**
8328
- * Depending on the value of `filter`, the table may take additional fields. `filter` may be one of the following:
8329
- *
8330
8333
  * Base attributes: {@link BasePlayerBuiltEntityEventFilter}
8331
8334
  *
8332
8335
  * Other attributes may be specified depending on `filter`:
@@ -8335,7 +8338,7 @@ declare module "factorio:runtime" {
8335
8338
  * - `"ghost_type"`: {@link GhostTypePlayerBuiltEntityEventFilter}
8336
8339
  * - `"ghost_name"`: {@link GhostNamePlayerBuiltEntityEventFilter}
8337
8340
  * - `"force"`: {@link ForcePlayerBuiltEntityEventFilter}
8338
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#LuaPlayerBuiltEntityEventFilter Online documentation}
8341
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#LuaPlayerBuiltEntityEventFilter Online documentation}
8339
8342
  */
8340
8343
  export type LuaPlayerBuiltEntityEventFilter =
8341
8344
  | TypePlayerBuiltEntityEventFilter
@@ -8349,9 +8352,13 @@ declare module "factorio:runtime" {
8349
8352
  */
8350
8353
  export interface BasePlayerMinedEntityEventFilter {
8351
8354
  /**
8352
- * The condition to filter on. One of `"ghost"`, `"rail"`, `"rail-signal"`, `"rolling-stock"`, `"robot-with-logistics-interface"`, `"vehicle"`, `"turret"`, `"crafting-machine"`, `"wall-connectable"`, `"transport-belt-connectable"`, `"circuit-network-connectable"`, `"type"`, `"name"`, `"ghost_type"`, `"ghost_name"`.
8355
+ * The condition to filter on.
8353
8356
  */
8354
8357
  readonly filter:
8358
+ | "type"
8359
+ | "name"
8360
+ | "ghost_type"
8361
+ | "ghost_name"
8355
8362
  | "ghost"
8356
8363
  | "rail"
8357
8364
  | "rail-signal"
@@ -8363,10 +8370,6 @@ declare module "factorio:runtime" {
8363
8370
  | "wall-connectable"
8364
8371
  | "transport-belt-connectable"
8365
8372
  | "circuit-network-connectable"
8366
- | "type"
8367
- | "name"
8368
- | "ghost_type"
8369
- | "ghost_name"
8370
8373
  /**
8371
8374
  * How to combine this with the previous filter. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
8372
8375
  */
@@ -8382,7 +8385,7 @@ declare module "factorio:runtime" {
8382
8385
  export interface TypePlayerMinedEntityEventFilter extends BasePlayerMinedEntityEventFilter {
8383
8386
  readonly filter: "type"
8384
8387
  /**
8385
- * The prototype type
8388
+ * The prototype type.
8386
8389
  */
8387
8390
  readonly type: EntityType
8388
8391
  }
@@ -8392,7 +8395,7 @@ declare module "factorio:runtime" {
8392
8395
  export interface NamePlayerMinedEntityEventFilter extends BasePlayerMinedEntityEventFilter {
8393
8396
  readonly filter: "name"
8394
8397
  /**
8395
- * The prototype name
8398
+ * The prototype name.
8396
8399
  */
8397
8400
  readonly name: string
8398
8401
  }
@@ -8402,7 +8405,7 @@ declare module "factorio:runtime" {
8402
8405
  export interface GhostTypePlayerMinedEntityEventFilter extends BasePlayerMinedEntityEventFilter {
8403
8406
  readonly filter: "ghost_type"
8404
8407
  /**
8405
- * The ghost prototype type
8408
+ * The ghost prototype type.
8406
8409
  */
8407
8410
  readonly type: EntityType
8408
8411
  }
@@ -8412,7 +8415,7 @@ declare module "factorio:runtime" {
8412
8415
  export interface GhostNamePlayerMinedEntityEventFilter extends BasePlayerMinedEntityEventFilter {
8413
8416
  readonly filter: "ghost_name"
8414
8417
  /**
8415
- * The ghost prototype name
8418
+ * The ghost prototype name.
8416
8419
  */
8417
8420
  readonly name: string
8418
8421
  }
@@ -8434,8 +8437,6 @@ declare module "factorio:runtime" {
8434
8437
  | "circuit-network-connectable"
8435
8438
  }
8436
8439
  /**
8437
- * Depending on the value of `filter`, the table may take additional fields. `filter` may be one of the following:
8438
- *
8439
8440
  * Base attributes: {@link BasePlayerMinedEntityEventFilter}
8440
8441
  *
8441
8442
  * Other attributes may be specified depending on `filter`:
@@ -8443,7 +8444,7 @@ declare module "factorio:runtime" {
8443
8444
  * - `"name"`: {@link NamePlayerMinedEntityEventFilter}
8444
8445
  * - `"ghost_type"`: {@link GhostTypePlayerMinedEntityEventFilter}
8445
8446
  * - `"ghost_name"`: {@link GhostNamePlayerMinedEntityEventFilter}
8446
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#LuaPlayerMinedEntityEventFilter Online documentation}
8447
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#LuaPlayerMinedEntityEventFilter Online documentation}
8447
8448
  */
8448
8449
  export type LuaPlayerMinedEntityEventFilter =
8449
8450
  | TypePlayerMinedEntityEventFilter
@@ -8456,9 +8457,13 @@ declare module "factorio:runtime" {
8456
8457
  */
8457
8458
  export interface BaseEntityDamagedEventFilter {
8458
8459
  /**
8459
- * The condition to filter on. One of `"ghost"`, `"rail"`, `"rail-signal"`, `"rolling-stock"`, `"robot-with-logistics-interface"`, `"vehicle"`, `"turret"`, `"crafting-machine"`, `"wall-connectable"`, `"transport-belt-connectable"`, `"circuit-network-connectable"`, `"type"`, `"name"`, `"ghost_type"`, `"ghost_name"`, `"original-damage-amount"`, `"final-damage-amount"`, `"damage-type"`, `"final-health"`.
8460
+ * The condition to filter on.
8460
8461
  */
8461
8462
  readonly filter:
8463
+ | "type"
8464
+ | "name"
8465
+ | "ghost_type"
8466
+ | "ghost_name"
8462
8467
  | "ghost"
8463
8468
  | "rail"
8464
8469
  | "rail-signal"
@@ -8470,10 +8475,6 @@ declare module "factorio:runtime" {
8470
8475
  | "wall-connectable"
8471
8476
  | "transport-belt-connectable"
8472
8477
  | "circuit-network-connectable"
8473
- | "type"
8474
- | "name"
8475
- | "ghost_type"
8476
- | "ghost_name"
8477
8478
  | "original-damage-amount"
8478
8479
  | "final-damage-amount"
8479
8480
  | "damage-type"
@@ -8493,7 +8494,7 @@ declare module "factorio:runtime" {
8493
8494
  export interface TypeEntityDamagedEventFilter extends BaseEntityDamagedEventFilter {
8494
8495
  readonly filter: "type"
8495
8496
  /**
8496
- * The prototype type
8497
+ * The prototype type.
8497
8498
  */
8498
8499
  readonly type: EntityType
8499
8500
  }
@@ -8503,7 +8504,7 @@ declare module "factorio:runtime" {
8503
8504
  export interface NameEntityDamagedEventFilter extends BaseEntityDamagedEventFilter {
8504
8505
  readonly filter: "name"
8505
8506
  /**
8506
- * The prototype name
8507
+ * The prototype name.
8507
8508
  */
8508
8509
  readonly name: string
8509
8510
  }
@@ -8513,7 +8514,7 @@ declare module "factorio:runtime" {
8513
8514
  export interface GhostTypeEntityDamagedEventFilter extends BaseEntityDamagedEventFilter {
8514
8515
  readonly filter: "ghost_type"
8515
8516
  /**
8516
- * The ghost prototype type
8517
+ * The ghost prototype type.
8517
8518
  */
8518
8519
  readonly type: EntityType
8519
8520
  }
@@ -8523,7 +8524,7 @@ declare module "factorio:runtime" {
8523
8524
  export interface GhostNameEntityDamagedEventFilter extends BaseEntityDamagedEventFilter {
8524
8525
  readonly filter: "ghost_name"
8525
8526
  /**
8526
- * The ghost prototype name
8527
+ * The ghost prototype name.
8527
8528
  */
8528
8529
  readonly name: string
8529
8530
  }
@@ -8571,7 +8572,7 @@ declare module "factorio:runtime" {
8571
8572
  export interface DamageTypeEntityDamagedEventFilter extends BaseEntityDamagedEventFilter {
8572
8573
  readonly filter: "damage-type"
8573
8574
  /**
8574
- * A {@link LuaDamagePrototype} name
8575
+ * A {@link LuaDamagePrototype} name.
8575
8576
  */
8576
8577
  readonly type: EntityType
8577
8578
  }
@@ -8612,8 +8613,6 @@ declare module "factorio:runtime" {
8612
8613
  | "circuit-network-connectable"
8613
8614
  }
8614
8615
  /**
8615
- * Depending on the value of `filter`, the table may take additional fields. `filter` may be one of the following:
8616
- *
8617
8616
  * Base attributes: {@link BaseEntityDamagedEventFilter}
8618
8617
  *
8619
8618
  * Other attributes may be specified depending on `filter`:
@@ -8625,7 +8624,7 @@ declare module "factorio:runtime" {
8625
8624
  * - `"final-damage-amount"`: {@link FinalDamageAmountEntityDamagedEventFilter}
8626
8625
  * - `"damage-type"`: {@link DamageTypeEntityDamagedEventFilter}
8627
8626
  * - `"final-health"`: {@link FinalHealthEntityDamagedEventFilter}
8628
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#LuaEntityDamagedEventFilter Online documentation}
8627
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#LuaEntityDamagedEventFilter Online documentation}
8629
8628
  */
8630
8629
  export type LuaEntityDamagedEventFilter =
8631
8630
  | TypeEntityDamagedEventFilter
@@ -8639,7 +8638,7 @@ declare module "factorio:runtime" {
8639
8638
  | OtherEntityDamagedEventFilter
8640
8639
  /**
8641
8640
  * Write form of {@link LuaEntityDamagedEventFilter}, where table-or-array concepts are allowed to take an array form.
8642
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#LuaEntityDamagedEventFilter Online documentation}
8641
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#LuaEntityDamagedEventFilter Online documentation}
8643
8642
  */
8644
8643
  export type LuaEntityDamagedEventFilterWrite =
8645
8644
  | TypeEntityDamagedEventFilter
@@ -8656,9 +8655,13 @@ declare module "factorio:runtime" {
8656
8655
  */
8657
8656
  export interface BaseSectorScannedEventFilter {
8658
8657
  /**
8659
- * The condition to filter on. One of `"ghost"`, `"rail"`, `"rail-signal"`, `"rolling-stock"`, `"robot-with-logistics-interface"`, `"vehicle"`, `"turret"`, `"crafting-machine"`, `"wall-connectable"`, `"transport-belt-connectable"`, `"circuit-network-connectable"`, `"type"`, `"name"`, `"ghost_type"`, `"ghost_name"`.
8658
+ * The condition to filter on.
8660
8659
  */
8661
8660
  readonly filter:
8661
+ | "type"
8662
+ | "name"
8663
+ | "ghost_type"
8664
+ | "ghost_name"
8662
8665
  | "ghost"
8663
8666
  | "rail"
8664
8667
  | "rail-signal"
@@ -8670,10 +8673,6 @@ declare module "factorio:runtime" {
8670
8673
  | "wall-connectable"
8671
8674
  | "transport-belt-connectable"
8672
8675
  | "circuit-network-connectable"
8673
- | "type"
8674
- | "name"
8675
- | "ghost_type"
8676
- | "ghost_name"
8677
8676
  /**
8678
8677
  * How to combine this with the previous filter. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
8679
8678
  */
@@ -8689,7 +8688,7 @@ declare module "factorio:runtime" {
8689
8688
  export interface TypeSectorScannedEventFilter extends BaseSectorScannedEventFilter {
8690
8689
  readonly filter: "type"
8691
8690
  /**
8692
- * The prototype type
8691
+ * The prototype type.
8693
8692
  */
8694
8693
  readonly type: EntityType
8695
8694
  }
@@ -8699,7 +8698,7 @@ declare module "factorio:runtime" {
8699
8698
  export interface NameSectorScannedEventFilter extends BaseSectorScannedEventFilter {
8700
8699
  readonly filter: "name"
8701
8700
  /**
8702
- * The prototype name
8701
+ * The prototype name.
8703
8702
  */
8704
8703
  readonly name: string
8705
8704
  }
@@ -8709,7 +8708,7 @@ declare module "factorio:runtime" {
8709
8708
  export interface GhostTypeSectorScannedEventFilter extends BaseSectorScannedEventFilter {
8710
8709
  readonly filter: "ghost_type"
8711
8710
  /**
8712
- * The ghost prototype type
8711
+ * The ghost prototype type.
8713
8712
  */
8714
8713
  readonly type: EntityType
8715
8714
  }
@@ -8719,7 +8718,7 @@ declare module "factorio:runtime" {
8719
8718
  export interface GhostNameSectorScannedEventFilter extends BaseSectorScannedEventFilter {
8720
8719
  readonly filter: "ghost_name"
8721
8720
  /**
8722
- * The ghost prototype name
8721
+ * The ghost prototype name.
8723
8722
  */
8724
8723
  readonly name: string
8725
8724
  }
@@ -8741,8 +8740,6 @@ declare module "factorio:runtime" {
8741
8740
  | "circuit-network-connectable"
8742
8741
  }
8743
8742
  /**
8744
- * Depending on the value of `filter`, the table may take additional fields. `filter` may be one of the following:
8745
- *
8746
8743
  * Base attributes: {@link BaseSectorScannedEventFilter}
8747
8744
  *
8748
8745
  * Other attributes may be specified depending on `filter`:
@@ -8750,7 +8747,7 @@ declare module "factorio:runtime" {
8750
8747
  * - `"name"`: {@link NameSectorScannedEventFilter}
8751
8748
  * - `"ghost_type"`: {@link GhostTypeSectorScannedEventFilter}
8752
8749
  * - `"ghost_name"`: {@link GhostNameSectorScannedEventFilter}
8753
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#LuaSectorScannedEventFilter Online documentation}
8750
+ * @see {@link https://lua-api.factorio.com/1.1.109/concepts.html#LuaSectorScannedEventFilter Online documentation}
8754
8751
  */
8755
8752
  export type LuaSectorScannedEventFilter =
8756
8753
  | TypeSectorScannedEventFilter