typed-factorio 0.12.0 → 0.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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:
@@ -99,6 +101,17 @@ type PositionArray = readonly [x: int, y: int]
99
101
  */
100
102
  type Position = PositionTable | PositionArray
101
103
 
104
+ /**
105
+ * Coordinates of an entity on a map. This uses the same format as {@link Position}, meaning it can be specified either
106
+ * with or without explicit keys.
107
+ *
108
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#MapPosition View documentation}
109
+ */
110
+ interface MapPosition {
111
+ readonly x: double
112
+ readonly y: double
113
+ }
114
+
102
115
  interface ChunkPositionTable {
103
116
  readonly x: int
104
117
  readonly y: int
@@ -111,7 +124,7 @@ type ChunkPositionArray = readonly [x: int, y: int]
111
124
  * same format as {@link Position}, meaning it can be specified either with or without explicit keys. A {@link Position}
112
125
  * can be translated to a ChunkPosition by dividing the `x`/`y` values by 32.
113
126
  *
114
- * {@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}
115
128
  */
116
129
  type ChunkPosition = ChunkPositionTable | ChunkPositionArray
117
130
 
@@ -127,7 +140,7 @@ type TilePositionArray = readonly [x: int, y: int]
127
140
  * uses the same format as {@link Position} except it rounds any `x`/`y` down to whole numbers. It can be specified
128
141
  * either with or without explicit keys.
129
142
  *
130
- * {@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}
131
144
  */
132
145
  type TilePosition = TilePositionTable | TilePositionArray
133
146
 
@@ -142,14 +155,14 @@ type GuiLocationArray = readonly [x: int, y: int]
142
155
  * Screen coordinates of a GUI element in a {@link LuaGui}. This uses the same format as {@link Position} except it rounds
143
156
  * any `x`/`y` down to whole numbers. It can be specified either with or without explicit keys.
144
157
  *
145
- * {@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}
146
159
  */
147
160
  type GuiLocation = GuiLocationTable | GuiLocationArray
148
161
 
149
162
  /**
150
163
  * A {@link ChunkPosition} with an added bounding box for the area of the chunk.
151
164
  *
152
- * {@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}
153
166
  */
154
167
  interface ChunkPositionAndArea {
155
168
  readonly x: int
@@ -160,7 +173,7 @@ interface ChunkPositionAndArea {
160
173
  /**
161
174
  * A table used to define a manual shape for a piece of equipment.
162
175
  *
163
- * {@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}
164
177
  */
165
178
  interface EquipmentPoint {
166
179
  readonly x: uint
@@ -194,7 +207,7 @@ interface OldTileAndPosition {
194
207
  /**
195
208
  * A dictionary of string to the four basic Lua types: `string`, `boolean`, `number`, `table`.
196
209
  *
197
- * {@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}
198
211
  *
199
212
  * @example
200
213
  * ```lua
@@ -206,7 +219,7 @@ type Tags = Record<string, AnyBasic | undefined>
206
219
  /**
207
220
  * **Note**: The vectors for all 5 position attributes are a table with `x` and `y` keys instead of an array.
208
221
  *
209
- * {@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}
210
223
  */
211
224
  interface SmokeSource {
212
225
  readonly name: string
@@ -234,7 +247,7 @@ interface SmokeSource {
234
247
  * A vector is a two-element array containing the `x` and `y` components. In some specific cases, the vector is a table
235
248
  * with `x` and `y` keys instead, which the documentation will point out.
236
249
  *
237
- * {@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}
238
251
  *
239
252
  * @example
240
253
  * ```lua
@@ -256,7 +269,7 @@ type BoundingBoxArray = readonly [left_top: Position, right_bottom: Position, or
256
269
  * the names of the members may be omitted. When read from the game, the third member `orientation` is present if it is
257
270
  * non-zero, however it is ignored when provided to the game.
258
271
  *
259
- * {@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}
260
273
  *
261
274
  * @example
262
275
  * Explicit definition:
@@ -275,7 +288,7 @@ type BoundingBox = BoundingBoxTable | BoundingBoxArray
275
288
  /**
276
289
  * An area defined using the map editor.
277
290
  *
278
- * {@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}
279
292
  */
280
293
  interface ScriptArea {
281
294
  readonly area: BoundingBox
@@ -287,7 +300,7 @@ interface ScriptArea {
287
300
  /**
288
301
  * A position defined using the map editor.
289
302
  *
290
- * {@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}
291
304
  */
292
305
  interface ScriptPosition {
293
306
  readonly position: Position
@@ -312,7 +325,7 @@ type ColorArray = readonly [r?: float, g?: float, b?: float, a?: float]
312
325
  * Similar to {@link Position}, Color allows the short-hand notation of passing an array of exactly 3 or 4 numbers. The
313
326
  * game usually expects colors to be in pre-multiplied form (color channels are pre-multiplied by alpha).
314
327
  *
315
- * {@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}
316
329
  *
317
330
  * @example
318
331
  * ```lua
@@ -337,7 +350,7 @@ type ColorModifierArray = readonly [r?: float, g?: float, b?: float, a?: float]
337
350
  * Same as {@link Color}, but red, green, blue and alpha values can be any floating point number, without any special
338
351
  * handling of the range [1, 255].
339
352
  *
340
- * {@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}
341
354
  */
342
355
  type ColorModifier = ColorModifierTable | ColorModifierArray
343
356
 
@@ -365,7 +378,7 @@ interface Alert {
365
378
  /**
366
379
  * One vertex of a ScriptRenderPolygon.
367
380
  *
368
- * {@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}
369
382
  */
370
383
  interface ScriptRenderVertexTarget {
371
384
  readonly target: Position | LuaEntity
@@ -409,7 +422,7 @@ interface DecorativeResult {
409
422
  /**
410
423
  * **Note**: Either `icon`, `text`, or both must be provided.
411
424
  *
412
- * {@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}
413
426
  */
414
427
  interface ChartTagSpec {
415
428
  readonly position: Position
@@ -422,75 +435,75 @@ interface ChartTagSpec {
422
435
  * Parameters that affect the look and control of the game. Updating any of the member attributes here will immediately
423
436
  * take effect in the game engine.
424
437
  *
425
- * {@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}
426
439
  */
427
440
  interface GameViewSettings {
428
441
  /**
429
442
  * Show the controller GUI elements. This includes the toolbar, the selected tool slot, the armour slot, and the gun
430
443
  * and ammunition slots.
431
444
  *
432
- * {@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}
433
446
  */
434
447
  show_controller_gui: boolean
435
448
  /**
436
449
  * Show the chart in the upper right-hand corner of the screen.
437
450
  *
438
- * {@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}
439
452
  */
440
453
  show_minimap: boolean
441
454
  /**
442
455
  * Show research progress and name in the upper right-hand corner of the screen.
443
456
  *
444
- * {@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}
445
458
  */
446
459
  show_research_info: boolean
447
460
  /**
448
461
  * Show overlay icons on entities. Also known as "alt-mode".
449
462
  *
450
- * {@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}
451
464
  */
452
465
  show_entity_info: boolean
453
466
  /**
454
467
  * Show the flashing alert icons next to the player's toolbar.
455
468
  *
456
- * {@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}
457
470
  */
458
471
  show_alert_gui: boolean
459
472
  /**
460
473
  * When `true` (the default), mousing over an entity will select it. Otherwise, moving the mouse won't update entity
461
474
  * selection.
462
475
  *
463
- * {@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}
464
477
  */
465
478
  update_entity_selection: boolean
466
479
  /**
467
480
  * When `true` (`false` is default), the rails will always show the rail block visualisation.
468
481
  *
469
- * {@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}
470
483
  */
471
484
  show_rail_block_visualisation: boolean
472
485
  /**
473
486
  * Shows or hides the buttons row.
474
487
  *
475
- * {@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}
476
489
  */
477
490
  show_side_menu: boolean
478
491
  /**
479
492
  * Shows or hides the view options when map is opened.
480
493
  *
481
- * {@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}
482
495
  */
483
496
  show_map_view_options: boolean
484
497
  /**
485
498
  * Shows or hides quickbar of shortcuts.
486
499
  *
487
- * {@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}
488
501
  */
489
502
  show_quickbar: boolean
490
503
  /**
491
504
  * Shows or hides the shortcut bar.
492
505
  *
493
- * {@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}
494
507
  */
495
508
  show_shortcut_bar: boolean
496
509
  }
@@ -498,7 +511,7 @@ interface GameViewSettings {
498
511
  /**
499
512
  * What is shown in the map view. If a field is not given, that setting will not be changed.
500
513
  *
501
- * {@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}
502
515
  */
503
516
  interface MapViewSettings {
504
517
  readonly "show-logistic-network"?: boolean
@@ -514,7 +527,7 @@ interface MapViewSettings {
514
527
  /**
515
528
  * These values are for the time frame of one second (60 ticks).
516
529
  *
517
- * {@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}
518
531
  */
519
532
  interface PollutionMapSettings {
520
533
  /** Whether pollution is enabled at all. */
@@ -549,7 +562,7 @@ interface PollutionMapSettings {
549
562
  /**
550
563
  * These values represent a percentual increase in evolution. This means a value of `0.1` would increase evolution by 10%.
551
564
  *
552
- * {@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}
553
566
  */
554
567
  interface EnemyEvolutionMapSettings {
555
568
  /** Whether enemy evolution is enabled at all. */
@@ -586,7 +599,7 @@ interface EnemyEvolutionMapSettings {
586
599
  * score(chunk) = 1 / (1 + player + base)
587
600
  * ```
588
601
  *
589
- * {@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}
590
603
  */
591
604
  interface EnemyExpansionMapSettings {
592
605
  /** Whether enemy expansion is enabled at all. */
@@ -705,7 +718,10 @@ interface SteeringMapSettings {
705
718
  }
706
719
 
707
720
  interface PathFinderMapSettings {
708
- /** Determines whether forwards (`>1`), backwards (`<-1`), or symmetrical (`1`) search is preferred. Defaults to `5`. */
721
+ /**
722
+ * The pathfinder performs a step of the backward search every `fwd2bwd_ratio`'th step. The minimum allowed value is
723
+ * `2`, which means symmetric search. The default value is `5`.
724
+ */
709
725
  readonly fwd2bwd_ratio: uint
710
726
  /**
711
727
  * When looking at which node to check next, their heuristic value is multiplied by this ratio. The higher it is,
@@ -817,7 +833,7 @@ interface PathFinderMapSettings {
817
833
  /**
818
834
  * Various game-related settings. Updating any of the attributes will immediately take effect in the game engine.
819
835
  *
820
- * {@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}
821
837
  *
822
838
  * @example
823
839
  * Increase the number of short paths the pathfinder can cache.
@@ -843,7 +859,7 @@ interface MapSettings {
843
859
  /**
844
860
  * Technology and recipe difficulty settings. Updating any of the attributes will immediately take effect in the game engine.
845
861
  *
846
- * {@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}
847
863
  */
848
864
  interface DifficultySettings {
849
865
  readonly recipe_difficulty: defines.difficulty_settings.recipe_difficulty
@@ -860,7 +876,7 @@ interface DifficultySettings {
860
876
  /**
861
877
  * The data that can be extracted from a map exchange string, as a plain table.
862
878
  *
863
- * {@link https://lua-api.factorio.com/next/Concepts.html#MapExchangeStringData View documentation}
879
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#MapExchangeStringData View documentation}
864
880
  */
865
881
  interface MapExchangeStringData {
866
882
  /**
@@ -931,7 +947,7 @@ interface BlueprintCircuitConnection {
931
947
  * The representation of an entity inside of a blueprint. It has at least these fields, but can contain additional ones
932
948
  * depending on the kind of entity.
933
949
  *
934
- * {@link https://lua-api.factorio.com/next/Concepts.html#BlueprintEntity View documentation}
950
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#BlueprintEntity View documentation}
935
951
  */
936
952
  interface BlueprintEntity {
937
953
  /** The entity's unique identifier in the blueprint. */
@@ -1012,7 +1028,7 @@ interface ItemIngredient extends BaseIngredient {
1012
1028
  /**
1013
1029
  * Other attributes may be specified depending on `type`:
1014
1030
  *
1015
- * {@link https://lua-api.factorio.com/next/Concepts.html#Ingredient View documentation}
1031
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#Ingredient View documentation}
1016
1032
  */
1017
1033
  type Ingredient = FluidIngredient | ItemIngredient
1018
1034
 
@@ -1046,7 +1062,7 @@ interface ItemProduct extends BaseProduct {
1046
1062
  /**
1047
1063
  * Other attributes may be specified depending on `type`:
1048
1064
  *
1049
- * {@link https://lua-api.factorio.com/next/Concepts.html#Product View documentation}
1065
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#Product View documentation}
1050
1066
  *
1051
1067
  * @example
1052
1068
  * Products of the "steel-chest" recipe (an array of Product):
@@ -1247,7 +1263,7 @@ interface OtherTechnologyModifier extends BaseTechnologyModifier {
1247
1263
  *
1248
1264
  * Other attributes may be specified depending on `type`:
1249
1265
  *
1250
- * {@link https://lua-api.factorio.com/next/Concepts.html#TechnologyModifier View documentation}
1266
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#TechnologyModifier View documentation}
1251
1267
  */
1252
1268
  type TechnologyModifier =
1253
1269
  | GunSpeedTechnologyModifier
@@ -1261,7 +1277,7 @@ type TechnologyModifier =
1261
1277
  /**
1262
1278
  * A single offer on a market entity.
1263
1279
  *
1264
- * {@link https://lua-api.factorio.com/next/Concepts.html#Offer View documentation}
1280
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#Offer View documentation}
1265
1281
  */
1266
1282
  interface Offer {
1267
1283
  /** List of prices. */
@@ -1274,7 +1290,7 @@ interface Offer {
1274
1290
  * Specifies how probability and richness are calculated when placing something on the map. Can be specified either
1275
1291
  * using `probability_expression` and `richness_expression` or by using all the other fields.
1276
1292
  *
1277
- * {@link https://lua-api.factorio.com/next/Concepts.html#AutoplaceSpecification View documentation}
1293
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#AutoplaceSpecification View documentation}
1278
1294
  */
1279
1295
  interface AutoplaceSpecification {
1280
1296
  readonly probability_expression: NoiseExpression
@@ -1302,7 +1318,7 @@ interface AutoplaceSpecification {
1302
1318
  * generation. These can only be meaningfully written/modified during the data load phase. More detailed information is
1303
1319
  * found on the {@link https://wiki.factorio.com/Types/NoiseExpression wiki}.
1304
1320
  *
1305
- * {@link https://lua-api.factorio.com/next/Concepts.html#NoiseExpression View documentation}
1321
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#NoiseExpression View documentation}
1306
1322
  */
1307
1323
  interface NoiseExpression {
1308
1324
  /** Names the type of the expression and determines what other fields are required. */
@@ -1378,7 +1394,7 @@ interface Resistance {
1378
1394
  * **Note**: The map generation algorithm officially supports the range of values the in-game map generation screen
1379
1395
  * shows (specifically `0` and values from `1/6` to `6`). Values outside this range are not guaranteed to work as expected.
1380
1396
  *
1381
- * {@link https://lua-api.factorio.com/next/Concepts.html#MapGenSize View documentation}
1397
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#MapGenSize View documentation}
1382
1398
  */
1383
1399
  type MapGenSize =
1384
1400
  | number
@@ -1467,7 +1483,7 @@ interface CliffPlacementSettings {
1467
1483
  * the island preset. If generators are available for other properties, the 'map type' dropdown in the GUI will be
1468
1484
  * renamed to 'elevation' and shown along with selectors for the other selectable properties.
1469
1485
  *
1470
- * {@link https://lua-api.factorio.com/next/Concepts.html#MapGenSettings View documentation}
1486
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#MapGenSettings View documentation}
1471
1487
  *
1472
1488
  * @example
1473
1489
  * Assuming a NamedNoiseExpression with the name "my-alternate-grass1-probability" is defined
@@ -1578,7 +1594,7 @@ interface SignalID {
1578
1594
  /**
1579
1595
  * An actual signal transmitted by the network.
1580
1596
  *
1581
- * {@link https://lua-api.factorio.com/next/Concepts.html#Signal View documentation}
1597
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#Signal View documentation}
1582
1598
  */
1583
1599
  interface Signal {
1584
1600
  /** ID of the signal. */
@@ -1597,7 +1613,7 @@ interface UpgradeFilter {
1597
1613
  /**
1598
1614
  * A single filter used by an infinity-filters instance.
1599
1615
  *
1600
- * {@link https://lua-api.factorio.com/next/Concepts.html#InfinityInventoryFilter View documentation}
1616
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#InfinityInventoryFilter View documentation}
1601
1617
  */
1602
1618
  interface InfinityInventoryFilter {
1603
1619
  /** Name of the item. */
@@ -1613,7 +1629,7 @@ interface InfinityInventoryFilter {
1613
1629
  /**
1614
1630
  * A single filter used by an infinity-pipe type entity.
1615
1631
  *
1616
- * {@link https://lua-api.factorio.com/next/Concepts.html#InfinityPipeFilter View documentation}
1632
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#InfinityPipeFilter View documentation}
1617
1633
  */
1618
1634
  interface InfinityPipeFilter {
1619
1635
  /** Name of the fluid. */
@@ -1649,7 +1665,7 @@ interface FluidBoxFilterSpec {
1649
1665
  /**
1650
1666
  * The settings used by a heat-interface type entity.
1651
1667
  *
1652
- * {@link https://lua-api.factorio.com/next/Concepts.html#HeatSetting View documentation}
1668
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#HeatSetting View documentation}
1653
1669
  */
1654
1670
  interface HeatSetting {
1655
1671
  /** The target temperature. Defaults to the minimum temperature of the heat buffer. */
@@ -1666,7 +1682,7 @@ interface HeatConnection {
1666
1682
  /**
1667
1683
  * A definition of a fluidbox connection point.
1668
1684
  *
1669
- * {@link https://lua-api.factorio.com/next/Concepts.html#FluidBoxConnection View documentation}
1685
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#FluidBoxConnection View documentation}
1670
1686
  */
1671
1687
  interface FluidBoxConnection {
1672
1688
  /** The connection type: "input", "output", or "input-output". */
@@ -1710,7 +1726,7 @@ interface ConstantCombinatorParameters {
1710
1726
  * **Note**: While the API accepts both versions for `"less/greater than or equal to"` and `"not equal"`, it'll always
1711
1727
  * return `"≥"`, `"≤"` or `"≠"` respectively when reading them back.
1712
1728
  *
1713
- * {@link https://lua-api.factorio.com/next/Concepts.html#ComparatorString View documentation}
1729
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#ComparatorString View documentation}
1714
1730
  */
1715
1731
  type ComparatorString /** "equal to" */ =
1716
1732
  | "=" /** "greater than" */
@@ -1911,7 +1927,7 @@ interface BuildBaseCommand extends BaseCommand {
1911
1927
  *
1912
1928
  * Other attributes may be specified depending on `type`:
1913
1929
  *
1914
- * {@link https://lua-api.factorio.com/next/Concepts.html#Command View documentation}
1930
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#Command View documentation}
1915
1931
  */
1916
1932
  type Command =
1917
1933
  | AttackCommand
@@ -1981,7 +1997,7 @@ interface ItemStackDefinition {
1981
1997
  * - String: The name of the item, which represents a full stack of that item.
1982
1998
  * - ItemStackDefinition: The detailed definition of an item stack.
1983
1999
  *
1984
- * {@link https://lua-api.factorio.com/next/Concepts.html#SimpleItemStack View documentation}
2000
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#SimpleItemStack View documentation}
1985
2001
  *
1986
2002
  * @example
1987
2003
  * Both of these lines specify an item stack of one iron plate:
@@ -2019,7 +2035,7 @@ type SimpleItemStack = string | ItemStackDefinition
2019
2035
  * - LuaFluidPrototype: The fluid prototype.
2020
2036
  * - Fluid: The fluid.
2021
2037
  *
2022
- * {@link https://lua-api.factorio.com/next/Concepts.html#FluidIdentification View documentation}
2038
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#FluidIdentification View documentation}
2023
2039
  */
2024
2040
  type FluidIdentification = string | LuaFluidPrototype | Fluid
2025
2041
 
@@ -2027,7 +2043,7 @@ type FluidIdentification = string | LuaFluidPrototype | Fluid
2027
2043
  * - String: The force name.
2028
2044
  * - LuaForce: A reference to {@link LuaForce} may be passed directly.
2029
2045
  *
2030
- * {@link https://lua-api.factorio.com/next/Concepts.html#ForceIdentification View documentation}
2046
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#ForceIdentification View documentation}
2031
2047
  */
2032
2048
  type ForceIdentification = string | LuaForce
2033
2049
 
@@ -2036,7 +2052,7 @@ type ForceIdentification = string | LuaForce
2036
2052
  * - LuaTechnology: A reference to {@link LuaTechnology} may be passed directly.
2037
2053
  * - LuaTechnologyPrototype: A reference to {@link LuaTechnologyPrototype} may be passed directly.
2038
2054
  *
2039
- * {@link https://lua-api.factorio.com/next/Concepts.html#TechnologyIdentification View documentation}
2055
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#TechnologyIdentification View documentation}
2040
2056
  */
2041
2057
  type TechnologyIdentification = string | LuaTechnology | LuaTechnologyPrototype
2042
2058
 
@@ -2046,7 +2062,7 @@ type TechnologyIdentification = string | LuaTechnology | LuaTechnologyPrototype
2046
2062
  * - String: It will be the surface name. E.g. `"nauvis"`.
2047
2063
  * - LuaSurface: A reference to {@link LuaSurface} may be passed directly.
2048
2064
  *
2049
- * {@link https://lua-api.factorio.com/next/Concepts.html#SurfaceIdentification View documentation}
2065
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#SurfaceIdentification View documentation}
2050
2066
  */
2051
2067
  type SurfaceIdentification = uint | string | LuaSurface
2052
2068
 
@@ -2055,7 +2071,7 @@ type SurfaceIdentification = uint | string | LuaSurface
2055
2071
  * - String: The player name.
2056
2072
  * - LuaPlayer: A reference to {@link LuaPlayer} may be passed directly.
2057
2073
  *
2058
- * {@link https://lua-api.factorio.com/next/Concepts.html#PlayerIdentification View documentation}
2074
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#PlayerIdentification View documentation}
2059
2075
  */
2060
2076
  type PlayerIdentification = uint | string | LuaPlayer
2061
2077
 
@@ -2066,7 +2082,7 @@ type ItemStackIdentification = SimpleItemStack | LuaItemStack
2066
2082
  * - LuaEntityPrototype: The entity prototype.
2067
2083
  * - String: The prototype name.
2068
2084
  *
2069
- * {@link https://lua-api.factorio.com/next/Concepts.html#EntityPrototypeIdentification View documentation}
2085
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#EntityPrototypeIdentification View documentation}
2070
2086
  */
2071
2087
  type EntityPrototypeIdentification = LuaEntity | LuaEntityPrototype | string
2072
2088
 
@@ -2075,7 +2091,7 @@ type EntityPrototypeIdentification = LuaEntity | LuaEntityPrototype | string
2075
2091
  * - LuaItemPrototype: The item prototype.
2076
2092
  * - String: The prototype name.
2077
2093
  *
2078
- * {@link https://lua-api.factorio.com/next/Concepts.html#ItemPrototypeIdentification View documentation}
2094
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#ItemPrototypeIdentification View documentation}
2079
2095
  */
2080
2096
  type ItemPrototypeIdentification = LuaItemStack | LuaItemPrototype | string
2081
2097
 
@@ -2193,7 +2209,7 @@ interface ActiveWindowGuiArrowSpecification extends BaseGuiArrowSpecification {
2193
2209
  *
2194
2210
  * Other attributes may be specified depending on `type`:
2195
2211
  *
2196
- * {@link https://lua-api.factorio.com/next/Concepts.html#GuiArrowSpecification View documentation}
2212
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#GuiArrowSpecification View documentation}
2197
2213
  */
2198
2214
  type GuiArrowSpecification =
2199
2215
  | EntityGuiArrowSpecification
@@ -2269,7 +2285,7 @@ type SpriteType =
2269
2285
  * slower; for frequently used sprites, it is better to define sprite prototype and use it instead.
2270
2286
  * - `"utility"` - sprite defined in the utility-sprites object, these are the pictures used by the game internally for the UI.
2271
2287
  *
2272
- * {@link https://lua-api.factorio.com/next/Concepts.html#SpritePath View documentation}
2288
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#SpritePath View documentation}
2273
2289
  */
2274
2290
  type SpritePath = string | `${SpriteType}/${string}`
2275
2291
 
@@ -2311,7 +2327,7 @@ type SpritePath = string | `${SpriteType}/${string}`
2311
2327
  * - `"entity-open"` - Uses {@link https://wiki.factorio.com/Prototype/Entity#open_sound Entity::open_sound}
2312
2328
  * - `"entity-close"` - Uses {@link https://wiki.factorio.com/Prototype/Entity#close_sound Entity::close_sound}
2313
2329
  *
2314
- * {@link https://lua-api.factorio.com/next/Concepts.html#SoundPath View documentation}
2330
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#SoundPath View documentation}
2315
2331
  */
2316
2332
  type SoundPath = string | `${SoundType}/${string}`
2317
2333
 
@@ -2321,7 +2337,7 @@ interface ModuleEffectValue {
2321
2337
  }
2322
2338
 
2323
2339
  /**
2324
- * {@link https://lua-api.factorio.com/next/Concepts.html#ModuleEffects View documentation}
2340
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#ModuleEffects View documentation}
2325
2341
  *
2326
2342
  * @example
2327
2343
  * These are the effects of the vanilla Productivity Module 3 (up to floating point imprecisions):
@@ -2345,7 +2361,7 @@ interface ModuleEffects {
2345
2361
  * the dictionary with the value `true`. Unset flags aren't present in the dictionary at all. So, the boolean value is
2346
2362
  * meaningless and exists just for easy table lookup if a flag is set.
2347
2363
  *
2348
- * {@link https://lua-api.factorio.com/next/Concepts.html#EntityPrototypeFlags View documentation}
2364
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#EntityPrototypeFlags View documentation}
2349
2365
  */
2350
2366
  interface EntityPrototypeFlags {
2351
2367
  readonly "not-rotatable"?: boolean
@@ -2380,7 +2396,7 @@ interface EntityPrototypeFlags {
2380
2396
  * dictionary with the value `true`. Unset flags aren't present in the dictionary at all. So, the boolean value is
2381
2397
  * meaningless and exists just for easy table lookup if a flag is set.
2382
2398
  *
2383
- * {@link https://lua-api.factorio.com/next/Concepts.html#ItemPrototypeFlags View documentation}
2399
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#ItemPrototypeFlags View documentation}
2384
2400
  */
2385
2401
  interface ItemPrototypeFlags {
2386
2402
  readonly "draw-logistic-overlay"?: boolean
@@ -2419,7 +2435,7 @@ interface ItemPrototypeFlags {
2419
2435
  * change. If a mod is going to use one of the unused layers it's recommended to start at the higher layers because the
2420
2436
  * base game will take from the lower ones.
2421
2437
  *
2422
- * {@link https://lua-api.factorio.com/next/Concepts.html#CollisionMaskLayer View documentation}
2438
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#CollisionMaskLayer View documentation}
2423
2439
  */
2424
2440
  type CollisionMaskLayer =
2425
2441
  | "ground-tile"
@@ -2441,7 +2457,7 @@ type CollisionMaskLayer =
2441
2457
  * This is a set of masks given as a dictionary[{@link CollisionMaskLayer} → {@link boolean}]. Only set masks are present
2442
2458
  * in the dictionary and they have the value `true`. Unset flags aren't present at all.
2443
2459
  *
2444
- * {@link https://lua-api.factorio.com/next/Concepts.html#CollisionMask View documentation}
2460
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#CollisionMask View documentation}
2445
2461
  */
2446
2462
  type CollisionMask = {
2447
2463
  readonly [P in CollisionMaskLayer]?: true
@@ -2456,7 +2472,7 @@ type CollisionMask = {
2456
2472
  * - `"consider-tile-transitions"`
2457
2473
  * - `"colliding-with-tiles-only"`
2458
2474
  *
2459
- * {@link https://lua-api.factorio.com/next/Concepts.html#CollisionMaskWithFlags View documentation}
2475
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#CollisionMaskWithFlags View documentation}
2460
2476
  */
2461
2477
  type CollisionMaskWithFlags = {
2462
2478
  readonly [P in
@@ -2469,7 +2485,7 @@ type CollisionMaskWithFlags = {
2469
2485
  /**
2470
2486
  * This is a set of trigger target masks given as a dictionary[{@link string} → {@link boolean}].
2471
2487
  *
2472
- * {@link https://lua-api.factorio.com/next/Concepts.html#TriggerTargetMask View documentation}
2488
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#TriggerTargetMask View documentation}
2473
2489
  */
2474
2490
  type TriggerTargetMask = {
2475
2491
  readonly [P in string]?: true
@@ -2553,7 +2569,7 @@ interface CircularParticleCreationSpecification {
2553
2569
  * - A {@link RealOrientation}
2554
2570
  * - A {@link Vector}
2555
2571
  *
2556
- * {@link https://lua-api.factorio.com/next/Concepts.html#CircularProjectileCreationSpecification View documentation}
2572
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#CircularProjectileCreationSpecification View documentation}
2557
2573
  */
2558
2574
  type CircularProjectileCreationSpecification = [RealOrientation, Vector]
2559
2575
 
@@ -2632,7 +2648,7 @@ interface BeamAttackParameters extends BaseAttackParameters {
2632
2648
  /**
2633
2649
  * Other attributes may be specified depending on `type`:
2634
2650
  *
2635
- * {@link https://lua-api.factorio.com/next/Concepts.html#AttackParameters View documentation}
2651
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#AttackParameters View documentation}
2636
2652
  */
2637
2653
  type AttackParameters = ProjectileAttackParameters | StreamAttackParameters | BeamAttackParameters
2638
2654
 
@@ -2649,7 +2665,7 @@ interface CapsuleAction {
2649
2665
  * This is a set of flags given as a dictionary[{@link string} → {@link boolean}]. Set flags are present in the dictionary
2650
2666
  * with the value `true`; unset flags aren't present at all.
2651
2667
  *
2652
- * {@link https://lua-api.factorio.com/next/Concepts.html#SelectionModeFlags View documentation}
2668
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#SelectionModeFlags View documentation}
2653
2669
  */
2654
2670
  interface SelectionModeFlags {
2655
2671
  /** Entities that can be selected for blueprint. */
@@ -2693,7 +2709,7 @@ interface LogisticFilter {
2693
2709
  * **Note**: Runtime settings can be changed through console commands and by the mod that owns the settings by writing a
2694
2710
  * new table to the ModSetting.
2695
2711
  *
2696
- * {@link https://lua-api.factorio.com/next/Concepts.html#ModSetting View documentation}
2712
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#ModSetting View documentation}
2697
2713
  */
2698
2714
  interface ModSetting {
2699
2715
  /** The value of the mod setting. The type depends on the setting. */
@@ -2703,14 +2719,14 @@ interface ModSetting {
2703
2719
  /**
2704
2720
  * Any basic type (string, number, boolean) or table.
2705
2721
  *
2706
- * {@link https://lua-api.factorio.com/next/Concepts.html#AnyBasic View documentation}
2722
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#AnyBasic View documentation}
2707
2723
  */
2708
2724
  type AnyBasic = string | number | boolean | table
2709
2725
 
2710
2726
  /**
2711
2727
  * Any basic type (string, number, boolean), table, or LuaObject.
2712
2728
  *
2713
- * {@link https://lua-api.factorio.com/next/Concepts.html#Any View documentation}
2729
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#Any View documentation}
2714
2730
  */
2715
2731
  type Any = any
2716
2732
 
@@ -2741,7 +2757,7 @@ interface ProgrammableSpeakerInstrument {
2741
2757
  /**
2742
2758
  * A {@link string} that specifies where a gui element should be.
2743
2759
  *
2744
- * {@link https://lua-api.factorio.com/next/Concepts.html#Alignment View documentation}
2760
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#Alignment View documentation}
2745
2761
  */
2746
2762
  type Alignment =
2747
2763
  | "top-left"
@@ -2758,9 +2774,9 @@ type Alignment =
2758
2774
 
2759
2775
  /**
2760
2776
  * Information about the event that has been raised. The table can also contain other fields depending on the type of
2761
- * event. See {@link https://lua-api.factorio.com/next/events.html the list of Factorio events} for more information on these.
2777
+ * event. See {@link https://lua-api.factorio.com/latest/events.html the list of Factorio events} for more information on these.
2762
2778
  *
2763
- * {@link https://lua-api.factorio.com/next/Concepts.html#EventData View documentation}
2779
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#EventData View documentation}
2764
2780
  */
2765
2781
  interface EventData {
2766
2782
  /** The identifier of the event this handler was registered to. */
@@ -2861,14 +2877,14 @@ type MouseButtonFlagsArray = readonly (MouseButtonFlag | "left-and-right")[]
2861
2877
  * - `"button-8"`
2862
2878
  * - `"button-9"`
2863
2879
  *
2864
- * {@link https://lua-api.factorio.com/next/Concepts.html#MouseButtonFlags View documentation}
2880
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#MouseButtonFlags View documentation}
2865
2881
  */
2866
2882
  type MouseButtonFlags = MouseButtonFlagsTable | MouseButtonFlagsArray
2867
2883
 
2868
2884
  /**
2869
2885
  * It is specified by {@link string}.
2870
2886
  *
2871
- * {@link https://lua-api.factorio.com/next/Concepts.html#CursorBoxRenderType View documentation}
2887
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#CursorBoxRenderType View documentation}
2872
2888
  */
2873
2889
  type CursorBoxRenderType /** Yellow box. */ =
2874
2890
  | "entity" /** Red box. */
@@ -2883,7 +2899,7 @@ type CursorBoxRenderType /** Yellow box. */ =
2883
2899
  /**
2884
2900
  * It is specified by {@link string}.
2885
2901
  *
2886
- * {@link https://lua-api.factorio.com/next/Concepts.html#ForceCondition View documentation}
2902
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#ForceCondition View documentation}
2887
2903
  */
2888
2904
  type ForceCondition /** All forces pass. */ =
2889
2905
  | "all" /** Forces which will attack pass. */
@@ -2942,7 +2958,7 @@ type ForceCondition /** All forces pass. */ =
2942
2958
  * - `"arrow"`: 190
2943
2959
  * - `"cursor"`: 210
2944
2960
  *
2945
- * {@link https://lua-api.factorio.com/next/Concepts.html#RenderLayer View documentation}
2961
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#RenderLayer View documentation}
2946
2962
  */
2947
2963
  type RenderLayer =
2948
2964
  | number
@@ -3026,7 +3042,7 @@ interface VehicleAutomaticTargetingParameters {
3026
3042
  * Defines which slider in the game's sound settings affects the volume of this sound. Furthermore, some sound types are
3027
3043
  * mixed differently than others, e.g. zoom level effects are applied.
3028
3044
  *
3029
- * {@link https://lua-api.factorio.com/next/Concepts.html#SoundType View documentation}
3045
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#SoundType View documentation}
3030
3046
  */
3031
3047
  type SoundType = "game-effect" | "gui-effect" | "ambient" | "environment" | "walking" | "alert" | "wind"
3032
3048
 
@@ -3223,7 +3239,7 @@ interface FuelItemPrototypeFilter extends BaseItemPrototypeFilter {
3223
3239
  /**
3224
3240
  * Other attributes may be specified depending on `filter`:
3225
3241
  *
3226
- * {@link https://lua-api.factorio.com/next/Concepts.html#ItemPrototypeFilter View documentation}
3242
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#ItemPrototypeFilter View documentation}
3227
3243
  */
3228
3244
  type ItemPrototypeFilter =
3229
3245
  | PlaceResultItemPrototypeFilter
@@ -3283,7 +3299,7 @@ interface SettingTypeModSettingPrototypeFilter extends BaseModSettingPrototypeFi
3283
3299
  /**
3284
3300
  * Other attributes may be specified depending on `filter`:
3285
3301
  *
3286
- * {@link https://lua-api.factorio.com/next/Concepts.html#ModSettingPrototypeFilter View documentation}
3302
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#ModSettingPrototypeFilter View documentation}
3287
3303
  */
3288
3304
  type ModSettingPrototypeFilter =
3289
3305
  | TypeModSettingPrototypeFilter
@@ -3369,7 +3385,7 @@ interface HasPrerequisitesTechnologyPrototypeFilter extends BaseTechnologyProtot
3369
3385
  /**
3370
3386
  * Other attributes may be specified depending on `filter`:
3371
3387
  *
3372
- * {@link https://lua-api.factorio.com/next/Concepts.html#TechnologyPrototypeFilter View documentation}
3388
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#TechnologyPrototypeFilter View documentation}
3373
3389
  */
3374
3390
  type TechnologyPrototypeFilter =
3375
3391
  | ResearchUnitIngredientTechnologyPrototypeFilter
@@ -3413,7 +3429,7 @@ interface AutoplaceDecorativePrototypeFilter extends BaseDecorativePrototypeFilt
3413
3429
  /**
3414
3430
  * Other attributes may be specified depending on `filter`:
3415
3431
  *
3416
- * {@link https://lua-api.factorio.com/next/Concepts.html#DecorativePrototypeFilter View documentation}
3432
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#DecorativePrototypeFilter View documentation}
3417
3433
  */
3418
3434
  type DecorativePrototypeFilter =
3419
3435
  | CollisionMaskDecorativePrototypeFilter
@@ -3445,7 +3461,7 @@ interface AllowedWithoutFightAchievementPrototypeFilter extends BaseAchievementP
3445
3461
  /**
3446
3462
  * Other attributes may be specified depending on `filter`:
3447
3463
  *
3448
- * {@link https://lua-api.factorio.com/next/Concepts.html#AchievementPrototypeFilter View documentation}
3464
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#AchievementPrototypeFilter View documentation}
3449
3465
  */
3450
3466
  type AchievementPrototypeFilter = TypeAchievementPrototypeFilter | AllowedWithoutFightAchievementPrototypeFilter
3451
3467
 
@@ -3538,7 +3554,7 @@ interface HiddenFluidPrototypeFilter extends BaseFluidPrototypeFilter {
3538
3554
  /**
3539
3555
  * Other attributes may be specified depending on `filter`:
3540
3556
  *
3541
- * {@link https://lua-api.factorio.com/next/Concepts.html#FluidPrototypeFilter View documentation}
3557
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#FluidPrototypeFilter View documentation}
3542
3558
  */
3543
3559
  type FluidPrototypeFilter =
3544
3560
  | NameFluidPrototypeFilter
@@ -3576,7 +3592,7 @@ interface ItemToPlaceEquipmentPrototypeFilter extends BaseEquipmentPrototypeFilt
3576
3592
  /**
3577
3593
  * Other attributes may be specified depending on `filter`:
3578
3594
  *
3579
- * {@link https://lua-api.factorio.com/next/Concepts.html#EquipmentPrototypeFilter View documentation}
3595
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#EquipmentPrototypeFilter View documentation}
3580
3596
  */
3581
3597
  type EquipmentPrototypeFilter = TypeEquipmentPrototypeFilter | ItemToPlaceEquipmentPrototypeFilter
3582
3598
 
@@ -3659,7 +3675,7 @@ interface ItemToPlaceTilePrototypeFilter extends BaseTilePrototypeFilter {
3659
3675
  /**
3660
3676
  * Other attributes may be specified depending on `filter`:
3661
3677
  *
3662
- * {@link https://lua-api.factorio.com/next/Concepts.html#TilePrototypeFilter View documentation}
3678
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#TilePrototypeFilter View documentation}
3663
3679
  */
3664
3680
  type TilePrototypeFilter =
3665
3681
  | CollisionMaskTilePrototypeFilter
@@ -3847,7 +3863,7 @@ interface HasProductsRecipePrototypeFilter extends BaseRecipePrototypeFilter {
3847
3863
  /**
3848
3864
  * Other attributes may be specified depending on `filter`:
3849
3865
  *
3850
- * {@link https://lua-api.factorio.com/next/Concepts.html#RecipePrototypeFilter View documentation}
3866
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#RecipePrototypeFilter View documentation}
3851
3867
  */
3852
3868
  type RecipePrototypeFilter =
3853
3869
  | HasIngredientItemRecipePrototypeFilter
@@ -4106,7 +4122,7 @@ interface ItemToPlaceEntityPrototypeFilter extends BaseEntityPrototypeFilter {
4106
4122
  /**
4107
4123
  * Other attributes may be specified depending on `filter`:
4108
4124
  *
4109
- * {@link https://lua-api.factorio.com/next/Concepts.html#EntityPrototypeFilter View documentation}
4125
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#EntityPrototypeFilter View documentation}
4110
4126
  */
4111
4127
  type EntityPrototypeFilter =
4112
4128
  | NameEntityPrototypeFilter
@@ -4245,7 +4261,7 @@ interface CircuitNetworkConnectableScriptRaisedReviveEventFilter extends BaseScr
4245
4261
  /**
4246
4262
  * Other attributes may be specified depending on `filter`:
4247
4263
  *
4248
- * {@link https://lua-api.factorio.com/next/Concepts.html#LuaScriptRaisedReviveEventFilter View documentation}
4264
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#LuaScriptRaisedReviveEventFilter View documentation}
4249
4265
  */
4250
4266
  type LuaScriptRaisedReviveEventFilter =
4251
4267
  | TypeScriptRaisedReviveEventFilter
@@ -4366,7 +4382,7 @@ interface CircuitNetworkConnectableEntityDiedEventFilter extends BaseEntityDiedE
4366
4382
  /**
4367
4383
  * Other attributes may be specified depending on `filter`:
4368
4384
  *
4369
- * {@link https://lua-api.factorio.com/next/Concepts.html#LuaEntityDiedEventFilter View documentation}
4385
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#LuaEntityDiedEventFilter View documentation}
4370
4386
  */
4371
4387
  type LuaEntityDiedEventFilter =
4372
4388
  | TypeEntityDiedEventFilter
@@ -4490,7 +4506,7 @@ interface CircuitNetworkConnectableEntityMarkedForDeconstructionEventFilter
4490
4506
  /**
4491
4507
  * Other attributes may be specified depending on `filter`:
4492
4508
  *
4493
- * {@link https://lua-api.factorio.com/next/Concepts.html#LuaEntityMarkedForDeconstructionEventFilter View documentation}
4509
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#LuaEntityMarkedForDeconstructionEventFilter View documentation}
4494
4510
  */
4495
4511
  type LuaEntityMarkedForDeconstructionEventFilter =
4496
4512
  | TypeEntityMarkedForDeconstructionEventFilter
@@ -4611,7 +4627,7 @@ interface CircuitNetworkConnectablePreGhostDeconstructedEventFilter extends Base
4611
4627
  /**
4612
4628
  * Other attributes may be specified depending on `filter`:
4613
4629
  *
4614
- * {@link https://lua-api.factorio.com/next/Concepts.html#LuaPreGhostDeconstructedEventFilter View documentation}
4630
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#LuaPreGhostDeconstructedEventFilter View documentation}
4615
4631
  */
4616
4632
  type LuaPreGhostDeconstructedEventFilter =
4617
4633
  | TypePreGhostDeconstructedEventFilter
@@ -4732,7 +4748,7 @@ interface CircuitNetworkConnectableScriptRaisedDestroyEventFilter extends BaseSc
4732
4748
  /**
4733
4749
  * Other attributes may be specified depending on `filter`:
4734
4750
  *
4735
- * {@link https://lua-api.factorio.com/next/Concepts.html#LuaScriptRaisedDestroyEventFilter View documentation}
4751
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#LuaScriptRaisedDestroyEventFilter View documentation}
4736
4752
  */
4737
4753
  type LuaScriptRaisedDestroyEventFilter =
4738
4754
  | TypeScriptRaisedDestroyEventFilter
@@ -4853,7 +4869,7 @@ interface CircuitNetworkConnectableUpgradeCancelledEventFilter extends BaseUpgra
4853
4869
  /**
4854
4870
  * Other attributes may be specified depending on `filter`:
4855
4871
  *
4856
- * {@link https://lua-api.factorio.com/next/Concepts.html#LuaUpgradeCancelledEventFilter View documentation}
4872
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#LuaUpgradeCancelledEventFilter View documentation}
4857
4873
  */
4858
4874
  type LuaUpgradeCancelledEventFilter =
4859
4875
  | TypeUpgradeCancelledEventFilter
@@ -4974,7 +4990,7 @@ interface CircuitNetworkConnectablePlayerRepairedEntityEventFilter extends BaseP
4974
4990
  /**
4975
4991
  * Other attributes may be specified depending on `filter`:
4976
4992
  *
4977
- * {@link https://lua-api.factorio.com/next/Concepts.html#LuaPlayerRepairedEntityEventFilter View documentation}
4993
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#LuaPlayerRepairedEntityEventFilter View documentation}
4978
4994
  */
4979
4995
  type LuaPlayerRepairedEntityEventFilter =
4980
4996
  | TypePlayerRepairedEntityEventFilter
@@ -5095,7 +5111,7 @@ interface CircuitNetworkConnectableEntityMarkedForUpgradeEventFilter extends Bas
5095
5111
  /**
5096
5112
  * Other attributes may be specified depending on `filter`:
5097
5113
  *
5098
- * {@link https://lua-api.factorio.com/next/Concepts.html#LuaEntityMarkedForUpgradeEventFilter View documentation}
5114
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#LuaEntityMarkedForUpgradeEventFilter View documentation}
5099
5115
  */
5100
5116
  type LuaEntityMarkedForUpgradeEventFilter =
5101
5117
  | TypeEntityMarkedForUpgradeEventFilter
@@ -5135,7 +5151,7 @@ interface TypePostEntityDiedEventFilter extends BasePostEntityDiedEventFilter {
5135
5151
  /**
5136
5152
  * Other attributes may be specified depending on `filter`:
5137
5153
  *
5138
- * {@link https://lua-api.factorio.com/next/Concepts.html#LuaPostEntityDiedEventFilter View documentation}
5154
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#LuaPostEntityDiedEventFilter View documentation}
5139
5155
  */
5140
5156
  type LuaPostEntityDiedEventFilter = TypePostEntityDiedEventFilter
5141
5157
 
@@ -5241,7 +5257,7 @@ interface CircuitNetworkConnectablePreRobotMinedEntityEventFilter extends BasePr
5241
5257
  /**
5242
5258
  * Other attributes may be specified depending on `filter`:
5243
5259
  *
5244
- * {@link https://lua-api.factorio.com/next/Concepts.html#LuaPreRobotMinedEntityEventFilter View documentation}
5260
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#LuaPreRobotMinedEntityEventFilter View documentation}
5245
5261
  */
5246
5262
  type LuaPreRobotMinedEntityEventFilter =
5247
5263
  | TypePreRobotMinedEntityEventFilter
@@ -5362,7 +5378,7 @@ interface CircuitNetworkConnectableEntityClonedEventFilter extends BaseEntityClo
5362
5378
  /**
5363
5379
  * Other attributes may be specified depending on `filter`:
5364
5380
  *
5365
- * {@link https://lua-api.factorio.com/next/Concepts.html#LuaEntityClonedEventFilter View documentation}
5381
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#LuaEntityClonedEventFilter View documentation}
5366
5382
  */
5367
5383
  type LuaEntityClonedEventFilter =
5368
5384
  | TypeEntityClonedEventFilter
@@ -5483,7 +5499,7 @@ interface CircuitNetworkConnectableScriptRaisedBuiltEventFilter extends BaseScri
5483
5499
  /**
5484
5500
  * Other attributes may be specified depending on `filter`:
5485
5501
  *
5486
- * {@link https://lua-api.factorio.com/next/Concepts.html#LuaScriptRaisedBuiltEventFilter View documentation}
5502
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#LuaScriptRaisedBuiltEventFilter View documentation}
5487
5503
  */
5488
5504
  type LuaScriptRaisedBuiltEventFilter =
5489
5505
  | TypeScriptRaisedBuiltEventFilter
@@ -5604,7 +5620,7 @@ interface CircuitNetworkConnectableRobotMinedEntityEventFilter extends BaseRobot
5604
5620
  /**
5605
5621
  * Other attributes may be specified depending on `filter`:
5606
5622
  *
5607
- * {@link https://lua-api.factorio.com/next/Concepts.html#LuaRobotMinedEntityEventFilter View documentation}
5623
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#LuaRobotMinedEntityEventFilter View documentation}
5608
5624
  */
5609
5625
  type LuaRobotMinedEntityEventFilter =
5610
5626
  | TypeRobotMinedEntityEventFilter
@@ -5725,7 +5741,7 @@ interface CircuitNetworkConnectablePrePlayerMinedEntityEventFilter extends BaseP
5725
5741
  /**
5726
5742
  * Other attributes may be specified depending on `filter`:
5727
5743
  *
5728
- * {@link https://lua-api.factorio.com/next/Concepts.html#LuaPrePlayerMinedEntityEventFilter View documentation}
5744
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#LuaPrePlayerMinedEntityEventFilter View documentation}
5729
5745
  */
5730
5746
  type LuaPrePlayerMinedEntityEventFilter =
5731
5747
  | TypePrePlayerMinedEntityEventFilter
@@ -5854,7 +5870,7 @@ interface CircuitNetworkConnectableRobotBuiltEntityEventFilter extends BaseRobot
5854
5870
  /**
5855
5871
  * Other attributes may be specified depending on `filter`:
5856
5872
  *
5857
- * {@link https://lua-api.factorio.com/next/Concepts.html#LuaRobotBuiltEntityEventFilter View documentation}
5873
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#LuaRobotBuiltEntityEventFilter View documentation}
5858
5874
  */
5859
5875
  type LuaRobotBuiltEntityEventFilter =
5860
5876
  | TypeRobotBuiltEntityEventFilter
@@ -5979,7 +5995,7 @@ interface CircuitNetworkConnectableEntityDeconstructionCancelledEventFilter
5979
5995
  /**
5980
5996
  * Other attributes may be specified depending on `filter`:
5981
5997
  *
5982
- * {@link https://lua-api.factorio.com/next/Concepts.html#LuaEntityDeconstructionCancelledEventFilter View documentation}
5998
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#LuaEntityDeconstructionCancelledEventFilter View documentation}
5983
5999
  */
5984
6000
  type LuaEntityDeconstructionCancelledEventFilter =
5985
6001
  | TypeEntityDeconstructionCancelledEventFilter
@@ -6108,7 +6124,7 @@ interface CircuitNetworkConnectablePlayerBuiltEntityEventFilter extends BasePlay
6108
6124
  /**
6109
6125
  * Other attributes may be specified depending on `filter`:
6110
6126
  *
6111
- * {@link https://lua-api.factorio.com/next/Concepts.html#LuaPlayerBuiltEntityEventFilter View documentation}
6127
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#LuaPlayerBuiltEntityEventFilter View documentation}
6112
6128
  */
6113
6129
  type LuaPlayerBuiltEntityEventFilter =
6114
6130
  | TypePlayerBuiltEntityEventFilter
@@ -6230,7 +6246,7 @@ interface CircuitNetworkConnectablePlayerMinedEntityEventFilter extends BasePlay
6230
6246
  /**
6231
6247
  * Other attributes may be specified depending on `filter`:
6232
6248
  *
6233
- * {@link https://lua-api.factorio.com/next/Concepts.html#LuaPlayerMinedEntityEventFilter View documentation}
6249
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#LuaPlayerMinedEntityEventFilter View documentation}
6234
6250
  */
6235
6251
  type LuaPlayerMinedEntityEventFilter =
6236
6252
  | TypePlayerMinedEntityEventFilter
@@ -6383,7 +6399,7 @@ interface CircuitNetworkConnectableEntityDamagedEventFilter extends BaseEntityDa
6383
6399
  /**
6384
6400
  * Other attributes may be specified depending on `filter`:
6385
6401
  *
6386
- * {@link https://lua-api.factorio.com/next/Concepts.html#LuaEntityDamagedEventFilter View documentation}
6402
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#LuaEntityDamagedEventFilter View documentation}
6387
6403
  */
6388
6404
  type LuaEntityDamagedEventFilter =
6389
6405
  | TypeEntityDamagedEventFilter
@@ -6508,7 +6524,7 @@ interface CircuitNetworkConnectableSectorScannedEventFilter extends BaseSectorSc
6508
6524
  /**
6509
6525
  * Other attributes may be specified depending on `filter`:
6510
6526
  *
6511
- * {@link https://lua-api.factorio.com/next/Concepts.html#LuaSectorScannedEventFilter View documentation}
6527
+ * {@link https://lua-api.factorio.com/latest/Concepts.html#LuaSectorScannedEventFilter View documentation}
6512
6528
  */
6513
6529
  type LuaSectorScannedEventFilter =
6514
6530
  | TypeSectorScannedEventFilter
@@ -6527,6 +6543,12 @@ type LuaSectorScannedEventFilter =
6527
6543
  | TransportBeltConnectableSectorScannedEventFilter
6528
6544
  | CircuitNetworkConnectableSectorScannedEventFilter
6529
6545
 
6546
+ type StyleValuesArray =
6547
+ | readonly [topBottom: number, leftRight: number]
6548
+ | readonly [top: number, right: number, bottom: number, left: number]
6549
+
6550
+ type SizeArray = readonly [width: int, height: int]
6551
+
6530
6552
  /**
6531
6553
  * A map gen preset. Used in {@link https://wiki.factorio.com/Prototype/MapGenPresets Prototype/MapGenPresets}.
6532
6554
  *