typed-factorio 0.13.1 → 0.15.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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
  *