typed-factorio 2.10.1 → 2.11.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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/concepts.html#SpritePath > The supported types are:}
3713
+ * @see {@link https://lua-api.factorio.com/1.1.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/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.108/concepts.html#CollisionMaskWithFlags Online documentation}
3819
3927
  */
3820
3928
  export type CollisionMaskWithFlags = {
3821
3929
  /**
@@ -3835,47 +3943,10 @@ 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.108/concepts.html#TriggerTargetMask Online documentation}
3839
3947
  */
3840
3948
  export type TriggerTargetMask = Record<string, boolean>
3841
- export interface CircularParticleCreationSpecification {
3842
- /**
3843
- * Name of the {@link LuaEntityPrototype}.
3844
- */
3845
- readonly name: string
3846
- readonly direction: float
3847
- readonly direction_deviation: float
3848
- readonly speed: float
3849
- readonly speed_deviation: float
3850
- readonly starting_frame_speed: float
3851
- readonly starting_frame_speed_deviation: float
3852
- readonly height: float
3853
- readonly height_deviation: float
3854
- readonly vertical_speed: float
3855
- readonly vertical_speed_deviation: float
3856
- /**
3857
- * This vector is a table with `x` and `y` keys instead of an array.
3858
- */
3859
- readonly center: MapPosition
3860
- readonly creation_distance: double
3861
- readonly creation_distance_orientation: double
3862
- readonly use_source_position: boolean
3863
- }
3864
- export type CircularProjectileCreationSpecification = readonly [_1: RealOrientation, _2: Vector]
3865
- export interface AttackParameterFluid {
3866
- /**
3867
- * Name of the {@link LuaFluidPrototype}.
3868
- */
3869
- readonly type: string
3870
- /**
3871
- * Multiplier applied to the damage of an attack.
3872
- */
3873
- readonly damage_modifier: double
3874
- }
3875
- /**
3876
- * Common attributes to all variants of {@link AttackParameters}.
3877
- */
3878
- export interface BaseAttackParameters {
3949
+ export interface AttackParameters {
3879
3950
  /**
3880
3951
  * The type of AttackParameter.
3881
3952
  */
@@ -3932,53 +4003,10 @@ declare module "factorio:runtime" {
3932
4003
  readonly movement_slow_down_cooldown: float
3933
4004
  readonly ammo_type?: AmmoType
3934
4005
  /**
3935
- * List of the names of compatible {@link LuaAmmoCategoryPrototype LuaAmmoCategoryPrototypes}.
4006
+ * List of the names of compatible
3936
4007
  */
3937
4008
  readonly ammo_categories?: string[]
3938
4009
  }
3939
- /**
3940
- * `"projectile"` variant of {@link AttackParameters}.
3941
- */
3942
- export interface ProjectileAttackParameters extends BaseAttackParameters {
3943
- readonly type: "projectile"
3944
- readonly projectile_center: Vector
3945
- readonly projectile_creation_distance: float
3946
- readonly projectile_orientation_offset: float
3947
- readonly shell_particle?: CircularParticleCreationSpecification
3948
- readonly projectile_creation_parameters?: CircularProjectileCreationSpecification[]
3949
- }
3950
- /**
3951
- * `"stream"` variant of {@link AttackParameters}.
3952
- */
3953
- export interface StreamAttackParameters extends BaseAttackParameters {
3954
- readonly type: "stream"
3955
- readonly gun_barrel_length: float
3956
- readonly gun_center_shift: GunShift4Way
3957
- readonly fluid_consumption: float
3958
- readonly fluids?: AttackParameterFluid[]
3959
- readonly projectile_creation_parameters?: CircularProjectileCreationSpecification[]
3960
- }
3961
- /**
3962
- * Variants of {@link AttackParameters} with no additional attributes.
3963
- */
3964
- export interface OtherAttackParameters extends BaseAttackParameters {
3965
- readonly type: "beam"
3966
- }
3967
- /**
3968
- * Base attributes: {@link BaseAttackParameters}
3969
- *
3970
- * Other attributes may be specified depending on `type`:
3971
- * - `"projectile"`: {@link ProjectileAttackParameters}
3972
- * - `"stream"`: {@link StreamAttackParameters}
3973
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#AttackParameters Online documentation}
3974
- */
3975
- export type AttackParameters = ProjectileAttackParameters | StreamAttackParameters | OtherAttackParameters
3976
- export interface GunShift4Way {
3977
- readonly north: Vector
3978
- readonly east: Vector
3979
- readonly south: Vector
3980
- readonly west: Vector
3981
- }
3982
4010
  export interface BaseCapsuleAction {
3983
4011
  readonly type: "throw" | "equipment-remote" | "use-on-self" | "artillery-remote" | "destroy-cliffs"
3984
4012
  }
@@ -4036,7 +4064,7 @@ declare module "factorio:runtime" {
4036
4064
  * - `"use-on-self"`: {@link UseOnSelfCapsuleAction}
4037
4065
  * - `"artillery-remote"`: {@link ArtilleryRemoteCapsuleAction}
4038
4066
  * - `"destroy-cliffs"`: {@link DestroyCliffsCapsuleAction}
4039
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#CapsuleAction Online documentation}
4067
+ * @see {@link https://lua-api.factorio.com/1.1.108/concepts.html#CapsuleAction Online documentation}
4040
4068
  */
4041
4069
  export type CapsuleAction =
4042
4070
  | ThrowCapsuleAction
@@ -4072,7 +4100,7 @@ declare module "factorio:runtime" {
4072
4100
  * - `"avoid-rolling-stock"`: Selects entities that are not `rolling-stock`s.
4073
4101
  * - `"entity-ghost"`: Selects entities that are `entity-ghost`s.
4074
4102
  * - `"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}
4103
+ * @see {@link https://lua-api.factorio.com/1.1.108/concepts.html#SelectionModeFlags Online documentation}
4076
4104
  */
4077
4105
  export interface SelectionModeFlags {
4078
4106
  /**
@@ -4221,12 +4249,12 @@ declare module "factorio:runtime" {
4221
4249
  }
4222
4250
  /**
4223
4251
  * Any basic type (string, number, boolean) or table.
4224
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#AnyBasic Online documentation}
4252
+ * @see {@link https://lua-api.factorio.com/1.1.108/concepts.html#AnyBasic Online documentation}
4225
4253
  */
4226
4254
  export type AnyBasic = string | boolean | number | table
4227
4255
  /**
4228
4256
  * 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}
4257
+ * @see {@link https://lua-api.factorio.com/1.1.108/concepts.html#Any Online documentation}
4230
4258
  */
4231
4259
  export type Any = string | boolean | number | table | LuaObject
4232
4260
  export interface ProgrammableSpeakerParameters {
@@ -4264,7 +4292,7 @@ declare module "factorio:runtime" {
4264
4292
  * - `"top-right"`
4265
4293
  * - `"right"`: The same as `"middle-right"`
4266
4294
  * - `"bottom-right"`
4267
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#Alignment Online documentation}
4295
+ * @see {@link https://lua-api.factorio.com/1.1.108/concepts.html#Alignment Online documentation}
4268
4296
  */
4269
4297
  export type Alignment =
4270
4298
  | "top-left"
@@ -4279,8 +4307,8 @@ declare module "factorio:runtime" {
4279
4307
  | "right"
4280
4308
  | "bottom-right"
4281
4309
  /**
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}
4310
+ * 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.108/events.html the list of Factorio events} for more information on these.
4311
+ * @see {@link https://lua-api.factorio.com/1.1.108/concepts.html#EventData Online documentation}
4284
4312
  */
4285
4313
  export interface EventData {
4286
4314
  /**
@@ -4390,7 +4418,7 @@ declare module "factorio:runtime" {
4390
4418
  * - `"button-7"`
4391
4419
  * - `"button-8"`
4392
4420
  * - `"button-9"`
4393
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#MouseButtonFlags Online documentation}
4421
+ * @see {@link https://lua-api.factorio.com/1.1.108/concepts.html#MouseButtonFlags Online documentation}
4394
4422
  */
4395
4423
  export interface MouseButtonFlags {
4396
4424
  readonly left?: true
@@ -4414,7 +4442,7 @@ declare module "factorio:runtime" {
4414
4442
  * - `"not-friend"`: Forces which are not friends pass.
4415
4443
  * - `"same"`: The same force pass.
4416
4444
  * - `"not-same"`: The non-same forces pass.
4417
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#ForceCondition Online documentation}
4445
+ * @see {@link https://lua-api.factorio.com/1.1.108/concepts.html#ForceCondition Online documentation}
4418
4446
  */
4419
4447
  export type ForceCondition = "all" | "enemy" | "ally" | "friend" | "not-friend" | "same" | "not-same"
4420
4448
  /**
@@ -4465,7 +4493,7 @@ declare module "factorio:runtime" {
4465
4493
  * - `"collision-selection-box"`: 189
4466
4494
  * - `"arrow"`: 190
4467
4495
  * - `"cursor"`: 210
4468
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#RenderLayer Online documentation}
4496
+ * @see {@link https://lua-api.factorio.com/1.1.108/concepts.html#RenderLayer Online documentation}
4469
4497
  */
4470
4498
  export type RenderLayer =
4471
4499
  | `${bigint}`
@@ -4531,7 +4559,7 @@ declare module "factorio:runtime" {
4531
4559
  * - `"walking"`
4532
4560
  * - `"alert"`
4533
4561
  * - `"wind"`
4534
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#SoundType Online documentation}
4562
+ * @see {@link https://lua-api.factorio.com/1.1.108/concepts.html#SoundType Online documentation}
4535
4563
  */
4536
4564
  export type SoundType = "game-effect" | "gui-effect" | "ambient" | "environment" | "walking" | "alert" | "wind"
4537
4565
  /**
@@ -4561,7 +4589,7 @@ declare module "factorio:runtime" {
4561
4589
  * - `"tabbed-pane"`: A collection of `tab`s and their contents. Relevant event: {@link OnGuiSelectedTabChangedEvent on_gui_selected_tab_changed}
4562
4590
  * - `"tab"`: A tab for use in a `tabbed-pane`.
4563
4591
  * - `"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}
4592
+ * @see {@link https://lua-api.factorio.com/1.1.108/concepts.html#GuiElementType Online documentation}
4565
4593
  */
4566
4594
  export type GuiElementType =
4567
4595
  | "button"
@@ -4601,7 +4629,7 @@ declare module "factorio:runtime" {
4601
4629
  * - `"position"`
4602
4630
  * - `"crafting_queue"`
4603
4631
  * - `"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}
4632
+ * @see {@link https://lua-api.factorio.com/1.1.108/concepts.html#GuiArrowType Online documentation}
4605
4633
  */
4606
4634
  export type GuiArrowType =
4607
4635
  | "nowhere"
@@ -4622,7 +4650,7 @@ declare module "factorio:runtime" {
4622
4650
  * ## Union members
4623
4651
  * - `"horizontal"`
4624
4652
  * - `"vertical"`
4625
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#GuiDirection Online documentation}
4653
+ * @see {@link https://lua-api.factorio.com/1.1.108/concepts.html#GuiDirection Online documentation}
4626
4654
  */
4627
4655
  export type GuiDirection = "horizontal" | "vertical"
4628
4656
  /**
@@ -4634,58 +4662,86 @@ declare module "factorio:runtime" {
4634
4662
  * - `"always"`
4635
4663
  * - `"auto"`
4636
4664
  * - `"auto-and-reserve-space"`
4637
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#ScrollPolicy Online documentation}
4665
+ * @see {@link https://lua-api.factorio.com/1.1.108/concepts.html#ScrollPolicy Online documentation}
4638
4666
  */
4639
4667
  export type ScrollPolicy = "never" | "dont-show-but-allow-scrolling" | "always" | "auto" | "auto-and-reserve-space"
4640
4668
  /**
4641
- * Types `"signal"` and `"item-group"` do not support filters.
4669
+ * 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.
4670
+ * @see {@link https://lua-api.factorio.com/1.1.108/concepts.html#float Online documentation}
4671
+ */
4672
+ export type float = number
4673
+ /**
4674
+ * A double-precision floating-point number. This is the same data type as all Lua numbers use.
4675
+ * @see {@link https://lua-api.factorio.com/1.1.108/concepts.html#double Online documentation}
4676
+ */
4677
+ export type double = number
4678
+ /**
4679
+ * 32-bit signed integer. Possible values are `-2 147 483 648` to `2 147 483 647`.
4642
4680
  *
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
- )[]
4681
+ * Since Lua 5.2 only uses doubles, any API that asks for `int` will floor the given double.
4682
+ * @see {@link https://lua-api.factorio.com/1.1.108/concepts.html#int Online documentation}
4683
+ */
4684
+ export type int = number
4668
4685
  /**
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
- )[]
4686
+ * 8-bit signed integer. Possible values are `-128` to `127`.
4687
+ *
4688
+ * Since Lua 5.2 only uses doubles, any API that asks for `int8` will floor the given double.
4689
+ * @see {@link https://lua-api.factorio.com/1.1.108/concepts.html#int8 Online documentation}
4690
+ */
4691
+ export type int8 = number
4692
+ /**
4693
+ * 32-bit unsigned integer. Possible values are `0` to `4 294 967 295`.
4694
+ *
4695
+ * Since Lua 5.2 only uses doubles, any API that asks for `uint` will floor the given double.
4696
+ * @see {@link https://lua-api.factorio.com/1.1.108/concepts.html#uint Online documentation}
4697
+ */
4698
+ export type uint = number
4699
+ /**
4700
+ * 8-bit unsigned integer. Possible values are `0` to `255`.
4701
+ *
4702
+ * Since Lua 5.2 only uses doubles, any API that asks for `uint8` will floor the given double.
4703
+ * @see {@link https://lua-api.factorio.com/1.1.108/concepts.html#uint8 Online documentation}
4704
+ */
4705
+ export type uint8 = number
4706
+ /**
4707
+ * 16-bit unsigned integer. Possible values are `0` to `65 535`.
4708
+ *
4709
+ * Since Lua 5.2 only uses doubles, any API that asks for `uint16` will floor the given double.
4710
+ * @see {@link https://lua-api.factorio.com/1.1.108/concepts.html#uint16 Online documentation}
4711
+ */
4712
+ export type uint16 = number
4713
+ /**
4714
+ * 64-bit unsigned integer. Possible values are `0` to `18 446 744 073 709 551 615`.
4715
+ *
4716
+ * Since Lua 5.2 only uses doubles, any API that asks for `uint64` will floor the given double.
4717
+ * @see {@link https://lua-api.factorio.com/1.1.108/concepts.html#uint64 Online documentation}
4718
+ */
4719
+ export type uint64 = number
4720
+ /**
4721
+ * 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.
4722
+ * @see {@link https://lua-api.factorio.com/1.1.108/concepts.html#nil Online documentation}
4723
+ */
4724
+ export type nil = undefined
4725
+ /**
4726
+ * Tables are enclosed in curly brackets, like this `{}`.
4727
+ *
4728
+ * 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.
4729
+ * @see {@link https://lua-api.factorio.com/1.1.108/concepts.html#table Online documentation}
4730
+ */
4731
+ export type table = object
4732
+ /**
4733
+ * Any LuaObject listed on the {@linkplain https://lua-api.factorio.com/1.1.108/classes.html Classes} page.
4734
+ * @see {@link https://lua-api.factorio.com/1.1.108/concepts.html#LuaObject Online documentation}
4735
+ */
4736
+ export interface LuaObject {
4737
+ readonly object_name: string
4738
+ }
4683
4739
  /**
4684
4740
  * Common attributes to all variants of {@link ItemPrototypeFilter}.
4685
4741
  */
4686
4742
  export interface BaseItemPrototypeFilter {
4687
4743
  /**
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"`.
4744
+ * The condition to filter on.
4689
4745
  */
4690
4746
  readonly filter:
4691
4747
  | "tool"
@@ -4784,7 +4840,9 @@ declare module "factorio:runtime" {
4784
4840
  /**
4785
4841
  * `"name"` variant of {@link ItemPrototypeFilter}.
4786
4842
  *
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}.
4843
+ * For use within nested filters such as the `has-product-item` filter of array[{@link RecipePrototypeFilter}].
4844
+ *
4845
+ * To get a specific prototype by name, see {@link LuaGameScript#item_prototypes LuaGameScript::item_prototypes}.
4788
4846
  */
4789
4847
  export interface NameItemPrototypeFilter extends BaseItemPrototypeFilter {
4790
4848
  readonly filter: "name"
@@ -4989,8 +5047,6 @@ declare module "factorio:runtime" {
4989
5047
  | "fuel"
4990
5048
  }
4991
5049
  /**
4992
- * Depending on the value of `filter`, the table may take additional fields. `filter` may be one of the following:
4993
- *
4994
5050
  * Base attributes: {@link BaseItemPrototypeFilter}
4995
5051
  *
4996
5052
  * Other attributes may be specified depending on `filter`:
@@ -5010,7 +5066,7 @@ declare module "factorio:runtime" {
5010
5066
  * - `"fuel-acceleration-multiplier"`: {@link FuelAccelerationMultiplierItemPrototypeFilter}
5011
5067
  * - `"fuel-top-speed-multiplier"`: {@link FuelTopSpeedMultiplierItemPrototypeFilter}
5012
5068
  * - `"fuel-emissions-multiplier"`: {@link FuelEmissionsMultiplierItemPrototypeFilter}
5013
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#ItemPrototypeFilter Online documentation}
5069
+ * @see {@link https://lua-api.factorio.com/1.1.108/concepts.html#ItemPrototypeFilter Online documentation}
5014
5070
  */
5015
5071
  export type ItemPrototypeFilter =
5016
5072
  | PlaceResultItemPrototypeFilter
@@ -5032,7 +5088,7 @@ declare module "factorio:runtime" {
5032
5088
  | OtherItemPrototypeFilter
5033
5089
  /**
5034
5090
  * 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}
5091
+ * @see {@link https://lua-api.factorio.com/1.1.108/concepts.html#ItemPrototypeFilter Online documentation}
5036
5092
  */
5037
5093
  export type ItemPrototypeFilterWrite =
5038
5094
  | PlaceResultItemPrototypeFilterWrite
@@ -5057,7 +5113,7 @@ declare module "factorio:runtime" {
5057
5113
  */
5058
5114
  export interface BaseModSettingPrototypeFilter {
5059
5115
  /**
5060
- * The condition to filter on. One of `"type"`, `"mod"`, `"setting-type"`.
5116
+ * The condition to filter on.
5061
5117
  */
5062
5118
  readonly filter: "type" | "mod" | "setting-type"
5063
5119
  /**
@@ -5077,7 +5133,7 @@ declare module "factorio:runtime" {
5077
5133
  /**
5078
5134
  * The prototype type, or a list of acceptable types.
5079
5135
  */
5080
- readonly type: string | readonly string[]
5136
+ readonly type: string | string[]
5081
5137
  }
5082
5138
  /**
5083
5139
  * `"mod"` variant of {@link ModSettingPrototypeFilter}.
@@ -5095,20 +5151,18 @@ declare module "factorio:runtime" {
5095
5151
  export interface SettingTypeModSettingPrototypeFilter extends BaseModSettingPrototypeFilter {
5096
5152
  readonly filter: "setting-type"
5097
5153
  /**
5098
- * The setting scope type (`"startup"`, `"runtime-global"`, or `"runtime-per-user"`)
5154
+ * The setting scope type.
5099
5155
  */
5100
5156
  readonly type: "startup" | "runtime-global" | "runtime-per-user"
5101
5157
  }
5102
5158
  /**
5103
- * Depending on the value of `filter`, the table may take additional fields. `filter` may be one of the following:
5104
- *
5105
5159
  * Base attributes: {@link BaseModSettingPrototypeFilter}
5106
5160
  *
5107
5161
  * Other attributes may be specified depending on `filter`:
5108
5162
  * - `"type"`: {@link TypeModSettingPrototypeFilter}
5109
5163
  * - `"mod"`: {@link ModModSettingPrototypeFilter}
5110
5164
  * - `"setting-type"`: {@link SettingTypeModSettingPrototypeFilter}
5111
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#ModSettingPrototypeFilter Online documentation}
5165
+ * @see {@link https://lua-api.factorio.com/1.1.108/concepts.html#ModSettingPrototypeFilter Online documentation}
5112
5166
  */
5113
5167
  export type ModSettingPrototypeFilter =
5114
5168
  | TypeModSettingPrototypeFilter
@@ -5119,7 +5173,7 @@ declare module "factorio:runtime" {
5119
5173
  */
5120
5174
  export interface BaseTechnologyPrototypeFilter {
5121
5175
  /**
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"`.
5176
+ * The condition to filter on.
5123
5177
  */
5124
5178
  readonly filter:
5125
5179
  | "enabled"
@@ -5226,8 +5280,6 @@ declare module "factorio:runtime" {
5226
5280
  readonly filter: "enabled" | "hidden" | "upgrade" | "visible-when-disabled" | "has-effects" | "has-prerequisites"
5227
5281
  }
5228
5282
  /**
5229
- * Depending on the value of `filter`, the table may take additional fields. `filter` may be one of the following:
5230
- *
5231
5283
  * Base attributes: {@link BaseTechnologyPrototypeFilter}
5232
5284
  *
5233
5285
  * Other attributes may be specified depending on `filter`:
@@ -5236,7 +5288,7 @@ declare module "factorio:runtime" {
5236
5288
  * - `"level"`: {@link LevelTechnologyPrototypeFilter}
5237
5289
  * - `"max-level"`: {@link MaxLevelTechnologyPrototypeFilter}
5238
5290
  * - `"time"`: {@link TimeTechnologyPrototypeFilter}
5239
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#TechnologyPrototypeFilter Online documentation}
5291
+ * @see {@link https://lua-api.factorio.com/1.1.108/concepts.html#TechnologyPrototypeFilter Online documentation}
5240
5292
  */
5241
5293
  export type TechnologyPrototypeFilter =
5242
5294
  | ResearchUnitIngredientTechnologyPrototypeFilter
@@ -5247,7 +5299,7 @@ declare module "factorio:runtime" {
5247
5299
  | OtherTechnologyPrototypeFilter
5248
5300
  /**
5249
5301
  * 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}
5302
+ * @see {@link https://lua-api.factorio.com/1.1.108/concepts.html#TechnologyPrototypeFilter Online documentation}
5251
5303
  */
5252
5304
  export type TechnologyPrototypeFilterWrite =
5253
5305
  | ResearchUnitIngredientTechnologyPrototypeFilter
@@ -5261,7 +5313,7 @@ declare module "factorio:runtime" {
5261
5313
  */
5262
5314
  export interface BaseDecorativePrototypeFilter {
5263
5315
  /**
5264
- * The condition to filter on. One of `"decal"`, `"autoplace"`, `"collision-mask"`.
5316
+ * The condition to filter on.
5265
5317
  */
5266
5318
  readonly filter: "decal" | "autoplace" | "collision-mask"
5267
5319
  /**
@@ -5280,7 +5332,7 @@ declare module "factorio:runtime" {
5280
5332
  readonly filter: "collision-mask"
5281
5333
  readonly mask: CollisionMask | CollisionMaskWithFlags
5282
5334
  /**
5283
- * How to filter: `"collides"`, `"layers-equals"`, `"contains-any"` or `"contains-all"`
5335
+ * How to filter.
5284
5336
  */
5285
5337
  readonly mask_mode: "collides" | "layers-equals" | "contains-any" | "contains-all"
5286
5338
  }
@@ -5291,13 +5343,11 @@ declare module "factorio:runtime" {
5291
5343
  readonly filter: "decal" | "autoplace"
5292
5344
  }
5293
5345
  /**
5294
- * Depending on the value of `filter`, the table may take additional fields. `filter` may be one of the following:
5295
- *
5296
5346
  * Base attributes: {@link BaseDecorativePrototypeFilter}
5297
5347
  *
5298
5348
  * Other attributes may be specified depending on `filter`:
5299
5349
  * - `"collision-mask"`: {@link CollisionMaskDecorativePrototypeFilter}
5300
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#DecorativePrototypeFilter Online documentation}
5350
+ * @see {@link https://lua-api.factorio.com/1.1.108/concepts.html#DecorativePrototypeFilter Online documentation}
5301
5351
  */
5302
5352
  export type DecorativePrototypeFilter = CollisionMaskDecorativePrototypeFilter | OtherDecorativePrototypeFilter
5303
5353
  /**
@@ -5305,7 +5355,7 @@ declare module "factorio:runtime" {
5305
5355
  */
5306
5356
  export interface BaseAchievementPrototypeFilter {
5307
5357
  /**
5308
- * The condition to filter on. One of `"allowed-without-fight"`, `"type"`.
5358
+ * The condition to filter on.
5309
5359
  */
5310
5360
  readonly filter: "allowed-without-fight" | "type"
5311
5361
  /**
@@ -5334,13 +5384,11 @@ declare module "factorio:runtime" {
5334
5384
  readonly filter: "allowed-without-fight"
5335
5385
  }
5336
5386
  /**
5337
- * Depending on the value of `filter`, the table may take additional fields. `filter` may be one of the following:
5338
- *
5339
5387
  * Base attributes: {@link BaseAchievementPrototypeFilter}
5340
5388
  *
5341
5389
  * Other attributes may be specified depending on `filter`:
5342
5390
  * - `"type"`: {@link TypeAchievementPrototypeFilter}
5343
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#AchievementPrototypeFilter Online documentation}
5391
+ * @see {@link https://lua-api.factorio.com/1.1.108/concepts.html#AchievementPrototypeFilter Online documentation}
5344
5392
  */
5345
5393
  export type AchievementPrototypeFilter = TypeAchievementPrototypeFilter | OtherAchievementPrototypeFilter
5346
5394
  /**
@@ -5348,7 +5396,7 @@ declare module "factorio:runtime" {
5348
5396
  */
5349
5397
  export interface BaseFluidPrototypeFilter {
5350
5398
  /**
5351
- * The condition to filter on. One of `"hidden"`, `"name"`, `"subgroup"`, `"default-temperature"`, `"max-temperature"`, `"heat-capacity"`, `"fuel-value"`, `"emissions-multiplier"`, `"gas-temperature"`.
5399
+ * The condition to filter on.
5352
5400
  */
5353
5401
  readonly filter:
5354
5402
  | "hidden"
@@ -5372,7 +5420,9 @@ declare module "factorio:runtime" {
5372
5420
  /**
5373
5421
  * `"name"` variant of {@link FluidPrototypeFilter}.
5374
5422
  *
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}.
5423
+ * For use within nested filters such as the `has-product-fluid` filter of array[{@link RecipePrototypeFilter}].
5424
+ *
5425
+ * To get a specific prototype by name, see {@link LuaGameScript#fluid_prototypes LuaGameScript::fluid_prototypes}.
5376
5426
  */
5377
5427
  export interface NameFluidPrototypeFilter extends BaseFluidPrototypeFilter {
5378
5428
  readonly filter: "name"
@@ -5512,8 +5562,6 @@ declare module "factorio:runtime" {
5512
5562
  readonly filter: "hidden"
5513
5563
  }
5514
5564
  /**
5515
- * Depending on the value of `filter`, the table may take additional fields. `filter` may be one of the following:
5516
- *
5517
5565
  * Base attributes: {@link BaseFluidPrototypeFilter}
5518
5566
  *
5519
5567
  * Other attributes may be specified depending on `filter`:
@@ -5525,7 +5573,7 @@ declare module "factorio:runtime" {
5525
5573
  * - `"fuel-value"`: {@link FuelValueFluidPrototypeFilter}
5526
5574
  * - `"emissions-multiplier"`: {@link EmissionsMultiplierFluidPrototypeFilter}
5527
5575
  * - `"gas-temperature"`: {@link GasTemperatureFluidPrototypeFilter}
5528
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#FluidPrototypeFilter Online documentation}
5576
+ * @see {@link https://lua-api.factorio.com/1.1.108/concepts.html#FluidPrototypeFilter Online documentation}
5529
5577
  */
5530
5578
  export type FluidPrototypeFilter =
5531
5579
  | NameFluidPrototypeFilter
@@ -5539,7 +5587,7 @@ declare module "factorio:runtime" {
5539
5587
  | OtherFluidPrototypeFilter
5540
5588
  /**
5541
5589
  * 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}
5590
+ * @see {@link https://lua-api.factorio.com/1.1.108/concepts.html#FluidPrototypeFilter Online documentation}
5543
5591
  */
5544
5592
  export type FluidPrototypeFilterWrite =
5545
5593
  | NameFluidPrototypeFilter
@@ -5556,7 +5604,7 @@ declare module "factorio:runtime" {
5556
5604
  */
5557
5605
  export interface BaseEquipmentPrototypeFilter {
5558
5606
  /**
5559
- * The condition to filter on. One of `"item-to-place"`, `"type"`.
5607
+ * The condition to filter on.
5560
5608
  */
5561
5609
  readonly filter: "item-to-place" | "type"
5562
5610
  /**
@@ -5585,13 +5633,11 @@ declare module "factorio:runtime" {
5585
5633
  readonly filter: "item-to-place"
5586
5634
  }
5587
5635
  /**
5588
- * Depending on the value of `filter`, the table may take additional fields. `filter` may be one of the following:
5589
- *
5590
5636
  * Base attributes: {@link BaseEquipmentPrototypeFilter}
5591
5637
  *
5592
5638
  * Other attributes may be specified depending on `filter`:
5593
5639
  * - `"type"`: {@link TypeEquipmentPrototypeFilter}
5594
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#EquipmentPrototypeFilter Online documentation}
5640
+ * @see {@link https://lua-api.factorio.com/1.1.108/concepts.html#EquipmentPrototypeFilter Online documentation}
5595
5641
  */
5596
5642
  export type EquipmentPrototypeFilter = TypeEquipmentPrototypeFilter | OtherEquipmentPrototypeFilter
5597
5643
  /**
@@ -5599,7 +5645,7 @@ declare module "factorio:runtime" {
5599
5645
  */
5600
5646
  export interface BaseTilePrototypeFilter {
5601
5647
  /**
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"`.
5648
+ * The condition to filter on.
5603
5649
  */
5604
5650
  readonly filter:
5605
5651
  | "minable"
@@ -5627,7 +5673,7 @@ declare module "factorio:runtime" {
5627
5673
  readonly filter: "collision-mask"
5628
5674
  readonly mask: CollisionMask | CollisionMaskWithFlags
5629
5675
  /**
5630
- * How to filter: `"collides"`, `"layers-equals"`, `"contains-any"` or `"contains-all"`
5676
+ * How to filter.
5631
5677
  */
5632
5678
  readonly mask_mode: "collides" | "layers-equals" | "contains-any" | "contains-all"
5633
5679
  }
@@ -5714,8 +5760,6 @@ declare module "factorio:runtime" {
5714
5760
  readonly filter: "minable" | "autoplace" | "blueprintable" | "item-to-place"
5715
5761
  }
5716
5762
  /**
5717
- * Depending on the value of `filter`, the table may take additional fields. `filter` may be one of the following:
5718
- *
5719
5763
  * Base attributes: {@link BaseTilePrototypeFilter}
5720
5764
  *
5721
5765
  * Other attributes may be specified depending on `filter`:
@@ -5724,7 +5768,7 @@ declare module "factorio:runtime" {
5724
5768
  * - `"vehicle-friction-modifier"`: {@link VehicleFrictionModifierTilePrototypeFilter}
5725
5769
  * - `"decorative-removal-probability"`: {@link DecorativeRemovalProbabilityTilePrototypeFilter}
5726
5770
  * - `"emissions"`: {@link EmissionsTilePrototypeFilter}
5727
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#TilePrototypeFilter Online documentation}
5771
+ * @see {@link https://lua-api.factorio.com/1.1.108/concepts.html#TilePrototypeFilter Online documentation}
5728
5772
  */
5729
5773
  export type TilePrototypeFilter =
5730
5774
  | CollisionMaskTilePrototypeFilter
@@ -5735,7 +5779,7 @@ declare module "factorio:runtime" {
5735
5779
  | OtherTilePrototypeFilter
5736
5780
  /**
5737
5781
  * 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}
5782
+ * @see {@link https://lua-api.factorio.com/1.1.108/concepts.html#TilePrototypeFilter Online documentation}
5739
5783
  */
5740
5784
  export type TilePrototypeFilterWrite =
5741
5785
  | CollisionMaskTilePrototypeFilter
@@ -5749,7 +5793,7 @@ declare module "factorio:runtime" {
5749
5793
  */
5750
5794
  export interface BaseRecipePrototypeFilter {
5751
5795
  /**
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"`.
5796
+ * The condition to filter on.
5753
5797
  */
5754
5798
  readonly filter:
5755
5799
  | "enabled"
@@ -5803,8 +5847,6 @@ declare module "factorio:runtime" {
5803
5847
  /**
5804
5848
  * `"has-ingredient-fluid"` variant of {@link RecipePrototypeFilter}.
5805
5849
  *
5806
- * Usage example:
5807
- *
5808
5850
  * ```
5809
5851
  * -- selects recipes that consume sulfuric acid
5810
5852
  * {{filter = "has-ingredient-fluid", elem_filters = {{filter = "name", name = "sulfuric-acid"}}}}
@@ -5984,8 +6026,6 @@ declare module "factorio:runtime" {
5984
6026
  | "has-products"
5985
6027
  }
5986
6028
  /**
5987
- * Depending on the value of `filter`, the table may take additional fields. `filter` may be one of the following:
5988
- *
5989
6029
  * Base attributes: {@link BaseRecipePrototypeFilter}
5990
6030
  *
5991
6031
  * Other attributes may be specified depending on `filter`:
@@ -5999,7 +6039,7 @@ declare module "factorio:runtime" {
5999
6039
  * - `"emissions-multiplier"`: {@link EmissionsMultiplierRecipePrototypeFilter}
6000
6040
  * - `"request-paste-multiplier"`: {@link RequestPasteMultiplierRecipePrototypeFilter}
6001
6041
  * - `"overload-multiplier"`: {@link OverloadMultiplierRecipePrototypeFilter}
6002
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#RecipePrototypeFilter Online documentation}
6042
+ * @see {@link https://lua-api.factorio.com/1.1.108/concepts.html#RecipePrototypeFilter Online documentation}
6003
6043
  */
6004
6044
  export type RecipePrototypeFilter =
6005
6045
  | HasIngredientItemRecipePrototypeFilter
@@ -6015,7 +6055,7 @@ declare module "factorio:runtime" {
6015
6055
  | OtherRecipePrototypeFilter
6016
6056
  /**
6017
6057
  * 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}
6058
+ * @see {@link https://lua-api.factorio.com/1.1.108/concepts.html#RecipePrototypeFilter Online documentation}
6019
6059
  */
6020
6060
  export type RecipePrototypeFilterWrite =
6021
6061
  | HasIngredientItemRecipePrototypeFilterWrite
@@ -6034,7 +6074,7 @@ declare module "factorio:runtime" {
6034
6074
  */
6035
6075
  export interface BaseEntityPrototypeFilter {
6036
6076
  /**
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"`.
6077
+ * The condition to filter on.
6038
6078
  */
6039
6079
  readonly filter:
6040
6080
  | "flying-robot"
@@ -6082,7 +6122,9 @@ declare module "factorio:runtime" {
6082
6122
  /**
6083
6123
  * `"name"` variant of {@link EntityPrototypeFilter}.
6084
6124
  *
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}.
6125
+ * For use within nested filters such as the `place-result` filter of array[{@link ItemPrototypeFilter}].
6126
+ *
6127
+ * To get a specific prototype by name, see {@link LuaGameScript#entity_prototypes LuaGameScript::entity_prototypes}.
6086
6128
  */
6087
6129
  export interface NameEntityPrototypeFilter extends BaseEntityPrototypeFilter {
6088
6130
  readonly filter: "name"
@@ -6233,8 +6275,6 @@ declare module "factorio:runtime" {
6233
6275
  | "item-to-place"
6234
6276
  }
6235
6277
  /**
6236
- * Depending on the value of `filter`, the table may take additional fields. `filter` may be one of the following:
6237
- *
6238
6278
  * Base attributes: {@link BaseEntityPrototypeFilter}
6239
6279
  *
6240
6280
  * Other attributes may be specified depending on `filter`:
@@ -6246,7 +6286,7 @@ declare module "factorio:runtime" {
6246
6286
  * - `"selection-priority"`: {@link SelectionPriorityEntityPrototypeFilter}
6247
6287
  * - `"emissions"`: {@link EmissionsEntityPrototypeFilter}
6248
6288
  * - `"crafting-category"`: {@link CraftingCategoryEntityPrototypeFilter}
6249
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#EntityPrototypeFilter Online documentation}
6289
+ * @see {@link https://lua-api.factorio.com/1.1.108/concepts.html#EntityPrototypeFilter Online documentation}
6250
6290
  */
6251
6291
  export type EntityPrototypeFilter =
6252
6292
  | NameEntityPrototypeFilter
@@ -6260,7 +6300,7 @@ declare module "factorio:runtime" {
6260
6300
  | OtherEntityPrototypeFilter
6261
6301
  /**
6262
6302
  * 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}
6303
+ * @see {@link https://lua-api.factorio.com/1.1.108/concepts.html#EntityPrototypeFilter Online documentation}
6264
6304
  */
6265
6305
  export type EntityPrototypeFilterWrite =
6266
6306
  | NameEntityPrototypeFilter
@@ -6272,93 +6312,18 @@ declare module "factorio:runtime" {
6272
6312
  | EmissionsEntityPrototypeFilterWrite
6273
6313
  | CraftingCategoryEntityPrototypeFilter
6274
6314
  | 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
6315
  /**
6355
6316
  * Common attributes to all variants of {@link LuaScriptRaisedReviveEventFilter}.
6356
6317
  */
6357
6318
  export interface BaseScriptRaisedReviveEventFilter {
6358
6319
  /**
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"`.
6320
+ * The condition to filter on.
6360
6321
  */
6361
6322
  readonly filter:
6323
+ | "type"
6324
+ | "name"
6325
+ | "ghost_type"
6326
+ | "ghost_name"
6362
6327
  | "ghost"
6363
6328
  | "rail"
6364
6329
  | "rail-signal"
@@ -6370,10 +6335,6 @@ declare module "factorio:runtime" {
6370
6335
  | "wall-connectable"
6371
6336
  | "transport-belt-connectable"
6372
6337
  | "circuit-network-connectable"
6373
- | "type"
6374
- | "name"
6375
- | "ghost_type"
6376
- | "ghost_name"
6377
6338
  /**
6378
6339
  * How to combine this with the previous filter. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
6379
6340
  */
@@ -6389,7 +6350,7 @@ declare module "factorio:runtime" {
6389
6350
  export interface TypeScriptRaisedReviveEventFilter extends BaseScriptRaisedReviveEventFilter {
6390
6351
  readonly filter: "type"
6391
6352
  /**
6392
- * The prototype type
6353
+ * The prototype type.
6393
6354
  */
6394
6355
  readonly type: EntityType
6395
6356
  }
@@ -6399,7 +6360,7 @@ declare module "factorio:runtime" {
6399
6360
  export interface NameScriptRaisedReviveEventFilter extends BaseScriptRaisedReviveEventFilter {
6400
6361
  readonly filter: "name"
6401
6362
  /**
6402
- * The prototype name
6363
+ * The prototype name.
6403
6364
  */
6404
6365
  readonly name: string
6405
6366
  }
@@ -6409,7 +6370,7 @@ declare module "factorio:runtime" {
6409
6370
  export interface GhostTypeScriptRaisedReviveEventFilter extends BaseScriptRaisedReviveEventFilter {
6410
6371
  readonly filter: "ghost_type"
6411
6372
  /**
6412
- * The ghost prototype type
6373
+ * The ghost prototype type.
6413
6374
  */
6414
6375
  readonly type: EntityType
6415
6376
  }
@@ -6419,7 +6380,7 @@ declare module "factorio:runtime" {
6419
6380
  export interface GhostNameScriptRaisedReviveEventFilter extends BaseScriptRaisedReviveEventFilter {
6420
6381
  readonly filter: "ghost_name"
6421
6382
  /**
6422
- * The ghost prototype name
6383
+ * The ghost prototype name.
6423
6384
  */
6424
6385
  readonly name: string
6425
6386
  }
@@ -6441,8 +6402,6 @@ declare module "factorio:runtime" {
6441
6402
  | "circuit-network-connectable"
6442
6403
  }
6443
6404
  /**
6444
- * Depending on the value of `filter`, the table may take additional fields. `filter` may be one of the following:
6445
- *
6446
6405
  * Base attributes: {@link BaseScriptRaisedReviveEventFilter}
6447
6406
  *
6448
6407
  * Other attributes may be specified depending on `filter`:
@@ -6450,7 +6409,7 @@ declare module "factorio:runtime" {
6450
6409
  * - `"name"`: {@link NameScriptRaisedReviveEventFilter}
6451
6410
  * - `"ghost_type"`: {@link GhostTypeScriptRaisedReviveEventFilter}
6452
6411
  * - `"ghost_name"`: {@link GhostNameScriptRaisedReviveEventFilter}
6453
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#LuaScriptRaisedReviveEventFilter Online documentation}
6412
+ * @see {@link https://lua-api.factorio.com/1.1.108/concepts.html#LuaScriptRaisedReviveEventFilter Online documentation}
6454
6413
  */
6455
6414
  export type LuaScriptRaisedReviveEventFilter =
6456
6415
  | TypeScriptRaisedReviveEventFilter
@@ -6463,9 +6422,13 @@ declare module "factorio:runtime" {
6463
6422
  */
6464
6423
  export interface BaseEntityDiedEventFilter {
6465
6424
  /**
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"`.
6425
+ * The condition to filter on.
6467
6426
  */
6468
6427
  readonly filter:
6428
+ | "type"
6429
+ | "name"
6430
+ | "ghost_type"
6431
+ | "ghost_name"
6469
6432
  | "ghost"
6470
6433
  | "rail"
6471
6434
  | "rail-signal"
@@ -6477,10 +6440,6 @@ declare module "factorio:runtime" {
6477
6440
  | "wall-connectable"
6478
6441
  | "transport-belt-connectable"
6479
6442
  | "circuit-network-connectable"
6480
- | "type"
6481
- | "name"
6482
- | "ghost_type"
6483
- | "ghost_name"
6484
6443
  /**
6485
6444
  * How to combine this with the previous filter. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
6486
6445
  */
@@ -6496,7 +6455,7 @@ declare module "factorio:runtime" {
6496
6455
  export interface TypeEntityDiedEventFilter extends BaseEntityDiedEventFilter {
6497
6456
  readonly filter: "type"
6498
6457
  /**
6499
- * The prototype type
6458
+ * The prototype type.
6500
6459
  */
6501
6460
  readonly type: EntityType
6502
6461
  }
@@ -6506,7 +6465,7 @@ declare module "factorio:runtime" {
6506
6465
  export interface NameEntityDiedEventFilter extends BaseEntityDiedEventFilter {
6507
6466
  readonly filter: "name"
6508
6467
  /**
6509
- * The prototype name
6468
+ * The prototype name.
6510
6469
  */
6511
6470
  readonly name: string
6512
6471
  }
@@ -6516,7 +6475,7 @@ declare module "factorio:runtime" {
6516
6475
  export interface GhostTypeEntityDiedEventFilter extends BaseEntityDiedEventFilter {
6517
6476
  readonly filter: "ghost_type"
6518
6477
  /**
6519
- * The ghost prototype type
6478
+ * The ghost prototype type.
6520
6479
  */
6521
6480
  readonly type: EntityType
6522
6481
  }
@@ -6526,7 +6485,7 @@ declare module "factorio:runtime" {
6526
6485
  export interface GhostNameEntityDiedEventFilter extends BaseEntityDiedEventFilter {
6527
6486
  readonly filter: "ghost_name"
6528
6487
  /**
6529
- * The ghost prototype name
6488
+ * The ghost prototype name.
6530
6489
  */
6531
6490
  readonly name: string
6532
6491
  }
@@ -6548,8 +6507,6 @@ declare module "factorio:runtime" {
6548
6507
  | "circuit-network-connectable"
6549
6508
  }
6550
6509
  /**
6551
- * Depending on the value of `filter`, the table may take additional fields. `filter` may be one of the following:
6552
- *
6553
6510
  * Base attributes: {@link BaseEntityDiedEventFilter}
6554
6511
  *
6555
6512
  * Other attributes may be specified depending on `filter`:
@@ -6557,7 +6514,7 @@ declare module "factorio:runtime" {
6557
6514
  * - `"name"`: {@link NameEntityDiedEventFilter}
6558
6515
  * - `"ghost_type"`: {@link GhostTypeEntityDiedEventFilter}
6559
6516
  * - `"ghost_name"`: {@link GhostNameEntityDiedEventFilter}
6560
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#LuaEntityDiedEventFilter Online documentation}
6517
+ * @see {@link https://lua-api.factorio.com/1.1.108/concepts.html#LuaEntityDiedEventFilter Online documentation}
6561
6518
  */
6562
6519
  export type LuaEntityDiedEventFilter =
6563
6520
  | TypeEntityDiedEventFilter
@@ -6570,9 +6527,13 @@ declare module "factorio:runtime" {
6570
6527
  */
6571
6528
  export interface BaseEntityMarkedForDeconstructionEventFilter {
6572
6529
  /**
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"`.
6530
+ * The condition to filter on.
6574
6531
  */
6575
6532
  readonly filter:
6533
+ | "type"
6534
+ | "name"
6535
+ | "ghost_type"
6536
+ | "ghost_name"
6576
6537
  | "ghost"
6577
6538
  | "rail"
6578
6539
  | "rail-signal"
@@ -6584,10 +6545,6 @@ declare module "factorio:runtime" {
6584
6545
  | "wall-connectable"
6585
6546
  | "transport-belt-connectable"
6586
6547
  | "circuit-network-connectable"
6587
- | "type"
6588
- | "name"
6589
- | "ghost_type"
6590
- | "ghost_name"
6591
6548
  /**
6592
6549
  * How to combine this with the previous filter. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
6593
6550
  */
@@ -6603,7 +6560,7 @@ declare module "factorio:runtime" {
6603
6560
  export interface TypeEntityMarkedForDeconstructionEventFilter extends BaseEntityMarkedForDeconstructionEventFilter {
6604
6561
  readonly filter: "type"
6605
6562
  /**
6606
- * The prototype type
6563
+ * The prototype type.
6607
6564
  */
6608
6565
  readonly type: EntityType
6609
6566
  }
@@ -6613,7 +6570,7 @@ declare module "factorio:runtime" {
6613
6570
  export interface NameEntityMarkedForDeconstructionEventFilter extends BaseEntityMarkedForDeconstructionEventFilter {
6614
6571
  readonly filter: "name"
6615
6572
  /**
6616
- * The prototype name
6573
+ * The prototype name.
6617
6574
  */
6618
6575
  readonly name: string
6619
6576
  }
@@ -6624,7 +6581,7 @@ declare module "factorio:runtime" {
6624
6581
  extends BaseEntityMarkedForDeconstructionEventFilter {
6625
6582
  readonly filter: "ghost_type"
6626
6583
  /**
6627
- * The ghost prototype type
6584
+ * The ghost prototype type.
6628
6585
  */
6629
6586
  readonly type: EntityType
6630
6587
  }
@@ -6635,7 +6592,7 @@ declare module "factorio:runtime" {
6635
6592
  extends BaseEntityMarkedForDeconstructionEventFilter {
6636
6593
  readonly filter: "ghost_name"
6637
6594
  /**
6638
- * The ghost prototype name
6595
+ * The ghost prototype name.
6639
6596
  */
6640
6597
  readonly name: string
6641
6598
  }
@@ -6657,8 +6614,6 @@ declare module "factorio:runtime" {
6657
6614
  | "circuit-network-connectable"
6658
6615
  }
6659
6616
  /**
6660
- * Depending on the value of `filter`, the table may take additional fields. `filter` may be one of the following:
6661
- *
6662
6617
  * Base attributes: {@link BaseEntityMarkedForDeconstructionEventFilter}
6663
6618
  *
6664
6619
  * Other attributes may be specified depending on `filter`:
@@ -6666,7 +6621,7 @@ declare module "factorio:runtime" {
6666
6621
  * - `"name"`: {@link NameEntityMarkedForDeconstructionEventFilter}
6667
6622
  * - `"ghost_type"`: {@link GhostTypeEntityMarkedForDeconstructionEventFilter}
6668
6623
  * - `"ghost_name"`: {@link GhostNameEntityMarkedForDeconstructionEventFilter}
6669
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#LuaEntityMarkedForDeconstructionEventFilter Online documentation}
6624
+ * @see {@link https://lua-api.factorio.com/1.1.108/concepts.html#LuaEntityMarkedForDeconstructionEventFilter Online documentation}
6670
6625
  */
6671
6626
  export type LuaEntityMarkedForDeconstructionEventFilter =
6672
6627
  | TypeEntityMarkedForDeconstructionEventFilter
@@ -6679,9 +6634,13 @@ declare module "factorio:runtime" {
6679
6634
  */
6680
6635
  export interface BasePreGhostDeconstructedEventFilter {
6681
6636
  /**
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"`.
6637
+ * The condition to filter on.
6683
6638
  */
6684
6639
  readonly filter:
6640
+ | "type"
6641
+ | "name"
6642
+ | "ghost_type"
6643
+ | "ghost_name"
6685
6644
  | "ghost"
6686
6645
  | "rail"
6687
6646
  | "rail-signal"
@@ -6693,10 +6652,6 @@ declare module "factorio:runtime" {
6693
6652
  | "wall-connectable"
6694
6653
  | "transport-belt-connectable"
6695
6654
  | "circuit-network-connectable"
6696
- | "type"
6697
- | "name"
6698
- | "ghost_type"
6699
- | "ghost_name"
6700
6655
  /**
6701
6656
  * How to combine this with the previous filter. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
6702
6657
  */
@@ -6712,7 +6667,7 @@ declare module "factorio:runtime" {
6712
6667
  export interface TypePreGhostDeconstructedEventFilter extends BasePreGhostDeconstructedEventFilter {
6713
6668
  readonly filter: "type"
6714
6669
  /**
6715
- * The prototype type
6670
+ * The prototype type.
6716
6671
  */
6717
6672
  readonly type: EntityType
6718
6673
  }
@@ -6722,7 +6677,7 @@ declare module "factorio:runtime" {
6722
6677
  export interface NamePreGhostDeconstructedEventFilter extends BasePreGhostDeconstructedEventFilter {
6723
6678
  readonly filter: "name"
6724
6679
  /**
6725
- * The prototype name
6680
+ * The prototype name.
6726
6681
  */
6727
6682
  readonly name: string
6728
6683
  }
@@ -6732,7 +6687,7 @@ declare module "factorio:runtime" {
6732
6687
  export interface GhostTypePreGhostDeconstructedEventFilter extends BasePreGhostDeconstructedEventFilter {
6733
6688
  readonly filter: "ghost_type"
6734
6689
  /**
6735
- * The ghost prototype type
6690
+ * The ghost prototype type.
6736
6691
  */
6737
6692
  readonly type: EntityType
6738
6693
  }
@@ -6742,7 +6697,7 @@ declare module "factorio:runtime" {
6742
6697
  export interface GhostNamePreGhostDeconstructedEventFilter extends BasePreGhostDeconstructedEventFilter {
6743
6698
  readonly filter: "ghost_name"
6744
6699
  /**
6745
- * The ghost prototype name
6700
+ * The ghost prototype name.
6746
6701
  */
6747
6702
  readonly name: string
6748
6703
  }
@@ -6764,8 +6719,6 @@ declare module "factorio:runtime" {
6764
6719
  | "circuit-network-connectable"
6765
6720
  }
6766
6721
  /**
6767
- * Depending on the value of `filter`, the table may take additional fields. `filter` may be one of the following:
6768
- *
6769
6722
  * Base attributes: {@link BasePreGhostDeconstructedEventFilter}
6770
6723
  *
6771
6724
  * Other attributes may be specified depending on `filter`:
@@ -6773,7 +6726,7 @@ declare module "factorio:runtime" {
6773
6726
  * - `"name"`: {@link NamePreGhostDeconstructedEventFilter}
6774
6727
  * - `"ghost_type"`: {@link GhostTypePreGhostDeconstructedEventFilter}
6775
6728
  * - `"ghost_name"`: {@link GhostNamePreGhostDeconstructedEventFilter}
6776
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#LuaPreGhostDeconstructedEventFilter Online documentation}
6729
+ * @see {@link https://lua-api.factorio.com/1.1.108/concepts.html#LuaPreGhostDeconstructedEventFilter Online documentation}
6777
6730
  */
6778
6731
  export type LuaPreGhostDeconstructedEventFilter =
6779
6732
  | TypePreGhostDeconstructedEventFilter
@@ -6786,9 +6739,13 @@ declare module "factorio:runtime" {
6786
6739
  */
6787
6740
  export interface BaseScriptRaisedDestroyEventFilter {
6788
6741
  /**
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"`.
6742
+ * The condition to filter on.
6790
6743
  */
6791
6744
  readonly filter:
6745
+ | "type"
6746
+ | "name"
6747
+ | "ghost_type"
6748
+ | "ghost_name"
6792
6749
  | "ghost"
6793
6750
  | "rail"
6794
6751
  | "rail-signal"
@@ -6800,10 +6757,6 @@ declare module "factorio:runtime" {
6800
6757
  | "wall-connectable"
6801
6758
  | "transport-belt-connectable"
6802
6759
  | "circuit-network-connectable"
6803
- | "type"
6804
- | "name"
6805
- | "ghost_type"
6806
- | "ghost_name"
6807
6760
  /**
6808
6761
  * How to combine this with the previous filter. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
6809
6762
  */
@@ -6819,7 +6772,7 @@ declare module "factorio:runtime" {
6819
6772
  export interface TypeScriptRaisedDestroyEventFilter extends BaseScriptRaisedDestroyEventFilter {
6820
6773
  readonly filter: "type"
6821
6774
  /**
6822
- * The prototype type
6775
+ * The prototype type.
6823
6776
  */
6824
6777
  readonly type: EntityType
6825
6778
  }
@@ -6829,7 +6782,7 @@ declare module "factorio:runtime" {
6829
6782
  export interface NameScriptRaisedDestroyEventFilter extends BaseScriptRaisedDestroyEventFilter {
6830
6783
  readonly filter: "name"
6831
6784
  /**
6832
- * The prototype name
6785
+ * The prototype name.
6833
6786
  */
6834
6787
  readonly name: string
6835
6788
  }
@@ -6839,7 +6792,7 @@ declare module "factorio:runtime" {
6839
6792
  export interface GhostTypeScriptRaisedDestroyEventFilter extends BaseScriptRaisedDestroyEventFilter {
6840
6793
  readonly filter: "ghost_type"
6841
6794
  /**
6842
- * The ghost prototype type
6795
+ * The ghost prototype type.
6843
6796
  */
6844
6797
  readonly type: EntityType
6845
6798
  }
@@ -6849,7 +6802,7 @@ declare module "factorio:runtime" {
6849
6802
  export interface GhostNameScriptRaisedDestroyEventFilter extends BaseScriptRaisedDestroyEventFilter {
6850
6803
  readonly filter: "ghost_name"
6851
6804
  /**
6852
- * The ghost prototype name
6805
+ * The ghost prototype name.
6853
6806
  */
6854
6807
  readonly name: string
6855
6808
  }
@@ -6871,8 +6824,6 @@ declare module "factorio:runtime" {
6871
6824
  | "circuit-network-connectable"
6872
6825
  }
6873
6826
  /**
6874
- * Depending on the value of `filter`, the table may take additional fields. `filter` may be one of the following:
6875
- *
6876
6827
  * Base attributes: {@link BaseScriptRaisedDestroyEventFilter}
6877
6828
  *
6878
6829
  * Other attributes may be specified depending on `filter`:
@@ -6880,7 +6831,7 @@ declare module "factorio:runtime" {
6880
6831
  * - `"name"`: {@link NameScriptRaisedDestroyEventFilter}
6881
6832
  * - `"ghost_type"`: {@link GhostTypeScriptRaisedDestroyEventFilter}
6882
6833
  * - `"ghost_name"`: {@link GhostNameScriptRaisedDestroyEventFilter}
6883
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#LuaScriptRaisedDestroyEventFilter Online documentation}
6834
+ * @see {@link https://lua-api.factorio.com/1.1.108/concepts.html#LuaScriptRaisedDestroyEventFilter Online documentation}
6884
6835
  */
6885
6836
  export type LuaScriptRaisedDestroyEventFilter =
6886
6837
  | TypeScriptRaisedDestroyEventFilter
@@ -6893,9 +6844,13 @@ declare module "factorio:runtime" {
6893
6844
  */
6894
6845
  export interface BaseUpgradeCancelledEventFilter {
6895
6846
  /**
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"`.
6847
+ * The condition to filter on.
6897
6848
  */
6898
6849
  readonly filter:
6850
+ | "type"
6851
+ | "name"
6852
+ | "ghost_type"
6853
+ | "ghost_name"
6899
6854
  | "ghost"
6900
6855
  | "rail"
6901
6856
  | "rail-signal"
@@ -6907,10 +6862,6 @@ declare module "factorio:runtime" {
6907
6862
  | "wall-connectable"
6908
6863
  | "transport-belt-connectable"
6909
6864
  | "circuit-network-connectable"
6910
- | "type"
6911
- | "name"
6912
- | "ghost_type"
6913
- | "ghost_name"
6914
6865
  /**
6915
6866
  * How to combine this with the previous filter. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
6916
6867
  */
@@ -6926,7 +6877,7 @@ declare module "factorio:runtime" {
6926
6877
  export interface TypeUpgradeCancelledEventFilter extends BaseUpgradeCancelledEventFilter {
6927
6878
  readonly filter: "type"
6928
6879
  /**
6929
- * The prototype type
6880
+ * The prototype type.
6930
6881
  */
6931
6882
  readonly type: EntityType
6932
6883
  }
@@ -6936,7 +6887,7 @@ declare module "factorio:runtime" {
6936
6887
  export interface NameUpgradeCancelledEventFilter extends BaseUpgradeCancelledEventFilter {
6937
6888
  readonly filter: "name"
6938
6889
  /**
6939
- * The prototype name
6890
+ * The prototype name.
6940
6891
  */
6941
6892
  readonly name: string
6942
6893
  }
@@ -6946,7 +6897,7 @@ declare module "factorio:runtime" {
6946
6897
  export interface GhostTypeUpgradeCancelledEventFilter extends BaseUpgradeCancelledEventFilter {
6947
6898
  readonly filter: "ghost_type"
6948
6899
  /**
6949
- * The ghost prototype type
6900
+ * The ghost prototype type.
6950
6901
  */
6951
6902
  readonly type: EntityType
6952
6903
  }
@@ -6956,7 +6907,7 @@ declare module "factorio:runtime" {
6956
6907
  export interface GhostNameUpgradeCancelledEventFilter extends BaseUpgradeCancelledEventFilter {
6957
6908
  readonly filter: "ghost_name"
6958
6909
  /**
6959
- * The ghost prototype name
6910
+ * The ghost prototype name.
6960
6911
  */
6961
6912
  readonly name: string
6962
6913
  }
@@ -6978,8 +6929,6 @@ declare module "factorio:runtime" {
6978
6929
  | "circuit-network-connectable"
6979
6930
  }
6980
6931
  /**
6981
- * Depending on the value of `filter`, the table may take additional fields. `filter` may be one of the following:
6982
- *
6983
6932
  * Base attributes: {@link BaseUpgradeCancelledEventFilter}
6984
6933
  *
6985
6934
  * Other attributes may be specified depending on `filter`:
@@ -6987,7 +6936,7 @@ declare module "factorio:runtime" {
6987
6936
  * - `"name"`: {@link NameUpgradeCancelledEventFilter}
6988
6937
  * - `"ghost_type"`: {@link GhostTypeUpgradeCancelledEventFilter}
6989
6938
  * - `"ghost_name"`: {@link GhostNameUpgradeCancelledEventFilter}
6990
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#LuaUpgradeCancelledEventFilter Online documentation}
6939
+ * @see {@link https://lua-api.factorio.com/1.1.108/concepts.html#LuaUpgradeCancelledEventFilter Online documentation}
6991
6940
  */
6992
6941
  export type LuaUpgradeCancelledEventFilter =
6993
6942
  | TypeUpgradeCancelledEventFilter
@@ -7000,9 +6949,13 @@ declare module "factorio:runtime" {
7000
6949
  */
7001
6950
  export interface BasePlayerRepairedEntityEventFilter {
7002
6951
  /**
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"`.
6952
+ * The condition to filter on.
7004
6953
  */
7005
6954
  readonly filter:
6955
+ | "type"
6956
+ | "name"
6957
+ | "ghost_type"
6958
+ | "ghost_name"
7006
6959
  | "ghost"
7007
6960
  | "rail"
7008
6961
  | "rail-signal"
@@ -7014,10 +6967,6 @@ declare module "factorio:runtime" {
7014
6967
  | "wall-connectable"
7015
6968
  | "transport-belt-connectable"
7016
6969
  | "circuit-network-connectable"
7017
- | "type"
7018
- | "name"
7019
- | "ghost_type"
7020
- | "ghost_name"
7021
6970
  /**
7022
6971
  * How to combine this with the previous filter. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
7023
6972
  */
@@ -7033,7 +6982,7 @@ declare module "factorio:runtime" {
7033
6982
  export interface TypePlayerRepairedEntityEventFilter extends BasePlayerRepairedEntityEventFilter {
7034
6983
  readonly filter: "type"
7035
6984
  /**
7036
- * The prototype type
6985
+ * The prototype type.
7037
6986
  */
7038
6987
  readonly type: EntityType
7039
6988
  }
@@ -7043,7 +6992,7 @@ declare module "factorio:runtime" {
7043
6992
  export interface NamePlayerRepairedEntityEventFilter extends BasePlayerRepairedEntityEventFilter {
7044
6993
  readonly filter: "name"
7045
6994
  /**
7046
- * The prototype name
6995
+ * The prototype name.
7047
6996
  */
7048
6997
  readonly name: string
7049
6998
  }
@@ -7053,7 +7002,7 @@ declare module "factorio:runtime" {
7053
7002
  export interface GhostTypePlayerRepairedEntityEventFilter extends BasePlayerRepairedEntityEventFilter {
7054
7003
  readonly filter: "ghost_type"
7055
7004
  /**
7056
- * The ghost prototype type
7005
+ * The ghost prototype type.
7057
7006
  */
7058
7007
  readonly type: EntityType
7059
7008
  }
@@ -7063,7 +7012,7 @@ declare module "factorio:runtime" {
7063
7012
  export interface GhostNamePlayerRepairedEntityEventFilter extends BasePlayerRepairedEntityEventFilter {
7064
7013
  readonly filter: "ghost_name"
7065
7014
  /**
7066
- * The ghost prototype name
7015
+ * The ghost prototype name.
7067
7016
  */
7068
7017
  readonly name: string
7069
7018
  }
@@ -7085,8 +7034,6 @@ declare module "factorio:runtime" {
7085
7034
  | "circuit-network-connectable"
7086
7035
  }
7087
7036
  /**
7088
- * Depending on the value of `filter`, the table may take additional fields. `filter` may be one of the following:
7089
- *
7090
7037
  * Base attributes: {@link BasePlayerRepairedEntityEventFilter}
7091
7038
  *
7092
7039
  * Other attributes may be specified depending on `filter`:
@@ -7094,7 +7041,7 @@ declare module "factorio:runtime" {
7094
7041
  * - `"name"`: {@link NamePlayerRepairedEntityEventFilter}
7095
7042
  * - `"ghost_type"`: {@link GhostTypePlayerRepairedEntityEventFilter}
7096
7043
  * - `"ghost_name"`: {@link GhostNamePlayerRepairedEntityEventFilter}
7097
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#LuaPlayerRepairedEntityEventFilter Online documentation}
7044
+ * @see {@link https://lua-api.factorio.com/1.1.108/concepts.html#LuaPlayerRepairedEntityEventFilter Online documentation}
7098
7045
  */
7099
7046
  export type LuaPlayerRepairedEntityEventFilter =
7100
7047
  | TypePlayerRepairedEntityEventFilter
@@ -7107,9 +7054,13 @@ declare module "factorio:runtime" {
7107
7054
  */
7108
7055
  export interface BaseScriptRaisedTeleportedEventFilter {
7109
7056
  /**
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"`.
7057
+ * The condition to filter on.
7111
7058
  */
7112
7059
  readonly filter:
7060
+ | "type"
7061
+ | "name"
7062
+ | "ghost_type"
7063
+ | "ghost_name"
7113
7064
  | "ghost"
7114
7065
  | "rail"
7115
7066
  | "rail-signal"
@@ -7121,10 +7072,6 @@ declare module "factorio:runtime" {
7121
7072
  | "wall-connectable"
7122
7073
  | "transport-belt-connectable"
7123
7074
  | "circuit-network-connectable"
7124
- | "type"
7125
- | "name"
7126
- | "ghost_type"
7127
- | "ghost_name"
7128
7075
  /**
7129
7076
  * How to combine this with the previous filter. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
7130
7077
  */
@@ -7140,7 +7087,7 @@ declare module "factorio:runtime" {
7140
7087
  export interface TypeScriptRaisedTeleportedEventFilter extends BaseScriptRaisedTeleportedEventFilter {
7141
7088
  readonly filter: "type"
7142
7089
  /**
7143
- * The prototype type
7090
+ * The prototype type.
7144
7091
  */
7145
7092
  readonly type: EntityType
7146
7093
  }
@@ -7150,7 +7097,7 @@ declare module "factorio:runtime" {
7150
7097
  export interface NameScriptRaisedTeleportedEventFilter extends BaseScriptRaisedTeleportedEventFilter {
7151
7098
  readonly filter: "name"
7152
7099
  /**
7153
- * The prototype name
7100
+ * The prototype name.
7154
7101
  */
7155
7102
  readonly name: string
7156
7103
  }
@@ -7160,7 +7107,7 @@ declare module "factorio:runtime" {
7160
7107
  export interface GhostTypeScriptRaisedTeleportedEventFilter extends BaseScriptRaisedTeleportedEventFilter {
7161
7108
  readonly filter: "ghost_type"
7162
7109
  /**
7163
- * The ghost prototype type
7110
+ * The ghost prototype type.
7164
7111
  */
7165
7112
  readonly type: EntityType
7166
7113
  }
@@ -7170,7 +7117,7 @@ declare module "factorio:runtime" {
7170
7117
  export interface GhostNameScriptRaisedTeleportedEventFilter extends BaseScriptRaisedTeleportedEventFilter {
7171
7118
  readonly filter: "ghost_name"
7172
7119
  /**
7173
- * The ghost prototype name
7120
+ * The ghost prototype name.
7174
7121
  */
7175
7122
  readonly name: string
7176
7123
  }
@@ -7192,8 +7139,6 @@ declare module "factorio:runtime" {
7192
7139
  | "circuit-network-connectable"
7193
7140
  }
7194
7141
  /**
7195
- * Depending on the value of `filter`, the table may take additional fields. `filter` may be one of the following:
7196
- *
7197
7142
  * Base attributes: {@link BaseScriptRaisedTeleportedEventFilter}
7198
7143
  *
7199
7144
  * Other attributes may be specified depending on `filter`:
@@ -7201,7 +7146,7 @@ declare module "factorio:runtime" {
7201
7146
  * - `"name"`: {@link NameScriptRaisedTeleportedEventFilter}
7202
7147
  * - `"ghost_type"`: {@link GhostTypeScriptRaisedTeleportedEventFilter}
7203
7148
  * - `"ghost_name"`: {@link GhostNameScriptRaisedTeleportedEventFilter}
7204
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#LuaScriptRaisedTeleportedEventFilter Online documentation}
7149
+ * @see {@link https://lua-api.factorio.com/1.1.108/concepts.html#LuaScriptRaisedTeleportedEventFilter Online documentation}
7205
7150
  */
7206
7151
  export type LuaScriptRaisedTeleportedEventFilter =
7207
7152
  | TypeScriptRaisedTeleportedEventFilter
@@ -7214,9 +7159,13 @@ declare module "factorio:runtime" {
7214
7159
  */
7215
7160
  export interface BaseEntityMarkedForUpgradeEventFilter {
7216
7161
  /**
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"`.
7162
+ * The condition to filter on.
7218
7163
  */
7219
7164
  readonly filter:
7165
+ | "type"
7166
+ | "name"
7167
+ | "ghost_type"
7168
+ | "ghost_name"
7220
7169
  | "ghost"
7221
7170
  | "rail"
7222
7171
  | "rail-signal"
@@ -7228,10 +7177,6 @@ declare module "factorio:runtime" {
7228
7177
  | "wall-connectable"
7229
7178
  | "transport-belt-connectable"
7230
7179
  | "circuit-network-connectable"
7231
- | "type"
7232
- | "name"
7233
- | "ghost_type"
7234
- | "ghost_name"
7235
7180
  /**
7236
7181
  * How to combine this with the previous filter. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
7237
7182
  */
@@ -7247,7 +7192,7 @@ declare module "factorio:runtime" {
7247
7192
  export interface TypeEntityMarkedForUpgradeEventFilter extends BaseEntityMarkedForUpgradeEventFilter {
7248
7193
  readonly filter: "type"
7249
7194
  /**
7250
- * The prototype type
7195
+ * The prototype type.
7251
7196
  */
7252
7197
  readonly type: EntityType
7253
7198
  }
@@ -7257,7 +7202,7 @@ declare module "factorio:runtime" {
7257
7202
  export interface NameEntityMarkedForUpgradeEventFilter extends BaseEntityMarkedForUpgradeEventFilter {
7258
7203
  readonly filter: "name"
7259
7204
  /**
7260
- * The prototype name
7205
+ * The prototype name.
7261
7206
  */
7262
7207
  readonly name: string
7263
7208
  }
@@ -7267,7 +7212,7 @@ declare module "factorio:runtime" {
7267
7212
  export interface GhostTypeEntityMarkedForUpgradeEventFilter extends BaseEntityMarkedForUpgradeEventFilter {
7268
7213
  readonly filter: "ghost_type"
7269
7214
  /**
7270
- * The ghost prototype type
7215
+ * The ghost prototype type.
7271
7216
  */
7272
7217
  readonly type: EntityType
7273
7218
  }
@@ -7277,7 +7222,7 @@ declare module "factorio:runtime" {
7277
7222
  export interface GhostNameEntityMarkedForUpgradeEventFilter extends BaseEntityMarkedForUpgradeEventFilter {
7278
7223
  readonly filter: "ghost_name"
7279
7224
  /**
7280
- * The ghost prototype name
7225
+ * The ghost prototype name.
7281
7226
  */
7282
7227
  readonly name: string
7283
7228
  }
@@ -7299,8 +7244,6 @@ declare module "factorio:runtime" {
7299
7244
  | "circuit-network-connectable"
7300
7245
  }
7301
7246
  /**
7302
- * Depending on the value of `filter`, the table may take additional fields. `filter` may be one of the following:
7303
- *
7304
7247
  * Base attributes: {@link BaseEntityMarkedForUpgradeEventFilter}
7305
7248
  *
7306
7249
  * Other attributes may be specified depending on `filter`:
@@ -7308,7 +7251,7 @@ declare module "factorio:runtime" {
7308
7251
  * - `"name"`: {@link NameEntityMarkedForUpgradeEventFilter}
7309
7252
  * - `"ghost_type"`: {@link GhostTypeEntityMarkedForUpgradeEventFilter}
7310
7253
  * - `"ghost_name"`: {@link GhostNameEntityMarkedForUpgradeEventFilter}
7311
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#LuaEntityMarkedForUpgradeEventFilter Online documentation}
7254
+ * @see {@link https://lua-api.factorio.com/1.1.108/concepts.html#LuaEntityMarkedForUpgradeEventFilter Online documentation}
7312
7255
  */
7313
7256
  export type LuaEntityMarkedForUpgradeEventFilter =
7314
7257
  | TypeEntityMarkedForUpgradeEventFilter
@@ -7321,7 +7264,7 @@ declare module "factorio:runtime" {
7321
7264
  */
7322
7265
  export interface BasePostEntityDiedEventFilter {
7323
7266
  /**
7324
- * The condition to filter on. Can only be `"type"`.
7267
+ * The condition to filter on.
7325
7268
  */
7326
7269
  readonly filter: "type"
7327
7270
  /**
@@ -7339,18 +7282,16 @@ declare module "factorio:runtime" {
7339
7282
  export interface TypePostEntityDiedEventFilter extends BasePostEntityDiedEventFilter {
7340
7283
  readonly filter: "type"
7341
7284
  /**
7342
- * The prototype type
7285
+ * The prototype type.
7343
7286
  */
7344
7287
  readonly type: EntityType
7345
7288
  }
7346
7289
  /**
7347
- * Depending on the value of `filter`, the table may take additional fields. `filter` may be one of the following:
7348
- *
7349
7290
  * Base attributes: {@link BasePostEntityDiedEventFilter}
7350
7291
  *
7351
7292
  * Other attributes may be specified depending on `filter`:
7352
7293
  * - `"type"`: {@link TypePostEntityDiedEventFilter}
7353
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#LuaPostEntityDiedEventFilter Online documentation}
7294
+ * @see {@link https://lua-api.factorio.com/1.1.108/concepts.html#LuaPostEntityDiedEventFilter Online documentation}
7354
7295
  */
7355
7296
  export type LuaPostEntityDiedEventFilter = TypePostEntityDiedEventFilter
7356
7297
  /**
@@ -7358,9 +7299,13 @@ declare module "factorio:runtime" {
7358
7299
  */
7359
7300
  export interface BasePreRobotMinedEntityEventFilter {
7360
7301
  /**
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"`.
7302
+ * The condition to filter on.
7362
7303
  */
7363
7304
  readonly filter:
7305
+ | "type"
7306
+ | "name"
7307
+ | "ghost_type"
7308
+ | "ghost_name"
7364
7309
  | "ghost"
7365
7310
  | "rail"
7366
7311
  | "rail-signal"
@@ -7372,10 +7317,6 @@ declare module "factorio:runtime" {
7372
7317
  | "wall-connectable"
7373
7318
  | "transport-belt-connectable"
7374
7319
  | "circuit-network-connectable"
7375
- | "type"
7376
- | "name"
7377
- | "ghost_type"
7378
- | "ghost_name"
7379
7320
  /**
7380
7321
  * How to combine this with the previous filter. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
7381
7322
  */
@@ -7391,7 +7332,7 @@ declare module "factorio:runtime" {
7391
7332
  export interface TypePreRobotMinedEntityEventFilter extends BasePreRobotMinedEntityEventFilter {
7392
7333
  readonly filter: "type"
7393
7334
  /**
7394
- * The prototype type
7335
+ * The prototype type.
7395
7336
  */
7396
7337
  readonly type: EntityType
7397
7338
  }
@@ -7401,7 +7342,7 @@ declare module "factorio:runtime" {
7401
7342
  export interface NamePreRobotMinedEntityEventFilter extends BasePreRobotMinedEntityEventFilter {
7402
7343
  readonly filter: "name"
7403
7344
  /**
7404
- * The prototype name
7345
+ * The prototype name.
7405
7346
  */
7406
7347
  readonly name: string
7407
7348
  }
@@ -7411,7 +7352,7 @@ declare module "factorio:runtime" {
7411
7352
  export interface GhostTypePreRobotMinedEntityEventFilter extends BasePreRobotMinedEntityEventFilter {
7412
7353
  readonly filter: "ghost_type"
7413
7354
  /**
7414
- * The ghost prototype type
7355
+ * The ghost prototype type.
7415
7356
  */
7416
7357
  readonly type: EntityType
7417
7358
  }
@@ -7421,7 +7362,7 @@ declare module "factorio:runtime" {
7421
7362
  export interface GhostNamePreRobotMinedEntityEventFilter extends BasePreRobotMinedEntityEventFilter {
7422
7363
  readonly filter: "ghost_name"
7423
7364
  /**
7424
- * The ghost prototype name
7365
+ * The ghost prototype name.
7425
7366
  */
7426
7367
  readonly name: string
7427
7368
  }
@@ -7443,8 +7384,6 @@ declare module "factorio:runtime" {
7443
7384
  | "circuit-network-connectable"
7444
7385
  }
7445
7386
  /**
7446
- * Depending on the value of `filter`, the table may take additional fields. `filter` may be one of the following:
7447
- *
7448
7387
  * Base attributes: {@link BasePreRobotMinedEntityEventFilter}
7449
7388
  *
7450
7389
  * Other attributes may be specified depending on `filter`:
@@ -7452,7 +7391,7 @@ declare module "factorio:runtime" {
7452
7391
  * - `"name"`: {@link NamePreRobotMinedEntityEventFilter}
7453
7392
  * - `"ghost_type"`: {@link GhostTypePreRobotMinedEntityEventFilter}
7454
7393
  * - `"ghost_name"`: {@link GhostNamePreRobotMinedEntityEventFilter}
7455
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#LuaPreRobotMinedEntityEventFilter Online documentation}
7394
+ * @see {@link https://lua-api.factorio.com/1.1.108/concepts.html#LuaPreRobotMinedEntityEventFilter Online documentation}
7456
7395
  */
7457
7396
  export type LuaPreRobotMinedEntityEventFilter =
7458
7397
  | TypePreRobotMinedEntityEventFilter
@@ -7465,9 +7404,13 @@ declare module "factorio:runtime" {
7465
7404
  */
7466
7405
  export interface BaseEntityClonedEventFilter {
7467
7406
  /**
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"`.
7407
+ * The condition to filter on.
7469
7408
  */
7470
7409
  readonly filter:
7410
+ | "type"
7411
+ | "name"
7412
+ | "ghost_type"
7413
+ | "ghost_name"
7471
7414
  | "ghost"
7472
7415
  | "rail"
7473
7416
  | "rail-signal"
@@ -7479,10 +7422,6 @@ declare module "factorio:runtime" {
7479
7422
  | "wall-connectable"
7480
7423
  | "transport-belt-connectable"
7481
7424
  | "circuit-network-connectable"
7482
- | "type"
7483
- | "name"
7484
- | "ghost_type"
7485
- | "ghost_name"
7486
7425
  /**
7487
7426
  * How to combine this with the previous filter. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
7488
7427
  */
@@ -7498,7 +7437,7 @@ declare module "factorio:runtime" {
7498
7437
  export interface TypeEntityClonedEventFilter extends BaseEntityClonedEventFilter {
7499
7438
  readonly filter: "type"
7500
7439
  /**
7501
- * The prototype type
7440
+ * The prototype type.
7502
7441
  */
7503
7442
  readonly type: EntityType
7504
7443
  }
@@ -7508,7 +7447,7 @@ declare module "factorio:runtime" {
7508
7447
  export interface NameEntityClonedEventFilter extends BaseEntityClonedEventFilter {
7509
7448
  readonly filter: "name"
7510
7449
  /**
7511
- * The prototype name
7450
+ * The prototype name.
7512
7451
  */
7513
7452
  readonly name: string
7514
7453
  }
@@ -7518,7 +7457,7 @@ declare module "factorio:runtime" {
7518
7457
  export interface GhostTypeEntityClonedEventFilter extends BaseEntityClonedEventFilter {
7519
7458
  readonly filter: "ghost_type"
7520
7459
  /**
7521
- * The ghost prototype type
7460
+ * The ghost prototype type.
7522
7461
  */
7523
7462
  readonly type: EntityType
7524
7463
  }
@@ -7528,7 +7467,7 @@ declare module "factorio:runtime" {
7528
7467
  export interface GhostNameEntityClonedEventFilter extends BaseEntityClonedEventFilter {
7529
7468
  readonly filter: "ghost_name"
7530
7469
  /**
7531
- * The ghost prototype name
7470
+ * The ghost prototype name.
7532
7471
  */
7533
7472
  readonly name: string
7534
7473
  }
@@ -7550,8 +7489,6 @@ declare module "factorio:runtime" {
7550
7489
  | "circuit-network-connectable"
7551
7490
  }
7552
7491
  /**
7553
- * Depending on the value of `filter`, the table may take additional fields. `filter` may be one of the following:
7554
- *
7555
7492
  * Base attributes: {@link BaseEntityClonedEventFilter}
7556
7493
  *
7557
7494
  * Other attributes may be specified depending on `filter`:
@@ -7559,7 +7496,7 @@ declare module "factorio:runtime" {
7559
7496
  * - `"name"`: {@link NameEntityClonedEventFilter}
7560
7497
  * - `"ghost_type"`: {@link GhostTypeEntityClonedEventFilter}
7561
7498
  * - `"ghost_name"`: {@link GhostNameEntityClonedEventFilter}
7562
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#LuaEntityClonedEventFilter Online documentation}
7499
+ * @see {@link https://lua-api.factorio.com/1.1.108/concepts.html#LuaEntityClonedEventFilter Online documentation}
7563
7500
  */
7564
7501
  export type LuaEntityClonedEventFilter =
7565
7502
  | TypeEntityClonedEventFilter
@@ -7572,9 +7509,13 @@ declare module "factorio:runtime" {
7572
7509
  */
7573
7510
  export interface BaseScriptRaisedBuiltEventFilter {
7574
7511
  /**
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"`.
7512
+ * The condition to filter on.
7576
7513
  */
7577
7514
  readonly filter:
7515
+ | "type"
7516
+ | "name"
7517
+ | "ghost_type"
7518
+ | "ghost_name"
7578
7519
  | "ghost"
7579
7520
  | "rail"
7580
7521
  | "rail-signal"
@@ -7586,10 +7527,6 @@ declare module "factorio:runtime" {
7586
7527
  | "wall-connectable"
7587
7528
  | "transport-belt-connectable"
7588
7529
  | "circuit-network-connectable"
7589
- | "type"
7590
- | "name"
7591
- | "ghost_type"
7592
- | "ghost_name"
7593
7530
  /**
7594
7531
  * How to combine this with the previous filter. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
7595
7532
  */
@@ -7605,7 +7542,7 @@ declare module "factorio:runtime" {
7605
7542
  export interface TypeScriptRaisedBuiltEventFilter extends BaseScriptRaisedBuiltEventFilter {
7606
7543
  readonly filter: "type"
7607
7544
  /**
7608
- * The prototype type
7545
+ * The prototype type.
7609
7546
  */
7610
7547
  readonly type: EntityType
7611
7548
  }
@@ -7615,7 +7552,7 @@ declare module "factorio:runtime" {
7615
7552
  export interface NameScriptRaisedBuiltEventFilter extends BaseScriptRaisedBuiltEventFilter {
7616
7553
  readonly filter: "name"
7617
7554
  /**
7618
- * The prototype name
7555
+ * The prototype name.
7619
7556
  */
7620
7557
  readonly name: string
7621
7558
  }
@@ -7625,7 +7562,7 @@ declare module "factorio:runtime" {
7625
7562
  export interface GhostTypeScriptRaisedBuiltEventFilter extends BaseScriptRaisedBuiltEventFilter {
7626
7563
  readonly filter: "ghost_type"
7627
7564
  /**
7628
- * The ghost prototype type
7565
+ * The ghost prototype type.
7629
7566
  */
7630
7567
  readonly type: EntityType
7631
7568
  }
@@ -7635,7 +7572,7 @@ declare module "factorio:runtime" {
7635
7572
  export interface GhostNameScriptRaisedBuiltEventFilter extends BaseScriptRaisedBuiltEventFilter {
7636
7573
  readonly filter: "ghost_name"
7637
7574
  /**
7638
- * The ghost prototype name
7575
+ * The ghost prototype name.
7639
7576
  */
7640
7577
  readonly name: string
7641
7578
  }
@@ -7657,8 +7594,6 @@ declare module "factorio:runtime" {
7657
7594
  | "circuit-network-connectable"
7658
7595
  }
7659
7596
  /**
7660
- * Depending on the value of `filter`, the table may take additional fields. `filter` may be one of the following:
7661
- *
7662
7597
  * Base attributes: {@link BaseScriptRaisedBuiltEventFilter}
7663
7598
  *
7664
7599
  * Other attributes may be specified depending on `filter`:
@@ -7666,7 +7601,7 @@ declare module "factorio:runtime" {
7666
7601
  * - `"name"`: {@link NameScriptRaisedBuiltEventFilter}
7667
7602
  * - `"ghost_type"`: {@link GhostTypeScriptRaisedBuiltEventFilter}
7668
7603
  * - `"ghost_name"`: {@link GhostNameScriptRaisedBuiltEventFilter}
7669
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#LuaScriptRaisedBuiltEventFilter Online documentation}
7604
+ * @see {@link https://lua-api.factorio.com/1.1.108/concepts.html#LuaScriptRaisedBuiltEventFilter Online documentation}
7670
7605
  */
7671
7606
  export type LuaScriptRaisedBuiltEventFilter =
7672
7607
  | TypeScriptRaisedBuiltEventFilter
@@ -7679,9 +7614,13 @@ declare module "factorio:runtime" {
7679
7614
  */
7680
7615
  export interface BaseRobotMinedEntityEventFilter {
7681
7616
  /**
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"`.
7617
+ * The condition to filter on.
7683
7618
  */
7684
7619
  readonly filter:
7620
+ | "type"
7621
+ | "name"
7622
+ | "ghost_type"
7623
+ | "ghost_name"
7685
7624
  | "ghost"
7686
7625
  | "rail"
7687
7626
  | "rail-signal"
@@ -7693,10 +7632,6 @@ declare module "factorio:runtime" {
7693
7632
  | "wall-connectable"
7694
7633
  | "transport-belt-connectable"
7695
7634
  | "circuit-network-connectable"
7696
- | "type"
7697
- | "name"
7698
- | "ghost_type"
7699
- | "ghost_name"
7700
7635
  /**
7701
7636
  * How to combine this with the previous filter. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
7702
7637
  */
@@ -7712,7 +7647,7 @@ declare module "factorio:runtime" {
7712
7647
  export interface TypeRobotMinedEntityEventFilter extends BaseRobotMinedEntityEventFilter {
7713
7648
  readonly filter: "type"
7714
7649
  /**
7715
- * The prototype type
7650
+ * The prototype type.
7716
7651
  */
7717
7652
  readonly type: EntityType
7718
7653
  }
@@ -7722,7 +7657,7 @@ declare module "factorio:runtime" {
7722
7657
  export interface NameRobotMinedEntityEventFilter extends BaseRobotMinedEntityEventFilter {
7723
7658
  readonly filter: "name"
7724
7659
  /**
7725
- * The prototype name
7660
+ * The prototype name.
7726
7661
  */
7727
7662
  readonly name: string
7728
7663
  }
@@ -7732,7 +7667,7 @@ declare module "factorio:runtime" {
7732
7667
  export interface GhostTypeRobotMinedEntityEventFilter extends BaseRobotMinedEntityEventFilter {
7733
7668
  readonly filter: "ghost_type"
7734
7669
  /**
7735
- * The ghost prototype type
7670
+ * The ghost prototype type.
7736
7671
  */
7737
7672
  readonly type: EntityType
7738
7673
  }
@@ -7742,7 +7677,7 @@ declare module "factorio:runtime" {
7742
7677
  export interface GhostNameRobotMinedEntityEventFilter extends BaseRobotMinedEntityEventFilter {
7743
7678
  readonly filter: "ghost_name"
7744
7679
  /**
7745
- * The ghost prototype name
7680
+ * The ghost prototype name.
7746
7681
  */
7747
7682
  readonly name: string
7748
7683
  }
@@ -7764,8 +7699,6 @@ declare module "factorio:runtime" {
7764
7699
  | "circuit-network-connectable"
7765
7700
  }
7766
7701
  /**
7767
- * Depending on the value of `filter`, the table may take additional fields. `filter` may be one of the following:
7768
- *
7769
7702
  * Base attributes: {@link BaseRobotMinedEntityEventFilter}
7770
7703
  *
7771
7704
  * Other attributes may be specified depending on `filter`:
@@ -7773,7 +7706,7 @@ declare module "factorio:runtime" {
7773
7706
  * - `"name"`: {@link NameRobotMinedEntityEventFilter}
7774
7707
  * - `"ghost_type"`: {@link GhostTypeRobotMinedEntityEventFilter}
7775
7708
  * - `"ghost_name"`: {@link GhostNameRobotMinedEntityEventFilter}
7776
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#LuaRobotMinedEntityEventFilter Online documentation}
7709
+ * @see {@link https://lua-api.factorio.com/1.1.108/concepts.html#LuaRobotMinedEntityEventFilter Online documentation}
7777
7710
  */
7778
7711
  export type LuaRobotMinedEntityEventFilter =
7779
7712
  | TypeRobotMinedEntityEventFilter
@@ -7786,9 +7719,13 @@ declare module "factorio:runtime" {
7786
7719
  */
7787
7720
  export interface BasePrePlayerMinedEntityEventFilter {
7788
7721
  /**
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"`.
7722
+ * The condition to filter on.
7790
7723
  */
7791
7724
  readonly filter:
7725
+ | "type"
7726
+ | "name"
7727
+ | "ghost_type"
7728
+ | "ghost_name"
7792
7729
  | "ghost"
7793
7730
  | "rail"
7794
7731
  | "rail-signal"
@@ -7800,10 +7737,6 @@ declare module "factorio:runtime" {
7800
7737
  | "wall-connectable"
7801
7738
  | "transport-belt-connectable"
7802
7739
  | "circuit-network-connectable"
7803
- | "type"
7804
- | "name"
7805
- | "ghost_type"
7806
- | "ghost_name"
7807
7740
  /**
7808
7741
  * How to combine this with the previous filter. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
7809
7742
  */
@@ -7819,7 +7752,7 @@ declare module "factorio:runtime" {
7819
7752
  export interface TypePrePlayerMinedEntityEventFilter extends BasePrePlayerMinedEntityEventFilter {
7820
7753
  readonly filter: "type"
7821
7754
  /**
7822
- * The prototype type
7755
+ * The prototype type.
7823
7756
  */
7824
7757
  readonly type: EntityType
7825
7758
  }
@@ -7829,7 +7762,7 @@ declare module "factorio:runtime" {
7829
7762
  export interface NamePrePlayerMinedEntityEventFilter extends BasePrePlayerMinedEntityEventFilter {
7830
7763
  readonly filter: "name"
7831
7764
  /**
7832
- * The prototype name
7765
+ * The prototype name.
7833
7766
  */
7834
7767
  readonly name: string
7835
7768
  }
@@ -7839,7 +7772,7 @@ declare module "factorio:runtime" {
7839
7772
  export interface GhostTypePrePlayerMinedEntityEventFilter extends BasePrePlayerMinedEntityEventFilter {
7840
7773
  readonly filter: "ghost_type"
7841
7774
  /**
7842
- * The ghost prototype type
7775
+ * The ghost prototype type.
7843
7776
  */
7844
7777
  readonly type: EntityType
7845
7778
  }
@@ -7849,7 +7782,7 @@ declare module "factorio:runtime" {
7849
7782
  export interface GhostNamePrePlayerMinedEntityEventFilter extends BasePrePlayerMinedEntityEventFilter {
7850
7783
  readonly filter: "ghost_name"
7851
7784
  /**
7852
- * The ghost prototype name
7785
+ * The ghost prototype name.
7853
7786
  */
7854
7787
  readonly name: string
7855
7788
  }
@@ -7871,8 +7804,6 @@ declare module "factorio:runtime" {
7871
7804
  | "circuit-network-connectable"
7872
7805
  }
7873
7806
  /**
7874
- * Depending on the value of `filter`, the table may take additional fields. `filter` may be one of the following:
7875
- *
7876
7807
  * Base attributes: {@link BasePrePlayerMinedEntityEventFilter}
7877
7808
  *
7878
7809
  * Other attributes may be specified depending on `filter`:
@@ -7880,7 +7811,7 @@ declare module "factorio:runtime" {
7880
7811
  * - `"name"`: {@link NamePrePlayerMinedEntityEventFilter}
7881
7812
  * - `"ghost_type"`: {@link GhostTypePrePlayerMinedEntityEventFilter}
7882
7813
  * - `"ghost_name"`: {@link GhostNamePrePlayerMinedEntityEventFilter}
7883
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#LuaPrePlayerMinedEntityEventFilter Online documentation}
7814
+ * @see {@link https://lua-api.factorio.com/1.1.108/concepts.html#LuaPrePlayerMinedEntityEventFilter Online documentation}
7884
7815
  */
7885
7816
  export type LuaPrePlayerMinedEntityEventFilter =
7886
7817
  | TypePrePlayerMinedEntityEventFilter
@@ -7893,9 +7824,13 @@ declare module "factorio:runtime" {
7893
7824
  */
7894
7825
  export interface BaseRobotBuiltEntityEventFilter {
7895
7826
  /**
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"`.
7827
+ * The condition to filter on.
7897
7828
  */
7898
7829
  readonly filter:
7830
+ | "type"
7831
+ | "name"
7832
+ | "ghost_type"
7833
+ | "ghost_name"
7899
7834
  | "ghost"
7900
7835
  | "rail"
7901
7836
  | "rail-signal"
@@ -7907,10 +7842,6 @@ declare module "factorio:runtime" {
7907
7842
  | "wall-connectable"
7908
7843
  | "transport-belt-connectable"
7909
7844
  | "circuit-network-connectable"
7910
- | "type"
7911
- | "name"
7912
- | "ghost_type"
7913
- | "ghost_name"
7914
7845
  | "force"
7915
7846
  /**
7916
7847
  * How to combine this with the previous filter. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
@@ -7927,7 +7858,7 @@ declare module "factorio:runtime" {
7927
7858
  export interface TypeRobotBuiltEntityEventFilter extends BaseRobotBuiltEntityEventFilter {
7928
7859
  readonly filter: "type"
7929
7860
  /**
7930
- * The prototype type
7861
+ * The prototype type.
7931
7862
  */
7932
7863
  readonly type: EntityType
7933
7864
  }
@@ -7937,7 +7868,7 @@ declare module "factorio:runtime" {
7937
7868
  export interface NameRobotBuiltEntityEventFilter extends BaseRobotBuiltEntityEventFilter {
7938
7869
  readonly filter: "name"
7939
7870
  /**
7940
- * The prototype name
7871
+ * The prototype name.
7941
7872
  */
7942
7873
  readonly name: string
7943
7874
  }
@@ -7947,7 +7878,7 @@ declare module "factorio:runtime" {
7947
7878
  export interface GhostTypeRobotBuiltEntityEventFilter extends BaseRobotBuiltEntityEventFilter {
7948
7879
  readonly filter: "ghost_type"
7949
7880
  /**
7950
- * The ghost prototype type
7881
+ * The ghost prototype type.
7951
7882
  */
7952
7883
  readonly type: EntityType
7953
7884
  }
@@ -7957,7 +7888,7 @@ declare module "factorio:runtime" {
7957
7888
  export interface GhostNameRobotBuiltEntityEventFilter extends BaseRobotBuiltEntityEventFilter {
7958
7889
  readonly filter: "ghost_name"
7959
7890
  /**
7960
- * The ghost prototype name
7891
+ * The ghost prototype name.
7961
7892
  */
7962
7893
  readonly name: string
7963
7894
  }
@@ -7989,8 +7920,6 @@ declare module "factorio:runtime" {
7989
7920
  | "circuit-network-connectable"
7990
7921
  }
7991
7922
  /**
7992
- * Depending on the value of `filter`, the table may take additional fields. `filter` may be one of the following:
7993
- *
7994
7923
  * Base attributes: {@link BaseRobotBuiltEntityEventFilter}
7995
7924
  *
7996
7925
  * Other attributes may be specified depending on `filter`:
@@ -7999,7 +7928,7 @@ declare module "factorio:runtime" {
7999
7928
  * - `"ghost_type"`: {@link GhostTypeRobotBuiltEntityEventFilter}
8000
7929
  * - `"ghost_name"`: {@link GhostNameRobotBuiltEntityEventFilter}
8001
7930
  * - `"force"`: {@link ForceRobotBuiltEntityEventFilter}
8002
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#LuaRobotBuiltEntityEventFilter Online documentation}
7931
+ * @see {@link https://lua-api.factorio.com/1.1.108/concepts.html#LuaRobotBuiltEntityEventFilter Online documentation}
8003
7932
  */
8004
7933
  export type LuaRobotBuiltEntityEventFilter =
8005
7934
  | TypeRobotBuiltEntityEventFilter
@@ -8013,9 +7942,13 @@ declare module "factorio:runtime" {
8013
7942
  */
8014
7943
  export interface BasePreGhostUpgradedEventFilter {
8015
7944
  /**
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"`.
7945
+ * The condition to filter on.
8017
7946
  */
8018
7947
  readonly filter:
7948
+ | "type"
7949
+ | "name"
7950
+ | "ghost_type"
7951
+ | "ghost_name"
8019
7952
  | "ghost"
8020
7953
  | "rail"
8021
7954
  | "rail-signal"
@@ -8027,10 +7960,6 @@ declare module "factorio:runtime" {
8027
7960
  | "wall-connectable"
8028
7961
  | "transport-belt-connectable"
8029
7962
  | "circuit-network-connectable"
8030
- | "type"
8031
- | "name"
8032
- | "ghost_type"
8033
- | "ghost_name"
8034
7963
  /**
8035
7964
  * How to combine this with the previous filter. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
8036
7965
  */
@@ -8046,7 +7975,7 @@ declare module "factorio:runtime" {
8046
7975
  export interface TypePreGhostUpgradedEventFilter extends BasePreGhostUpgradedEventFilter {
8047
7976
  readonly filter: "type"
8048
7977
  /**
8049
- * The prototype type
7978
+ * The prototype type.
8050
7979
  */
8051
7980
  readonly type: EntityType
8052
7981
  }
@@ -8056,7 +7985,7 @@ declare module "factorio:runtime" {
8056
7985
  export interface NamePreGhostUpgradedEventFilter extends BasePreGhostUpgradedEventFilter {
8057
7986
  readonly filter: "name"
8058
7987
  /**
8059
- * The prototype name
7988
+ * The prototype name.
8060
7989
  */
8061
7990
  readonly name: string
8062
7991
  }
@@ -8066,7 +7995,7 @@ declare module "factorio:runtime" {
8066
7995
  export interface GhostTypePreGhostUpgradedEventFilter extends BasePreGhostUpgradedEventFilter {
8067
7996
  readonly filter: "ghost_type"
8068
7997
  /**
8069
- * The ghost prototype type
7998
+ * The ghost prototype type.
8070
7999
  */
8071
8000
  readonly type: EntityType
8072
8001
  }
@@ -8076,7 +8005,7 @@ declare module "factorio:runtime" {
8076
8005
  export interface GhostNamePreGhostUpgradedEventFilter extends BasePreGhostUpgradedEventFilter {
8077
8006
  readonly filter: "ghost_name"
8078
8007
  /**
8079
- * The ghost prototype name
8008
+ * The ghost prototype name.
8080
8009
  */
8081
8010
  readonly name: string
8082
8011
  }
@@ -8098,8 +8027,6 @@ declare module "factorio:runtime" {
8098
8027
  | "circuit-network-connectable"
8099
8028
  }
8100
8029
  /**
8101
- * Depending on the value of `filter`, the table may take additional fields. `filter` may be one of the following:
8102
- *
8103
8030
  * Base attributes: {@link BasePreGhostUpgradedEventFilter}
8104
8031
  *
8105
8032
  * Other attributes may be specified depending on `filter`:
@@ -8107,7 +8034,7 @@ declare module "factorio:runtime" {
8107
8034
  * - `"name"`: {@link NamePreGhostUpgradedEventFilter}
8108
8035
  * - `"ghost_type"`: {@link GhostTypePreGhostUpgradedEventFilter}
8109
8036
  * - `"ghost_name"`: {@link GhostNamePreGhostUpgradedEventFilter}
8110
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#LuaPreGhostUpgradedEventFilter Online documentation}
8037
+ * @see {@link https://lua-api.factorio.com/1.1.108/concepts.html#LuaPreGhostUpgradedEventFilter Online documentation}
8111
8038
  */
8112
8039
  export type LuaPreGhostUpgradedEventFilter =
8113
8040
  | TypePreGhostUpgradedEventFilter
@@ -8120,9 +8047,13 @@ declare module "factorio:runtime" {
8120
8047
  */
8121
8048
  export interface BaseEntityDeconstructionCancelledEventFilter {
8122
8049
  /**
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"`.
8050
+ * The condition to filter on.
8124
8051
  */
8125
8052
  readonly filter:
8053
+ | "type"
8054
+ | "name"
8055
+ | "ghost_type"
8056
+ | "ghost_name"
8126
8057
  | "ghost"
8127
8058
  | "rail"
8128
8059
  | "rail-signal"
@@ -8134,10 +8065,6 @@ declare module "factorio:runtime" {
8134
8065
  | "wall-connectable"
8135
8066
  | "transport-belt-connectable"
8136
8067
  | "circuit-network-connectable"
8137
- | "type"
8138
- | "name"
8139
- | "ghost_type"
8140
- | "ghost_name"
8141
8068
  /**
8142
8069
  * How to combine this with the previous filter. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
8143
8070
  */
@@ -8153,7 +8080,7 @@ declare module "factorio:runtime" {
8153
8080
  export interface TypeEntityDeconstructionCancelledEventFilter extends BaseEntityDeconstructionCancelledEventFilter {
8154
8081
  readonly filter: "type"
8155
8082
  /**
8156
- * The prototype type
8083
+ * The prototype type.
8157
8084
  */
8158
8085
  readonly type: EntityType
8159
8086
  }
@@ -8163,7 +8090,7 @@ declare module "factorio:runtime" {
8163
8090
  export interface NameEntityDeconstructionCancelledEventFilter extends BaseEntityDeconstructionCancelledEventFilter {
8164
8091
  readonly filter: "name"
8165
8092
  /**
8166
- * The prototype name
8093
+ * The prototype name.
8167
8094
  */
8168
8095
  readonly name: string
8169
8096
  }
@@ -8174,7 +8101,7 @@ declare module "factorio:runtime" {
8174
8101
  extends BaseEntityDeconstructionCancelledEventFilter {
8175
8102
  readonly filter: "ghost_type"
8176
8103
  /**
8177
- * The ghost prototype type
8104
+ * The ghost prototype type.
8178
8105
  */
8179
8106
  readonly type: EntityType
8180
8107
  }
@@ -8185,7 +8112,7 @@ declare module "factorio:runtime" {
8185
8112
  extends BaseEntityDeconstructionCancelledEventFilter {
8186
8113
  readonly filter: "ghost_name"
8187
8114
  /**
8188
- * The ghost prototype name
8115
+ * The ghost prototype name.
8189
8116
  */
8190
8117
  readonly name: string
8191
8118
  }
@@ -8207,8 +8134,6 @@ declare module "factorio:runtime" {
8207
8134
  | "circuit-network-connectable"
8208
8135
  }
8209
8136
  /**
8210
- * Depending on the value of `filter`, the table may take additional fields. `filter` may be one of the following:
8211
- *
8212
8137
  * Base attributes: {@link BaseEntityDeconstructionCancelledEventFilter}
8213
8138
  *
8214
8139
  * Other attributes may be specified depending on `filter`:
@@ -8216,7 +8141,7 @@ declare module "factorio:runtime" {
8216
8141
  * - `"name"`: {@link NameEntityDeconstructionCancelledEventFilter}
8217
8142
  * - `"ghost_type"`: {@link GhostTypeEntityDeconstructionCancelledEventFilter}
8218
8143
  * - `"ghost_name"`: {@link GhostNameEntityDeconstructionCancelledEventFilter}
8219
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#LuaEntityDeconstructionCancelledEventFilter Online documentation}
8144
+ * @see {@link https://lua-api.factorio.com/1.1.108/concepts.html#LuaEntityDeconstructionCancelledEventFilter Online documentation}
8220
8145
  */
8221
8146
  export type LuaEntityDeconstructionCancelledEventFilter =
8222
8147
  | TypeEntityDeconstructionCancelledEventFilter
@@ -8229,9 +8154,13 @@ declare module "factorio:runtime" {
8229
8154
  */
8230
8155
  export interface BasePlayerBuiltEntityEventFilter {
8231
8156
  /**
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"`.
8157
+ * The condition to filter on.
8233
8158
  */
8234
8159
  readonly filter:
8160
+ | "type"
8161
+ | "name"
8162
+ | "ghost_type"
8163
+ | "ghost_name"
8235
8164
  | "ghost"
8236
8165
  | "rail"
8237
8166
  | "rail-signal"
@@ -8243,10 +8172,6 @@ declare module "factorio:runtime" {
8243
8172
  | "wall-connectable"
8244
8173
  | "transport-belt-connectable"
8245
8174
  | "circuit-network-connectable"
8246
- | "type"
8247
- | "name"
8248
- | "ghost_type"
8249
- | "ghost_name"
8250
8175
  | "force"
8251
8176
  /**
8252
8177
  * How to combine this with the previous filter. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
@@ -8263,7 +8188,7 @@ declare module "factorio:runtime" {
8263
8188
  export interface TypePlayerBuiltEntityEventFilter extends BasePlayerBuiltEntityEventFilter {
8264
8189
  readonly filter: "type"
8265
8190
  /**
8266
- * The prototype type
8191
+ * The prototype type.
8267
8192
  */
8268
8193
  readonly type: EntityType
8269
8194
  }
@@ -8273,7 +8198,7 @@ declare module "factorio:runtime" {
8273
8198
  export interface NamePlayerBuiltEntityEventFilter extends BasePlayerBuiltEntityEventFilter {
8274
8199
  readonly filter: "name"
8275
8200
  /**
8276
- * The prototype name
8201
+ * The prototype name.
8277
8202
  */
8278
8203
  readonly name: string
8279
8204
  }
@@ -8283,7 +8208,7 @@ declare module "factorio:runtime" {
8283
8208
  export interface GhostTypePlayerBuiltEntityEventFilter extends BasePlayerBuiltEntityEventFilter {
8284
8209
  readonly filter: "ghost_type"
8285
8210
  /**
8286
- * The ghost prototype type
8211
+ * The ghost prototype type.
8287
8212
  */
8288
8213
  readonly type: EntityType
8289
8214
  }
@@ -8293,7 +8218,7 @@ declare module "factorio:runtime" {
8293
8218
  export interface GhostNamePlayerBuiltEntityEventFilter extends BasePlayerBuiltEntityEventFilter {
8294
8219
  readonly filter: "ghost_name"
8295
8220
  /**
8296
- * The ghost prototype name
8221
+ * The ghost prototype name.
8297
8222
  */
8298
8223
  readonly name: string
8299
8224
  }
@@ -8325,8 +8250,6 @@ declare module "factorio:runtime" {
8325
8250
  | "circuit-network-connectable"
8326
8251
  }
8327
8252
  /**
8328
- * Depending on the value of `filter`, the table may take additional fields. `filter` may be one of the following:
8329
- *
8330
8253
  * Base attributes: {@link BasePlayerBuiltEntityEventFilter}
8331
8254
  *
8332
8255
  * Other attributes may be specified depending on `filter`:
@@ -8335,7 +8258,7 @@ declare module "factorio:runtime" {
8335
8258
  * - `"ghost_type"`: {@link GhostTypePlayerBuiltEntityEventFilter}
8336
8259
  * - `"ghost_name"`: {@link GhostNamePlayerBuiltEntityEventFilter}
8337
8260
  * - `"force"`: {@link ForcePlayerBuiltEntityEventFilter}
8338
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#LuaPlayerBuiltEntityEventFilter Online documentation}
8261
+ * @see {@link https://lua-api.factorio.com/1.1.108/concepts.html#LuaPlayerBuiltEntityEventFilter Online documentation}
8339
8262
  */
8340
8263
  export type LuaPlayerBuiltEntityEventFilter =
8341
8264
  | TypePlayerBuiltEntityEventFilter
@@ -8349,9 +8272,13 @@ declare module "factorio:runtime" {
8349
8272
  */
8350
8273
  export interface BasePlayerMinedEntityEventFilter {
8351
8274
  /**
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"`.
8275
+ * The condition to filter on.
8353
8276
  */
8354
8277
  readonly filter:
8278
+ | "type"
8279
+ | "name"
8280
+ | "ghost_type"
8281
+ | "ghost_name"
8355
8282
  | "ghost"
8356
8283
  | "rail"
8357
8284
  | "rail-signal"
@@ -8363,10 +8290,6 @@ declare module "factorio:runtime" {
8363
8290
  | "wall-connectable"
8364
8291
  | "transport-belt-connectable"
8365
8292
  | "circuit-network-connectable"
8366
- | "type"
8367
- | "name"
8368
- | "ghost_type"
8369
- | "ghost_name"
8370
8293
  /**
8371
8294
  * How to combine this with the previous filter. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
8372
8295
  */
@@ -8382,7 +8305,7 @@ declare module "factorio:runtime" {
8382
8305
  export interface TypePlayerMinedEntityEventFilter extends BasePlayerMinedEntityEventFilter {
8383
8306
  readonly filter: "type"
8384
8307
  /**
8385
- * The prototype type
8308
+ * The prototype type.
8386
8309
  */
8387
8310
  readonly type: EntityType
8388
8311
  }
@@ -8392,7 +8315,7 @@ declare module "factorio:runtime" {
8392
8315
  export interface NamePlayerMinedEntityEventFilter extends BasePlayerMinedEntityEventFilter {
8393
8316
  readonly filter: "name"
8394
8317
  /**
8395
- * The prototype name
8318
+ * The prototype name.
8396
8319
  */
8397
8320
  readonly name: string
8398
8321
  }
@@ -8402,7 +8325,7 @@ declare module "factorio:runtime" {
8402
8325
  export interface GhostTypePlayerMinedEntityEventFilter extends BasePlayerMinedEntityEventFilter {
8403
8326
  readonly filter: "ghost_type"
8404
8327
  /**
8405
- * The ghost prototype type
8328
+ * The ghost prototype type.
8406
8329
  */
8407
8330
  readonly type: EntityType
8408
8331
  }
@@ -8412,7 +8335,7 @@ declare module "factorio:runtime" {
8412
8335
  export interface GhostNamePlayerMinedEntityEventFilter extends BasePlayerMinedEntityEventFilter {
8413
8336
  readonly filter: "ghost_name"
8414
8337
  /**
8415
- * The ghost prototype name
8338
+ * The ghost prototype name.
8416
8339
  */
8417
8340
  readonly name: string
8418
8341
  }
@@ -8434,8 +8357,6 @@ declare module "factorio:runtime" {
8434
8357
  | "circuit-network-connectable"
8435
8358
  }
8436
8359
  /**
8437
- * Depending on the value of `filter`, the table may take additional fields. `filter` may be one of the following:
8438
- *
8439
8360
  * Base attributes: {@link BasePlayerMinedEntityEventFilter}
8440
8361
  *
8441
8362
  * Other attributes may be specified depending on `filter`:
@@ -8443,7 +8364,7 @@ declare module "factorio:runtime" {
8443
8364
  * - `"name"`: {@link NamePlayerMinedEntityEventFilter}
8444
8365
  * - `"ghost_type"`: {@link GhostTypePlayerMinedEntityEventFilter}
8445
8366
  * - `"ghost_name"`: {@link GhostNamePlayerMinedEntityEventFilter}
8446
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#LuaPlayerMinedEntityEventFilter Online documentation}
8367
+ * @see {@link https://lua-api.factorio.com/1.1.108/concepts.html#LuaPlayerMinedEntityEventFilter Online documentation}
8447
8368
  */
8448
8369
  export type LuaPlayerMinedEntityEventFilter =
8449
8370
  | TypePlayerMinedEntityEventFilter
@@ -8456,9 +8377,13 @@ declare module "factorio:runtime" {
8456
8377
  */
8457
8378
  export interface BaseEntityDamagedEventFilter {
8458
8379
  /**
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"`.
8380
+ * The condition to filter on.
8460
8381
  */
8461
8382
  readonly filter:
8383
+ | "type"
8384
+ | "name"
8385
+ | "ghost_type"
8386
+ | "ghost_name"
8462
8387
  | "ghost"
8463
8388
  | "rail"
8464
8389
  | "rail-signal"
@@ -8470,10 +8395,6 @@ declare module "factorio:runtime" {
8470
8395
  | "wall-connectable"
8471
8396
  | "transport-belt-connectable"
8472
8397
  | "circuit-network-connectable"
8473
- | "type"
8474
- | "name"
8475
- | "ghost_type"
8476
- | "ghost_name"
8477
8398
  | "original-damage-amount"
8478
8399
  | "final-damage-amount"
8479
8400
  | "damage-type"
@@ -8493,7 +8414,7 @@ declare module "factorio:runtime" {
8493
8414
  export interface TypeEntityDamagedEventFilter extends BaseEntityDamagedEventFilter {
8494
8415
  readonly filter: "type"
8495
8416
  /**
8496
- * The prototype type
8417
+ * The prototype type.
8497
8418
  */
8498
8419
  readonly type: EntityType
8499
8420
  }
@@ -8503,7 +8424,7 @@ declare module "factorio:runtime" {
8503
8424
  export interface NameEntityDamagedEventFilter extends BaseEntityDamagedEventFilter {
8504
8425
  readonly filter: "name"
8505
8426
  /**
8506
- * The prototype name
8427
+ * The prototype name.
8507
8428
  */
8508
8429
  readonly name: string
8509
8430
  }
@@ -8513,7 +8434,7 @@ declare module "factorio:runtime" {
8513
8434
  export interface GhostTypeEntityDamagedEventFilter extends BaseEntityDamagedEventFilter {
8514
8435
  readonly filter: "ghost_type"
8515
8436
  /**
8516
- * The ghost prototype type
8437
+ * The ghost prototype type.
8517
8438
  */
8518
8439
  readonly type: EntityType
8519
8440
  }
@@ -8523,7 +8444,7 @@ declare module "factorio:runtime" {
8523
8444
  export interface GhostNameEntityDamagedEventFilter extends BaseEntityDamagedEventFilter {
8524
8445
  readonly filter: "ghost_name"
8525
8446
  /**
8526
- * The ghost prototype name
8447
+ * The ghost prototype name.
8527
8448
  */
8528
8449
  readonly name: string
8529
8450
  }
@@ -8571,7 +8492,7 @@ declare module "factorio:runtime" {
8571
8492
  export interface DamageTypeEntityDamagedEventFilter extends BaseEntityDamagedEventFilter {
8572
8493
  readonly filter: "damage-type"
8573
8494
  /**
8574
- * A {@link LuaDamagePrototype} name
8495
+ * A {@link LuaDamagePrototype} name.
8575
8496
  */
8576
8497
  readonly type: EntityType
8577
8498
  }
@@ -8612,8 +8533,6 @@ declare module "factorio:runtime" {
8612
8533
  | "circuit-network-connectable"
8613
8534
  }
8614
8535
  /**
8615
- * Depending on the value of `filter`, the table may take additional fields. `filter` may be one of the following:
8616
- *
8617
8536
  * Base attributes: {@link BaseEntityDamagedEventFilter}
8618
8537
  *
8619
8538
  * Other attributes may be specified depending on `filter`:
@@ -8625,7 +8544,7 @@ declare module "factorio:runtime" {
8625
8544
  * - `"final-damage-amount"`: {@link FinalDamageAmountEntityDamagedEventFilter}
8626
8545
  * - `"damage-type"`: {@link DamageTypeEntityDamagedEventFilter}
8627
8546
  * - `"final-health"`: {@link FinalHealthEntityDamagedEventFilter}
8628
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#LuaEntityDamagedEventFilter Online documentation}
8547
+ * @see {@link https://lua-api.factorio.com/1.1.108/concepts.html#LuaEntityDamagedEventFilter Online documentation}
8629
8548
  */
8630
8549
  export type LuaEntityDamagedEventFilter =
8631
8550
  | TypeEntityDamagedEventFilter
@@ -8639,7 +8558,7 @@ declare module "factorio:runtime" {
8639
8558
  | OtherEntityDamagedEventFilter
8640
8559
  /**
8641
8560
  * 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}
8561
+ * @see {@link https://lua-api.factorio.com/1.1.108/concepts.html#LuaEntityDamagedEventFilter Online documentation}
8643
8562
  */
8644
8563
  export type LuaEntityDamagedEventFilterWrite =
8645
8564
  | TypeEntityDamagedEventFilter
@@ -8656,9 +8575,13 @@ declare module "factorio:runtime" {
8656
8575
  */
8657
8576
  export interface BaseSectorScannedEventFilter {
8658
8577
  /**
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"`.
8578
+ * The condition to filter on.
8660
8579
  */
8661
8580
  readonly filter:
8581
+ | "type"
8582
+ | "name"
8583
+ | "ghost_type"
8584
+ | "ghost_name"
8662
8585
  | "ghost"
8663
8586
  | "rail"
8664
8587
  | "rail-signal"
@@ -8670,10 +8593,6 @@ declare module "factorio:runtime" {
8670
8593
  | "wall-connectable"
8671
8594
  | "transport-belt-connectable"
8672
8595
  | "circuit-network-connectable"
8673
- | "type"
8674
- | "name"
8675
- | "ghost_type"
8676
- | "ghost_name"
8677
8596
  /**
8678
8597
  * How to combine this with the previous filter. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
8679
8598
  */
@@ -8689,7 +8608,7 @@ declare module "factorio:runtime" {
8689
8608
  export interface TypeSectorScannedEventFilter extends BaseSectorScannedEventFilter {
8690
8609
  readonly filter: "type"
8691
8610
  /**
8692
- * The prototype type
8611
+ * The prototype type.
8693
8612
  */
8694
8613
  readonly type: EntityType
8695
8614
  }
@@ -8699,7 +8618,7 @@ declare module "factorio:runtime" {
8699
8618
  export interface NameSectorScannedEventFilter extends BaseSectorScannedEventFilter {
8700
8619
  readonly filter: "name"
8701
8620
  /**
8702
- * The prototype name
8621
+ * The prototype name.
8703
8622
  */
8704
8623
  readonly name: string
8705
8624
  }
@@ -8709,7 +8628,7 @@ declare module "factorio:runtime" {
8709
8628
  export interface GhostTypeSectorScannedEventFilter extends BaseSectorScannedEventFilter {
8710
8629
  readonly filter: "ghost_type"
8711
8630
  /**
8712
- * The ghost prototype type
8631
+ * The ghost prototype type.
8713
8632
  */
8714
8633
  readonly type: EntityType
8715
8634
  }
@@ -8719,7 +8638,7 @@ declare module "factorio:runtime" {
8719
8638
  export interface GhostNameSectorScannedEventFilter extends BaseSectorScannedEventFilter {
8720
8639
  readonly filter: "ghost_name"
8721
8640
  /**
8722
- * The ghost prototype name
8641
+ * The ghost prototype name.
8723
8642
  */
8724
8643
  readonly name: string
8725
8644
  }
@@ -8741,8 +8660,6 @@ declare module "factorio:runtime" {
8741
8660
  | "circuit-network-connectable"
8742
8661
  }
8743
8662
  /**
8744
- * Depending on the value of `filter`, the table may take additional fields. `filter` may be one of the following:
8745
- *
8746
8663
  * Base attributes: {@link BaseSectorScannedEventFilter}
8747
8664
  *
8748
8665
  * Other attributes may be specified depending on `filter`:
@@ -8750,7 +8667,7 @@ declare module "factorio:runtime" {
8750
8667
  * - `"name"`: {@link NameSectorScannedEventFilter}
8751
8668
  * - `"ghost_type"`: {@link GhostTypeSectorScannedEventFilter}
8752
8669
  * - `"ghost_name"`: {@link GhostNameSectorScannedEventFilter}
8753
- * @see {@link https://lua-api.factorio.com/1.1.107/concepts.html#LuaSectorScannedEventFilter Online documentation}
8670
+ * @see {@link https://lua-api.factorio.com/1.1.108/concepts.html#LuaSectorScannedEventFilter Online documentation}
8754
8671
  */
8755
8672
  export type LuaSectorScannedEventFilter =
8756
8673
  | TypeSectorScannedEventFilter