typed-factorio 2.6.0 → 2.7.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -8,108 +8,275 @@ import type { VersionString } from "factorio:common"
8
8
  * @noResolution
9
9
  */
10
10
  declare module "factorio:runtime" {
11
- export interface PrintSettings {
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[]
12
70
  /**
13
- * Color of the message to print. Defaults to white.
71
+ * The trigger will only affect entities that contain any of these flags.
14
72
  */
15
- readonly color?: Color | ColorArray
73
+ readonly entity_flags?: EntityPrototypeFlags
74
+ readonly ignore_collision_condition: boolean
16
75
  /**
17
- * If a sound should be emitted for this message. Defaults to `defines.print_sound.use_player_settings`.
76
+ * The trigger will only affect entities that would collide with given collision mask.
18
77
  */
19
- readonly sound?: defines.print_sound
78
+ readonly collision_mask: CollisionMask
79
+ readonly trigger_target_mask: TriggerTargetMask
20
80
  /**
21
- * Condition when to skip adding message. Defaults to `defines.print_skip.if_redundant`.
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"`.
22
82
  */
23
- readonly skip?: defines.print_skip
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 {
24
93
  /**
25
- * The sound to play. If not given, {@link import("factorio:prototype").UtilitySounds#console_message UtilitySounds::console_message} will be used instead.
94
+ * Whether this is a whitelist or a blacklist of damage types. `true` means whitelist.
26
95
  */
27
- readonly sound_path?: SoundPath
96
+ readonly whitelist: boolean
28
97
  /**
29
- * The volume of the sound to play. Must be between 0 and 1 inclusive. Defaults to 1.
98
+ * The damage types to filter for. The value in the dictionary is meaningless and exists just to allow for easy lookup.
30
99
  */
31
- readonly volume_modifier?: double
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
32
132
  /**
33
- * If set to false, message will not be part of game state and will dissapear from output console after save-load. Defaults to `true`.
133
+ * This determines which of the following fields will be required.
34
134
  */
35
- readonly game_state?: boolean
135
+ readonly type: GuiArrowType
36
136
  }
37
- export interface RailEnd {
38
- readonly rail: LuaEntity
39
- readonly direction: defines.rail_direction
137
+ /**
138
+ * `"entity"` variant of {@link GuiArrowSpecification}.
139
+ */
140
+ export interface EntityGuiArrowSpecification extends BaseGuiArrowSpecification {
141
+ readonly type: "entity"
142
+ readonly entity: LuaEntity
40
143
  }
41
- export interface TrainPathFinderRequest {
42
- readonly goals: readonly (TrainStopGoal | RailEnd)[]
43
- /**
44
- * Defaults to false. If set to true, pathfinder will not return a path that cannot have its beginning immediately reserved causing train to stop inside of intersection.
45
- */
46
- readonly in_chain_signal_section?: boolean
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"
47
156
  /**
48
- * Mandatory if from_front and from_back are not provided, optional otherwise. Selects a context for the pathfinder to decide which train to exclude from penalties and which signals are considered possible to reacquire. If from_front and from_back are not provided, then it is also used to collect front and back ends for the search
157
+ * Index in the crafting queue to point to.
49
158
  */
50
- readonly train?: LuaTrain
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"
51
166
  /**
52
- * Request type. "path", "any-goal-accessible", "all-goals-accessible" or "all-goals-penalties". Defaults to "path"
167
+ * Which inventory the stack is in.
53
168
  */
54
- readonly type?: "path" | "any-goal-accessible" | "all-goals-accessible" | "all-goals-penalties"
169
+ readonly inventory_index: defines.inventory
55
170
  /**
56
- * Only relevant if request type is "path". Returning a full path is expensive due to multiple LuaEntity created. In order for path to be returned, true must be provided here. Defaults to false in which case a path will not be provided.
171
+ * Which stack to point to.
57
172
  */
58
- readonly return_path?: boolean
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
200
+ export interface PrintSettings {
59
201
  /**
60
- * Manually provided starting front of the train.
202
+ * Color of the message to print. Defaults to white.
61
203
  */
62
- readonly from_front?: RailEnd
204
+ readonly color?: Color | ColorArray
63
205
  /**
64
- * Only relevant if from_front is given. Defaults to true. Providing false will cause the pathfinder to reject a path that starts on front and ends within the same segment as the path would be too short to provide correct alignment with a goal.
206
+ * If a sound should be emitted for this message. Defaults to `defines.print_sound.use_player_settings`.
65
207
  */
66
- readonly allow_path_within_segment_front?: boolean
208
+ readonly sound?: defines.print_sound
67
209
  /**
68
- * Manually provided starting back of the train.
210
+ * Condition when to skip adding message. Defaults to `defines.print_skip.if_redundant`.
69
211
  */
70
- readonly from_back?: RailEnd
212
+ readonly skip?: defines.print_skip
71
213
  /**
72
- * Only relevant if from_back is given. Defaults to true. Providing false will cause the pathfinder to reject a path that starts on back and ends within the same segment as the path would be too short to provide correct alignment with a goal.
214
+ * The sound to play. If not given, {@link import("factorio:prototype").UtilitySounds#console_message UtilitySounds::console_message} will be used instead.
73
215
  */
74
- readonly allow_path_within_segment_back?: boolean
216
+ readonly sound_path?: SoundPath
75
217
  /**
76
- * Only relevant if none of from_front/from_back was provied in which case from_front and from_back are deduced from the train. Selects which train ends should be considered as starts. Possible values: "respect-movement-direction", "any-direction-with-locomotives". Defaults to "any-direction-with-locomotives"
218
+ * The volume of the sound to play. Must be between 0 and 1 inclusive. Defaults to 1.
77
219
  */
78
- readonly search_direction?: "respect-movement-direction" | "any-direction-with-locomotives"
220
+ readonly volume_modifier?: double
79
221
  /**
80
- * Maximum amount of steps pathfinder is allowed to perform
222
+ * If set to false, message will not be part of game state and will dissapear from output console after save-load. Defaults to `true`.
81
223
  */
82
- readonly steps_limit?: uint
224
+ readonly game_state?: boolean
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
83
239
  }
84
240
  export interface TrainStopGoal {
85
241
  /**
86
- * Train stop target. Must be connected to rail (LuaEntity::connected_rail returns valid LuaEntity)
242
+ * Train stop target. Must be connected to rail ({@link LuaEntity#connected_rail LuaEntity::connected_rail} returns valid LuaEntity).
87
243
  */
88
244
  readonly train_stop: LuaEntity
89
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"
90
257
  export interface TrainPathFinderPathResult {
91
258
  /**
92
259
  * True if found path.
93
260
  */
94
261
  readonly found_path: boolean
95
262
  /**
96
- * 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
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.
97
264
  */
98
265
  readonly path?: LuaEntity[]
99
266
  /**
100
- * If path was found, provides index of the specific goal to which the path goes to
267
+ * If path was found, provides index of the specific goal to which the path goes to.
101
268
  */
102
269
  readonly goal_index?: uint
103
270
  /**
104
- * Penalty of the path to goal if path was found
271
+ * Penalty of the path to goal if path was found.
105
272
  */
106
273
  readonly penalty?: double
107
274
  /**
108
- * If path was found, provides total length of all rails of the path
275
+ * If path was found, provides total length of all rails of the path.
109
276
  */
110
277
  readonly total_length?: double
111
278
  /**
112
- * If path was found, tells if the path was reached from the from_front or train's front end.
279
+ * If path was found, tells if the path was reached from the `from_front` or train's front end.
113
280
  */
114
281
  readonly is_front?: boolean
115
282
  /**
@@ -119,15 +286,15 @@ declare module "factorio:runtime" {
119
286
  }
120
287
  export interface TrainPathAnyGoalResult {
121
288
  /**
122
- * True if any goal was accessible
289
+ * True if any goal was accessible.
123
290
  */
124
291
  readonly found_path: boolean
125
292
  /**
126
- * If any goal was accessible, this gives index of the particular goal that was found
293
+ * If any goal was accessible, this gives index of the particular goal that was found.
127
294
  */
128
295
  readonly goal_index?: uint
129
296
  /**
130
- * Penalty of the path to goal if a goal was accessible
297
+ * Penalty of the path to goal if a goal was accessible.
131
298
  */
132
299
  readonly penalty?: double
133
300
  /**
@@ -137,15 +304,15 @@ declare module "factorio:runtime" {
137
304
  }
138
305
  export interface TrainPathAllGoalsResult {
139
306
  /**
140
- * Amount of goals that are accessible
307
+ * Amount of goals that are accessible.
141
308
  */
142
309
  readonly amount_accessible: uint
143
310
  /**
144
- * Table of the same length as requested goals: each field will tell if related goal is accessible for the train
311
+ * Array of the same length as requested goals: each field will tell if related goal is accessible for the train.
145
312
  */
146
313
  readonly accessible: boolean[]
147
314
  /**
148
- * Table of the same length as requested goals. Only present if request type was "all-goals-penalties"
315
+ * Array of the same length as requested goals. Only present if request type was `"all-goals-penalties"`.
149
316
  */
150
317
  readonly penalties?: double[]
151
318
  /**
@@ -154,25 +321,74 @@ declare module "factorio:runtime" {
154
321
  readonly steps_count: uint
155
322
  }
156
323
  export interface ElemID {
157
- /**
158
- * One of `"achievement"`, `"decorative"`, `"entity"`, `"equipment"`, `"fluid"`, `"item"`, `"item-group"`, `"recipe"`, `"signal"`, or `"technology"`.
159
- */
160
- readonly type:
161
- | "achievement"
162
- | "decorative"
163
- | "entity"
164
- | "equipment"
165
- | "fluid"
166
- | "item"
167
- | "item-group"
168
- | "recipe"
169
- | "signal"
170
- | "technology"
324
+ readonly type: ElemType
171
325
  /**
172
326
  * Name of a prototype as defined by `type`.
173
327
  */
174
328
  readonly name: string
175
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"
176
392
  export interface RadiusVisualisationSpecification {
177
393
  readonly distance: double
178
394
  readonly offset: Vector
@@ -201,7 +417,7 @@ declare module "factorio:runtime" {
201
417
  * - `"none-to-south"`
202
418
  * - `"south-to-none"`
203
419
  * - `"none-to-north"`
204
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#CliffOrientation Online documentation}
420
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#CliffOrientation Online documentation}
205
421
  */
206
422
  export type CliffOrientation =
207
423
  | "west-to-east"
@@ -224,6 +440,95 @@ declare module "factorio:runtime" {
224
440
  | "none-to-south"
225
441
  | "south-to-none"
226
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"
227
532
  /**
228
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.
229
534
  *
@@ -246,7 +551,7 @@ declare module "factorio:runtime" {
246
551
  * game.print({"", {"item-name.iron-plate"}, ": ", 60})
247
552
  * @example As an example of a localised string with fallback, consider this:
248
553
  * {"?", {"", {"entity-description.furnace"}, "\n"}, {"item-description.furnace"}, "optional fallback"}
249
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#LocalisedString Online documentation}
554
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#LocalisedString Online documentation}
250
555
  */
251
556
  export type LocalisedString = string | number | boolean | LuaObject | nil | [string, ...LocalisedString[]]
252
557
  export interface DisplayResolution {
@@ -258,14 +563,20 @@ declare module "factorio:runtime" {
258
563
  * The item. `nil` clears the filter.
259
564
  */
260
565
  readonly name?: string
566
+ /**
567
+ * Defaults to `0`.
568
+ */
261
569
  readonly min?: uint
570
+ /**
571
+ * Defaults to max uint.
572
+ */
262
573
  readonly max?: uint
263
574
  }
264
575
  /**
265
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".
266
577
  *
267
578
  * For example then, a value of `0.625` would indicate "south-west", and a value of `0.875` would indicate "north-west".
268
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#RealOrientation Online documentation}
579
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#RealOrientation Online documentation}
269
580
  */
270
581
  export type RealOrientation = float
271
582
  /**
@@ -278,7 +589,7 @@ declare module "factorio:runtime" {
278
589
  * {y = 2.25, x = 5.125}
279
590
  * @example Shorthand:
280
591
  * {1.625, 2.375}
281
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#MapPosition Online documentation}
592
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#MapPosition Online documentation}
282
593
  */
283
594
  export interface MapPosition {
284
595
  readonly x: double
@@ -287,13 +598,13 @@ declare module "factorio:runtime" {
287
598
  /**
288
599
  * Array form of {@link MapPosition}.
289
600
  * @see MapPosition
290
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#MapPosition Online documentation}
601
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#MapPosition Online documentation}
291
602
  */
292
603
  export type MapPositionArray = readonly [x: double, y: double]
293
604
  /**
294
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.
295
606
  * @see ChunkPositionArray
296
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#ChunkPosition Online documentation}
607
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#ChunkPosition Online documentation}
297
608
  */
298
609
  export interface ChunkPosition {
299
610
  readonly x: int
@@ -302,13 +613,13 @@ declare module "factorio:runtime" {
302
613
  /**
303
614
  * Array form of {@link ChunkPosition}.
304
615
  * @see ChunkPosition
305
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#ChunkPosition Online documentation}
616
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#ChunkPosition Online documentation}
306
617
  */
307
618
  export type ChunkPositionArray = readonly [x: int, y: int]
308
619
  /**
309
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.
310
621
  * @see TilePositionArray
311
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#TilePosition Online documentation}
622
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#TilePosition Online documentation}
312
623
  */
313
624
  export interface TilePosition {
314
625
  readonly x: int
@@ -317,7 +628,7 @@ declare module "factorio:runtime" {
317
628
  /**
318
629
  * Array form of {@link TilePosition}.
319
630
  * @see TilePosition
320
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#TilePosition Online documentation}
631
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#TilePosition Online documentation}
321
632
  */
322
633
  export type TilePositionArray = readonly [x: int, y: int]
323
634
  /**
@@ -328,7 +639,7 @@ declare module "factorio:runtime" {
328
639
  * {y = 2, x = 5}
329
640
  * @example Shorthand:
330
641
  * {1, 2}
331
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#EquipmentPosition Online documentation}
642
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#EquipmentPosition Online documentation}
332
643
  */
333
644
  export interface EquipmentPosition {
334
645
  readonly x: int
@@ -337,13 +648,13 @@ declare module "factorio:runtime" {
337
648
  /**
338
649
  * Array form of {@link EquipmentPosition}.
339
650
  * @see EquipmentPosition
340
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#EquipmentPosition Online documentation}
651
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#EquipmentPosition Online documentation}
341
652
  */
342
653
  export type EquipmentPositionArray = readonly [x: int, y: int]
343
654
  /**
344
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.
345
656
  * @see GuiLocationArray
346
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#GuiLocation Online documentation}
657
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#GuiLocation Online documentation}
347
658
  */
348
659
  export interface GuiLocation {
349
660
  readonly x: int
@@ -352,12 +663,12 @@ declare module "factorio:runtime" {
352
663
  /**
353
664
  * Array form of {@link GuiLocation}.
354
665
  * @see GuiLocation
355
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#GuiLocation Online documentation}
666
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#GuiLocation Online documentation}
356
667
  */
357
668
  export type GuiLocationArray = readonly [x: int, y: int]
358
669
  /**
359
670
  * A {@link ChunkPosition} with an added bounding box for the area of the chunk.
360
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#ChunkPositionAndArea Online documentation}
671
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#ChunkPositionAndArea Online documentation}
361
672
  */
362
673
  export interface ChunkPositionAndArea {
363
674
  readonly x: int
@@ -366,7 +677,7 @@ declare module "factorio:runtime" {
366
677
  }
367
678
  /**
368
679
  * A table used to define a manual shape for a piece of equipment.
369
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#EquipmentPoint Online documentation}
680
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#EquipmentPoint Online documentation}
370
681
  */
371
682
  export interface EquipmentPoint {
372
683
  readonly x: uint
@@ -402,12 +713,12 @@ declare module "factorio:runtime" {
402
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.
403
714
  * @example
404
715
  * {a = 1, b = true, c = "three", d = {e = "f"}}
405
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#Tags Online documentation}
716
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#Tags Online documentation}
406
717
  */
407
718
  export type Tags = Record<string, AnyBasic>
408
719
  /**
409
720
  * @remarks The vectors for all 5 position attributes are a table with `x` and `y` keys instead of an array.
410
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#SmokeSource Online documentation}
721
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#SmokeSource Online documentation}
411
722
  */
412
723
  export interface SmokeSource {
413
724
  readonly name: string
@@ -434,7 +745,7 @@ declare module "factorio:runtime" {
434
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.
435
746
  * @example
436
747
  * right = {1.0, 0.0}
437
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#Vector Online documentation}
748
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#Vector Online documentation}
438
749
  */
439
750
  export type Vector = MapPositionArray
440
751
  /**
@@ -444,7 +755,7 @@ declare module "factorio:runtime" {
444
755
  * {left_top = {x = -2, y = -3}, right_bottom = {x = 5, y = 8}}
445
756
  * @example Shorthand:
446
757
  * {{-2, -3}, {5, 8}}
447
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#BoundingBox Online documentation}
758
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#BoundingBox Online documentation}
448
759
  */
449
760
  export interface BoundingBox {
450
761
  readonly left_top: MapPosition
@@ -462,7 +773,7 @@ declare module "factorio:runtime" {
462
773
  /**
463
774
  * Array form of {@link BoundingBox}.
464
775
  * @see BoundingBox
465
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#BoundingBox Online documentation}
776
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#BoundingBox Online documentation}
466
777
  */
467
778
  export type BoundingBoxArray = readonly [
468
779
  left_top: MapPosition | MapPositionArray,
@@ -472,7 +783,7 @@ declare module "factorio:runtime" {
472
783
  /**
473
784
  * An area defined using the map editor.
474
785
  * @see ScriptAreaWrite
475
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#ScriptArea Online documentation}
786
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#ScriptArea Online documentation}
476
787
  */
477
788
  export interface ScriptArea {
478
789
  readonly area: BoundingBox
@@ -482,7 +793,7 @@ declare module "factorio:runtime" {
482
793
  }
483
794
  /**
484
795
  * Write form of {@link ScriptArea}, where table-or-array concepts are allowed to take an array form.
485
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#ScriptArea Online documentation}
796
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#ScriptArea Online documentation}
486
797
  */
487
798
  export interface ScriptAreaWrite {
488
799
  readonly area: BoundingBoxWrite | BoundingBoxArray
@@ -493,7 +804,7 @@ declare module "factorio:runtime" {
493
804
  /**
494
805
  * A position defined using the map editor.
495
806
  * @see ScriptPositionWrite
496
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#ScriptPosition Online documentation}
807
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#ScriptPosition Online documentation}
497
808
  */
498
809
  export interface ScriptPosition {
499
810
  readonly position: MapPosition
@@ -503,7 +814,7 @@ declare module "factorio:runtime" {
503
814
  }
504
815
  /**
505
816
  * Write form of {@link ScriptPosition}, where table-or-array concepts are allowed to take an array form.
506
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#ScriptPosition Online documentation}
817
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#ScriptPosition Online documentation}
507
818
  */
508
819
  export interface ScriptPositionWrite {
509
820
  readonly position: MapPosition | MapPositionArray
@@ -521,7 +832,7 @@ declare module "factorio:runtime" {
521
832
  * red2 = {r = 0.5, a = 0.5} -- Same color as red1
522
833
  * black = {} -- All channels omitted: black
523
834
  * red1_short = {0.5, 0, 0, 0.5} -- Same color as red1 in short-hand notation
524
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#Color Online documentation}
835
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#Color Online documentation}
525
836
  */
526
837
  export interface Color {
527
838
  readonly r?: float
@@ -532,13 +843,13 @@ declare module "factorio:runtime" {
532
843
  /**
533
844
  * Array form of {@link Color}.
534
845
  * @see Color
535
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#Color Online documentation}
846
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#Color Online documentation}
536
847
  */
537
848
  export type ColorArray = readonly [r?: float, g?: float, b?: float, a?: float]
538
849
  /**
539
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].
540
851
  * @see ColorModifierArray
541
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#ColorModifier Online documentation}
852
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#ColorModifier Online documentation}
542
853
  */
543
854
  export interface ColorModifier {
544
855
  readonly r?: float
@@ -549,7 +860,7 @@ declare module "factorio:runtime" {
549
860
  /**
550
861
  * Array form of {@link ColorModifier}.
551
862
  * @see ColorModifier
552
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#ColorModifier Online documentation}
863
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#ColorModifier Online documentation}
553
864
  */
554
865
  export type ColorModifierArray = readonly [r?: float, g?: float, b?: float, a?: float]
555
866
  export interface CraftingQueueItem {
@@ -589,7 +900,7 @@ declare module "factorio:runtime" {
589
900
  }
590
901
  /**
591
902
  * One vertex of a ScriptRenderPolygon.
592
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#ScriptRenderVertexTarget Online documentation}
903
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#ScriptRenderVertexTarget Online documentation}
593
904
  */
594
905
  export interface ScriptRenderVertexTarget {
595
906
  readonly target: (MapPosition | MapPositionArray) | LuaEntity
@@ -655,7 +966,7 @@ declare module "factorio:runtime" {
655
966
  }
656
967
  /**
657
968
  * @remarks Either `icon`, `text`, or both must be provided.
658
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#ChartTagSpec Online documentation}
969
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#ChartTagSpec Online documentation}
659
970
  */
660
971
  export interface ChartTagSpec {
661
972
  readonly position: MapPosition | MapPositionArray
@@ -665,88 +976,88 @@ declare module "factorio:runtime" {
665
976
  }
666
977
  /**
667
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.
668
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#GameViewSettings Online documentation}
979
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#GameViewSettings Online documentation}
669
980
  */
670
981
  export interface GameViewSettings {
671
982
  /**
672
983
  * Show the controller GUI elements. This includes the toolbar, the selected tool slot, the armour slot, and the gun and ammunition slots.
673
- * @see {@link https://lua-api.factorio.com/1.1.101/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}
674
985
  */
675
986
  show_controller_gui: boolean
676
987
  /**
677
988
  * Show the chart in the upper right-hand corner of the screen.
678
- * @see {@link https://lua-api.factorio.com/1.1.101/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}
679
990
  */
680
991
  show_minimap: boolean
681
992
  /**
682
993
  * Show research progress and name in the upper right-hand corner of the screen.
683
- * @see {@link https://lua-api.factorio.com/1.1.101/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}
684
995
  */
685
996
  show_research_info: boolean
686
997
  /**
687
998
  * Show overlay icons on entities. Also known as "alt-mode".
688
- * @see {@link https://lua-api.factorio.com/1.1.101/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}
689
1000
  */
690
1001
  show_entity_info: boolean
691
1002
  /**
692
1003
  * Show the flashing alert icons next to the player's toolbar.
693
- * @see {@link https://lua-api.factorio.com/1.1.101/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}
694
1005
  */
695
1006
  show_alert_gui: boolean
696
1007
  /**
697
1008
  * When `true` (the default), mousing over an entity will select it. Otherwise, moving the mouse won't update entity selection.
698
- * @see {@link https://lua-api.factorio.com/1.1.101/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}
699
1010
  */
700
1011
  update_entity_selection: boolean
701
1012
  /**
702
1013
  * When `true` (`false` is default), the rails will always show the rail block visualisation.
703
- * @see {@link https://lua-api.factorio.com/1.1.101/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}
704
1015
  */
705
1016
  show_rail_block_visualisation: boolean
706
1017
  /**
707
1018
  * Shows or hides the buttons row.
708
- * @see {@link https://lua-api.factorio.com/1.1.101/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}
709
1020
  */
710
1021
  show_side_menu: boolean
711
1022
  /**
712
1023
  * Shows or hides the view options when map is opened.
713
- * @see {@link https://lua-api.factorio.com/1.1.101/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}
714
1025
  */
715
1026
  show_map_view_options: boolean
716
1027
  /**
717
1028
  * Shows or hides the tooltip that is displayed when selecting an entity.
718
- * @see {@link https://lua-api.factorio.com/1.1.101/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}
719
1030
  */
720
1031
  show_entity_tooltip: boolean
721
1032
  /**
722
1033
  * Shows or hides quickbar of shortcuts.
723
- * @see {@link https://lua-api.factorio.com/1.1.101/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}
724
1035
  */
725
1036
  show_quickbar: boolean
726
1037
  /**
727
1038
  * Shows or hides the shortcut bar.
728
- * @see {@link https://lua-api.factorio.com/1.1.101/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}
729
1040
  */
730
1041
  show_shortcut_bar: boolean
731
1042
  /**
732
1043
  * Shows or hides the crafting queue.
733
- * @see {@link https://lua-api.factorio.com/1.1.101/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}
734
1045
  */
735
1046
  show_crafting_queue: boolean
736
1047
  /**
737
1048
  * Shows or hides the tool window with the weapons and armor.
738
- * @see {@link https://lua-api.factorio.com/1.1.101/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}
739
1050
  */
740
1051
  show_tool_bar: boolean
741
1052
  /**
742
1053
  * Shows or hides the mouse and keyboard/controller button hints in the bottom left corner if they are enabled in the interface settings.
743
- * @see {@link https://lua-api.factorio.com/1.1.101/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}
744
1055
  */
745
1056
  show_hotkey_suggestions: boolean
746
1057
  }
747
1058
  /**
748
1059
  * What is shown in the map view. If a field is not given, that setting will not be changed.
749
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#MapViewSettings Online documentation}
1060
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#MapViewSettings Online documentation}
750
1061
  */
751
1062
  export interface MapViewSettings {
752
1063
  readonly "show-logistic-network"?: boolean
@@ -760,7 +1071,7 @@ declare module "factorio:runtime" {
760
1071
  }
761
1072
  /**
762
1073
  * These values are for the time frame of one second (60 ticks).
763
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#PollutionMapSettings Online documentation}
1074
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#PollutionMapSettings Online documentation}
764
1075
  */
765
1076
  export interface PollutionMapSettings {
766
1077
  /**
@@ -814,7 +1125,7 @@ declare module "factorio:runtime" {
814
1125
  }
815
1126
  /**
816
1127
  * These values represent a percentual increase in evolution. This means a value of `0.1` would increase evolution by 10%.
817
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#EnemyEvolutionMapSettings Online documentation}
1128
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#EnemyEvolutionMapSettings Online documentation}
818
1129
  */
819
1130
  export interface EnemyEvolutionMapSettings {
820
1131
  /**
@@ -854,7 +1165,7 @@ declare module "factorio:runtime" {
854
1165
  *
855
1166
  * score(chunk) = 1 / (1 + player + base)
856
1167
  * ```
857
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#EnemyExpansionMapSettings Online documentation}
1168
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#EnemyExpansionMapSettings Online documentation}
858
1169
  */
859
1170
  export interface EnemyExpansionMapSettings {
860
1171
  /**
@@ -1115,7 +1426,7 @@ declare module "factorio:runtime" {
1115
1426
  * Various game-related settings. Updating any of the attributes will immediately take effect in the game engine.
1116
1427
  * @example Increase the number of short paths the pathfinder can cache.
1117
1428
  * game.map_settings.path_finder.short_cache_size = 15
1118
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#MapSettings Online documentation}
1429
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#MapSettings Online documentation}
1119
1430
  */
1120
1431
  export interface MapSettings {
1121
1432
  pollution: PollutionMapSettings
@@ -1126,31 +1437,31 @@ declare module "factorio:runtime" {
1126
1437
  path_finder: PathFinderMapSettings
1127
1438
  /**
1128
1439
  * If a behavior fails this many times, the enemy (or enemy group) is destroyed. This solves biters getting stuck within their own base.
1129
- * @see {@link https://lua-api.factorio.com/1.1.101/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}
1130
1441
  */
1131
1442
  max_failed_behavior_count: uint
1132
1443
  }
1133
1444
  /**
1134
1445
  * Technology and recipe difficulty settings. Updating any of the attributes will immediately take effect in the game engine.
1135
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#DifficultySettings Online documentation}
1446
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#DifficultySettings Online documentation}
1136
1447
  */
1137
1448
  export interface DifficultySettings {
1138
1449
  recipe_difficulty: defines.difficulty_settings.recipe_difficulty
1139
1450
  technology_difficulty: defines.difficulty_settings.technology_difficulty
1140
1451
  /**
1141
1452
  * A value in range [0.001, 1000].
1142
- * @see {@link https://lua-api.factorio.com/1.1.101/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}
1143
1454
  */
1144
1455
  technology_price_multiplier: double
1145
1456
  /**
1146
- * 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.
1147
- * @see {@link https://lua-api.factorio.com/1.1.101/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}
1148
1459
  */
1149
1460
  research_queue_setting: "after-victory" | "always" | "never"
1150
1461
  }
1151
1462
  /**
1152
1463
  * A standard table containing all {@link MapSettings} attributes plus an additional table that contains all {@link DifficultySettings} properties.
1153
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#MapAndDifficultySettings Online documentation}
1464
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#MapAndDifficultySettings Online documentation}
1154
1465
  */
1155
1466
  export interface MapAndDifficultySettings {
1156
1467
  readonly pollution: PollutionMapSettings
@@ -1173,13 +1484,13 @@ declare module "factorio:runtime" {
1173
1484
  */
1174
1485
  readonly technology_price_multiplier: double
1175
1486
  /**
1176
- * 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.
1177
1488
  */
1178
1489
  readonly research_queue_setting: "after-victory" | "always" | "never"
1179
1490
  }
1180
1491
  /**
1181
1492
  * The data that can be extracted from a map exchange string, as a plain table.
1182
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#MapExchangeStringData Online documentation}
1493
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#MapExchangeStringData Online documentation}
1183
1494
  */
1184
1495
  export interface MapExchangeStringData {
1185
1496
  readonly map_settings: MapAndDifficultySettings
@@ -1198,7 +1509,7 @@ declare module "factorio:runtime" {
1198
1509
  /**
1199
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.
1200
1511
  * @see BlueprintEntityWrite
1201
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#BlueprintEntity Online documentation}
1512
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#BlueprintEntity Online documentation}
1202
1513
  */
1203
1514
  export interface BlueprintEntity {
1204
1515
  /**
@@ -1377,7 +1688,7 @@ declare module "factorio:runtime" {
1377
1688
  }
1378
1689
  /**
1379
1690
  * Write form of {@link BlueprintEntity}, where table-or-array concepts are allowed to take an array form.
1380
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#BlueprintEntity Online documentation}
1691
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#BlueprintEntity Online documentation}
1381
1692
  */
1382
1693
  export interface BlueprintEntityWrite {
1383
1694
  /**
@@ -1465,7 +1776,7 @@ declare module "factorio:runtime" {
1465
1776
  }
1466
1777
  /**
1467
1778
  * @see TileWrite
1468
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#Tile Online documentation}
1779
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#Tile Online documentation}
1469
1780
  */
1470
1781
  export interface Tile {
1471
1782
  /**
@@ -1479,7 +1790,7 @@ declare module "factorio:runtime" {
1479
1790
  }
1480
1791
  /**
1481
1792
  * Write form of {@link Tile}, where table-or-array concepts are allowed to take an array form.
1482
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#Tile Online documentation}
1793
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#Tile Online documentation}
1483
1794
  */
1484
1795
  export interface TileWrite {
1485
1796
  /**
@@ -1509,9 +1820,6 @@ declare module "factorio:runtime" {
1509
1820
  * Common attributes to all variants of {@link Ingredient}.
1510
1821
  */
1511
1822
  export interface BaseIngredient {
1512
- /**
1513
- * `"item"` or `"fluid"`.
1514
- */
1515
1823
  readonly type: "item" | "fluid"
1516
1824
  /**
1517
1825
  * Prototype name of the required item or fluid.
@@ -1551,16 +1859,13 @@ declare module "factorio:runtime" {
1551
1859
  *
1552
1860
  * Other attributes may be specified depending on `type`:
1553
1861
  * - `"fluid"`: {@link FluidIngredient}
1554
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#Ingredient Online documentation}
1862
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#Ingredient Online documentation}
1555
1863
  */
1556
1864
  export type Ingredient = FluidIngredient | OtherIngredient
1557
1865
  /**
1558
1866
  * Common attributes to all variants of {@link Product}.
1559
1867
  */
1560
1868
  export interface BaseProduct {
1561
- /**
1562
- * `"item"` or `"fluid"`.
1563
- */
1564
1869
  readonly type: "item" | "fluid"
1565
1870
  /**
1566
1871
  * Prototype name of the result.
@@ -1616,7 +1921,7 @@ declare module "factorio:runtime" {
1616
1921
  * {type="fluid", name="petroleum-gas", amount=5.5}}
1617
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:
1618
1923
  * {{type="item", name="custom-item", probability=0.5, amount_min=1, amount_max=5}}
1619
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#Product Online documentation}
1924
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#Product Online documentation}
1620
1925
  */
1621
1926
  export type Product = FluidProduct | OtherProduct
1622
1927
  export interface Loot {
@@ -1639,51 +1944,9 @@ declare module "factorio:runtime" {
1639
1944
  }
1640
1945
  export interface BaseTechnologyModifier {
1641
1946
  /**
1642
- * 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.
1643
1948
  */
1644
- readonly type:
1645
- | "inserter-stack-size-bonus"
1646
- | "stack-inserter-capacity-bonus"
1647
- | "laboratory-speed"
1648
- | "character-logistic-trash-slots"
1649
- | "maximum-following-robots-count"
1650
- | "worker-robot-speed"
1651
- | "worker-robot-storage"
1652
- | "ghost-time-to-live"
1653
- | "turret-attack"
1654
- | "ammo-damage"
1655
- | "give-item"
1656
- | "gun-speed"
1657
- | "unlock-recipe"
1658
- | "character-crafting-speed"
1659
- | "character-mining-speed"
1660
- | "character-running-speed"
1661
- | "character-build-distance"
1662
- | "character-item-drop-distance"
1663
- | "character-reach-distance"
1664
- | "character-resource-reach-distance"
1665
- | "character-item-pickup-distance"
1666
- | "character-loot-pickup-distance"
1667
- | "character-inventory-slots-bonus"
1668
- | "deconstruction-time-to-live"
1669
- | "max-failed-attempts-per-tick-per-construction-queue"
1670
- | "max-successful-attempts-per-tick-per-construction-queue"
1671
- | "character-health-bonus"
1672
- | "mining-drill-productivity-bonus"
1673
- | "train-braking-force-bonus"
1674
- | "zoom-to-world-enabled"
1675
- | "zoom-to-world-ghost-building-enabled"
1676
- | "zoom-to-world-blueprint-enabled"
1677
- | "zoom-to-world-deconstruction-planner-enabled"
1678
- | "zoom-to-world-upgrade-planner-enabled"
1679
- | "zoom-to-world-selection-tool-enabled"
1680
- | "worker-robot-battery"
1681
- | "laboratory-productivity"
1682
- | "follower-robot-lifetime"
1683
- | "artillery-range"
1684
- | "nothing"
1685
- | "character-additional-mining-categories"
1686
- | "character-logistic-requests"
1949
+ readonly type: ModifierType
1687
1950
  }
1688
1951
  /**
1689
1952
  * `"gun-speed"` variant of {@link TechnologyModifier}.
@@ -1800,7 +2063,6 @@ declare module "factorio:runtime" {
1800
2063
  | "laboratory-productivity"
1801
2064
  | "follower-robot-lifetime"
1802
2065
  | "artillery-range"
1803
- | "character-additional-mining-categories"
1804
2066
  | "character-logistic-requests"
1805
2067
  /**
1806
2068
  * Modification value. This value will be added to the variable it modifies.
@@ -1818,7 +2080,7 @@ declare module "factorio:runtime" {
1818
2080
  * - `"unlock-recipe"`: {@link UnlockRecipeTechnologyModifier}
1819
2081
  * - `"nothing"`: {@link NothingTechnologyModifier}
1820
2082
  * - Other types: {@link OtherTechnologyModifier}
1821
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#TechnologyModifier Online documentation}
2083
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#TechnologyModifier Online documentation}
1822
2084
  */
1823
2085
  export type TechnologyModifier =
1824
2086
  | GunSpeedTechnologyModifier
@@ -1830,7 +2092,7 @@ declare module "factorio:runtime" {
1830
2092
  | OtherTechnologyModifier
1831
2093
  /**
1832
2094
  * A single offer on a market entity.
1833
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#Offer Online documentation}
2095
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#Offer Online documentation}
1834
2096
  */
1835
2097
  export interface Offer {
1836
2098
  /**
@@ -1844,7 +2106,7 @@ declare module "factorio:runtime" {
1844
2106
  }
1845
2107
  /**
1846
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.
1847
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#AutoplaceSpecification Online documentation}
2109
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#AutoplaceSpecification Online documentation}
1848
2110
  */
1849
2111
  export interface AutoplaceSpecification {
1850
2112
  readonly probability_expression: NoiseExpression
@@ -1870,7 +2132,7 @@ declare module "factorio:runtime" {
1870
2132
  }
1871
2133
  /**
1872
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}.
1873
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#NoiseExpression Online documentation}
2135
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#NoiseExpression Online documentation}
1874
2136
  */
1875
2137
  export interface NoiseExpression {
1876
2138
  /**
@@ -1962,7 +2224,7 @@ declare module "factorio:runtime" {
1962
2224
  * - `"very-big"`: equivalent to `2`.
1963
2225
  * - `"very-good"`: equivalent to `2`.
1964
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.
1965
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#MapGenSize Online documentation}
2227
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#MapGenSize Online documentation}
1966
2228
  */
1967
2229
  export type MapGenSize =
1968
2230
  | float
@@ -1984,7 +2246,7 @@ declare module "factorio:runtime" {
1984
2246
  | "very-good"
1985
2247
  /**
1986
2248
  * @see AutoplaceControlWrite
1987
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#AutoplaceControl Online documentation}
2249
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#AutoplaceControl Online documentation}
1988
2250
  */
1989
2251
  export interface AutoplaceControl {
1990
2252
  /**
@@ -2002,7 +2264,7 @@ declare module "factorio:runtime" {
2002
2264
  }
2003
2265
  /**
2004
2266
  * Write form of {@link AutoplaceControl}, where table-or-array concepts are allowed to take an array form.
2005
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#AutoplaceControl Online documentation}
2267
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#AutoplaceControl Online documentation}
2006
2268
  */
2007
2269
  export interface AutoplaceControlWrite {
2008
2270
  /**
@@ -2020,7 +2282,7 @@ declare module "factorio:runtime" {
2020
2282
  }
2021
2283
  /**
2022
2284
  * @see AutoplaceSettingsWrite
2023
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#AutoplaceSettings Online documentation}
2285
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#AutoplaceSettings Online documentation}
2024
2286
  */
2025
2287
  export interface AutoplaceSettings {
2026
2288
  /**
@@ -2031,7 +2293,7 @@ declare module "factorio:runtime" {
2031
2293
  }
2032
2294
  /**
2033
2295
  * Write form of {@link AutoplaceSettings}, where table-or-array concepts are allowed to take an array form.
2034
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#AutoplaceSettings Online documentation}
2296
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#AutoplaceSettings Online documentation}
2035
2297
  */
2036
2298
  export interface AutoplaceSettingsWrite {
2037
2299
  /**
@@ -2042,7 +2304,7 @@ declare module "factorio:runtime" {
2042
2304
  }
2043
2305
  /**
2044
2306
  * @see CliffPlacementSettingsWrite
2045
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#CliffPlacementSettings Online documentation}
2307
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#CliffPlacementSettings Online documentation}
2046
2308
  */
2047
2309
  export interface CliffPlacementSettings {
2048
2310
  /**
@@ -2064,7 +2326,7 @@ declare module "factorio:runtime" {
2064
2326
  }
2065
2327
  /**
2066
2328
  * Write form of {@link CliffPlacementSettings}, where table-or-array concepts are allowed to take an array form.
2067
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#CliffPlacementSettings Online documentation}
2329
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#CliffPlacementSettings Online documentation}
2068
2330
  */
2069
2331
  export interface CliffPlacementSettingsWrite {
2070
2332
  /**
@@ -2097,7 +2359,7 @@ declare module "factorio:runtime" {
2097
2359
  * local mgs = surface.map_gen_settings
2098
2360
  * mgs.property_expression_names["tile:deepwater:probability"] = -1000
2099
2361
  * surface.map_gen_settings = mgs
2100
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#MapGenSettings Online documentation}
2362
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#MapGenSettings Online documentation}
2101
2363
  */
2102
2364
  export interface MapGenSettings {
2103
2365
  /**
@@ -2117,9 +2379,9 @@ declare module "factorio:runtime" {
2117
2379
  */
2118
2380
  readonly default_enable_all_autoplace_controls: boolean
2119
2381
  /**
2120
- * 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.
2121
2383
  */
2122
- readonly autoplace_settings: Record<string, AutoplaceSettings>
2384
+ readonly autoplace_settings: Record<"entity" | "tile" | "decorative", AutoplaceSettings>
2123
2385
  /**
2124
2386
  * Map generation settings for entities of the type "cliff".
2125
2387
  */
@@ -2167,7 +2429,7 @@ declare module "factorio:runtime" {
2167
2429
  }
2168
2430
  /**
2169
2431
  * Write form of {@link MapGenSettings}, where table-or-array concepts are allowed to take an array form.
2170
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#MapGenSettings Online documentation}
2432
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#MapGenSettings Online documentation}
2171
2433
  */
2172
2434
  export interface MapGenSettingsWrite {
2173
2435
  /**
@@ -2187,9 +2449,9 @@ declare module "factorio:runtime" {
2187
2449
  */
2188
2450
  readonly default_enable_all_autoplace_controls: boolean
2189
2451
  /**
2190
- * 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.
2191
2453
  */
2192
- readonly autoplace_settings: Record<string, AutoplaceSettingsWrite>
2454
+ readonly autoplace_settings: Record<"entity" | "tile" | "decorative", AutoplaceSettingsWrite>
2193
2455
  /**
2194
2456
  * Map generation settings for entities of the type "cliff".
2195
2457
  */
@@ -2254,9 +2516,6 @@ declare module "factorio:runtime" {
2254
2516
  readonly advanced_settings?: AdvancedMapGenSettings
2255
2517
  }
2256
2518
  export interface SignalID {
2257
- /**
2258
- * `"item"`, `"fluid"`, or `"virtual"`.
2259
- */
2260
2519
  readonly type: "item" | "fluid" | "virtual"
2261
2520
  /**
2262
2521
  * Name of the item, fluid or virtual signal.
@@ -2265,7 +2524,7 @@ declare module "factorio:runtime" {
2265
2524
  }
2266
2525
  /**
2267
2526
  * An actual signal transmitted by the network.
2268
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#Signal Online documentation}
2527
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#Signal Online documentation}
2269
2528
  */
2270
2529
  export interface Signal {
2271
2530
  /**
@@ -2278,9 +2537,6 @@ declare module "factorio:runtime" {
2278
2537
  readonly count: int
2279
2538
  }
2280
2539
  export interface UpgradeFilter {
2281
- /**
2282
- * `"item"`, or `"entity"`.
2283
- */
2284
2540
  readonly type: "item" | "entity"
2285
2541
  /**
2286
2542
  * Name of the item, or entity.
@@ -2289,7 +2545,7 @@ declare module "factorio:runtime" {
2289
2545
  }
2290
2546
  /**
2291
2547
  * A single filter used by an infinity-filters instance.
2292
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#InfinityInventoryFilter Online documentation}
2548
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#InfinityInventoryFilter Online documentation}
2293
2549
  */
2294
2550
  export interface InfinityInventoryFilter {
2295
2551
  /**
@@ -2301,7 +2557,7 @@ declare module "factorio:runtime" {
2301
2557
  */
2302
2558
  readonly count?: uint
2303
2559
  /**
2304
- * `"at-least"`, `"at-most"`, or `"exactly"`. Defaults to `"at-least"`.
2560
+ * Defaults to `"at-least"`.
2305
2561
  */
2306
2562
  readonly mode?: "at-least" | "at-most" | "exactly"
2307
2563
  /**
@@ -2311,7 +2567,7 @@ declare module "factorio:runtime" {
2311
2567
  }
2312
2568
  /**
2313
2569
  * A single filter used by an infinity-pipe type entity.
2314
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#InfinityPipeFilter Online documentation}
2570
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#InfinityPipeFilter Online documentation}
2315
2571
  */
2316
2572
  export interface InfinityPipeFilter {
2317
2573
  /**
@@ -2319,7 +2575,7 @@ declare module "factorio:runtime" {
2319
2575
  */
2320
2576
  readonly name: string
2321
2577
  /**
2322
- * 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.
2323
2579
  */
2324
2580
  readonly percentage?: double
2325
2581
  /**
@@ -2327,7 +2583,7 @@ declare module "factorio:runtime" {
2327
2583
  */
2328
2584
  readonly temperature?: double
2329
2585
  /**
2330
- * `"at-least"`, `"at-most"`, `"exactly"`, `"add"`, or `"remove"`. Defaults to `"at-least"`.
2586
+ * Defaults to `"at-least"`.
2331
2587
  */
2332
2588
  readonly mode?: "at-least" | "at-most" | "exactly" | "add" | "remove"
2333
2589
  }
@@ -2365,7 +2621,7 @@ declare module "factorio:runtime" {
2365
2621
  }
2366
2622
  /**
2367
2623
  * The settings used by a heat-interface type entity.
2368
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#HeatSetting Online documentation}
2624
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#HeatSetting Online documentation}
2369
2625
  */
2370
2626
  export interface HeatSetting {
2371
2627
  /**
@@ -2373,7 +2629,7 @@ declare module "factorio:runtime" {
2373
2629
  */
2374
2630
  readonly temperature?: double
2375
2631
  /**
2376
- * `"at-least"`, `"at-most"`, `"exactly"`, `"add"`, or `"remove"`. Defaults to `"at-least"`.
2632
+ * Defaults to `"at-least"`.
2377
2633
  */
2378
2634
  readonly mode?: "at-least" | "at-most" | "exactly" | "add" | "remove"
2379
2635
  }
@@ -2383,12 +2639,9 @@ declare module "factorio:runtime" {
2383
2639
  }
2384
2640
  /**
2385
2641
  * A definition of a fluidbox connection point.
2386
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#FluidBoxConnection Online documentation}
2642
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#FluidBoxConnection Online documentation}
2387
2643
  */
2388
2644
  export interface FluidBoxConnection {
2389
- /**
2390
- * One of "input", "output", or "input-output".
2391
- */
2392
2645
  readonly type: "input" | "output" | "input-output"
2393
2646
  /**
2394
2647
  * The 4 cardinal direction connection points for this pipe. This vector is a table with `x` and `y` keys instead of an array.
@@ -2401,16 +2654,10 @@ declare module "factorio:runtime" {
2401
2654
  }
2402
2655
  /**
2403
2656
  * A single pipe connection for a given fluidbox.
2404
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#PipeConnection Online documentation}
2657
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#PipeConnection Online documentation}
2405
2658
  */
2406
2659
  export interface PipeConnection {
2407
- /**
2408
- * One of "input", "output", or "input-output".
2409
- */
2410
2660
  readonly flow_direction: "input" | "output" | "input-output"
2411
- /**
2412
- * One of "normal" or "underground".
2413
- */
2414
2661
  readonly connection_type: "normal" | "underground"
2415
2662
  /**
2416
2663
  * The absolute position of this connection within the entity.
@@ -2451,7 +2698,7 @@ declare module "factorio:runtime" {
2451
2698
  */
2452
2699
  readonly second_constant?: int
2453
2700
  /**
2454
- * Must be one of `"*"`, `"/"`, `"+"`, `"-"`, `"%"`, `"^"`, `"<<"`, `">>"`, `"AND"`, `"OR"`, `"XOR"`. When not specified, defaults to `"*"`.
2701
+ * When not specified, defaults to `"*"`.
2455
2702
  */
2456
2703
  readonly operation?: "*" | "/" | "+" | "-" | "%" | "^" | "<<" | ">>" | "AND" | "OR" | "XOR"
2457
2704
  /**
@@ -2487,14 +2734,14 @@ declare module "factorio:runtime" {
2487
2734
  * - `"≠"`: "not equal to"
2488
2735
  * - `"!="`: "not equal to"
2489
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.
2490
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#ComparatorString Online documentation}
2737
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#ComparatorString Online documentation}
2491
2738
  */
2492
2739
  export type ComparatorString = "=" | ">" | "<" | "≥" | ">=" | "≤" | "<=" | "≠" | "!="
2493
2740
  /** @see ComparatorString */
2494
2741
  export type ComparatorStringRead = "=" | ">" | "<" | "≥" | "≤" | "≠"
2495
2742
  /**
2496
2743
  * @see DeciderCombinatorParametersWrite
2497
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#DeciderCombinatorParameters Online documentation}
2744
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#DeciderCombinatorParameters Online documentation}
2498
2745
  */
2499
2746
  export interface DeciderCombinatorParameters {
2500
2747
  /**
@@ -2524,7 +2771,7 @@ declare module "factorio:runtime" {
2524
2771
  }
2525
2772
  /**
2526
2773
  * Write form of {@link DeciderCombinatorParameters}, where table-or-array concepts are allowed to take an array form.
2527
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#DeciderCombinatorParameters Online documentation}
2774
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#DeciderCombinatorParameters Online documentation}
2528
2775
  */
2529
2776
  export interface DeciderCombinatorParametersWrite {
2530
2777
  /**
@@ -2558,7 +2805,7 @@ declare module "factorio:runtime" {
2558
2805
  }
2559
2806
  /**
2560
2807
  * @see CircuitConditionWrite
2561
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#CircuitCondition Online documentation}
2808
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#CircuitCondition Online documentation}
2562
2809
  */
2563
2810
  export interface CircuitCondition {
2564
2811
  /**
@@ -2580,7 +2827,7 @@ declare module "factorio:runtime" {
2580
2827
  }
2581
2828
  /**
2582
2829
  * Write form of {@link CircuitCondition}, where table-or-array concepts are allowed to take an array form.
2583
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#CircuitCondition Online documentation}
2830
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#CircuitCondition Online documentation}
2584
2831
  */
2585
2832
  export interface CircuitConditionWrite {
2586
2833
  /**
@@ -2602,7 +2849,7 @@ declare module "factorio:runtime" {
2602
2849
  }
2603
2850
  /**
2604
2851
  * @see CircuitConditionDefinitionWrite
2605
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#CircuitConditionDefinition Online documentation}
2852
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#CircuitConditionDefinition Online documentation}
2606
2853
  */
2607
2854
  export interface CircuitConditionDefinition {
2608
2855
  readonly condition: CircuitCondition
@@ -2613,7 +2860,7 @@ declare module "factorio:runtime" {
2613
2860
  }
2614
2861
  /**
2615
2862
  * Write form of {@link CircuitConditionDefinition}, where table-or-array concepts are allowed to take an array form.
2616
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#CircuitConditionDefinition Online documentation}
2863
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#CircuitConditionDefinition Online documentation}
2617
2864
  */
2618
2865
  export interface CircuitConditionDefinitionWrite {
2619
2866
  readonly condition: CircuitConditionWrite
@@ -2929,7 +3176,7 @@ declare module "factorio:runtime" {
2929
3176
  * - {@link defines.command.stop}: {@link StopCommand}
2930
3177
  * - {@link defines.command.flee}: {@link FleeCommand}
2931
3178
  * - {@link defines.command.build_base}: {@link BuildBaseCommand}
2932
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#Command Online documentation}
3179
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#Command Online documentation}
2933
3180
  */
2934
3181
  export type Command =
2935
3182
  | AttackCommand
@@ -2943,7 +3190,7 @@ declare module "factorio:runtime" {
2943
3190
  | BuildBaseCommand
2944
3191
  /**
2945
3192
  * Write form of {@link Command}, where table-or-array concepts are allowed to take an array form.
2946
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#Command Online documentation}
3193
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#Command Online documentation}
2947
3194
  */
2948
3195
  export type CommandWrite =
2949
3196
  | AttackCommand
@@ -3039,7 +3286,7 @@ declare module "factorio:runtime" {
3039
3286
  * {name="copper-plate", count=47}
3040
3287
  * @example These are both full stacks of iron plates (for iron-plate, a full stack is 100 plates):
3041
3288
  * "iron-plate"
3042
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#SimpleItemStack Online documentation}
3289
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#SimpleItemStack Online documentation}
3043
3290
  */
3044
3291
  export type SimpleItemStack = string | ItemStackDefinition
3045
3292
  /**
@@ -3049,7 +3296,7 @@ declare module "factorio:runtime" {
3049
3296
  * - `string`: The fluid name.
3050
3297
  * - {@link LuaFluidPrototype}: The fluid prototype.
3051
3298
  * - {@link Fluid}: The fluid.
3052
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#FluidIdentification Online documentation}
3299
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#FluidIdentification Online documentation}
3053
3300
  */
3054
3301
  export type FluidIdentification = string | LuaFluidPrototype | Fluid
3055
3302
  /**
@@ -3059,7 +3306,7 @@ declare module "factorio:runtime" {
3059
3306
  * - ForceIndex: The force index.
3060
3307
  * - `string`: The force name.
3061
3308
  * - {@link LuaForce}: A reference to {@link LuaForce} may be passed directly.
3062
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#ForceIdentification Online documentation}
3309
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#ForceIdentification Online documentation}
3063
3310
  */
3064
3311
  export type ForceIdentification = ForceIndex | string | LuaForce
3065
3312
  /**
@@ -3069,7 +3316,7 @@ declare module "factorio:runtime" {
3069
3316
  * - `string`: The technology name.
3070
3317
  * - {@link LuaTechnology}: A reference to {@link LuaTechnology} may be passed directly.
3071
3318
  * - {@link LuaTechnologyPrototype}: A reference to {@link LuaTechnologyPrototype} may be passed directly.
3072
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#TechnologyIdentification Online documentation}
3319
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#TechnologyIdentification Online documentation}
3073
3320
  */
3074
3321
  export type TechnologyIdentification = string | LuaTechnology | LuaTechnologyPrototype
3075
3322
  /**
@@ -3079,7 +3326,7 @@ declare module "factorio:runtime" {
3079
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.
3080
3327
  * - `string`: It will be the surface name. E.g. `"nauvis"`.
3081
3328
  * - {@link LuaSurface}: A reference to {@link LuaSurface} may be passed directly.
3082
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#SurfaceIdentification Online documentation}
3329
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#SurfaceIdentification Online documentation}
3083
3330
  */
3084
3331
  export type SurfaceIdentification = SurfaceIndex | string | LuaSurface
3085
3332
  /**
@@ -3089,7 +3336,7 @@ declare module "factorio:runtime" {
3089
3336
  * - PlayerIndex: The player index.
3090
3337
  * - `string`: The player name.
3091
3338
  * - {@link LuaPlayer}: A reference to {@link LuaPlayer} may be passed directly.
3092
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#PlayerIdentification Online documentation}
3339
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#PlayerIdentification Online documentation}
3093
3340
  */
3094
3341
  export type PlayerIdentification = PlayerIndex | string | LuaPlayer
3095
3342
  /**
@@ -3098,7 +3345,7 @@ declare module "factorio:runtime" {
3098
3345
  * ## Union members
3099
3346
  * - {@link SimpleItemStack}
3100
3347
  * - {@link LuaItemStack}
3101
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#ItemStackIdentification Online documentation}
3348
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#ItemStackIdentification Online documentation}
3102
3349
  */
3103
3350
  export type ItemStackIdentification = SimpleItemStack | LuaItemStack
3104
3351
  /**
@@ -3108,7 +3355,7 @@ declare module "factorio:runtime" {
3108
3355
  * - {@link LuaEntity}: The entity.
3109
3356
  * - {@link LuaEntityPrototype}: The entity prototype.
3110
3357
  * - `string`: The prototype name.
3111
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#EntityPrototypeIdentification Online documentation}
3358
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#EntityPrototypeIdentification Online documentation}
3112
3359
  */
3113
3360
  export type EntityPrototypeIdentification = LuaEntity | LuaEntityPrototype | string
3114
3361
  /**
@@ -3118,30 +3365,44 @@ declare module "factorio:runtime" {
3118
3365
  * - {@link LuaItemStack}: The item.
3119
3366
  * - {@link LuaItemPrototype}: The item prototype.
3120
3367
  * - `string`: The prototype name.
3121
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#ItemPrototypeIdentification Online documentation}
3368
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#ItemPrototypeIdentification Online documentation}
3122
3369
  */
3123
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"
3124
3398
  /**
3125
3399
  * @see WaitConditionWrite
3126
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#WaitCondition Online documentation}
3400
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#WaitCondition Online documentation}
3127
3401
  */
3128
3402
  export interface WaitCondition {
3403
+ readonly type: WaitConditionType
3129
3404
  /**
3130
- * One of `"time"`, `"inactivity"`, `"full"`, `"empty"`, `"item_count"`, `"circuit"`, `"robots_inactive"`, `"fluid_count"`, `"passenger_present"`, `"passenger_not_present"`.
3131
- */
3132
- readonly type:
3133
- | "time"
3134
- | "inactivity"
3135
- | "full"
3136
- | "empty"
3137
- | "item_count"
3138
- | "circuit"
3139
- | "robots_inactive"
3140
- | "fluid_count"
3141
- | "passenger_present"
3142
- | "passenger_not_present"
3143
- /**
3144
- * 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.
3145
3406
  */
3146
3407
  readonly compare_type: "and" | "or"
3147
3408
  /**
@@ -3155,25 +3416,12 @@ declare module "factorio:runtime" {
3155
3416
  }
3156
3417
  /**
3157
3418
  * Write form of {@link WaitCondition}, where table-or-array concepts are allowed to take an array form.
3158
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#WaitCondition Online documentation}
3419
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#WaitCondition Online documentation}
3159
3420
  */
3160
3421
  export interface WaitConditionWrite {
3422
+ readonly type: WaitConditionType
3161
3423
  /**
3162
- * One of `"time"`, `"inactivity"`, `"full"`, `"empty"`, `"item_count"`, `"circuit"`, `"robots_inactive"`, `"fluid_count"`, `"passenger_present"`, `"passenger_not_present"`.
3163
- */
3164
- readonly type:
3165
- | "time"
3166
- | "inactivity"
3167
- | "full"
3168
- | "empty"
3169
- | "item_count"
3170
- | "circuit"
3171
- | "robots_inactive"
3172
- | "fluid_count"
3173
- | "passenger_present"
3174
- | "passenger_not_present"
3175
- /**
3176
- * 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.
3177
3425
  */
3178
3426
  readonly compare_type: "and" | "or"
3179
3427
  /**
@@ -3187,7 +3435,7 @@ declare module "factorio:runtime" {
3187
3435
  }
3188
3436
  /**
3189
3437
  * @see TrainScheduleRecordWrite
3190
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#TrainScheduleRecord Online documentation}
3438
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#TrainScheduleRecord Online documentation}
3191
3439
  */
3192
3440
  export interface TrainScheduleRecord {
3193
3441
  /**
@@ -3210,7 +3458,7 @@ declare module "factorio:runtime" {
3210
3458
  }
3211
3459
  /**
3212
3460
  * Write form of {@link TrainScheduleRecord}, where table-or-array concepts are allowed to take an array form.
3213
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#TrainScheduleRecord Online documentation}
3461
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#TrainScheduleRecord Online documentation}
3214
3462
  */
3215
3463
  export interface TrainScheduleRecordWrite {
3216
3464
  /**
@@ -3233,7 +3481,7 @@ declare module "factorio:runtime" {
3233
3481
  }
3234
3482
  /**
3235
3483
  * @see TrainScheduleWrite
3236
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#TrainSchedule Online documentation}
3484
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#TrainSchedule Online documentation}
3237
3485
  */
3238
3486
  export interface TrainSchedule {
3239
3487
  /**
@@ -3244,7 +3492,7 @@ declare module "factorio:runtime" {
3244
3492
  }
3245
3493
  /**
3246
3494
  * Write form of {@link TrainSchedule}, where table-or-array concepts are allowed to take an array form.
3247
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#TrainSchedule Online documentation}
3495
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#TrainSchedule Online documentation}
3248
3496
  */
3249
3497
  export interface TrainScheduleWrite {
3250
3498
  /**
@@ -3253,90 +3501,19 @@ declare module "factorio:runtime" {
3253
3501
  readonly current: uint
3254
3502
  readonly records: readonly TrainScheduleRecordWrite[]
3255
3503
  }
3256
- export interface BaseGuiArrowSpecification {
3257
- /**
3258
- * 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.
3259
- */
3260
- readonly type:
3261
- | "nowhere"
3262
- | "goal"
3263
- | "entity_info"
3264
- | "active_window"
3265
- | "entity"
3266
- | "position"
3267
- | "crafting_queue"
3268
- | "item_stack"
3269
- }
3270
3504
  /**
3271
- * `"entity"` variant of {@link GuiArrowSpecification}.
3272
- */
3273
- export interface EntityGuiArrowSpecification extends BaseGuiArrowSpecification {
3274
- readonly type: "entity"
3275
- readonly entity: LuaEntity
3276
- }
3277
- /**
3278
- * `"position"` variant of {@link GuiArrowSpecification}.
3279
- */
3280
- export interface PositionGuiArrowSpecification extends BaseGuiArrowSpecification {
3281
- readonly type: "position"
3282
- readonly position: MapPosition | MapPositionArray
3283
- }
3284
- /**
3285
- * `"crafting_queue"` variant of {@link GuiArrowSpecification}.
3286
- */
3287
- export interface CraftingQueueGuiArrowSpecification extends BaseGuiArrowSpecification {
3288
- readonly type: "crafting_queue"
3289
- /**
3290
- * Index in the crafting queue to point to.
3291
- */
3292
- readonly crafting_queueindex: uint
3293
- }
3294
- /**
3295
- * `"item_stack"` variant of {@link GuiArrowSpecification}.
3296
- */
3297
- export interface ItemStackGuiArrowSpecification extends BaseGuiArrowSpecification {
3298
- readonly type: "item_stack"
3299
- /**
3300
- * Which inventory the stack is in.
3301
- */
3302
- readonly inventory_index: defines.inventory
3303
- /**
3304
- * Which stack to point to.
3305
- */
3306
- readonly item_stack_index: uint
3307
- /**
3308
- * Must be either `"player"`, `"target"`, `"player-quickbar"` or `"player-equipment-bar"`.
3309
- */
3310
- readonly source: "player" | "target" | "player-quickbar" | "player-equipment-bar"
3311
- }
3312
- /**
3313
- * Variants of {@link GuiArrowSpecification} with no additional attributes.
3314
- */
3315
- export interface OtherGuiArrowSpecification extends BaseGuiArrowSpecification {
3316
- readonly type: "nowhere" | "goal" | "entity_info" | "active_window"
3317
- }
3318
- /**
3319
- * Used for specifying where a GUI arrow should point to.
3505
+ * Target type of an {@link AmmoType}.
3320
3506
  *
3321
- * Other attributes may be specified depending on `type`:
3322
- * - `"entity"`: {@link EntityGuiArrowSpecification}
3323
- * - `"position"`: {@link PositionGuiArrowSpecification}
3324
- * - `"crafting_queue"`: {@link CraftingQueueGuiArrowSpecification}
3325
- * - `"item_stack"`: {@link ItemStackGuiArrowSpecification}
3326
- * @see {@link https://lua-api.factorio.com/1.1.101/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}
3327
3512
  */
3328
- export type GuiArrowSpecification =
3329
- | EntityGuiArrowSpecification
3330
- | PositionGuiArrowSpecification
3331
- | CraftingQueueGuiArrowSpecification
3332
- | ItemStackGuiArrowSpecification
3333
- | OtherGuiArrowSpecification
3513
+ export type TargetType = "entity" | "position" | "direction"
3334
3514
  export interface AmmoType {
3335
3515
  readonly action?: TriggerItem[]
3336
- /**
3337
- * One of `"entity"` (fires at an entity), `"position"` (fires directly at a position), or `"direction"` (fires in a direction).
3338
- */
3339
- readonly target_type: "entity" | "position" | "direction"
3516
+ readonly target_type: TargetType
3340
3517
  /**
3341
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`.
3342
3519
  */
@@ -3398,7 +3575,7 @@ declare module "factorio:runtime" {
3398
3575
  * - `"equipment"`
3399
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.
3400
3577
  * - `"utility"` - sprite defined in the utility-sprites object, these are the pictures used by the game internally for the UI.
3401
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#SpritePath Online documentation}
3578
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#SpritePath Online documentation}
3402
3579
  */
3403
3580
  export type SpritePath =
3404
3581
  | (string & {
@@ -3448,7 +3625,7 @@ declare module "factorio:runtime" {
3448
3625
  * - `"entity-rotated"` - Uses {@link import("factorio:prototype").EntityPrototype#rotated_sound EntityPrototype::rotated_sound}
3449
3626
  * - `"entity-open"` - Uses {@link import("factorio:prototype").EntityPrototype#open_sound Entity::open_sound}
3450
3627
  * - `"entity-close"` - Uses {@link import("factorio:prototype").EntityPrototype#close_sound Entity::close_sound}
3451
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#SoundPath Online documentation}
3628
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#SoundPath Online documentation}
3452
3629
  */
3453
3630
  export type SoundPath =
3454
3631
  | (string & {
@@ -3467,7 +3644,7 @@ declare module "factorio:runtime" {
3467
3644
  * speed={bonus=-0.15},
3468
3645
  * productivity={bonus=0.06},
3469
3646
  * pollution={bonus=0.075}}
3470
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#ModuleEffects Online documentation}
3647
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#ModuleEffects Online documentation}
3471
3648
  */
3472
3649
  export interface ModuleEffects {
3473
3650
  readonly consumption?: ModuleEffectValue
@@ -3479,7 +3656,7 @@ declare module "factorio:runtime" {
3479
3656
  * A set of flags. Active flags are in the dictionary as `true`, while inactive flags aren't present at all.
3480
3657
  *
3481
3658
  * By default, none of these flags are set.
3482
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#EntityPrototypeFlags Online documentation}
3659
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#EntityPrototypeFlags Online documentation}
3483
3660
  */
3484
3661
  export type EntityPrototypeFlags = {
3485
3662
  readonly [T in EntityPrototypeFlag]?: true
@@ -3514,7 +3691,7 @@ declare module "factorio:runtime" {
3514
3691
  * - `"not-upgradable"`: Prevents the entity from being selected by the upgrade planner.
3515
3692
  * - `"not-in-kill-statistics"`: Prevents the entity from being shown in the kill statistics.
3516
3693
  * - `"not-in-made-in"`: Prevents the entity from being shown in the "made in" list in recipe tooltips.
3517
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#EntityPrototypeFlag Online documentation}
3694
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#EntityPrototypeFlag Online documentation}
3518
3695
  */
3519
3696
  export type EntityPrototypeFlag =
3520
3697
  | "not-rotatable"
@@ -3547,7 +3724,7 @@ declare module "factorio:runtime" {
3547
3724
  * A set of flags. Active flags are in the dictionary as `true`, while inactive flags aren't present at all.
3548
3725
  *
3549
3726
  * By default, none of these flags are set.
3550
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#ItemPrototypeFlags Online documentation}
3727
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#ItemPrototypeFlags Online documentation}
3551
3728
  */
3552
3729
  export type ItemPrototypeFlags = {
3553
3730
  readonly [T in ItemPrototypeFlag]?: true
@@ -3567,7 +3744,7 @@ declare module "factorio:runtime" {
3567
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.
3568
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.
3569
3746
  * - `"spawnable"`: Allows the item to be spawned by a quickbar shortcut or custom input.
3570
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#ItemPrototypeFlag Online documentation}
3747
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#ItemPrototypeFlag Online documentation}
3571
3748
  */
3572
3749
  export type ItemPrototypeFlag =
3573
3750
  | "draw-logistic-overlay"
@@ -3600,7 +3777,7 @@ declare module "factorio:runtime" {
3600
3777
  * - `"rail-layer"`
3601
3778
  * - `"transport-belt-layer"`
3602
3779
  * - `"not-setup"`
3603
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#CollisionMaskLayer Online documentation}
3780
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#CollisionMaskLayer Online documentation}
3604
3781
  */
3605
3782
  export type CollisionMaskLayer =
3606
3783
  | "ground-tile"
@@ -3619,7 +3796,7 @@ declare module "factorio:runtime" {
3619
3796
  | `layer-${bigint}`
3620
3797
  /**
3621
3798
  * A set of flags. Active flags are in the dictionary as `true`, while inactive flags aren't present at all.
3622
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#CollisionMask Online documentation}
3799
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#CollisionMask Online documentation}
3623
3800
  */
3624
3801
  export type CollisionMask = {
3625
3802
  readonly [T in CollisionMaskLayer]?: true
@@ -3632,7 +3809,7 @@ declare module "factorio:runtime" {
3632
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.
3633
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.
3634
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.
3635
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#CollisionMaskWithFlags Online documentation}
3812
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#CollisionMaskWithFlags Online documentation}
3636
3813
  */
3637
3814
  export type CollisionMaskWithFlags = {
3638
3815
  /**
@@ -3652,66 +3829,12 @@ declare module "factorio:runtime" {
3652
3829
  }
3653
3830
  /**
3654
3831
  * A set of trigger target masks.
3655
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#TriggerTargetMask Online documentation}
3832
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#TriggerTargetMask Online documentation}
3656
3833
  */
3657
3834
  export type TriggerTargetMask = Record<string, boolean>
3658
- export interface TriggerEffectItem {
3659
- /**
3660
- * 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"`.
3661
- */
3662
- readonly type:
3663
- | "damage"
3664
- | "create-entity"
3665
- | "create-explosion"
3666
- | "create-fire"
3667
- | "create-smoke"
3668
- | "create-trivial-smoke"
3669
- | "create-particle"
3670
- | "create-sticker"
3671
- | "nested-result"
3672
- | "play-sound"
3673
- | "push-back"
3674
- | "destroy-cliffs"
3675
- | "show-explosion-on-chart"
3676
- | "insert-item"
3677
- | "script"
3678
- readonly repeat_count: uint
3679
- readonly affects_target: boolean
3680
- readonly show_in_tooltip: boolean
3681
- }
3682
- export interface TriggerDelivery {
3683
- /**
3684
- * One of `"instant"`, `"projectile"`, `"flame-thrower"`, `"beam"`, `"stream"`, `"artillery"`.
3685
- */
3686
- readonly type: "instant" | "projectile" | "flame-thrower" | "beam" | "stream" | "artillery"
3687
- readonly source_effects: TriggerEffectItem[]
3688
- readonly target_effects: TriggerEffectItem[]
3689
- }
3690
- export interface TriggerItem {
3691
- /**
3692
- * One of `"direct"`, `"area"`, `"line"`, `"cluster"`.
3693
- */
3694
- readonly type: "direct" | "area" | "line" | "cluster"
3695
- readonly action_delivery?: TriggerDelivery[]
3696
- /**
3697
- * The trigger will only affect entities that contain any of these flags.
3698
- */
3699
- readonly entity_flags?: EntityPrototypeFlags
3700
- readonly ignore_collision_condition: boolean
3701
- /**
3702
- * The trigger will only affect entities that would collide with given collision mask.
3703
- */
3704
- readonly collision_mask: CollisionMask
3705
- readonly trigger_target_mask: TriggerTargetMask
3706
- /**
3707
- * 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"`.
3708
- */
3709
- readonly force: ForceCondition
3710
- readonly repeat_count: uint
3711
- }
3712
3835
  export interface CircularParticleCreationSpecification {
3713
3836
  /**
3714
- * Name of the {@link LuaEntityPrototype}
3837
+ * Name of the {@link LuaEntityPrototype}.
3715
3838
  */
3716
3839
  readonly name: string
3717
3840
  readonly direction: float
@@ -3732,7 +3855,7 @@ declare module "factorio:runtime" {
3732
3855
  readonly creation_distance_orientation: double
3733
3856
  readonly use_source_position: boolean
3734
3857
  }
3735
- export type CircularProjectileCreationSpecification = readonly [_: RealOrientation, _: Vector]
3858
+ export type CircularProjectileCreationSpecification = readonly [_1: RealOrientation, _2: Vector]
3736
3859
  export interface AttackParameterFluid {
3737
3860
  /**
3738
3861
  * Name of the {@link LuaFluidPrototype}.
@@ -3748,7 +3871,7 @@ declare module "factorio:runtime" {
3748
3871
  */
3749
3872
  export interface BaseAttackParameters {
3750
3873
  /**
3751
- * The type of AttackParameter. One of `'projectile'`, `'stream'` or `'beam'`.
3874
+ * The type of AttackParameter.
3752
3875
  */
3753
3876
  readonly type: "projectile" | "stream" | "beam"
3754
3877
  /**
@@ -3760,7 +3883,7 @@ declare module "factorio:runtime" {
3760
3883
  */
3761
3884
  readonly min_range: float
3762
3885
  /**
3763
- * Defines how the range is determined. Either `'center-to-center'` or `'bounding-box-to-bounding-box'`.
3886
+ * Defines how the range is determined.
3764
3887
  */
3765
3888
  readonly range_mode: "center-to-center" | "bounding-box-to-bounding-box"
3766
3889
  /**
@@ -3841,7 +3964,7 @@ declare module "factorio:runtime" {
3841
3964
  * Other attributes may be specified depending on `type`:
3842
3965
  * - `"projectile"`: {@link ProjectileAttackParameters}
3843
3966
  * - `"stream"`: {@link StreamAttackParameters}
3844
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#AttackParameters Online documentation}
3967
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#AttackParameters Online documentation}
3845
3968
  */
3846
3969
  export type AttackParameters = ProjectileAttackParameters | StreamAttackParameters | OtherAttackParameters
3847
3970
  export interface GunShift4Way {
@@ -3851,9 +3974,6 @@ declare module "factorio:runtime" {
3851
3974
  readonly west: Vector
3852
3975
  }
3853
3976
  export interface BaseCapsuleAction {
3854
- /**
3855
- * One of `"throw"`, `"equipment-remote"`, `"use-on-self"`, `"artillery-remote"`, `"destroy-cliffs"`.
3856
- */
3857
3977
  readonly type: "throw" | "equipment-remote" | "use-on-self" | "artillery-remote" | "destroy-cliffs"
3858
3978
  }
3859
3979
  /**
@@ -3910,7 +4030,7 @@ declare module "factorio:runtime" {
3910
4030
  * - `"use-on-self"`: {@link UseOnSelfCapsuleAction}
3911
4031
  * - `"artillery-remote"`: {@link ArtilleryRemoteCapsuleAction}
3912
4032
  * - `"destroy-cliffs"`: {@link DestroyCliffsCapsuleAction}
3913
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#CapsuleAction Online documentation}
4033
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#CapsuleAction Online documentation}
3914
4034
  */
3915
4035
  export type CapsuleAction =
3916
4036
  | ThrowCapsuleAction
@@ -3946,7 +4066,7 @@ declare module "factorio:runtime" {
3946
4066
  * - `"avoid-rolling-stock"`: Selects entities that are not `rolling-stock`s.
3947
4067
  * - `"entity-ghost"`: Selects entities that are `entity-ghost`s.
3948
4068
  * - `"tile-ghost"`: Selects entities that are `tile-ghost`s.
3949
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#SelectionModeFlags Online documentation}
4069
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#SelectionModeFlags Online documentation}
3950
4070
  */
3951
4071
  export interface SelectionModeFlags {
3952
4072
  /**
@@ -4095,12 +4215,12 @@ declare module "factorio:runtime" {
4095
4215
  }
4096
4216
  /**
4097
4217
  * Any basic type (string, number, boolean) or table.
4098
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#AnyBasic Online documentation}
4218
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#AnyBasic Online documentation}
4099
4219
  */
4100
4220
  export type AnyBasic = string | boolean | number | table
4101
4221
  /**
4102
4222
  * Any basic type (string, number, boolean), table, or LuaObject.
4103
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#Any Online documentation}
4223
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#Any Online documentation}
4104
4224
  */
4105
4225
  export type Any = string | boolean | number | table | LuaObject
4106
4226
  export interface ProgrammableSpeakerParameters {
@@ -4138,7 +4258,7 @@ declare module "factorio:runtime" {
4138
4258
  * - `"top-right"`
4139
4259
  * - `"right"`: The same as `"middle-right"`
4140
4260
  * - `"bottom-right"`
4141
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#Alignment Online documentation}
4261
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#Alignment Online documentation}
4142
4262
  */
4143
4263
  export type Alignment =
4144
4264
  | "top-left"
@@ -4153,8 +4273,8 @@ declare module "factorio:runtime" {
4153
4273
  | "right"
4154
4274
  | "bottom-right"
4155
4275
  /**
4156
- * 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.101/events.html the list of Factorio events} for more information on these.
4157
- * @see {@link https://lua-api.factorio.com/1.1.101/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}
4158
4278
  */
4159
4279
  export interface EventData {
4160
4280
  /**
@@ -4236,11 +4356,11 @@ declare module "factorio:runtime" {
4236
4356
  */
4237
4357
  readonly base_type: string
4238
4358
  /**
4239
- * E.g. `"tree"`.
4359
+ * The `type` of the prototype. E.g. `"tree"`.
4240
4360
  */
4241
4361
  readonly derived_type: string
4242
4362
  /**
4243
- * E.g. `"tree-05"`.
4363
+ * The `name` of the prototype. E.g. `"tree-05"`.
4244
4364
  */
4245
4365
  readonly name: string
4246
4366
  }
@@ -4264,7 +4384,7 @@ declare module "factorio:runtime" {
4264
4384
  * - `"button-7"`
4265
4385
  * - `"button-8"`
4266
4386
  * - `"button-9"`
4267
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#MouseButtonFlags Online documentation}
4387
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#MouseButtonFlags Online documentation}
4268
4388
  */
4269
4389
  export interface MouseButtonFlags {
4270
4390
  readonly left?: true
@@ -4279,27 +4399,6 @@ declare module "factorio:runtime" {
4279
4399
  }
4280
4400
  /** @see MouseButtonFlags */
4281
4401
  export type MouseButtonFlagsWrite = MouseButtonFlags | ReadonlyArray<keyof MouseButtonFlags | "left-and-right">
4282
- /**
4283
- * ## Union members
4284
- * - `"entity"`: Yellow box.
4285
- * - `"not-allowed"`: Red box.
4286
- * - `"electricity"`: Light blue box.
4287
- * - `"pair"`: Light blue box.
4288
- * - `"copy"`: Green box.
4289
- * - `"train-visualization"`: White box.
4290
- * - `"logistics"`: Light blue box.
4291
- * - `"blueprint-snap-rectangle"`: Green box.
4292
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#CursorBoxRenderType Online documentation}
4293
- */
4294
- export type CursorBoxRenderType =
4295
- | "entity"
4296
- | "not-allowed"
4297
- | "electricity"
4298
- | "pair"
4299
- | "copy"
4300
- | "train-visualization"
4301
- | "logistics"
4302
- | "blueprint-snap-rectangle"
4303
4402
  /**
4304
4403
  * ## Union members
4305
4404
  * - `"all"`: All forces pass.
@@ -4309,7 +4408,7 @@ declare module "factorio:runtime" {
4309
4408
  * - `"not-friend"`: Forces which are not friends pass.
4310
4409
  * - `"same"`: The same force pass.
4311
4410
  * - `"not-same"`: The non-same forces pass.
4312
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#ForceCondition Online documentation}
4411
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#ForceCondition Online documentation}
4313
4412
  */
4314
4413
  export type ForceCondition = "all" | "enemy" | "ally" | "friend" | "not-friend" | "same" | "not-same"
4315
4414
  /**
@@ -4360,7 +4459,7 @@ declare module "factorio:runtime" {
4360
4459
  * - `"collision-selection-box"`: 189
4361
4460
  * - `"arrow"`: 190
4362
4461
  * - `"cursor"`: 210
4363
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#RenderLayer Online documentation}
4462
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#RenderLayer Online documentation}
4364
4463
  */
4365
4464
  export type RenderLayer =
4366
4465
  | `${bigint}`
@@ -4426,7 +4525,7 @@ declare module "factorio:runtime" {
4426
4525
  * - `"walking"`
4427
4526
  * - `"alert"`
4428
4527
  * - `"wind"`
4429
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#SoundType Online documentation}
4528
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#SoundType Online documentation}
4430
4529
  */
4431
4530
  export type SoundType = "game-effect" | "gui-effect" | "ambient" | "environment" | "walking" | "alert" | "wind"
4432
4531
  /**
@@ -4456,7 +4555,7 @@ declare module "factorio:runtime" {
4456
4555
  * - `"tabbed-pane"`: A collection of `tab`s and their contents. Relevant event: {@link OnGuiSelectedTabChangedEvent on_gui_selected_tab_changed}
4457
4556
  * - `"tab"`: A tab for use in a `tabbed-pane`.
4458
4557
  * - `"switch"`: A switch with three possible states. Can have labels attached to either side. Relevant event: {@link OnGuiSwitchStateChangedEvent on_gui_switch_state_changed}
4459
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#GuiElementType Online documentation}
4558
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#GuiElementType Online documentation}
4460
4559
  */
4461
4560
  export type GuiElementType =
4462
4561
  | "button"
@@ -4485,16 +4584,18 @@ declare module "factorio:runtime" {
4485
4584
  | "tab"
4486
4585
  | "switch"
4487
4586
  /**
4587
+ * Used by {@link GuiArrowSpecification}.
4588
+ *
4488
4589
  * ## Union members
4489
- * - `"nowhere"`
4490
- * - `"goal"`
4590
+ * - `"nowhere"`: Will remove the arrow entirely.
4591
+ * - `"goal"`: Will point to the current goal.
4491
4592
  * - `"entity_info"`
4492
4593
  * - `"active_window"`
4493
4594
  * - `"entity"`
4494
4595
  * - `"position"`
4495
4596
  * - `"crafting_queue"`
4496
- * - `"item_stack"`
4497
- * @see {@link https://lua-api.factorio.com/1.1.101/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}
4498
4599
  */
4499
4600
  export type GuiArrowType =
4500
4601
  | "nowhere"
@@ -4505,6 +4606,31 @@ declare module "factorio:runtime" {
4505
4606
  | "position"
4506
4607
  | "crafting_queue"
4507
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"
4508
4634
  /**
4509
4635
  * Types `"signal"` and `"item-group"` do not support filters.
4510
4636
  *
@@ -4520,7 +4646,7 @@ declare module "factorio:runtime" {
4520
4646
  * - TechnologyPrototypeFilter: for type `"technology"`
4521
4647
  * @see PrototypeFilterWrite
4522
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.
4523
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#PrototypeFilter Online documentation}
4649
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#PrototypeFilter Online documentation}
4524
4650
  */
4525
4651
  export type PrototypeFilter = (
4526
4652
  | ItemPrototypeFilter
@@ -4535,7 +4661,7 @@ declare module "factorio:runtime" {
4535
4661
  )[]
4536
4662
  /**
4537
4663
  * Write form of {@link PrototypeFilter}, where table-or-array concepts are allowed to take an array form.
4538
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#PrototypeFilter Online documentation}
4664
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#PrototypeFilter Online documentation}
4539
4665
  */
4540
4666
  export type PrototypeFilterWrite = readonly (
4541
4667
  | ItemPrototypeFilterWrite
@@ -4580,7 +4706,7 @@ declare module "factorio:runtime" {
4580
4706
  | "fuel-top-speed-multiplier"
4581
4707
  | "fuel-emissions-multiplier"
4582
4708
  /**
4583
- * 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"`.
4584
4710
  */
4585
4711
  readonly mode?: "or" | "and"
4586
4712
  /**
@@ -4682,10 +4808,7 @@ declare module "factorio:runtime" {
4682
4808
  */
4683
4809
  export interface FlagItemPrototypeFilter extends BaseItemPrototypeFilter {
4684
4810
  readonly filter: "flag"
4685
- /**
4686
- * One of the values in {@link ItemPrototypeFlags}.
4687
- */
4688
- readonly flag: keyof ItemPrototypeFlags
4811
+ readonly flag: ItemPrototypeFlag
4689
4812
  }
4690
4813
  /**
4691
4814
  * `"subgroup"` variant of {@link ItemPrototypeFilter}.
@@ -4881,7 +5004,7 @@ declare module "factorio:runtime" {
4881
5004
  * - `"fuel-acceleration-multiplier"`: {@link FuelAccelerationMultiplierItemPrototypeFilter}
4882
5005
  * - `"fuel-top-speed-multiplier"`: {@link FuelTopSpeedMultiplierItemPrototypeFilter}
4883
5006
  * - `"fuel-emissions-multiplier"`: {@link FuelEmissionsMultiplierItemPrototypeFilter}
4884
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#ItemPrototypeFilter Online documentation}
5007
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#ItemPrototypeFilter Online documentation}
4885
5008
  */
4886
5009
  export type ItemPrototypeFilter =
4887
5010
  | PlaceResultItemPrototypeFilter
@@ -4903,7 +5026,7 @@ declare module "factorio:runtime" {
4903
5026
  | OtherItemPrototypeFilter
4904
5027
  /**
4905
5028
  * Write form of {@link ItemPrototypeFilter}, where table-or-array concepts are allowed to take an array form.
4906
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#ItemPrototypeFilter Online documentation}
5029
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#ItemPrototypeFilter Online documentation}
4907
5030
  */
4908
5031
  export type ItemPrototypeFilterWrite =
4909
5032
  | PlaceResultItemPrototypeFilterWrite
@@ -4932,7 +5055,7 @@ declare module "factorio:runtime" {
4932
5055
  */
4933
5056
  readonly filter: "type" | "mod" | "setting-type"
4934
5057
  /**
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"`.
5058
+ * How to combine this with the previous filter. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
4936
5059
  */
4937
5060
  readonly mode?: "or" | "and"
4938
5061
  /**
@@ -4979,7 +5102,7 @@ declare module "factorio:runtime" {
4979
5102
  * - `"type"`: {@link TypeModSettingPrototypeFilter}
4980
5103
  * - `"mod"`: {@link ModModSettingPrototypeFilter}
4981
5104
  * - `"setting-type"`: {@link SettingTypeModSettingPrototypeFilter}
4982
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#ModSettingPrototypeFilter Online documentation}
5105
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#ModSettingPrototypeFilter Online documentation}
4983
5106
  */
4984
5107
  export type ModSettingPrototypeFilter =
4985
5108
  | TypeModSettingPrototypeFilter
@@ -5005,7 +5128,7 @@ declare module "factorio:runtime" {
5005
5128
  | "max-level"
5006
5129
  | "time"
5007
5130
  /**
5008
- * 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"`.
5009
5132
  */
5010
5133
  readonly mode?: "or" | "and"
5011
5134
  /**
@@ -5107,7 +5230,7 @@ declare module "factorio:runtime" {
5107
5230
  * - `"level"`: {@link LevelTechnologyPrototypeFilter}
5108
5231
  * - `"max-level"`: {@link MaxLevelTechnologyPrototypeFilter}
5109
5232
  * - `"time"`: {@link TimeTechnologyPrototypeFilter}
5110
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#TechnologyPrototypeFilter Online documentation}
5233
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#TechnologyPrototypeFilter Online documentation}
5111
5234
  */
5112
5235
  export type TechnologyPrototypeFilter =
5113
5236
  | ResearchUnitIngredientTechnologyPrototypeFilter
@@ -5118,7 +5241,7 @@ declare module "factorio:runtime" {
5118
5241
  | OtherTechnologyPrototypeFilter
5119
5242
  /**
5120
5243
  * Write form of {@link TechnologyPrototypeFilter}, where table-or-array concepts are allowed to take an array form.
5121
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#TechnologyPrototypeFilter Online documentation}
5244
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#TechnologyPrototypeFilter Online documentation}
5122
5245
  */
5123
5246
  export type TechnologyPrototypeFilterWrite =
5124
5247
  | ResearchUnitIngredientTechnologyPrototypeFilter
@@ -5136,7 +5259,7 @@ declare module "factorio:runtime" {
5136
5259
  */
5137
5260
  readonly filter: "decal" | "autoplace" | "collision-mask"
5138
5261
  /**
5139
- * 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"`.
5140
5263
  */
5141
5264
  readonly mode?: "or" | "and"
5142
5265
  /**
@@ -5168,7 +5291,7 @@ declare module "factorio:runtime" {
5168
5291
  *
5169
5292
  * Other attributes may be specified depending on `filter`:
5170
5293
  * - `"collision-mask"`: {@link CollisionMaskDecorativePrototypeFilter}
5171
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#DecorativePrototypeFilter Online documentation}
5294
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#DecorativePrototypeFilter Online documentation}
5172
5295
  */
5173
5296
  export type DecorativePrototypeFilter = CollisionMaskDecorativePrototypeFilter | OtherDecorativePrototypeFilter
5174
5297
  /**
@@ -5180,7 +5303,7 @@ declare module "factorio:runtime" {
5180
5303
  */
5181
5304
  readonly filter: "allowed-without-fight" | "type"
5182
5305
  /**
5183
- * 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"`.
5184
5307
  */
5185
5308
  readonly mode?: "or" | "and"
5186
5309
  /**
@@ -5211,7 +5334,7 @@ declare module "factorio:runtime" {
5211
5334
  *
5212
5335
  * Other attributes may be specified depending on `filter`:
5213
5336
  * - `"type"`: {@link TypeAchievementPrototypeFilter}
5214
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#AchievementPrototypeFilter Online documentation}
5337
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#AchievementPrototypeFilter Online documentation}
5215
5338
  */
5216
5339
  export type AchievementPrototypeFilter = TypeAchievementPrototypeFilter | OtherAchievementPrototypeFilter
5217
5340
  /**
@@ -5232,7 +5355,7 @@ declare module "factorio:runtime" {
5232
5355
  | "emissions-multiplier"
5233
5356
  | "gas-temperature"
5234
5357
  /**
5235
- * 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"`.
5236
5359
  */
5237
5360
  readonly mode?: "or" | "and"
5238
5361
  /**
@@ -5396,7 +5519,7 @@ declare module "factorio:runtime" {
5396
5519
  * - `"fuel-value"`: {@link FuelValueFluidPrototypeFilter}
5397
5520
  * - `"emissions-multiplier"`: {@link EmissionsMultiplierFluidPrototypeFilter}
5398
5521
  * - `"gas-temperature"`: {@link GasTemperatureFluidPrototypeFilter}
5399
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#FluidPrototypeFilter Online documentation}
5522
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#FluidPrototypeFilter Online documentation}
5400
5523
  */
5401
5524
  export type FluidPrototypeFilter =
5402
5525
  | NameFluidPrototypeFilter
@@ -5410,7 +5533,7 @@ declare module "factorio:runtime" {
5410
5533
  | OtherFluidPrototypeFilter
5411
5534
  /**
5412
5535
  * Write form of {@link FluidPrototypeFilter}, where table-or-array concepts are allowed to take an array form.
5413
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#FluidPrototypeFilter Online documentation}
5536
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#FluidPrototypeFilter Online documentation}
5414
5537
  */
5415
5538
  export type FluidPrototypeFilterWrite =
5416
5539
  | NameFluidPrototypeFilter
@@ -5431,7 +5554,7 @@ declare module "factorio:runtime" {
5431
5554
  */
5432
5555
  readonly filter: "item-to-place" | "type"
5433
5556
  /**
5434
- * 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"`.
5435
5558
  */
5436
5559
  readonly mode?: "or" | "and"
5437
5560
  /**
@@ -5462,7 +5585,7 @@ declare module "factorio:runtime" {
5462
5585
  *
5463
5586
  * Other attributes may be specified depending on `filter`:
5464
5587
  * - `"type"`: {@link TypeEquipmentPrototypeFilter}
5465
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#EquipmentPrototypeFilter Online documentation}
5588
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#EquipmentPrototypeFilter Online documentation}
5466
5589
  */
5467
5590
  export type EquipmentPrototypeFilter = TypeEquipmentPrototypeFilter | OtherEquipmentPrototypeFilter
5468
5591
  /**
@@ -5483,7 +5606,7 @@ declare module "factorio:runtime" {
5483
5606
  | "decorative-removal-probability"
5484
5607
  | "emissions"
5485
5608
  /**
5486
- * 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"`.
5487
5610
  */
5488
5611
  readonly mode?: "or" | "and"
5489
5612
  /**
@@ -5595,7 +5718,7 @@ declare module "factorio:runtime" {
5595
5718
  * - `"vehicle-friction-modifier"`: {@link VehicleFrictionModifierTilePrototypeFilter}
5596
5719
  * - `"decorative-removal-probability"`: {@link DecorativeRemovalProbabilityTilePrototypeFilter}
5597
5720
  * - `"emissions"`: {@link EmissionsTilePrototypeFilter}
5598
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#TilePrototypeFilter Online documentation}
5721
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#TilePrototypeFilter Online documentation}
5599
5722
  */
5600
5723
  export type TilePrototypeFilter =
5601
5724
  | CollisionMaskTilePrototypeFilter
@@ -5606,7 +5729,7 @@ declare module "factorio:runtime" {
5606
5729
  | OtherTilePrototypeFilter
5607
5730
  /**
5608
5731
  * Write form of {@link TilePrototypeFilter}, where table-or-array concepts are allowed to take an array form.
5609
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#TilePrototypeFilter Online documentation}
5732
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#TilePrototypeFilter Online documentation}
5610
5733
  */
5611
5734
  export type TilePrototypeFilterWrite =
5612
5735
  | CollisionMaskTilePrototypeFilter
@@ -5646,7 +5769,7 @@ declare module "factorio:runtime" {
5646
5769
  | "request-paste-multiplier"
5647
5770
  | "overload-multiplier"
5648
5771
  /**
5649
- * 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"`.
5650
5773
  */
5651
5774
  readonly mode?: "or" | "and"
5652
5775
  /**
@@ -5870,7 +5993,7 @@ declare module "factorio:runtime" {
5870
5993
  * - `"emissions-multiplier"`: {@link EmissionsMultiplierRecipePrototypeFilter}
5871
5994
  * - `"request-paste-multiplier"`: {@link RequestPasteMultiplierRecipePrototypeFilter}
5872
5995
  * - `"overload-multiplier"`: {@link OverloadMultiplierRecipePrototypeFilter}
5873
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#RecipePrototypeFilter Online documentation}
5996
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#RecipePrototypeFilter Online documentation}
5874
5997
  */
5875
5998
  export type RecipePrototypeFilter =
5876
5999
  | HasIngredientItemRecipePrototypeFilter
@@ -5886,7 +6009,7 @@ declare module "factorio:runtime" {
5886
6009
  | OtherRecipePrototypeFilter
5887
6010
  /**
5888
6011
  * Write form of {@link RecipePrototypeFilter}, where table-or-array concepts are allowed to take an array form.
5889
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#RecipePrototypeFilter Online documentation}
6012
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#RecipePrototypeFilter Online documentation}
5890
6013
  */
5891
6014
  export type RecipePrototypeFilterWrite =
5892
6015
  | HasIngredientItemRecipePrototypeFilterWrite
@@ -5942,7 +6065,7 @@ declare module "factorio:runtime" {
5942
6065
  | "emissions"
5943
6066
  | "crafting-category"
5944
6067
  /**
5945
- * 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"`.
5946
6069
  */
5947
6070
  readonly mode?: "or" | "and"
5948
6071
  /**
@@ -5990,9 +6113,6 @@ declare module "factorio:runtime" {
5990
6113
  export interface CollisionMaskEntityPrototypeFilter extends BaseEntityPrototypeFilter {
5991
6114
  readonly filter: "collision-mask"
5992
6115
  readonly mask: CollisionMask | CollisionMaskWithFlags
5993
- /**
5994
- * How to filter: `"collides"`, `"layers-equals"`, `"contains-any"` or `"contains-all"`
5995
- */
5996
6116
  readonly mask_mode: "collides" | "layers-equals" | "contains-any" | "contains-all"
5997
6117
  }
5998
6118
  /**
@@ -6006,10 +6126,7 @@ declare module "factorio:runtime" {
6006
6126
  */
6007
6127
  export interface FlagEntityPrototypeFilter extends BaseEntityPrototypeFilter {
6008
6128
  readonly filter: "flag"
6009
- /**
6010
- * One of the values in {@link EntityPrototypeFlags}.
6011
- */
6012
- readonly flag: keyof EntityPrototypeFlags
6129
+ readonly flag: EntityPrototypeFlag
6013
6130
  }
6014
6131
  /**
6015
6132
  * `"build-base-evolution-requirement"` variant of {@link EntityPrototypeFilter}.
@@ -6074,7 +6191,7 @@ declare module "factorio:runtime" {
6074
6191
  export interface CraftingCategoryEntityPrototypeFilter extends BaseEntityPrototypeFilter {
6075
6192
  readonly filter: "crafting-category"
6076
6193
  /**
6077
- * 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}.
6078
6195
  */
6079
6196
  readonly crafting_category: string
6080
6197
  }
@@ -6123,7 +6240,7 @@ declare module "factorio:runtime" {
6123
6240
  * - `"selection-priority"`: {@link SelectionPriorityEntityPrototypeFilter}
6124
6241
  * - `"emissions"`: {@link EmissionsEntityPrototypeFilter}
6125
6242
  * - `"crafting-category"`: {@link CraftingCategoryEntityPrototypeFilter}
6126
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#EntityPrototypeFilter Online documentation}
6243
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#EntityPrototypeFilter Online documentation}
6127
6244
  */
6128
6245
  export type EntityPrototypeFilter =
6129
6246
  | NameEntityPrototypeFilter
@@ -6137,7 +6254,7 @@ declare module "factorio:runtime" {
6137
6254
  | OtherEntityPrototypeFilter
6138
6255
  /**
6139
6256
  * Write form of {@link EntityPrototypeFilter}, where table-or-array concepts are allowed to take an array form.
6140
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#EntityPrototypeFilter Online documentation}
6257
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#EntityPrototypeFilter Online documentation}
6141
6258
  */
6142
6259
  export type EntityPrototypeFilterWrite =
6143
6260
  | NameEntityPrototypeFilter
@@ -6176,7 +6293,7 @@ declare module "factorio:runtime" {
6176
6293
  * - {@link LuaPlayerRepairedEntityEventFilter}
6177
6294
  * @see EventFilterWrite
6178
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.
6179
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#EventFilter Online documentation}
6296
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#EventFilter Online documentation}
6180
6297
  */
6181
6298
  export type EventFilter = (
6182
6299
  | LuaEntityClonedEventFilter
@@ -6203,7 +6320,7 @@ declare module "factorio:runtime" {
6203
6320
  )[]
6204
6321
  /**
6205
6322
  * Write form of {@link EventFilter}, where table-or-array concepts are allowed to take an array form.
6206
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#EventFilter Online documentation}
6323
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#EventFilter Online documentation}
6207
6324
  */
6208
6325
  export type EventFilterWrite = readonly (
6209
6326
  | LuaEntityClonedEventFilter
@@ -6228,10 +6345,6 @@ declare module "factorio:runtime" {
6228
6345
  | LuaPlayerBuiltEntityEventFilter
6229
6346
  | LuaPlayerRepairedEntityEventFilter
6230
6347
  )[]
6231
- export interface RollingStockDrawData {
6232
- readonly position: MapPosition
6233
- readonly orientaton: RealOrientation
6234
- }
6235
6348
  /**
6236
6349
  * Common attributes to all variants of {@link LuaScriptRaisedReviveEventFilter}.
6237
6350
  */
@@ -6256,7 +6369,7 @@ declare module "factorio:runtime" {
6256
6369
  | "ghost_type"
6257
6370
  | "ghost_name"
6258
6371
  /**
6259
- * 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"`.
6260
6373
  */
6261
6374
  readonly mode?: "or" | "and"
6262
6375
  /**
@@ -6331,7 +6444,7 @@ declare module "factorio:runtime" {
6331
6444
  * - `"name"`: {@link NameScriptRaisedReviveEventFilter}
6332
6445
  * - `"ghost_type"`: {@link GhostTypeScriptRaisedReviveEventFilter}
6333
6446
  * - `"ghost_name"`: {@link GhostNameScriptRaisedReviveEventFilter}
6334
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#LuaScriptRaisedReviveEventFilter Online documentation}
6447
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#LuaScriptRaisedReviveEventFilter Online documentation}
6335
6448
  */
6336
6449
  export type LuaScriptRaisedReviveEventFilter =
6337
6450
  | TypeScriptRaisedReviveEventFilter
@@ -6363,7 +6476,7 @@ declare module "factorio:runtime" {
6363
6476
  | "ghost_type"
6364
6477
  | "ghost_name"
6365
6478
  /**
6366
- * 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"`.
6367
6480
  */
6368
6481
  readonly mode?: "or" | "and"
6369
6482
  /**
@@ -6438,7 +6551,7 @@ declare module "factorio:runtime" {
6438
6551
  * - `"name"`: {@link NameEntityDiedEventFilter}
6439
6552
  * - `"ghost_type"`: {@link GhostTypeEntityDiedEventFilter}
6440
6553
  * - `"ghost_name"`: {@link GhostNameEntityDiedEventFilter}
6441
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#LuaEntityDiedEventFilter Online documentation}
6554
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#LuaEntityDiedEventFilter Online documentation}
6442
6555
  */
6443
6556
  export type LuaEntityDiedEventFilter =
6444
6557
  | TypeEntityDiedEventFilter
@@ -6470,7 +6583,7 @@ declare module "factorio:runtime" {
6470
6583
  | "ghost_type"
6471
6584
  | "ghost_name"
6472
6585
  /**
6473
- * 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"`.
6474
6587
  */
6475
6588
  readonly mode?: "or" | "and"
6476
6589
  /**
@@ -6547,7 +6660,7 @@ declare module "factorio:runtime" {
6547
6660
  * - `"name"`: {@link NameEntityMarkedForDeconstructionEventFilter}
6548
6661
  * - `"ghost_type"`: {@link GhostTypeEntityMarkedForDeconstructionEventFilter}
6549
6662
  * - `"ghost_name"`: {@link GhostNameEntityMarkedForDeconstructionEventFilter}
6550
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#LuaEntityMarkedForDeconstructionEventFilter Online documentation}
6663
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#LuaEntityMarkedForDeconstructionEventFilter Online documentation}
6551
6664
  */
6552
6665
  export type LuaEntityMarkedForDeconstructionEventFilter =
6553
6666
  | TypeEntityMarkedForDeconstructionEventFilter
@@ -6579,7 +6692,7 @@ declare module "factorio:runtime" {
6579
6692
  | "ghost_type"
6580
6693
  | "ghost_name"
6581
6694
  /**
6582
- * 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"`.
6583
6696
  */
6584
6697
  readonly mode?: "or" | "and"
6585
6698
  /**
@@ -6654,7 +6767,7 @@ declare module "factorio:runtime" {
6654
6767
  * - `"name"`: {@link NamePreGhostDeconstructedEventFilter}
6655
6768
  * - `"ghost_type"`: {@link GhostTypePreGhostDeconstructedEventFilter}
6656
6769
  * - `"ghost_name"`: {@link GhostNamePreGhostDeconstructedEventFilter}
6657
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#LuaPreGhostDeconstructedEventFilter Online documentation}
6770
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#LuaPreGhostDeconstructedEventFilter Online documentation}
6658
6771
  */
6659
6772
  export type LuaPreGhostDeconstructedEventFilter =
6660
6773
  | TypePreGhostDeconstructedEventFilter
@@ -6686,7 +6799,7 @@ declare module "factorio:runtime" {
6686
6799
  | "ghost_type"
6687
6800
  | "ghost_name"
6688
6801
  /**
6689
- * 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"`.
6690
6803
  */
6691
6804
  readonly mode?: "or" | "and"
6692
6805
  /**
@@ -6761,7 +6874,7 @@ declare module "factorio:runtime" {
6761
6874
  * - `"name"`: {@link NameScriptRaisedDestroyEventFilter}
6762
6875
  * - `"ghost_type"`: {@link GhostTypeScriptRaisedDestroyEventFilter}
6763
6876
  * - `"ghost_name"`: {@link GhostNameScriptRaisedDestroyEventFilter}
6764
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#LuaScriptRaisedDestroyEventFilter Online documentation}
6877
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#LuaScriptRaisedDestroyEventFilter Online documentation}
6765
6878
  */
6766
6879
  export type LuaScriptRaisedDestroyEventFilter =
6767
6880
  | TypeScriptRaisedDestroyEventFilter
@@ -6793,7 +6906,7 @@ declare module "factorio:runtime" {
6793
6906
  | "ghost_type"
6794
6907
  | "ghost_name"
6795
6908
  /**
6796
- * 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"`.
6797
6910
  */
6798
6911
  readonly mode?: "or" | "and"
6799
6912
  /**
@@ -6868,7 +6981,7 @@ declare module "factorio:runtime" {
6868
6981
  * - `"name"`: {@link NameUpgradeCancelledEventFilter}
6869
6982
  * - `"ghost_type"`: {@link GhostTypeUpgradeCancelledEventFilter}
6870
6983
  * - `"ghost_name"`: {@link GhostNameUpgradeCancelledEventFilter}
6871
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#LuaUpgradeCancelledEventFilter Online documentation}
6984
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#LuaUpgradeCancelledEventFilter Online documentation}
6872
6985
  */
6873
6986
  export type LuaUpgradeCancelledEventFilter =
6874
6987
  | TypeUpgradeCancelledEventFilter
@@ -6900,7 +7013,7 @@ declare module "factorio:runtime" {
6900
7013
  | "ghost_type"
6901
7014
  | "ghost_name"
6902
7015
  /**
6903
- * 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"`.
6904
7017
  */
6905
7018
  readonly mode?: "or" | "and"
6906
7019
  /**
@@ -6975,7 +7088,7 @@ declare module "factorio:runtime" {
6975
7088
  * - `"name"`: {@link NamePlayerRepairedEntityEventFilter}
6976
7089
  * - `"ghost_type"`: {@link GhostTypePlayerRepairedEntityEventFilter}
6977
7090
  * - `"ghost_name"`: {@link GhostNamePlayerRepairedEntityEventFilter}
6978
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#LuaPlayerRepairedEntityEventFilter Online documentation}
7091
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#LuaPlayerRepairedEntityEventFilter Online documentation}
6979
7092
  */
6980
7093
  export type LuaPlayerRepairedEntityEventFilter =
6981
7094
  | TypePlayerRepairedEntityEventFilter
@@ -7007,7 +7120,7 @@ declare module "factorio:runtime" {
7007
7120
  | "ghost_type"
7008
7121
  | "ghost_name"
7009
7122
  /**
7010
- * 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"`.
7011
7124
  */
7012
7125
  readonly mode?: "or" | "and"
7013
7126
  /**
@@ -7082,7 +7195,7 @@ declare module "factorio:runtime" {
7082
7195
  * - `"name"`: {@link NameScriptRaisedTeleportedEventFilter}
7083
7196
  * - `"ghost_type"`: {@link GhostTypeScriptRaisedTeleportedEventFilter}
7084
7197
  * - `"ghost_name"`: {@link GhostNameScriptRaisedTeleportedEventFilter}
7085
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#LuaScriptRaisedTeleportedEventFilter Online documentation}
7198
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#LuaScriptRaisedTeleportedEventFilter Online documentation}
7086
7199
  */
7087
7200
  export type LuaScriptRaisedTeleportedEventFilter =
7088
7201
  | TypeScriptRaisedTeleportedEventFilter
@@ -7114,7 +7227,7 @@ declare module "factorio:runtime" {
7114
7227
  | "ghost_type"
7115
7228
  | "ghost_name"
7116
7229
  /**
7117
- * 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"`.
7118
7231
  */
7119
7232
  readonly mode?: "or" | "and"
7120
7233
  /**
@@ -7189,7 +7302,7 @@ declare module "factorio:runtime" {
7189
7302
  * - `"name"`: {@link NameEntityMarkedForUpgradeEventFilter}
7190
7303
  * - `"ghost_type"`: {@link GhostTypeEntityMarkedForUpgradeEventFilter}
7191
7304
  * - `"ghost_name"`: {@link GhostNameEntityMarkedForUpgradeEventFilter}
7192
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#LuaEntityMarkedForUpgradeEventFilter Online documentation}
7305
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#LuaEntityMarkedForUpgradeEventFilter Online documentation}
7193
7306
  */
7194
7307
  export type LuaEntityMarkedForUpgradeEventFilter =
7195
7308
  | TypeEntityMarkedForUpgradeEventFilter
@@ -7206,7 +7319,7 @@ declare module "factorio:runtime" {
7206
7319
  */
7207
7320
  readonly filter: "type"
7208
7321
  /**
7209
- * 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"`.
7210
7323
  */
7211
7324
  readonly mode?: "or" | "and"
7212
7325
  /**
@@ -7231,7 +7344,7 @@ declare module "factorio:runtime" {
7231
7344
  *
7232
7345
  * Other attributes may be specified depending on `filter`:
7233
7346
  * - `"type"`: {@link TypePostEntityDiedEventFilter}
7234
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#LuaPostEntityDiedEventFilter Online documentation}
7347
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#LuaPostEntityDiedEventFilter Online documentation}
7235
7348
  */
7236
7349
  export type LuaPostEntityDiedEventFilter = TypePostEntityDiedEventFilter
7237
7350
  /**
@@ -7258,7 +7371,7 @@ declare module "factorio:runtime" {
7258
7371
  | "ghost_type"
7259
7372
  | "ghost_name"
7260
7373
  /**
7261
- * 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"`.
7262
7375
  */
7263
7376
  readonly mode?: "or" | "and"
7264
7377
  /**
@@ -7333,7 +7446,7 @@ declare module "factorio:runtime" {
7333
7446
  * - `"name"`: {@link NamePreRobotMinedEntityEventFilter}
7334
7447
  * - `"ghost_type"`: {@link GhostTypePreRobotMinedEntityEventFilter}
7335
7448
  * - `"ghost_name"`: {@link GhostNamePreRobotMinedEntityEventFilter}
7336
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#LuaPreRobotMinedEntityEventFilter Online documentation}
7449
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#LuaPreRobotMinedEntityEventFilter Online documentation}
7337
7450
  */
7338
7451
  export type LuaPreRobotMinedEntityEventFilter =
7339
7452
  | TypePreRobotMinedEntityEventFilter
@@ -7365,7 +7478,7 @@ declare module "factorio:runtime" {
7365
7478
  | "ghost_type"
7366
7479
  | "ghost_name"
7367
7480
  /**
7368
- * 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"`.
7369
7482
  */
7370
7483
  readonly mode?: "or" | "and"
7371
7484
  /**
@@ -7440,7 +7553,7 @@ declare module "factorio:runtime" {
7440
7553
  * - `"name"`: {@link NameEntityClonedEventFilter}
7441
7554
  * - `"ghost_type"`: {@link GhostTypeEntityClonedEventFilter}
7442
7555
  * - `"ghost_name"`: {@link GhostNameEntityClonedEventFilter}
7443
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#LuaEntityClonedEventFilter Online documentation}
7556
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#LuaEntityClonedEventFilter Online documentation}
7444
7557
  */
7445
7558
  export type LuaEntityClonedEventFilter =
7446
7559
  | TypeEntityClonedEventFilter
@@ -7472,7 +7585,7 @@ declare module "factorio:runtime" {
7472
7585
  | "ghost_type"
7473
7586
  | "ghost_name"
7474
7587
  /**
7475
- * 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"`.
7476
7589
  */
7477
7590
  readonly mode?: "or" | "and"
7478
7591
  /**
@@ -7547,7 +7660,7 @@ declare module "factorio:runtime" {
7547
7660
  * - `"name"`: {@link NameScriptRaisedBuiltEventFilter}
7548
7661
  * - `"ghost_type"`: {@link GhostTypeScriptRaisedBuiltEventFilter}
7549
7662
  * - `"ghost_name"`: {@link GhostNameScriptRaisedBuiltEventFilter}
7550
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#LuaScriptRaisedBuiltEventFilter Online documentation}
7663
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#LuaScriptRaisedBuiltEventFilter Online documentation}
7551
7664
  */
7552
7665
  export type LuaScriptRaisedBuiltEventFilter =
7553
7666
  | TypeScriptRaisedBuiltEventFilter
@@ -7579,7 +7692,7 @@ declare module "factorio:runtime" {
7579
7692
  | "ghost_type"
7580
7693
  | "ghost_name"
7581
7694
  /**
7582
- * 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"`.
7583
7696
  */
7584
7697
  readonly mode?: "or" | "and"
7585
7698
  /**
@@ -7654,7 +7767,7 @@ declare module "factorio:runtime" {
7654
7767
  * - `"name"`: {@link NameRobotMinedEntityEventFilter}
7655
7768
  * - `"ghost_type"`: {@link GhostTypeRobotMinedEntityEventFilter}
7656
7769
  * - `"ghost_name"`: {@link GhostNameRobotMinedEntityEventFilter}
7657
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#LuaRobotMinedEntityEventFilter Online documentation}
7770
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#LuaRobotMinedEntityEventFilter Online documentation}
7658
7771
  */
7659
7772
  export type LuaRobotMinedEntityEventFilter =
7660
7773
  | TypeRobotMinedEntityEventFilter
@@ -7686,7 +7799,7 @@ declare module "factorio:runtime" {
7686
7799
  | "ghost_type"
7687
7800
  | "ghost_name"
7688
7801
  /**
7689
- * 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"`.
7690
7803
  */
7691
7804
  readonly mode?: "or" | "and"
7692
7805
  /**
@@ -7761,7 +7874,7 @@ declare module "factorio:runtime" {
7761
7874
  * - `"name"`: {@link NamePrePlayerMinedEntityEventFilter}
7762
7875
  * - `"ghost_type"`: {@link GhostTypePrePlayerMinedEntityEventFilter}
7763
7876
  * - `"ghost_name"`: {@link GhostNamePrePlayerMinedEntityEventFilter}
7764
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#LuaPrePlayerMinedEntityEventFilter Online documentation}
7877
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#LuaPrePlayerMinedEntityEventFilter Online documentation}
7765
7878
  */
7766
7879
  export type LuaPrePlayerMinedEntityEventFilter =
7767
7880
  | TypePrePlayerMinedEntityEventFilter
@@ -7794,7 +7907,7 @@ declare module "factorio:runtime" {
7794
7907
  | "ghost_name"
7795
7908
  | "force"
7796
7909
  /**
7797
- * 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"`.
7798
7911
  */
7799
7912
  readonly mode?: "or" | "and"
7800
7913
  /**
@@ -7880,7 +7993,7 @@ declare module "factorio:runtime" {
7880
7993
  * - `"ghost_type"`: {@link GhostTypeRobotBuiltEntityEventFilter}
7881
7994
  * - `"ghost_name"`: {@link GhostNameRobotBuiltEntityEventFilter}
7882
7995
  * - `"force"`: {@link ForceRobotBuiltEntityEventFilter}
7883
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#LuaRobotBuiltEntityEventFilter Online documentation}
7996
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#LuaRobotBuiltEntityEventFilter Online documentation}
7884
7997
  */
7885
7998
  export type LuaRobotBuiltEntityEventFilter =
7886
7999
  | TypeRobotBuiltEntityEventFilter
@@ -7913,7 +8026,7 @@ declare module "factorio:runtime" {
7913
8026
  | "ghost_type"
7914
8027
  | "ghost_name"
7915
8028
  /**
7916
- * 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"`.
7917
8030
  */
7918
8031
  readonly mode?: "or" | "and"
7919
8032
  /**
@@ -7988,7 +8101,7 @@ declare module "factorio:runtime" {
7988
8101
  * - `"name"`: {@link NamePreGhostUpgradedEventFilter}
7989
8102
  * - `"ghost_type"`: {@link GhostTypePreGhostUpgradedEventFilter}
7990
8103
  * - `"ghost_name"`: {@link GhostNamePreGhostUpgradedEventFilter}
7991
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#LuaPreGhostUpgradedEventFilter Online documentation}
8104
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#LuaPreGhostUpgradedEventFilter Online documentation}
7992
8105
  */
7993
8106
  export type LuaPreGhostUpgradedEventFilter =
7994
8107
  | TypePreGhostUpgradedEventFilter
@@ -8020,7 +8133,7 @@ declare module "factorio:runtime" {
8020
8133
  | "ghost_type"
8021
8134
  | "ghost_name"
8022
8135
  /**
8023
- * 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"`.
8024
8137
  */
8025
8138
  readonly mode?: "or" | "and"
8026
8139
  /**
@@ -8097,7 +8210,7 @@ declare module "factorio:runtime" {
8097
8210
  * - `"name"`: {@link NameEntityDeconstructionCancelledEventFilter}
8098
8211
  * - `"ghost_type"`: {@link GhostTypeEntityDeconstructionCancelledEventFilter}
8099
8212
  * - `"ghost_name"`: {@link GhostNameEntityDeconstructionCancelledEventFilter}
8100
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#LuaEntityDeconstructionCancelledEventFilter Online documentation}
8213
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#LuaEntityDeconstructionCancelledEventFilter Online documentation}
8101
8214
  */
8102
8215
  export type LuaEntityDeconstructionCancelledEventFilter =
8103
8216
  | TypeEntityDeconstructionCancelledEventFilter
@@ -8130,7 +8243,7 @@ declare module "factorio:runtime" {
8130
8243
  | "ghost_name"
8131
8244
  | "force"
8132
8245
  /**
8133
- * 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"`.
8134
8247
  */
8135
8248
  readonly mode?: "or" | "and"
8136
8249
  /**
@@ -8216,7 +8329,7 @@ declare module "factorio:runtime" {
8216
8329
  * - `"ghost_type"`: {@link GhostTypePlayerBuiltEntityEventFilter}
8217
8330
  * - `"ghost_name"`: {@link GhostNamePlayerBuiltEntityEventFilter}
8218
8331
  * - `"force"`: {@link ForcePlayerBuiltEntityEventFilter}
8219
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#LuaPlayerBuiltEntityEventFilter Online documentation}
8332
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#LuaPlayerBuiltEntityEventFilter Online documentation}
8220
8333
  */
8221
8334
  export type LuaPlayerBuiltEntityEventFilter =
8222
8335
  | TypePlayerBuiltEntityEventFilter
@@ -8249,7 +8362,7 @@ declare module "factorio:runtime" {
8249
8362
  | "ghost_type"
8250
8363
  | "ghost_name"
8251
8364
  /**
8252
- * 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"`.
8253
8366
  */
8254
8367
  readonly mode?: "or" | "and"
8255
8368
  /**
@@ -8324,7 +8437,7 @@ declare module "factorio:runtime" {
8324
8437
  * - `"name"`: {@link NamePlayerMinedEntityEventFilter}
8325
8438
  * - `"ghost_type"`: {@link GhostTypePlayerMinedEntityEventFilter}
8326
8439
  * - `"ghost_name"`: {@link GhostNamePlayerMinedEntityEventFilter}
8327
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#LuaPlayerMinedEntityEventFilter Online documentation}
8440
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#LuaPlayerMinedEntityEventFilter Online documentation}
8328
8441
  */
8329
8442
  export type LuaPlayerMinedEntityEventFilter =
8330
8443
  | TypePlayerMinedEntityEventFilter
@@ -8360,7 +8473,7 @@ declare module "factorio:runtime" {
8360
8473
  | "damage-type"
8361
8474
  | "final-health"
8362
8475
  /**
8363
- * 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"`.
8364
8477
  */
8365
8478
  readonly mode?: "or" | "and"
8366
8479
  /**
@@ -8506,7 +8619,7 @@ declare module "factorio:runtime" {
8506
8619
  * - `"final-damage-amount"`: {@link FinalDamageAmountEntityDamagedEventFilter}
8507
8620
  * - `"damage-type"`: {@link DamageTypeEntityDamagedEventFilter}
8508
8621
  * - `"final-health"`: {@link FinalHealthEntityDamagedEventFilter}
8509
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#LuaEntityDamagedEventFilter Online documentation}
8622
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#LuaEntityDamagedEventFilter Online documentation}
8510
8623
  */
8511
8624
  export type LuaEntityDamagedEventFilter =
8512
8625
  | TypeEntityDamagedEventFilter
@@ -8520,7 +8633,7 @@ declare module "factorio:runtime" {
8520
8633
  | OtherEntityDamagedEventFilter
8521
8634
  /**
8522
8635
  * Write form of {@link LuaEntityDamagedEventFilter}, where table-or-array concepts are allowed to take an array form.
8523
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#LuaEntityDamagedEventFilter Online documentation}
8636
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#LuaEntityDamagedEventFilter Online documentation}
8524
8637
  */
8525
8638
  export type LuaEntityDamagedEventFilterWrite =
8526
8639
  | TypeEntityDamagedEventFilter
@@ -8556,7 +8669,7 @@ declare module "factorio:runtime" {
8556
8669
  | "ghost_type"
8557
8670
  | "ghost_name"
8558
8671
  /**
8559
- * 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"`.
8560
8673
  */
8561
8674
  readonly mode?: "or" | "and"
8562
8675
  /**
@@ -8631,7 +8744,7 @@ declare module "factorio:runtime" {
8631
8744
  * - `"name"`: {@link NameSectorScannedEventFilter}
8632
8745
  * - `"ghost_type"`: {@link GhostTypeSectorScannedEventFilter}
8633
8746
  * - `"ghost_name"`: {@link GhostNameSectorScannedEventFilter}
8634
- * @see {@link https://lua-api.factorio.com/1.1.101/concepts.html#LuaSectorScannedEventFilter Online documentation}
8747
+ * @see {@link https://lua-api.factorio.com/1.1.103/concepts.html#LuaSectorScannedEventFilter Online documentation}
8635
8748
  */
8636
8749
  export type LuaSectorScannedEventFilter =
8637
8750
  | TypeSectorScannedEventFilter