typed-factorio 2.5.2 → 2.7.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -8,6 +8,195 @@ import type { VersionString } from "factorio:common"
8
8
  * @noResolution
9
9
  */
10
10
  declare module "factorio:runtime" {
11
+ /**
12
+ * Used by {@link TriggerEffectItem}.
13
+ *
14
+ * ## Union members
15
+ * - `"damage"`
16
+ * - `"create-entity"`
17
+ * - `"create-explosion"`
18
+ * - `"create-fire"`
19
+ * - `"create-smoke"`
20
+ * - `"create-trivial-smoke"`
21
+ * - `"create-particle"`
22
+ * - `"create-sticker"`
23
+ * - `"create-decorative"`
24
+ * - `"nested-result"`
25
+ * - `"play-sound"`
26
+ * - `"push-back"`
27
+ * - `"destroy-cliffs"`
28
+ * - `"show-explosion-on-chart"`
29
+ * - `"insert-item"`
30
+ * - `"script"`
31
+ * - `"set-tile"`
32
+ * - `"invoke-tile-trigger"`
33
+ * - `"destroy-decoratives"`
34
+ * - `"camera-effect"`
35
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#TriggerEffectItemType Online documentation}
36
+ */
37
+ export type TriggerEffectItemType =
38
+ | "damage"
39
+ | "create-entity"
40
+ | "create-explosion"
41
+ | "create-fire"
42
+ | "create-smoke"
43
+ | "create-trivial-smoke"
44
+ | "create-particle"
45
+ | "create-sticker"
46
+ | "create-decorative"
47
+ | "nested-result"
48
+ | "play-sound"
49
+ | "push-back"
50
+ | "destroy-cliffs"
51
+ | "show-explosion-on-chart"
52
+ | "insert-item"
53
+ | "script"
54
+ | "set-tile"
55
+ | "invoke-tile-trigger"
56
+ | "destroy-decoratives"
57
+ | "camera-effect"
58
+ export interface TriggerEffectItem {
59
+ readonly type: TriggerEffectItemType
60
+ readonly repeat_count: uint16
61
+ readonly repeat_count_deviation: uint16
62
+ readonly probability: float
63
+ readonly affects_target: boolean
64
+ readonly show_in_tooltip: boolean
65
+ readonly damage_type_filters?: DamageTypeFilters
66
+ }
67
+ export interface TriggerItem {
68
+ readonly type: "direct" | "area" | "line" | "cluster"
69
+ readonly action_delivery?: TriggerDelivery[]
70
+ /**
71
+ * The trigger will only affect entities that contain any of these flags.
72
+ */
73
+ readonly entity_flags?: EntityPrototypeFlags
74
+ readonly ignore_collision_condition: boolean
75
+ /**
76
+ * The trigger will only affect entities that would collide with given collision mask.
77
+ */
78
+ readonly collision_mask: CollisionMask
79
+ readonly trigger_target_mask: TriggerTargetMask
80
+ /**
81
+ * If `"enemy"`, the trigger will only affect entities whose force is different from the attacker's and for which there is no cease-fire set. `"ally"` is the opposite of `"enemy"`.
82
+ */
83
+ readonly force: ForceCondition
84
+ readonly repeat_count: uint
85
+ readonly probability: float
86
+ }
87
+ export interface TriggerDelivery {
88
+ readonly type: "instant" | "projectile" | "flame-thrower" | "beam" | "stream" | "artillery"
89
+ readonly source_effects: TriggerEffectItem[]
90
+ readonly target_effects: TriggerEffectItem[]
91
+ }
92
+ export interface DamageTypeFilters {
93
+ /**
94
+ * Whether this is a whitelist or a blacklist of damage types. `true` means whitelist.
95
+ */
96
+ readonly whitelist: boolean
97
+ /**
98
+ * The damage types to filter for. The value in the dictionary is meaningless and exists just to allow for easy lookup.
99
+ */
100
+ readonly types: Record<string, true>
101
+ }
102
+ /**
103
+ * The text is aligned so that the target position is at the given side of the text.
104
+ *
105
+ * For example, `"right"` aligned text means the right side of the text is at the target position. Or in other words, the target is on the right of the text.
106
+ *
107
+ * ## Union members
108
+ * - `"left"`
109
+ * - `"right"`
110
+ * - `"center"`
111
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#TextAlign Online documentation}
112
+ */
113
+ export type TextAlign = "left" | "right" | "center"
114
+ /**
115
+ * The text is aligned so that the target position is at the given side of the text.
116
+ *
117
+ * For example, `"top"` aligned text means the top of the text is at the target position. Or in other words, the target is at the top of the text.
118
+ *
119
+ * ## Union members
120
+ * - `"top"`
121
+ * - `"middle"`
122
+ * - `"baseline"`
123
+ * - `"bottom"`
124
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#VerticalTextAlign Online documentation}
125
+ */
126
+ export type VerticalTextAlign = "top" | "middle" | "baseline" | "bottom"
127
+ /**
128
+ * Common attributes to all variants of {@link GuiArrowSpecification}.
129
+ */
130
+ export interface BaseGuiArrowSpecification {
131
+ readonly margin: uint
132
+ /**
133
+ * This determines which of the following fields will be required.
134
+ */
135
+ readonly type: GuiArrowType
136
+ }
137
+ /**
138
+ * `"entity"` variant of {@link GuiArrowSpecification}.
139
+ */
140
+ export interface EntityGuiArrowSpecification extends BaseGuiArrowSpecification {
141
+ readonly type: "entity"
142
+ readonly entity: LuaEntity
143
+ }
144
+ /**
145
+ * `"position"` variant of {@link GuiArrowSpecification}.
146
+ */
147
+ export interface PositionGuiArrowSpecification extends BaseGuiArrowSpecification {
148
+ readonly type: "position"
149
+ readonly position: MapPosition | MapPositionArray
150
+ }
151
+ /**
152
+ * `"crafting_queue"` variant of {@link GuiArrowSpecification}.
153
+ */
154
+ export interface CraftingQueueGuiArrowSpecification extends BaseGuiArrowSpecification {
155
+ readonly type: "crafting_queue"
156
+ /**
157
+ * Index in the crafting queue to point to.
158
+ */
159
+ readonly crafting_queueindex: uint
160
+ }
161
+ /**
162
+ * `"item_stack"` variant of {@link GuiArrowSpecification}.
163
+ */
164
+ export interface ItemStackGuiArrowSpecification extends BaseGuiArrowSpecification {
165
+ readonly type: "item_stack"
166
+ /**
167
+ * Which inventory the stack is in.
168
+ */
169
+ readonly inventory_index: defines.inventory
170
+ /**
171
+ * Which stack to point to.
172
+ */
173
+ readonly item_stack_index: uint
174
+ readonly source: "player" | "target" | "player-quickbar" | "player-equipment-bar"
175
+ }
176
+ /**
177
+ * Variants of {@link GuiArrowSpecification} with no additional attributes.
178
+ */
179
+ export interface OtherGuiArrowSpecification extends BaseGuiArrowSpecification {
180
+ readonly type: "nowhere" | "goal" | "entity_info" | "active_window"
181
+ }
182
+ /**
183
+ * Used for specifying where a GUI arrow should point to.
184
+ *
185
+ * Base attributes: {@link BaseGuiArrowSpecification}
186
+ *
187
+ * Other attributes may be specified depending on `type`:
188
+ * - `"entity"`: {@link EntityGuiArrowSpecification}
189
+ * - `"position"`: {@link PositionGuiArrowSpecification}
190
+ * - `"crafting_queue"`: {@link CraftingQueueGuiArrowSpecification}
191
+ * - `"item_stack"`: {@link ItemStackGuiArrowSpecification}
192
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#GuiArrowSpecification Online documentation}
193
+ */
194
+ export type GuiArrowSpecification =
195
+ | EntityGuiArrowSpecification
196
+ | PositionGuiArrowSpecification
197
+ | CraftingQueueGuiArrowSpecification
198
+ | ItemStackGuiArrowSpecification
199
+ | OtherGuiArrowSpecification
11
200
  export interface PrintSettings {
12
201
  /**
13
202
  * Color of the message to print. Defaults to white.
@@ -34,6 +223,172 @@ declare module "factorio:runtime" {
34
223
  */
35
224
  readonly game_state?: boolean
36
225
  }
226
+ /**
227
+ * One of the following values:
228
+ *
229
+ * ## Union members
230
+ * - `"none"`
231
+ * - `"whitelist"`
232
+ * - `"blacklist"`
233
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#PrototypeFilterMode Online documentation}
234
+ */
235
+ export type PrototypeFilterMode = "none" | "whitelist" | "blacklist"
236
+ export interface RailEnd {
237
+ readonly rail: LuaEntity
238
+ readonly direction: defines.rail_direction
239
+ }
240
+ export interface TrainStopGoal {
241
+ /**
242
+ * Train stop target. Must be connected to rail ({@link LuaEntity#connected_rail LuaEntity::connected_rail} returns valid LuaEntity).
243
+ */
244
+ readonly train_stop: LuaEntity
245
+ }
246
+ /**
247
+ * A `string` specifying the type of request for {@link LuaGameScript#request_train_path LuaGameScript::request_train_path}.
248
+ *
249
+ * ## Union members
250
+ * - `"path"`: The method will return {@link TrainPathFinderPathResult}.
251
+ * - `"any-goal-accessible"`: The method will return {@link TrainPathAnyGoalResult}.
252
+ * - `"all-goals-accessible"`: The method will return {@link TrainPathAllGoalsResult}.
253
+ * - `"all-goals-penalties"`: The method will return {@link TrainPathAllGoalsResult} with `penalties`.
254
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#TrainPathRequestType Online documentation}
255
+ */
256
+ export type TrainPathRequestType = "path" | "any-goal-accessible" | "all-goals-accessible" | "all-goals-penalties"
257
+ export interface TrainPathFinderPathResult {
258
+ /**
259
+ * True if found path.
260
+ */
261
+ readonly found_path: boolean
262
+ /**
263
+ * Only returned if `return_path` was set to true and path was found. Contains all rails in order that are part of the found path.
264
+ */
265
+ readonly path?: LuaEntity[]
266
+ /**
267
+ * If path was found, provides index of the specific goal to which the path goes to.
268
+ */
269
+ readonly goal_index?: uint
270
+ /**
271
+ * Penalty of the path to goal if path was found.
272
+ */
273
+ readonly penalty?: double
274
+ /**
275
+ * If path was found, provides total length of all rails of the path.
276
+ */
277
+ readonly total_length?: double
278
+ /**
279
+ * If path was found, tells if the path was reached from the `from_front` or train's front end.
280
+ */
281
+ readonly is_front?: boolean
282
+ /**
283
+ * Amount of steps pathfinder performed. This is a measure of how expensive this search was.
284
+ */
285
+ readonly steps_count: uint
286
+ }
287
+ export interface TrainPathAnyGoalResult {
288
+ /**
289
+ * True if any goal was accessible.
290
+ */
291
+ readonly found_path: boolean
292
+ /**
293
+ * If any goal was accessible, this gives index of the particular goal that was found.
294
+ */
295
+ readonly goal_index?: uint
296
+ /**
297
+ * Penalty of the path to goal if a goal was accessible.
298
+ */
299
+ readonly penalty?: double
300
+ /**
301
+ * Amount of steps pathfinder performed. This is a measure of how expensive this search was.
302
+ */
303
+ readonly steps_count: uint
304
+ }
305
+ export interface TrainPathAllGoalsResult {
306
+ /**
307
+ * Amount of goals that are accessible.
308
+ */
309
+ readonly amount_accessible: uint
310
+ /**
311
+ * Array of the same length as requested goals: each field will tell if related goal is accessible for the train.
312
+ */
313
+ readonly accessible: boolean[]
314
+ /**
315
+ * Array of the same length as requested goals. Only present if request type was `"all-goals-penalties"`.
316
+ */
317
+ readonly penalties?: double[]
318
+ /**
319
+ * Amount of steps pathfinder performed. This is a measure of how expensive this search was.
320
+ */
321
+ readonly steps_count: uint
322
+ }
323
+ export interface ElemID {
324
+ readonly type: ElemType
325
+ /**
326
+ * Name of a prototype as defined by `type`.
327
+ */
328
+ readonly name: string
329
+ }
330
+ /**
331
+ * State of a GUI {@link LuaGuiElement#switch_state switch}.
332
+ *
333
+ * ## Union members
334
+ * - `"left"`
335
+ * - `"right"`
336
+ * - `"none"`
337
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#SwitchState Online documentation}
338
+ */
339
+ export type SwitchState = "left" | "right" | "none"
340
+ /**
341
+ * A `string` specifying a type for {@link LuaGuiElement#elem_type choose elem buttons}. It's also used by {@link ElemID} for {@link LuaGuiElement#elem_tooltip LuaGuiElement::elem_tooltip}.
342
+ *
343
+ * ## Union members
344
+ * - `"achievement"`
345
+ * - `"decorative"`
346
+ * - `"entity"`
347
+ * - `"equipment"`
348
+ * - `"fluid"`
349
+ * - `"item"`
350
+ * - `"item-group"`
351
+ * - `"recipe"`
352
+ * - `"signal"`
353
+ * - `"technology"`
354
+ * - `"tile"`
355
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#ElemType Online documentation}
356
+ */
357
+ export type ElemType =
358
+ | "achievement"
359
+ | "decorative"
360
+ | "entity"
361
+ | "equipment"
362
+ | "fluid"
363
+ | "item"
364
+ | "item-group"
365
+ | "recipe"
366
+ | "signal"
367
+ | "technology"
368
+ | "tile"
369
+ /**
370
+ * One of the following values:
371
+ *
372
+ * ## Union members
373
+ * - `"entity"`: The normal entity selection box. Yellow by default.
374
+ * - `"electricity"`: The selection box used to specify electric poles an entity is connected to. Light blue by default.
375
+ * - `"copy"`: The selection box used when doing entity copy-paste. Green by default.
376
+ * - `"not-allowed"`: The selection box used when specifying colliding entities. Red by default.
377
+ * - `"pair"`: Light blue by default.
378
+ * - `"logistics"`: Light blue by default.
379
+ * - `"train-visualization"`: White by default.
380
+ * - `"blueprint-snap-rectangle"`: Green by default.
381
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#CursorBoxRenderType Online documentation}
382
+ */
383
+ export type CursorBoxRenderType =
384
+ | "entity"
385
+ | "electricity"
386
+ | "copy"
387
+ | "not-allowed"
388
+ | "pair"
389
+ | "logistics"
390
+ | "train-visualization"
391
+ | "blueprint-snap-rectangle"
37
392
  export interface RadiusVisualisationSpecification {
38
393
  readonly distance: double
39
394
  readonly offset: Vector
@@ -62,7 +417,7 @@ declare module "factorio:runtime" {
62
417
  * - `"none-to-south"`
63
418
  * - `"south-to-none"`
64
419
  * - `"none-to-north"`
65
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#CliffOrientation Online documentation}
420
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#CliffOrientation Online documentation}
66
421
  */
67
422
  export type CliffOrientation =
68
423
  | "west-to-east"
@@ -85,6 +440,95 @@ declare module "factorio:runtime" {
85
440
  | "none-to-south"
86
441
  | "south-to-none"
87
442
  | "none-to-north"
443
+ /**
444
+ * Used by {@link TechnologyModifier}.
445
+ *
446
+ * ## Union members
447
+ * - `"inserter-stack-size-bonus"`
448
+ * - `"stack-inserter-capacity-bonus"`
449
+ * - `"laboratory-speed"`
450
+ * - `"character-logistic-trash-slots"`
451
+ * - `"maximum-following-robots-count"`
452
+ * - `"worker-robot-speed"`
453
+ * - `"worker-robot-storage"`
454
+ * - `"ghost-time-to-live"`
455
+ * - `"turret-attack"`
456
+ * - `"ammo-damage"`
457
+ * - `"give-item"`
458
+ * - `"gun-speed"`
459
+ * - `"unlock-recipe"`
460
+ * - `"character-crafting-speed"`
461
+ * - `"character-mining-speed"`
462
+ * - `"character-running-speed"`
463
+ * - `"character-build-distance"`
464
+ * - `"character-item-drop-distance"`
465
+ * - `"character-reach-distance"`
466
+ * - `"character-resource-reach-distance"`
467
+ * - `"character-item-pickup-distance"`
468
+ * - `"character-loot-pickup-distance"`
469
+ * - `"character-inventory-slots-bonus"`
470
+ * - `"deconstruction-time-to-live"`
471
+ * - `"max-failed-attempts-per-tick-per-construction-queue"`
472
+ * - `"max-successful-attempts-per-tick-per-construction-queue"`
473
+ * - `"character-health-bonus"`
474
+ * - `"mining-drill-productivity-bonus"`
475
+ * - `"train-braking-force-bonus"`
476
+ * - `"zoom-to-world-enabled"`
477
+ * - `"zoom-to-world-ghost-building-enabled"`
478
+ * - `"zoom-to-world-blueprint-enabled"`
479
+ * - `"zoom-to-world-deconstruction-planner-enabled"`
480
+ * - `"zoom-to-world-upgrade-planner-enabled"`
481
+ * - `"zoom-to-world-selection-tool-enabled"`
482
+ * - `"worker-robot-battery"`
483
+ * - `"laboratory-productivity"`
484
+ * - `"follower-robot-lifetime"`
485
+ * - `"artillery-range"`
486
+ * - `"nothing"`
487
+ * - `"character-logistic-requests"`
488
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#ModifierType Online documentation}
489
+ */
490
+ export type ModifierType =
491
+ | "inserter-stack-size-bonus"
492
+ | "stack-inserter-capacity-bonus"
493
+ | "laboratory-speed"
494
+ | "character-logistic-trash-slots"
495
+ | "maximum-following-robots-count"
496
+ | "worker-robot-speed"
497
+ | "worker-robot-storage"
498
+ | "ghost-time-to-live"
499
+ | "turret-attack"
500
+ | "ammo-damage"
501
+ | "give-item"
502
+ | "gun-speed"
503
+ | "unlock-recipe"
504
+ | "character-crafting-speed"
505
+ | "character-mining-speed"
506
+ | "character-running-speed"
507
+ | "character-build-distance"
508
+ | "character-item-drop-distance"
509
+ | "character-reach-distance"
510
+ | "character-resource-reach-distance"
511
+ | "character-item-pickup-distance"
512
+ | "character-loot-pickup-distance"
513
+ | "character-inventory-slots-bonus"
514
+ | "deconstruction-time-to-live"
515
+ | "max-failed-attempts-per-tick-per-construction-queue"
516
+ | "max-successful-attempts-per-tick-per-construction-queue"
517
+ | "character-health-bonus"
518
+ | "mining-drill-productivity-bonus"
519
+ | "train-braking-force-bonus"
520
+ | "zoom-to-world-enabled"
521
+ | "zoom-to-world-ghost-building-enabled"
522
+ | "zoom-to-world-blueprint-enabled"
523
+ | "zoom-to-world-deconstruction-planner-enabled"
524
+ | "zoom-to-world-upgrade-planner-enabled"
525
+ | "zoom-to-world-selection-tool-enabled"
526
+ | "worker-robot-battery"
527
+ | "laboratory-productivity"
528
+ | "follower-robot-lifetime"
529
+ | "artillery-range"
530
+ | "nothing"
531
+ | "character-logistic-requests"
88
532
  /**
89
533
  * 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.
90
534
  *
@@ -107,7 +551,7 @@ declare module "factorio:runtime" {
107
551
  * game.print({"", {"item-name.iron-plate"}, ": ", 60})
108
552
  * @example As an example of a localised string with fallback, consider this:
109
553
  * {"?", {"", {"entity-description.furnace"}, "\n"}, {"item-description.furnace"}, "optional fallback"}
110
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#LocalisedString Online documentation}
554
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#LocalisedString Online documentation}
111
555
  */
112
556
  export type LocalisedString = string | number | boolean | LuaObject | nil | [string, ...LocalisedString[]]
113
557
  export interface DisplayResolution {
@@ -119,14 +563,20 @@ declare module "factorio:runtime" {
119
563
  * The item. `nil` clears the filter.
120
564
  */
121
565
  readonly name?: string
566
+ /**
567
+ * Defaults to `0`.
568
+ */
122
569
  readonly min?: uint
570
+ /**
571
+ * Defaults to max uint.
572
+ */
123
573
  readonly max?: uint
124
574
  }
125
575
  /**
126
576
  * 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".
127
577
  *
128
578
  * For example then, a value of `0.625` would indicate "south-west", and a value of `0.875` would indicate "north-west".
129
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#RealOrientation Online documentation}
579
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#RealOrientation Online documentation}
130
580
  */
131
581
  export type RealOrientation = float
132
582
  /**
@@ -139,7 +589,7 @@ declare module "factorio:runtime" {
139
589
  * {y = 2.25, x = 5.125}
140
590
  * @example Shorthand:
141
591
  * {1.625, 2.375}
142
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#MapPosition Online documentation}
592
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#MapPosition Online documentation}
143
593
  */
144
594
  export interface MapPosition {
145
595
  readonly x: double
@@ -148,13 +598,13 @@ declare module "factorio:runtime" {
148
598
  /**
149
599
  * Array form of {@link MapPosition}.
150
600
  * @see MapPosition
151
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#MapPosition Online documentation}
601
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#MapPosition Online documentation}
152
602
  */
153
603
  export type MapPositionArray = readonly [x: double, y: double]
154
604
  /**
155
605
  * 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.
156
606
  * @see ChunkPositionArray
157
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#ChunkPosition Online documentation}
607
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#ChunkPosition Online documentation}
158
608
  */
159
609
  export interface ChunkPosition {
160
610
  readonly x: int
@@ -163,13 +613,13 @@ declare module "factorio:runtime" {
163
613
  /**
164
614
  * Array form of {@link ChunkPosition}.
165
615
  * @see ChunkPosition
166
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#ChunkPosition Online documentation}
616
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#ChunkPosition Online documentation}
167
617
  */
168
618
  export type ChunkPositionArray = readonly [x: int, y: int]
169
619
  /**
170
620
  * 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.
171
621
  * @see TilePositionArray
172
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#TilePosition Online documentation}
622
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#TilePosition Online documentation}
173
623
  */
174
624
  export interface TilePosition {
175
625
  readonly x: int
@@ -178,7 +628,7 @@ declare module "factorio:runtime" {
178
628
  /**
179
629
  * Array form of {@link TilePosition}.
180
630
  * @see TilePosition
181
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#TilePosition Online documentation}
631
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#TilePosition Online documentation}
182
632
  */
183
633
  export type TilePositionArray = readonly [x: int, y: int]
184
634
  /**
@@ -189,7 +639,7 @@ declare module "factorio:runtime" {
189
639
  * {y = 2, x = 5}
190
640
  * @example Shorthand:
191
641
  * {1, 2}
192
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#EquipmentPosition Online documentation}
642
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#EquipmentPosition Online documentation}
193
643
  */
194
644
  export interface EquipmentPosition {
195
645
  readonly x: int
@@ -198,13 +648,13 @@ declare module "factorio:runtime" {
198
648
  /**
199
649
  * Array form of {@link EquipmentPosition}.
200
650
  * @see EquipmentPosition
201
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#EquipmentPosition Online documentation}
651
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#EquipmentPosition Online documentation}
202
652
  */
203
653
  export type EquipmentPositionArray = readonly [x: int, y: int]
204
654
  /**
205
655
  * 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.
206
656
  * @see GuiLocationArray
207
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#GuiLocation Online documentation}
657
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#GuiLocation Online documentation}
208
658
  */
209
659
  export interface GuiLocation {
210
660
  readonly x: int
@@ -213,12 +663,12 @@ declare module "factorio:runtime" {
213
663
  /**
214
664
  * Array form of {@link GuiLocation}.
215
665
  * @see GuiLocation
216
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#GuiLocation Online documentation}
666
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#GuiLocation Online documentation}
217
667
  */
218
668
  export type GuiLocationArray = readonly [x: int, y: int]
219
669
  /**
220
670
  * A {@link ChunkPosition} with an added bounding box for the area of the chunk.
221
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#ChunkPositionAndArea Online documentation}
671
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#ChunkPositionAndArea Online documentation}
222
672
  */
223
673
  export interface ChunkPositionAndArea {
224
674
  readonly x: int
@@ -227,7 +677,7 @@ declare module "factorio:runtime" {
227
677
  }
228
678
  /**
229
679
  * A table used to define a manual shape for a piece of equipment.
230
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#EquipmentPoint Online documentation}
680
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#EquipmentPoint Online documentation}
231
681
  */
232
682
  export interface EquipmentPoint {
233
683
  readonly x: uint
@@ -263,12 +713,12 @@ declare module "factorio:runtime" {
263
713
  * 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.
264
714
  * @example
265
715
  * {a = 1, b = true, c = "three", d = {e = "f"}}
266
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#Tags Online documentation}
716
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#Tags Online documentation}
267
717
  */
268
718
  export type Tags = Record<string, AnyBasic>
269
719
  /**
270
720
  * @remarks The vectors for all 5 position attributes are a table with `x` and `y` keys instead of an array.
271
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#SmokeSource Online documentation}
721
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#SmokeSource Online documentation}
272
722
  */
273
723
  export interface SmokeSource {
274
724
  readonly name: string
@@ -295,7 +745,7 @@ declare module "factorio:runtime" {
295
745
  * 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.
296
746
  * @example
297
747
  * right = {1.0, 0.0}
298
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#Vector Online documentation}
748
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#Vector Online documentation}
299
749
  */
300
750
  export type Vector = MapPositionArray
301
751
  /**
@@ -305,7 +755,7 @@ declare module "factorio:runtime" {
305
755
  * {left_top = {x = -2, y = -3}, right_bottom = {x = 5, y = 8}}
306
756
  * @example Shorthand:
307
757
  * {{-2, -3}, {5, 8}}
308
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#BoundingBox Online documentation}
758
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#BoundingBox Online documentation}
309
759
  */
310
760
  export interface BoundingBox {
311
761
  readonly left_top: MapPosition
@@ -323,7 +773,7 @@ declare module "factorio:runtime" {
323
773
  /**
324
774
  * Array form of {@link BoundingBox}.
325
775
  * @see BoundingBox
326
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#BoundingBox Online documentation}
776
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#BoundingBox Online documentation}
327
777
  */
328
778
  export type BoundingBoxArray = readonly [
329
779
  left_top: MapPosition | MapPositionArray,
@@ -333,7 +783,7 @@ declare module "factorio:runtime" {
333
783
  /**
334
784
  * An area defined using the map editor.
335
785
  * @see ScriptAreaWrite
336
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#ScriptArea Online documentation}
786
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#ScriptArea Online documentation}
337
787
  */
338
788
  export interface ScriptArea {
339
789
  readonly area: BoundingBox
@@ -343,7 +793,7 @@ declare module "factorio:runtime" {
343
793
  }
344
794
  /**
345
795
  * Write form of {@link ScriptArea}, where table-or-array concepts are allowed to take an array form.
346
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#ScriptArea Online documentation}
796
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#ScriptArea Online documentation}
347
797
  */
348
798
  export interface ScriptAreaWrite {
349
799
  readonly area: BoundingBoxWrite | BoundingBoxArray
@@ -354,7 +804,7 @@ declare module "factorio:runtime" {
354
804
  /**
355
805
  * A position defined using the map editor.
356
806
  * @see ScriptPositionWrite
357
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#ScriptPosition Online documentation}
807
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#ScriptPosition Online documentation}
358
808
  */
359
809
  export interface ScriptPosition {
360
810
  readonly position: MapPosition
@@ -364,7 +814,7 @@ declare module "factorio:runtime" {
364
814
  }
365
815
  /**
366
816
  * Write form of {@link ScriptPosition}, where table-or-array concepts are allowed to take an array form.
367
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#ScriptPosition Online documentation}
817
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#ScriptPosition Online documentation}
368
818
  */
369
819
  export interface ScriptPositionWrite {
370
820
  readonly position: MapPosition | MapPositionArray
@@ -382,7 +832,7 @@ declare module "factorio:runtime" {
382
832
  * red2 = {r = 0.5, a = 0.5} -- Same color as red1
383
833
  * black = {} -- All channels omitted: black
384
834
  * red1_short = {0.5, 0, 0, 0.5} -- Same color as red1 in short-hand notation
385
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#Color Online documentation}
835
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#Color Online documentation}
386
836
  */
387
837
  export interface Color {
388
838
  readonly r?: float
@@ -393,13 +843,13 @@ declare module "factorio:runtime" {
393
843
  /**
394
844
  * Array form of {@link Color}.
395
845
  * @see Color
396
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#Color Online documentation}
846
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#Color Online documentation}
397
847
  */
398
848
  export type ColorArray = readonly [r?: float, g?: float, b?: float, a?: float]
399
849
  /**
400
850
  * 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].
401
851
  * @see ColorModifierArray
402
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#ColorModifier Online documentation}
852
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#ColorModifier Online documentation}
403
853
  */
404
854
  export interface ColorModifier {
405
855
  readonly r?: float
@@ -410,7 +860,7 @@ declare module "factorio:runtime" {
410
860
  /**
411
861
  * Array form of {@link ColorModifier}.
412
862
  * @see ColorModifier
413
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#ColorModifier Online documentation}
863
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#ColorModifier Online documentation}
414
864
  */
415
865
  export type ColorModifierArray = readonly [r?: float, g?: float, b?: float, a?: float]
416
866
  export interface CraftingQueueItem {
@@ -450,7 +900,7 @@ declare module "factorio:runtime" {
450
900
  }
451
901
  /**
452
902
  * One vertex of a ScriptRenderPolygon.
453
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#ScriptRenderVertexTarget Online documentation}
903
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#ScriptRenderVertexTarget Online documentation}
454
904
  */
455
905
  export interface ScriptRenderVertexTarget {
456
906
  readonly target: (MapPosition | MapPositionArray) | LuaEntity
@@ -516,7 +966,7 @@ declare module "factorio:runtime" {
516
966
  }
517
967
  /**
518
968
  * @remarks Either `icon`, `text`, or both must be provided.
519
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#ChartTagSpec Online documentation}
969
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#ChartTagSpec Online documentation}
520
970
  */
521
971
  export interface ChartTagSpec {
522
972
  readonly position: MapPosition | MapPositionArray
@@ -526,88 +976,88 @@ declare module "factorio:runtime" {
526
976
  }
527
977
  /**
528
978
  * 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.
529
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#GameViewSettings Online documentation}
979
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#GameViewSettings Online documentation}
530
980
  */
531
981
  export interface GameViewSettings {
532
982
  /**
533
983
  * Show the controller GUI elements. This includes the toolbar, the selected tool slot, the armour slot, and the gun and ammunition slots.
534
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#GameViewSettings.show_controller_gui Online documentation}
984
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#GameViewSettings.show_controller_gui Online documentation}
535
985
  */
536
986
  show_controller_gui: boolean
537
987
  /**
538
988
  * Show the chart in the upper right-hand corner of the screen.
539
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#GameViewSettings.show_minimap Online documentation}
989
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#GameViewSettings.show_minimap Online documentation}
540
990
  */
541
991
  show_minimap: boolean
542
992
  /**
543
993
  * Show research progress and name in the upper right-hand corner of the screen.
544
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#GameViewSettings.show_research_info Online documentation}
994
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#GameViewSettings.show_research_info Online documentation}
545
995
  */
546
996
  show_research_info: boolean
547
997
  /**
548
998
  * Show overlay icons on entities. Also known as "alt-mode".
549
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#GameViewSettings.show_entity_info Online documentation}
999
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#GameViewSettings.show_entity_info Online documentation}
550
1000
  */
551
1001
  show_entity_info: boolean
552
1002
  /**
553
1003
  * Show the flashing alert icons next to the player's toolbar.
554
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#GameViewSettings.show_alert_gui Online documentation}
1004
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#GameViewSettings.show_alert_gui Online documentation}
555
1005
  */
556
1006
  show_alert_gui: boolean
557
1007
  /**
558
1008
  * When `true` (the default), mousing over an entity will select it. Otherwise, moving the mouse won't update entity selection.
559
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#GameViewSettings.update_entity_selection Online documentation}
1009
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#GameViewSettings.update_entity_selection Online documentation}
560
1010
  */
561
1011
  update_entity_selection: boolean
562
1012
  /**
563
1013
  * When `true` (`false` is default), the rails will always show the rail block visualisation.
564
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#GameViewSettings.show_rail_block_visualisation Online documentation}
1014
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#GameViewSettings.show_rail_block_visualisation Online documentation}
565
1015
  */
566
1016
  show_rail_block_visualisation: boolean
567
1017
  /**
568
1018
  * Shows or hides the buttons row.
569
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#GameViewSettings.show_side_menu Online documentation}
1019
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#GameViewSettings.show_side_menu Online documentation}
570
1020
  */
571
1021
  show_side_menu: boolean
572
1022
  /**
573
1023
  * Shows or hides the view options when map is opened.
574
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#GameViewSettings.show_map_view_options Online documentation}
1024
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#GameViewSettings.show_map_view_options Online documentation}
575
1025
  */
576
1026
  show_map_view_options: boolean
577
1027
  /**
578
1028
  * Shows or hides the tooltip that is displayed when selecting an entity.
579
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#GameViewSettings.show_entity_tooltip Online documentation}
1029
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#GameViewSettings.show_entity_tooltip Online documentation}
580
1030
  */
581
1031
  show_entity_tooltip: boolean
582
1032
  /**
583
1033
  * Shows or hides quickbar of shortcuts.
584
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#GameViewSettings.show_quickbar Online documentation}
1034
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#GameViewSettings.show_quickbar Online documentation}
585
1035
  */
586
1036
  show_quickbar: boolean
587
1037
  /**
588
1038
  * Shows or hides the shortcut bar.
589
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#GameViewSettings.show_shortcut_bar Online documentation}
1039
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#GameViewSettings.show_shortcut_bar Online documentation}
590
1040
  */
591
1041
  show_shortcut_bar: boolean
592
1042
  /**
593
1043
  * Shows or hides the crafting queue.
594
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#GameViewSettings.show_crafting_queue Online documentation}
1044
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#GameViewSettings.show_crafting_queue Online documentation}
595
1045
  */
596
1046
  show_crafting_queue: boolean
597
1047
  /**
598
1048
  * Shows or hides the tool window with the weapons and armor.
599
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#GameViewSettings.show_tool_bar Online documentation}
1049
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#GameViewSettings.show_tool_bar Online documentation}
600
1050
  */
601
1051
  show_tool_bar: boolean
602
1052
  /**
603
1053
  * Shows or hides the mouse and keyboard/controller button hints in the bottom left corner if they are enabled in the interface settings.
604
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#GameViewSettings.show_hotkey_suggestions Online documentation}
1054
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#GameViewSettings.show_hotkey_suggestions Online documentation}
605
1055
  */
606
1056
  show_hotkey_suggestions: boolean
607
1057
  }
608
1058
  /**
609
1059
  * What is shown in the map view. If a field is not given, that setting will not be changed.
610
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#MapViewSettings Online documentation}
1060
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#MapViewSettings Online documentation}
611
1061
  */
612
1062
  export interface MapViewSettings {
613
1063
  readonly "show-logistic-network"?: boolean
@@ -621,7 +1071,7 @@ declare module "factorio:runtime" {
621
1071
  }
622
1072
  /**
623
1073
  * These values are for the time frame of one second (60 ticks).
624
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#PollutionMapSettings Online documentation}
1074
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#PollutionMapSettings Online documentation}
625
1075
  */
626
1076
  export interface PollutionMapSettings {
627
1077
  /**
@@ -675,7 +1125,7 @@ declare module "factorio:runtime" {
675
1125
  }
676
1126
  /**
677
1127
  * These values represent a percentual increase in evolution. This means a value of `0.1` would increase evolution by 10%.
678
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#EnemyEvolutionMapSettings Online documentation}
1128
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#EnemyEvolutionMapSettings Online documentation}
679
1129
  */
680
1130
  export interface EnemyEvolutionMapSettings {
681
1131
  /**
@@ -715,7 +1165,7 @@ declare module "factorio:runtime" {
715
1165
  *
716
1166
  * score(chunk) = 1 / (1 + player + base)
717
1167
  * ```
718
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#EnemyExpansionMapSettings Online documentation}
1168
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#EnemyExpansionMapSettings Online documentation}
719
1169
  */
720
1170
  export interface EnemyExpansionMapSettings {
721
1171
  /**
@@ -976,7 +1426,7 @@ declare module "factorio:runtime" {
976
1426
  * Various game-related settings. Updating any of the attributes will immediately take effect in the game engine.
977
1427
  * @example Increase the number of short paths the pathfinder can cache.
978
1428
  * game.map_settings.path_finder.short_cache_size = 15
979
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#MapSettings Online documentation}
1429
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#MapSettings Online documentation}
980
1430
  */
981
1431
  export interface MapSettings {
982
1432
  pollution: PollutionMapSettings
@@ -987,31 +1437,31 @@ declare module "factorio:runtime" {
987
1437
  path_finder: PathFinderMapSettings
988
1438
  /**
989
1439
  * If a behavior fails this many times, the enemy (or enemy group) is destroyed. This solves biters getting stuck within their own base.
990
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#MapSettings.max_failed_behavior_count Online documentation}
1440
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#MapSettings.max_failed_behavior_count Online documentation}
991
1441
  */
992
1442
  max_failed_behavior_count: uint
993
1443
  }
994
1444
  /**
995
1445
  * Technology and recipe difficulty settings. Updating any of the attributes will immediately take effect in the game engine.
996
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#DifficultySettings Online documentation}
1446
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#DifficultySettings Online documentation}
997
1447
  */
998
1448
  export interface DifficultySettings {
999
1449
  recipe_difficulty: defines.difficulty_settings.recipe_difficulty
1000
1450
  technology_difficulty: defines.difficulty_settings.technology_difficulty
1001
1451
  /**
1002
1452
  * A value in range [0.001, 1000].
1003
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#DifficultySettings.technology_price_multiplier Online documentation}
1453
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#DifficultySettings.technology_price_multiplier Online documentation}
1004
1454
  */
1005
1455
  technology_price_multiplier: double
1006
1456
  /**
1007
- * Either `"after-victory"`, `"always"` or `"never"`. Changing this to `"always"` or `"after-victory"` does not automatically unlock the research queue. See {@link LuaForce} for that.
1008
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#DifficultySettings.research_queue_setting Online documentation}
1457
+ * 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.
1458
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#DifficultySettings.research_queue_setting Online documentation}
1009
1459
  */
1010
1460
  research_queue_setting: "after-victory" | "always" | "never"
1011
1461
  }
1012
1462
  /**
1013
1463
  * A standard table containing all {@link MapSettings} attributes plus an additional table that contains all {@link DifficultySettings} properties.
1014
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#MapAndDifficultySettings Online documentation}
1464
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#MapAndDifficultySettings Online documentation}
1015
1465
  */
1016
1466
  export interface MapAndDifficultySettings {
1017
1467
  readonly pollution: PollutionMapSettings
@@ -1034,13 +1484,13 @@ declare module "factorio:runtime" {
1034
1484
  */
1035
1485
  readonly technology_price_multiplier: double
1036
1486
  /**
1037
- * Either `"after-victory"`, `"always"` or `"never"`. Changing this to `"always"` or `"after-victory"` does not automatically unlock the research queue. See {@link LuaForce} for that.
1487
+ * 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.
1038
1488
  */
1039
1489
  readonly research_queue_setting: "after-victory" | "always" | "never"
1040
1490
  }
1041
1491
  /**
1042
1492
  * The data that can be extracted from a map exchange string, as a plain table.
1043
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#MapExchangeStringData Online documentation}
1493
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#MapExchangeStringData Online documentation}
1044
1494
  */
1045
1495
  export interface MapExchangeStringData {
1046
1496
  readonly map_settings: MapAndDifficultySettings
@@ -1059,7 +1509,7 @@ declare module "factorio:runtime" {
1059
1509
  /**
1060
1510
  * 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.
1061
1511
  * @see BlueprintEntityWrite
1062
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#BlueprintEntity Online documentation}
1512
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#BlueprintEntity Online documentation}
1063
1513
  */
1064
1514
  export interface BlueprintEntity {
1065
1515
  /**
@@ -1238,7 +1688,7 @@ declare module "factorio:runtime" {
1238
1688
  }
1239
1689
  /**
1240
1690
  * Write form of {@link BlueprintEntity}, where table-or-array concepts are allowed to take an array form.
1241
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#BlueprintEntity Online documentation}
1691
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#BlueprintEntity Online documentation}
1242
1692
  */
1243
1693
  export interface BlueprintEntityWrite {
1244
1694
  /**
@@ -1326,7 +1776,7 @@ declare module "factorio:runtime" {
1326
1776
  }
1327
1777
  /**
1328
1778
  * @see TileWrite
1329
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#Tile Online documentation}
1779
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#Tile Online documentation}
1330
1780
  */
1331
1781
  export interface Tile {
1332
1782
  /**
@@ -1340,7 +1790,7 @@ declare module "factorio:runtime" {
1340
1790
  }
1341
1791
  /**
1342
1792
  * Write form of {@link Tile}, where table-or-array concepts are allowed to take an array form.
1343
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#Tile Online documentation}
1793
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#Tile Online documentation}
1344
1794
  */
1345
1795
  export interface TileWrite {
1346
1796
  /**
@@ -1370,9 +1820,6 @@ declare module "factorio:runtime" {
1370
1820
  * Common attributes to all variants of {@link Ingredient}.
1371
1821
  */
1372
1822
  export interface BaseIngredient {
1373
- /**
1374
- * `"item"` or `"fluid"`.
1375
- */
1376
1823
  readonly type: "item" | "fluid"
1377
1824
  /**
1378
1825
  * Prototype name of the required item or fluid.
@@ -1412,16 +1859,13 @@ declare module "factorio:runtime" {
1412
1859
  *
1413
1860
  * Other attributes may be specified depending on `type`:
1414
1861
  * - `"fluid"`: {@link FluidIngredient}
1415
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#Ingredient Online documentation}
1862
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#Ingredient Online documentation}
1416
1863
  */
1417
1864
  export type Ingredient = FluidIngredient | OtherIngredient
1418
1865
  /**
1419
1866
  * Common attributes to all variants of {@link Product}.
1420
1867
  */
1421
1868
  export interface BaseProduct {
1422
- /**
1423
- * `"item"` or `"fluid"`.
1424
- */
1425
1869
  readonly type: "item" | "fluid"
1426
1870
  /**
1427
1871
  * Prototype name of the result.
@@ -1477,7 +1921,7 @@ declare module "factorio:runtime" {
1477
1921
  * {type="fluid", name="petroleum-gas", amount=5.5}}
1478
1922
  * @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:
1479
1923
  * {{type="item", name="custom-item", probability=0.5, amount_min=1, amount_max=5}}
1480
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#Product Online documentation}
1924
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#Product Online documentation}
1481
1925
  */
1482
1926
  export type Product = FluidProduct | OtherProduct
1483
1927
  export interface Loot {
@@ -1500,51 +1944,9 @@ declare module "factorio:runtime" {
1500
1944
  }
1501
1945
  export interface BaseTechnologyModifier {
1502
1946
  /**
1503
- * Modifier type. Specifies which of the other fields will be available. Possible values are: `"inserter-stack-size-bonus"`, `"stack-inserter-capacity-bonus"`, `"laboratory-speed"`, `"character-logistic-trash-slots"`, `"maximum-following-robots-count"`, `"worker-robot-speed"`, `"worker-robot-storage"`, `"ghost-time-to-live"`, `"turret-attack"`, `"ammo-damage"`, `"give-item"`, `"gun-speed"`, `"unlock-recipe"`, `"character-crafting-speed"`, `"character-mining-speed"`, `"character-running-speed"`, `"character-build-distance"`, `"character-item-drop-distance"`, `"character-reach-distance"`, `"character-resource-reach-distance"`, `"character-item-pickup-distance"`, `"character-loot-pickup-distance"`, `"character-inventory-slots-bonus"`, `"deconstruction-time-to-live"`, `"max-failed-attempts-per-tick-per-construction-queue"`, `"max-successful-attempts-per-tick-per-construction-queue"`, `"character-health-bonus"`, `"mining-drill-productivity-bonus"`, `"train-braking-force-bonus"`, `"zoom-to-world-enabled"`, `"zoom-to-world-ghost-building-enabled"`, `"zoom-to-world-blueprint-enabled"`, `"zoom-to-world-deconstruction-planner-enabled"`, `"zoom-to-world-upgrade-planner-enabled"`, `"zoom-to-world-selection-tool-enabled"`, `"worker-robot-battery"`, `"laboratory-productivity"`, `"follower-robot-lifetime"`, `"artillery-range"`, `"nothing"`, `"character-additional-mining-categories"`, `"character-logistic-requests"`.
1947
+ * Modifier type. Specifies which of the other fields will be available.
1504
1948
  */
1505
- readonly type:
1506
- | "inserter-stack-size-bonus"
1507
- | "stack-inserter-capacity-bonus"
1508
- | "laboratory-speed"
1509
- | "character-logistic-trash-slots"
1510
- | "maximum-following-robots-count"
1511
- | "worker-robot-speed"
1512
- | "worker-robot-storage"
1513
- | "ghost-time-to-live"
1514
- | "turret-attack"
1515
- | "ammo-damage"
1516
- | "give-item"
1517
- | "gun-speed"
1518
- | "unlock-recipe"
1519
- | "character-crafting-speed"
1520
- | "character-mining-speed"
1521
- | "character-running-speed"
1522
- | "character-build-distance"
1523
- | "character-item-drop-distance"
1524
- | "character-reach-distance"
1525
- | "character-resource-reach-distance"
1526
- | "character-item-pickup-distance"
1527
- | "character-loot-pickup-distance"
1528
- | "character-inventory-slots-bonus"
1529
- | "deconstruction-time-to-live"
1530
- | "max-failed-attempts-per-tick-per-construction-queue"
1531
- | "max-successful-attempts-per-tick-per-construction-queue"
1532
- | "character-health-bonus"
1533
- | "mining-drill-productivity-bonus"
1534
- | "train-braking-force-bonus"
1535
- | "zoom-to-world-enabled"
1536
- | "zoom-to-world-ghost-building-enabled"
1537
- | "zoom-to-world-blueprint-enabled"
1538
- | "zoom-to-world-deconstruction-planner-enabled"
1539
- | "zoom-to-world-upgrade-planner-enabled"
1540
- | "zoom-to-world-selection-tool-enabled"
1541
- | "worker-robot-battery"
1542
- | "laboratory-productivity"
1543
- | "follower-robot-lifetime"
1544
- | "artillery-range"
1545
- | "nothing"
1546
- | "character-additional-mining-categories"
1547
- | "character-logistic-requests"
1949
+ readonly type: ModifierType
1548
1950
  }
1549
1951
  /**
1550
1952
  * `"gun-speed"` variant of {@link TechnologyModifier}.
@@ -1661,7 +2063,6 @@ declare module "factorio:runtime" {
1661
2063
  | "laboratory-productivity"
1662
2064
  | "follower-robot-lifetime"
1663
2065
  | "artillery-range"
1664
- | "character-additional-mining-categories"
1665
2066
  | "character-logistic-requests"
1666
2067
  /**
1667
2068
  * Modification value. This value will be added to the variable it modifies.
@@ -1679,7 +2080,7 @@ declare module "factorio:runtime" {
1679
2080
  * - `"unlock-recipe"`: {@link UnlockRecipeTechnologyModifier}
1680
2081
  * - `"nothing"`: {@link NothingTechnologyModifier}
1681
2082
  * - Other types: {@link OtherTechnologyModifier}
1682
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#TechnologyModifier Online documentation}
2083
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#TechnologyModifier Online documentation}
1683
2084
  */
1684
2085
  export type TechnologyModifier =
1685
2086
  | GunSpeedTechnologyModifier
@@ -1691,7 +2092,7 @@ declare module "factorio:runtime" {
1691
2092
  | OtherTechnologyModifier
1692
2093
  /**
1693
2094
  * A single offer on a market entity.
1694
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#Offer Online documentation}
2095
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#Offer Online documentation}
1695
2096
  */
1696
2097
  export interface Offer {
1697
2098
  /**
@@ -1705,7 +2106,7 @@ declare module "factorio:runtime" {
1705
2106
  }
1706
2107
  /**
1707
2108
  * 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.
1708
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#AutoplaceSpecification Online documentation}
2109
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#AutoplaceSpecification Online documentation}
1709
2110
  */
1710
2111
  export interface AutoplaceSpecification {
1711
2112
  readonly probability_expression: NoiseExpression
@@ -1731,7 +2132,7 @@ declare module "factorio:runtime" {
1731
2132
  }
1732
2133
  /**
1733
2134
  * 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}.
1734
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#NoiseExpression Online documentation}
2135
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#NoiseExpression Online documentation}
1735
2136
  */
1736
2137
  export interface NoiseExpression {
1737
2138
  /**
@@ -1823,7 +2224,7 @@ declare module "factorio:runtime" {
1823
2224
  * - `"very-big"`: equivalent to `2`.
1824
2225
  * - `"very-good"`: equivalent to `2`.
1825
2226
  * @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.
1826
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#MapGenSize Online documentation}
2227
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#MapGenSize Online documentation}
1827
2228
  */
1828
2229
  export type MapGenSize =
1829
2230
  | float
@@ -1845,7 +2246,7 @@ declare module "factorio:runtime" {
1845
2246
  | "very-good"
1846
2247
  /**
1847
2248
  * @see AutoplaceControlWrite
1848
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#AutoplaceControl Online documentation}
2249
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#AutoplaceControl Online documentation}
1849
2250
  */
1850
2251
  export interface AutoplaceControl {
1851
2252
  /**
@@ -1863,7 +2264,7 @@ declare module "factorio:runtime" {
1863
2264
  }
1864
2265
  /**
1865
2266
  * Write form of {@link AutoplaceControl}, where table-or-array concepts are allowed to take an array form.
1866
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#AutoplaceControl Online documentation}
2267
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#AutoplaceControl Online documentation}
1867
2268
  */
1868
2269
  export interface AutoplaceControlWrite {
1869
2270
  /**
@@ -1881,7 +2282,7 @@ declare module "factorio:runtime" {
1881
2282
  }
1882
2283
  /**
1883
2284
  * @see AutoplaceSettingsWrite
1884
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#AutoplaceSettings Online documentation}
2285
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#AutoplaceSettings Online documentation}
1885
2286
  */
1886
2287
  export interface AutoplaceSettings {
1887
2288
  /**
@@ -1892,7 +2293,7 @@ declare module "factorio:runtime" {
1892
2293
  }
1893
2294
  /**
1894
2295
  * Write form of {@link AutoplaceSettings}, where table-or-array concepts are allowed to take an array form.
1895
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#AutoplaceSettings Online documentation}
2296
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#AutoplaceSettings Online documentation}
1896
2297
  */
1897
2298
  export interface AutoplaceSettingsWrite {
1898
2299
  /**
@@ -1903,7 +2304,7 @@ declare module "factorio:runtime" {
1903
2304
  }
1904
2305
  /**
1905
2306
  * @see CliffPlacementSettingsWrite
1906
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#CliffPlacementSettings Online documentation}
2307
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#CliffPlacementSettings Online documentation}
1907
2308
  */
1908
2309
  export interface CliffPlacementSettings {
1909
2310
  /**
@@ -1925,7 +2326,7 @@ declare module "factorio:runtime" {
1925
2326
  }
1926
2327
  /**
1927
2328
  * Write form of {@link CliffPlacementSettings}, where table-or-array concepts are allowed to take an array form.
1928
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#CliffPlacementSettings Online documentation}
2329
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#CliffPlacementSettings Online documentation}
1929
2330
  */
1930
2331
  export interface CliffPlacementSettingsWrite {
1931
2332
  /**
@@ -1958,7 +2359,7 @@ declare module "factorio:runtime" {
1958
2359
  * local mgs = surface.map_gen_settings
1959
2360
  * mgs.property_expression_names["tile:deepwater:probability"] = -1000
1960
2361
  * surface.map_gen_settings = mgs
1961
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#MapGenSettings Online documentation}
2362
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#MapGenSettings Online documentation}
1962
2363
  */
1963
2364
  export interface MapGenSettings {
1964
2365
  /**
@@ -1978,9 +2379,9 @@ declare module "factorio:runtime" {
1978
2379
  */
1979
2380
  readonly default_enable_all_autoplace_controls: boolean
1980
2381
  /**
1981
- * Each setting in this dictionary maps the string type to the settings for that type. Valid types are `"entity"`, `"tile"` and `"decorative"`.
2382
+ * Each setting in this dictionary maps the string type to the settings for that type.
1982
2383
  */
1983
- readonly autoplace_settings: Record<string, AutoplaceSettings>
2384
+ readonly autoplace_settings: Record<"entity" | "tile" | "decorative", AutoplaceSettings>
1984
2385
  /**
1985
2386
  * Map generation settings for entities of the type "cliff".
1986
2387
  */
@@ -2028,7 +2429,7 @@ declare module "factorio:runtime" {
2028
2429
  }
2029
2430
  /**
2030
2431
  * Write form of {@link MapGenSettings}, where table-or-array concepts are allowed to take an array form.
2031
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#MapGenSettings Online documentation}
2432
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#MapGenSettings Online documentation}
2032
2433
  */
2033
2434
  export interface MapGenSettingsWrite {
2034
2435
  /**
@@ -2048,9 +2449,9 @@ declare module "factorio:runtime" {
2048
2449
  */
2049
2450
  readonly default_enable_all_autoplace_controls: boolean
2050
2451
  /**
2051
- * Each setting in this dictionary maps the string type to the settings for that type. Valid types are `"entity"`, `"tile"` and `"decorative"`.
2452
+ * Each setting in this dictionary maps the string type to the settings for that type.
2052
2453
  */
2053
- readonly autoplace_settings: Record<string, AutoplaceSettingsWrite>
2454
+ readonly autoplace_settings: Record<"entity" | "tile" | "decorative", AutoplaceSettingsWrite>
2054
2455
  /**
2055
2456
  * Map generation settings for entities of the type "cliff".
2056
2457
  */
@@ -2115,9 +2516,6 @@ declare module "factorio:runtime" {
2115
2516
  readonly advanced_settings?: AdvancedMapGenSettings
2116
2517
  }
2117
2518
  export interface SignalID {
2118
- /**
2119
- * `"item"`, `"fluid"`, or `"virtual"`.
2120
- */
2121
2519
  readonly type: "item" | "fluid" | "virtual"
2122
2520
  /**
2123
2521
  * Name of the item, fluid or virtual signal.
@@ -2126,7 +2524,7 @@ declare module "factorio:runtime" {
2126
2524
  }
2127
2525
  /**
2128
2526
  * An actual signal transmitted by the network.
2129
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#Signal Online documentation}
2527
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#Signal Online documentation}
2130
2528
  */
2131
2529
  export interface Signal {
2132
2530
  /**
@@ -2139,9 +2537,6 @@ declare module "factorio:runtime" {
2139
2537
  readonly count: int
2140
2538
  }
2141
2539
  export interface UpgradeFilter {
2142
- /**
2143
- * `"item"`, or `"entity"`.
2144
- */
2145
2540
  readonly type: "item" | "entity"
2146
2541
  /**
2147
2542
  * Name of the item, or entity.
@@ -2150,7 +2545,7 @@ declare module "factorio:runtime" {
2150
2545
  }
2151
2546
  /**
2152
2547
  * A single filter used by an infinity-filters instance.
2153
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#InfinityInventoryFilter Online documentation}
2548
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#InfinityInventoryFilter Online documentation}
2154
2549
  */
2155
2550
  export interface InfinityInventoryFilter {
2156
2551
  /**
@@ -2162,7 +2557,7 @@ declare module "factorio:runtime" {
2162
2557
  */
2163
2558
  readonly count?: uint
2164
2559
  /**
2165
- * `"at-least"`, `"at-most"`, or `"exactly"`. Defaults to `"at-least"`.
2560
+ * Defaults to `"at-least"`.
2166
2561
  */
2167
2562
  readonly mode?: "at-least" | "at-most" | "exactly"
2168
2563
  /**
@@ -2172,7 +2567,7 @@ declare module "factorio:runtime" {
2172
2567
  }
2173
2568
  /**
2174
2569
  * A single filter used by an infinity-pipe type entity.
2175
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#InfinityPipeFilter Online documentation}
2570
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#InfinityPipeFilter Online documentation}
2176
2571
  */
2177
2572
  export interface InfinityPipeFilter {
2178
2573
  /**
@@ -2180,7 +2575,7 @@ declare module "factorio:runtime" {
2180
2575
  */
2181
2576
  readonly name: string
2182
2577
  /**
2183
- * The fill percentage the pipe (e.g. 0.5 for 50%). Can't be negative.
2578
+ * The fill percentage the pipe (`0.5` for 50%). Can't be negative.
2184
2579
  */
2185
2580
  readonly percentage?: double
2186
2581
  /**
@@ -2188,7 +2583,7 @@ declare module "factorio:runtime" {
2188
2583
  */
2189
2584
  readonly temperature?: double
2190
2585
  /**
2191
- * `"at-least"`, `"at-most"`, `"exactly"`, `"add"`, or `"remove"`. Defaults to `"at-least"`.
2586
+ * Defaults to `"at-least"`.
2192
2587
  */
2193
2588
  readonly mode?: "at-least" | "at-most" | "exactly" | "add" | "remove"
2194
2589
  }
@@ -2226,7 +2621,7 @@ declare module "factorio:runtime" {
2226
2621
  }
2227
2622
  /**
2228
2623
  * The settings used by a heat-interface type entity.
2229
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#HeatSetting Online documentation}
2624
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#HeatSetting Online documentation}
2230
2625
  */
2231
2626
  export interface HeatSetting {
2232
2627
  /**
@@ -2234,7 +2629,7 @@ declare module "factorio:runtime" {
2234
2629
  */
2235
2630
  readonly temperature?: double
2236
2631
  /**
2237
- * `"at-least"`, `"at-most"`, `"exactly"`, `"add"`, or `"remove"`. Defaults to `"at-least"`.
2632
+ * Defaults to `"at-least"`.
2238
2633
  */
2239
2634
  readonly mode?: "at-least" | "at-most" | "exactly" | "add" | "remove"
2240
2635
  }
@@ -2244,12 +2639,9 @@ declare module "factorio:runtime" {
2244
2639
  }
2245
2640
  /**
2246
2641
  * A definition of a fluidbox connection point.
2247
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#FluidBoxConnection Online documentation}
2642
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#FluidBoxConnection Online documentation}
2248
2643
  */
2249
2644
  export interface FluidBoxConnection {
2250
- /**
2251
- * One of "input", "output", or "input-output".
2252
- */
2253
2645
  readonly type: "input" | "output" | "input-output"
2254
2646
  /**
2255
2647
  * The 4 cardinal direction connection points for this pipe. This vector is a table with `x` and `y` keys instead of an array.
@@ -2262,16 +2654,10 @@ declare module "factorio:runtime" {
2262
2654
  }
2263
2655
  /**
2264
2656
  * A single pipe connection for a given fluidbox.
2265
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#PipeConnection Online documentation}
2657
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#PipeConnection Online documentation}
2266
2658
  */
2267
2659
  export interface PipeConnection {
2268
- /**
2269
- * One of "input", "output", or "input-output".
2270
- */
2271
2660
  readonly flow_direction: "input" | "output" | "input-output"
2272
- /**
2273
- * One of "normal" or "underground".
2274
- */
2275
2661
  readonly connection_type: "normal" | "underground"
2276
2662
  /**
2277
2663
  * The absolute position of this connection within the entity.
@@ -2312,7 +2698,7 @@ declare module "factorio:runtime" {
2312
2698
  */
2313
2699
  readonly second_constant?: int
2314
2700
  /**
2315
- * Must be one of `"*"`, `"/"`, `"+"`, `"-"`, `"%"`, `"^"`, `"<<"`, `">>"`, `"AND"`, `"OR"`, `"XOR"`. When not specified, defaults to `"*"`.
2701
+ * When not specified, defaults to `"*"`.
2316
2702
  */
2317
2703
  readonly operation?: "*" | "/" | "+" | "-" | "%" | "^" | "<<" | ">>" | "AND" | "OR" | "XOR"
2318
2704
  /**
@@ -2348,14 +2734,14 @@ declare module "factorio:runtime" {
2348
2734
  * - `"≠"`: "not equal to"
2349
2735
  * - `"!="`: "not equal to"
2350
2736
  * @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.
2351
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#ComparatorString Online documentation}
2737
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#ComparatorString Online documentation}
2352
2738
  */
2353
2739
  export type ComparatorString = "=" | ">" | "<" | "≥" | ">=" | "≤" | "<=" | "≠" | "!="
2354
2740
  /** @see ComparatorString */
2355
2741
  export type ComparatorStringRead = "=" | ">" | "<" | "≥" | "≤" | "≠"
2356
2742
  /**
2357
2743
  * @see DeciderCombinatorParametersWrite
2358
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#DeciderCombinatorParameters Online documentation}
2744
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#DeciderCombinatorParameters Online documentation}
2359
2745
  */
2360
2746
  export interface DeciderCombinatorParameters {
2361
2747
  /**
@@ -2385,7 +2771,7 @@ declare module "factorio:runtime" {
2385
2771
  }
2386
2772
  /**
2387
2773
  * Write form of {@link DeciderCombinatorParameters}, where table-or-array concepts are allowed to take an array form.
2388
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#DeciderCombinatorParameters Online documentation}
2774
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#DeciderCombinatorParameters Online documentation}
2389
2775
  */
2390
2776
  export interface DeciderCombinatorParametersWrite {
2391
2777
  /**
@@ -2419,7 +2805,7 @@ declare module "factorio:runtime" {
2419
2805
  }
2420
2806
  /**
2421
2807
  * @see CircuitConditionWrite
2422
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#CircuitCondition Online documentation}
2808
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#CircuitCondition Online documentation}
2423
2809
  */
2424
2810
  export interface CircuitCondition {
2425
2811
  /**
@@ -2441,7 +2827,7 @@ declare module "factorio:runtime" {
2441
2827
  }
2442
2828
  /**
2443
2829
  * Write form of {@link CircuitCondition}, where table-or-array concepts are allowed to take an array form.
2444
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#CircuitCondition Online documentation}
2830
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#CircuitCondition Online documentation}
2445
2831
  */
2446
2832
  export interface CircuitConditionWrite {
2447
2833
  /**
@@ -2463,7 +2849,7 @@ declare module "factorio:runtime" {
2463
2849
  }
2464
2850
  /**
2465
2851
  * @see CircuitConditionDefinitionWrite
2466
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#CircuitConditionDefinition Online documentation}
2852
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#CircuitConditionDefinition Online documentation}
2467
2853
  */
2468
2854
  export interface CircuitConditionDefinition {
2469
2855
  readonly condition: CircuitCondition
@@ -2474,7 +2860,7 @@ declare module "factorio:runtime" {
2474
2860
  }
2475
2861
  /**
2476
2862
  * Write form of {@link CircuitConditionDefinition}, where table-or-array concepts are allowed to take an array form.
2477
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#CircuitConditionDefinition Online documentation}
2863
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#CircuitConditionDefinition Online documentation}
2478
2864
  */
2479
2865
  export interface CircuitConditionDefinitionWrite {
2480
2866
  readonly condition: CircuitConditionWrite
@@ -2790,7 +3176,7 @@ declare module "factorio:runtime" {
2790
3176
  * - {@link defines.command.stop}: {@link StopCommand}
2791
3177
  * - {@link defines.command.flee}: {@link FleeCommand}
2792
3178
  * - {@link defines.command.build_base}: {@link BuildBaseCommand}
2793
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#Command Online documentation}
3179
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#Command Online documentation}
2794
3180
  */
2795
3181
  export type Command =
2796
3182
  | AttackCommand
@@ -2804,7 +3190,7 @@ declare module "factorio:runtime" {
2804
3190
  | BuildBaseCommand
2805
3191
  /**
2806
3192
  * Write form of {@link Command}, where table-or-array concepts are allowed to take an array form.
2807
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#Command Online documentation}
3193
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#Command Online documentation}
2808
3194
  */
2809
3195
  export type CommandWrite =
2810
3196
  | AttackCommand
@@ -2900,7 +3286,7 @@ declare module "factorio:runtime" {
2900
3286
  * {name="copper-plate", count=47}
2901
3287
  * @example These are both full stacks of iron plates (for iron-plate, a full stack is 100 plates):
2902
3288
  * "iron-plate"
2903
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#SimpleItemStack Online documentation}
3289
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#SimpleItemStack Online documentation}
2904
3290
  */
2905
3291
  export type SimpleItemStack = string | ItemStackDefinition
2906
3292
  /**
@@ -2910,7 +3296,7 @@ declare module "factorio:runtime" {
2910
3296
  * - `string`: The fluid name.
2911
3297
  * - {@link LuaFluidPrototype}: The fluid prototype.
2912
3298
  * - {@link Fluid}: The fluid.
2913
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#FluidIdentification Online documentation}
3299
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#FluidIdentification Online documentation}
2914
3300
  */
2915
3301
  export type FluidIdentification = string | LuaFluidPrototype | Fluid
2916
3302
  /**
@@ -2920,7 +3306,7 @@ declare module "factorio:runtime" {
2920
3306
  * - ForceIndex: The force index.
2921
3307
  * - `string`: The force name.
2922
3308
  * - {@link LuaForce}: A reference to {@link LuaForce} may be passed directly.
2923
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#ForceIdentification Online documentation}
3309
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#ForceIdentification Online documentation}
2924
3310
  */
2925
3311
  export type ForceIdentification = ForceIndex | string | LuaForce
2926
3312
  /**
@@ -2930,7 +3316,7 @@ declare module "factorio:runtime" {
2930
3316
  * - `string`: The technology name.
2931
3317
  * - {@link LuaTechnology}: A reference to {@link LuaTechnology} may be passed directly.
2932
3318
  * - {@link LuaTechnologyPrototype}: A reference to {@link LuaTechnologyPrototype} may be passed directly.
2933
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#TechnologyIdentification Online documentation}
3319
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#TechnologyIdentification Online documentation}
2934
3320
  */
2935
3321
  export type TechnologyIdentification = string | LuaTechnology | LuaTechnologyPrototype
2936
3322
  /**
@@ -2940,7 +3326,7 @@ declare module "factorio:runtime" {
2940
3326
  * - 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.
2941
3327
  * - `string`: It will be the surface name. E.g. `"nauvis"`.
2942
3328
  * - {@link LuaSurface}: A reference to {@link LuaSurface} may be passed directly.
2943
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#SurfaceIdentification Online documentation}
3329
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#SurfaceIdentification Online documentation}
2944
3330
  */
2945
3331
  export type SurfaceIdentification = SurfaceIndex | string | LuaSurface
2946
3332
  /**
@@ -2950,7 +3336,7 @@ declare module "factorio:runtime" {
2950
3336
  * - PlayerIndex: The player index.
2951
3337
  * - `string`: The player name.
2952
3338
  * - {@link LuaPlayer}: A reference to {@link LuaPlayer} may be passed directly.
2953
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#PlayerIdentification Online documentation}
3339
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#PlayerIdentification Online documentation}
2954
3340
  */
2955
3341
  export type PlayerIdentification = PlayerIndex | string | LuaPlayer
2956
3342
  /**
@@ -2959,7 +3345,7 @@ declare module "factorio:runtime" {
2959
3345
  * ## Union members
2960
3346
  * - {@link SimpleItemStack}
2961
3347
  * - {@link LuaItemStack}
2962
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#ItemStackIdentification Online documentation}
3348
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#ItemStackIdentification Online documentation}
2963
3349
  */
2964
3350
  export type ItemStackIdentification = SimpleItemStack | LuaItemStack
2965
3351
  /**
@@ -2969,7 +3355,7 @@ declare module "factorio:runtime" {
2969
3355
  * - {@link LuaEntity}: The entity.
2970
3356
  * - {@link LuaEntityPrototype}: The entity prototype.
2971
3357
  * - `string`: The prototype name.
2972
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#EntityPrototypeIdentification Online documentation}
3358
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#EntityPrototypeIdentification Online documentation}
2973
3359
  */
2974
3360
  export type EntityPrototypeIdentification = LuaEntity | LuaEntityPrototype | string
2975
3361
  /**
@@ -2979,30 +3365,44 @@ declare module "factorio:runtime" {
2979
3365
  * - {@link LuaItemStack}: The item.
2980
3366
  * - {@link LuaItemPrototype}: The item prototype.
2981
3367
  * - `string`: The prototype name.
2982
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#ItemPrototypeIdentification Online documentation}
3368
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#ItemPrototypeIdentification Online documentation}
2983
3369
  */
2984
3370
  export type ItemPrototypeIdentification = LuaItemStack | LuaItemPrototype | string
3371
+ /**
3372
+ * Type of a {@link WaitCondition}.
3373
+ *
3374
+ * ## Union members
3375
+ * - `"time"`
3376
+ * - `"full"`
3377
+ * - `"empty"`
3378
+ * - `"item_count"`
3379
+ * - `"circuit"`
3380
+ * - `"inactivity"`
3381
+ * - `"robots_inactive"`
3382
+ * - `"fluid_count"`
3383
+ * - `"passenger_present"`
3384
+ * - `"passenger_not_present"`
3385
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#WaitConditionType Online documentation}
3386
+ */
3387
+ export type WaitConditionType =
3388
+ | "time"
3389
+ | "full"
3390
+ | "empty"
3391
+ | "item_count"
3392
+ | "circuit"
3393
+ | "inactivity"
3394
+ | "robots_inactive"
3395
+ | "fluid_count"
3396
+ | "passenger_present"
3397
+ | "passenger_not_present"
2985
3398
  /**
2986
3399
  * @see WaitConditionWrite
2987
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#WaitCondition Online documentation}
3400
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#WaitCondition Online documentation}
2988
3401
  */
2989
3402
  export interface WaitCondition {
3403
+ readonly type: WaitConditionType
2990
3404
  /**
2991
- * One of `"time"`, `"inactivity"`, `"full"`, `"empty"`, `"item_count"`, `"circuit"`, `"robots_inactive"`, `"fluid_count"`, `"passenger_present"`, `"passenger_not_present"`.
2992
- */
2993
- readonly type:
2994
- | "time"
2995
- | "inactivity"
2996
- | "full"
2997
- | "empty"
2998
- | "item_count"
2999
- | "circuit"
3000
- | "robots_inactive"
3001
- | "fluid_count"
3002
- | "passenger_present"
3003
- | "passenger_not_present"
3004
- /**
3005
- * Either `"and"`, or `"or"`. Tells how this condition is to be compared with the preceding conditions in the corresponding `wait_conditions` array.
3405
+ * Specifies how this condition is to be compared with the preceding conditions in the corresponding `wait_conditions` array.
3006
3406
  */
3007
3407
  readonly compare_type: "and" | "or"
3008
3408
  /**
@@ -3016,25 +3416,12 @@ declare module "factorio:runtime" {
3016
3416
  }
3017
3417
  /**
3018
3418
  * Write form of {@link WaitCondition}, where table-or-array concepts are allowed to take an array form.
3019
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#WaitCondition Online documentation}
3419
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#WaitCondition Online documentation}
3020
3420
  */
3021
3421
  export interface WaitConditionWrite {
3422
+ readonly type: WaitConditionType
3022
3423
  /**
3023
- * One of `"time"`, `"inactivity"`, `"full"`, `"empty"`, `"item_count"`, `"circuit"`, `"robots_inactive"`, `"fluid_count"`, `"passenger_present"`, `"passenger_not_present"`.
3024
- */
3025
- readonly type:
3026
- | "time"
3027
- | "inactivity"
3028
- | "full"
3029
- | "empty"
3030
- | "item_count"
3031
- | "circuit"
3032
- | "robots_inactive"
3033
- | "fluid_count"
3034
- | "passenger_present"
3035
- | "passenger_not_present"
3036
- /**
3037
- * Either `"and"`, or `"or"`. Tells how this condition is to be compared with the preceding conditions in the corresponding `wait_conditions` array.
3424
+ * Specifies how this condition is to be compared with the preceding conditions in the corresponding `wait_conditions` array.
3038
3425
  */
3039
3426
  readonly compare_type: "and" | "or"
3040
3427
  /**
@@ -3048,7 +3435,7 @@ declare module "factorio:runtime" {
3048
3435
  }
3049
3436
  /**
3050
3437
  * @see TrainScheduleRecordWrite
3051
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#TrainScheduleRecord Online documentation}
3438
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#TrainScheduleRecord Online documentation}
3052
3439
  */
3053
3440
  export interface TrainScheduleRecord {
3054
3441
  /**
@@ -3071,7 +3458,7 @@ declare module "factorio:runtime" {
3071
3458
  }
3072
3459
  /**
3073
3460
  * Write form of {@link TrainScheduleRecord}, where table-or-array concepts are allowed to take an array form.
3074
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#TrainScheduleRecord Online documentation}
3461
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#TrainScheduleRecord Online documentation}
3075
3462
  */
3076
3463
  export interface TrainScheduleRecordWrite {
3077
3464
  /**
@@ -3094,7 +3481,7 @@ declare module "factorio:runtime" {
3094
3481
  }
3095
3482
  /**
3096
3483
  * @see TrainScheduleWrite
3097
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#TrainSchedule Online documentation}
3484
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#TrainSchedule Online documentation}
3098
3485
  */
3099
3486
  export interface TrainSchedule {
3100
3487
  /**
@@ -3105,7 +3492,7 @@ declare module "factorio:runtime" {
3105
3492
  }
3106
3493
  /**
3107
3494
  * Write form of {@link TrainSchedule}, where table-or-array concepts are allowed to take an array form.
3108
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#TrainSchedule Online documentation}
3495
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#TrainSchedule Online documentation}
3109
3496
  */
3110
3497
  export interface TrainScheduleWrite {
3111
3498
  /**
@@ -3114,90 +3501,19 @@ declare module "factorio:runtime" {
3114
3501
  readonly current: uint
3115
3502
  readonly records: readonly TrainScheduleRecordWrite[]
3116
3503
  }
3117
- export interface BaseGuiArrowSpecification {
3118
- /**
3119
- * This determines which of the following fields will be required. Must be one of `"nowhere"` (will remove the arrow entirely), `"goal"` (will point to the current goal), `"entity_info"`, `"active_window"`, `"entity"`, `"position"`, `"crafting_queue"` or `"item_stack"` (will point to a given item stack in an inventory). Depending on this value, other fields may have to be specified.
3120
- */
3121
- readonly type:
3122
- | "nowhere"
3123
- | "goal"
3124
- | "entity_info"
3125
- | "active_window"
3126
- | "entity"
3127
- | "position"
3128
- | "crafting_queue"
3129
- | "item_stack"
3130
- }
3131
- /**
3132
- * `"entity"` variant of {@link GuiArrowSpecification}.
3133
- */
3134
- export interface EntityGuiArrowSpecification extends BaseGuiArrowSpecification {
3135
- readonly type: "entity"
3136
- readonly entity: LuaEntity
3137
- }
3138
- /**
3139
- * `"position"` variant of {@link GuiArrowSpecification}.
3140
- */
3141
- export interface PositionGuiArrowSpecification extends BaseGuiArrowSpecification {
3142
- readonly type: "position"
3143
- readonly position: MapPosition | MapPositionArray
3144
- }
3145
- /**
3146
- * `"crafting_queue"` variant of {@link GuiArrowSpecification}.
3147
- */
3148
- export interface CraftingQueueGuiArrowSpecification extends BaseGuiArrowSpecification {
3149
- readonly type: "crafting_queue"
3150
- /**
3151
- * Index in the crafting queue to point to.
3152
- */
3153
- readonly crafting_queueindex: uint
3154
- }
3155
3504
  /**
3156
- * `"item_stack"` variant of {@link GuiArrowSpecification}.
3157
- */
3158
- export interface ItemStackGuiArrowSpecification extends BaseGuiArrowSpecification {
3159
- readonly type: "item_stack"
3160
- /**
3161
- * Which inventory the stack is in.
3162
- */
3163
- readonly inventory_index: defines.inventory
3164
- /**
3165
- * Which stack to point to.
3166
- */
3167
- readonly item_stack_index: uint
3168
- /**
3169
- * Must be either `"player"`, `"target"`, `"player-quickbar"` or `"player-equipment-bar"`.
3170
- */
3171
- readonly source: "player" | "target" | "player-quickbar" | "player-equipment-bar"
3172
- }
3173
- /**
3174
- * Variants of {@link GuiArrowSpecification} with no additional attributes.
3175
- */
3176
- export interface OtherGuiArrowSpecification extends BaseGuiArrowSpecification {
3177
- readonly type: "nowhere" | "goal" | "entity_info" | "active_window"
3178
- }
3179
- /**
3180
- * Used for specifying where a GUI arrow should point to.
3505
+ * Target type of an {@link AmmoType}.
3181
3506
  *
3182
- * Other attributes may be specified depending on `type`:
3183
- * - `"entity"`: {@link EntityGuiArrowSpecification}
3184
- * - `"position"`: {@link PositionGuiArrowSpecification}
3185
- * - `"crafting_queue"`: {@link CraftingQueueGuiArrowSpecification}
3186
- * - `"item_stack"`: {@link ItemStackGuiArrowSpecification}
3187
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#GuiArrowSpecification Online documentation}
3507
+ * ## Union members
3508
+ * - `"entity"`: Fires at an entity.
3509
+ * - `"position"`: Fires directly at a position.
3510
+ * - `"direction"`: Fires in a direction.
3511
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#TargetType Online documentation}
3188
3512
  */
3189
- export type GuiArrowSpecification =
3190
- | EntityGuiArrowSpecification
3191
- | PositionGuiArrowSpecification
3192
- | CraftingQueueGuiArrowSpecification
3193
- | ItemStackGuiArrowSpecification
3194
- | OtherGuiArrowSpecification
3513
+ export type TargetType = "entity" | "position" | "direction"
3195
3514
  export interface AmmoType {
3196
3515
  readonly action?: TriggerItem[]
3197
- /**
3198
- * One of `"entity"` (fires at an entity), `"position"` (fires directly at a position), or `"direction"` (fires in a direction).
3199
- */
3200
- readonly target_type: "entity" | "position" | "direction"
3516
+ readonly target_type: TargetType
3201
3517
  /**
3202
3518
  * When `true`, the gun will be able to shoot even when the target is out of range. Only applies when `target_type` is `position`. The gun will fire at the maximum range in the direction of the target position. Defaults to `false`.
3203
3519
  */
@@ -3259,7 +3575,7 @@ declare module "factorio:runtime" {
3259
3575
  * - `"equipment"`
3260
3576
  * - `"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.
3261
3577
  * - `"utility"` - sprite defined in the utility-sprites object, these are the pictures used by the game internally for the UI.
3262
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#SpritePath Online documentation}
3578
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#SpritePath Online documentation}
3263
3579
  */
3264
3580
  export type SpritePath =
3265
3581
  | (string & {
@@ -3309,7 +3625,7 @@ declare module "factorio:runtime" {
3309
3625
  * - `"entity-rotated"` - Uses {@link import("factorio:prototype").EntityPrototype#rotated_sound EntityPrototype::rotated_sound}
3310
3626
  * - `"entity-open"` - Uses {@link import("factorio:prototype").EntityPrototype#open_sound Entity::open_sound}
3311
3627
  * - `"entity-close"` - Uses {@link import("factorio:prototype").EntityPrototype#close_sound Entity::close_sound}
3312
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#SoundPath Online documentation}
3628
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#SoundPath Online documentation}
3313
3629
  */
3314
3630
  export type SoundPath =
3315
3631
  | (string & {
@@ -3328,7 +3644,7 @@ declare module "factorio:runtime" {
3328
3644
  * speed={bonus=-0.15},
3329
3645
  * productivity={bonus=0.06},
3330
3646
  * pollution={bonus=0.075}}
3331
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#ModuleEffects Online documentation}
3647
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#ModuleEffects Online documentation}
3332
3648
  */
3333
3649
  export interface ModuleEffects {
3334
3650
  readonly consumption?: ModuleEffectValue
@@ -3340,6 +3656,13 @@ declare module "factorio:runtime" {
3340
3656
  * A set of flags. Active flags are in the dictionary as `true`, while inactive flags aren't present at all.
3341
3657
  *
3342
3658
  * By default, none of these flags are set.
3659
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#EntityPrototypeFlags Online documentation}
3660
+ */
3661
+ export type EntityPrototypeFlags = {
3662
+ readonly [T in EntityPrototypeFlag]?: true
3663
+ }
3664
+ /**
3665
+ * A `string` specifying an entity prototype flag.
3343
3666
  *
3344
3667
  * ## Union members
3345
3668
  * - `"not-rotatable"`: Prevents the entity from being rotated before or after placement.
@@ -3368,115 +3691,46 @@ declare module "factorio:runtime" {
3368
3691
  * - `"not-upgradable"`: Prevents the entity from being selected by the upgrade planner.
3369
3692
  * - `"not-in-kill-statistics"`: Prevents the entity from being shown in the kill statistics.
3370
3693
  * - `"not-in-made-in"`: Prevents the entity from being shown in the "made in" list in recipe tooltips.
3371
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#EntityPrototypeFlags Online documentation}
3372
- */
3373
- export interface EntityPrototypeFlags {
3374
- /**
3375
- * Prevents the entity from being rotated before or after placement.
3376
- */
3377
- readonly "not-rotatable"?: true
3378
- /**
3379
- * Determines the default force when placing entities in the map editor and using the "AUTO" option for the force.
3380
- */
3381
- readonly "placeable-neutral"?: true
3382
- /**
3383
- * Determines the default force when placing entities in the map editor and using the "AUTO" option for the force.
3384
- */
3385
- readonly "placeable-player"?: true
3386
- /**
3387
- * Determines the default force when placing entities in the map editor and using the "AUTO" option for the force.
3388
- */
3389
- readonly "placeable-enemy"?: true
3390
- /**
3391
- * Determines whether the entity needs to be aligned with the invisible grid within the world. Most entities are confined in this way, with a few exceptions such as trees and land mines.
3392
- */
3393
- readonly "placeable-off-grid"?: true
3394
- /**
3395
- * Makes it possible to blueprint, deconstruct, and repair the entity (which can be turned off again using the specific flags). Makes it possible for the biter AI to target the entity as a distraction. Enables dust to automatically be created when building the entity. If the entity does not have a `map_color` set, this flag makes the entity appear on the map with the default color specified by the UtilityConstants.
3396
- */
3397
- readonly "player-creation"?: true
3398
- /**
3399
- * Uses 45 degree angle increments when selecting direction.
3400
- */
3401
- readonly "building-direction-8-way"?: true
3402
- /**
3403
- * Used to automatically detect the proper direction of the entity if possible. Used by the pump, train stop, and train signal by default.
3404
- */
3405
- readonly "filter-directions"?: true
3406
- /**
3407
- * Fast replace will not apply when building while moving.
3408
- */
3409
- readonly "fast-replaceable-no-build-while-moving"?: true
3410
- /**
3411
- * Used to specify that the entity breathes air, and is thus affected by poison.
3412
- */
3413
- readonly "breaths-air"?: true
3414
- /**
3415
- * Used to specify that the entity can not be 'healed' by repair packs.
3416
- */
3417
- readonly "not-repairable"?: true
3418
- /**
3419
- * Prevents the entity from being drawn on the map.
3420
- */
3421
- readonly "not-on-map"?: true
3422
- /**
3423
- * Prevents the entity from being deconstructed.
3424
- */
3425
- readonly "not-deconstructable"?: true
3426
- /**
3427
- * Prevents the entity from being part of a blueprint.
3428
- */
3429
- readonly "not-blueprintable"?: true
3430
- /**
3431
- * Hides the entity from the bonus GUI and from the "made in"-property of recipe tooltips.
3432
- */
3433
- readonly hidden?: true
3434
- /**
3435
- * Hides the alt-info of this entity when in alt-mode.
3436
- */
3437
- readonly "hide-alt-info"?: true
3438
- /**
3439
- * Does not fast replace this entity over other entity types when building while moving.
3440
- */
3441
- readonly "fast-replaceable-no-cross-type-while-moving"?: true
3442
- readonly "no-gap-fill-while-building"?: true
3443
- /**
3444
- * Does not apply fire stickers to the entity.
3445
- */
3446
- readonly "not-flammable"?: true
3447
- /**
3448
- * Prevents inserters and loaders from taking items from this entity.
3449
- */
3450
- readonly "no-automated-item-removal"?: true
3451
- /**
3452
- * Prevents inserters and loaders from inserting items into this entity.
3453
- */
3454
- readonly "no-automated-item-insertion"?: true
3455
- /**
3456
- * Prevents the entity from being copy-pasted.
3457
- */
3458
- readonly "no-copy-paste"?: true
3459
- /**
3460
- * Disallows selection of the entity even when a selection box is specified for other reasons. For example, selection boxes are used to determine the size of outlines to be shown when highlighting entities inside electric pole ranges.
3461
- */
3462
- readonly "not-selectable-in-game"?: true
3463
- /**
3464
- * Prevents the entity from being selected by the upgrade planner.
3465
- */
3466
- readonly "not-upgradable"?: true
3467
- /**
3468
- * Prevents the entity from being shown in the kill statistics.
3469
- */
3470
- readonly "not-in-kill-statistics"?: true
3471
- /**
3472
- * Prevents the entity from being shown in the "made in" list in recipe tooltips.
3473
- */
3474
- readonly "not-in-made-in"?: true
3475
- }
3694
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#EntityPrototypeFlag Online documentation}
3695
+ */
3696
+ export type EntityPrototypeFlag =
3697
+ | "not-rotatable"
3698
+ | "placeable-neutral"
3699
+ | "placeable-player"
3700
+ | "placeable-enemy"
3701
+ | "placeable-off-grid"
3702
+ | "player-creation"
3703
+ | "building-direction-8-way"
3704
+ | "filter-directions"
3705
+ | "fast-replaceable-no-build-while-moving"
3706
+ | "breaths-air"
3707
+ | "not-repairable"
3708
+ | "not-on-map"
3709
+ | "not-deconstructable"
3710
+ | "not-blueprintable"
3711
+ | "hidden"
3712
+ | "hide-alt-info"
3713
+ | "fast-replaceable-no-cross-type-while-moving"
3714
+ | "no-gap-fill-while-building"
3715
+ | "not-flammable"
3716
+ | "no-automated-item-removal"
3717
+ | "no-automated-item-insertion"
3718
+ | "no-copy-paste"
3719
+ | "not-selectable-in-game"
3720
+ | "not-upgradable"
3721
+ | "not-in-kill-statistics"
3722
+ | "not-in-made-in"
3476
3723
  /**
3477
3724
  * A set of flags. Active flags are in the dictionary as `true`, while inactive flags aren't present at all.
3478
3725
  *
3479
3726
  * By default, none of these flags are set.
3727
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#ItemPrototypeFlags Online documentation}
3728
+ */
3729
+ export type ItemPrototypeFlags = {
3730
+ readonly [T in ItemPrototypeFlag]?: true
3731
+ }
3732
+ /**
3733
+ * A `string` specifying an item prototype flag.
3480
3734
  *
3481
3735
  * ## Union members
3482
3736
  * - `"draw-logistic-overlay"`: Determines whether the logistics areas of roboports should be drawn when holding this item. Used by the deconstruction planner by default.
@@ -3490,54 +3744,20 @@ declare module "factorio:runtime" {
3490
3744
  * - `"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.
3491
3745
  * - `"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.
3492
3746
  * - `"spawnable"`: Allows the item to be spawned by a quickbar shortcut or custom input.
3493
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#ItemPrototypeFlags Online documentation}
3494
- */
3495
- export interface ItemPrototypeFlags {
3496
- /**
3497
- * Determines whether the logistics areas of roboports should be drawn when holding this item. Used by the deconstruction planner by default.
3498
- */
3499
- readonly "draw-logistic-overlay"?: true
3500
- /**
3501
- * Hides the item in the logistic requests and filters GUIs (among others).
3502
- */
3503
- readonly hidden?: true
3504
- /**
3505
- * Always shows the item in the logistic requests and filters GUIs (among others) even when the recipe for that item is locked.
3506
- */
3507
- readonly "always-show"?: true
3508
- /**
3509
- * Hides the item from the bonus GUI.
3510
- */
3511
- readonly "hide-from-bonus-gui"?: true
3512
- /**
3513
- * Hides the item from the tooltip that's shown when hovering over a burner inventory.
3514
- */
3515
- readonly "hide-from-fuel-tooltip"?: true
3516
- /**
3517
- * Prevents the item from being stacked. It also prevents the item from stacking in assembling machine input slots, which can otherwise exceed the item stack size if required by the recipe. Additionally, the item does not show an item count when in the cursor.
3518
- */
3519
- readonly "not-stackable"?: true
3520
- /**
3521
- * Makes the item act as an extension to the inventory that it is placed in. Only has an effect for items with inventory.
3522
- */
3523
- readonly "can-extend-inventory"?: true
3524
- /**
3525
- * Makes construction bots prefer this item when building the entity specified by its `place_result`.
3526
- */
3527
- readonly "primary-place-result"?: true
3528
- /**
3529
- * Allows the item to be opened by the player, firing the `on_mod_item_opened` event. Only has an effect for selection tool items.
3530
- */
3531
- readonly "mod-openable"?: true
3532
- /**
3533
- * 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.
3534
- */
3535
- readonly "only-in-cursor"?: true
3536
- /**
3537
- * Allows the item to be spawned by a quickbar shortcut or custom input.
3538
- */
3539
- readonly spawnable?: true
3540
- }
3747
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#ItemPrototypeFlag Online documentation}
3748
+ */
3749
+ export type ItemPrototypeFlag =
3750
+ | "draw-logistic-overlay"
3751
+ | "hidden"
3752
+ | "always-show"
3753
+ | "hide-from-bonus-gui"
3754
+ | "hide-from-fuel-tooltip"
3755
+ | "not-stackable"
3756
+ | "can-extend-inventory"
3757
+ | "primary-place-result"
3758
+ | "mod-openable"
3759
+ | "only-in-cursor"
3760
+ | "spawnable"
3541
3761
  /**
3542
3762
  * A `string` specifying a collision mask layer.
3543
3763
  *
@@ -3557,7 +3777,7 @@ declare module "factorio:runtime" {
3557
3777
  * - `"rail-layer"`
3558
3778
  * - `"transport-belt-layer"`
3559
3779
  * - `"not-setup"`
3560
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#CollisionMaskLayer Online documentation}
3780
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#CollisionMaskLayer Online documentation}
3561
3781
  */
3562
3782
  export type CollisionMaskLayer =
3563
3783
  | "ground-tile"
@@ -3576,7 +3796,7 @@ declare module "factorio:runtime" {
3576
3796
  | `layer-${bigint}`
3577
3797
  /**
3578
3798
  * A set of flags. Active flags are in the dictionary as `true`, while inactive flags aren't present at all.
3579
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#CollisionMask Online documentation}
3799
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#CollisionMask Online documentation}
3580
3800
  */
3581
3801
  export type CollisionMask = {
3582
3802
  readonly [T in CollisionMaskLayer]?: true
@@ -3589,7 +3809,7 @@ declare module "factorio:runtime" {
3589
3809
  * - `"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.
3590
3810
  * - `"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.
3591
3811
  * - `"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.
3592
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#CollisionMaskWithFlags Online documentation}
3812
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#CollisionMaskWithFlags Online documentation}
3593
3813
  */
3594
3814
  export type CollisionMaskWithFlags = {
3595
3815
  /**
@@ -3609,66 +3829,12 @@ declare module "factorio:runtime" {
3609
3829
  }
3610
3830
  /**
3611
3831
  * A set of trigger target masks.
3612
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#TriggerTargetMask Online documentation}
3832
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#TriggerTargetMask Online documentation}
3613
3833
  */
3614
3834
  export type TriggerTargetMask = Record<string, boolean>
3615
- export interface TriggerEffectItem {
3616
- /**
3617
- * One of`"damage"`, `"create-entity"`, `"create-explosion"`, `"create-fire"`, `"create-smoke"`, `"create-trivial-smoke"`, `"create-particle"`, `"create-sticker"`, `"nested-result"`, `"play-sound"`, `"push-back"`, `"destroy-cliffs"`, `"show-explosion-on-chart"`, `"insert-item"`, `"script"`.
3618
- */
3619
- readonly type:
3620
- | "damage"
3621
- | "create-entity"
3622
- | "create-explosion"
3623
- | "create-fire"
3624
- | "create-smoke"
3625
- | "create-trivial-smoke"
3626
- | "create-particle"
3627
- | "create-sticker"
3628
- | "nested-result"
3629
- | "play-sound"
3630
- | "push-back"
3631
- | "destroy-cliffs"
3632
- | "show-explosion-on-chart"
3633
- | "insert-item"
3634
- | "script"
3635
- readonly repeat_count: uint
3636
- readonly affects_target: boolean
3637
- readonly show_in_tooltip: boolean
3638
- }
3639
- export interface TriggerDelivery {
3640
- /**
3641
- * One of `"instant"`, `"projectile"`, `"flame-thrower"`, `"beam"`, `"stream"`, `"artillery"`.
3642
- */
3643
- readonly type: "instant" | "projectile" | "flame-thrower" | "beam" | "stream" | "artillery"
3644
- readonly source_effects: TriggerEffectItem[]
3645
- readonly target_effects: TriggerEffectItem[]
3646
- }
3647
- export interface TriggerItem {
3648
- /**
3649
- * One of `"direct"`, `"area"`, `"line"`, `"cluster"`.
3650
- */
3651
- readonly type: "direct" | "area" | "line" | "cluster"
3652
- readonly action_delivery?: TriggerDelivery[]
3653
- /**
3654
- * The trigger will only affect entities that contain any of these flags.
3655
- */
3656
- readonly entity_flags?: EntityPrototypeFlags
3657
- readonly ignore_collision_condition: boolean
3658
- /**
3659
- * The trigger will only affect entities that would collide with given collision mask.
3660
- */
3661
- readonly collision_mask: CollisionMask
3662
- readonly trigger_target_mask: TriggerTargetMask
3663
- /**
3664
- * If `"enemy"`, the trigger will only affect entities whose force is different from the attacker's and for which there is no cease-fire set. `"ally"` is the opposite of `"enemy"`.
3665
- */
3666
- readonly force: ForceCondition
3667
- readonly repeat_count: uint
3668
- }
3669
3835
  export interface CircularParticleCreationSpecification {
3670
3836
  /**
3671
- * Name of the {@link LuaEntityPrototype}
3837
+ * Name of the {@link LuaEntityPrototype}.
3672
3838
  */
3673
3839
  readonly name: string
3674
3840
  readonly direction: float
@@ -3689,7 +3855,7 @@ declare module "factorio:runtime" {
3689
3855
  readonly creation_distance_orientation: double
3690
3856
  readonly use_source_position: boolean
3691
3857
  }
3692
- export type CircularProjectileCreationSpecification = readonly [_: RealOrientation, _: Vector]
3858
+ export type CircularProjectileCreationSpecification = readonly [_1: RealOrientation, _2: Vector]
3693
3859
  export interface AttackParameterFluid {
3694
3860
  /**
3695
3861
  * Name of the {@link LuaFluidPrototype}.
@@ -3705,7 +3871,7 @@ declare module "factorio:runtime" {
3705
3871
  */
3706
3872
  export interface BaseAttackParameters {
3707
3873
  /**
3708
- * The type of AttackParameter. One of `'projectile'`, `'stream'` or `'beam'`.
3874
+ * The type of AttackParameter.
3709
3875
  */
3710
3876
  readonly type: "projectile" | "stream" | "beam"
3711
3877
  /**
@@ -3717,7 +3883,7 @@ declare module "factorio:runtime" {
3717
3883
  */
3718
3884
  readonly min_range: float
3719
3885
  /**
3720
- * Defines how the range is determined. Either `'center-to-center'` or `'bounding-box-to-bounding-box'`.
3886
+ * Defines how the range is determined.
3721
3887
  */
3722
3888
  readonly range_mode: "center-to-center" | "bounding-box-to-bounding-box"
3723
3889
  /**
@@ -3781,7 +3947,7 @@ declare module "factorio:runtime" {
3781
3947
  export interface StreamAttackParameters extends BaseAttackParameters {
3782
3948
  readonly type: "stream"
3783
3949
  readonly gun_barrel_length: float
3784
- readonly gun_center_shift: Record<string, Vector>
3950
+ readonly gun_center_shift: GunShift4Way
3785
3951
  readonly fluid_consumption: float
3786
3952
  readonly fluids?: AttackParameterFluid[]
3787
3953
  readonly projectile_creation_parameters?: CircularProjectileCreationSpecification[]
@@ -3798,13 +3964,16 @@ declare module "factorio:runtime" {
3798
3964
  * Other attributes may be specified depending on `type`:
3799
3965
  * - `"projectile"`: {@link ProjectileAttackParameters}
3800
3966
  * - `"stream"`: {@link StreamAttackParameters}
3801
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#AttackParameters Online documentation}
3967
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#AttackParameters Online documentation}
3802
3968
  */
3803
3969
  export type AttackParameters = ProjectileAttackParameters | StreamAttackParameters | OtherAttackParameters
3970
+ export interface GunShift4Way {
3971
+ readonly north: Vector
3972
+ readonly east: Vector
3973
+ readonly south: Vector
3974
+ readonly west: Vector
3975
+ }
3804
3976
  export interface BaseCapsuleAction {
3805
- /**
3806
- * One of `"throw"`, `"equipment-remote"`, `"use-on-self"`, `"artillery-remote"`, `"destroy-cliffs"`.
3807
- */
3808
3977
  readonly type: "throw" | "equipment-remote" | "use-on-self" | "artillery-remote" | "destroy-cliffs"
3809
3978
  }
3810
3979
  /**
@@ -3861,7 +4030,7 @@ declare module "factorio:runtime" {
3861
4030
  * - `"use-on-self"`: {@link UseOnSelfCapsuleAction}
3862
4031
  * - `"artillery-remote"`: {@link ArtilleryRemoteCapsuleAction}
3863
4032
  * - `"destroy-cliffs"`: {@link DestroyCliffsCapsuleAction}
3864
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#CapsuleAction Online documentation}
4033
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#CapsuleAction Online documentation}
3865
4034
  */
3866
4035
  export type CapsuleAction =
3867
4036
  | ThrowCapsuleAction
@@ -3897,7 +4066,7 @@ declare module "factorio:runtime" {
3897
4066
  * - `"avoid-rolling-stock"`: Selects entities that are not `rolling-stock`s.
3898
4067
  * - `"entity-ghost"`: Selects entities that are `entity-ghost`s.
3899
4068
  * - `"tile-ghost"`: Selects entities that are `tile-ghost`s.
3900
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#SelectionModeFlags Online documentation}
4069
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#SelectionModeFlags Online documentation}
3901
4070
  */
3902
4071
  export interface SelectionModeFlags {
3903
4072
  /**
@@ -4011,6 +4180,30 @@ declare module "factorio:runtime" {
4011
4180
  */
4012
4181
  readonly count: uint
4013
4182
  }
4183
+ export interface LogisticsNetworkSupplyCounts {
4184
+ /**
4185
+ * Number of available items in the storage members.
4186
+ */
4187
+ readonly storage: uint
4188
+ /**
4189
+ * Number of available items in the passive provider members.
4190
+ */
4191
+ readonly "passive-provider": uint
4192
+ /**
4193
+ * Number of available items in the buffer members.
4194
+ */
4195
+ readonly buffer: uint
4196
+ /**
4197
+ * Number of available items in the active provider members.
4198
+ */
4199
+ readonly "active-provider": uint
4200
+ }
4201
+ export interface LogisticsNetworkSupplyPoints {
4202
+ readonly storage: LuaLogisticPoint[]
4203
+ readonly "passive-provider": LuaLogisticPoint[]
4204
+ readonly buffer: LuaLogisticPoint[]
4205
+ readonly "active-provider": LuaLogisticPoint[]
4206
+ }
4014
4207
  export interface ModSetting {
4015
4208
  /**
4016
4209
  * The value of the mod setting. The type depends on the kind of setting.
@@ -4022,12 +4215,12 @@ declare module "factorio:runtime" {
4022
4215
  }
4023
4216
  /**
4024
4217
  * Any basic type (string, number, boolean) or table.
4025
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#AnyBasic Online documentation}
4218
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#AnyBasic Online documentation}
4026
4219
  */
4027
4220
  export type AnyBasic = string | boolean | number | table
4028
4221
  /**
4029
4222
  * Any basic type (string, number, boolean), table, or LuaObject.
4030
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#Any Online documentation}
4223
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#Any Online documentation}
4031
4224
  */
4032
4225
  export type Any = string | boolean | number | table | LuaObject
4033
4226
  export interface ProgrammableSpeakerParameters {
@@ -4065,7 +4258,7 @@ declare module "factorio:runtime" {
4065
4258
  * - `"top-right"`
4066
4259
  * - `"right"`: The same as `"middle-right"`
4067
4260
  * - `"bottom-right"`
4068
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#Alignment Online documentation}
4261
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#Alignment Online documentation}
4069
4262
  */
4070
4263
  export type Alignment =
4071
4264
  | "top-left"
@@ -4080,8 +4273,8 @@ declare module "factorio:runtime" {
4080
4273
  | "right"
4081
4274
  | "bottom-right"
4082
4275
  /**
4083
- * 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.97/events.html the list of Factorio events} for more information on these.
4084
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#EventData Online documentation}
4276
+ * 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.103/events.html the list of Factorio events} for more information on these.
4277
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#EventData Online documentation}
4085
4278
  */
4086
4279
  export interface EventData {
4087
4280
  /**
@@ -4163,11 +4356,11 @@ declare module "factorio:runtime" {
4163
4356
  */
4164
4357
  readonly base_type: string
4165
4358
  /**
4166
- * E.g. `"tree"`.
4359
+ * The `type` of the prototype. E.g. `"tree"`.
4167
4360
  */
4168
4361
  readonly derived_type: string
4169
4362
  /**
4170
- * E.g. `"tree-05"`.
4363
+ * The `name` of the prototype. E.g. `"tree-05"`.
4171
4364
  */
4172
4365
  readonly name: string
4173
4366
  }
@@ -4191,7 +4384,7 @@ declare module "factorio:runtime" {
4191
4384
  * - `"button-7"`
4192
4385
  * - `"button-8"`
4193
4386
  * - `"button-9"`
4194
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#MouseButtonFlags Online documentation}
4387
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#MouseButtonFlags Online documentation}
4195
4388
  */
4196
4389
  export interface MouseButtonFlags {
4197
4390
  readonly left?: true
@@ -4206,27 +4399,6 @@ declare module "factorio:runtime" {
4206
4399
  }
4207
4400
  /** @see MouseButtonFlags */
4208
4401
  export type MouseButtonFlagsWrite = MouseButtonFlags | ReadonlyArray<keyof MouseButtonFlags | "left-and-right">
4209
- /**
4210
- * ## Union members
4211
- * - `"entity"`: Yellow box.
4212
- * - `"not-allowed"`: Red box.
4213
- * - `"electricity"`: Light blue box.
4214
- * - `"pair"`: Light blue box.
4215
- * - `"copy"`: Green box.
4216
- * - `"train-visualization"`: White box.
4217
- * - `"logistics"`: Light blue box.
4218
- * - `"blueprint-snap-rectangle"`: Green box.
4219
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#CursorBoxRenderType Online documentation}
4220
- */
4221
- export type CursorBoxRenderType =
4222
- | "entity"
4223
- | "not-allowed"
4224
- | "electricity"
4225
- | "pair"
4226
- | "copy"
4227
- | "train-visualization"
4228
- | "logistics"
4229
- | "blueprint-snap-rectangle"
4230
4402
  /**
4231
4403
  * ## Union members
4232
4404
  * - `"all"`: All forces pass.
@@ -4236,7 +4408,7 @@ declare module "factorio:runtime" {
4236
4408
  * - `"not-friend"`: Forces which are not friends pass.
4237
4409
  * - `"same"`: The same force pass.
4238
4410
  * - `"not-same"`: The non-same forces pass.
4239
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#ForceCondition Online documentation}
4411
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#ForceCondition Online documentation}
4240
4412
  */
4241
4413
  export type ForceCondition = "all" | "enemy" | "ally" | "friend" | "not-friend" | "same" | "not-same"
4242
4414
  /**
@@ -4287,7 +4459,7 @@ declare module "factorio:runtime" {
4287
4459
  * - `"collision-selection-box"`: 189
4288
4460
  * - `"arrow"`: 190
4289
4461
  * - `"cursor"`: 210
4290
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#RenderLayer Online documentation}
4462
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#RenderLayer Online documentation}
4291
4463
  */
4292
4464
  export type RenderLayer =
4293
4465
  | `${bigint}`
@@ -4353,7 +4525,7 @@ declare module "factorio:runtime" {
4353
4525
  * - `"walking"`
4354
4526
  * - `"alert"`
4355
4527
  * - `"wind"`
4356
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#SoundType Online documentation}
4528
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#SoundType Online documentation}
4357
4529
  */
4358
4530
  export type SoundType = "game-effect" | "gui-effect" | "ambient" | "environment" | "walking" | "alert" | "wind"
4359
4531
  /**
@@ -4383,7 +4555,7 @@ declare module "factorio:runtime" {
4383
4555
  * - `"tabbed-pane"`: A collection of `tab`s and their contents. Relevant event: {@link OnGuiSelectedTabChangedEvent on_gui_selected_tab_changed}
4384
4556
  * - `"tab"`: A tab for use in a `tabbed-pane`.
4385
4557
  * - `"switch"`: A switch with three possible states. Can have labels attached to either side. Relevant event: {@link OnGuiSwitchStateChangedEvent on_gui_switch_state_changed}
4386
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#GuiElementType Online documentation}
4558
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#GuiElementType Online documentation}
4387
4559
  */
4388
4560
  export type GuiElementType =
4389
4561
  | "button"
@@ -4412,16 +4584,18 @@ declare module "factorio:runtime" {
4412
4584
  | "tab"
4413
4585
  | "switch"
4414
4586
  /**
4587
+ * Used by {@link GuiArrowSpecification}.
4588
+ *
4415
4589
  * ## Union members
4416
- * - `"nowhere"`
4417
- * - `"goal"`
4590
+ * - `"nowhere"`: Will remove the arrow entirely.
4591
+ * - `"goal"`: Will point to the current goal.
4418
4592
  * - `"entity_info"`
4419
4593
  * - `"active_window"`
4420
4594
  * - `"entity"`
4421
4595
  * - `"position"`
4422
4596
  * - `"crafting_queue"`
4423
- * - `"item_stack"`
4424
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#GuiArrowType Online documentation}
4597
+ * - `"item_stack"`: Will point to a given item stack in an inventory.
4598
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#GuiArrowType Online documentation}
4425
4599
  */
4426
4600
  export type GuiArrowType =
4427
4601
  | "nowhere"
@@ -4432,6 +4606,31 @@ declare module "factorio:runtime" {
4432
4606
  | "position"
4433
4607
  | "crafting_queue"
4434
4608
  | "item_stack"
4609
+ export interface RollingStockDrawData {
4610
+ readonly position: MapPosition
4611
+ readonly orientaton: RealOrientation
4612
+ }
4613
+ /**
4614
+ * Direction of a {@link LuaGuiElement#direction LuaGuiElement's} layout.
4615
+ *
4616
+ * ## Union members
4617
+ * - `"horizontal"`
4618
+ * - `"vertical"`
4619
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#GuiDirection Online documentation}
4620
+ */
4621
+ export type GuiDirection = "horizontal" | "vertical"
4622
+ /**
4623
+ * Scroll policy of a {@link LuaGuiElement scroll pane}.
4624
+ *
4625
+ * ## Union members
4626
+ * - `"never"`
4627
+ * - `"dont-show-but-allow-scrolling"`
4628
+ * - `"always"`
4629
+ * - `"auto"`
4630
+ * - `"auto-and-reserve-space"`
4631
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#ScrollPolicy Online documentation}
4632
+ */
4633
+ export type ScrollPolicy = "never" | "dont-show-but-allow-scrolling" | "always" | "auto" | "auto-and-reserve-space"
4435
4634
  /**
4436
4635
  * Types `"signal"` and `"item-group"` do not support filters.
4437
4636
  *
@@ -4447,7 +4646,7 @@ declare module "factorio:runtime" {
4447
4646
  * - TechnologyPrototypeFilter: for type `"technology"`
4448
4647
  * @see PrototypeFilterWrite
4449
4648
  * @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.
4450
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#PrototypeFilter Online documentation}
4649
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#PrototypeFilter Online documentation}
4451
4650
  */
4452
4651
  export type PrototypeFilter = (
4453
4652
  | ItemPrototypeFilter
@@ -4462,7 +4661,7 @@ declare module "factorio:runtime" {
4462
4661
  )[]
4463
4662
  /**
4464
4663
  * Write form of {@link PrototypeFilter}, where table-or-array concepts are allowed to take an array form.
4465
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#PrototypeFilter Online documentation}
4664
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#PrototypeFilter Online documentation}
4466
4665
  */
4467
4666
  export type PrototypeFilterWrite = readonly (
4468
4667
  | ItemPrototypeFilterWrite
@@ -4507,7 +4706,7 @@ declare module "factorio:runtime" {
4507
4706
  | "fuel-top-speed-multiplier"
4508
4707
  | "fuel-emissions-multiplier"
4509
4708
  /**
4510
- * How to combine this with the previous filter. Must be `"or"` or `"and"`. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
4709
+ * How to combine this with the previous filter. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
4511
4710
  */
4512
4711
  readonly mode?: "or" | "and"
4513
4712
  /**
@@ -4609,10 +4808,7 @@ declare module "factorio:runtime" {
4609
4808
  */
4610
4809
  export interface FlagItemPrototypeFilter extends BaseItemPrototypeFilter {
4611
4810
  readonly filter: "flag"
4612
- /**
4613
- * One of the values in {@link ItemPrototypeFlags}.
4614
- */
4615
- readonly flag: keyof ItemPrototypeFlags
4811
+ readonly flag: ItemPrototypeFlag
4616
4812
  }
4617
4813
  /**
4618
4814
  * `"subgroup"` variant of {@link ItemPrototypeFilter}.
@@ -4808,7 +5004,7 @@ declare module "factorio:runtime" {
4808
5004
  * - `"fuel-acceleration-multiplier"`: {@link FuelAccelerationMultiplierItemPrototypeFilter}
4809
5005
  * - `"fuel-top-speed-multiplier"`: {@link FuelTopSpeedMultiplierItemPrototypeFilter}
4810
5006
  * - `"fuel-emissions-multiplier"`: {@link FuelEmissionsMultiplierItemPrototypeFilter}
4811
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#ItemPrototypeFilter Online documentation}
5007
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#ItemPrototypeFilter Online documentation}
4812
5008
  */
4813
5009
  export type ItemPrototypeFilter =
4814
5010
  | PlaceResultItemPrototypeFilter
@@ -4830,7 +5026,7 @@ declare module "factorio:runtime" {
4830
5026
  | OtherItemPrototypeFilter
4831
5027
  /**
4832
5028
  * Write form of {@link ItemPrototypeFilter}, where table-or-array concepts are allowed to take an array form.
4833
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#ItemPrototypeFilter Online documentation}
5029
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#ItemPrototypeFilter Online documentation}
4834
5030
  */
4835
5031
  export type ItemPrototypeFilterWrite =
4836
5032
  | PlaceResultItemPrototypeFilterWrite
@@ -4859,7 +5055,7 @@ declare module "factorio:runtime" {
4859
5055
  */
4860
5056
  readonly filter: "type" | "mod" | "setting-type"
4861
5057
  /**
4862
- * How to combine this with the previous filter. Must be `"or"` or `"and"`. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
5058
+ * How to combine this with the previous filter. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
4863
5059
  */
4864
5060
  readonly mode?: "or" | "and"
4865
5061
  /**
@@ -4906,7 +5102,7 @@ declare module "factorio:runtime" {
4906
5102
  * - `"type"`: {@link TypeModSettingPrototypeFilter}
4907
5103
  * - `"mod"`: {@link ModModSettingPrototypeFilter}
4908
5104
  * - `"setting-type"`: {@link SettingTypeModSettingPrototypeFilter}
4909
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#ModSettingPrototypeFilter Online documentation}
5105
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#ModSettingPrototypeFilter Online documentation}
4910
5106
  */
4911
5107
  export type ModSettingPrototypeFilter =
4912
5108
  | TypeModSettingPrototypeFilter
@@ -4932,7 +5128,7 @@ declare module "factorio:runtime" {
4932
5128
  | "max-level"
4933
5129
  | "time"
4934
5130
  /**
4935
- * How to combine this with the previous filter. Must be `"or"` or `"and"`. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
5131
+ * How to combine this with the previous filter. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
4936
5132
  */
4937
5133
  readonly mode?: "or" | "and"
4938
5134
  /**
@@ -5034,7 +5230,7 @@ declare module "factorio:runtime" {
5034
5230
  * - `"level"`: {@link LevelTechnologyPrototypeFilter}
5035
5231
  * - `"max-level"`: {@link MaxLevelTechnologyPrototypeFilter}
5036
5232
  * - `"time"`: {@link TimeTechnologyPrototypeFilter}
5037
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#TechnologyPrototypeFilter Online documentation}
5233
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#TechnologyPrototypeFilter Online documentation}
5038
5234
  */
5039
5235
  export type TechnologyPrototypeFilter =
5040
5236
  | ResearchUnitIngredientTechnologyPrototypeFilter
@@ -5045,7 +5241,7 @@ declare module "factorio:runtime" {
5045
5241
  | OtherTechnologyPrototypeFilter
5046
5242
  /**
5047
5243
  * Write form of {@link TechnologyPrototypeFilter}, where table-or-array concepts are allowed to take an array form.
5048
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#TechnologyPrototypeFilter Online documentation}
5244
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#TechnologyPrototypeFilter Online documentation}
5049
5245
  */
5050
5246
  export type TechnologyPrototypeFilterWrite =
5051
5247
  | ResearchUnitIngredientTechnologyPrototypeFilter
@@ -5063,7 +5259,7 @@ declare module "factorio:runtime" {
5063
5259
  */
5064
5260
  readonly filter: "decal" | "autoplace" | "collision-mask"
5065
5261
  /**
5066
- * How to combine this with the previous filter. Must be `"or"` or `"and"`. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
5262
+ * How to combine this with the previous filter. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
5067
5263
  */
5068
5264
  readonly mode?: "or" | "and"
5069
5265
  /**
@@ -5095,7 +5291,7 @@ declare module "factorio:runtime" {
5095
5291
  *
5096
5292
  * Other attributes may be specified depending on `filter`:
5097
5293
  * - `"collision-mask"`: {@link CollisionMaskDecorativePrototypeFilter}
5098
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#DecorativePrototypeFilter Online documentation}
5294
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#DecorativePrototypeFilter Online documentation}
5099
5295
  */
5100
5296
  export type DecorativePrototypeFilter = CollisionMaskDecorativePrototypeFilter | OtherDecorativePrototypeFilter
5101
5297
  /**
@@ -5107,7 +5303,7 @@ declare module "factorio:runtime" {
5107
5303
  */
5108
5304
  readonly filter: "allowed-without-fight" | "type"
5109
5305
  /**
5110
- * How to combine this with the previous filter. Must be `"or"` or `"and"`. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
5306
+ * How to combine this with the previous filter. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
5111
5307
  */
5112
5308
  readonly mode?: "or" | "and"
5113
5309
  /**
@@ -5138,7 +5334,7 @@ declare module "factorio:runtime" {
5138
5334
  *
5139
5335
  * Other attributes may be specified depending on `filter`:
5140
5336
  * - `"type"`: {@link TypeAchievementPrototypeFilter}
5141
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#AchievementPrototypeFilter Online documentation}
5337
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#AchievementPrototypeFilter Online documentation}
5142
5338
  */
5143
5339
  export type AchievementPrototypeFilter = TypeAchievementPrototypeFilter | OtherAchievementPrototypeFilter
5144
5340
  /**
@@ -5159,7 +5355,7 @@ declare module "factorio:runtime" {
5159
5355
  | "emissions-multiplier"
5160
5356
  | "gas-temperature"
5161
5357
  /**
5162
- * How to combine this with the previous filter. Must be `"or"` or `"and"`. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
5358
+ * How to combine this with the previous filter. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
5163
5359
  */
5164
5360
  readonly mode?: "or" | "and"
5165
5361
  /**
@@ -5323,7 +5519,7 @@ declare module "factorio:runtime" {
5323
5519
  * - `"fuel-value"`: {@link FuelValueFluidPrototypeFilter}
5324
5520
  * - `"emissions-multiplier"`: {@link EmissionsMultiplierFluidPrototypeFilter}
5325
5521
  * - `"gas-temperature"`: {@link GasTemperatureFluidPrototypeFilter}
5326
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#FluidPrototypeFilter Online documentation}
5522
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#FluidPrototypeFilter Online documentation}
5327
5523
  */
5328
5524
  export type FluidPrototypeFilter =
5329
5525
  | NameFluidPrototypeFilter
@@ -5337,7 +5533,7 @@ declare module "factorio:runtime" {
5337
5533
  | OtherFluidPrototypeFilter
5338
5534
  /**
5339
5535
  * Write form of {@link FluidPrototypeFilter}, where table-or-array concepts are allowed to take an array form.
5340
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#FluidPrototypeFilter Online documentation}
5536
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#FluidPrototypeFilter Online documentation}
5341
5537
  */
5342
5538
  export type FluidPrototypeFilterWrite =
5343
5539
  | NameFluidPrototypeFilter
@@ -5358,7 +5554,7 @@ declare module "factorio:runtime" {
5358
5554
  */
5359
5555
  readonly filter: "item-to-place" | "type"
5360
5556
  /**
5361
- * How to combine this with the previous filter. Must be `"or"` or `"and"`. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
5557
+ * How to combine this with the previous filter. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
5362
5558
  */
5363
5559
  readonly mode?: "or" | "and"
5364
5560
  /**
@@ -5389,7 +5585,7 @@ declare module "factorio:runtime" {
5389
5585
  *
5390
5586
  * Other attributes may be specified depending on `filter`:
5391
5587
  * - `"type"`: {@link TypeEquipmentPrototypeFilter}
5392
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#EquipmentPrototypeFilter Online documentation}
5588
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#EquipmentPrototypeFilter Online documentation}
5393
5589
  */
5394
5590
  export type EquipmentPrototypeFilter = TypeEquipmentPrototypeFilter | OtherEquipmentPrototypeFilter
5395
5591
  /**
@@ -5410,7 +5606,7 @@ declare module "factorio:runtime" {
5410
5606
  | "decorative-removal-probability"
5411
5607
  | "emissions"
5412
5608
  /**
5413
- * How to combine this with the previous filter. Must be `"or"` or `"and"`. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
5609
+ * How to combine this with the previous filter. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
5414
5610
  */
5415
5611
  readonly mode?: "or" | "and"
5416
5612
  /**
@@ -5522,7 +5718,7 @@ declare module "factorio:runtime" {
5522
5718
  * - `"vehicle-friction-modifier"`: {@link VehicleFrictionModifierTilePrototypeFilter}
5523
5719
  * - `"decorative-removal-probability"`: {@link DecorativeRemovalProbabilityTilePrototypeFilter}
5524
5720
  * - `"emissions"`: {@link EmissionsTilePrototypeFilter}
5525
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#TilePrototypeFilter Online documentation}
5721
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#TilePrototypeFilter Online documentation}
5526
5722
  */
5527
5723
  export type TilePrototypeFilter =
5528
5724
  | CollisionMaskTilePrototypeFilter
@@ -5533,7 +5729,7 @@ declare module "factorio:runtime" {
5533
5729
  | OtherTilePrototypeFilter
5534
5730
  /**
5535
5731
  * Write form of {@link TilePrototypeFilter}, where table-or-array concepts are allowed to take an array form.
5536
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#TilePrototypeFilter Online documentation}
5732
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#TilePrototypeFilter Online documentation}
5537
5733
  */
5538
5734
  export type TilePrototypeFilterWrite =
5539
5735
  | CollisionMaskTilePrototypeFilter
@@ -5573,7 +5769,7 @@ declare module "factorio:runtime" {
5573
5769
  | "request-paste-multiplier"
5574
5770
  | "overload-multiplier"
5575
5771
  /**
5576
- * How to combine this with the previous filter. Must be `"or"` or `"and"`. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
5772
+ * How to combine this with the previous filter. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
5577
5773
  */
5578
5774
  readonly mode?: "or" | "and"
5579
5775
  /**
@@ -5797,7 +5993,7 @@ declare module "factorio:runtime" {
5797
5993
  * - `"emissions-multiplier"`: {@link EmissionsMultiplierRecipePrototypeFilter}
5798
5994
  * - `"request-paste-multiplier"`: {@link RequestPasteMultiplierRecipePrototypeFilter}
5799
5995
  * - `"overload-multiplier"`: {@link OverloadMultiplierRecipePrototypeFilter}
5800
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#RecipePrototypeFilter Online documentation}
5996
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#RecipePrototypeFilter Online documentation}
5801
5997
  */
5802
5998
  export type RecipePrototypeFilter =
5803
5999
  | HasIngredientItemRecipePrototypeFilter
@@ -5813,7 +6009,7 @@ declare module "factorio:runtime" {
5813
6009
  | OtherRecipePrototypeFilter
5814
6010
  /**
5815
6011
  * Write form of {@link RecipePrototypeFilter}, where table-or-array concepts are allowed to take an array form.
5816
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#RecipePrototypeFilter Online documentation}
6012
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#RecipePrototypeFilter Online documentation}
5817
6013
  */
5818
6014
  export type RecipePrototypeFilterWrite =
5819
6015
  | HasIngredientItemRecipePrototypeFilterWrite
@@ -5869,7 +6065,7 @@ declare module "factorio:runtime" {
5869
6065
  | "emissions"
5870
6066
  | "crafting-category"
5871
6067
  /**
5872
- * How to combine this with the previous filter. Must be `"or"` or `"and"`. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
6068
+ * How to combine this with the previous filter. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
5873
6069
  */
5874
6070
  readonly mode?: "or" | "and"
5875
6071
  /**
@@ -5917,9 +6113,6 @@ declare module "factorio:runtime" {
5917
6113
  export interface CollisionMaskEntityPrototypeFilter extends BaseEntityPrototypeFilter {
5918
6114
  readonly filter: "collision-mask"
5919
6115
  readonly mask: CollisionMask | CollisionMaskWithFlags
5920
- /**
5921
- * How to filter: `"collides"`, `"layers-equals"`, `"contains-any"` or `"contains-all"`
5922
- */
5923
6116
  readonly mask_mode: "collides" | "layers-equals" | "contains-any" | "contains-all"
5924
6117
  }
5925
6118
  /**
@@ -5933,10 +6126,7 @@ declare module "factorio:runtime" {
5933
6126
  */
5934
6127
  export interface FlagEntityPrototypeFilter extends BaseEntityPrototypeFilter {
5935
6128
  readonly filter: "flag"
5936
- /**
5937
- * One of the values in {@link EntityPrototypeFlags}.
5938
- */
5939
- readonly flag: keyof EntityPrototypeFlags
6129
+ readonly flag: EntityPrototypeFlag
5940
6130
  }
5941
6131
  /**
5942
6132
  * `"build-base-evolution-requirement"` variant of {@link EntityPrototypeFilter}.
@@ -6001,7 +6191,7 @@ declare module "factorio:runtime" {
6001
6191
  export interface CraftingCategoryEntityPrototypeFilter extends BaseEntityPrototypeFilter {
6002
6192
  readonly filter: "crafting-category"
6003
6193
  /**
6004
- * Matches if the prototype is for a crafting machine with this crafting category.
6194
+ * Matches if the prototype is for a crafting machine with this {@link LuaEntityPrototype#crafting_categories crafting category}.
6005
6195
  */
6006
6196
  readonly crafting_category: string
6007
6197
  }
@@ -6050,7 +6240,7 @@ declare module "factorio:runtime" {
6050
6240
  * - `"selection-priority"`: {@link SelectionPriorityEntityPrototypeFilter}
6051
6241
  * - `"emissions"`: {@link EmissionsEntityPrototypeFilter}
6052
6242
  * - `"crafting-category"`: {@link CraftingCategoryEntityPrototypeFilter}
6053
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#EntityPrototypeFilter Online documentation}
6243
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#EntityPrototypeFilter Online documentation}
6054
6244
  */
6055
6245
  export type EntityPrototypeFilter =
6056
6246
  | NameEntityPrototypeFilter
@@ -6064,7 +6254,7 @@ declare module "factorio:runtime" {
6064
6254
  | OtherEntityPrototypeFilter
6065
6255
  /**
6066
6256
  * Write form of {@link EntityPrototypeFilter}, where table-or-array concepts are allowed to take an array form.
6067
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#EntityPrototypeFilter Online documentation}
6257
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#EntityPrototypeFilter Online documentation}
6068
6258
  */
6069
6259
  export type EntityPrototypeFilterWrite =
6070
6260
  | NameEntityPrototypeFilter
@@ -6103,7 +6293,7 @@ declare module "factorio:runtime" {
6103
6293
  * - {@link LuaPlayerRepairedEntityEventFilter}
6104
6294
  * @see EventFilterWrite
6105
6295
  * @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.
6106
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#EventFilter Online documentation}
6296
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#EventFilter Online documentation}
6107
6297
  */
6108
6298
  export type EventFilter = (
6109
6299
  | LuaEntityClonedEventFilter
@@ -6130,7 +6320,7 @@ declare module "factorio:runtime" {
6130
6320
  )[]
6131
6321
  /**
6132
6322
  * Write form of {@link EventFilter}, where table-or-array concepts are allowed to take an array form.
6133
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#EventFilter Online documentation}
6323
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#EventFilter Online documentation}
6134
6324
  */
6135
6325
  export type EventFilterWrite = readonly (
6136
6326
  | LuaEntityClonedEventFilter
@@ -6155,10 +6345,6 @@ declare module "factorio:runtime" {
6155
6345
  | LuaPlayerBuiltEntityEventFilter
6156
6346
  | LuaPlayerRepairedEntityEventFilter
6157
6347
  )[]
6158
- export interface RollingStockDrawData {
6159
- readonly position: MapPosition
6160
- readonly orientaton: RealOrientation
6161
- }
6162
6348
  /**
6163
6349
  * Common attributes to all variants of {@link LuaScriptRaisedReviveEventFilter}.
6164
6350
  */
@@ -6183,7 +6369,7 @@ declare module "factorio:runtime" {
6183
6369
  | "ghost_type"
6184
6370
  | "ghost_name"
6185
6371
  /**
6186
- * How to combine this with the previous filter. Must be `"or"` or `"and"`. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
6372
+ * How to combine this with the previous filter. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
6187
6373
  */
6188
6374
  readonly mode?: "or" | "and"
6189
6375
  /**
@@ -6258,7 +6444,7 @@ declare module "factorio:runtime" {
6258
6444
  * - `"name"`: {@link NameScriptRaisedReviveEventFilter}
6259
6445
  * - `"ghost_type"`: {@link GhostTypeScriptRaisedReviveEventFilter}
6260
6446
  * - `"ghost_name"`: {@link GhostNameScriptRaisedReviveEventFilter}
6261
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#LuaScriptRaisedReviveEventFilter Online documentation}
6447
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#LuaScriptRaisedReviveEventFilter Online documentation}
6262
6448
  */
6263
6449
  export type LuaScriptRaisedReviveEventFilter =
6264
6450
  | TypeScriptRaisedReviveEventFilter
@@ -6290,7 +6476,7 @@ declare module "factorio:runtime" {
6290
6476
  | "ghost_type"
6291
6477
  | "ghost_name"
6292
6478
  /**
6293
- * How to combine this with the previous filter. Must be `"or"` or `"and"`. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
6479
+ * How to combine this with the previous filter. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
6294
6480
  */
6295
6481
  readonly mode?: "or" | "and"
6296
6482
  /**
@@ -6365,7 +6551,7 @@ declare module "factorio:runtime" {
6365
6551
  * - `"name"`: {@link NameEntityDiedEventFilter}
6366
6552
  * - `"ghost_type"`: {@link GhostTypeEntityDiedEventFilter}
6367
6553
  * - `"ghost_name"`: {@link GhostNameEntityDiedEventFilter}
6368
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#LuaEntityDiedEventFilter Online documentation}
6554
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#LuaEntityDiedEventFilter Online documentation}
6369
6555
  */
6370
6556
  export type LuaEntityDiedEventFilter =
6371
6557
  | TypeEntityDiedEventFilter
@@ -6397,7 +6583,7 @@ declare module "factorio:runtime" {
6397
6583
  | "ghost_type"
6398
6584
  | "ghost_name"
6399
6585
  /**
6400
- * How to combine this with the previous filter. Must be `"or"` or `"and"`. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
6586
+ * How to combine this with the previous filter. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
6401
6587
  */
6402
6588
  readonly mode?: "or" | "and"
6403
6589
  /**
@@ -6474,7 +6660,7 @@ declare module "factorio:runtime" {
6474
6660
  * - `"name"`: {@link NameEntityMarkedForDeconstructionEventFilter}
6475
6661
  * - `"ghost_type"`: {@link GhostTypeEntityMarkedForDeconstructionEventFilter}
6476
6662
  * - `"ghost_name"`: {@link GhostNameEntityMarkedForDeconstructionEventFilter}
6477
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#LuaEntityMarkedForDeconstructionEventFilter Online documentation}
6663
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#LuaEntityMarkedForDeconstructionEventFilter Online documentation}
6478
6664
  */
6479
6665
  export type LuaEntityMarkedForDeconstructionEventFilter =
6480
6666
  | TypeEntityMarkedForDeconstructionEventFilter
@@ -6506,7 +6692,7 @@ declare module "factorio:runtime" {
6506
6692
  | "ghost_type"
6507
6693
  | "ghost_name"
6508
6694
  /**
6509
- * How to combine this with the previous filter. Must be `"or"` or `"and"`. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
6695
+ * How to combine this with the previous filter. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
6510
6696
  */
6511
6697
  readonly mode?: "or" | "and"
6512
6698
  /**
@@ -6581,7 +6767,7 @@ declare module "factorio:runtime" {
6581
6767
  * - `"name"`: {@link NamePreGhostDeconstructedEventFilter}
6582
6768
  * - `"ghost_type"`: {@link GhostTypePreGhostDeconstructedEventFilter}
6583
6769
  * - `"ghost_name"`: {@link GhostNamePreGhostDeconstructedEventFilter}
6584
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#LuaPreGhostDeconstructedEventFilter Online documentation}
6770
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#LuaPreGhostDeconstructedEventFilter Online documentation}
6585
6771
  */
6586
6772
  export type LuaPreGhostDeconstructedEventFilter =
6587
6773
  | TypePreGhostDeconstructedEventFilter
@@ -6613,7 +6799,7 @@ declare module "factorio:runtime" {
6613
6799
  | "ghost_type"
6614
6800
  | "ghost_name"
6615
6801
  /**
6616
- * How to combine this with the previous filter. Must be `"or"` or `"and"`. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
6802
+ * How to combine this with the previous filter. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
6617
6803
  */
6618
6804
  readonly mode?: "or" | "and"
6619
6805
  /**
@@ -6688,7 +6874,7 @@ declare module "factorio:runtime" {
6688
6874
  * - `"name"`: {@link NameScriptRaisedDestroyEventFilter}
6689
6875
  * - `"ghost_type"`: {@link GhostTypeScriptRaisedDestroyEventFilter}
6690
6876
  * - `"ghost_name"`: {@link GhostNameScriptRaisedDestroyEventFilter}
6691
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#LuaScriptRaisedDestroyEventFilter Online documentation}
6877
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#LuaScriptRaisedDestroyEventFilter Online documentation}
6692
6878
  */
6693
6879
  export type LuaScriptRaisedDestroyEventFilter =
6694
6880
  | TypeScriptRaisedDestroyEventFilter
@@ -6720,7 +6906,7 @@ declare module "factorio:runtime" {
6720
6906
  | "ghost_type"
6721
6907
  | "ghost_name"
6722
6908
  /**
6723
- * How to combine this with the previous filter. Must be `"or"` or `"and"`. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
6909
+ * How to combine this with the previous filter. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
6724
6910
  */
6725
6911
  readonly mode?: "or" | "and"
6726
6912
  /**
@@ -6795,7 +6981,7 @@ declare module "factorio:runtime" {
6795
6981
  * - `"name"`: {@link NameUpgradeCancelledEventFilter}
6796
6982
  * - `"ghost_type"`: {@link GhostTypeUpgradeCancelledEventFilter}
6797
6983
  * - `"ghost_name"`: {@link GhostNameUpgradeCancelledEventFilter}
6798
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#LuaUpgradeCancelledEventFilter Online documentation}
6984
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#LuaUpgradeCancelledEventFilter Online documentation}
6799
6985
  */
6800
6986
  export type LuaUpgradeCancelledEventFilter =
6801
6987
  | TypeUpgradeCancelledEventFilter
@@ -6827,7 +7013,7 @@ declare module "factorio:runtime" {
6827
7013
  | "ghost_type"
6828
7014
  | "ghost_name"
6829
7015
  /**
6830
- * How to combine this with the previous filter. Must be `"or"` or `"and"`. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
7016
+ * How to combine this with the previous filter. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
6831
7017
  */
6832
7018
  readonly mode?: "or" | "and"
6833
7019
  /**
@@ -6902,7 +7088,7 @@ declare module "factorio:runtime" {
6902
7088
  * - `"name"`: {@link NamePlayerRepairedEntityEventFilter}
6903
7089
  * - `"ghost_type"`: {@link GhostTypePlayerRepairedEntityEventFilter}
6904
7090
  * - `"ghost_name"`: {@link GhostNamePlayerRepairedEntityEventFilter}
6905
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#LuaPlayerRepairedEntityEventFilter Online documentation}
7091
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#LuaPlayerRepairedEntityEventFilter Online documentation}
6906
7092
  */
6907
7093
  export type LuaPlayerRepairedEntityEventFilter =
6908
7094
  | TypePlayerRepairedEntityEventFilter
@@ -6934,7 +7120,7 @@ declare module "factorio:runtime" {
6934
7120
  | "ghost_type"
6935
7121
  | "ghost_name"
6936
7122
  /**
6937
- * How to combine this with the previous filter. Must be `"or"` or `"and"`. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
7123
+ * How to combine this with the previous filter. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
6938
7124
  */
6939
7125
  readonly mode?: "or" | "and"
6940
7126
  /**
@@ -7009,7 +7195,7 @@ declare module "factorio:runtime" {
7009
7195
  * - `"name"`: {@link NameScriptRaisedTeleportedEventFilter}
7010
7196
  * - `"ghost_type"`: {@link GhostTypeScriptRaisedTeleportedEventFilter}
7011
7197
  * - `"ghost_name"`: {@link GhostNameScriptRaisedTeleportedEventFilter}
7012
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#LuaScriptRaisedTeleportedEventFilter Online documentation}
7198
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#LuaScriptRaisedTeleportedEventFilter Online documentation}
7013
7199
  */
7014
7200
  export type LuaScriptRaisedTeleportedEventFilter =
7015
7201
  | TypeScriptRaisedTeleportedEventFilter
@@ -7041,7 +7227,7 @@ declare module "factorio:runtime" {
7041
7227
  | "ghost_type"
7042
7228
  | "ghost_name"
7043
7229
  /**
7044
- * How to combine this with the previous filter. Must be `"or"` or `"and"`. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
7230
+ * How to combine this with the previous filter. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
7045
7231
  */
7046
7232
  readonly mode?: "or" | "and"
7047
7233
  /**
@@ -7116,7 +7302,7 @@ declare module "factorio:runtime" {
7116
7302
  * - `"name"`: {@link NameEntityMarkedForUpgradeEventFilter}
7117
7303
  * - `"ghost_type"`: {@link GhostTypeEntityMarkedForUpgradeEventFilter}
7118
7304
  * - `"ghost_name"`: {@link GhostNameEntityMarkedForUpgradeEventFilter}
7119
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#LuaEntityMarkedForUpgradeEventFilter Online documentation}
7305
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#LuaEntityMarkedForUpgradeEventFilter Online documentation}
7120
7306
  */
7121
7307
  export type LuaEntityMarkedForUpgradeEventFilter =
7122
7308
  | TypeEntityMarkedForUpgradeEventFilter
@@ -7133,7 +7319,7 @@ declare module "factorio:runtime" {
7133
7319
  */
7134
7320
  readonly filter: "type"
7135
7321
  /**
7136
- * How to combine this with the previous filter. Must be `"or"` or `"and"`. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
7322
+ * How to combine this with the previous filter. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
7137
7323
  */
7138
7324
  readonly mode?: "or" | "and"
7139
7325
  /**
@@ -7158,7 +7344,7 @@ declare module "factorio:runtime" {
7158
7344
  *
7159
7345
  * Other attributes may be specified depending on `filter`:
7160
7346
  * - `"type"`: {@link TypePostEntityDiedEventFilter}
7161
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#LuaPostEntityDiedEventFilter Online documentation}
7347
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#LuaPostEntityDiedEventFilter Online documentation}
7162
7348
  */
7163
7349
  export type LuaPostEntityDiedEventFilter = TypePostEntityDiedEventFilter
7164
7350
  /**
@@ -7185,7 +7371,7 @@ declare module "factorio:runtime" {
7185
7371
  | "ghost_type"
7186
7372
  | "ghost_name"
7187
7373
  /**
7188
- * How to combine this with the previous filter. Must be `"or"` or `"and"`. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
7374
+ * How to combine this with the previous filter. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
7189
7375
  */
7190
7376
  readonly mode?: "or" | "and"
7191
7377
  /**
@@ -7260,7 +7446,7 @@ declare module "factorio:runtime" {
7260
7446
  * - `"name"`: {@link NamePreRobotMinedEntityEventFilter}
7261
7447
  * - `"ghost_type"`: {@link GhostTypePreRobotMinedEntityEventFilter}
7262
7448
  * - `"ghost_name"`: {@link GhostNamePreRobotMinedEntityEventFilter}
7263
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#LuaPreRobotMinedEntityEventFilter Online documentation}
7449
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#LuaPreRobotMinedEntityEventFilter Online documentation}
7264
7450
  */
7265
7451
  export type LuaPreRobotMinedEntityEventFilter =
7266
7452
  | TypePreRobotMinedEntityEventFilter
@@ -7292,7 +7478,7 @@ declare module "factorio:runtime" {
7292
7478
  | "ghost_type"
7293
7479
  | "ghost_name"
7294
7480
  /**
7295
- * How to combine this with the previous filter. Must be `"or"` or `"and"`. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
7481
+ * How to combine this with the previous filter. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
7296
7482
  */
7297
7483
  readonly mode?: "or" | "and"
7298
7484
  /**
@@ -7367,7 +7553,7 @@ declare module "factorio:runtime" {
7367
7553
  * - `"name"`: {@link NameEntityClonedEventFilter}
7368
7554
  * - `"ghost_type"`: {@link GhostTypeEntityClonedEventFilter}
7369
7555
  * - `"ghost_name"`: {@link GhostNameEntityClonedEventFilter}
7370
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#LuaEntityClonedEventFilter Online documentation}
7556
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#LuaEntityClonedEventFilter Online documentation}
7371
7557
  */
7372
7558
  export type LuaEntityClonedEventFilter =
7373
7559
  | TypeEntityClonedEventFilter
@@ -7399,7 +7585,7 @@ declare module "factorio:runtime" {
7399
7585
  | "ghost_type"
7400
7586
  | "ghost_name"
7401
7587
  /**
7402
- * How to combine this with the previous filter. Must be `"or"` or `"and"`. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
7588
+ * How to combine this with the previous filter. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
7403
7589
  */
7404
7590
  readonly mode?: "or" | "and"
7405
7591
  /**
@@ -7474,7 +7660,7 @@ declare module "factorio:runtime" {
7474
7660
  * - `"name"`: {@link NameScriptRaisedBuiltEventFilter}
7475
7661
  * - `"ghost_type"`: {@link GhostTypeScriptRaisedBuiltEventFilter}
7476
7662
  * - `"ghost_name"`: {@link GhostNameScriptRaisedBuiltEventFilter}
7477
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#LuaScriptRaisedBuiltEventFilter Online documentation}
7663
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#LuaScriptRaisedBuiltEventFilter Online documentation}
7478
7664
  */
7479
7665
  export type LuaScriptRaisedBuiltEventFilter =
7480
7666
  | TypeScriptRaisedBuiltEventFilter
@@ -7506,7 +7692,7 @@ declare module "factorio:runtime" {
7506
7692
  | "ghost_type"
7507
7693
  | "ghost_name"
7508
7694
  /**
7509
- * How to combine this with the previous filter. Must be `"or"` or `"and"`. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
7695
+ * How to combine this with the previous filter. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
7510
7696
  */
7511
7697
  readonly mode?: "or" | "and"
7512
7698
  /**
@@ -7581,7 +7767,7 @@ declare module "factorio:runtime" {
7581
7767
  * - `"name"`: {@link NameRobotMinedEntityEventFilter}
7582
7768
  * - `"ghost_type"`: {@link GhostTypeRobotMinedEntityEventFilter}
7583
7769
  * - `"ghost_name"`: {@link GhostNameRobotMinedEntityEventFilter}
7584
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#LuaRobotMinedEntityEventFilter Online documentation}
7770
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#LuaRobotMinedEntityEventFilter Online documentation}
7585
7771
  */
7586
7772
  export type LuaRobotMinedEntityEventFilter =
7587
7773
  | TypeRobotMinedEntityEventFilter
@@ -7613,7 +7799,7 @@ declare module "factorio:runtime" {
7613
7799
  | "ghost_type"
7614
7800
  | "ghost_name"
7615
7801
  /**
7616
- * How to combine this with the previous filter. Must be `"or"` or `"and"`. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
7802
+ * How to combine this with the previous filter. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
7617
7803
  */
7618
7804
  readonly mode?: "or" | "and"
7619
7805
  /**
@@ -7688,7 +7874,7 @@ declare module "factorio:runtime" {
7688
7874
  * - `"name"`: {@link NamePrePlayerMinedEntityEventFilter}
7689
7875
  * - `"ghost_type"`: {@link GhostTypePrePlayerMinedEntityEventFilter}
7690
7876
  * - `"ghost_name"`: {@link GhostNamePrePlayerMinedEntityEventFilter}
7691
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#LuaPrePlayerMinedEntityEventFilter Online documentation}
7877
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#LuaPrePlayerMinedEntityEventFilter Online documentation}
7692
7878
  */
7693
7879
  export type LuaPrePlayerMinedEntityEventFilter =
7694
7880
  | TypePrePlayerMinedEntityEventFilter
@@ -7721,7 +7907,7 @@ declare module "factorio:runtime" {
7721
7907
  | "ghost_name"
7722
7908
  | "force"
7723
7909
  /**
7724
- * How to combine this with the previous filter. Must be `"or"` or `"and"`. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
7910
+ * How to combine this with the previous filter. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
7725
7911
  */
7726
7912
  readonly mode?: "or" | "and"
7727
7913
  /**
@@ -7807,7 +7993,7 @@ declare module "factorio:runtime" {
7807
7993
  * - `"ghost_type"`: {@link GhostTypeRobotBuiltEntityEventFilter}
7808
7994
  * - `"ghost_name"`: {@link GhostNameRobotBuiltEntityEventFilter}
7809
7995
  * - `"force"`: {@link ForceRobotBuiltEntityEventFilter}
7810
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#LuaRobotBuiltEntityEventFilter Online documentation}
7996
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#LuaRobotBuiltEntityEventFilter Online documentation}
7811
7997
  */
7812
7998
  export type LuaRobotBuiltEntityEventFilter =
7813
7999
  | TypeRobotBuiltEntityEventFilter
@@ -7840,7 +8026,7 @@ declare module "factorio:runtime" {
7840
8026
  | "ghost_type"
7841
8027
  | "ghost_name"
7842
8028
  /**
7843
- * How to combine this with the previous filter. Must be `"or"` or `"and"`. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
8029
+ * How to combine this with the previous filter. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
7844
8030
  */
7845
8031
  readonly mode?: "or" | "and"
7846
8032
  /**
@@ -7915,7 +8101,7 @@ declare module "factorio:runtime" {
7915
8101
  * - `"name"`: {@link NamePreGhostUpgradedEventFilter}
7916
8102
  * - `"ghost_type"`: {@link GhostTypePreGhostUpgradedEventFilter}
7917
8103
  * - `"ghost_name"`: {@link GhostNamePreGhostUpgradedEventFilter}
7918
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#LuaPreGhostUpgradedEventFilter Online documentation}
8104
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#LuaPreGhostUpgradedEventFilter Online documentation}
7919
8105
  */
7920
8106
  export type LuaPreGhostUpgradedEventFilter =
7921
8107
  | TypePreGhostUpgradedEventFilter
@@ -7947,7 +8133,7 @@ declare module "factorio:runtime" {
7947
8133
  | "ghost_type"
7948
8134
  | "ghost_name"
7949
8135
  /**
7950
- * How to combine this with the previous filter. Must be `"or"` or `"and"`. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
8136
+ * How to combine this with the previous filter. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
7951
8137
  */
7952
8138
  readonly mode?: "or" | "and"
7953
8139
  /**
@@ -8024,7 +8210,7 @@ declare module "factorio:runtime" {
8024
8210
  * - `"name"`: {@link NameEntityDeconstructionCancelledEventFilter}
8025
8211
  * - `"ghost_type"`: {@link GhostTypeEntityDeconstructionCancelledEventFilter}
8026
8212
  * - `"ghost_name"`: {@link GhostNameEntityDeconstructionCancelledEventFilter}
8027
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#LuaEntityDeconstructionCancelledEventFilter Online documentation}
8213
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#LuaEntityDeconstructionCancelledEventFilter Online documentation}
8028
8214
  */
8029
8215
  export type LuaEntityDeconstructionCancelledEventFilter =
8030
8216
  | TypeEntityDeconstructionCancelledEventFilter
@@ -8057,7 +8243,7 @@ declare module "factorio:runtime" {
8057
8243
  | "ghost_name"
8058
8244
  | "force"
8059
8245
  /**
8060
- * How to combine this with the previous filter. Must be `"or"` or `"and"`. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
8246
+ * How to combine this with the previous filter. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
8061
8247
  */
8062
8248
  readonly mode?: "or" | "and"
8063
8249
  /**
@@ -8143,7 +8329,7 @@ declare module "factorio:runtime" {
8143
8329
  * - `"ghost_type"`: {@link GhostTypePlayerBuiltEntityEventFilter}
8144
8330
  * - `"ghost_name"`: {@link GhostNamePlayerBuiltEntityEventFilter}
8145
8331
  * - `"force"`: {@link ForcePlayerBuiltEntityEventFilter}
8146
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#LuaPlayerBuiltEntityEventFilter Online documentation}
8332
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#LuaPlayerBuiltEntityEventFilter Online documentation}
8147
8333
  */
8148
8334
  export type LuaPlayerBuiltEntityEventFilter =
8149
8335
  | TypePlayerBuiltEntityEventFilter
@@ -8176,7 +8362,7 @@ declare module "factorio:runtime" {
8176
8362
  | "ghost_type"
8177
8363
  | "ghost_name"
8178
8364
  /**
8179
- * How to combine this with the previous filter. Must be `"or"` or `"and"`. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
8365
+ * How to combine this with the previous filter. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
8180
8366
  */
8181
8367
  readonly mode?: "or" | "and"
8182
8368
  /**
@@ -8251,7 +8437,7 @@ declare module "factorio:runtime" {
8251
8437
  * - `"name"`: {@link NamePlayerMinedEntityEventFilter}
8252
8438
  * - `"ghost_type"`: {@link GhostTypePlayerMinedEntityEventFilter}
8253
8439
  * - `"ghost_name"`: {@link GhostNamePlayerMinedEntityEventFilter}
8254
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#LuaPlayerMinedEntityEventFilter Online documentation}
8440
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#LuaPlayerMinedEntityEventFilter Online documentation}
8255
8441
  */
8256
8442
  export type LuaPlayerMinedEntityEventFilter =
8257
8443
  | TypePlayerMinedEntityEventFilter
@@ -8287,7 +8473,7 @@ declare module "factorio:runtime" {
8287
8473
  | "damage-type"
8288
8474
  | "final-health"
8289
8475
  /**
8290
- * How to combine this with the previous filter. Must be `"or"` or `"and"`. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
8476
+ * How to combine this with the previous filter. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
8291
8477
  */
8292
8478
  readonly mode?: "or" | "and"
8293
8479
  /**
@@ -8433,7 +8619,7 @@ declare module "factorio:runtime" {
8433
8619
  * - `"final-damage-amount"`: {@link FinalDamageAmountEntityDamagedEventFilter}
8434
8620
  * - `"damage-type"`: {@link DamageTypeEntityDamagedEventFilter}
8435
8621
  * - `"final-health"`: {@link FinalHealthEntityDamagedEventFilter}
8436
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#LuaEntityDamagedEventFilter Online documentation}
8622
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#LuaEntityDamagedEventFilter Online documentation}
8437
8623
  */
8438
8624
  export type LuaEntityDamagedEventFilter =
8439
8625
  | TypeEntityDamagedEventFilter
@@ -8447,7 +8633,7 @@ declare module "factorio:runtime" {
8447
8633
  | OtherEntityDamagedEventFilter
8448
8634
  /**
8449
8635
  * Write form of {@link LuaEntityDamagedEventFilter}, where table-or-array concepts are allowed to take an array form.
8450
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#LuaEntityDamagedEventFilter Online documentation}
8636
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#LuaEntityDamagedEventFilter Online documentation}
8451
8637
  */
8452
8638
  export type LuaEntityDamagedEventFilterWrite =
8453
8639
  | TypeEntityDamagedEventFilter
@@ -8483,7 +8669,7 @@ declare module "factorio:runtime" {
8483
8669
  | "ghost_type"
8484
8670
  | "ghost_name"
8485
8671
  /**
8486
- * How to combine this with the previous filter. Must be `"or"` or `"and"`. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
8672
+ * How to combine this with the previous filter. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
8487
8673
  */
8488
8674
  readonly mode?: "or" | "and"
8489
8675
  /**
@@ -8558,7 +8744,7 @@ declare module "factorio:runtime" {
8558
8744
  * - `"name"`: {@link NameSectorScannedEventFilter}
8559
8745
  * - `"ghost_type"`: {@link GhostTypeSectorScannedEventFilter}
8560
8746
  * - `"ghost_name"`: {@link GhostNameSectorScannedEventFilter}
8561
- * @see {@link https://lua-api.factorio.com/1.1.97/concepts.html#LuaSectorScannedEventFilter Online documentation}
8747
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#LuaSectorScannedEventFilter Online documentation}
8562
8748
  */
8563
8749
  export type LuaSectorScannedEventFilter =
8564
8750
  | TypeSectorScannedEventFilter