typed-factorio 0.13.0 → 0.14.1

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.
@@ -1,3 +1,5 @@
1
+ // This is an auto-generated file. Do not edit directly!
2
+
1
3
  /** @noSelfInFile */
2
4
 
3
5
  /**
@@ -17,7 +19,7 @@
17
19
  * Furthermore, when an API function expects a localised string, it will also accept a regular string (i.e. not a table)
18
20
  * which will not be translated, as well as a number or boolean, which will be converted to their textual representation.
19
21
  *
20
- * {@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}
21
23
  *
22
24
  * @example
23
25
  * In the English translation, this will print `"No ammo"`; in the Czech translation, it will print `"Bez munice"`:
@@ -67,7 +69,7 @@ interface LogisticParameters {
67
69
  *
68
70
  * For example then, a value of `0.625` would indicate "south-west", and a value of `0.875` would indicate "north-west".
69
71
  *
70
- * {@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}
71
73
  */
72
74
  type RealOrientation = float
73
75
 
@@ -82,7 +84,7 @@ type PositionArray = readonly [x: int, y: int]
82
84
  * Coordinates of a tile in a map. Positions may be specified either as a dictionary with `x`, `y` as keys, or simply as
83
85
  * an array with two elements.
84
86
  *
85
- * {@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}
86
88
  *
87
89
  * @example
88
90
  * Explicit definition:
@@ -103,7 +105,7 @@ type Position = PositionTable | PositionArray
103
105
  * Coordinates of an entity on a map. This uses the same format as {@link Position}, meaning it can be specified either
104
106
  * with or without explicit keys.
105
107
  *
106
- * {@link https://lua-api.factorio.com/next/Concepts.html#MapPosition View documentation}
108
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#MapPosition View documentation}
107
109
  */
108
110
  interface MapPosition {
109
111
  readonly x: double
@@ -122,7 +124,7 @@ type ChunkPositionArray = readonly [x: int, y: int]
122
124
  * same format as {@link Position}, meaning it can be specified either with or without explicit keys. A {@link Position}
123
125
  * can be translated to a ChunkPosition by dividing the `x`/`y` values by 32.
124
126
  *
125
- * {@link https://lua-api.factorio.com/next/Concepts.html#ChunkPosition View documentation}
127
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#ChunkPosition View documentation}
126
128
  */
127
129
  type ChunkPosition = ChunkPositionTable | ChunkPositionArray
128
130
 
@@ -138,7 +140,7 @@ type TilePositionArray = readonly [x: int, y: int]
138
140
  * uses the same format as {@link Position} except it rounds any `x`/`y` down to whole numbers. It can be specified
139
141
  * either with or without explicit keys.
140
142
  *
141
- * {@link https://lua-api.factorio.com/next/Concepts.html#TilePosition View documentation}
143
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#TilePosition View documentation}
142
144
  */
143
145
  type TilePosition = TilePositionTable | TilePositionArray
144
146
 
@@ -153,14 +155,14 @@ type GuiLocationArray = readonly [x: int, y: int]
153
155
  * Screen coordinates of a GUI element in a {@link LuaGui}. This uses the same format as {@link Position} except it rounds
154
156
  * any `x`/`y` down to whole numbers. It can be specified either with or without explicit keys.
155
157
  *
156
- * {@link https://lua-api.factorio.com/next/Concepts.html#GuiLocation View documentation}
158
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#GuiLocation View documentation}
157
159
  */
158
160
  type GuiLocation = GuiLocationTable | GuiLocationArray
159
161
 
160
162
  /**
161
163
  * A {@link ChunkPosition} with an added bounding box for the area of the chunk.
162
164
  *
163
- * {@link https://lua-api.factorio.com/next/Concepts.html#ChunkPositionAndArea View documentation}
165
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#ChunkPositionAndArea View documentation}
164
166
  */
165
167
  interface ChunkPositionAndArea {
166
168
  readonly x: int
@@ -171,7 +173,7 @@ interface ChunkPositionAndArea {
171
173
  /**
172
174
  * A table used to define a manual shape for a piece of equipment.
173
175
  *
174
- * {@link https://lua-api.factorio.com/next/Concepts.html#EquipmentPoint View documentation}
176
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#EquipmentPoint View documentation}
175
177
  */
176
178
  interface EquipmentPoint {
177
179
  readonly x: uint
@@ -205,7 +207,7 @@ interface OldTileAndPosition {
205
207
  /**
206
208
  * A dictionary of string to the four basic Lua types: `string`, `boolean`, `number`, `table`.
207
209
  *
208
- * {@link https://lua-api.factorio.com/next/Concepts.html#Tags View documentation}
210
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#Tags View documentation}
209
211
  *
210
212
  * @example
211
213
  * ```lua
@@ -217,7 +219,7 @@ type Tags = Record<string, AnyBasic | undefined>
217
219
  /**
218
220
  * **Note**: The vectors for all 5 position attributes are a table with `x` and `y` keys instead of an array.
219
221
  *
220
- * {@link https://lua-api.factorio.com/next/Concepts.html#SmokeSource View documentation}
222
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#SmokeSource View documentation}
221
223
  */
222
224
  interface SmokeSource {
223
225
  readonly name: string
@@ -245,7 +247,7 @@ interface SmokeSource {
245
247
  * A vector is a two-element array containing the `x` and `y` components. In some specific cases, the vector is a table
246
248
  * with `x` and `y` keys instead, which the documentation will point out.
247
249
  *
248
- * {@link https://lua-api.factorio.com/next/Concepts.html#Vector View documentation}
250
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#Vector View documentation}
249
251
  *
250
252
  * @example
251
253
  * ```lua
@@ -267,7 +269,7 @@ type BoundingBoxArray = readonly [left_top: Position, right_bottom: Position, or
267
269
  * the names of the members may be omitted. When read from the game, the third member `orientation` is present if it is
268
270
  * non-zero, however it is ignored when provided to the game.
269
271
  *
270
- * {@link https://lua-api.factorio.com/next/Concepts.html#BoundingBox View documentation}
272
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#BoundingBox View documentation}
271
273
  *
272
274
  * @example
273
275
  * Explicit definition:
@@ -286,7 +288,7 @@ type BoundingBox = BoundingBoxTable | BoundingBoxArray
286
288
  /**
287
289
  * An area defined using the map editor.
288
290
  *
289
- * {@link https://lua-api.factorio.com/next/Concepts.html#ScriptArea View documentation}
291
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#ScriptArea View documentation}
290
292
  */
291
293
  interface ScriptArea {
292
294
  readonly area: BoundingBox
@@ -298,7 +300,7 @@ interface ScriptArea {
298
300
  /**
299
301
  * A position defined using the map editor.
300
302
  *
301
- * {@link https://lua-api.factorio.com/next/Concepts.html#ScriptPosition View documentation}
303
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#ScriptPosition View documentation}
302
304
  */
303
305
  interface ScriptPosition {
304
306
  readonly position: Position
@@ -323,7 +325,7 @@ type ColorArray = readonly [r?: float, g?: float, b?: float, a?: float]
323
325
  * Similar to {@link Position}, Color allows the short-hand notation of passing an array of exactly 3 or 4 numbers. The
324
326
  * game usually expects colors to be in pre-multiplied form (color channels are pre-multiplied by alpha).
325
327
  *
326
- * {@link https://lua-api.factorio.com/next/Concepts.html#Color View documentation}
328
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#Color View documentation}
327
329
  *
328
330
  * @example
329
331
  * ```lua
@@ -348,7 +350,7 @@ type ColorModifierArray = readonly [r?: float, g?: float, b?: float, a?: float]
348
350
  * Same as {@link Color}, but red, green, blue and alpha values can be any floating point number, without any special
349
351
  * handling of the range [1, 255].
350
352
  *
351
- * {@link https://lua-api.factorio.com/next/Concepts.html#ColorModifier View documentation}
353
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#ColorModifier View documentation}
352
354
  */
353
355
  type ColorModifier = ColorModifierTable | ColorModifierArray
354
356
 
@@ -376,7 +378,7 @@ interface Alert {
376
378
  /**
377
379
  * One vertex of a ScriptRenderPolygon.
378
380
  *
379
- * {@link https://lua-api.factorio.com/next/Concepts.html#ScriptRenderVertexTarget View documentation}
381
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#ScriptRenderVertexTarget View documentation}
380
382
  */
381
383
  interface ScriptRenderVertexTarget {
382
384
  readonly target: Position | LuaEntity
@@ -420,7 +422,7 @@ interface DecorativeResult {
420
422
  /**
421
423
  * **Note**: Either `icon`, `text`, or both must be provided.
422
424
  *
423
- * {@link https://lua-api.factorio.com/next/Concepts.html#ChartTagSpec View documentation}
425
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#ChartTagSpec View documentation}
424
426
  */
425
427
  interface ChartTagSpec {
426
428
  readonly position: Position
@@ -433,75 +435,75 @@ interface ChartTagSpec {
433
435
  * Parameters that affect the look and control of the game. Updating any of the member attributes here will immediately
434
436
  * take effect in the game engine.
435
437
  *
436
- * {@link https://lua-api.factorio.com/next/Concepts.html#GameViewSettings View documentation}
438
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#GameViewSettings View documentation}
437
439
  */
438
440
  interface GameViewSettings {
439
441
  /**
440
442
  * Show the controller GUI elements. This includes the toolbar, the selected tool slot, the armour slot, and the gun
441
443
  * and ammunition slots.
442
444
  *
443
- * {@link https://lua-api.factorio.com/next/Concepts.html#GameViewSettings#GameViewSettings.show_controller_gui View documentation}
445
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#GameViewSettings#GameViewSettings.show_controller_gui View documentation}
444
446
  */
445
447
  show_controller_gui: boolean
446
448
  /**
447
449
  * Show the chart in the upper right-hand corner of the screen.
448
450
  *
449
- * {@link https://lua-api.factorio.com/next/Concepts.html#GameViewSettings#GameViewSettings.show_minimap View documentation}
451
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#GameViewSettings#GameViewSettings.show_minimap View documentation}
450
452
  */
451
453
  show_minimap: boolean
452
454
  /**
453
455
  * Show research progress and name in the upper right-hand corner of the screen.
454
456
  *
455
- * {@link https://lua-api.factorio.com/next/Concepts.html#GameViewSettings#GameViewSettings.show_research_info View documentation}
457
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#GameViewSettings#GameViewSettings.show_research_info View documentation}
456
458
  */
457
459
  show_research_info: boolean
458
460
  /**
459
461
  * Show overlay icons on entities. Also known as "alt-mode".
460
462
  *
461
- * {@link https://lua-api.factorio.com/next/Concepts.html#GameViewSettings#GameViewSettings.show_entity_info View documentation}
463
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#GameViewSettings#GameViewSettings.show_entity_info View documentation}
462
464
  */
463
465
  show_entity_info: boolean
464
466
  /**
465
467
  * Show the flashing alert icons next to the player's toolbar.
466
468
  *
467
- * {@link https://lua-api.factorio.com/next/Concepts.html#GameViewSettings#GameViewSettings.show_alert_gui View documentation}
469
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#GameViewSettings#GameViewSettings.show_alert_gui View documentation}
468
470
  */
469
471
  show_alert_gui: boolean
470
472
  /**
471
473
  * When `true` (the default), mousing over an entity will select it. Otherwise, moving the mouse won't update entity
472
474
  * selection.
473
475
  *
474
- * {@link https://lua-api.factorio.com/next/Concepts.html#GameViewSettings#GameViewSettings.update_entity_selection View documentation}
476
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#GameViewSettings#GameViewSettings.update_entity_selection View documentation}
475
477
  */
476
478
  update_entity_selection: boolean
477
479
  /**
478
480
  * When `true` (`false` is default), the rails will always show the rail block visualisation.
479
481
  *
480
- * {@link https://lua-api.factorio.com/next/Concepts.html#GameViewSettings#GameViewSettings.show_rail_block_visualisation View documentation}
482
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#GameViewSettings#GameViewSettings.show_rail_block_visualisation View documentation}
481
483
  */
482
484
  show_rail_block_visualisation: boolean
483
485
  /**
484
486
  * Shows or hides the buttons row.
485
487
  *
486
- * {@link https://lua-api.factorio.com/next/Concepts.html#GameViewSettings#GameViewSettings.show_side_menu View documentation}
488
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#GameViewSettings#GameViewSettings.show_side_menu View documentation}
487
489
  */
488
490
  show_side_menu: boolean
489
491
  /**
490
492
  * Shows or hides the view options when map is opened.
491
493
  *
492
- * {@link https://lua-api.factorio.com/next/Concepts.html#GameViewSettings#GameViewSettings.show_map_view_options View documentation}
494
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#GameViewSettings#GameViewSettings.show_map_view_options View documentation}
493
495
  */
494
496
  show_map_view_options: boolean
495
497
  /**
496
498
  * Shows or hides quickbar of shortcuts.
497
499
  *
498
- * {@link https://lua-api.factorio.com/next/Concepts.html#GameViewSettings#GameViewSettings.show_quickbar View documentation}
500
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#GameViewSettings#GameViewSettings.show_quickbar View documentation}
499
501
  */
500
502
  show_quickbar: boolean
501
503
  /**
502
504
  * Shows or hides the shortcut bar.
503
505
  *
504
- * {@link https://lua-api.factorio.com/next/Concepts.html#GameViewSettings#GameViewSettings.show_shortcut_bar View documentation}
506
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#GameViewSettings#GameViewSettings.show_shortcut_bar View documentation}
505
507
  */
506
508
  show_shortcut_bar: boolean
507
509
  }
@@ -509,7 +511,7 @@ interface GameViewSettings {
509
511
  /**
510
512
  * What is shown in the map view. If a field is not given, that setting will not be changed.
511
513
  *
512
- * {@link https://lua-api.factorio.com/next/Concepts.html#MapViewSettings View documentation}
514
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#MapViewSettings View documentation}
513
515
  */
514
516
  interface MapViewSettings {
515
517
  readonly "show-logistic-network"?: boolean
@@ -525,7 +527,7 @@ interface MapViewSettings {
525
527
  /**
526
528
  * These values are for the time frame of one second (60 ticks).
527
529
  *
528
- * {@link https://lua-api.factorio.com/next/Concepts.html#PollutionMapSettings View documentation}
530
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#PollutionMapSettings View documentation}
529
531
  */
530
532
  interface PollutionMapSettings {
531
533
  /** Whether pollution is enabled at all. */
@@ -560,7 +562,7 @@ interface PollutionMapSettings {
560
562
  /**
561
563
  * These values represent a percentual increase in evolution. This means a value of `0.1` would increase evolution by 10%.
562
564
  *
563
- * {@link https://lua-api.factorio.com/next/Concepts.html#EnemyEvolutionMapSettings View documentation}
565
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#EnemyEvolutionMapSettings View documentation}
564
566
  */
565
567
  interface EnemyEvolutionMapSettings {
566
568
  /** Whether enemy evolution is enabled at all. */
@@ -597,7 +599,7 @@ interface EnemyEvolutionMapSettings {
597
599
  * score(chunk) = 1 / (1 + player + base)
598
600
  * ```
599
601
  *
600
- * {@link https://lua-api.factorio.com/next/Concepts.html#EnemyExpansionMapSettings View documentation}
602
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#EnemyExpansionMapSettings View documentation}
601
603
  */
602
604
  interface EnemyExpansionMapSettings {
603
605
  /** Whether enemy expansion is enabled at all. */
@@ -831,7 +833,7 @@ interface PathFinderMapSettings {
831
833
  /**
832
834
  * Various game-related settings. Updating any of the attributes will immediately take effect in the game engine.
833
835
  *
834
- * {@link https://lua-api.factorio.com/next/Concepts.html#MapSettings View documentation}
836
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#MapSettings View documentation}
835
837
  *
836
838
  * @example
837
839
  * Increase the number of short paths the pathfinder can cache.
@@ -857,7 +859,7 @@ interface MapSettings {
857
859
  /**
858
860
  * Technology and recipe difficulty settings. Updating any of the attributes will immediately take effect in the game engine.
859
861
  *
860
- * {@link https://lua-api.factorio.com/next/Concepts.html#DifficultySettings View documentation}
862
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#DifficultySettings View documentation}
861
863
  */
862
864
  interface DifficultySettings {
863
865
  readonly recipe_difficulty: defines.difficulty_settings.recipe_difficulty
@@ -872,16 +874,32 @@ interface DifficultySettings {
872
874
  }
873
875
 
874
876
  /**
875
- * The data that can be extracted from a map exchange string, as a plain table.
877
+ * All regular {@link MapSettings} plus an additional table that contains the {@link DifficultySettings}.
876
878
  *
877
- * {@link https://lua-api.factorio.com/next/Concepts.html#MapExchangeStringData View documentation}
879
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#MapAndDifficultySettings View documentation}
878
880
  */
879
- interface MapExchangeStringData {
881
+ interface MapAndDifficultySettings {
882
+ readonly pollution: PollutionMapSettings
883
+ readonly enemy_evolution: EnemyEvolutionMapSettings
884
+ readonly enemy_expansion: EnemyExpansionMapSettings
885
+ readonly unit_group: UnitGroupMapSettings
886
+ readonly steering: SteeringMapSettings
887
+ readonly path_finder: PathFinderMapSettings
880
888
  /**
881
- * All the regular map settings plus an additional table called `difficulty_settings` that contains the
882
- * {@link DifficultySettings}.
889
+ * If a behavior fails this many times, the enemy (or enemy group) is destroyed. This solves biters getting stuck
890
+ * within their own base.
883
891
  */
884
- readonly map_settings: MapSettings
892
+ readonly max_failed_behavior_count: uint
893
+ readonly difficulty_settings: DifficultySettings
894
+ }
895
+
896
+ /**
897
+ * The data that can be extracted from a map exchange string, as a plain table.
898
+ *
899
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#MapExchangeStringData View documentation}
900
+ */
901
+ interface MapExchangeStringData {
902
+ readonly map_settings: MapAndDifficultySettings
885
903
  readonly map_gen_settings: MapGenSettings
886
904
  }
887
905
 
@@ -945,7 +963,7 @@ interface BlueprintCircuitConnection {
945
963
  * The representation of an entity inside of a blueprint. It has at least these fields, but can contain additional ones
946
964
  * depending on the kind of entity.
947
965
  *
948
- * {@link https://lua-api.factorio.com/next/Concepts.html#BlueprintEntity View documentation}
966
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#BlueprintEntity View documentation}
949
967
  */
950
968
  interface BlueprintEntity {
951
969
  /** The entity's unique identifier in the blueprint. */
@@ -1026,7 +1044,7 @@ interface ItemIngredient extends BaseIngredient {
1026
1044
  /**
1027
1045
  * Other attributes may be specified depending on `type`:
1028
1046
  *
1029
- * {@link https://lua-api.factorio.com/next/Concepts.html#Ingredient View documentation}
1047
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#Ingredient View documentation}
1030
1048
  */
1031
1049
  type Ingredient = FluidIngredient | ItemIngredient
1032
1050
 
@@ -1060,7 +1078,7 @@ interface ItemProduct extends BaseProduct {
1060
1078
  /**
1061
1079
  * Other attributes may be specified depending on `type`:
1062
1080
  *
1063
- * {@link https://lua-api.factorio.com/next/Concepts.html#Product View documentation}
1081
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#Product View documentation}
1064
1082
  *
1065
1083
  * @example
1066
1084
  * Products of the "steel-chest" recipe (an array of Product):
@@ -1261,7 +1279,7 @@ interface OtherTechnologyModifier extends BaseTechnologyModifier {
1261
1279
  *
1262
1280
  * Other attributes may be specified depending on `type`:
1263
1281
  *
1264
- * {@link https://lua-api.factorio.com/next/Concepts.html#TechnologyModifier View documentation}
1282
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#TechnologyModifier View documentation}
1265
1283
  */
1266
1284
  type TechnologyModifier =
1267
1285
  | GunSpeedTechnologyModifier
@@ -1275,7 +1293,7 @@ type TechnologyModifier =
1275
1293
  /**
1276
1294
  * A single offer on a market entity.
1277
1295
  *
1278
- * {@link https://lua-api.factorio.com/next/Concepts.html#Offer View documentation}
1296
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#Offer View documentation}
1279
1297
  */
1280
1298
  interface Offer {
1281
1299
  /** List of prices. */
@@ -1288,7 +1306,7 @@ interface Offer {
1288
1306
  * Specifies how probability and richness are calculated when placing something on the map. Can be specified either
1289
1307
  * using `probability_expression` and `richness_expression` or by using all the other fields.
1290
1308
  *
1291
- * {@link https://lua-api.factorio.com/next/Concepts.html#AutoplaceSpecification View documentation}
1309
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#AutoplaceSpecification View documentation}
1292
1310
  */
1293
1311
  interface AutoplaceSpecification {
1294
1312
  readonly probability_expression: NoiseExpression
@@ -1316,7 +1334,7 @@ interface AutoplaceSpecification {
1316
1334
  * generation. These can only be meaningfully written/modified during the data load phase. More detailed information is
1317
1335
  * found on the {@link https://wiki.factorio.com/Types/NoiseExpression wiki}.
1318
1336
  *
1319
- * {@link https://lua-api.factorio.com/next/Concepts.html#NoiseExpression View documentation}
1337
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#NoiseExpression View documentation}
1320
1338
  */
1321
1339
  interface NoiseExpression {
1322
1340
  /** Names the type of the expression and determines what other fields are required. */
@@ -1392,7 +1410,7 @@ interface Resistance {
1392
1410
  * **Note**: The map generation algorithm officially supports the range of values the in-game map generation screen
1393
1411
  * shows (specifically `0` and values from `1/6` to `6`). Values outside this range are not guaranteed to work as expected.
1394
1412
  *
1395
- * {@link https://lua-api.factorio.com/next/Concepts.html#MapGenSize View documentation}
1413
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#MapGenSize View documentation}
1396
1414
  */
1397
1415
  type MapGenSize =
1398
1416
  | number
@@ -1481,7 +1499,7 @@ interface CliffPlacementSettings {
1481
1499
  * the island preset. If generators are available for other properties, the 'map type' dropdown in the GUI will be
1482
1500
  * renamed to 'elevation' and shown along with selectors for the other selectable properties.
1483
1501
  *
1484
- * {@link https://lua-api.factorio.com/next/Concepts.html#MapGenSettings View documentation}
1502
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#MapGenSettings View documentation}
1485
1503
  *
1486
1504
  * @example
1487
1505
  * Assuming a NamedNoiseExpression with the name "my-alternate-grass1-probability" is defined
@@ -1592,7 +1610,7 @@ interface SignalID {
1592
1610
  /**
1593
1611
  * An actual signal transmitted by the network.
1594
1612
  *
1595
- * {@link https://lua-api.factorio.com/next/Concepts.html#Signal View documentation}
1613
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#Signal View documentation}
1596
1614
  */
1597
1615
  interface Signal {
1598
1616
  /** ID of the signal. */
@@ -1611,7 +1629,7 @@ interface UpgradeFilter {
1611
1629
  /**
1612
1630
  * A single filter used by an infinity-filters instance.
1613
1631
  *
1614
- * {@link https://lua-api.factorio.com/next/Concepts.html#InfinityInventoryFilter View documentation}
1632
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#InfinityInventoryFilter View documentation}
1615
1633
  */
1616
1634
  interface InfinityInventoryFilter {
1617
1635
  /** Name of the item. */
@@ -1627,7 +1645,7 @@ interface InfinityInventoryFilter {
1627
1645
  /**
1628
1646
  * A single filter used by an infinity-pipe type entity.
1629
1647
  *
1630
- * {@link https://lua-api.factorio.com/next/Concepts.html#InfinityPipeFilter View documentation}
1648
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#InfinityPipeFilter View documentation}
1631
1649
  */
1632
1650
  interface InfinityPipeFilter {
1633
1651
  /** Name of the fluid. */
@@ -1663,7 +1681,7 @@ interface FluidBoxFilterSpec {
1663
1681
  /**
1664
1682
  * The settings used by a heat-interface type entity.
1665
1683
  *
1666
- * {@link https://lua-api.factorio.com/next/Concepts.html#HeatSetting View documentation}
1684
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#HeatSetting View documentation}
1667
1685
  */
1668
1686
  interface HeatSetting {
1669
1687
  /** The target temperature. Defaults to the minimum temperature of the heat buffer. */
@@ -1680,7 +1698,7 @@ interface HeatConnection {
1680
1698
  /**
1681
1699
  * A definition of a fluidbox connection point.
1682
1700
  *
1683
- * {@link https://lua-api.factorio.com/next/Concepts.html#FluidBoxConnection View documentation}
1701
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#FluidBoxConnection View documentation}
1684
1702
  */
1685
1703
  interface FluidBoxConnection {
1686
1704
  /** The connection type: "input", "output", or "input-output". */
@@ -1724,7 +1742,7 @@ interface ConstantCombinatorParameters {
1724
1742
  * **Note**: While the API accepts both versions for `"less/greater than or equal to"` and `"not equal"`, it'll always
1725
1743
  * return `"≥"`, `"≤"` or `"≠"` respectively when reading them back.
1726
1744
  *
1727
- * {@link https://lua-api.factorio.com/next/Concepts.html#ComparatorString View documentation}
1745
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#ComparatorString View documentation}
1728
1746
  */
1729
1747
  type ComparatorString /** "equal to" */ =
1730
1748
  | "=" /** "greater than" */
@@ -1925,7 +1943,7 @@ interface BuildBaseCommand extends BaseCommand {
1925
1943
  *
1926
1944
  * Other attributes may be specified depending on `type`:
1927
1945
  *
1928
- * {@link https://lua-api.factorio.com/next/Concepts.html#Command View documentation}
1946
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#Command View documentation}
1929
1947
  */
1930
1948
  type Command =
1931
1949
  | AttackCommand
@@ -1995,7 +2013,7 @@ interface ItemStackDefinition {
1995
2013
  * - String: The name of the item, which represents a full stack of that item.
1996
2014
  * - ItemStackDefinition: The detailed definition of an item stack.
1997
2015
  *
1998
- * {@link https://lua-api.factorio.com/next/Concepts.html#SimpleItemStack View documentation}
2016
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#SimpleItemStack View documentation}
1999
2017
  *
2000
2018
  * @example
2001
2019
  * Both of these lines specify an item stack of one iron plate:
@@ -2033,7 +2051,7 @@ type SimpleItemStack = string | ItemStackDefinition
2033
2051
  * - LuaFluidPrototype: The fluid prototype.
2034
2052
  * - Fluid: The fluid.
2035
2053
  *
2036
- * {@link https://lua-api.factorio.com/next/Concepts.html#FluidIdentification View documentation}
2054
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#FluidIdentification View documentation}
2037
2055
  */
2038
2056
  type FluidIdentification = string | LuaFluidPrototype | Fluid
2039
2057
 
@@ -2041,7 +2059,7 @@ type FluidIdentification = string | LuaFluidPrototype | Fluid
2041
2059
  * - String: The force name.
2042
2060
  * - LuaForce: A reference to {@link LuaForce} may be passed directly.
2043
2061
  *
2044
- * {@link https://lua-api.factorio.com/next/Concepts.html#ForceIdentification View documentation}
2062
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#ForceIdentification View documentation}
2045
2063
  */
2046
2064
  type ForceIdentification = string | LuaForce
2047
2065
 
@@ -2050,7 +2068,7 @@ type ForceIdentification = string | LuaForce
2050
2068
  * - LuaTechnology: A reference to {@link LuaTechnology} may be passed directly.
2051
2069
  * - LuaTechnologyPrototype: A reference to {@link LuaTechnologyPrototype} may be passed directly.
2052
2070
  *
2053
- * {@link https://lua-api.factorio.com/next/Concepts.html#TechnologyIdentification View documentation}
2071
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#TechnologyIdentification View documentation}
2054
2072
  */
2055
2073
  type TechnologyIdentification = string | LuaTechnology | LuaTechnologyPrototype
2056
2074
 
@@ -2060,7 +2078,7 @@ type TechnologyIdentification = string | LuaTechnology | LuaTechnologyPrototype
2060
2078
  * - String: It will be the surface name. E.g. `"nauvis"`.
2061
2079
  * - LuaSurface: A reference to {@link LuaSurface} may be passed directly.
2062
2080
  *
2063
- * {@link https://lua-api.factorio.com/next/Concepts.html#SurfaceIdentification View documentation}
2081
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#SurfaceIdentification View documentation}
2064
2082
  */
2065
2083
  type SurfaceIdentification = uint | string | LuaSurface
2066
2084
 
@@ -2069,7 +2087,7 @@ type SurfaceIdentification = uint | string | LuaSurface
2069
2087
  * - String: The player name.
2070
2088
  * - LuaPlayer: A reference to {@link LuaPlayer} may be passed directly.
2071
2089
  *
2072
- * {@link https://lua-api.factorio.com/next/Concepts.html#PlayerIdentification View documentation}
2090
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#PlayerIdentification View documentation}
2073
2091
  */
2074
2092
  type PlayerIdentification = uint | string | LuaPlayer
2075
2093
 
@@ -2080,7 +2098,7 @@ type ItemStackIdentification = SimpleItemStack | LuaItemStack
2080
2098
  * - LuaEntityPrototype: The entity prototype.
2081
2099
  * - String: The prototype name.
2082
2100
  *
2083
- * {@link https://lua-api.factorio.com/next/Concepts.html#EntityPrototypeIdentification View documentation}
2101
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#EntityPrototypeIdentification View documentation}
2084
2102
  */
2085
2103
  type EntityPrototypeIdentification = LuaEntity | LuaEntityPrototype | string
2086
2104
 
@@ -2089,7 +2107,7 @@ type EntityPrototypeIdentification = LuaEntity | LuaEntityPrototype | string
2089
2107
  * - LuaItemPrototype: The item prototype.
2090
2108
  * - String: The prototype name.
2091
2109
  *
2092
- * {@link https://lua-api.factorio.com/next/Concepts.html#ItemPrototypeIdentification View documentation}
2110
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#ItemPrototypeIdentification View documentation}
2093
2111
  */
2094
2112
  type ItemPrototypeIdentification = LuaItemStack | LuaItemPrototype | string
2095
2113
 
@@ -2207,7 +2225,7 @@ interface ActiveWindowGuiArrowSpecification extends BaseGuiArrowSpecification {
2207
2225
  *
2208
2226
  * Other attributes may be specified depending on `type`:
2209
2227
  *
2210
- * {@link https://lua-api.factorio.com/next/Concepts.html#GuiArrowSpecification View documentation}
2228
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#GuiArrowSpecification View documentation}
2211
2229
  */
2212
2230
  type GuiArrowSpecification =
2213
2231
  | EntityGuiArrowSpecification
@@ -2283,7 +2301,7 @@ type SpriteType =
2283
2301
  * slower; for frequently used sprites, it is better to define sprite prototype and use it instead.
2284
2302
  * - `"utility"` - sprite defined in the utility-sprites object, these are the pictures used by the game internally for the UI.
2285
2303
  *
2286
- * {@link https://lua-api.factorio.com/next/Concepts.html#SpritePath View documentation}
2304
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#SpritePath View documentation}
2287
2305
  */
2288
2306
  type SpritePath = string | `${SpriteType}/${string}`
2289
2307
 
@@ -2325,7 +2343,7 @@ type SpritePath = string | `${SpriteType}/${string}`
2325
2343
  * - `"entity-open"` - Uses {@link https://wiki.factorio.com/Prototype/Entity#open_sound Entity::open_sound}
2326
2344
  * - `"entity-close"` - Uses {@link https://wiki.factorio.com/Prototype/Entity#close_sound Entity::close_sound}
2327
2345
  *
2328
- * {@link https://lua-api.factorio.com/next/Concepts.html#SoundPath View documentation}
2346
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#SoundPath View documentation}
2329
2347
  */
2330
2348
  type SoundPath = string | `${SoundType}/${string}`
2331
2349
 
@@ -2335,7 +2353,7 @@ interface ModuleEffectValue {
2335
2353
  }
2336
2354
 
2337
2355
  /**
2338
- * {@link https://lua-api.factorio.com/next/Concepts.html#ModuleEffects View documentation}
2356
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#ModuleEffects View documentation}
2339
2357
  *
2340
2358
  * @example
2341
2359
  * These are the effects of the vanilla Productivity Module 3 (up to floating point imprecisions):
@@ -2359,7 +2377,7 @@ interface ModuleEffects {
2359
2377
  * the dictionary with the value `true`. Unset flags aren't present in the dictionary at all. So, the boolean value is
2360
2378
  * meaningless and exists just for easy table lookup if a flag is set.
2361
2379
  *
2362
- * {@link https://lua-api.factorio.com/next/Concepts.html#EntityPrototypeFlags View documentation}
2380
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#EntityPrototypeFlags View documentation}
2363
2381
  */
2364
2382
  interface EntityPrototypeFlags {
2365
2383
  readonly "not-rotatable"?: boolean
@@ -2394,7 +2412,7 @@ interface EntityPrototypeFlags {
2394
2412
  * dictionary with the value `true`. Unset flags aren't present in the dictionary at all. So, the boolean value is
2395
2413
  * meaningless and exists just for easy table lookup if a flag is set.
2396
2414
  *
2397
- * {@link https://lua-api.factorio.com/next/Concepts.html#ItemPrototypeFlags View documentation}
2415
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#ItemPrototypeFlags View documentation}
2398
2416
  */
2399
2417
  interface ItemPrototypeFlags {
2400
2418
  readonly "draw-logistic-overlay"?: boolean
@@ -2433,7 +2451,7 @@ interface ItemPrototypeFlags {
2433
2451
  * change. If a mod is going to use one of the unused layers it's recommended to start at the higher layers because the
2434
2452
  * base game will take from the lower ones.
2435
2453
  *
2436
- * {@link https://lua-api.factorio.com/next/Concepts.html#CollisionMaskLayer View documentation}
2454
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#CollisionMaskLayer View documentation}
2437
2455
  */
2438
2456
  type CollisionMaskLayer =
2439
2457
  | "ground-tile"
@@ -2455,7 +2473,7 @@ type CollisionMaskLayer =
2455
2473
  * This is a set of masks given as a dictionary[{@link CollisionMaskLayer} → {@link boolean}]. Only set masks are present
2456
2474
  * in the dictionary and they have the value `true`. Unset flags aren't present at all.
2457
2475
  *
2458
- * {@link https://lua-api.factorio.com/next/Concepts.html#CollisionMask View documentation}
2476
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#CollisionMask View documentation}
2459
2477
  */
2460
2478
  type CollisionMask = {
2461
2479
  readonly [P in CollisionMaskLayer]?: true
@@ -2470,7 +2488,7 @@ type CollisionMask = {
2470
2488
  * - `"consider-tile-transitions"`
2471
2489
  * - `"colliding-with-tiles-only"`
2472
2490
  *
2473
- * {@link https://lua-api.factorio.com/next/Concepts.html#CollisionMaskWithFlags View documentation}
2491
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#CollisionMaskWithFlags View documentation}
2474
2492
  */
2475
2493
  type CollisionMaskWithFlags = {
2476
2494
  readonly [P in
@@ -2483,7 +2501,7 @@ type CollisionMaskWithFlags = {
2483
2501
  /**
2484
2502
  * This is a set of trigger target masks given as a dictionary[{@link string} → {@link boolean}].
2485
2503
  *
2486
- * {@link https://lua-api.factorio.com/next/Concepts.html#TriggerTargetMask View documentation}
2504
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#TriggerTargetMask View documentation}
2487
2505
  */
2488
2506
  type TriggerTargetMask = {
2489
2507
  readonly [P in string]?: true
@@ -2567,7 +2585,7 @@ interface CircularParticleCreationSpecification {
2567
2585
  * - A {@link RealOrientation}
2568
2586
  * - A {@link Vector}
2569
2587
  *
2570
- * {@link https://lua-api.factorio.com/next/Concepts.html#CircularProjectileCreationSpecification View documentation}
2588
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#CircularProjectileCreationSpecification View documentation}
2571
2589
  */
2572
2590
  type CircularProjectileCreationSpecification = [RealOrientation, Vector]
2573
2591
 
@@ -2646,7 +2664,7 @@ interface BeamAttackParameters extends BaseAttackParameters {
2646
2664
  /**
2647
2665
  * Other attributes may be specified depending on `type`:
2648
2666
  *
2649
- * {@link https://lua-api.factorio.com/next/Concepts.html#AttackParameters View documentation}
2667
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#AttackParameters View documentation}
2650
2668
  */
2651
2669
  type AttackParameters = ProjectileAttackParameters | StreamAttackParameters | BeamAttackParameters
2652
2670
 
@@ -2663,7 +2681,7 @@ interface CapsuleAction {
2663
2681
  * This is a set of flags given as a dictionary[{@link string} → {@link boolean}]. Set flags are present in the dictionary
2664
2682
  * with the value `true`; unset flags aren't present at all.
2665
2683
  *
2666
- * {@link https://lua-api.factorio.com/next/Concepts.html#SelectionModeFlags View documentation}
2684
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#SelectionModeFlags View documentation}
2667
2685
  */
2668
2686
  interface SelectionModeFlags {
2669
2687
  /** Entities that can be selected for blueprint. */
@@ -2707,7 +2725,7 @@ interface LogisticFilter {
2707
2725
  * **Note**: Runtime settings can be changed through console commands and by the mod that owns the settings by writing a
2708
2726
  * new table to the ModSetting.
2709
2727
  *
2710
- * {@link https://lua-api.factorio.com/next/Concepts.html#ModSetting View documentation}
2728
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#ModSetting View documentation}
2711
2729
  */
2712
2730
  interface ModSetting {
2713
2731
  /** The value of the mod setting. The type depends on the setting. */
@@ -2717,14 +2735,14 @@ interface ModSetting {
2717
2735
  /**
2718
2736
  * Any basic type (string, number, boolean) or table.
2719
2737
  *
2720
- * {@link https://lua-api.factorio.com/next/Concepts.html#AnyBasic View documentation}
2738
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#AnyBasic View documentation}
2721
2739
  */
2722
2740
  type AnyBasic = string | number | boolean | table
2723
2741
 
2724
2742
  /**
2725
2743
  * Any basic type (string, number, boolean), table, or LuaObject.
2726
2744
  *
2727
- * {@link https://lua-api.factorio.com/next/Concepts.html#Any View documentation}
2745
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#Any View documentation}
2728
2746
  */
2729
2747
  type Any = any
2730
2748
 
@@ -2755,7 +2773,7 @@ interface ProgrammableSpeakerInstrument {
2755
2773
  /**
2756
2774
  * A {@link string} that specifies where a gui element should be.
2757
2775
  *
2758
- * {@link https://lua-api.factorio.com/next/Concepts.html#Alignment View documentation}
2776
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#Alignment View documentation}
2759
2777
  */
2760
2778
  type Alignment =
2761
2779
  | "top-left"
@@ -2772,9 +2790,9 @@ type Alignment =
2772
2790
 
2773
2791
  /**
2774
2792
  * Information about the event that has been raised. The table can also contain other fields depending on the type of
2775
- * event. See {@link https://lua-api.factorio.com/next/events.html the list of Factorio events} for more information on these.
2793
+ * event. See {@link https://lua-api.factorio.com/latest/events.html the list of Factorio events} for more information on these.
2776
2794
  *
2777
- * {@link https://lua-api.factorio.com/next/Concepts.html#EventData View documentation}
2795
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#EventData View documentation}
2778
2796
  */
2779
2797
  interface EventData {
2780
2798
  /** The identifier of the event this handler was registered to. */
@@ -2875,14 +2893,14 @@ type MouseButtonFlagsArray = readonly (MouseButtonFlag | "left-and-right")[]
2875
2893
  * - `"button-8"`
2876
2894
  * - `"button-9"`
2877
2895
  *
2878
- * {@link https://lua-api.factorio.com/next/Concepts.html#MouseButtonFlags View documentation}
2896
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#MouseButtonFlags View documentation}
2879
2897
  */
2880
2898
  type MouseButtonFlags = MouseButtonFlagsTable | MouseButtonFlagsArray
2881
2899
 
2882
2900
  /**
2883
2901
  * It is specified by {@link string}.
2884
2902
  *
2885
- * {@link https://lua-api.factorio.com/next/Concepts.html#CursorBoxRenderType View documentation}
2903
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#CursorBoxRenderType View documentation}
2886
2904
  */
2887
2905
  type CursorBoxRenderType /** Yellow box. */ =
2888
2906
  | "entity" /** Red box. */
@@ -2897,7 +2915,7 @@ type CursorBoxRenderType /** Yellow box. */ =
2897
2915
  /**
2898
2916
  * It is specified by {@link string}.
2899
2917
  *
2900
- * {@link https://lua-api.factorio.com/next/Concepts.html#ForceCondition View documentation}
2918
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#ForceCondition View documentation}
2901
2919
  */
2902
2920
  type ForceCondition /** All forces pass. */ =
2903
2921
  | "all" /** Forces which will attack pass. */
@@ -2956,7 +2974,7 @@ type ForceCondition /** All forces pass. */ =
2956
2974
  * - `"arrow"`: 190
2957
2975
  * - `"cursor"`: 210
2958
2976
  *
2959
- * {@link https://lua-api.factorio.com/next/Concepts.html#RenderLayer View documentation}
2977
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#RenderLayer View documentation}
2960
2978
  */
2961
2979
  type RenderLayer =
2962
2980
  | number
@@ -3040,7 +3058,7 @@ interface VehicleAutomaticTargetingParameters {
3040
3058
  * Defines which slider in the game's sound settings affects the volume of this sound. Furthermore, some sound types are
3041
3059
  * mixed differently than others, e.g. zoom level effects are applied.
3042
3060
  *
3043
- * {@link https://lua-api.factorio.com/next/Concepts.html#SoundType View documentation}
3061
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#SoundType View documentation}
3044
3062
  */
3045
3063
  type SoundType = "game-effect" | "gui-effect" | "ambient" | "environment" | "walking" | "alert" | "wind"
3046
3064
 
@@ -3237,7 +3255,7 @@ interface FuelItemPrototypeFilter extends BaseItemPrototypeFilter {
3237
3255
  /**
3238
3256
  * Other attributes may be specified depending on `filter`:
3239
3257
  *
3240
- * {@link https://lua-api.factorio.com/next/Concepts.html#ItemPrototypeFilter View documentation}
3258
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#ItemPrototypeFilter View documentation}
3241
3259
  */
3242
3260
  type ItemPrototypeFilter =
3243
3261
  | PlaceResultItemPrototypeFilter
@@ -3297,7 +3315,7 @@ interface SettingTypeModSettingPrototypeFilter extends BaseModSettingPrototypeFi
3297
3315
  /**
3298
3316
  * Other attributes may be specified depending on `filter`:
3299
3317
  *
3300
- * {@link https://lua-api.factorio.com/next/Concepts.html#ModSettingPrototypeFilter View documentation}
3318
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#ModSettingPrototypeFilter View documentation}
3301
3319
  */
3302
3320
  type ModSettingPrototypeFilter =
3303
3321
  | TypeModSettingPrototypeFilter
@@ -3383,7 +3401,7 @@ interface HasPrerequisitesTechnologyPrototypeFilter extends BaseTechnologyProtot
3383
3401
  /**
3384
3402
  * Other attributes may be specified depending on `filter`:
3385
3403
  *
3386
- * {@link https://lua-api.factorio.com/next/Concepts.html#TechnologyPrototypeFilter View documentation}
3404
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#TechnologyPrototypeFilter View documentation}
3387
3405
  */
3388
3406
  type TechnologyPrototypeFilter =
3389
3407
  | ResearchUnitIngredientTechnologyPrototypeFilter
@@ -3427,7 +3445,7 @@ interface AutoplaceDecorativePrototypeFilter extends BaseDecorativePrototypeFilt
3427
3445
  /**
3428
3446
  * Other attributes may be specified depending on `filter`:
3429
3447
  *
3430
- * {@link https://lua-api.factorio.com/next/Concepts.html#DecorativePrototypeFilter View documentation}
3448
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#DecorativePrototypeFilter View documentation}
3431
3449
  */
3432
3450
  type DecorativePrototypeFilter =
3433
3451
  | CollisionMaskDecorativePrototypeFilter
@@ -3459,7 +3477,7 @@ interface AllowedWithoutFightAchievementPrototypeFilter extends BaseAchievementP
3459
3477
  /**
3460
3478
  * Other attributes may be specified depending on `filter`:
3461
3479
  *
3462
- * {@link https://lua-api.factorio.com/next/Concepts.html#AchievementPrototypeFilter View documentation}
3480
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#AchievementPrototypeFilter View documentation}
3463
3481
  */
3464
3482
  type AchievementPrototypeFilter = TypeAchievementPrototypeFilter | AllowedWithoutFightAchievementPrototypeFilter
3465
3483
 
@@ -3552,7 +3570,7 @@ interface HiddenFluidPrototypeFilter extends BaseFluidPrototypeFilter {
3552
3570
  /**
3553
3571
  * Other attributes may be specified depending on `filter`:
3554
3572
  *
3555
- * {@link https://lua-api.factorio.com/next/Concepts.html#FluidPrototypeFilter View documentation}
3573
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#FluidPrototypeFilter View documentation}
3556
3574
  */
3557
3575
  type FluidPrototypeFilter =
3558
3576
  | NameFluidPrototypeFilter
@@ -3590,7 +3608,7 @@ interface ItemToPlaceEquipmentPrototypeFilter extends BaseEquipmentPrototypeFilt
3590
3608
  /**
3591
3609
  * Other attributes may be specified depending on `filter`:
3592
3610
  *
3593
- * {@link https://lua-api.factorio.com/next/Concepts.html#EquipmentPrototypeFilter View documentation}
3611
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#EquipmentPrototypeFilter View documentation}
3594
3612
  */
3595
3613
  type EquipmentPrototypeFilter = TypeEquipmentPrototypeFilter | ItemToPlaceEquipmentPrototypeFilter
3596
3614
 
@@ -3673,7 +3691,7 @@ interface ItemToPlaceTilePrototypeFilter extends BaseTilePrototypeFilter {
3673
3691
  /**
3674
3692
  * Other attributes may be specified depending on `filter`:
3675
3693
  *
3676
- * {@link https://lua-api.factorio.com/next/Concepts.html#TilePrototypeFilter View documentation}
3694
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#TilePrototypeFilter View documentation}
3677
3695
  */
3678
3696
  type TilePrototypeFilter =
3679
3697
  | CollisionMaskTilePrototypeFilter
@@ -3861,7 +3879,7 @@ interface HasProductsRecipePrototypeFilter extends BaseRecipePrototypeFilter {
3861
3879
  /**
3862
3880
  * Other attributes may be specified depending on `filter`:
3863
3881
  *
3864
- * {@link https://lua-api.factorio.com/next/Concepts.html#RecipePrototypeFilter View documentation}
3882
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#RecipePrototypeFilter View documentation}
3865
3883
  */
3866
3884
  type RecipePrototypeFilter =
3867
3885
  | HasIngredientItemRecipePrototypeFilter
@@ -4120,7 +4138,7 @@ interface ItemToPlaceEntityPrototypeFilter extends BaseEntityPrototypeFilter {
4120
4138
  /**
4121
4139
  * Other attributes may be specified depending on `filter`:
4122
4140
  *
4123
- * {@link https://lua-api.factorio.com/next/Concepts.html#EntityPrototypeFilter View documentation}
4141
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#EntityPrototypeFilter View documentation}
4124
4142
  */
4125
4143
  type EntityPrototypeFilter =
4126
4144
  | NameEntityPrototypeFilter
@@ -4259,7 +4277,7 @@ interface CircuitNetworkConnectableScriptRaisedReviveEventFilter extends BaseScr
4259
4277
  /**
4260
4278
  * Other attributes may be specified depending on `filter`:
4261
4279
  *
4262
- * {@link https://lua-api.factorio.com/next/Concepts.html#LuaScriptRaisedReviveEventFilter View documentation}
4280
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#LuaScriptRaisedReviveEventFilter View documentation}
4263
4281
  */
4264
4282
  type LuaScriptRaisedReviveEventFilter =
4265
4283
  | TypeScriptRaisedReviveEventFilter
@@ -4380,7 +4398,7 @@ interface CircuitNetworkConnectableEntityDiedEventFilter extends BaseEntityDiedE
4380
4398
  /**
4381
4399
  * Other attributes may be specified depending on `filter`:
4382
4400
  *
4383
- * {@link https://lua-api.factorio.com/next/Concepts.html#LuaEntityDiedEventFilter View documentation}
4401
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#LuaEntityDiedEventFilter View documentation}
4384
4402
  */
4385
4403
  type LuaEntityDiedEventFilter =
4386
4404
  | TypeEntityDiedEventFilter
@@ -4504,7 +4522,7 @@ interface CircuitNetworkConnectableEntityMarkedForDeconstructionEventFilter
4504
4522
  /**
4505
4523
  * Other attributes may be specified depending on `filter`:
4506
4524
  *
4507
- * {@link https://lua-api.factorio.com/next/Concepts.html#LuaEntityMarkedForDeconstructionEventFilter View documentation}
4525
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#LuaEntityMarkedForDeconstructionEventFilter View documentation}
4508
4526
  */
4509
4527
  type LuaEntityMarkedForDeconstructionEventFilter =
4510
4528
  | TypeEntityMarkedForDeconstructionEventFilter
@@ -4625,7 +4643,7 @@ interface CircuitNetworkConnectablePreGhostDeconstructedEventFilter extends Base
4625
4643
  /**
4626
4644
  * Other attributes may be specified depending on `filter`:
4627
4645
  *
4628
- * {@link https://lua-api.factorio.com/next/Concepts.html#LuaPreGhostDeconstructedEventFilter View documentation}
4646
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#LuaPreGhostDeconstructedEventFilter View documentation}
4629
4647
  */
4630
4648
  type LuaPreGhostDeconstructedEventFilter =
4631
4649
  | TypePreGhostDeconstructedEventFilter
@@ -4746,7 +4764,7 @@ interface CircuitNetworkConnectableScriptRaisedDestroyEventFilter extends BaseSc
4746
4764
  /**
4747
4765
  * Other attributes may be specified depending on `filter`:
4748
4766
  *
4749
- * {@link https://lua-api.factorio.com/next/Concepts.html#LuaScriptRaisedDestroyEventFilter View documentation}
4767
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#LuaScriptRaisedDestroyEventFilter View documentation}
4750
4768
  */
4751
4769
  type LuaScriptRaisedDestroyEventFilter =
4752
4770
  | TypeScriptRaisedDestroyEventFilter
@@ -4867,7 +4885,7 @@ interface CircuitNetworkConnectableUpgradeCancelledEventFilter extends BaseUpgra
4867
4885
  /**
4868
4886
  * Other attributes may be specified depending on `filter`:
4869
4887
  *
4870
- * {@link https://lua-api.factorio.com/next/Concepts.html#LuaUpgradeCancelledEventFilter View documentation}
4888
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#LuaUpgradeCancelledEventFilter View documentation}
4871
4889
  */
4872
4890
  type LuaUpgradeCancelledEventFilter =
4873
4891
  | TypeUpgradeCancelledEventFilter
@@ -4988,7 +5006,7 @@ interface CircuitNetworkConnectablePlayerRepairedEntityEventFilter extends BaseP
4988
5006
  /**
4989
5007
  * Other attributes may be specified depending on `filter`:
4990
5008
  *
4991
- * {@link https://lua-api.factorio.com/next/Concepts.html#LuaPlayerRepairedEntityEventFilter View documentation}
5009
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#LuaPlayerRepairedEntityEventFilter View documentation}
4992
5010
  */
4993
5011
  type LuaPlayerRepairedEntityEventFilter =
4994
5012
  | TypePlayerRepairedEntityEventFilter
@@ -5109,7 +5127,7 @@ interface CircuitNetworkConnectableEntityMarkedForUpgradeEventFilter extends Bas
5109
5127
  /**
5110
5128
  * Other attributes may be specified depending on `filter`:
5111
5129
  *
5112
- * {@link https://lua-api.factorio.com/next/Concepts.html#LuaEntityMarkedForUpgradeEventFilter View documentation}
5130
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#LuaEntityMarkedForUpgradeEventFilter View documentation}
5113
5131
  */
5114
5132
  type LuaEntityMarkedForUpgradeEventFilter =
5115
5133
  | TypeEntityMarkedForUpgradeEventFilter
@@ -5149,7 +5167,7 @@ interface TypePostEntityDiedEventFilter extends BasePostEntityDiedEventFilter {
5149
5167
  /**
5150
5168
  * Other attributes may be specified depending on `filter`:
5151
5169
  *
5152
- * {@link https://lua-api.factorio.com/next/Concepts.html#LuaPostEntityDiedEventFilter View documentation}
5170
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#LuaPostEntityDiedEventFilter View documentation}
5153
5171
  */
5154
5172
  type LuaPostEntityDiedEventFilter = TypePostEntityDiedEventFilter
5155
5173
 
@@ -5255,7 +5273,7 @@ interface CircuitNetworkConnectablePreRobotMinedEntityEventFilter extends BasePr
5255
5273
  /**
5256
5274
  * Other attributes may be specified depending on `filter`:
5257
5275
  *
5258
- * {@link https://lua-api.factorio.com/next/Concepts.html#LuaPreRobotMinedEntityEventFilter View documentation}
5276
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#LuaPreRobotMinedEntityEventFilter View documentation}
5259
5277
  */
5260
5278
  type LuaPreRobotMinedEntityEventFilter =
5261
5279
  | TypePreRobotMinedEntityEventFilter
@@ -5376,7 +5394,7 @@ interface CircuitNetworkConnectableEntityClonedEventFilter extends BaseEntityClo
5376
5394
  /**
5377
5395
  * Other attributes may be specified depending on `filter`:
5378
5396
  *
5379
- * {@link https://lua-api.factorio.com/next/Concepts.html#LuaEntityClonedEventFilter View documentation}
5397
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#LuaEntityClonedEventFilter View documentation}
5380
5398
  */
5381
5399
  type LuaEntityClonedEventFilter =
5382
5400
  | TypeEntityClonedEventFilter
@@ -5497,7 +5515,7 @@ interface CircuitNetworkConnectableScriptRaisedBuiltEventFilter extends BaseScri
5497
5515
  /**
5498
5516
  * Other attributes may be specified depending on `filter`:
5499
5517
  *
5500
- * {@link https://lua-api.factorio.com/next/Concepts.html#LuaScriptRaisedBuiltEventFilter View documentation}
5518
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#LuaScriptRaisedBuiltEventFilter View documentation}
5501
5519
  */
5502
5520
  type LuaScriptRaisedBuiltEventFilter =
5503
5521
  | TypeScriptRaisedBuiltEventFilter
@@ -5618,7 +5636,7 @@ interface CircuitNetworkConnectableRobotMinedEntityEventFilter extends BaseRobot
5618
5636
  /**
5619
5637
  * Other attributes may be specified depending on `filter`:
5620
5638
  *
5621
- * {@link https://lua-api.factorio.com/next/Concepts.html#LuaRobotMinedEntityEventFilter View documentation}
5639
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#LuaRobotMinedEntityEventFilter View documentation}
5622
5640
  */
5623
5641
  type LuaRobotMinedEntityEventFilter =
5624
5642
  | TypeRobotMinedEntityEventFilter
@@ -5739,7 +5757,7 @@ interface CircuitNetworkConnectablePrePlayerMinedEntityEventFilter extends BaseP
5739
5757
  /**
5740
5758
  * Other attributes may be specified depending on `filter`:
5741
5759
  *
5742
- * {@link https://lua-api.factorio.com/next/Concepts.html#LuaPrePlayerMinedEntityEventFilter View documentation}
5760
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#LuaPrePlayerMinedEntityEventFilter View documentation}
5743
5761
  */
5744
5762
  type LuaPrePlayerMinedEntityEventFilter =
5745
5763
  | TypePrePlayerMinedEntityEventFilter
@@ -5868,7 +5886,7 @@ interface CircuitNetworkConnectableRobotBuiltEntityEventFilter extends BaseRobot
5868
5886
  /**
5869
5887
  * Other attributes may be specified depending on `filter`:
5870
5888
  *
5871
- * {@link https://lua-api.factorio.com/next/Concepts.html#LuaRobotBuiltEntityEventFilter View documentation}
5889
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#LuaRobotBuiltEntityEventFilter View documentation}
5872
5890
  */
5873
5891
  type LuaRobotBuiltEntityEventFilter =
5874
5892
  | TypeRobotBuiltEntityEventFilter
@@ -5993,7 +6011,7 @@ interface CircuitNetworkConnectableEntityDeconstructionCancelledEventFilter
5993
6011
  /**
5994
6012
  * Other attributes may be specified depending on `filter`:
5995
6013
  *
5996
- * {@link https://lua-api.factorio.com/next/Concepts.html#LuaEntityDeconstructionCancelledEventFilter View documentation}
6014
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#LuaEntityDeconstructionCancelledEventFilter View documentation}
5997
6015
  */
5998
6016
  type LuaEntityDeconstructionCancelledEventFilter =
5999
6017
  | TypeEntityDeconstructionCancelledEventFilter
@@ -6122,7 +6140,7 @@ interface CircuitNetworkConnectablePlayerBuiltEntityEventFilter extends BasePlay
6122
6140
  /**
6123
6141
  * Other attributes may be specified depending on `filter`:
6124
6142
  *
6125
- * {@link https://lua-api.factorio.com/next/Concepts.html#LuaPlayerBuiltEntityEventFilter View documentation}
6143
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#LuaPlayerBuiltEntityEventFilter View documentation}
6126
6144
  */
6127
6145
  type LuaPlayerBuiltEntityEventFilter =
6128
6146
  | TypePlayerBuiltEntityEventFilter
@@ -6244,7 +6262,7 @@ interface CircuitNetworkConnectablePlayerMinedEntityEventFilter extends BasePlay
6244
6262
  /**
6245
6263
  * Other attributes may be specified depending on `filter`:
6246
6264
  *
6247
- * {@link https://lua-api.factorio.com/next/Concepts.html#LuaPlayerMinedEntityEventFilter View documentation}
6265
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#LuaPlayerMinedEntityEventFilter View documentation}
6248
6266
  */
6249
6267
  type LuaPlayerMinedEntityEventFilter =
6250
6268
  | TypePlayerMinedEntityEventFilter
@@ -6397,7 +6415,7 @@ interface CircuitNetworkConnectableEntityDamagedEventFilter extends BaseEntityDa
6397
6415
  /**
6398
6416
  * Other attributes may be specified depending on `filter`:
6399
6417
  *
6400
- * {@link https://lua-api.factorio.com/next/Concepts.html#LuaEntityDamagedEventFilter View documentation}
6418
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#LuaEntityDamagedEventFilter View documentation}
6401
6419
  */
6402
6420
  type LuaEntityDamagedEventFilter =
6403
6421
  | TypeEntityDamagedEventFilter
@@ -6522,7 +6540,7 @@ interface CircuitNetworkConnectableSectorScannedEventFilter extends BaseSectorSc
6522
6540
  /**
6523
6541
  * Other attributes may be specified depending on `filter`:
6524
6542
  *
6525
- * {@link https://lua-api.factorio.com/next/Concepts.html#LuaSectorScannedEventFilter View documentation}
6543
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#LuaSectorScannedEventFilter View documentation}
6526
6544
  */
6527
6545
  type LuaSectorScannedEventFilter =
6528
6546
  | TypeSectorScannedEventFilter
@@ -6541,6 +6559,12 @@ type LuaSectorScannedEventFilter =
6541
6559
  | TransportBeltConnectableSectorScannedEventFilter
6542
6560
  | CircuitNetworkConnectableSectorScannedEventFilter
6543
6561
 
6562
+ type StyleValuesArray =
6563
+ | readonly [topBottom: number, leftRight: number]
6564
+ | readonly [top: number, right: number, bottom: number, left: number]
6565
+
6566
+ type SizeArray = readonly [width: int, height: int]
6567
+
6544
6568
  /**
6545
6569
  * A map gen preset. Used in {@link https://wiki.factorio.com/Prototype/MapGenPresets Prototype/MapGenPresets}.
6546
6570
  *