typed-factorio 0.13.1 → 0.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -19,7 +19,7 @@
19
19
  * Furthermore, when an API function expects a localised string, it will also accept a regular string (i.e. not a table)
20
20
  * which will not be translated, as well as a number or boolean, which will be converted to their textual representation.
21
21
  *
22
- * {@link https://lua-api.factorio.com/next/Concepts.html#LocalisedString View documentation}
22
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#LocalisedString View documentation}
23
23
  *
24
24
  * @example
25
25
  * In the English translation, this will print `"No ammo"`; in the Czech translation, it will print `"Bez munice"`:
@@ -69,7 +69,7 @@ interface LogisticParameters {
69
69
  *
70
70
  * For example then, a value of `0.625` would indicate "south-west", and a value of `0.875` would indicate "north-west".
71
71
  *
72
- * {@link https://lua-api.factorio.com/next/Concepts.html#RealOrientation View documentation}
72
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#RealOrientation View documentation}
73
73
  */
74
74
  type RealOrientation = float
75
75
 
@@ -84,7 +84,7 @@ type PositionArray = readonly [x: int, y: int]
84
84
  * Coordinates of a tile in a map. Positions may be specified either as a dictionary with `x`, `y` as keys, or simply as
85
85
  * an array with two elements.
86
86
  *
87
- * {@link https://lua-api.factorio.com/next/Concepts.html#Position View documentation}
87
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#Position View documentation}
88
88
  *
89
89
  * @example
90
90
  * Explicit definition:
@@ -101,16 +101,20 @@ type PositionArray = readonly [x: int, y: int]
101
101
  */
102
102
  type Position = PositionTable | PositionArray
103
103
 
104
+ interface MapPositionTable {
105
+ readonly x: double
106
+ readonly y: double
107
+ }
108
+
109
+ type MapPositionArray = readonly [x: double, y: double]
110
+
104
111
  /**
105
112
  * Coordinates of an entity on a map. This uses the same format as {@link Position}, meaning it can be specified either
106
113
  * with or without explicit keys.
107
114
  *
108
- * {@link https://lua-api.factorio.com/next/Concepts.html#MapPosition View documentation}
115
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#MapPosition View documentation}
109
116
  */
110
- interface MapPosition {
111
- readonly x: double
112
- readonly y: double
113
- }
117
+ type MapPosition = MapPositionTable | MapPositionArray
114
118
 
115
119
  interface ChunkPositionTable {
116
120
  readonly x: int
@@ -124,7 +128,7 @@ type ChunkPositionArray = readonly [x: int, y: int]
124
128
  * same format as {@link Position}, meaning it can be specified either with or without explicit keys. A {@link Position}
125
129
  * can be translated to a ChunkPosition by dividing the `x`/`y` values by 32.
126
130
  *
127
- * {@link https://lua-api.factorio.com/next/Concepts.html#ChunkPosition View documentation}
131
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#ChunkPosition View documentation}
128
132
  */
129
133
  type ChunkPosition = ChunkPositionTable | ChunkPositionArray
130
134
 
@@ -140,7 +144,7 @@ type TilePositionArray = readonly [x: int, y: int]
140
144
  * uses the same format as {@link Position} except it rounds any `x`/`y` down to whole numbers. It can be specified
141
145
  * either with or without explicit keys.
142
146
  *
143
- * {@link https://lua-api.factorio.com/next/Concepts.html#TilePosition View documentation}
147
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#TilePosition View documentation}
144
148
  */
145
149
  type TilePosition = TilePositionTable | TilePositionArray
146
150
 
@@ -155,25 +159,25 @@ type GuiLocationArray = readonly [x: int, y: int]
155
159
  * Screen coordinates of a GUI element in a {@link LuaGui}. This uses the same format as {@link Position} except it rounds
156
160
  * any `x`/`y` down to whole numbers. It can be specified either with or without explicit keys.
157
161
  *
158
- * {@link https://lua-api.factorio.com/next/Concepts.html#GuiLocation View documentation}
162
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#GuiLocation View documentation}
159
163
  */
160
164
  type GuiLocation = GuiLocationTable | GuiLocationArray
161
165
 
162
166
  /**
163
167
  * A {@link ChunkPosition} with an added bounding box for the area of the chunk.
164
168
  *
165
- * {@link https://lua-api.factorio.com/next/Concepts.html#ChunkPositionAndArea View documentation}
169
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#ChunkPositionAndArea View documentation}
166
170
  */
167
171
  interface ChunkPositionAndArea {
168
172
  readonly x: int
169
173
  readonly y: int
170
- readonly area: BoundingBox
174
+ readonly area: BoundingBoxRead
171
175
  }
172
176
 
173
177
  /**
174
178
  * A table used to define a manual shape for a piece of equipment.
175
179
  *
176
- * {@link https://lua-api.factorio.com/next/Concepts.html#EquipmentPoint View documentation}
180
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#EquipmentPoint View documentation}
177
181
  */
178
182
  interface EquipmentPoint {
179
183
  readonly x: uint
@@ -201,13 +205,13 @@ interface TabAndContent {
201
205
 
202
206
  interface OldTileAndPosition {
203
207
  readonly old_tile: LuaTilePrototype
204
- readonly position: TilePosition
208
+ readonly position: TilePositionTable
205
209
  }
206
210
 
207
211
  /**
208
212
  * A dictionary of string to the four basic Lua types: `string`, `boolean`, `number`, `table`.
209
213
  *
210
- * {@link https://lua-api.factorio.com/next/Concepts.html#Tags View documentation}
214
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#Tags View documentation}
211
215
  *
212
216
  * @example
213
217
  * ```lua
@@ -219,7 +223,7 @@ type Tags = Record<string, AnyBasic | undefined>
219
223
  /**
220
224
  * **Note**: The vectors for all 5 position attributes are a table with `x` and `y` keys instead of an array.
221
225
  *
222
- * {@link https://lua-api.factorio.com/next/Concepts.html#SmokeSource View documentation}
226
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#SmokeSource View documentation}
223
227
  */
224
228
  interface SmokeSource {
225
229
  readonly name: string
@@ -230,7 +234,7 @@ interface SmokeSource {
230
234
  readonly east_position?: PositionTable
231
235
  readonly south_position?: PositionTable
232
236
  readonly west_position?: PositionTable
233
- readonly deviation?: Position
237
+ readonly deviation?: PositionTable
234
238
  readonly starting_frame_speed: uint16
235
239
  readonly starting_frame_speed_deviation: double
236
240
  readonly starting_frame: uint16
@@ -247,7 +251,7 @@ interface SmokeSource {
247
251
  * A vector is a two-element array containing the `x` and `y` components. In some specific cases, the vector is a table
248
252
  * with `x` and `y` keys instead, which the documentation will point out.
249
253
  *
250
- * {@link https://lua-api.factorio.com/next/Concepts.html#Vector View documentation}
254
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#Vector View documentation}
251
255
  *
252
256
  * @example
253
257
  * ```lua
@@ -269,7 +273,7 @@ type BoundingBoxArray = readonly [left_top: Position, right_bottom: Position, or
269
273
  * the names of the members may be omitted. When read from the game, the third member `orientation` is present if it is
270
274
  * non-zero, however it is ignored when provided to the game.
271
275
  *
272
- * {@link https://lua-api.factorio.com/next/Concepts.html#BoundingBox View documentation}
276
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#BoundingBox View documentation}
273
277
  *
274
278
  * @example
275
279
  * Explicit definition:
@@ -285,10 +289,17 @@ type BoundingBoxArray = readonly [left_top: Position, right_bottom: Position, or
285
289
  */
286
290
  type BoundingBox = BoundingBoxTable | BoundingBoxArray
287
291
 
292
+ /** @addAfter BoundingBox */
293
+ interface BoundingBoxRead extends BoundingBoxTable {
294
+ readonly left_top: PositionTable
295
+ readonly right_bottom: PositionTable
296
+ readonly orientation?: RealOrientation
297
+ }
298
+
288
299
  /**
289
300
  * An area defined using the map editor.
290
301
  *
291
- * {@link https://lua-api.factorio.com/next/Concepts.html#ScriptArea View documentation}
302
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#ScriptArea View documentation}
292
303
  */
293
304
  interface ScriptArea {
294
305
  readonly area: BoundingBox
@@ -297,10 +308,15 @@ interface ScriptArea {
297
308
  readonly id: uint
298
309
  }
299
310
 
311
+ interface ScriptAreaRead extends ScriptArea {
312
+ readonly area: BoundingBoxRead
313
+ readonly color: ColorTable
314
+ }
315
+
300
316
  /**
301
317
  * A position defined using the map editor.
302
318
  *
303
- * {@link https://lua-api.factorio.com/next/Concepts.html#ScriptPosition View documentation}
319
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#ScriptPosition View documentation}
304
320
  */
305
321
  interface ScriptPosition {
306
322
  readonly position: Position
@@ -309,6 +325,11 @@ interface ScriptPosition {
309
325
  readonly id: uint
310
326
  }
311
327
 
328
+ interface ScriptPositionRead extends ScriptPosition {
329
+ readonly position: PositionTable
330
+ readonly color: ColorTable
331
+ }
332
+
312
333
  interface ColorTable {
313
334
  readonly r?: float
314
335
  readonly g?: float
@@ -325,7 +346,7 @@ type ColorArray = readonly [r?: float, g?: float, b?: float, a?: float]
325
346
  * Similar to {@link Position}, Color allows the short-hand notation of passing an array of exactly 3 or 4 numbers. The
326
347
  * game usually expects colors to be in pre-multiplied form (color channels are pre-multiplied by alpha).
327
348
  *
328
- * {@link https://lua-api.factorio.com/next/Concepts.html#Color View documentation}
349
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#Color View documentation}
329
350
  *
330
351
  * @example
331
352
  * ```lua
@@ -350,7 +371,7 @@ type ColorModifierArray = readonly [r?: float, g?: float, b?: float, a?: float]
350
371
  * Same as {@link Color}, but red, green, blue and alpha values can be any floating point number, without any special
351
372
  * handling of the range [1, 255].
352
373
  *
353
- * {@link https://lua-api.factorio.com/next/Concepts.html#ColorModifier View documentation}
374
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#ColorModifier View documentation}
354
375
  */
355
376
  type ColorModifier = ColorModifierTable | ColorModifierArray
356
377
 
@@ -368,7 +389,7 @@ interface Alert {
368
389
  readonly tick: uint
369
390
  readonly target?: LuaEntity
370
391
  readonly prototype?: LuaEntityPrototype
371
- readonly position?: Position
392
+ readonly position?: PositionTable
372
393
  /** The SignalID used for a custom alert. Only present for custom alerts. */
373
394
  readonly icon?: SignalID
374
395
  /** The message for a custom alert. Only present for custom alerts. */
@@ -378,7 +399,7 @@ interface Alert {
378
399
  /**
379
400
  * One vertex of a ScriptRenderPolygon.
380
401
  *
381
- * {@link https://lua-api.factorio.com/next/Concepts.html#ScriptRenderVertexTarget View documentation}
402
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#ScriptRenderVertexTarget View documentation}
382
403
  */
383
404
  interface ScriptRenderVertexTarget {
384
405
  readonly target: Position | LuaEntity
@@ -388,7 +409,7 @@ interface ScriptRenderVertexTarget {
388
409
 
389
410
  interface PathfinderWaypoint {
390
411
  /** The position of the waypoint on its surface. */
391
- readonly position: Position
412
+ readonly position: PositionTable
392
413
  /** `true` if the path from the previous waypoint to this one goes through an entity that must be destroyed. */
393
414
  readonly needs_destroy_to_reach: boolean
394
415
  }
@@ -414,7 +435,7 @@ interface Decorative {
414
435
  }
415
436
 
416
437
  interface DecorativeResult {
417
- readonly position: TilePosition
438
+ readonly position: TilePositionTable
418
439
  readonly decorative: LuaDecorativePrototype
419
440
  readonly amount: uint
420
441
  }
@@ -422,7 +443,7 @@ interface DecorativeResult {
422
443
  /**
423
444
  * **Note**: Either `icon`, `text`, or both must be provided.
424
445
  *
425
- * {@link https://lua-api.factorio.com/next/Concepts.html#ChartTagSpec View documentation}
446
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#ChartTagSpec View documentation}
426
447
  */
427
448
  interface ChartTagSpec {
428
449
  readonly position: Position
@@ -435,75 +456,75 @@ interface ChartTagSpec {
435
456
  * Parameters that affect the look and control of the game. Updating any of the member attributes here will immediately
436
457
  * take effect in the game engine.
437
458
  *
438
- * {@link https://lua-api.factorio.com/next/Concepts.html#GameViewSettings View documentation}
459
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#GameViewSettings View documentation}
439
460
  */
440
461
  interface GameViewSettings {
441
462
  /**
442
463
  * Show the controller GUI elements. This includes the toolbar, the selected tool slot, the armour slot, and the gun
443
464
  * and ammunition slots.
444
465
  *
445
- * {@link https://lua-api.factorio.com/next/Concepts.html#GameViewSettings#GameViewSettings.show_controller_gui View documentation}
466
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#GameViewSettings#GameViewSettings.show_controller_gui View documentation}
446
467
  */
447
468
  show_controller_gui: boolean
448
469
  /**
449
470
  * Show the chart in the upper right-hand corner of the screen.
450
471
  *
451
- * {@link https://lua-api.factorio.com/next/Concepts.html#GameViewSettings#GameViewSettings.show_minimap View documentation}
472
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#GameViewSettings#GameViewSettings.show_minimap View documentation}
452
473
  */
453
474
  show_minimap: boolean
454
475
  /**
455
476
  * Show research progress and name in the upper right-hand corner of the screen.
456
477
  *
457
- * {@link https://lua-api.factorio.com/next/Concepts.html#GameViewSettings#GameViewSettings.show_research_info View documentation}
478
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#GameViewSettings#GameViewSettings.show_research_info View documentation}
458
479
  */
459
480
  show_research_info: boolean
460
481
  /**
461
482
  * Show overlay icons on entities. Also known as "alt-mode".
462
483
  *
463
- * {@link https://lua-api.factorio.com/next/Concepts.html#GameViewSettings#GameViewSettings.show_entity_info View documentation}
484
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#GameViewSettings#GameViewSettings.show_entity_info View documentation}
464
485
  */
465
486
  show_entity_info: boolean
466
487
  /**
467
488
  * Show the flashing alert icons next to the player's toolbar.
468
489
  *
469
- * {@link https://lua-api.factorio.com/next/Concepts.html#GameViewSettings#GameViewSettings.show_alert_gui View documentation}
490
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#GameViewSettings#GameViewSettings.show_alert_gui View documentation}
470
491
  */
471
492
  show_alert_gui: boolean
472
493
  /**
473
494
  * When `true` (the default), mousing over an entity will select it. Otherwise, moving the mouse won't update entity
474
495
  * selection.
475
496
  *
476
- * {@link https://lua-api.factorio.com/next/Concepts.html#GameViewSettings#GameViewSettings.update_entity_selection View documentation}
497
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#GameViewSettings#GameViewSettings.update_entity_selection View documentation}
477
498
  */
478
499
  update_entity_selection: boolean
479
500
  /**
480
501
  * When `true` (`false` is default), the rails will always show the rail block visualisation.
481
502
  *
482
- * {@link https://lua-api.factorio.com/next/Concepts.html#GameViewSettings#GameViewSettings.show_rail_block_visualisation View documentation}
503
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#GameViewSettings#GameViewSettings.show_rail_block_visualisation View documentation}
483
504
  */
484
505
  show_rail_block_visualisation: boolean
485
506
  /**
486
507
  * Shows or hides the buttons row.
487
508
  *
488
- * {@link https://lua-api.factorio.com/next/Concepts.html#GameViewSettings#GameViewSettings.show_side_menu View documentation}
509
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#GameViewSettings#GameViewSettings.show_side_menu View documentation}
489
510
  */
490
511
  show_side_menu: boolean
491
512
  /**
492
513
  * Shows or hides the view options when map is opened.
493
514
  *
494
- * {@link https://lua-api.factorio.com/next/Concepts.html#GameViewSettings#GameViewSettings.show_map_view_options View documentation}
515
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#GameViewSettings#GameViewSettings.show_map_view_options View documentation}
495
516
  */
496
517
  show_map_view_options: boolean
497
518
  /**
498
519
  * Shows or hides quickbar of shortcuts.
499
520
  *
500
- * {@link https://lua-api.factorio.com/next/Concepts.html#GameViewSettings#GameViewSettings.show_quickbar View documentation}
521
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#GameViewSettings#GameViewSettings.show_quickbar View documentation}
501
522
  */
502
523
  show_quickbar: boolean
503
524
  /**
504
525
  * Shows or hides the shortcut bar.
505
526
  *
506
- * {@link https://lua-api.factorio.com/next/Concepts.html#GameViewSettings#GameViewSettings.show_shortcut_bar View documentation}
527
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#GameViewSettings#GameViewSettings.show_shortcut_bar View documentation}
507
528
  */
508
529
  show_shortcut_bar: boolean
509
530
  }
@@ -511,7 +532,7 @@ interface GameViewSettings {
511
532
  /**
512
533
  * What is shown in the map view. If a field is not given, that setting will not be changed.
513
534
  *
514
- * {@link https://lua-api.factorio.com/next/Concepts.html#MapViewSettings View documentation}
535
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#MapViewSettings View documentation}
515
536
  */
516
537
  interface MapViewSettings {
517
538
  readonly "show-logistic-network"?: boolean
@@ -527,7 +548,7 @@ interface MapViewSettings {
527
548
  /**
528
549
  * These values are for the time frame of one second (60 ticks).
529
550
  *
530
- * {@link https://lua-api.factorio.com/next/Concepts.html#PollutionMapSettings View documentation}
551
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#PollutionMapSettings View documentation}
531
552
  */
532
553
  interface PollutionMapSettings {
533
554
  /** Whether pollution is enabled at all. */
@@ -562,7 +583,7 @@ interface PollutionMapSettings {
562
583
  /**
563
584
  * These values represent a percentual increase in evolution. This means a value of `0.1` would increase evolution by 10%.
564
585
  *
565
- * {@link https://lua-api.factorio.com/next/Concepts.html#EnemyEvolutionMapSettings View documentation}
586
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#EnemyEvolutionMapSettings View documentation}
566
587
  */
567
588
  interface EnemyEvolutionMapSettings {
568
589
  /** Whether enemy evolution is enabled at all. */
@@ -599,7 +620,7 @@ interface EnemyEvolutionMapSettings {
599
620
  * score(chunk) = 1 / (1 + player + base)
600
621
  * ```
601
622
  *
602
- * {@link https://lua-api.factorio.com/next/Concepts.html#EnemyExpansionMapSettings View documentation}
623
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#EnemyExpansionMapSettings View documentation}
603
624
  */
604
625
  interface EnemyExpansionMapSettings {
605
626
  /** Whether enemy expansion is enabled at all. */
@@ -833,7 +854,7 @@ interface PathFinderMapSettings {
833
854
  /**
834
855
  * Various game-related settings. Updating any of the attributes will immediately take effect in the game engine.
835
856
  *
836
- * {@link https://lua-api.factorio.com/next/Concepts.html#MapSettings View documentation}
857
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#MapSettings View documentation}
837
858
  *
838
859
  * @example
839
860
  * Increase the number of short paths the pathfinder can cache.
@@ -859,7 +880,7 @@ interface MapSettings {
859
880
  /**
860
881
  * Technology and recipe difficulty settings. Updating any of the attributes will immediately take effect in the game engine.
861
882
  *
862
- * {@link https://lua-api.factorio.com/next/Concepts.html#DifficultySettings View documentation}
883
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#DifficultySettings View documentation}
863
884
  */
864
885
  interface DifficultySettings {
865
886
  readonly recipe_difficulty: defines.difficulty_settings.recipe_difficulty
@@ -874,17 +895,33 @@ interface DifficultySettings {
874
895
  }
875
896
 
876
897
  /**
877
- * The data that can be extracted from a map exchange string, as a plain table.
898
+ * All regular {@link MapSettings} plus an additional table that contains the {@link DifficultySettings}.
878
899
  *
879
- * {@link https://lua-api.factorio.com/next/Concepts.html#MapExchangeStringData View documentation}
900
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#MapAndDifficultySettings View documentation}
880
901
  */
881
- interface MapExchangeStringData {
902
+ interface MapAndDifficultySettings {
903
+ readonly pollution: PollutionMapSettings
904
+ readonly enemy_evolution: EnemyEvolutionMapSettings
905
+ readonly enemy_expansion: EnemyExpansionMapSettings
906
+ readonly unit_group: UnitGroupMapSettings
907
+ readonly steering: SteeringMapSettings
908
+ readonly path_finder: PathFinderMapSettings
882
909
  /**
883
- * All the regular map settings plus an additional table called `difficulty_settings` that contains the
884
- * {@link DifficultySettings}.
910
+ * If a behavior fails this many times, the enemy (or enemy group) is destroyed. This solves biters getting stuck
911
+ * within their own base.
885
912
  */
886
- readonly map_settings: MapSettings
887
- readonly map_gen_settings: MapGenSettings
913
+ readonly max_failed_behavior_count: uint
914
+ readonly difficulty_settings: DifficultySettings
915
+ }
916
+
917
+ /**
918
+ * The data that can be extracted from a map exchange string, as a plain table.
919
+ *
920
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#MapExchangeStringData View documentation}
921
+ */
922
+ interface MapExchangeStringData {
923
+ readonly map_settings: MapAndDifficultySettings
924
+ readonly map_gen_settings: MapGenSettingsRead
888
925
  }
889
926
 
890
927
  interface BlueprintItemIcon {
@@ -947,7 +984,7 @@ interface BlueprintCircuitConnection {
947
984
  * The representation of an entity inside of a blueprint. It has at least these fields, but can contain additional ones
948
985
  * depending on the kind of entity.
949
986
  *
950
- * {@link https://lua-api.factorio.com/next/Concepts.html#BlueprintEntity View documentation}
987
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#BlueprintEntity View documentation}
951
988
  */
952
989
  interface BlueprintEntity {
953
990
  /** The entity's unique identifier in the blueprint. */
@@ -982,6 +1019,11 @@ interface BlueprintEntity {
982
1019
  readonly schedule?: TrainScheduleRecord[]
983
1020
  }
984
1021
 
1022
+ interface BlueprintEntityRead extends BlueprintEntity {
1023
+ /** The position of the entity. */
1024
+ readonly position: PositionTable
1025
+ }
1026
+
985
1027
  interface Tile {
986
1028
  /** The position of the tile. */
987
1029
  readonly position: Position
@@ -989,6 +1031,11 @@ interface Tile {
989
1031
  readonly name: string
990
1032
  }
991
1033
 
1034
+ interface TileRead extends Tile {
1035
+ /** The position of the tile. */
1036
+ readonly position: PositionTable
1037
+ }
1038
+
992
1039
  interface Fluid {
993
1040
  /** Fluid prototype name of the fluid. */
994
1041
  readonly name: string
@@ -1028,7 +1075,7 @@ interface ItemIngredient extends BaseIngredient {
1028
1075
  /**
1029
1076
  * Other attributes may be specified depending on `type`:
1030
1077
  *
1031
- * {@link https://lua-api.factorio.com/next/Concepts.html#Ingredient View documentation}
1078
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#Ingredient View documentation}
1032
1079
  */
1033
1080
  type Ingredient = FluidIngredient | ItemIngredient
1034
1081
 
@@ -1062,7 +1109,7 @@ interface ItemProduct extends BaseProduct {
1062
1109
  /**
1063
1110
  * Other attributes may be specified depending on `type`:
1064
1111
  *
1065
- * {@link https://lua-api.factorio.com/next/Concepts.html#Product View documentation}
1112
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#Product View documentation}
1066
1113
  *
1067
1114
  * @example
1068
1115
  * Products of the "steel-chest" recipe (an array of Product):
@@ -1263,7 +1310,7 @@ interface OtherTechnologyModifier extends BaseTechnologyModifier {
1263
1310
  *
1264
1311
  * Other attributes may be specified depending on `type`:
1265
1312
  *
1266
- * {@link https://lua-api.factorio.com/next/Concepts.html#TechnologyModifier View documentation}
1313
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#TechnologyModifier View documentation}
1267
1314
  */
1268
1315
  type TechnologyModifier =
1269
1316
  | GunSpeedTechnologyModifier
@@ -1277,7 +1324,7 @@ type TechnologyModifier =
1277
1324
  /**
1278
1325
  * A single offer on a market entity.
1279
1326
  *
1280
- * {@link https://lua-api.factorio.com/next/Concepts.html#Offer View documentation}
1327
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#Offer View documentation}
1281
1328
  */
1282
1329
  interface Offer {
1283
1330
  /** List of prices. */
@@ -1290,7 +1337,7 @@ interface Offer {
1290
1337
  * Specifies how probability and richness are calculated when placing something on the map. Can be specified either
1291
1338
  * using `probability_expression` and `richness_expression` or by using all the other fields.
1292
1339
  *
1293
- * {@link https://lua-api.factorio.com/next/Concepts.html#AutoplaceSpecification View documentation}
1340
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#AutoplaceSpecification View documentation}
1294
1341
  */
1295
1342
  interface AutoplaceSpecification {
1296
1343
  readonly probability_expression: NoiseExpression
@@ -1318,7 +1365,7 @@ interface AutoplaceSpecification {
1318
1365
  * generation. These can only be meaningfully written/modified during the data load phase. More detailed information is
1319
1366
  * found on the {@link https://wiki.factorio.com/Types/NoiseExpression wiki}.
1320
1367
  *
1321
- * {@link https://lua-api.factorio.com/next/Concepts.html#NoiseExpression View documentation}
1368
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#NoiseExpression View documentation}
1322
1369
  */
1323
1370
  interface NoiseExpression {
1324
1371
  /** Names the type of the expression and determines what other fields are required. */
@@ -1394,7 +1441,7 @@ interface Resistance {
1394
1441
  * **Note**: The map generation algorithm officially supports the range of values the in-game map generation screen
1395
1442
  * shows (specifically `0` and values from `1/6` to `6`). Values outside this range are not guaranteed to work as expected.
1396
1443
  *
1397
- * {@link https://lua-api.factorio.com/next/Concepts.html#MapGenSize View documentation}
1444
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#MapGenSize View documentation}
1398
1445
  */
1399
1446
  type MapGenSize =
1400
1447
  | number
@@ -1483,7 +1530,7 @@ interface CliffPlacementSettings {
1483
1530
  * the island preset. If generators are available for other properties, the 'map type' dropdown in the GUI will be
1484
1531
  * renamed to 'elevation' and shown along with selectors for the other selectable properties.
1485
1532
  *
1486
- * {@link https://lua-api.factorio.com/next/Concepts.html#MapGenSettings View documentation}
1533
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#MapGenSettings View documentation}
1487
1534
  *
1488
1535
  * @example
1489
1536
  * Assuming a NamedNoiseExpression with the name "my-alternate-grass1-probability" is defined
@@ -1584,6 +1631,11 @@ interface MapGenSettings {
1584
1631
  readonly property_expression_names: Record<string, string>
1585
1632
  }
1586
1633
 
1634
+ interface MapGenSettingsRead extends MapGenSettings {
1635
+ /** Positions of the starting areas. */
1636
+ readonly starting_points: PositionTable[]
1637
+ }
1638
+
1587
1639
  interface SignalID {
1588
1640
  /** `"item"`, `"fluid"`, or `"virtual"`. */
1589
1641
  readonly type: "item" | "fluid" | "virtual"
@@ -1594,7 +1646,7 @@ interface SignalID {
1594
1646
  /**
1595
1647
  * An actual signal transmitted by the network.
1596
1648
  *
1597
- * {@link https://lua-api.factorio.com/next/Concepts.html#Signal View documentation}
1649
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#Signal View documentation}
1598
1650
  */
1599
1651
  interface Signal {
1600
1652
  /** ID of the signal. */
@@ -1613,7 +1665,7 @@ interface UpgradeFilter {
1613
1665
  /**
1614
1666
  * A single filter used by an infinity-filters instance.
1615
1667
  *
1616
- * {@link https://lua-api.factorio.com/next/Concepts.html#InfinityInventoryFilter View documentation}
1668
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#InfinityInventoryFilter View documentation}
1617
1669
  */
1618
1670
  interface InfinityInventoryFilter {
1619
1671
  /** Name of the item. */
@@ -1629,7 +1681,7 @@ interface InfinityInventoryFilter {
1629
1681
  /**
1630
1682
  * A single filter used by an infinity-pipe type entity.
1631
1683
  *
1632
- * {@link https://lua-api.factorio.com/next/Concepts.html#InfinityPipeFilter View documentation}
1684
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#InfinityPipeFilter View documentation}
1633
1685
  */
1634
1686
  interface InfinityPipeFilter {
1635
1687
  /** Name of the fluid. */
@@ -1665,7 +1717,7 @@ interface FluidBoxFilterSpec {
1665
1717
  /**
1666
1718
  * The settings used by a heat-interface type entity.
1667
1719
  *
1668
- * {@link https://lua-api.factorio.com/next/Concepts.html#HeatSetting View documentation}
1720
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#HeatSetting View documentation}
1669
1721
  */
1670
1722
  interface HeatSetting {
1671
1723
  /** The target temperature. Defaults to the minimum temperature of the heat buffer. */
@@ -1682,7 +1734,7 @@ interface HeatConnection {
1682
1734
  /**
1683
1735
  * A definition of a fluidbox connection point.
1684
1736
  *
1685
- * {@link https://lua-api.factorio.com/next/Concepts.html#FluidBoxConnection View documentation}
1737
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#FluidBoxConnection View documentation}
1686
1738
  */
1687
1739
  interface FluidBoxConnection {
1688
1740
  /** The connection type: "input", "output", or "input-output". */
@@ -1726,7 +1778,7 @@ interface ConstantCombinatorParameters {
1726
1778
  * **Note**: While the API accepts both versions for `"less/greater than or equal to"` and `"not equal"`, it'll always
1727
1779
  * return `"≥"`, `"≤"` or `"≠"` respectively when reading them back.
1728
1780
  *
1729
- * {@link https://lua-api.factorio.com/next/Concepts.html#ComparatorString View documentation}
1781
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#ComparatorString View documentation}
1730
1782
  */
1731
1783
  type ComparatorString /** "equal to" */ =
1732
1784
  | "=" /** "greater than" */
@@ -1848,6 +1900,15 @@ interface GoToLocationCommand extends BaseCommand {
1848
1900
  readonly radius?: double
1849
1901
  }
1850
1902
 
1903
+ interface GoToLocationCommandRead extends BaseCommand, GoToLocationCommand {
1904
+ readonly type: defines.command.go_to_location
1905
+ /**
1906
+ * The position to path to. Either this or `destination_entity` need to be specified. If both are,
1907
+ * `destination_entity` is used.
1908
+ */
1909
+ readonly destination?: PositionTable
1910
+ }
1911
+
1851
1912
  interface CompoundCommand extends BaseCommand {
1852
1913
  readonly type: defines.command.compound
1853
1914
  /** How the commands should be chained together. */
@@ -1856,6 +1917,12 @@ interface CompoundCommand extends BaseCommand {
1856
1917
  readonly commands: Command[]
1857
1918
  }
1858
1919
 
1920
+ interface CompoundCommandRead extends BaseCommand, CompoundCommand {
1921
+ readonly type: defines.command.compound
1922
+ /** The sub-commands. */
1923
+ readonly commands: CommandRead[]
1924
+ }
1925
+
1859
1926
  interface GroupCommand extends BaseCommand {
1860
1927
  readonly type: defines.command.group
1861
1928
  /** The group whose command to follow. */
@@ -1876,6 +1943,12 @@ interface AttackAreaCommand extends BaseCommand {
1876
1943
  readonly distraction?: defines.distraction
1877
1944
  }
1878
1945
 
1946
+ interface AttackAreaCommandRead extends BaseCommand, AttackAreaCommand {
1947
+ readonly type: defines.command.attack_area
1948
+ /** Center of the attack area. */
1949
+ readonly destination: PositionTable
1950
+ }
1951
+
1879
1952
  interface WanderCommand extends BaseCommand {
1880
1953
  readonly type: defines.command.wander
1881
1954
  /** Defaults to `defines.distraction.by_enemy`. */
@@ -1922,12 +1995,29 @@ interface BuildBaseCommand extends BaseCommand {
1922
1995
  readonly ignore_planner?: boolean
1923
1996
  }
1924
1997
 
1998
+ interface BuildBaseCommandRead extends BaseCommand, BuildBaseCommand {
1999
+ readonly type: defines.command.build_base
2000
+ /** Where to build the base. */
2001
+ readonly destination: PositionTable
2002
+ }
2003
+
2004
+ type CommandRead =
2005
+ | AttackCommand
2006
+ | GoToLocationCommandRead
2007
+ | CompoundCommandRead
2008
+ | GroupCommand
2009
+ | AttackAreaCommandRead
2010
+ | WanderCommand
2011
+ | StopCommand
2012
+ | FleeCommand
2013
+ | BuildBaseCommandRead
2014
+
1925
2015
  /**
1926
2016
  * Commands can be given to enemies and unit groups.
1927
2017
  *
1928
2018
  * Other attributes may be specified depending on `type`:
1929
2019
  *
1930
- * {@link https://lua-api.factorio.com/next/Concepts.html#Command View documentation}
2020
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#Command View documentation}
1931
2021
  */
1932
2022
  type Command =
1933
2023
  | AttackCommand
@@ -1997,7 +2087,7 @@ interface ItemStackDefinition {
1997
2087
  * - String: The name of the item, which represents a full stack of that item.
1998
2088
  * - ItemStackDefinition: The detailed definition of an item stack.
1999
2089
  *
2000
- * {@link https://lua-api.factorio.com/next/Concepts.html#SimpleItemStack View documentation}
2090
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#SimpleItemStack View documentation}
2001
2091
  *
2002
2092
  * @example
2003
2093
  * Both of these lines specify an item stack of one iron plate:
@@ -2035,7 +2125,7 @@ type SimpleItemStack = string | ItemStackDefinition
2035
2125
  * - LuaFluidPrototype: The fluid prototype.
2036
2126
  * - Fluid: The fluid.
2037
2127
  *
2038
- * {@link https://lua-api.factorio.com/next/Concepts.html#FluidIdentification View documentation}
2128
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#FluidIdentification View documentation}
2039
2129
  */
2040
2130
  type FluidIdentification = string | LuaFluidPrototype | Fluid
2041
2131
 
@@ -2043,7 +2133,7 @@ type FluidIdentification = string | LuaFluidPrototype | Fluid
2043
2133
  * - String: The force name.
2044
2134
  * - LuaForce: A reference to {@link LuaForce} may be passed directly.
2045
2135
  *
2046
- * {@link https://lua-api.factorio.com/next/Concepts.html#ForceIdentification View documentation}
2136
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#ForceIdentification View documentation}
2047
2137
  */
2048
2138
  type ForceIdentification = string | LuaForce
2049
2139
 
@@ -2052,7 +2142,7 @@ type ForceIdentification = string | LuaForce
2052
2142
  * - LuaTechnology: A reference to {@link LuaTechnology} may be passed directly.
2053
2143
  * - LuaTechnologyPrototype: A reference to {@link LuaTechnologyPrototype} may be passed directly.
2054
2144
  *
2055
- * {@link https://lua-api.factorio.com/next/Concepts.html#TechnologyIdentification View documentation}
2145
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#TechnologyIdentification View documentation}
2056
2146
  */
2057
2147
  type TechnologyIdentification = string | LuaTechnology | LuaTechnologyPrototype
2058
2148
 
@@ -2062,7 +2152,7 @@ type TechnologyIdentification = string | LuaTechnology | LuaTechnologyPrototype
2062
2152
  * - String: It will be the surface name. E.g. `"nauvis"`.
2063
2153
  * - LuaSurface: A reference to {@link LuaSurface} may be passed directly.
2064
2154
  *
2065
- * {@link https://lua-api.factorio.com/next/Concepts.html#SurfaceIdentification View documentation}
2155
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#SurfaceIdentification View documentation}
2066
2156
  */
2067
2157
  type SurfaceIdentification = uint | string | LuaSurface
2068
2158
 
@@ -2071,7 +2161,7 @@ type SurfaceIdentification = uint | string | LuaSurface
2071
2161
  * - String: The player name.
2072
2162
  * - LuaPlayer: A reference to {@link LuaPlayer} may be passed directly.
2073
2163
  *
2074
- * {@link https://lua-api.factorio.com/next/Concepts.html#PlayerIdentification View documentation}
2164
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#PlayerIdentification View documentation}
2075
2165
  */
2076
2166
  type PlayerIdentification = uint | string | LuaPlayer
2077
2167
 
@@ -2082,7 +2172,7 @@ type ItemStackIdentification = SimpleItemStack | LuaItemStack
2082
2172
  * - LuaEntityPrototype: The entity prototype.
2083
2173
  * - String: The prototype name.
2084
2174
  *
2085
- * {@link https://lua-api.factorio.com/next/Concepts.html#EntityPrototypeIdentification View documentation}
2175
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#EntityPrototypeIdentification View documentation}
2086
2176
  */
2087
2177
  type EntityPrototypeIdentification = LuaEntity | LuaEntityPrototype | string
2088
2178
 
@@ -2091,7 +2181,7 @@ type EntityPrototypeIdentification = LuaEntity | LuaEntityPrototype | string
2091
2181
  * - LuaItemPrototype: The item prototype.
2092
2182
  * - String: The prototype name.
2093
2183
  *
2094
- * {@link https://lua-api.factorio.com/next/Concepts.html#ItemPrototypeIdentification View documentation}
2184
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#ItemPrototypeIdentification View documentation}
2095
2185
  */
2096
2186
  type ItemPrototypeIdentification = LuaItemStack | LuaItemPrototype | string
2097
2187
 
@@ -2209,7 +2299,7 @@ interface ActiveWindowGuiArrowSpecification extends BaseGuiArrowSpecification {
2209
2299
  *
2210
2300
  * Other attributes may be specified depending on `type`:
2211
2301
  *
2212
- * {@link https://lua-api.factorio.com/next/Concepts.html#GuiArrowSpecification View documentation}
2302
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#GuiArrowSpecification View documentation}
2213
2303
  */
2214
2304
  type GuiArrowSpecification =
2215
2305
  | EntityGuiArrowSpecification
@@ -2243,7 +2333,7 @@ interface BeamTarget {
2243
2333
  /** The target entity. */
2244
2334
  readonly entity?: LuaEntity
2245
2335
  /** The target position. */
2246
- readonly position?: Position
2336
+ readonly position?: PositionTable
2247
2337
  }
2248
2338
 
2249
2339
  interface RidingState {
@@ -2285,7 +2375,7 @@ type SpriteType =
2285
2375
  * slower; for frequently used sprites, it is better to define sprite prototype and use it instead.
2286
2376
  * - `"utility"` - sprite defined in the utility-sprites object, these are the pictures used by the game internally for the UI.
2287
2377
  *
2288
- * {@link https://lua-api.factorio.com/next/Concepts.html#SpritePath View documentation}
2378
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#SpritePath View documentation}
2289
2379
  */
2290
2380
  type SpritePath = string | `${SpriteType}/${string}`
2291
2381
 
@@ -2327,7 +2417,7 @@ type SpritePath = string | `${SpriteType}/${string}`
2327
2417
  * - `"entity-open"` - Uses {@link https://wiki.factorio.com/Prototype/Entity#open_sound Entity::open_sound}
2328
2418
  * - `"entity-close"` - Uses {@link https://wiki.factorio.com/Prototype/Entity#close_sound Entity::close_sound}
2329
2419
  *
2330
- * {@link https://lua-api.factorio.com/next/Concepts.html#SoundPath View documentation}
2420
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#SoundPath View documentation}
2331
2421
  */
2332
2422
  type SoundPath = string | `${SoundType}/${string}`
2333
2423
 
@@ -2337,7 +2427,7 @@ interface ModuleEffectValue {
2337
2427
  }
2338
2428
 
2339
2429
  /**
2340
- * {@link https://lua-api.factorio.com/next/Concepts.html#ModuleEffects View documentation}
2430
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#ModuleEffects View documentation}
2341
2431
  *
2342
2432
  * @example
2343
2433
  * These are the effects of the vanilla Productivity Module 3 (up to floating point imprecisions):
@@ -2361,7 +2451,7 @@ interface ModuleEffects {
2361
2451
  * the dictionary with the value `true`. Unset flags aren't present in the dictionary at all. So, the boolean value is
2362
2452
  * meaningless and exists just for easy table lookup if a flag is set.
2363
2453
  *
2364
- * {@link https://lua-api.factorio.com/next/Concepts.html#EntityPrototypeFlags View documentation}
2454
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#EntityPrototypeFlags View documentation}
2365
2455
  */
2366
2456
  interface EntityPrototypeFlags {
2367
2457
  readonly "not-rotatable"?: boolean
@@ -2396,7 +2486,7 @@ interface EntityPrototypeFlags {
2396
2486
  * dictionary with the value `true`. Unset flags aren't present in the dictionary at all. So, the boolean value is
2397
2487
  * meaningless and exists just for easy table lookup if a flag is set.
2398
2488
  *
2399
- * {@link https://lua-api.factorio.com/next/Concepts.html#ItemPrototypeFlags View documentation}
2489
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#ItemPrototypeFlags View documentation}
2400
2490
  */
2401
2491
  interface ItemPrototypeFlags {
2402
2492
  readonly "draw-logistic-overlay"?: boolean
@@ -2435,7 +2525,7 @@ interface ItemPrototypeFlags {
2435
2525
  * change. If a mod is going to use one of the unused layers it's recommended to start at the higher layers because the
2436
2526
  * base game will take from the lower ones.
2437
2527
  *
2438
- * {@link https://lua-api.factorio.com/next/Concepts.html#CollisionMaskLayer View documentation}
2528
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#CollisionMaskLayer View documentation}
2439
2529
  */
2440
2530
  type CollisionMaskLayer =
2441
2531
  | "ground-tile"
@@ -2457,7 +2547,7 @@ type CollisionMaskLayer =
2457
2547
  * This is a set of masks given as a dictionary[{@link CollisionMaskLayer} → {@link boolean}]. Only set masks are present
2458
2548
  * in the dictionary and they have the value `true`. Unset flags aren't present at all.
2459
2549
  *
2460
- * {@link https://lua-api.factorio.com/next/Concepts.html#CollisionMask View documentation}
2550
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#CollisionMask View documentation}
2461
2551
  */
2462
2552
  type CollisionMask = {
2463
2553
  readonly [P in CollisionMaskLayer]?: true
@@ -2472,7 +2562,7 @@ type CollisionMask = {
2472
2562
  * - `"consider-tile-transitions"`
2473
2563
  * - `"colliding-with-tiles-only"`
2474
2564
  *
2475
- * {@link https://lua-api.factorio.com/next/Concepts.html#CollisionMaskWithFlags View documentation}
2565
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#CollisionMaskWithFlags View documentation}
2476
2566
  */
2477
2567
  type CollisionMaskWithFlags = {
2478
2568
  readonly [P in
@@ -2485,7 +2575,7 @@ type CollisionMaskWithFlags = {
2485
2575
  /**
2486
2576
  * This is a set of trigger target masks given as a dictionary[{@link string} → {@link boolean}].
2487
2577
  *
2488
- * {@link https://lua-api.factorio.com/next/Concepts.html#TriggerTargetMask View documentation}
2578
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#TriggerTargetMask View documentation}
2489
2579
  */
2490
2580
  type TriggerTargetMask = {
2491
2581
  readonly [P in string]?: true
@@ -2569,7 +2659,7 @@ interface CircularParticleCreationSpecification {
2569
2659
  * - A {@link RealOrientation}
2570
2660
  * - A {@link Vector}
2571
2661
  *
2572
- * {@link https://lua-api.factorio.com/next/Concepts.html#CircularProjectileCreationSpecification View documentation}
2662
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#CircularProjectileCreationSpecification View documentation}
2573
2663
  */
2574
2664
  type CircularProjectileCreationSpecification = [RealOrientation, Vector]
2575
2665
 
@@ -2648,7 +2738,7 @@ interface BeamAttackParameters extends BaseAttackParameters {
2648
2738
  /**
2649
2739
  * Other attributes may be specified depending on `type`:
2650
2740
  *
2651
- * {@link https://lua-api.factorio.com/next/Concepts.html#AttackParameters View documentation}
2741
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#AttackParameters View documentation}
2652
2742
  */
2653
2743
  type AttackParameters = ProjectileAttackParameters | StreamAttackParameters | BeamAttackParameters
2654
2744
 
@@ -2665,7 +2755,7 @@ interface CapsuleAction {
2665
2755
  * This is a set of flags given as a dictionary[{@link string} → {@link boolean}]. Set flags are present in the dictionary
2666
2756
  * with the value `true`; unset flags aren't present at all.
2667
2757
  *
2668
- * {@link https://lua-api.factorio.com/next/Concepts.html#SelectionModeFlags View documentation}
2758
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#SelectionModeFlags View documentation}
2669
2759
  */
2670
2760
  interface SelectionModeFlags {
2671
2761
  /** Entities that can be selected for blueprint. */
@@ -2709,7 +2799,7 @@ interface LogisticFilter {
2709
2799
  * **Note**: Runtime settings can be changed through console commands and by the mod that owns the settings by writing a
2710
2800
  * new table to the ModSetting.
2711
2801
  *
2712
- * {@link https://lua-api.factorio.com/next/Concepts.html#ModSetting View documentation}
2802
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#ModSetting View documentation}
2713
2803
  */
2714
2804
  interface ModSetting {
2715
2805
  /** The value of the mod setting. The type depends on the setting. */
@@ -2719,14 +2809,14 @@ interface ModSetting {
2719
2809
  /**
2720
2810
  * Any basic type (string, number, boolean) or table.
2721
2811
  *
2722
- * {@link https://lua-api.factorio.com/next/Concepts.html#AnyBasic View documentation}
2812
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#AnyBasic View documentation}
2723
2813
  */
2724
2814
  type AnyBasic = string | number | boolean | table
2725
2815
 
2726
2816
  /**
2727
2817
  * Any basic type (string, number, boolean), table, or LuaObject.
2728
2818
  *
2729
- * {@link https://lua-api.factorio.com/next/Concepts.html#Any View documentation}
2819
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#Any View documentation}
2730
2820
  */
2731
2821
  type Any = any
2732
2822
 
@@ -2757,7 +2847,7 @@ interface ProgrammableSpeakerInstrument {
2757
2847
  /**
2758
2848
  * A {@link string} that specifies where a gui element should be.
2759
2849
  *
2760
- * {@link https://lua-api.factorio.com/next/Concepts.html#Alignment View documentation}
2850
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#Alignment View documentation}
2761
2851
  */
2762
2852
  type Alignment =
2763
2853
  | "top-left"
@@ -2774,9 +2864,9 @@ type Alignment =
2774
2864
 
2775
2865
  /**
2776
2866
  * Information about the event that has been raised. The table can also contain other fields depending on the type of
2777
- * event. See {@link https://lua-api.factorio.com/next/events.html the list of Factorio events} for more information on these.
2867
+ * event. See {@link https://lua-api.factorio.com/latest/events.html the list of Factorio events} for more information on these.
2778
2868
  *
2779
- * {@link https://lua-api.factorio.com/next/Concepts.html#EventData View documentation}
2869
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#EventData View documentation}
2780
2870
  */
2781
2871
  interface EventData {
2782
2872
  /** The identifier of the event this handler was registered to. */
@@ -2837,7 +2927,7 @@ interface SelectedPrototypeData {
2837
2927
  interface ScriptRenderTarget {
2838
2928
  readonly entity?: LuaEntity
2839
2929
  readonly entity_offset?: Vector
2840
- readonly position?: Position
2930
+ readonly position?: PositionTable
2841
2931
  }
2842
2932
 
2843
2933
  type MouseButtonFlag =
@@ -2877,14 +2967,14 @@ type MouseButtonFlagsArray = readonly (MouseButtonFlag | "left-and-right")[]
2877
2967
  * - `"button-8"`
2878
2968
  * - `"button-9"`
2879
2969
  *
2880
- * {@link https://lua-api.factorio.com/next/Concepts.html#MouseButtonFlags View documentation}
2970
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#MouseButtonFlags View documentation}
2881
2971
  */
2882
2972
  type MouseButtonFlags = MouseButtonFlagsTable | MouseButtonFlagsArray
2883
2973
 
2884
2974
  /**
2885
2975
  * It is specified by {@link string}.
2886
2976
  *
2887
- * {@link https://lua-api.factorio.com/next/Concepts.html#CursorBoxRenderType View documentation}
2977
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#CursorBoxRenderType View documentation}
2888
2978
  */
2889
2979
  type CursorBoxRenderType /** Yellow box. */ =
2890
2980
  | "entity" /** Red box. */
@@ -2899,7 +2989,7 @@ type CursorBoxRenderType /** Yellow box. */ =
2899
2989
  /**
2900
2990
  * It is specified by {@link string}.
2901
2991
  *
2902
- * {@link https://lua-api.factorio.com/next/Concepts.html#ForceCondition View documentation}
2992
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#ForceCondition View documentation}
2903
2993
  */
2904
2994
  type ForceCondition /** All forces pass. */ =
2905
2995
  | "all" /** Forces which will attack pass. */
@@ -2958,7 +3048,7 @@ type ForceCondition /** All forces pass. */ =
2958
3048
  * - `"arrow"`: 190
2959
3049
  * - `"cursor"`: 210
2960
3050
  *
2961
- * {@link https://lua-api.factorio.com/next/Concepts.html#RenderLayer View documentation}
3051
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#RenderLayer View documentation}
2962
3052
  */
2963
3053
  type RenderLayer =
2964
3054
  | number
@@ -3042,7 +3132,7 @@ interface VehicleAutomaticTargetingParameters {
3042
3132
  * Defines which slider in the game's sound settings affects the volume of this sound. Furthermore, some sound types are
3043
3133
  * mixed differently than others, e.g. zoom level effects are applied.
3044
3134
  *
3045
- * {@link https://lua-api.factorio.com/next/Concepts.html#SoundType View documentation}
3135
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#SoundType View documentation}
3046
3136
  */
3047
3137
  type SoundType = "game-effect" | "gui-effect" | "ambient" | "environment" | "walking" | "alert" | "wind"
3048
3138
 
@@ -3239,7 +3329,7 @@ interface FuelItemPrototypeFilter extends BaseItemPrototypeFilter {
3239
3329
  /**
3240
3330
  * Other attributes may be specified depending on `filter`:
3241
3331
  *
3242
- * {@link https://lua-api.factorio.com/next/Concepts.html#ItemPrototypeFilter View documentation}
3332
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#ItemPrototypeFilter View documentation}
3243
3333
  */
3244
3334
  type ItemPrototypeFilter =
3245
3335
  | PlaceResultItemPrototypeFilter
@@ -3299,7 +3389,7 @@ interface SettingTypeModSettingPrototypeFilter extends BaseModSettingPrototypeFi
3299
3389
  /**
3300
3390
  * Other attributes may be specified depending on `filter`:
3301
3391
  *
3302
- * {@link https://lua-api.factorio.com/next/Concepts.html#ModSettingPrototypeFilter View documentation}
3392
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#ModSettingPrototypeFilter View documentation}
3303
3393
  */
3304
3394
  type ModSettingPrototypeFilter =
3305
3395
  | TypeModSettingPrototypeFilter
@@ -3385,7 +3475,7 @@ interface HasPrerequisitesTechnologyPrototypeFilter extends BaseTechnologyProtot
3385
3475
  /**
3386
3476
  * Other attributes may be specified depending on `filter`:
3387
3477
  *
3388
- * {@link https://lua-api.factorio.com/next/Concepts.html#TechnologyPrototypeFilter View documentation}
3478
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#TechnologyPrototypeFilter View documentation}
3389
3479
  */
3390
3480
  type TechnologyPrototypeFilter =
3391
3481
  | ResearchUnitIngredientTechnologyPrototypeFilter
@@ -3429,7 +3519,7 @@ interface AutoplaceDecorativePrototypeFilter extends BaseDecorativePrototypeFilt
3429
3519
  /**
3430
3520
  * Other attributes may be specified depending on `filter`:
3431
3521
  *
3432
- * {@link https://lua-api.factorio.com/next/Concepts.html#DecorativePrototypeFilter View documentation}
3522
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#DecorativePrototypeFilter View documentation}
3433
3523
  */
3434
3524
  type DecorativePrototypeFilter =
3435
3525
  | CollisionMaskDecorativePrototypeFilter
@@ -3461,7 +3551,7 @@ interface AllowedWithoutFightAchievementPrototypeFilter extends BaseAchievementP
3461
3551
  /**
3462
3552
  * Other attributes may be specified depending on `filter`:
3463
3553
  *
3464
- * {@link https://lua-api.factorio.com/next/Concepts.html#AchievementPrototypeFilter View documentation}
3554
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#AchievementPrototypeFilter View documentation}
3465
3555
  */
3466
3556
  type AchievementPrototypeFilter = TypeAchievementPrototypeFilter | AllowedWithoutFightAchievementPrototypeFilter
3467
3557
 
@@ -3554,7 +3644,7 @@ interface HiddenFluidPrototypeFilter extends BaseFluidPrototypeFilter {
3554
3644
  /**
3555
3645
  * Other attributes may be specified depending on `filter`:
3556
3646
  *
3557
- * {@link https://lua-api.factorio.com/next/Concepts.html#FluidPrototypeFilter View documentation}
3647
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#FluidPrototypeFilter View documentation}
3558
3648
  */
3559
3649
  type FluidPrototypeFilter =
3560
3650
  | NameFluidPrototypeFilter
@@ -3592,7 +3682,7 @@ interface ItemToPlaceEquipmentPrototypeFilter extends BaseEquipmentPrototypeFilt
3592
3682
  /**
3593
3683
  * Other attributes may be specified depending on `filter`:
3594
3684
  *
3595
- * {@link https://lua-api.factorio.com/next/Concepts.html#EquipmentPrototypeFilter View documentation}
3685
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#EquipmentPrototypeFilter View documentation}
3596
3686
  */
3597
3687
  type EquipmentPrototypeFilter = TypeEquipmentPrototypeFilter | ItemToPlaceEquipmentPrototypeFilter
3598
3688
 
@@ -3675,7 +3765,7 @@ interface ItemToPlaceTilePrototypeFilter extends BaseTilePrototypeFilter {
3675
3765
  /**
3676
3766
  * Other attributes may be specified depending on `filter`:
3677
3767
  *
3678
- * {@link https://lua-api.factorio.com/next/Concepts.html#TilePrototypeFilter View documentation}
3768
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#TilePrototypeFilter View documentation}
3679
3769
  */
3680
3770
  type TilePrototypeFilter =
3681
3771
  | CollisionMaskTilePrototypeFilter
@@ -3863,7 +3953,7 @@ interface HasProductsRecipePrototypeFilter extends BaseRecipePrototypeFilter {
3863
3953
  /**
3864
3954
  * Other attributes may be specified depending on `filter`:
3865
3955
  *
3866
- * {@link https://lua-api.factorio.com/next/Concepts.html#RecipePrototypeFilter View documentation}
3956
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#RecipePrototypeFilter View documentation}
3867
3957
  */
3868
3958
  type RecipePrototypeFilter =
3869
3959
  | HasIngredientItemRecipePrototypeFilter
@@ -4122,7 +4212,7 @@ interface ItemToPlaceEntityPrototypeFilter extends BaseEntityPrototypeFilter {
4122
4212
  /**
4123
4213
  * Other attributes may be specified depending on `filter`:
4124
4214
  *
4125
- * {@link https://lua-api.factorio.com/next/Concepts.html#EntityPrototypeFilter View documentation}
4215
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#EntityPrototypeFilter View documentation}
4126
4216
  */
4127
4217
  type EntityPrototypeFilter =
4128
4218
  | NameEntityPrototypeFilter
@@ -4261,7 +4351,7 @@ interface CircuitNetworkConnectableScriptRaisedReviveEventFilter extends BaseScr
4261
4351
  /**
4262
4352
  * Other attributes may be specified depending on `filter`:
4263
4353
  *
4264
- * {@link https://lua-api.factorio.com/next/Concepts.html#LuaScriptRaisedReviveEventFilter View documentation}
4354
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#LuaScriptRaisedReviveEventFilter View documentation}
4265
4355
  */
4266
4356
  type LuaScriptRaisedReviveEventFilter =
4267
4357
  | TypeScriptRaisedReviveEventFilter
@@ -4382,7 +4472,7 @@ interface CircuitNetworkConnectableEntityDiedEventFilter extends BaseEntityDiedE
4382
4472
  /**
4383
4473
  * Other attributes may be specified depending on `filter`:
4384
4474
  *
4385
- * {@link https://lua-api.factorio.com/next/Concepts.html#LuaEntityDiedEventFilter View documentation}
4475
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#LuaEntityDiedEventFilter View documentation}
4386
4476
  */
4387
4477
  type LuaEntityDiedEventFilter =
4388
4478
  | TypeEntityDiedEventFilter
@@ -4506,7 +4596,7 @@ interface CircuitNetworkConnectableEntityMarkedForDeconstructionEventFilter
4506
4596
  /**
4507
4597
  * Other attributes may be specified depending on `filter`:
4508
4598
  *
4509
- * {@link https://lua-api.factorio.com/next/Concepts.html#LuaEntityMarkedForDeconstructionEventFilter View documentation}
4599
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#LuaEntityMarkedForDeconstructionEventFilter View documentation}
4510
4600
  */
4511
4601
  type LuaEntityMarkedForDeconstructionEventFilter =
4512
4602
  | TypeEntityMarkedForDeconstructionEventFilter
@@ -4627,7 +4717,7 @@ interface CircuitNetworkConnectablePreGhostDeconstructedEventFilter extends Base
4627
4717
  /**
4628
4718
  * Other attributes may be specified depending on `filter`:
4629
4719
  *
4630
- * {@link https://lua-api.factorio.com/next/Concepts.html#LuaPreGhostDeconstructedEventFilter View documentation}
4720
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#LuaPreGhostDeconstructedEventFilter View documentation}
4631
4721
  */
4632
4722
  type LuaPreGhostDeconstructedEventFilter =
4633
4723
  | TypePreGhostDeconstructedEventFilter
@@ -4748,7 +4838,7 @@ interface CircuitNetworkConnectableScriptRaisedDestroyEventFilter extends BaseSc
4748
4838
  /**
4749
4839
  * Other attributes may be specified depending on `filter`:
4750
4840
  *
4751
- * {@link https://lua-api.factorio.com/next/Concepts.html#LuaScriptRaisedDestroyEventFilter View documentation}
4841
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#LuaScriptRaisedDestroyEventFilter View documentation}
4752
4842
  */
4753
4843
  type LuaScriptRaisedDestroyEventFilter =
4754
4844
  | TypeScriptRaisedDestroyEventFilter
@@ -4869,7 +4959,7 @@ interface CircuitNetworkConnectableUpgradeCancelledEventFilter extends BaseUpgra
4869
4959
  /**
4870
4960
  * Other attributes may be specified depending on `filter`:
4871
4961
  *
4872
- * {@link https://lua-api.factorio.com/next/Concepts.html#LuaUpgradeCancelledEventFilter View documentation}
4962
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#LuaUpgradeCancelledEventFilter View documentation}
4873
4963
  */
4874
4964
  type LuaUpgradeCancelledEventFilter =
4875
4965
  | TypeUpgradeCancelledEventFilter
@@ -4990,7 +5080,7 @@ interface CircuitNetworkConnectablePlayerRepairedEntityEventFilter extends BaseP
4990
5080
  /**
4991
5081
  * Other attributes may be specified depending on `filter`:
4992
5082
  *
4993
- * {@link https://lua-api.factorio.com/next/Concepts.html#LuaPlayerRepairedEntityEventFilter View documentation}
5083
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#LuaPlayerRepairedEntityEventFilter View documentation}
4994
5084
  */
4995
5085
  type LuaPlayerRepairedEntityEventFilter =
4996
5086
  | TypePlayerRepairedEntityEventFilter
@@ -5111,7 +5201,7 @@ interface CircuitNetworkConnectableEntityMarkedForUpgradeEventFilter extends Bas
5111
5201
  /**
5112
5202
  * Other attributes may be specified depending on `filter`:
5113
5203
  *
5114
- * {@link https://lua-api.factorio.com/next/Concepts.html#LuaEntityMarkedForUpgradeEventFilter View documentation}
5204
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#LuaEntityMarkedForUpgradeEventFilter View documentation}
5115
5205
  */
5116
5206
  type LuaEntityMarkedForUpgradeEventFilter =
5117
5207
  | TypeEntityMarkedForUpgradeEventFilter
@@ -5151,7 +5241,7 @@ interface TypePostEntityDiedEventFilter extends BasePostEntityDiedEventFilter {
5151
5241
  /**
5152
5242
  * Other attributes may be specified depending on `filter`:
5153
5243
  *
5154
- * {@link https://lua-api.factorio.com/next/Concepts.html#LuaPostEntityDiedEventFilter View documentation}
5244
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#LuaPostEntityDiedEventFilter View documentation}
5155
5245
  */
5156
5246
  type LuaPostEntityDiedEventFilter = TypePostEntityDiedEventFilter
5157
5247
 
@@ -5257,7 +5347,7 @@ interface CircuitNetworkConnectablePreRobotMinedEntityEventFilter extends BasePr
5257
5347
  /**
5258
5348
  * Other attributes may be specified depending on `filter`:
5259
5349
  *
5260
- * {@link https://lua-api.factorio.com/next/Concepts.html#LuaPreRobotMinedEntityEventFilter View documentation}
5350
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#LuaPreRobotMinedEntityEventFilter View documentation}
5261
5351
  */
5262
5352
  type LuaPreRobotMinedEntityEventFilter =
5263
5353
  | TypePreRobotMinedEntityEventFilter
@@ -5378,7 +5468,7 @@ interface CircuitNetworkConnectableEntityClonedEventFilter extends BaseEntityClo
5378
5468
  /**
5379
5469
  * Other attributes may be specified depending on `filter`:
5380
5470
  *
5381
- * {@link https://lua-api.factorio.com/next/Concepts.html#LuaEntityClonedEventFilter View documentation}
5471
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#LuaEntityClonedEventFilter View documentation}
5382
5472
  */
5383
5473
  type LuaEntityClonedEventFilter =
5384
5474
  | TypeEntityClonedEventFilter
@@ -5499,7 +5589,7 @@ interface CircuitNetworkConnectableScriptRaisedBuiltEventFilter extends BaseScri
5499
5589
  /**
5500
5590
  * Other attributes may be specified depending on `filter`:
5501
5591
  *
5502
- * {@link https://lua-api.factorio.com/next/Concepts.html#LuaScriptRaisedBuiltEventFilter View documentation}
5592
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#LuaScriptRaisedBuiltEventFilter View documentation}
5503
5593
  */
5504
5594
  type LuaScriptRaisedBuiltEventFilter =
5505
5595
  | TypeScriptRaisedBuiltEventFilter
@@ -5620,7 +5710,7 @@ interface CircuitNetworkConnectableRobotMinedEntityEventFilter extends BaseRobot
5620
5710
  /**
5621
5711
  * Other attributes may be specified depending on `filter`:
5622
5712
  *
5623
- * {@link https://lua-api.factorio.com/next/Concepts.html#LuaRobotMinedEntityEventFilter View documentation}
5713
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#LuaRobotMinedEntityEventFilter View documentation}
5624
5714
  */
5625
5715
  type LuaRobotMinedEntityEventFilter =
5626
5716
  | TypeRobotMinedEntityEventFilter
@@ -5741,7 +5831,7 @@ interface CircuitNetworkConnectablePrePlayerMinedEntityEventFilter extends BaseP
5741
5831
  /**
5742
5832
  * Other attributes may be specified depending on `filter`:
5743
5833
  *
5744
- * {@link https://lua-api.factorio.com/next/Concepts.html#LuaPrePlayerMinedEntityEventFilter View documentation}
5834
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#LuaPrePlayerMinedEntityEventFilter View documentation}
5745
5835
  */
5746
5836
  type LuaPrePlayerMinedEntityEventFilter =
5747
5837
  | TypePrePlayerMinedEntityEventFilter
@@ -5870,7 +5960,7 @@ interface CircuitNetworkConnectableRobotBuiltEntityEventFilter extends BaseRobot
5870
5960
  /**
5871
5961
  * Other attributes may be specified depending on `filter`:
5872
5962
  *
5873
- * {@link https://lua-api.factorio.com/next/Concepts.html#LuaRobotBuiltEntityEventFilter View documentation}
5963
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#LuaRobotBuiltEntityEventFilter View documentation}
5874
5964
  */
5875
5965
  type LuaRobotBuiltEntityEventFilter =
5876
5966
  | TypeRobotBuiltEntityEventFilter
@@ -5995,7 +6085,7 @@ interface CircuitNetworkConnectableEntityDeconstructionCancelledEventFilter
5995
6085
  /**
5996
6086
  * Other attributes may be specified depending on `filter`:
5997
6087
  *
5998
- * {@link https://lua-api.factorio.com/next/Concepts.html#LuaEntityDeconstructionCancelledEventFilter View documentation}
6088
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#LuaEntityDeconstructionCancelledEventFilter View documentation}
5999
6089
  */
6000
6090
  type LuaEntityDeconstructionCancelledEventFilter =
6001
6091
  | TypeEntityDeconstructionCancelledEventFilter
@@ -6124,7 +6214,7 @@ interface CircuitNetworkConnectablePlayerBuiltEntityEventFilter extends BasePlay
6124
6214
  /**
6125
6215
  * Other attributes may be specified depending on `filter`:
6126
6216
  *
6127
- * {@link https://lua-api.factorio.com/next/Concepts.html#LuaPlayerBuiltEntityEventFilter View documentation}
6217
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#LuaPlayerBuiltEntityEventFilter View documentation}
6128
6218
  */
6129
6219
  type LuaPlayerBuiltEntityEventFilter =
6130
6220
  | TypePlayerBuiltEntityEventFilter
@@ -6246,7 +6336,7 @@ interface CircuitNetworkConnectablePlayerMinedEntityEventFilter extends BasePlay
6246
6336
  /**
6247
6337
  * Other attributes may be specified depending on `filter`:
6248
6338
  *
6249
- * {@link https://lua-api.factorio.com/next/Concepts.html#LuaPlayerMinedEntityEventFilter View documentation}
6339
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#LuaPlayerMinedEntityEventFilter View documentation}
6250
6340
  */
6251
6341
  type LuaPlayerMinedEntityEventFilter =
6252
6342
  | TypePlayerMinedEntityEventFilter
@@ -6399,7 +6489,7 @@ interface CircuitNetworkConnectableEntityDamagedEventFilter extends BaseEntityDa
6399
6489
  /**
6400
6490
  * Other attributes may be specified depending on `filter`:
6401
6491
  *
6402
- * {@link https://lua-api.factorio.com/next/Concepts.html#LuaEntityDamagedEventFilter View documentation}
6492
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#LuaEntityDamagedEventFilter View documentation}
6403
6493
  */
6404
6494
  type LuaEntityDamagedEventFilter =
6405
6495
  | TypeEntityDamagedEventFilter
@@ -6524,7 +6614,7 @@ interface CircuitNetworkConnectableSectorScannedEventFilter extends BaseSectorSc
6524
6614
  /**
6525
6615
  * Other attributes may be specified depending on `filter`:
6526
6616
  *
6527
- * {@link https://lua-api.factorio.com/next/Concepts.html#LuaSectorScannedEventFilter View documentation}
6617
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#LuaSectorScannedEventFilter View documentation}
6528
6618
  */
6529
6619
  type LuaSectorScannedEventFilter =
6530
6620
  | TypeSectorScannedEventFilter
@@ -6543,6 +6633,23 @@ type LuaSectorScannedEventFilter =
6543
6633
  | TransportBeltConnectableSectorScannedEventFilter
6544
6634
  | CircuitNetworkConnectableSectorScannedEventFilter
6545
6635
 
6636
+ type StyleValuesArray =
6637
+ | readonly [topBottom: number, leftRight: number]
6638
+ | readonly [top: number, right: number, bottom: number, left: number]
6639
+
6640
+ type SizeArray = readonly [width: int, height: int]
6641
+
6642
+ type RaiseableEvents =
6643
+ | typeof defines.events.on_console_chat
6644
+ | typeof defines.events.on_player_crafted_item
6645
+ | typeof defines.events.on_player_fast_transferred
6646
+ | typeof defines.events.on_biter_base_built
6647
+ | typeof defines.events.on_market_item_purchased
6648
+ | typeof defines.events.script_raised_built
6649
+ | typeof defines.events.script_raised_destroy
6650
+ | typeof defines.events.script_raised_revive
6651
+ | typeof defines.events.script_raised_set_tiles
6652
+
6546
6653
  /**
6547
6654
  * A map gen preset. Used in {@link https://wiki.factorio.com/Prototype/MapGenPresets Prototype/MapGenPresets}.
6548
6655
  *