factorio-types 0.0.37 → 0.0.39

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.
package/dist/classes.d.ts CHANGED
@@ -2,8 +2,8 @@
2
2
  // Factorio API reference https://lua-api.factorio.com/latest/index.html
3
3
  // Generated from JSON source https://lua-api.factorio.com/latest/runtime-api.json
4
4
  // Definition source https://github.com/sguest/factorio-types
5
- // Factorio version 1.1.86
6
- // API version 3
5
+ // Factorio version 1.1.89
6
+ // API version 4
7
7
 
8
8
  /**
9
9
  * Collection of settings for overriding default ai behavior.
@@ -225,7 +225,7 @@ interface LuaAutoplaceControlPrototype {
225
225
  */
226
226
  interface LuaBootstrap {
227
227
  /**
228
- * Generate a new, unique event ID that can be used to raise custom events with {@link LuaBootstrap::raise_event | LuaBootstrap::raise_event}.
228
+ * Generate a new, unique event ID that can be used to raise custom events with {@link LuaBootstrap::raise_event | runtime:LuaBootstrap::raise_event}.
229
229
  */
230
230
  generate_event_name(this: void): void
231
231
 
@@ -256,9 +256,9 @@ interface LuaBootstrap {
256
256
  name: string): void
257
257
 
258
258
  /**
259
- * Register a function to be run when mod configuration changes. This is called when the game version or any mod version changed, when any mod was added or removed, when a startup setting has changed, when any prototypes have been added or removed, or when a migration was applied. It allows the mod to make any changes it deems appropriate to both the data structures in its {@link global | global} table or to the game state through {@link LuaGameScript | LuaGameScript}.
259
+ * Register a function to be run when mod configuration changes. This is called when the game version or any mod version changed, when any mod was added or removed, when a startup setting has changed, when any prototypes have been added or removed, or when a migration was applied. It allows the mod to make any changes it deems appropriate to both the data structures in its {@link global | runtime:global} table or to the game state through {@link LuaGameScript | runtime:LuaGameScript}.
260
260
  * @remarks
261
- * For more context, refer to the {@link Data Lifecycle | data-lifecycle} page.
261
+ * For more context, refer to the {@link Data Lifecycle | runtime:data-lifecycle} page.
262
262
  *
263
263
  * @param handler - The handler for this event. Passing `nil` will unregister it.
264
264
  */
@@ -271,14 +271,14 @@ interface LuaBootstrap {
271
271
  * @param filters - The filters for this event. Can only be used when registering for individual events.
272
272
  * @param handler - The handler for this event. Passing `nil` will unregister it.
273
273
  * @example
274
- * Register for the [on_tick](on_tick) event to print the current tick to console each tick.
274
+ * Register for the [on_tick](runtime:on_tick) event to print the current tick to console each tick.
275
275
  * ```
276
276
  * script.on_event(defines.events.on_tick,
277
277
  * function(event) game.print(event.tick) end)
278
278
  * ```
279
279
  *
280
280
  * @example
281
- * Register for the [on_built_entity](on_built_entity) event, limiting it to only be received when a `"fast-inserter"` is built.
281
+ * Register for the [on_built_entity](runtime:on_built_entity) event, limiting it to only be received when a `"fast-inserter"` is built.
282
282
  * ```
283
283
  * script.on_event(defines.events.on_built_entity,
284
284
  * function(event) game.print("Gotta go fast!") end,
@@ -292,9 +292,9 @@ interface LuaBootstrap {
292
292
  filters?: EventFilter): void
293
293
 
294
294
  /**
295
- * Register a function to be run on mod initialization. This is only called when a new save game is created or when a save file is loaded that previously didn't contain the mod. During it, the mod gets the chance to set up initial values that it will use for its lifetime. It has full access to {@link LuaGameScript | LuaGameScript} and the {@link global | global} table and can change anything about them that it deems appropriate. No other events will be raised for the mod until it has finished this step.
295
+ * Register a function to be run on mod initialization. This is only called when a new save game is created or when a save file is loaded that previously didn't contain the mod. During it, the mod gets the chance to set up initial values that it will use for its lifetime. It has full access to {@link LuaGameScript | runtime:LuaGameScript} and the {@link global | runtime:global} table and can change anything about them that it deems appropriate. No other events will be raised for the mod until it has finished this step.
296
296
  * @remarks
297
- * For more context, refer to the {@link Data Lifecycle | data-lifecycle} page.
297
+ * For more context, refer to the {@link Data Lifecycle | runtime:data-lifecycle} page.
298
298
  *
299
299
  * @param handler - The handler for this event. Passing `nil` will unregister it.
300
300
  * @example
@@ -312,16 +312,16 @@ interface LuaBootstrap {
312
312
  /**
313
313
  * Register a function to be run on save load. This is only called for mods that have been part of the save previously, or for players connecting to a running multiplayer session.
314
314
  *
315
- * It gives the mod the opportunity to rectify potential differences in local state introduced by the save/load cycle. Doing anything other than the following three will lead to desyncs, breaking multiplayer and replay functionality. Access to {@link LuaGameScript | LuaGameScript} is not available. The {@link global | global} table can be accessed and is safe to read from, but not write to, as doing so will lead to an error.
315
+ * It gives the mod the opportunity to rectify potential differences in local state introduced by the save/load cycle. Doing anything other than the following three will lead to desyncs, breaking multiplayer and replay functionality. Access to {@link LuaGameScript | runtime:LuaGameScript} is not available. The {@link global | runtime:global} table can be accessed and is safe to read from, but not write to, as doing so will lead to an error.
316
316
  *
317
317
  * The only legitimate uses of this event are these:
318
318
  * - Re-setup {@link metatables | https://www.lua.org/pil/13.html} as they are not persisted through the save/load cycle.
319
319
  * - Re-setup conditional event handlers, meaning subscribing to an event only when some condition is met to save processing time.
320
- * - Create local references to data stored in the {@link global | global} table.
320
+ * - Create local references to data stored in the {@link global | runtime:global} table.
321
321
  *
322
- * For all other purposes, {@link LuaBootstrap::on_init | LuaBootstrap::on_init}, {@link LuaBootstrap::on_configuration_changed | LuaBootstrap::on_configuration_changed} or {@link migrations | migrations} should be used instead.
322
+ * For all other purposes, {@link LuaBootstrap::on_init | runtime:LuaBootstrap::on_init}, {@link LuaBootstrap::on_configuration_changed | runtime:LuaBootstrap::on_configuration_changed} or {@link migrations | runtime:migrations} should be used instead.
323
323
  * @remarks
324
- * For more context, refer to the {@link Data Lifecycle | data-lifecycle} page.
324
+ * For more context, refer to the {@link Data Lifecycle | runtime:data-lifecycle} page.
325
325
  *
326
326
  * @param handler - The handler for this event. Passing `nil` will unregister it.
327
327
  */
@@ -356,22 +356,22 @@ interface LuaBootstrap {
356
356
  }): void
357
357
 
358
358
  /**
359
- * Raise an event. Only events generated with {@link LuaBootstrap::generate_event_name | LuaBootstrap::generate_event_name} and the following can be raised:
359
+ * Raise an event. Only events generated with {@link LuaBootstrap::generate_event_name | runtime:LuaBootstrap::generate_event_name} and the following can be raised:
360
360
  *
361
- * - {@link on_console_chat | on_console_chat}
362
- * - {@link on_player_crafted_item | on_player_crafted_item}
363
- * - {@link on_player_fast_transferred | on_player_fast_transferred}
364
- * - {@link on_biter_base_built | on_biter_base_built}
365
- * - {@link on_market_item_purchased | on_market_item_purchased}
366
- * - {@link script_raised_built | script_raised_built}
367
- * - {@link script_raised_destroy | script_raised_destroy}
368
- * - {@link script_raised_revive | script_raised_revive}
369
- * - {@link script_raised_teleported | script_raised_teleported}
370
- * - {@link script_raised_set_tiles | script_raised_set_tiles}
361
+ * - {@link on_console_chat | runtime:on_console_chat}
362
+ * - {@link on_player_crafted_item | runtime:on_player_crafted_item}
363
+ * - {@link on_player_fast_transferred | runtime:on_player_fast_transferred}
364
+ * - {@link on_biter_base_built | runtime:on_biter_base_built}
365
+ * - {@link on_market_item_purchased | runtime:on_market_item_purchased}
366
+ * - {@link script_raised_built | runtime:script_raised_built}
367
+ * - {@link script_raised_destroy | runtime:script_raised_destroy}
368
+ * - {@link script_raised_revive | runtime:script_raised_revive}
369
+ * - {@link script_raised_teleported | runtime:script_raised_teleported}
370
+ * - {@link script_raised_set_tiles | runtime:script_raised_set_tiles}
371
371
  * @param data - Table with extra data that will be passed to the event handler. Any invalid LuaObjects will silently stop the event from being raised.
372
372
  * @param event - ID of the event to raise.
373
373
  * @example
374
- * Raise the [on_console_chat](on_console_chat) event with the desired message 'from' the first player.
374
+ * Raise the [on_console_chat](runtime:on_console_chat) event with the desired message 'from' the first player.
375
375
  * ```
376
376
  * local data = {player_index = 1, message = "Hello friends!"}
377
377
  * script.raise_event(defines.events.on_console_chat, data)
@@ -478,7 +478,7 @@ interface LuaBootstrap {
478
478
  * @param metatable - The metatable to register.
479
479
  * @param name - The name of this metatable. Names must be unique per mod.
480
480
  * @example
481
- * The metatable first needs to be defined in the mod's root scope, then registered using this method. From then on, it will be properly restored for tables in [global](global).
481
+ * The metatable first needs to be defined in the mod's root scope, then registered using this method. From then on, it will be properly restored for tables in [global](runtime:global).
482
482
  * ```
483
483
  * local metatable = {
484
484
  * __index = function(key)
@@ -499,9 +499,9 @@ interface LuaBootstrap {
499
499
  metatable: Table): void
500
500
 
501
501
  /**
502
- * Registers an entity so that after it's destroyed, {@link on_entity_destroyed | on_entity_destroyed} is called. Once an entity is registered, it stays registered until it is actually destroyed, even through save/load cycles. The registration is global across all mods, meaning once one mod registers an entity, all mods listening to {@link on_entity_destroyed | on_entity_destroyed} will receive the event when it is destroyed. Registering the same entity multiple times will still only fire the destruction event once, and will return the same registration number.
502
+ * Registers an entity so that after it's destroyed, {@link on_entity_destroyed | runtime:on_entity_destroyed} is called. Once an entity is registered, it stays registered until it is actually destroyed, even through save/load cycles. The registration is global across all mods, meaning once one mod registers an entity, all mods listening to {@link on_entity_destroyed | runtime:on_entity_destroyed} will receive the event when it is destroyed. Registering the same entity multiple times will still only fire the destruction event once, and will return the same registration number.
503
503
  * @remarks
504
- * Depending on when a given entity is destroyed, {@link on_entity_destroyed | on_entity_destroyed} will either be fired at the end of the current tick or at the end of the next tick.
504
+ * Depending on when a given entity is destroyed, {@link on_entity_destroyed | runtime:on_entity_destroyed} will either be fired at the end of the current tick or at the end of the next tick.
505
505
  *
506
506
  * @param entity - The entity to register.
507
507
  */
@@ -513,19 +513,19 @@ interface LuaBootstrap {
513
513
  * @param event - ID of the event to filter.
514
514
  * @param filters - The filters or `nil` to clear them.
515
515
  * @example
516
- * Limit the [on_marked_for_deconstruction](on_marked_for_deconstruction) event to only be received when a non-ghost entity is marked for deconstruction.
516
+ * Limit the [on_marked_for_deconstruction](runtime:on_marked_for_deconstruction) event to only be received when a non-ghost entity is marked for deconstruction.
517
517
  * ```
518
518
  * script.set_event_filter(defines.events.on_marked_for_deconstruction, {{filter = "ghost", invert = true}})
519
519
  * ```
520
520
  *
521
521
  * @example
522
- * Limit the [on_built_entity](on_built_entity) event to only be received when either a `unit` or a `unit-spawner` is built.
522
+ * Limit the [on_built_entity](runtime:on_built_entity) event to only be received when either a `unit` or a `unit-spawner` is built.
523
523
  * ```
524
524
  * script.set_event_filter(defines.events.on_built_entity, {{filter = "type", type = "unit"}, {filter = "type", type = "unit-spawner"}})
525
525
  * ```
526
526
  *
527
527
  * @example
528
- * Limit the [on_entity_damaged](on_entity_damaged) event to only be received when a `rail` is damaged by an `acid` attack.
528
+ * Limit the [on_entity_damaged](runtime:on_entity_damaged) event to only be received when a `rail` is damaged by an `acid` attack.
529
529
  * ```
530
530
  * script.set_event_filter(defines.events.on_entity_damaged, {{filter = "rail"}, {filter = "damage-type", type = "acid", mode = "and"}})
531
531
  * ```
@@ -592,7 +592,7 @@ interface LuaBootstrap {
592
592
  }
593
593
 
594
594
  /**
595
- * A reference to the burner energy source owned by a specific {@link LuaEntity | LuaEntity} or {@link LuaEquipment | LuaEquipment}.
595
+ * A reference to the burner energy source owned by a specific {@link LuaEntity | runtime:LuaEntity} or {@link LuaEquipment | runtime:LuaEquipment}.
596
596
  */
597
597
  interface LuaBurner {
598
598
  /**
@@ -606,9 +606,9 @@ interface LuaBurner {
606
606
  readonly burnt_result_inventory: LuaInventory
607
607
 
608
608
  /**
609
- * The currently burning item. Writing `nil` will void the currently burning item without producing a {@link LuaBurner::burnt_result | LuaBurner::burnt_result}.
609
+ * The currently burning item. Writing `nil` will void the currently burning item without producing a {@link LuaBurner::burnt_result | runtime:LuaBurner::burnt_result}.
610
610
  * @remarks
611
- * Writing to this automatically handles correcting {@link LuaBurner::remaining_burning_fuel | LuaBurner::remaining_burning_fuel}.
611
+ * Writing to this automatically handles correcting {@link LuaBurner::remaining_burning_fuel | runtime:LuaBurner::remaining_burning_fuel}.
612
612
  *
613
613
  */
614
614
  currently_burning?: LuaItemPrototype
@@ -649,7 +649,7 @@ interface LuaBurner {
649
649
  /**
650
650
  * The amount of energy left in the currently-burning fuel item.
651
651
  * @remarks
652
- * Writing to this will silently do nothing if there's no {@link LuaBurner::currently_burning | LuaBurner::currently_burning} set.
652
+ * Writing to this will silently do nothing if there's no {@link LuaBurner::currently_burning | runtime:LuaBurner::currently_burning} set.
653
653
  *
654
654
  */
655
655
  remaining_burning_fuel: number
@@ -726,7 +726,7 @@ interface LuaBurnerPrototype {
726
726
  /**
727
727
  * A chunk iterator can be used for iterating chunks coordinates of a surface.
728
728
  *
729
- * The returned type is a {@link ChunkPositionAndArea | ChunkPositionAndArea} containing the chunk coordinates and its area.
729
+ * The returned type is a {@link ChunkPositionAndArea | runtime:ChunkPositionAndArea} containing the chunk coordinates and its area.
730
730
  * @example
731
731
  * ```
732
732
  * for chunk in some_surface.get_chunks() do
@@ -832,7 +832,7 @@ interface LuaCombinatorControlBehavior extends LuaControlBehavior {
832
832
  }
833
833
 
834
834
  /**
835
- * Allows for the registration of custom console commands through the global object named `commands`. Similarly to {@link event subscriptions | LuaBootstrap::on_event}, these don't persist through a save-and-load cycle.
835
+ * Allows for the registration of custom console commands through the global object named `commands`. Similarly to {@link event subscriptions | runtime:LuaBootstrap::on_event}, these don't persist through a save-and-load cycle.
836
836
  */
837
837
  interface LuaCommandProcessor {
838
838
  /**
@@ -890,7 +890,7 @@ interface LuaCommandProcessor {
890
890
  */
891
891
  interface LuaConstantCombinatorControlBehavior extends LuaControlBehavior {
892
892
  /**
893
- * Gets the signal at the given index. Returned {@link Signal | Signal} will not contain signal if none is set for the index.
893
+ * Gets the signal at the given index. Returned {@link Signal | runtime:Signal} will not contain signal if none is set for the index.
894
894
  */
895
895
  get_signal(this: void,
896
896
  index: number): void
@@ -919,7 +919,7 @@ interface LuaConstantCombinatorControlBehavior extends LuaControlBehavior {
919
919
  readonly object_name: string
920
920
 
921
921
  /**
922
- * This constant combinator's parameters. `nil` if the {@link item_slot_count | LuaEntityPrototype::item_slot_count} of the combinator's prototype is `0`.
922
+ * This constant combinator's parameters. `nil` if the {@link item_slot_count | runtime:LuaEntityPrototype::item_slot_count} of the combinator's prototype is `0`.
923
923
  *
924
924
  * Writing `nil` clears the combinator's parameters.
925
925
  */
@@ -959,7 +959,7 @@ interface LuaContainerControlBehavior extends LuaControlBehavior {
959
959
  }
960
960
 
961
961
  /**
962
- * This is an abstract base class containing the common functionality between {@link LuaPlayer | LuaPlayer} and entities (see {@link LuaEntity | LuaEntity}). When accessing player-related functions through a {@link LuaEntity | LuaEntity}, it must refer to a character entity.
962
+ * This is an abstract base class containing the common functionality between {@link LuaPlayer | runtime:LuaPlayer} and entities (see {@link LuaEntity | runtime:LuaEntity}). When accessing player-related functions through a {@link LuaEntity | runtime:LuaEntity}, it must refer to a character entity.
963
963
  */
964
964
  interface LuaControl {
965
965
  /**
@@ -1057,7 +1057,7 @@ interface LuaControl {
1057
1057
  /**
1058
1058
  * Get an inventory belonging to this entity. This can be either the "main" inventory or some auxiliary one, like the module slots or logistic trash slots.
1059
1059
  * @remarks
1060
- * A given {@link defines.inventory | defines.inventory} is only meaningful for the corresponding LuaObject type. EG: get_inventory(defines.inventory.character_main) is only meaningful if 'this' is a player character. You may get a value back but if the type of 'this' isn't the type referred to by the {@link defines.inventory | defines.inventory} it's almost guaranteed to not be the inventory asked for.
1060
+ * A given {@link defines.inventory | runtime:defines.inventory} is only meaningful for the corresponding LuaObject type. EG: get_inventory(defines.inventory.character_main) is only meaningful if 'this' is a player character. You may get a value back but if the type of 'this' isn't the type referred to by the {@link defines.inventory | runtime:defines.inventory} it's almost guaranteed to not be the inventory asked for.
1061
1061
  *
1062
1062
  */
1063
1063
  get_inventory(this: void,
@@ -1114,7 +1114,7 @@ interface LuaControl {
1114
1114
  /**
1115
1115
  * Returns whether the player is holding a blueprint. This takes both blueprint items as well as blueprint records from the blueprint library into account.
1116
1116
  *
1117
- * Note that both this method and {@link LuaControl::get_blueprint_entities | LuaControl::get_blueprint_entities} refer to the currently selected blueprint, meaning a blueprint book with a selected blueprint will return the information as well.
1117
+ * Note that both this method and {@link LuaControl::get_blueprint_entities | runtime:LuaControl::get_blueprint_entities} refer to the currently selected blueprint, meaning a blueprint book with a selected blueprint will return the information as well.
1118
1118
  */
1119
1119
  is_cursor_blueprint(this: void): void
1120
1120
 
@@ -1198,7 +1198,7 @@ interface LuaControl {
1198
1198
  * `script_raised_teleported` will not be raised if teleporting a player with no character.
1199
1199
  *
1200
1200
  * @param position - Where to teleport to.
1201
- * @param raise_teleported - If true, [defines.events.script_raised_teleported](defines.events.script_raised_teleported) will be fired on successful entity teleportation.
1201
+ * @param raise_teleported - If true, [defines.events.script_raised_teleported](runtime:defines.events.script_raised_teleported) will be fired on successful entity teleportation.
1202
1202
  * @param surface - Surface to teleport to. If not given, will teleport to the entity's current surface. Only players, cars, and spidertrons can be teleported cross-surface.
1203
1203
  */
1204
1204
  teleport(this: void,
@@ -1220,63 +1220,63 @@ interface LuaControl {
1220
1220
 
1221
1221
  /**
1222
1222
  * @remarks
1223
- * When called on a {@link LuaPlayer | LuaPlayer}, it must be associated with a character (see {@link LuaPlayer::character | LuaPlayer::character}).
1223
+ * When called on a {@link LuaPlayer | runtime:LuaPlayer}, it must be associated with a character (see {@link LuaPlayer::character | runtime:LuaPlayer::character}).
1224
1224
  *
1225
1225
  */
1226
1226
  character_additional_mining_categories: string[]
1227
1227
 
1228
1228
  /**
1229
1229
  * @remarks
1230
- * When called on a {@link LuaPlayer | LuaPlayer}, it must be associated with a character (see {@link LuaPlayer::character | LuaPlayer::character}).
1230
+ * When called on a {@link LuaPlayer | runtime:LuaPlayer}, it must be associated with a character (see {@link LuaPlayer::character | runtime:LuaPlayer::character}).
1231
1231
  *
1232
1232
  */
1233
1233
  character_build_distance_bonus: number
1234
1234
 
1235
1235
  /**
1236
1236
  * @remarks
1237
- * When called on a {@link LuaPlayer | LuaPlayer}, it must be associated with a character (see {@link LuaPlayer::character | LuaPlayer::character}).
1237
+ * When called on a {@link LuaPlayer | runtime:LuaPlayer}, it must be associated with a character (see {@link LuaPlayer::character | runtime:LuaPlayer::character}).
1238
1238
  *
1239
1239
  */
1240
1240
  character_crafting_speed_modifier: number
1241
1241
 
1242
1242
  /**
1243
1243
  * @remarks
1244
- * When called on a {@link LuaPlayer | LuaPlayer}, it must be associated with a character (see {@link LuaPlayer::character | LuaPlayer::character}).
1244
+ * When called on a {@link LuaPlayer | runtime:LuaPlayer}, it must be associated with a character (see {@link LuaPlayer::character | runtime:LuaPlayer::character}).
1245
1245
  *
1246
1246
  */
1247
1247
  character_health_bonus: number
1248
1248
 
1249
1249
  /**
1250
1250
  * @remarks
1251
- * When called on a {@link LuaPlayer | LuaPlayer}, it must be associated with a character (see {@link LuaPlayer::character | LuaPlayer::character}).
1251
+ * When called on a {@link LuaPlayer | runtime:LuaPlayer}, it must be associated with a character (see {@link LuaPlayer::character | runtime:LuaPlayer::character}).
1252
1252
  *
1253
1253
  */
1254
1254
  character_inventory_slots_bonus: number
1255
1255
 
1256
1256
  /**
1257
1257
  * @remarks
1258
- * When called on a {@link LuaPlayer | LuaPlayer}, it must be associated with a character (see {@link LuaPlayer::character | LuaPlayer::character}).
1258
+ * When called on a {@link LuaPlayer | runtime:LuaPlayer}, it must be associated with a character (see {@link LuaPlayer::character | runtime:LuaPlayer::character}).
1259
1259
  *
1260
1260
  */
1261
1261
  character_item_drop_distance_bonus: number
1262
1262
 
1263
1263
  /**
1264
1264
  * @remarks
1265
- * When called on a {@link LuaPlayer | LuaPlayer}, it must be associated with a character (see {@link LuaPlayer::character | LuaPlayer::character}).
1265
+ * When called on a {@link LuaPlayer | runtime:LuaPlayer}, it must be associated with a character (see {@link LuaPlayer::character | runtime:LuaPlayer::character}).
1266
1266
  *
1267
1267
  */
1268
1268
  character_item_pickup_distance_bonus: number
1269
1269
 
1270
1270
  /**
1271
1271
  * @remarks
1272
- * When called on a {@link LuaPlayer | LuaPlayer}, it must be associated with a character (see {@link LuaPlayer::character | LuaPlayer::character}).
1272
+ * When called on a {@link LuaPlayer | runtime:LuaPlayer}, it must be associated with a character (see {@link LuaPlayer::character | runtime:LuaPlayer::character}).
1273
1273
  *
1274
1274
  */
1275
1275
  character_loot_pickup_distance_bonus: number
1276
1276
 
1277
1277
  /**
1278
1278
  * @remarks
1279
- * When called on a {@link LuaPlayer | LuaPlayer}, it must be associated with a character (see {@link LuaPlayer::character | LuaPlayer::character}).
1279
+ * When called on a {@link LuaPlayer | runtime:LuaPlayer}, it must be associated with a character (see {@link LuaPlayer::character | runtime:LuaPlayer::character}).
1280
1280
  *
1281
1281
  */
1282
1282
  character_maximum_following_robot_count_bonus: number
@@ -1288,7 +1288,7 @@ interface LuaControl {
1288
1288
 
1289
1289
  /**
1290
1290
  * @remarks
1291
- * When called on a {@link LuaPlayer | LuaPlayer}, it must be associated with a character (see {@link LuaPlayer::character | LuaPlayer::character}).
1291
+ * When called on a {@link LuaPlayer | runtime:LuaPlayer}, it must be associated with a character (see {@link LuaPlayer::character | runtime:LuaPlayer::character}).
1292
1292
  *
1293
1293
  */
1294
1294
  character_mining_speed_modifier: number
@@ -1300,14 +1300,14 @@ interface LuaControl {
1300
1300
 
1301
1301
  /**
1302
1302
  * @remarks
1303
- * When called on a {@link LuaPlayer | LuaPlayer}, it must be associated with a character (see {@link LuaPlayer::character | LuaPlayer::character}).
1303
+ * When called on a {@link LuaPlayer | runtime:LuaPlayer}, it must be associated with a character (see {@link LuaPlayer::character | runtime:LuaPlayer::character}).
1304
1304
  *
1305
1305
  */
1306
1306
  character_reach_distance_bonus: number
1307
1307
 
1308
1308
  /**
1309
1309
  * @remarks
1310
- * When called on a {@link LuaPlayer | LuaPlayer}, it must be associated with a character (see {@link LuaPlayer::character | LuaPlayer::character}).
1310
+ * When called on a {@link LuaPlayer | runtime:LuaPlayer}, it must be associated with a character (see {@link LuaPlayer::character | runtime:LuaPlayer::character}).
1311
1311
  *
1312
1312
  */
1313
1313
  character_resource_reach_distance_bonus: number
@@ -1320,14 +1320,14 @@ interface LuaControl {
1320
1320
  /**
1321
1321
  * Modifies the running speed of this character by the given value as a percentage. Setting the running modifier to `0.5` makes the character run 50% faster. The minimum value of `-1` reduces the movement speed by 100%, resulting in a speed of `0`.
1322
1322
  * @remarks
1323
- * When called on a {@link LuaPlayer | LuaPlayer}, it must be associated with a character (see {@link LuaPlayer::character | LuaPlayer::character}).
1323
+ * When called on a {@link LuaPlayer | runtime:LuaPlayer}, it must be associated with a character (see {@link LuaPlayer::character | runtime:LuaPlayer::character}).
1324
1324
  *
1325
1325
  */
1326
1326
  character_running_speed_modifier: number
1327
1327
 
1328
1328
  /**
1329
1329
  * @remarks
1330
- * When called on a {@link LuaPlayer | LuaPlayer}, it must be associated with a character (see {@link LuaPlayer::character | LuaPlayer::character}).
1330
+ * When called on a {@link LuaPlayer | runtime:LuaPlayer}, it must be associated with a character (see {@link LuaPlayer::character | runtime:LuaPlayer::character}).
1331
1331
  *
1332
1332
  */
1333
1333
  character_trash_slot_count_bonus: number
@@ -1353,7 +1353,7 @@ interface LuaControl {
1353
1353
  readonly crafting_queue_size: number
1354
1354
 
1355
1355
  /**
1356
- * The ghost prototype in the player's cursor. When read, it will be a {@link LuaItemPrototype | LuaItemPrototype}.
1356
+ * The ghost prototype in the player's cursor. When read, it will be a {@link LuaItemPrototype | runtime:LuaItemPrototype}.
1357
1357
  * @remarks
1358
1358
  * Items in the cursor stack will take priority over the cursor ghost.
1359
1359
  *
@@ -1363,7 +1363,7 @@ interface LuaControl {
1363
1363
  /**
1364
1364
  * The player's cursor stack. `nil` if the player controller is a spectator.
1365
1365
  * @example
1366
- * Even though this property is marked as read-only, it returns a [LuaItemStack](LuaItemStack), meaning it can be manipulated like so:
1366
+ * Even though this property is marked as read-only, it returns a [LuaItemStack](runtime:LuaItemStack), meaning it can be manipulated like so:
1367
1367
  * ```
1368
1368
  * player.cursor_stack.clear()
1369
1369
  * ```
@@ -1384,18 +1384,18 @@ interface LuaControl {
1384
1384
  /**
1385
1385
  * The current combat robots following the character.
1386
1386
  * @remarks
1387
- * When called on a {@link LuaPlayer | LuaPlayer}, it must be associated with a character(see {@link LuaPlayer::character | LuaPlayer::character}).
1387
+ * When called on a {@link LuaPlayer | runtime:LuaPlayer}, it must be associated with a character(see {@link LuaPlayer::character | runtime:LuaPlayer::character}).
1388
1388
  *
1389
1389
  */
1390
1390
  readonly following_robots: LuaEntity[]
1391
1391
 
1392
1392
  /**
1393
- * The force of this entity. Reading will always give a {@link LuaForce | LuaForce}, but it is possible to assign either {@link string | string} or {@link LuaForce | LuaForce} to this attribute to change the force.
1393
+ * The force of this entity. Reading will always give a {@link LuaForce | runtime:LuaForce}, but it is possible to assign either {@link string | runtime:string} or {@link LuaForce | runtime:LuaForce} to this attribute to change the force.
1394
1394
  */
1395
1395
  force: ForceIdentification
1396
1396
 
1397
1397
  /**
1398
- * Unique {@link index | LuaForce::index} (ID) associated with the force of this entity.
1398
+ * Unique {@link index | runtime:LuaForce::index} (ID) associated with the force of this entity.
1399
1399
  */
1400
1400
  readonly force_index: number
1401
1401
 
@@ -1417,7 +1417,7 @@ interface LuaControl {
1417
1417
  /**
1418
1418
  * Current mining state.
1419
1419
  * @remarks
1420
- * When the player isn't mining tiles, the player will mine what ever entity is currently selected. See {@link LuaControl::selected | LuaControl::selected} and {@link LuaControl::update_selected_entity | LuaControl::update_selected_entity}.
1420
+ * When the player isn't mining tiles the player will mine whatever entity is currently selected. See {@link LuaControl::selected | runtime:LuaControl::selected} and {@link LuaControl::update_selected_entity | runtime:LuaControl::update_selected_entity}.
1421
1421
  *
1422
1422
  */
1423
1423
  mining_state: {
@@ -1436,7 +1436,7 @@ interface LuaControl {
1436
1436
  /**
1437
1437
  * The GUI the player currently has open.
1438
1438
  *
1439
- * This is the GUI that will asked to close (by firing the {@link on_gui_closed | on_gui_closed} event) when the `Esc` or `E` keys are pressed. If this attribute is not `nil`, and a new GUI is written to it, the existing one will be asked to close.
1439
+ * This is the GUI that will asked to close (by firing the {@link on_gui_closed | runtime:on_gui_closed} event) when the `Esc` or `E` keys are pressed. If this attribute is not `nil`, and a new GUI is written to it, the existing one will be asked to close.
1440
1440
  * @remarks
1441
1441
  * Write supports any of the types. Read will return the `entity`, `equipment`, `equipment-grid`, `player`, `element`, `inventory`, `technology`, or `nil`.
1442
1442
  *
@@ -1513,7 +1513,7 @@ interface LuaControl {
1513
1513
  readonly surface: LuaSurface
1514
1514
 
1515
1515
  /**
1516
- * Unique {@link index | LuaSurface::index} (ID) associated with the surface this entity is currently on.
1516
+ * Unique {@link index | runtime:LuaSurface::index} (ID) associated with the surface this entity is currently on.
1517
1517
  */
1518
1518
  readonly surface_index: number
1519
1519
 
@@ -1554,7 +1554,7 @@ interface LuaControl {
1554
1554
  /**
1555
1555
  * The control behavior for an entity. Inserters have logistic network and circuit network behavior logic, lamps have circuit logic and so on. This is an abstract base class that concrete control behaviors inherit.
1556
1556
  * @remarks
1557
- * An control reference becomes invalid once the control behavior is removed or the entity (see {@link LuaEntity | LuaEntity}) it resides in is destroyed.
1557
+ * An control reference becomes invalid once the control behavior is removed or the entity (see {@link LuaEntity | runtime:LuaEntity}) it resides in is destroyed.
1558
1558
  *
1559
1559
  */
1560
1560
  interface LuaControlBehavior {
@@ -1736,7 +1736,7 @@ interface LuaCustomInputPrototype {
1736
1736
  *
1737
1737
  * There are some notable consequences to the usage of a custom table type rather than the native Lua table type: Iterating a custom table is only possible using the `pairs` Lua function; `ipairs` won't work. Another key difference is that custom tables cannot be serialised into a game save file -- if saving the game would require serialisation of a custom table, an error will be displayed and the game will not be saved.
1738
1738
  * @example
1739
- * In previous versions of Factorio, this would create a [LuaPlayer](LuaPlayer) instance for every player in the game, even though only one such wrapper is needed. In the current version, accessing [game.players](LuaGameScript::players) by itself does not create any [LuaPlayer](LuaPlayer) instances; they are created lazily when accessed. Therefore, this example only constructs one [LuaPlayer](LuaPlayer) instance, no matter how many elements there are in `game.players`.
1739
+ * In previous versions of Factorio, this would create a [LuaPlayer](runtime:LuaPlayer) instance for every player in the game, even though only one such wrapper is needed. In the current version, accessing [game.players](runtime:LuaGameScript::players) by itself does not create any [LuaPlayer](runtime:LuaPlayer) instances; they are created lazily when accessed. Therefore, this example only constructs one [LuaPlayer](runtime:LuaPlayer) instance, no matter how many elements there are in `game.players`.
1740
1740
  * ```
1741
1741
  * game.players["Oxyd"].character.die()
1742
1742
  * ```
@@ -1953,7 +1953,7 @@ interface LuaElectricEnergySourcePrototype {
1953
1953
  }
1954
1954
 
1955
1955
  /**
1956
- * The primary interface for interacting with entities through the Lua API. Entities are everything that exists on the map except for tiles (see {@link LuaTile | LuaTile}).
1956
+ * The primary interface for interacting with entities through the Lua API. Entities are everything that exists on the map except for tiles (see {@link LuaTile | runtime:LuaTile}).
1957
1957
  *
1958
1958
  * Most functions on LuaEntity also work when the entity is contained in a ghost.
1959
1959
  */
@@ -1990,7 +1990,7 @@ interface LuaEntity extends LuaControl {
1990
1990
  offer: Offer): void
1991
1991
 
1992
1992
  /**
1993
- * Checks if the entity can be destroyed
1993
+ * Whether the entity can be destroyed
1994
1994
  */
1995
1995
  can_be_destroyed(this: void): void
1996
1996
 
@@ -2078,8 +2078,8 @@ interface LuaEntity extends LuaControl {
2078
2078
  /**
2079
2079
  * Connect two devices with a circuit wire or copper cable. Depending on which type of connection should be made, there are different procedures:
2080
2080
  *
2081
- * - To connect two electric poles, `target` must be a {@link LuaEntity | LuaEntity} that specifies another electric pole. This will connect them with copper cable.
2082
- * - To connect two devices with circuit wire, `target` must be a table of type {@link WireConnectionDefinition | WireConnectionDefinition}.
2081
+ * - To connect two electric poles, `target` must be a {@link LuaEntity | runtime:LuaEntity} that specifies another electric pole. This will connect them with copper cable.
2082
+ * - To connect two devices with circuit wire, `target` must be a table of type {@link WireConnectionDefinition | runtime:WireConnectionDefinition}.
2083
2083
  * @param target - The target with which to establish a connection.
2084
2084
  */
2085
2085
  connect_neighbour(this: void,
@@ -2093,14 +2093,14 @@ interface LuaEntity extends LuaControl {
2093
2093
 
2094
2094
  /**
2095
2095
  * Copies settings from the given entity onto this entity.
2096
- * @param by_player - If provided, the copying is done 'as' this player and [on_entity_settings_pasted](on_entity_settings_pasted) is triggered.
2096
+ * @param by_player - If provided, the copying is done 'as' this player and [on_entity_settings_pasted](runtime:on_entity_settings_pasted) is triggered.
2097
2097
  */
2098
2098
  copy_settings(this: void,
2099
2099
  entity: LuaEntity,
2100
2100
  by_player?: PlayerIdentification): void
2101
2101
 
2102
2102
  /**
2103
- * Creates the same smoke that is created when you place a building by hand. You can play the building sound to go with it by using {@link LuaSurface::play_sound | LuaSurface::play_sound}, eg: entity.surface.play_sound{path="entity-build/"..entity.prototype.name, position=entity.position}
2103
+ * Creates the same smoke that is created when you place a building by hand. You can play the building sound to go with it by using {@link LuaSurface::play_sound | runtime:LuaSurface::play_sound}, eg: entity.surface.play_sound{path="entity-build/"..entity.prototype.name, position=entity.position}
2104
2104
  */
2105
2105
  create_build_effect_smoke(this: void): void
2106
2106
 
@@ -2134,7 +2134,7 @@ interface LuaEntity extends LuaControl {
2134
2134
  * Not all entities can be destroyed - things such as rails under trains cannot be destroyed until the train is moved or destroyed.
2135
2135
  *
2136
2136
  * @param table.do_cliff_correction - Whether neighbouring cliffs should be corrected. Defaults to `false`.
2137
- * @param table.raise_destroy - If `true`, [script_raised_destroy](script_raised_destroy) will be called. Defaults to `false`.
2137
+ * @param table.raise_destroy - If `true`, [script_raised_destroy](runtime:script_raised_destroy) will be called. Defaults to `false`.
2138
2138
  */
2139
2139
  destroy(this: void,
2140
2140
  table?: {
@@ -2145,7 +2145,7 @@ interface LuaEntity extends LuaControl {
2145
2145
  /**
2146
2146
  * Immediately kills the entity. Does nothing if the entity doesn't have health.
2147
2147
  *
2148
- * Unlike {@link LuaEntity::destroy | LuaEntity::destroy}, `die` will trigger the {@link on_entity_died | on_entity_died} event and the entity will produce a corpse and drop loot if it has any.
2148
+ * Unlike {@link LuaEntity::destroy | runtime:LuaEntity::destroy}, `die` will trigger the {@link on_entity_died | runtime:on_entity_died} event and the entity will produce a corpse and drop loot if it has any.
2149
2149
  * @param cause - The cause to attribute the kill to.
2150
2150
  * @param force - The force to attribute the kill to.
2151
2151
  * @example
@@ -2172,9 +2172,9 @@ interface LuaEntity extends LuaControl {
2172
2172
  * Disconnect circuit wires or copper cables between devices. Depending on which type of connection should be cut, there are different procedures:
2173
2173
  *
2174
2174
  * - To remove all copper cables, leave the `target` parameter blank: `pole.disconnect_neighbour()`.
2175
- * - To remove all wires of a specific color, set `target` to {@link defines.wire_type.red | defines.wire_type.red} or {@link defines.wire_type.green | defines.wire_type.green}.
2176
- * - To remove a specific copper cable between two electric poles, `target` must be a {@link LuaEntity | LuaEntity} that specifies the other pole: `pole1.disconnect_neighbour(pole2)`.
2177
- * - To remove a specific circuit wire, `target` must be a table of type {@link WireConnectionDefinition | WireConnectionDefinition}.
2175
+ * - To remove all wires of a specific color, set `target` to {@link defines.wire_type.red | runtime:defines.wire_type.red} or {@link defines.wire_type.green | runtime:defines.wire_type.green}.
2176
+ * - To remove a specific copper cable between two electric poles, `target` must be a {@link LuaEntity | runtime:LuaEntity} that specifies the other pole: `pole1.disconnect_neighbour(pole2)`.
2177
+ * - To remove a specific circuit wire, `target` must be a table of type {@link WireConnectionDefinition | runtime:WireConnectionDefinition}.
2178
2178
  * @param target - The target with which to cut a connection.
2179
2179
  */
2180
2180
  disconnect_neighbour(this: void,
@@ -2292,7 +2292,7 @@ interface LuaEntity extends LuaControl {
2292
2292
  /**
2293
2293
  * Get amounts of all fluids in this entity.
2294
2294
  * @remarks
2295
- * If information about fluid temperatures is required, {@link LuaEntity::fluidbox | LuaEntity::fluidbox} should be used instead.
2295
+ * If information about fluid temperatures is required, {@link LuaEntity::fluidbox | runtime:LuaEntity::fluidbox} should be used instead.
2296
2296
  *
2297
2297
  */
2298
2298
  get_fluid_contents(this: void): void
@@ -2300,7 +2300,7 @@ interface LuaEntity extends LuaControl {
2300
2300
  /**
2301
2301
  * Get the amount of all or some fluid in this entity.
2302
2302
  * @remarks
2303
- * If information about fluid temperatures is required, {@link LuaEntity::fluidbox | LuaEntity::fluidbox} should be used instead.
2303
+ * If information about fluid temperatures is required, {@link LuaEntity::fluidbox | runtime:LuaEntity::fluidbox} should be used instead.
2304
2304
  *
2305
2305
  * @param fluid - Prototype name of the fluid to count. If not specified, count all fluids.
2306
2306
  */
@@ -2427,7 +2427,7 @@ interface LuaEntity extends LuaControl {
2427
2427
  /**
2428
2428
  * Gets the passenger of this car or spidertron if any.
2429
2429
  * @remarks
2430
- * This differs over {@link LuaEntity::get_driver | LuaEntity::get_driver} in that the passenger can't drive the car.
2430
+ * This differs over {@link LuaEntity::get_driver | runtime:LuaEntity::get_driver} in that the passenger can't drive the car.
2431
2431
  * Applies to subclasses: Car,SpiderVehicle
2432
2432
  *
2433
2433
  */
@@ -2553,11 +2553,11 @@ interface LuaEntity extends LuaControl {
2553
2553
  get_upgrade_target(this: void): void
2554
2554
 
2555
2555
  /**
2556
- * Same as {@link LuaEntity::has_flag | LuaEntity::has_flag}, but targets the inner entity on a entity ghost.
2556
+ * Same as {@link LuaEntity::has_flag | runtime:LuaEntity::has_flag}, but targets the inner entity on a entity ghost.
2557
2557
  * @remarks
2558
2558
  * Applies to subclasses: EntityGhost
2559
2559
  *
2560
- * @param flag - The flag to test. See [EntityPrototypeFlags](EntityPrototypeFlags) for a list of flags.
2560
+ * @param flag - The flag to test. See [EntityPrototypeFlags](runtime:EntityPrototypeFlags) for a list of flags.
2561
2561
  */
2562
2562
  ghost_has_flag(this: void,
2563
2563
  flag: string): void
@@ -2575,7 +2575,7 @@ interface LuaEntity extends LuaControl {
2575
2575
  * @remarks
2576
2576
  * `entity.has_flag(f)` is a shortcut for `entity.prototype.has_flag(f)`.
2577
2577
  *
2578
- * @param flag - The flag to test. See [EntityPrototypeFlags](EntityPrototypeFlags) for a list of flags.
2578
+ * @param flag - The flag to test. See [EntityPrototypeFlags](runtime:EntityPrototypeFlags) for a list of flags.
2579
2579
  */
2580
2580
  has_flag(this: void,
2581
2581
  flag: string): void
@@ -2688,8 +2688,8 @@ interface LuaEntity extends LuaControl {
2688
2688
  *
2689
2689
  * @param table.force - If true, when the item(s) don't fit into the given inventory the entity is force mined. If false, the mining operation fails when there isn't enough room to transfer all of the items into the inventory. Defaults to false. This is ignored and acts as `true` if no inventory is provided.
2690
2690
  * @param table.ignore_minable - If true, the minable state of the entity is ignored. Defaults to `false`. If false, an entity that isn't minable (set as not-minable in the prototype or isn't minable for other reasons) will fail to be mined.
2691
- * @param table.inventory - If provided the item(s) will be transferred into this inventory. If provided, this must be an inventory created with [LuaGameScript::create_inventory](LuaGameScript::create_inventory) or be a basic inventory owned by some entity.
2692
- * @param table.raise_destroyed - If true, [script_raised_destroy](script_raised_destroy) will be raised. Defaults to `true`.
2691
+ * @param table.inventory - If provided the item(s) will be transferred into this inventory. If provided, this must be an inventory created with [LuaGameScript::create_inventory](runtime:LuaGameScript::create_inventory) or be a basic inventory owned by some entity.
2692
+ * @param table.raise_destroyed - If true, [script_raised_destroy](runtime:script_raised_destroy) will be raised. Defaults to `true`.
2693
2693
  */
2694
2694
  mine(this: void,
2695
2695
  table?: {
@@ -2790,7 +2790,7 @@ interface LuaEntity extends LuaControl {
2790
2790
 
2791
2791
  /**
2792
2792
  * Revive a ghost. I.e. turn it from a ghost to a real entity or tile.
2793
- * @param table.raise_revive - If true, and an entity ghost; [script_raised_revive](script_raised_revive) will be called. Else if true, and a tile ghost; [script_raised_set_tiles](script_raised_set_tiles) will be called.
2793
+ * @param table.raise_revive - If true, and an entity ghost; [script_raised_revive](runtime:script_raised_revive) will be called. Else if true, and a tile ghost; [script_raised_set_tiles](runtime:script_raised_set_tiles) will be called.
2794
2794
  * @param table.return_item_request_proxy - If `true` the function will return item request proxy as the third return value.
2795
2795
  */
2796
2796
  revive(this: void,
@@ -2801,8 +2801,8 @@ interface LuaEntity extends LuaControl {
2801
2801
 
2802
2802
  /**
2803
2803
  * Rotates this entity as if the player rotated it.
2804
- * @param table.by_player - If not specified, the [on_player_rotated_entity](on_player_rotated_entity) event will not be fired.
2805
- * @param table.enable_looted - When true, each spilled item will be flagged with the [LuaEntity::to_be_looted](LuaEntity::to_be_looted) flag.
2804
+ * @param table.by_player - If not specified, the [on_player_rotated_entity](runtime:on_player_rotated_entity) event will not be fired.
2805
+ * @param table.enable_looted - When true, each spilled item will be flagged with the [LuaEntity::to_be_looted](runtime:LuaEntity::to_be_looted) flag.
2806
2806
  * @param table.force - When provided the spilled items will be marked for deconstruction by this force.
2807
2807
  * @param table.reverse - If `true`, rotate the entity in the counter-clockwise direction.
2808
2808
  * @param table.spill_items - If the player is not given should extra items be spilled or returned as a second return value from this.
@@ -2855,7 +2855,7 @@ interface LuaEntity extends LuaControl {
2855
2855
  /**
2856
2856
  * Sets the driver of this vehicle.
2857
2857
  * @remarks
2858
- * This differs from {@link LuaEntity::set_passenger | LuaEntity::set_passenger} in that the passenger can't drive the vehicle.
2858
+ * This differs from {@link LuaEntity::set_passenger | runtime:LuaEntity::set_passenger} in that the passenger can't drive the vehicle.
2859
2859
  * Applies to subclasses: Vehicle
2860
2860
  *
2861
2861
  * @param driver - The new driver. Writing `nil` ejects the current driver, if any.
@@ -2910,7 +2910,7 @@ interface LuaEntity extends LuaControl {
2910
2910
  /**
2911
2911
  * Sets the passenger of this car or spidertron.
2912
2912
  * @remarks
2913
- * This differs from {@link LuaEntity::get_driver | LuaEntity::get_driver} in that the passenger can't drive the car.
2913
+ * This differs from {@link LuaEntity::get_driver | runtime:LuaEntity::get_driver} in that the passenger can't drive the car.
2914
2914
  * Applies to subclasses: Car,SpiderVehicle
2915
2915
  *
2916
2916
  * @param passenger - The new passenger. Writing `nil` ejects the current passenger, if any.
@@ -2942,7 +2942,7 @@ interface LuaEntity extends LuaControl {
2942
2942
 
2943
2943
  /**
2944
2944
  * Revives a ghost silently.
2945
- * @param table.raise_revive - If true, and an entity ghost; [script_raised_revive](script_raised_revive) will be called. Else if true, and a tile ghost; [script_raised_set_tiles](script_raised_set_tiles) will be called.
2945
+ * @param table.raise_revive - If true, and an entity ghost; [script_raised_revive](runtime:script_raised_revive) will be called. Else if true, and a tile ghost; [script_raised_set_tiles](runtime:script_raised_set_tiles) will be called.
2946
2946
  * @param table.return_item_request_proxy - If `true` the function will return item request proxy as the third parameter.
2947
2947
  */
2948
2948
  silent_revive(this: void,
@@ -2962,7 +2962,7 @@ interface LuaEntity extends LuaControl {
2962
2962
  start_fading_out(this: void): void
2963
2963
 
2964
2964
  /**
2965
- * Sets the {@link speed | LuaEntity::speed} of the given SpiderVehicle to zero. Notably does not clear its {@link autopilot_destination | LuaEntity::autopilot_destination}, which it will continue moving towards if set.
2965
+ * Sets the {@link speed | runtime:LuaEntity::speed} of the given SpiderVehicle to zero. Notably does not clear its {@link autopilot_destination | runtime:LuaEntity::autopilot_destination}, which it will continue moving towards if set.
2966
2966
  * @remarks
2967
2967
  * Applies to subclasses: SpiderVehicle
2968
2968
  *
@@ -3051,7 +3051,7 @@ interface LuaEntity extends LuaControl {
3051
3051
  *
3052
3052
  * The player will be automatically disassociated when a controller is set on the character. Also, all characters associated to a player will be logged off when the player logs off in multiplayer.
3053
3053
  *
3054
- * Reading this property will return a {@link LuaPlayer | LuaPlayer}, while {@link PlayerIdentification | PlayerIdentification} can be used when writing.
3054
+ * Reading this property will return a {@link LuaPlayer | runtime:LuaPlayer}, while {@link PlayerIdentification | runtime:PlayerIdentification} can be used when writing.
3055
3055
  * @remarks
3056
3056
  * A character associated with a player is not directly controlled by any player.
3057
3057
  * Applies to subclasses: Character
@@ -3097,7 +3097,7 @@ interface LuaEntity extends LuaControl {
3097
3097
  readonly beacons_count?: number
3098
3098
 
3099
3099
  /**
3100
- * The belt connectable neighbours of this belt connectable entity. Only entities that input to or are outputs of this entity. Does not contain the other end of an underground belt, see {@link LuaEntity::neighbours | LuaEntity::neighbours} for that. This is a dictionary with `"inputs"`, `"outputs"` entries that are arrays of transport belt connectable entities, or empty tables if no entities.
3100
+ * The belt connectable neighbours of this belt connectable entity. Only entities that input to or are outputs of this entity. Does not contain the other end of an underground belt, see {@link LuaEntity::neighbours | runtime:LuaEntity::neighbours} for that. This is a dictionary with `"inputs"`, `"outputs"` entries that are arrays of transport belt connectable entities, or empty tables if no entities.
3101
3101
  * @remarks
3102
3102
  * Applies to subclasses: TransportBeltConnectable
3103
3103
  *
@@ -3126,7 +3126,7 @@ interface LuaEntity extends LuaControl {
3126
3126
  bonus_progress: number
3127
3127
 
3128
3128
  /**
3129
- * {@link LuaEntityPrototype::collision_box | LuaEntityPrototype::collision_box} around entity's given position and respecting the current entity orientation.
3129
+ * {@link LuaEntityPrototype::collision_box | runtime:LuaEntityPrototype::collision_box} around entity's given position and respecting the current entity orientation.
3130
3130
  */
3131
3131
  readonly bounding_box: BoundingBox
3132
3132
 
@@ -3244,6 +3244,14 @@ interface LuaEntity extends LuaControl {
3244
3244
  */
3245
3245
  consumption_modifier: number
3246
3246
 
3247
+ /**
3248
+ * The connection definition for entities that are directly connected to this entity via copper cables.
3249
+ * @remarks
3250
+ * This function is temporary in 1.1.x, it will not be available in 1.2
3251
+ *
3252
+ */
3253
+ readonly copper_connection_definitions: CopperConnectionDefinition[]
3254
+
3247
3255
  /**
3248
3256
  * Whether this corpse will ever fade away.
3249
3257
  * @remarks
@@ -3305,6 +3313,14 @@ interface LuaEntity extends LuaControl {
3305
3313
  */
3306
3314
  readonly distraction_command?: Command
3307
3315
 
3316
+ /**
3317
+ * Gives a draw data of the given entity if it supports such data
3318
+ * @remarks
3319
+ * Applies to subclasses: RollingStock
3320
+ *
3321
+ */
3322
+ readonly draw_data: RollingStockDrawData
3323
+
3308
3324
  /**
3309
3325
  * Whether the driver of this car or spidertron is the gunner. If `false`, the passenger is the gunner. `nil` if this is neither a car or a spidertron.
3310
3326
  * @remarks
@@ -3500,7 +3516,7 @@ interface LuaEntity extends LuaControl {
3500
3516
  readonly ghost_type: string
3501
3517
 
3502
3518
  /**
3503
- * The {@link unit_number | LuaEntity::unit_number} of the entity contained in this ghost. It is the same as the unit number of the {@link EntityWithOwner | https://wiki.factorio.com/Prototype/EntityWithOwner} that was destroyed to create this ghost. If it was created by other means, or if the inner entity does not support unit numbers, this property is `nil`.
3519
+ * The {@link unit_number | runtime:LuaEntity::unit_number} of the entity contained in this ghost. It is the same as the unit number of the {@link EntityWithOwnerPrototype | prototype:EntityWithOwnerPrototype} that was destroyed to create this ghost. If it was created by other means, or if the inner entity does not support unit numbers, this property is `nil`.
3504
3520
  * @remarks
3505
3521
  * Applies to subclasses: EntityGhost
3506
3522
  *
@@ -3520,7 +3536,7 @@ interface LuaEntity extends LuaControl {
3520
3536
  /**
3521
3537
  * The current health of the entity, if any. Health is automatically clamped to be between `0` and max health (inclusive). Entities with a health of `0` can not be attacked.
3522
3538
  * @remarks
3523
- * To get the maximum possible health of this entity, see {@link LuaEntityPrototype::max_health | LuaEntityPrototype::max_health} on its prototype.
3539
+ * To get the maximum possible health of this entity, see {@link LuaEntityPrototype::max_health | runtime:LuaEntityPrototype::max_health} on its prototype.
3524
3540
  *
3525
3541
  */
3526
3542
  health?: number
@@ -3614,7 +3630,15 @@ interface LuaEntity extends LuaControl {
3614
3630
  readonly is_entity_with_owner: boolean
3615
3631
 
3616
3632
  /**
3617
- * Whether this entity is a MilitaryTarget. Can be written to if {@link LuaEntityPrototype::allow_run_time_change_of_is_military_target | LuaEntityPrototype::allow_run_time_change_of_is_military_target} returns `true`.
3633
+ * If the rolling stock is facing train's front
3634
+ * @remarks
3635
+ * Applies to subclasses: RollingStock
3636
+ *
3637
+ */
3638
+ readonly is_headed_to_trains_front: boolean
3639
+
3640
+ /**
3641
+ * Whether this entity is a MilitaryTarget. Can be written to if {@link LuaEntityPrototype::allow_run_time_change_of_is_military_target | runtime:LuaEntityPrototype::allow_run_time_change_of_is_military_target} returns `true`.
3618
3642
  */
3619
3643
  is_military_target: boolean
3620
3644
 
@@ -3634,7 +3658,7 @@ interface LuaEntity extends LuaControl {
3634
3658
  /**
3635
3659
  * The last player that changed any setting on this entity. This includes building the entity, changing its color, or configuring its circuit network. `nil` if the last user is not part of the save anymore.
3636
3660
  *
3637
- * Reading this property will return a {@link LuaPlayer | LuaPlayer}, while {@link PlayerIdentification | PlayerIdentification} can be used when writing.
3661
+ * Reading this property will return a {@link LuaPlayer | runtime:LuaPlayer}, while {@link PlayerIdentification | runtime:PlayerIdentification} can be used when writing.
3638
3662
  * @remarks
3639
3663
  * Applies to subclasses: EntityWithOwner
3640
3664
  *
@@ -3667,7 +3691,7 @@ interface LuaEntity extends LuaControl {
3667
3691
  linked_belt_type: string
3668
3692
 
3669
3693
  /**
3670
- * The container entity this loader is pointing at/pulling from depending on the {@link LuaEntity::loader_type | LuaEntity::loader_type}, if any.
3694
+ * The container entity this loader is pointing at/pulling from depending on the {@link LuaEntity::loader_type | runtime:LuaEntity::loader_type}, if any.
3671
3695
  * @remarks
3672
3696
  * Applies to subclasses: Loader
3673
3697
  *
@@ -3902,14 +3926,14 @@ interface LuaEntity extends LuaControl {
3902
3926
  /**
3903
3927
  * The player that this `simple-entity-with-owner`, `simple-entity-with-force`, `flying-text`, or `highlight-box` is visible to. `nil` when this entity is rendered for all players.
3904
3928
  *
3905
- * Reading this property will return a {@link LuaPlayer | LuaPlayer}, while {@link PlayerIdentification | PlayerIdentification} can be used when writing.
3929
+ * Reading this property will return a {@link LuaPlayer | runtime:LuaPlayer}, while {@link PlayerIdentification | runtime:PlayerIdentification} can be used when writing.
3906
3930
  */
3907
3931
  render_player?: LuaPlayer | PlayerIdentification
3908
3932
 
3909
3933
  /**
3910
3934
  * The forces that this `simple-entity-with-owner`, `simple-entity-with-force`, or `flying-text` is visible to. `nil` or an empty array when this entity is rendered for all forces.
3911
3935
  * @remarks
3912
- * Reading will always give an array of {@link LuaForce | LuaForce}
3936
+ * Reading will always give an array of {@link LuaForce | runtime:LuaForce}
3913
3937
  *
3914
3938
  */
3915
3939
  render_to_forces?: ForceIdentification[]
@@ -3967,7 +3991,7 @@ interface LuaEntity extends LuaControl {
3967
3991
  selected_gun_index?: number
3968
3992
 
3969
3993
  /**
3970
- * {@link LuaEntityPrototype::selection_box | LuaEntityPrototype::selection_box} around entity's given position and respecting the current entity orientation.
3994
+ * {@link LuaEntityPrototype::selection_box | runtime:LuaEntityPrototype::selection_box} around entity's given position and respecting the current entity orientation.
3971
3995
  */
3972
3996
  readonly selection_box: BoundingBox
3973
3997
 
@@ -4108,7 +4132,7 @@ interface LuaEntity extends LuaControl {
4108
4132
  * The ticks left before a ghost, combat robot, highlight box or smoke with trigger is destroyed.
4109
4133
  *
4110
4134
  * - for ghosts set to uint32 max (4'294'967'295) to never expire.
4111
- * - for ghosts Cannot be set higher than {@link LuaForce::ghost_time_to_live | LuaForce::ghost_time_to_live} of the entity's force.
4135
+ * - for ghosts can not be set higher than {@link LuaForce::ghost_time_to_live | runtime:LuaForce::ghost_time_to_live} of the entity's force.
4112
4136
  */
4113
4137
  time_to_live: number
4114
4138
 
@@ -4222,7 +4246,7 @@ interface LuaEntity extends LuaControl {
4222
4246
  /**
4223
4247
  * A unique number identifying this entity for the lifetime of the save. These are allocated sequentially, and not re-used (until overflow).
4224
4248
  *
4225
- * Only entities inheriting from {@link EntityWithOwner | https://wiki.factorio.com/Prototype/EntityWithOwner}, as well as {@link ItemRequestProxy | https://wiki.factorio.com/Prototype/ItemRequestProxy} and {@link EntityGhost | https://wiki.factorio.com/Prototype/EntityGhost} are assigned a unit number. Returns `nil` otherwise.
4249
+ * Only entities inheriting from {@link EntityWithOwnerPrototype | prototype:EntityWithOwnerPrototype}, as well as {@link ItemRequestProxyPrototype | prototype:ItemRequestProxyPrototype} and {@link EntityGhostPrototype | prototype:EntityGhostPrototype} are assigned a unit number. Returns `nil` otherwise.
4226
4250
  */
4227
4251
  readonly unit_number?: number
4228
4252
 
@@ -4258,7 +4282,7 @@ interface LuaEntityPrototype {
4258
4282
 
4259
4283
  /**
4260
4284
  * Test whether this entity prototype has a certain flag set.
4261
- * @param flag - The flag to test. See [EntityPrototypeFlags](EntityPrototypeFlags) for a list of flags.
4285
+ * @param flag - The flag to test. See [EntityPrototypeFlags](runtime:EntityPrototypeFlags) for a list of flags.
4262
4286
  */
4263
4287
  has_flag(this: void,
4264
4288
  flag: string): void
@@ -5585,7 +5609,7 @@ interface LuaEntityPrototype {
5585
5609
  readonly pollution_to_join_attack?: number
5586
5610
 
5587
5611
  /**
5588
- * True if this entity prototype should be included during tile collision checks with {@link LuaTilePrototype::check_collision_with_entities | LuaTilePrototype::check_collision_with_entities} enabled.
5612
+ * True if this entity prototype should be included during tile collision checks with {@link LuaTilePrototype::check_collision_with_entities | runtime:LuaTilePrototype::check_collision_with_entities} enabled.
5589
5613
  */
5590
5614
  readonly protected_from_tile_building: boolean
5591
5615
 
@@ -5992,6 +6016,14 @@ interface LuaEntityPrototype {
5992
6016
  */
5993
6017
  readonly valid: boolean
5994
6018
 
6019
+ /**
6020
+ * Vertical selection shift used by rolling stocks. It affects selection box vertical position but is also used to shift rolling stock graphics along the rails to fine tune train's look.
6021
+ * @remarks
6022
+ * Applies to subclasses: RollingStock
6023
+ *
6024
+ */
6025
+ readonly vertical_selection_shift?: number
6026
+
5995
6027
  /**
5996
6028
  * The vision distance of this unit prototype.
5997
6029
  * @remarks
@@ -6016,7 +6048,7 @@ interface LuaEntityPrototype {
6016
6048
  }
6017
6049
 
6018
6050
  /**
6019
- * An item in a {@link LuaEquipmentGrid | LuaEquipmentGrid}, for example a fusion reactor placed in one's power armor.
6051
+ * An item in a {@link LuaEquipmentGrid | runtime:LuaEquipmentGrid}, for example a fusion reactor placed in one's power armor.
6020
6052
  *
6021
6053
  * An equipment reference becomes invalid once the equipment is removed or the equipment grid it resides in is destroyed.
6022
6054
  */
@@ -6089,7 +6121,7 @@ interface LuaEquipment {
6089
6121
  /**
6090
6122
  * Current shield value of the equipment.
6091
6123
  * @remarks
6092
- * Can't be set higher than {@link LuaEquipment::max_shield | LuaEquipment::max_shield}.
6124
+ * Can't be set higher than {@link LuaEquipment::max_shield | runtime:LuaEquipment::max_shield}.
6093
6125
  *
6094
6126
  */
6095
6127
  shield: number
@@ -6158,7 +6190,7 @@ interface LuaEquipmentGrid {
6158
6190
 
6159
6191
  /**
6160
6192
  * Clear all equipment from the grid, removing it without actually returning it.
6161
- * @param by_player - If provided, the action is done 'as' this player and [on_player_removed_equipment](on_player_removed_equipment) is triggered.
6193
+ * @param by_player - If provided, the action is done 'as' this player and [on_player_removed_equipment](runtime:on_player_removed_equipment) is triggered.
6162
6194
  */
6163
6195
  clear(this: void,
6164
6196
  by_player?: PlayerIdentification): void
@@ -6207,7 +6239,7 @@ interface LuaEquipmentGrid {
6207
6239
 
6208
6240
  /**
6209
6241
  * Insert an equipment into the grid.
6210
- * @param table.by_player - If provided the action is done 'as' this player and [on_player_placed_equipment](on_player_placed_equipment) is triggered.
6242
+ * @param table.by_player - If provided the action is done 'as' this player and [on_player_placed_equipment](runtime:on_player_placed_equipment) is triggered.
6211
6243
  * @param table.name - Equipment prototype name
6212
6244
  * @param table.position - Grid position to put the equipment in.
6213
6245
  */
@@ -6220,7 +6252,7 @@ interface LuaEquipmentGrid {
6220
6252
 
6221
6253
  /**
6222
6254
  * Remove an equipment from the grid.
6223
- * @param table.by_player - If provided the action is done 'as' this player and [on_player_removed_equipment](on_player_removed_equipment) is triggered.
6255
+ * @param table.by_player - If provided the action is done 'as' this player and [on_player_removed_equipment](runtime:on_player_removed_equipment) is triggered.
6224
6256
  * @param table.equipment - Take this exact equipment.
6225
6257
  * @param table.position - Take the equipment that contains this position in the grid.
6226
6258
  */
@@ -6233,7 +6265,7 @@ interface LuaEquipmentGrid {
6233
6265
 
6234
6266
  /**
6235
6267
  * Remove all equipment from the grid.
6236
- * @param by_player - If provided, the action is done 'as' this player and [on_player_removed_equipment](on_player_removed_equipment) is triggered.
6268
+ * @param by_player - If provided, the action is done 'as' this player and [on_player_removed_equipment](runtime:on_player_removed_equipment) is triggered.
6237
6269
  */
6238
6270
  take_all(this: void,
6239
6271
  by_player?: PlayerIdentification): void
@@ -6317,7 +6349,7 @@ interface LuaEquipmentGridPrototype {
6317
6349
  help(this: void): void
6318
6350
 
6319
6351
  /**
6320
- * Equipment category names for the {@link categories | LuaEquipmentPrototype::equipment_categories} that may be inserted into this equipment grid. The grid will accept any equipment that has at least one category in this list.
6352
+ * Equipment category names for the {@link categories | runtime:LuaEquipmentPrototype::equipment_categories} that may be inserted into this equipment grid. The grid will accept any equipment that has at least one category in this list.
6321
6353
  */
6322
6354
  readonly equipment_categories: string[]
6323
6355
 
@@ -6411,7 +6443,7 @@ interface LuaEquipmentPrototype {
6411
6443
  readonly energy_source: LuaElectricEnergySourcePrototype
6412
6444
 
6413
6445
  /**
6414
- * Category names for this equipment. These {@link categories | LuaEquipmentGridPrototype::equipment_categories} will be used to determine whether this equipment is allowed in a particular equipment grid.
6446
+ * Category names for this equipment. These {@link categories | runtime:LuaEquipmentGridPrototype::equipment_categories} will be used to determine whether this equipment is allowed in a particular equipment grid.
6415
6447
  */
6416
6448
  readonly equipment_categories: string[]
6417
6449
 
@@ -6610,9 +6642,9 @@ interface LuaFlowStatistics {
6610
6642
  }
6611
6643
 
6612
6644
  /**
6613
- * An array of fluid boxes of an entity. Entities may contain more than one fluid box, and some can change the number of fluid boxes -- for instance, an assembling machine will change its number of fluid boxes depending on its active recipe. See {@link Fluid | Fluid}.
6645
+ * An array of fluid boxes of an entity. Entities may contain more than one fluid box, and some can change the number of fluid boxes -- for instance, an assembling machine will change its number of fluid boxes depending on its active recipe. See {@link Fluid | runtime:Fluid}.
6614
6646
  *
6615
- * Do note that reading from a {@link LuaFluidBox | LuaFluidBox} creates a new table and writing will copy the given fields from the table into the engine's own fluid box structure. Therefore, the correct way to update a fluidbox of an entity is to read it first, modify the table, then write the modified table back. Directly accessing the returned table's attributes won't have the desired effect.
6647
+ * Do note that reading from a {@link LuaFluidBox | runtime:LuaFluidBox} creates a new table and writing will copy the given fields from the table into the engine's own fluid box structure. Therefore, the correct way to update a fluidbox of an entity is to read it first, modify the table, then write the modified table back. Directly accessing the returned table's attributes won't have the desired effect.
6616
6648
  * @example
6617
6649
  * Double the temperature of the fluid in `entity`'s first fluid box.
6618
6650
  * ```
@@ -6722,7 +6754,7 @@ interface LuaFluidBox {
6722
6754
  readonly valid: boolean
6723
6755
 
6724
6756
  /**
6725
- * Access, set or clear a fluid box. The index must always be in bounds (see {@link LuaFluidBox::length_operator | LuaFluidBox::length_operator}). New fluidboxes may not be added or removed using this operator.
6757
+ * Access, set or clear a fluid box. The index must always be in bounds (see {@link LuaFluidBox::length_operator | runtime:LuaFluidBox::length_operator}). New fluidboxes may not be added or removed using this operator.
6726
6758
  *
6727
6759
  * Is `nil` if the given fluid box does not contain any fluid. Writing `nil` removes all fluid from the fluid box.
6728
6760
  * @remarks
@@ -6739,7 +6771,7 @@ interface LuaFluidBox {
6739
6771
  }
6740
6772
 
6741
6773
  /**
6742
- * A prototype of a fluidbox owned by some {@link LuaEntityPrototype | LuaEntityPrototype}.
6774
+ * A prototype of a fluidbox owned by some {@link LuaEntityPrototype | runtime:LuaEntityPrototype}.
6743
6775
  */
6744
6776
  interface LuaFluidBoxPrototype {
6745
6777
  /**
@@ -7061,7 +7093,7 @@ interface LuaForce {
7061
7093
  disable_research(this: void): void
7062
7094
 
7063
7095
  /**
7064
- * Enables all recipes and technologies. The opposite of {@link LuaForce::disable_all_prototypes | LuaForce::disable_all_prototypes}
7096
+ * Enables all recipes and technologies. The opposite of {@link LuaForce::disable_all_prototypes | runtime:LuaForce::disable_all_prototypes}
7065
7097
  */
7066
7098
  enable_all_prototypes(this: void): void
7067
7099
 
@@ -7419,7 +7451,7 @@ interface LuaForce {
7419
7451
  *
7420
7452
  * This is primarily useful when you want to do some action against all online players of this force.
7421
7453
  * @remarks
7422
- * This does *not* index using player index. See {@link LuaPlayer::index | LuaPlayer::index} on each player instance for the player index.
7454
+ * This does *not* index using player index. See {@link LuaPlayer::index | runtime:LuaPlayer::index} on each player instance for the player index.
7423
7455
  *
7424
7456
  */
7425
7457
  readonly connected_players: LuaPlayer[]
@@ -7476,7 +7508,7 @@ interface LuaForce {
7476
7508
  ghost_time_to_live: number
7477
7509
 
7478
7510
  /**
7479
- * This force's index in {@link LuaGameScript::forces | LuaGameScript::forces} (unique ID). It is assigned when a force is created, and remains so until it is {@link merged | on_forces_merged} (ie. deleted). Indexes of merged forces can be reused.
7511
+ * This force's index in {@link LuaGameScript::forces | runtime:LuaGameScript::forces} (unique ID). It is assigned when a force is created, and remains so until it is {@link merged | runtime:on_forces_merged} (ie. deleted). Indexes of merged forces can be reused.
7480
7512
  */
7481
7513
  readonly index: number
7482
7514
 
@@ -7580,7 +7612,7 @@ interface LuaForce {
7580
7612
  readonly recipes: {[key: string]: LuaRecipe}
7581
7613
 
7582
7614
  /**
7583
- * Whether research is enabled for this force, see {@link LuaForce::enable_research | LuaForce::enable_research} and {@link LuaForce::disable_research | LuaForce::disable_research}
7615
+ * Whether research is enabled for this force, see {@link LuaForce::enable_research | runtime:LuaForce::enable_research} and {@link LuaForce::disable_research | runtime:LuaForce::disable_research}
7584
7616
  */
7585
7617
  readonly research_enabled: boolean
7586
7618
 
@@ -7590,7 +7622,7 @@ interface LuaForce {
7590
7622
  research_progress: number
7591
7623
 
7592
7624
  /**
7593
- * The research queue of this force. The first technology in the array is the currently active one. Reading this attribute gives an array of {@link LuaTechnology | LuaTechnology}.
7625
+ * The research queue of this force. The first technology in the array is the currently active one. Reading this attribute gives an array of {@link LuaTechnology | runtime:LuaTechnology}.
7594
7626
  *
7595
7627
  * To write to this, the entire table must be written. Providing an empty table or `nil` will empty the research queue and cancel the current research. Writing to this when the research queue is disabled will simply set the last research in the table as the current research.
7596
7628
  * @remarks
@@ -7726,7 +7758,7 @@ interface LuaGameScript {
7726
7758
  */
7727
7759
  ban_player(this: void,
7728
7760
  player: PlayerIdentification,
7729
- reason?: LocalisedString): void
7761
+ reason?: string): void
7730
7762
 
7731
7763
  /**
7732
7764
  * Run internal consistency checks. Allegedly prints any errors it finds.
@@ -7761,9 +7793,9 @@ interface LuaGameScript {
7761
7793
  force: string): void
7762
7794
 
7763
7795
  /**
7764
- * Creates an inventory that is not owned by any game object. It can be resized later with {@link LuaInventory::resize | LuaInventory::resize}.
7796
+ * Creates an inventory that is not owned by any game object. It can be resized later with {@link LuaInventory::resize | runtime:LuaInventory::resize}.
7765
7797
  * @remarks
7766
- * Make sure to destroy it when you are done with it using {@link LuaInventory::destroy | LuaInventory::destroy}.
7798
+ * Make sure to destroy it when you are done with it using {@link LuaInventory::destroy | runtime:LuaInventory::destroy}.
7767
7799
  *
7768
7800
  * @param size - The number of slots the inventory initially has.
7769
7801
  */
@@ -7771,7 +7803,7 @@ interface LuaGameScript {
7771
7803
  size: number): void
7772
7804
 
7773
7805
  /**
7774
- * Creates a {@link LuaProfiler | LuaProfiler}, which is used for measuring script performance.
7806
+ * Creates a {@link LuaProfiler | runtime:LuaProfiler}, which is used for measuring script performance.
7775
7807
  * @remarks
7776
7808
  * LuaProfiler cannot be serialized.
7777
7809
  *
@@ -7840,7 +7872,7 @@ interface LuaGameScript {
7840
7872
  string: string): void
7841
7873
 
7842
7874
  /**
7843
- * Evaluate an expression, substituting variables as provided. For details on the formula, see the relevant page on the {@link Factorio wiki | https://wiki.factorio.com/Prototype/Technology#unit}.
7875
+ * Evaluate an expression, substituting variables as provided. For details on the formula, see {@link TechnologyPrototype::unit | prototype:TechnologyPrototype::unit}.
7844
7876
  * @param expression - The expression to evaluate.
7845
7877
  * @param variables - Variables to be substituted.
7846
7878
  * @example
@@ -8006,7 +8038,7 @@ interface LuaGameScript {
8006
8038
  player: number | string): void
8007
8039
 
8008
8040
  /**
8009
- * Gets the inventories created through {@link LuaGameScript::create_inventory | LuaGameScript::create_inventory}
8041
+ * Gets the inventories created through {@link LuaGameScript::create_inventory | runtime:LuaGameScript::create_inventory}
8010
8042
  * @remarks
8011
8043
  * Inventories created through console commands will be owned by `"core"`.
8012
8044
  *
@@ -8076,13 +8108,13 @@ interface LuaGameScript {
8076
8108
  */
8077
8109
  kick_player(this: void,
8078
8110
  player: PlayerIdentification,
8079
- reason?: LocalisedString): void
8111
+ reason?: string): void
8080
8112
 
8081
8113
  /**
8082
8114
  * Marks two forces to be merged together. All players and entities in the source force will be reassigned to the target force. The source force will then be destroyed. Importantly, this does not merge technologies or bonuses, which are instead retained from the target force.
8083
8115
  * @remarks
8084
8116
  * The three built-in forces (player, enemy and neutral) can't be destroyed, meaning they can't be used as the source argument to this function.
8085
- * The source force is not removed until the end of the current tick, or if called during the {@link on_forces_merging | on_forces_merging} or {@link on_forces_merged | on_forces_merged} event, the end of the next tick.
8117
+ * The source force is not removed until the end of the current tick, or if called during the {@link on_forces_merging | runtime:on_forces_merging} or {@link on_forces_merged | runtime:on_forces_merged} event, the end of the next tick.
8086
8118
  *
8087
8119
  * @param destination - The force to reassign all entities to.
8088
8120
  * @param source - The force to remove.
@@ -8172,7 +8204,7 @@ interface LuaGameScript {
8172
8204
  players?: Array<LuaPlayer | string>): void
8173
8205
 
8174
8206
  /**
8175
- * Remove a file or directory in the `script-output` folder, located in the game's {@link user data directory | https://wiki.factorio.com/User_data_directory}. Can be used to remove files created by {@link LuaGameScript::write_file | LuaGameScript::write_file}.
8207
+ * Remove a file or directory in the `script-output` folder, located in the game's {@link user data directory | https://wiki.factorio.com/User_data_directory}. Can be used to remove files created by {@link LuaGameScript::write_file | runtime:LuaGameScript::write_file}.
8176
8208
  * @param path - The path to the file or directory to remove, relative to `script-output`.
8177
8209
  */
8178
8210
  remove_path(this: void,
@@ -8377,7 +8409,7 @@ interface LuaGameScript {
8377
8409
  *
8378
8410
  * This is primarily useful when you want to do some action against all online players.
8379
8411
  * @remarks
8380
- * This does *not* index using player index. See {@link LuaPlayer::index | LuaPlayer::index} on each player instance for the player index.
8412
+ * This does *not* index using player index. See {@link LuaPlayer::index | runtime:LuaPlayer::index} on each player instance for the player index.
8381
8413
  *
8382
8414
  */
8383
8415
  readonly connected_players: LuaPlayer[]
@@ -8509,7 +8541,7 @@ interface LuaGameScript {
8509
8541
  /**
8510
8542
  * The currently active set of map settings. Even though this property is marked as read-only, the members of the dictionary that is returned can be modified mid-game.
8511
8543
  * @remarks
8512
- * This does not contain difficulty settings, use {@link LuaGameScript::difficulty_settings | LuaGameScript::difficulty_settings} instead.
8544
+ * This does not contain difficulty settings, use {@link LuaGameScript::difficulty_settings | runtime:LuaGameScript::difficulty_settings} instead.
8513
8545
  *
8514
8546
  */
8515
8547
  readonly map_settings: MapSettings
@@ -8565,16 +8597,16 @@ interface LuaGameScript {
8565
8597
  readonly permissions: LuaPermissionGroups
8566
8598
 
8567
8599
  /**
8568
- * This property is only populated inside {@link custom command | LuaCommandProcessor} handlers and when writing {@link Lua console commands | https://wiki.factorio.com/Console#Scripting_and_cheat_commands}. Returns the player that is typing the command, `nil` in all other instances.
8600
+ * This property is only populated inside {@link custom command | runtime:LuaCommandProcessor} handlers and when writing {@link Lua console commands | https://wiki.factorio.com/Console#Scripting_and_cheat_commands}. Returns the player that is typing the command, `nil` in all other instances.
8569
8601
  *
8570
- * See {@link LuaGameScript::players | LuaGameScript::players} for accessing all players.
8602
+ * See {@link LuaGameScript::players | runtime:LuaGameScript::players} for accessing all players.
8571
8603
  */
8572
8604
  readonly player?: LuaPlayer
8573
8605
 
8574
8606
  /**
8575
8607
  * Get a table of all the players that currently exist. This sparse table allows you to find players by indexing it with either their `name` or `index`. Iterating this table with `pairs()` will only iterate the array part of the table. Iterating with `ipairs()` will not work at all.
8576
8608
  *
8577
- * If only a single player is required, {@link LuaGameScript::get_player | LuaGameScript::get_player} should be used instead, as it avoids the unnecessary overhead of passing the whole table to Lua.
8609
+ * If only a single player is required, {@link LuaGameScript::get_player | runtime:LuaGameScript::get_player} should be used instead, as it avoids the unnecessary overhead of passing the whole table to Lua.
8578
8610
  */
8579
8611
  readonly players: {[key: string]: LuaPlayer}
8580
8612
 
@@ -8612,7 +8644,7 @@ interface LuaGameScript {
8612
8644
  speed: number
8613
8645
 
8614
8646
  /**
8615
- * The styles that {@link LuaGuiElement | LuaGuiElement} can use, indexed by `name`.
8647
+ * The styles that {@link LuaGuiElement | runtime:LuaGuiElement} can use, indexed by `name`.
8616
8648
  */
8617
8649
  readonly styles: {[key: string]: string}
8618
8650
 
@@ -8622,7 +8654,7 @@ interface LuaGameScript {
8622
8654
  readonly surfaces: {[key: string]: LuaSurface}
8623
8655
 
8624
8656
  /**
8625
- * A dictionary containing every {@link LuaTechnologyPrototype | LuaTechnologyPrototype} indexed by `name`.
8657
+ * A dictionary containing every {@link LuaTechnologyPrototype | runtime:LuaTechnologyPrototype} indexed by `name`.
8626
8658
  */
8627
8659
  readonly technology_prototypes: {[key: string]: LuaTechnologyPrototype}
8628
8660
 
@@ -8637,14 +8669,14 @@ interface LuaGameScript {
8637
8669
  tick_paused: boolean
8638
8670
 
8639
8671
  /**
8640
- * The number of ticks since this game was created using either "new game" or "new game from scenario". Notably, this number progresses even when the game is {@link tick_paused | LuaGameScript::tick_paused}.
8672
+ * The number of ticks since this game was created using either "new game" or "new game from scenario". Notably, this number progresses even when the game is {@link tick_paused | runtime:LuaGameScript::tick_paused}.
8641
8673
  *
8642
- * This differs from {@link LuaGameScript::tick | LuaGameScript::tick} in that creating a game from a scenario always starts with this value at `0`, even if the scenario has its own level data where the `tick` has progressed past `0`.
8674
+ * This differs from {@link LuaGameScript::tick | runtime:LuaGameScript::tick} in that creating a game from a scenario always starts with this value at `0`, even if the scenario has its own level data where the `tick` has progressed past `0`.
8643
8675
  */
8644
8676
  readonly ticks_played: number
8645
8677
 
8646
8678
  /**
8647
- * The number of ticks to be run while the tick is paused. When {@link LuaGameScript::tick_paused | LuaGameScript::tick_paused} is true, ticks_to_run behaves the following way: While this is > 0, the entity update is running normally and this value is decremented every tick. When this reaches 0, the game will pause again.
8679
+ * The number of ticks to be run while the tick is paused. When {@link LuaGameScript::tick_paused | runtime:LuaGameScript::tick_paused} is true, ticks_to_run behaves the following way: While this is > 0, the entity update is running normally and this value is decremented every tick. When this reaches 0, the game will pause again.
8648
8680
  */
8649
8681
  ticks_to_run: number
8650
8682
 
@@ -8787,7 +8819,7 @@ interface LuaGui {
8787
8819
  /**
8788
8820
  * Returns `true` if sprite_path is valid and contains loaded sprite, otherwise `false`. Sprite path of type `file` doesn't validate if file exists.
8789
8821
  *
8790
- * If you want to avoid needing a LuaGui object, {@link LuaGameScript::is_valid_sprite_path | LuaGameScript::is_valid_sprite_path} can be used instead.
8822
+ * If you want to avoid needing a LuaGui object, {@link LuaGameScript::is_valid_sprite_path | runtime:LuaGameScript::is_valid_sprite_path} can be used instead.
8791
8823
  * @param sprite_path - Path to a image.
8792
8824
  */
8793
8825
  is_valid_sprite_path(this: void,
@@ -8846,35 +8878,9 @@ interface LuaGui {
8846
8878
  }
8847
8879
 
8848
8880
  /**
8849
- * An element of a custom GUI. This type is used to represent any kind of a GUI element - labels, buttons and frames are all instances of this type. Just like {@link LuaEntity | LuaEntity}, different kinds of elements support different attributes; attempting to access an attribute on an element that doesn't support it (for instance, trying to access the `column_count` of a `textfield`) will result in a runtime error.
8881
+ * An element of a custom GUI. This type is used to represent {@link any kind | runtime:GuiElementType} of a GUI element - labels, buttons and frames are all instances of this type. Just like {@link LuaEntity | runtime:LuaEntity}, different kinds of elements support different attributes; attempting to access an attribute on an element that doesn't support it (for instance, trying to access the `column_count` of a `textfield`) will result in a runtime error.
8850
8882
  *
8851
- * The following types of GUI element are supported:
8852
- *
8853
- * - `"button"`: A clickable element. Relevant event: {@link on_gui_click | on_gui_click}
8854
- * - `"sprite-button"`: A `button` that displays a sprite rather than text. Relevant event: {@link on_gui_click | on_gui_click}
8855
- * - `"checkbox"`: A clickable element with a check mark that can be turned off or on. Relevant event: {@link on_gui_checked_state_changed | on_gui_checked_state_changed}
8856
- * - `"flow"`: An invisible container that lays out its children either horizontally or vertically.
8857
- * - `"frame"`: A non-transparent box that contains other elements. It can have a title (set via the `caption` attribute). Just like a `flow`, it lays out its children either horizontally or vertically. Relevant event: {@link on_gui_location_changed | on_gui_location_changed}
8858
- * - `"label"`: A piece of text.
8859
- * - `"line"`: A horizontal or vertical separation line.
8860
- * - `"progressbar"`: A partially filled bar that can be used to indicate progress.
8861
- * - `"table"`: An invisible container that lays out its children in a specific number of columns. The width of each column is determined by the widest element it contains.
8862
- * - `"textfield"`: A single-line box the user can type into. Relevant events: {@link on_gui_text_changed | on_gui_text_changed}, {@link on_gui_confirmed | on_gui_confirmed}
8863
- * - `"radiobutton"`: An element that is similar to a `checkbox`, but with a circular appearance. Clicking a selected radio button will not unselect it. Radio buttons are not linked to each other in any way. Relevant event: {@link on_gui_checked_state_changed | on_gui_checked_state_changed}
8864
- * - `"sprite"`: An element that shows an image.
8865
- * - `"scroll-pane"`: An invisible element that is similar to a `flow`, but has the ability to show and use scroll bars.
8866
- * - `"drop-down"`: A drop-down containing strings of text. Relevant event: {@link on_gui_selection_state_changed | on_gui_selection_state_changed}
8867
- * - `"list-box"`: A list of strings, only one of which can be selected at a time. Shows a scroll bar if necessary. Relevant event: {@link on_gui_selection_state_changed | on_gui_selection_state_changed}
8868
- * - `"camera"`: A camera that shows the game at the given position on the given surface. It can visually track an {@link entity | LuaGuiElement::entity} that is set after the element has been created.
8869
- * - `"choose-elem-button"`: A button that lets the player pick from a certain kind of prototype, with optional filtering. Relevant event: {@link on_gui_elem_changed | on_gui_elem_changed}
8870
- * - `"text-box"`: A multi-line `textfield`. Relevant event: {@link on_gui_text_changed | on_gui_text_changed}
8871
- * - `"slider"`: A horizontal number line which can be used to choose a number. Relevant event: {@link on_gui_value_changed | on_gui_value_changed}
8872
- * - `"minimap"`: A minimap preview, similar to the normal player minimap. It can visually track an {@link entity | LuaGuiElement::entity} that is set after the element has been created.
8873
- * - `"entity-preview"`: A preview of an entity. The {@link entity | LuaGuiElement::entity} has to be set after the element has been created.
8874
- * - `"empty-widget"`: An empty element that just exists. The root GUI elements `screen` and `relative` are `empty-widget`s.
8875
- * - `"tabbed-pane"`: A collection of `tab`s and their contents. Relevant event: {@link on_gui_selected_tab_changed | on_gui_selected_tab_changed}
8876
- * - `"tab"`: A tab for use in a `tabbed-pane`.
8877
- * - `"switch"`: A switch with three possible states. Can have labels attached to either side. Relevant event: {@link on_gui_switch_state_changed | on_gui_switch_state_changed}
8883
+ * For information on all supported GUI elements, see {@link GuiElementType | runtime:GuiElementType}.
8878
8884
  *
8879
8885
  * Each GUI element allows access to its children by having them as attributes. Thus, one can use the `parent.child` syntax to refer to children. Lua also supports the `parent["child"]` syntax to refer to the same element. This can be used in cases where the child has a name that isn't a valid Lua identifier.
8880
8886
  * @example
@@ -8932,13 +8938,13 @@ interface LuaGuiElement {
8932
8938
  /**
8933
8939
  * Moves this GUI element to the "front" so it will draw over other elements.
8934
8940
  * @remarks
8935
- * Only works for elements in {@link LuaGui::screen | LuaGui::screen}
8941
+ * Only works for elements in {@link LuaGui::screen | runtime:LuaGui::screen}
8936
8942
  *
8937
8943
  */
8938
8944
  bring_to_front(this: void): void
8939
8945
 
8940
8946
  /**
8941
- * Remove children of this element. Any {@link LuaGuiElement | LuaGuiElement} objects referring to the destroyed elements become invalid after this operation.
8947
+ * Remove children of this element. Any {@link LuaGuiElement | runtime:LuaGuiElement} objects referring to the destroyed elements become invalid after this operation.
8942
8948
  * @example
8943
8949
  * ```
8944
8950
  * game.player.gui.top.clear()
@@ -8961,9 +8967,9 @@ interface LuaGuiElement {
8961
8967
  close_dropdown(this: void): void
8962
8968
 
8963
8969
  /**
8964
- * Remove this element, along with its children. Any {@link LuaGuiElement | LuaGuiElement} objects referring to the destroyed elements become invalid after this operation.
8970
+ * Remove this element, along with its children. Any {@link LuaGuiElement | runtime:LuaGuiElement} objects referring to the destroyed elements become invalid after this operation.
8965
8971
  * @remarks
8966
- * The top-level GUI elements - {@link LuaGui::top | LuaGui::top}, {@link LuaGui::left | LuaGui::left}, {@link LuaGui::center | LuaGui::center} and {@link LuaGui::screen | LuaGui::screen} - can't be destroyed.
8972
+ * The top-level GUI elements - {@link LuaGui::top | runtime:LuaGui::top}, {@link LuaGui::left | runtime:LuaGui::left}, {@link LuaGui::center | runtime:LuaGui::center} and {@link LuaGui::screen | runtime:LuaGui::screen} - can't be destroyed.
8967
8973
  *
8968
8974
  * @example
8969
8975
  * ```
@@ -8979,7 +8985,7 @@ interface LuaGuiElement {
8979
8985
  focus(this: void): void
8980
8986
 
8981
8987
  /**
8982
- * Forces this frame to re-auto-center. Only works on frames stored directly in {@link LuaGui::screen | LuaGui::screen}.
8988
+ * Forces this frame to re-auto-center. Only works on frames stored directly in {@link LuaGui::screen | runtime:LuaGui::screen}.
8983
8989
  * @remarks
8984
8990
  * Applies to subclasses: frame
8985
8991
  *
@@ -9056,7 +9062,7 @@ interface LuaGuiElement {
9056
9062
  * Removes the given tab and its associated content from this tabbed pane.
9057
9063
  * @remarks
9058
9064
  * Removing a tab does not destroy the tab or the tab contents. It just removes them from the view.
9059
- * When removing tabs, {@link LuaGuiElement::selected_tab_index | LuaGuiElement::selected_tab_index} needs to be manually updated.
9065
+ * When removing tabs, {@link LuaGuiElement::selected_tab_index | runtime:LuaGuiElement::selected_tab_index} needs to be manually updated.
9060
9066
  * Applies to subclasses: tabbed-pane
9061
9067
  *
9062
9068
  * @param tab - The tab to remove. If not given, it removes all tabs.
@@ -9235,7 +9241,7 @@ interface LuaGuiElement {
9235
9241
  anchor?: GuiAnchor
9236
9242
 
9237
9243
  /**
9238
- * Whether this frame auto-centers on window resize when stored in {@link LuaGui::screen | LuaGui::screen}.
9244
+ * Whether this frame auto-centers on window resize when stored in {@link LuaGui::screen | runtime:LuaGui::screen}.
9239
9245
  * @remarks
9240
9246
  * Applies to subclasses: frame
9241
9247
  *
@@ -9311,7 +9317,7 @@ interface LuaGuiElement {
9311
9317
  /**
9312
9318
  * The `frame` that is being moved when dragging this GUI element, if any. This element needs to be a child of the `drag_target` at some level.
9313
9319
  * @remarks
9314
- * Only top-level elements in {@link LuaGui::screen | LuaGui::screen} can be `drag_target`s.
9320
+ * Only top-level elements in {@link LuaGui::screen | runtime:LuaGui::screen} can be `drag_target`s.
9315
9321
  * Applies to subclasses: flow,frame,label,table,empty-widget
9316
9322
  *
9317
9323
  * @example
@@ -9363,7 +9369,7 @@ interface LuaGuiElement {
9363
9369
  * ```
9364
9370
  *
9365
9371
  * @example
9366
- * Then, there are some types of filters that work on a specific kind of attribute. The following will configure a choose-elem-button of type `"entity"` to only show entities that have their `"hidden"` [flags](EntityPrototypeFlags) set.
9372
+ * Then, there are some types of filters that work on a specific kind of attribute. The following will configure a choose-elem-button of type `"entity"` to only show entities that have their `"hidden"` [flags](runtime:EntityPrototypeFlags) set.
9367
9373
  * ```
9368
9374
  * button.elem_filters = {{filter = "hidden"}}
9369
9375
  * ```
@@ -9388,7 +9394,7 @@ interface LuaGuiElement {
9388
9394
  /**
9389
9395
  * The elem value of this choose-elem-button, if any.
9390
9396
  * @remarks
9391
- * The `"signal"` type operates with {@link SignalID | SignalID}, while all other types use strings.
9397
+ * The `"signal"` type operates with {@link SignalID | runtime:SignalID}, while all other types use strings.
9392
9398
  * Applies to subclasses: choose-elem-button
9393
9399
  *
9394
9400
  */
@@ -9484,7 +9490,7 @@ interface LuaGuiElement {
9484
9490
  left_label_tooltip: LocalisedString
9485
9491
 
9486
9492
  /**
9487
- * The location of this widget when stored in {@link LuaGui::screen | LuaGui::screen}. `nil` if not set or not in {@link LuaGui::screen | LuaGui::screen}.
9493
+ * The location of this widget when stored in {@link LuaGui::screen | runtime:LuaGui::screen}. `nil` if not set or not in {@link LuaGui::screen | runtime:LuaGui::screen}.
9488
9494
  */
9489
9495
  location?: GuiLocation
9490
9496
 
@@ -9497,7 +9503,7 @@ interface LuaGuiElement {
9497
9503
  locked: boolean
9498
9504
 
9499
9505
  /**
9500
- * Whether this textfield loses focus after {@link defines.events.on_gui_confirmed | defines.events.on_gui_confirmed} is fired.
9506
+ * Whether this textfield loses focus after {@link defines.events.on_gui_confirmed | runtime:defines.events.on_gui_confirmed} is fired.
9501
9507
  * @remarks
9502
9508
  * Applies to subclasses: textfield
9503
9509
  *
@@ -9557,7 +9563,7 @@ interface LuaGuiElement {
9557
9563
  readonly parent?: LuaGuiElement
9558
9564
 
9559
9565
  /**
9560
- * Index into {@link LuaGameScript::players | LuaGameScript::players} specifying the player who owns this element.
9566
+ * Index into {@link LuaGameScript::players | runtime:LuaGameScript::players} specifying the player who owns this element.
9561
9567
  */
9562
9568
  readonly player_index: number
9563
9569
 
@@ -9570,7 +9576,7 @@ interface LuaGuiElement {
9570
9576
  position: MapPosition
9571
9577
 
9572
9578
  /**
9573
- * Whether this element will raise {@link on_gui_hover | on_gui_hover} and {@link on_gui_leave | on_gui_leave}.
9579
+ * Whether this element will raise {@link on_gui_hover | runtime:on_gui_hover} and {@link on_gui_leave | runtime:on_gui_leave}.
9574
9580
  */
9575
9581
  raise_hover_events: boolean
9576
9582
 
@@ -9663,7 +9669,7 @@ interface LuaGuiElement {
9663
9669
  state: boolean
9664
9670
 
9665
9671
  /**
9666
- * The style of this element. When read, this evaluates to a {@link LuaStyle | LuaStyle}. For writing, it only accepts a string that specifies the textual identifier (prototype name) of the desired style.
9672
+ * The style of this element. When read, this evaluates to a {@link LuaStyle | runtime:LuaStyle}. For writing, it only accepts a string that specifies the textual identifier (prototype name) of the desired style.
9667
9673
  */
9668
9674
  style: LuaStyle | string
9669
9675
 
@@ -9678,7 +9684,7 @@ interface LuaGuiElement {
9678
9684
  /**
9679
9685
  * The switch state (left, none, right) for this switch.
9680
9686
  * @remarks
9681
- * If {@link LuaGuiElement::allow_none_state | LuaGuiElement::allow_none_state} is false this can't be set to `"none"`.
9687
+ * If {@link LuaGuiElement::allow_none_state | runtime:LuaGuiElement::allow_none_state} is false this can't be set to `"none"`.
9682
9688
  * Applies to subclasses: switch
9683
9689
  *
9684
9690
  */
@@ -9713,6 +9719,9 @@ interface LuaGuiElement {
9713
9719
  */
9714
9720
  toggled: boolean
9715
9721
 
9722
+ /**
9723
+ * The text to display when hovering over this element. Writing `""` will disable the tooltip, while writing `nil` will set it to `"nil"`.
9724
+ */
9716
9725
  tooltip: LocalisedString
9717
9726
 
9718
9727
  /**
@@ -9734,7 +9743,7 @@ interface LuaGuiElement {
9734
9743
  value: number
9735
9744
 
9736
9745
  /**
9737
- * Whether the content of this table should be vertically centered. Overrides {@link LuaStyle::column_alignments | LuaStyle::column_alignments}. Defaults to `true`.
9746
+ * Whether the content of this table should be vertically centered. Overrides {@link LuaStyle::column_alignments | runtime:LuaStyle::column_alignments}. Defaults to `true`.
9738
9747
  * @remarks
9739
9748
  * Applies to subclasses: table
9740
9749
  *
@@ -9948,7 +9957,7 @@ interface LuaInventory {
9948
9957
  /**
9949
9958
  * Destroys this inventory.
9950
9959
  * @remarks
9951
- * Only inventories created by {@link LuaGameScript::create_inventory | LuaGameScript::create_inventory} can be destroyed this way.
9960
+ * Only inventories created by {@link LuaGameScript::create_inventory | runtime:LuaGameScript::create_inventory} can be destroyed this way.
9952
9961
  *
9953
9962
  */
9954
9963
  destroy(this: void): void
@@ -10044,7 +10053,7 @@ interface LuaInventory {
10044
10053
  * Resizes the inventory.
10045
10054
  * @remarks
10046
10055
  * Items in slots beyond the new capacity are deleted.
10047
- * Only inventories created by {@link LuaGameScript::create_inventory | LuaGameScript::create_inventory} can be resized.
10056
+ * Only inventories created by {@link LuaGameScript::create_inventory | runtime:LuaGameScript::create_inventory} can be resized.
10048
10057
  *
10049
10058
  * @param size - New size of a inventory
10050
10059
  */
@@ -10174,7 +10183,7 @@ interface LuaItemPrototype {
10174
10183
 
10175
10184
  /**
10176
10185
  * Does this prototype have a flag enabled?
10177
- * @param flag - The flag to check. Can be one of [ItemPrototypeFlags](ItemPrototypeFlags). Any other value will cause an error.
10186
+ * @param flag - The flag to check. Can be one of [ItemPrototypeFlags](runtime:ItemPrototypeFlags). Any other value will cause an error.
10178
10187
  */
10179
10188
  has_flag(this: void,
10180
10189
  flag: string): void
@@ -10347,7 +10356,7 @@ interface LuaItemPrototype {
10347
10356
  readonly capsule_action?: CapsuleAction
10348
10357
 
10349
10358
  /**
10350
- * The name of a {@link LuaModuleCategoryPrototype | LuaModuleCategoryPrototype}. Used when upgrading modules: Ctrl + click modules into an entity and it will replace lower tier modules of the same category with higher tier modules.
10359
+ * The name of a {@link LuaModuleCategoryPrototype | runtime:LuaModuleCategoryPrototype}. Used when upgrading modules: Ctrl + click modules into an entity and it will replace lower tier modules of the same category with higher tier modules.
10351
10360
  * @remarks
10352
10361
  * Applies to subclasses: ModuleItem
10353
10362
  *
@@ -10826,7 +10835,7 @@ interface LuaItemPrototype {
10826
10835
  * A reference to an item and count owned by some external entity.
10827
10836
  * @remarks
10828
10837
  * In most instances this is a simple reference as in: it points at a specific slot in an inventory and not the item in the slot.
10829
- * In the instance this references an item on a {@link LuaTransportLine | LuaTransportLine} the reference is only guaranteed to stay valid (and refer to the same item) as long as nothing changes the transport line.
10838
+ * In the instance this references an item on a {@link LuaTransportLine | runtime:LuaTransportLine} the reference is only guaranteed to stay valid (and refer to the same item) as long as nothing changes the transport line.
10830
10839
  *
10831
10840
  */
10832
10841
  interface LuaItemStack {
@@ -10854,12 +10863,12 @@ interface LuaItemStack {
10854
10863
  * @remarks
10855
10864
  * Built entities can be come invalid between the building of the blueprint and the function returning if by_player or raise_built is used and one of those events invalidates the entity.
10856
10865
  *
10857
- * @param table.by_player - The player to use if any. If provided [defines.events.on_built_entity](defines.events.on_built_entity) will also be fired on successful entity creation.
10866
+ * @param table.by_player - The player to use if any. If provided [defines.events.on_built_entity](runtime:defines.events.on_built_entity) will also be fired on successful entity creation.
10858
10867
  * @param table.direction - The direction to use when building
10859
10868
  * @param table.force - Force to use for the building
10860
10869
  * @param table.force_build - When true, anything that can be built is else nothing is built if any one thing can't be built
10861
10870
  * @param table.position - The position to build at
10862
- * @param table.raise_built - If true; [defines.events.script_raised_built](defines.events.script_raised_built) will be fired on successful entity creation. Note: this is ignored if by_player is provided.
10871
+ * @param table.raise_built - If true; [defines.events.script_raised_built](runtime:defines.events.script_raised_built) will be fired on successful entity creation. Note: this is ignored if by_player is provided.
10863
10872
  * @param table.skip_fog_of_war - If chunks covered by fog-of-war are skipped.
10864
10873
  * @param table.surface - Surface to build on
10865
10874
  */
@@ -10876,7 +10885,7 @@ interface LuaItemStack {
10876
10885
  }): void
10877
10886
 
10878
10887
  /**
10879
- * Would a call to {@link LuaItemStack::set_stack | LuaItemStack::set_stack} succeed?
10888
+ * Would a call to {@link LuaItemStack::set_stack | runtime:LuaItemStack::set_stack} succeed?
10880
10889
  * @param stack - Stack that would be set, possibly `nil`.
10881
10890
  */
10882
10891
  can_set_stack(this: void,
@@ -11059,7 +11068,7 @@ interface LuaItemStack {
11059
11068
 
11060
11069
  /**
11061
11070
  * Access the inner inventory of an item.
11062
- * @param inventory - Index of the inventory to access, which can only be [defines.inventory.item_main](defines.inventory.item_main).
11071
+ * @param inventory - Index of the inventory to access, which can only be [defines.inventory.item_main](runtime:defines.inventory.item_main).
11063
11072
  */
11064
11073
  get_inventory(this: void,
11065
11074
  inventory: defines.inventory): void
@@ -11192,7 +11201,7 @@ interface LuaItemStack {
11192
11201
 
11193
11202
  /**
11194
11203
  * Set this item stack to another item stack.
11195
- * @param stack - Item stack to set it to. Omitting this parameter or passing `nil` will clear this item stack, as if [LuaItemStack::clear](LuaItemStack::clear) was called.
11204
+ * @param stack - Item stack to set it to. Omitting this parameter or passing `nil` will clear this item stack, as if [LuaItemStack::clear](runtime:LuaItemStack::clear) was called.
11196
11205
  */
11197
11206
  set_stack(this: void,
11198
11207
  stack?: ItemStackIdentification): void
@@ -11612,7 +11621,7 @@ interface LuaLampControlBehavior extends LuaGenericOnOffControlBehavior {
11612
11621
  }
11613
11622
 
11614
11623
  /**
11615
- * A lazily loaded value. For performance reasons, we sometimes return a custom lazily-loaded value type instead of the native Lua value. This custom type lazily constructs the necessary value when {@link LuaLazyLoadedValue::get | LuaLazyLoadedValue::get} is called, therefore preventing its unnecessary construction in some cases.
11624
+ * A lazily loaded value. For performance reasons, we sometimes return a custom lazily-loaded value type instead of the native Lua value. This custom type lazily constructs the necessary value when {@link LuaLazyLoadedValue::get | runtime:LuaLazyLoadedValue::get} is called, therefore preventing its unnecessary construction in some cases.
11616
11625
  *
11617
11626
  * An instance of LuaLazyLoadedValue is only valid during the event it was created from and cannot be saved.
11618
11627
  */
@@ -11640,7 +11649,7 @@ interface LuaLazyLoadedValue<T> {
11640
11649
  }
11641
11650
 
11642
11651
  /**
11643
- * Logistic cell of a particular {@link LuaEntity | LuaEntity}. A "Logistic Cell" is the given name for settings and properties used by what would normally be seen as a "Roboport". A logistic cell however doesn't have to be attached to the roboport entity (the character has one for the personal roboport).
11652
+ * Logistic cell of a particular {@link LuaEntity | runtime:LuaEntity}. A "Logistic Cell" is the given name for settings and properties used by what would normally be seen as a "Roboport". A logistic cell however doesn't have to be attached to the roboport entity (the character has one for the personal roboport).
11644
11653
  */
11645
11654
  interface LuaLogisticCell {
11646
11655
  /**
@@ -11763,7 +11772,7 @@ interface LuaLogisticContainerControlBehavior extends LuaControlBehavior {
11763
11772
  help(this: void): void
11764
11773
 
11765
11774
  /**
11766
- * The circuit mode of operations for the logistic container. Can only be set on containers whose {@link logistic_mode | LuaEntityPrototype::logistic_mode} is set to "requester".
11775
+ * The circuit mode of operations for the logistic container. Can only be set on containers whose {@link logistic_mode | runtime:LuaEntityPrototype::logistic_mode} is set to "requester".
11767
11776
  */
11768
11777
  circuit_mode_of_operation: defines.control_behavior.logistic_container.circuit_mode_of_operation
11769
11778
 
@@ -11801,7 +11810,7 @@ interface LuaLogisticNetwork {
11801
11810
  position: MapPosition): void
11802
11811
 
11803
11812
  /**
11804
- * Get item counts for the entire network, similar to how {@link LuaInventory::get_contents | LuaInventory::get_contents} does.
11813
+ * Get item counts for the entire network, similar to how {@link LuaInventory::get_contents | runtime:LuaInventory::get_contents} does.
11805
11814
  */
11806
11815
  get_contents(this: void): void
11807
11816
 
@@ -11995,7 +12004,7 @@ interface LuaLogisticNetwork {
11995
12004
  }
11996
12005
 
11997
12006
  /**
11998
- * Logistic point of a particular {@link LuaEntity | LuaEntity}. A "Logistic point" is the name given for settings and properties used by requester, provider, and storage points in a given logistic network. These "points" don't have to be a logistic container but often are. One other entity that can own several points is the "character" character type entity.
12007
+ * Logistic point of a particular {@link LuaEntity | runtime:LuaEntity}. A "Logistic point" is the name given for settings and properties used by requester, provider, and storage points in a given logistic network. These "points" don't have to be a logistic container but often are. One other entity that can own several points is the "character" character type entity.
11999
12008
  */
12000
12009
  interface LuaLogisticPoint {
12001
12010
  /**
@@ -12019,7 +12028,7 @@ interface LuaLogisticPoint {
12019
12028
  /**
12020
12029
  * The force of this logistic point.
12021
12030
  * @remarks
12022
- * This will always be the same as the {@link LuaLogisticPoint::owner | LuaLogisticPoint::owner} force.
12031
+ * This will always be the same as the {@link LuaLogisticPoint::owner | runtime:LuaLogisticPoint::owner} force.
12023
12032
  *
12024
12033
  */
12025
12034
  readonly force: LuaForce
@@ -12042,7 +12051,7 @@ interface LuaLogisticPoint {
12042
12051
  readonly object_name: string
12043
12052
 
12044
12053
  /**
12045
- * The {@link LuaEntity | LuaEntity} owner of this {@link LuaLogisticPoint | LuaLogisticPoint}.
12054
+ * The {@link LuaEntity | runtime:LuaEntity} owner of this {@link LuaLogisticPoint | runtime:LuaLogisticPoint}.
12046
12055
  */
12047
12056
  readonly owner: LuaEntity
12048
12057
 
@@ -12078,7 +12087,7 @@ interface LuaMiningDrillControlBehavior extends LuaGenericOnOffControlBehavior {
12078
12087
  circuit_enable_disable: boolean
12079
12088
 
12080
12089
  /**
12081
- * `true` if this drill should send the resources in the field to the circuit network. Which resources depends on {@link LuaMiningDrillControlBehavior::resource_read_mode | LuaMiningDrillControlBehavior::resource_read_mode}
12090
+ * `true` if this drill should send the resources in the field to the circuit network. Which resources depends on {@link LuaMiningDrillControlBehavior::resource_read_mode | runtime:LuaMiningDrillControlBehavior::resource_read_mode}
12082
12091
  */
12083
12092
  circuit_read_resources: boolean
12084
12093
 
@@ -12465,7 +12474,7 @@ interface LuaPermissionGroups {
12465
12474
  }
12466
12475
 
12467
12476
  /**
12468
- * A player in the game. Pay attention that a player may or may not have a character, which is the {@link LuaEntity | LuaEntity} of the little guy running around the world doing things.
12477
+ * A player in the game. Pay attention that a player may or may not have a character, which is the {@link LuaEntity | runtime:LuaEntity} of the little guy running around the world doing things.
12469
12478
  */
12470
12479
  interface LuaPlayer extends LuaControl {
12471
12480
  /**
@@ -12508,8 +12517,8 @@ interface LuaPlayer extends LuaControl {
12508
12517
  * Associates a character with this player.
12509
12518
  * @remarks
12510
12519
  * The character must not be connected to any controller.
12511
- * If this player is currently disconnected (see {@link LuaPlayer::connected | LuaPlayer::connected}) the character will be immediately "logged off".
12512
- * See {@link LuaPlayer::get_associated_characters | LuaPlayer::get_associated_characters} for more information.
12520
+ * If this player is currently disconnected (see {@link LuaPlayer::connected | runtime:LuaPlayer::connected}) the character will be immediately "logged off".
12521
+ * See {@link LuaPlayer::get_associated_characters | runtime:LuaPlayer::get_associated_characters} for more information.
12513
12522
  *
12514
12523
  * @param character - The character entity.
12515
12524
  */
@@ -12608,7 +12617,7 @@ interface LuaPlayer extends LuaControl {
12608
12617
  /**
12609
12618
  * Creates and attaches a character entity to this player.
12610
12619
  * @remarks
12611
- * The player must not have a character already connected and must be online (see {@link LuaPlayer::connected | LuaPlayer::connected}).
12620
+ * The player must not have a character already connected and must be online (see {@link LuaPlayer::connected | runtime:LuaPlayer::connected}).
12612
12621
  *
12613
12622
  * @param character - The character to create else the default is used.
12614
12623
  */
@@ -12655,9 +12664,9 @@ interface LuaPlayer extends LuaControl {
12655
12664
  disable_recipe_subgroups(this: void): void
12656
12665
 
12657
12666
  /**
12658
- * Disassociates a character from this player. This is functionally the same as setting {@link LuaEntity::associated_player | LuaEntity::associated_player} to `nil`.
12667
+ * Disassociates a character from this player. This is functionally the same as setting {@link LuaEntity::associated_player | runtime:LuaEntity::associated_player} to `nil`.
12659
12668
  * @remarks
12660
- * See {@link LuaPlayer::get_associated_characters | LuaPlayer::get_associated_characters} for more information.
12669
+ * See {@link LuaPlayer::get_associated_characters | runtime:LuaPlayer::get_associated_characters} for more information.
12661
12670
  *
12662
12671
  * @param character - The character entity
12663
12672
  */
@@ -12716,7 +12725,7 @@ interface LuaPlayer extends LuaControl {
12716
12725
  /**
12717
12726
  * The characters associated with this player.
12718
12727
  * @remarks
12719
- * The array will always be empty when the player is disconnected (see {@link LuaPlayer::connected | LuaPlayer::connected}) regardless of there being associated characters.
12728
+ * The array will always be empty when the player is disconnected (see {@link LuaPlayer::connected | runtime:LuaPlayer::connected}) regardless of there being associated characters.
12720
12729
  * Characters associated with this player will be logged off when this player disconnects but are not controlled by any player.
12721
12730
  *
12722
12731
  */
@@ -12866,18 +12875,18 @@ interface LuaPlayer extends LuaControl {
12866
12875
  }): void
12867
12876
 
12868
12877
  /**
12869
- * Requests a translation for the given localised string. If the request is successful, the {@link on_string_translated | on_string_translated} event will be fired with the results.
12878
+ * Requests a translation for the given localised string. If the request is successful, the {@link on_string_translated | runtime:on_string_translated} event will be fired with the results.
12870
12879
  * @remarks
12871
- * Does nothing if this player is not connected (see {@link LuaPlayer::connected | LuaPlayer::connected}).
12880
+ * Does nothing if this player is not connected (see {@link LuaPlayer::connected | runtime:LuaPlayer::connected}).
12872
12881
  *
12873
12882
  */
12874
12883
  request_translation(this: void,
12875
12884
  localised_string: LocalisedString): void
12876
12885
 
12877
12886
  /**
12878
- * Requests translation for the given set of localised strings. If the request is successful, a {@link on_string_translated | on_string_translated} event will be fired for each string with the results.
12887
+ * Requests translation for the given set of localised strings. If the request is successful, a {@link on_string_translated | runtime:on_string_translated} event will be fired for each string with the results.
12879
12888
  * @remarks
12880
- * Does nothing if this player is not connected (see {@link LuaPlayer::connected | LuaPlayer::connected}).
12889
+ * Does nothing if this player is not connected (see {@link LuaPlayer::connected | runtime:LuaPlayer::connected}).
12881
12890
  *
12882
12891
  */
12883
12892
  request_translations(this: void,
@@ -12895,16 +12904,16 @@ interface LuaPlayer extends LuaControl {
12895
12904
  /**
12896
12905
  * Set the controller type of the player.
12897
12906
  * @remarks
12898
- * Setting a player to {@link defines.controllers.editor | defines.controllers.editor} auto promotes the player to admin and enables cheat mode.
12899
- * Setting a player to {@link defines.controllers.editor | defines.controllers.editor} also requires the calling player be an admin.
12907
+ * Setting a player to {@link defines.controllers.editor | runtime:defines.controllers.editor} auto promotes the player to admin and enables cheat mode.
12908
+ * Setting a player to {@link defines.controllers.editor | runtime:defines.controllers.editor} also requires the calling player be an admin.
12900
12909
  *
12901
- * @param table.character - Entity to control. Mandatory when `type` is [defines.controllers.character](defines.controllers.character), ignored otherwise.
12902
- * @param table.chart_mode_cutoff - If specified and `type` is [defines.controllers.cutscene](defines.controllers.cutscene), the game will switch to chart-mode (map zoomed out) rendering when the zoom level is less than this value.
12903
- * @param table.final_transition_time - If specified and `type` is [defines.controllers.cutscene](defines.controllers.cutscene), it is the time in ticks it will take for the camera to pan from the final waypoint back to the starting position. If not given the camera will not pan back to the start position/zoom.
12904
- * @param table.start_position - If specified and `type` is [defines.controllers.cutscene](defines.controllers.cutscene), the cutscene will start at this position. If not given the start position will be the player position.
12905
- * @param table.start_zoom - If specified and `type` is [defines.controllers.cutscene](defines.controllers.cutscene), the cutscene will start at this zoom level. If not given the start zoom will be the players zoom.
12910
+ * @param table.character - Entity to control. Mandatory when `type` is [defines.controllers.character](runtime:defines.controllers.character), ignored otherwise.
12911
+ * @param table.chart_mode_cutoff - If specified and `type` is [defines.controllers.cutscene](runtime:defines.controllers.cutscene), the game will switch to chart-mode (map zoomed out) rendering when the zoom level is less than this value.
12912
+ * @param table.final_transition_time - If specified and `type` is [defines.controllers.cutscene](runtime:defines.controllers.cutscene), it is the time in ticks it will take for the camera to pan from the final waypoint back to the starting position. If not given the camera will not pan back to the start position/zoom.
12913
+ * @param table.start_position - If specified and `type` is [defines.controllers.cutscene](runtime:defines.controllers.cutscene), the cutscene will start at this position. If not given the start position will be the player position.
12914
+ * @param table.start_zoom - If specified and `type` is [defines.controllers.cutscene](runtime:defines.controllers.cutscene), the cutscene will start at this zoom level. If not given the start zoom will be the players zoom.
12906
12915
  * @param table.type - Which controller to use.
12907
- * @param table.waypoints - List of waypoints for the cutscene controller. This parameter is mandatory when `type` is [defines.controllers.cutscene](defines.controllers.cutscene).
12916
+ * @param table.waypoints - List of waypoints for the cutscene controller. This parameter is mandatory when `type` is [defines.controllers.cutscene](runtime:defines.controllers.cutscene).
12908
12917
  */
12909
12918
  set_controller(this: void,
12910
12919
  table: {
@@ -13036,7 +13045,7 @@ interface LuaPlayer extends LuaControl {
13036
13045
  readonly blueprint_to_setup: LuaItemStack
13037
13046
 
13038
13047
  /**
13039
- * The character attached to this player, if any. Returns `nil` when the player is disconnected (see {@link LuaPlayer::connected | LuaPlayer::connected}).
13048
+ * The character attached to this player, if any. Returns `nil` when the player is disconnected (see {@link LuaPlayer::connected | runtime:LuaPlayer::connected}).
13040
13049
  */
13041
13050
  character?: LuaEntity
13042
13051
 
@@ -13063,14 +13072,14 @@ interface LuaPlayer extends LuaControl {
13063
13072
  cursor_stack_temporary: boolean
13064
13073
 
13065
13074
  /**
13066
- * When in a cutscene; the character this player would be using once the cutscene is over, if any. Returns `nil` when the player is disconnected (see {@link LuaPlayer::connected | LuaPlayer::connected}).
13075
+ * When in a cutscene; the character this player would be using once the cutscene is over, if any. Returns `nil` when the player is disconnected (see {@link LuaPlayer::connected | runtime:LuaPlayer::connected}).
13067
13076
  */
13068
13077
  readonly cutscene_character?: LuaEntity
13069
13078
 
13070
13079
  /**
13071
13080
  * The display resolution for this player.
13072
13081
  * @remarks
13073
- * During {@link on_player_created | on_player_created}, this attribute will always return a resolution of `{width=1920, height=1080}`. To get the actual resolution, listen to the {@link on_player_display_resolution_changed | on_player_display_resolution_changed} event raised shortly afterwards.
13082
+ * During {@link on_player_created | runtime:on_player_created}, this attribute will always return a resolution of `{width=1920, height=1080}`. To get the actual resolution, listen to the {@link on_player_display_resolution_changed | runtime:on_player_display_resolution_changed} event raised shortly afterwards.
13074
13083
  *
13075
13084
  */
13076
13085
  readonly display_resolution: DisplayResolution
@@ -13078,7 +13087,7 @@ interface LuaPlayer extends LuaControl {
13078
13087
  /**
13079
13088
  * The display scale for this player.
13080
13089
  * @remarks
13081
- * During {@link on_player_created | on_player_created}, this attribute will always return a scale of `1`. To get the actual scale, listen to the {@link on_player_display_scale_changed | on_player_display_scale_changed} event raised shortly afterwards.
13090
+ * During {@link on_player_created | runtime:on_player_created}, this attribute will always return a scale of `1`. To get the actual scale, listen to the {@link on_player_display_scale_changed | runtime:on_player_display_scale_changed} event raised shortly afterwards.
13082
13091
  *
13083
13092
  */
13084
13093
  readonly display_scale: number
@@ -13106,7 +13115,7 @@ interface LuaPlayer extends LuaControl {
13106
13115
  hand_location?: ItemStackLocation
13107
13116
 
13108
13117
  /**
13109
- * This player's index in {@link LuaGameScript::players | LuaGameScript::players} (unique ID). It is assigned when a player is created, and remains so (even when the player is not {@link connected | LuaPlayer::connected}) until the player is irreversably {@link removed | on_player_removed}. Indexes of removed players can be reused.
13118
+ * This player's index in {@link LuaGameScript::players | runtime:LuaGameScript::players} (unique ID). It is assigned when a player is created, and remains so (even when the player is not {@link connected | runtime:LuaPlayer::connected}) until the player is irreversably {@link removed | runtime:on_player_removed}. Indexes of removed players can be reused.
13110
13119
  */
13111
13120
  readonly index: number
13112
13121
 
@@ -13136,9 +13145,9 @@ interface LuaPlayer extends LuaControl {
13136
13145
  minimap_enabled: boolean
13137
13146
 
13138
13147
  /**
13139
- * The current per-player settings for the this player, indexed by prototype name. Returns the same structure as {@link LuaSettings::get_player_settings | LuaSettings::get_player_settings}. This table becomes invalid if its associated player does.
13148
+ * The current per-player settings for the this player, indexed by prototype name. Returns the same structure as {@link LuaSettings::get_player_settings | runtime:LuaSettings::get_player_settings}. This table becomes invalid if its associated player does.
13140
13149
  *
13141
- * Even though this attribute is marked as read-only, individual settings can be changed by overwriting their {@link ModSetting | ModSetting} table. Mods can only change their own settings. Using the in-game console, all player settings can be changed.
13150
+ * Even though this attribute is marked as read-only, individual settings can be changed by overwriting their {@link ModSetting | runtime:ModSetting} table. Mods can only change their own settings. Using the in-game console, all player settings can be changed.
13142
13151
  * @example
13143
13152
  * ```
13144
13153
  * -- Change the value of the "active_lifestyle" setting
@@ -13179,7 +13188,7 @@ interface LuaPlayer extends LuaControl {
13179
13188
  remove_unfiltered_items: boolean
13180
13189
 
13181
13190
  /**
13182
- * The render mode of the player, like map or zoom to world. The render mode can be set using {@link LuaPlayer::open_map | LuaPlayer::open_map}, {@link LuaPlayer::zoom_to_world | LuaPlayer::zoom_to_world} and {@link LuaPlayer::close_map | LuaPlayer::close_map}.
13191
+ * The render mode of the player, like map or zoom to world. The render mode can be set using {@link LuaPlayer::open_map | runtime:LuaPlayer::open_map}, {@link LuaPlayer::zoom_to_world | runtime:LuaPlayer::zoom_to_world} and {@link LuaPlayer::close_map | runtime:LuaPlayer::close_map}.
13183
13192
  */
13184
13193
  readonly render_mode: defines.render_mode
13185
13194
 
@@ -13231,7 +13240,7 @@ interface LuaPlayer extends LuaControl {
13231
13240
  /**
13232
13241
  * An object used to measure script performance.
13233
13242
  * @remarks
13234
- * Since performance is non-deterministic, these objects don't allow reading the raw time values from Lua. They can be used anywhere a {@link LocalisedString | LocalisedString} is used, except for {@link LuaGuiElement::add | LuaGuiElement::add}'s LocalisedString arguments, {@link LuaSurface::create_entity | LuaSurface::create_entity}'s `text` argument, and {@link LuaEntity::add_market_item | LuaEntity::add_market_item}.
13243
+ * Since performance is non-deterministic, these objects don't allow reading the raw time values from Lua. They can be used anywhere a {@link LocalisedString | runtime:LocalisedString} is used, except for {@link LuaGuiElement::add | runtime:LuaGuiElement::add}'s LocalisedString arguments, {@link LuaSurface::create_entity | runtime:LuaSurface::create_entity}'s `text` argument, and {@link LuaEntity::add_market_item | runtime:LuaEntity::add_market_item}.
13235
13244
  *
13236
13245
  */
13237
13246
  interface LuaProfiler {
@@ -13452,7 +13461,7 @@ interface LuaRailSignalControlBehavior extends LuaControlBehavior {
13452
13461
  }
13453
13462
 
13454
13463
  /**
13455
- * A deterministic random generator independent from the core games random generator that can be seeded and re-seeded at will. This random generator can be saved and loaded and will maintain its state. Note this is entirely different from calling {@link math.random | Libraries.html#math.random}() and you should be sure you actually want to use this over calling `math.random()`. If you aren't sure if you need to use this over calling `math.random()` then you probably don't need to use this.
13464
+ * A deterministic random generator independent from the core games random generator that can be seeded and re-seeded at will. This random generator can be saved and loaded and will maintain its state. Note this is entirely different from calling {@link math.random | libraries.html}() and you should be sure you actually want to use this over calling `math.random()`. If you aren't sure if you need to use this over calling `math.random()` then you probably don't need to use this.
13456
13465
  * @example
13457
13466
  * Create a generator and use it to print a random number.
13458
13467
  * ```
@@ -13498,7 +13507,7 @@ interface LuaRandomGenerator {
13498
13507
  }
13499
13508
 
13500
13509
  /**
13501
- * A crafting recipe. Recipes belong to forces (see {@link LuaForce | LuaForce}) because some recipes are unlocked by research, and researches are per-force.
13510
+ * A crafting recipe. Recipes belong to forces (see {@link LuaForce | runtime:LuaForce}) because some recipes are unlocked by research, and researches are per-force.
13502
13511
  */
13503
13512
  interface LuaRecipe {
13504
13513
  /**
@@ -13803,7 +13812,7 @@ interface LuaRecipePrototype {
13803
13812
  }
13804
13813
 
13805
13814
  /**
13806
- * Registry of interfaces between scripts. An interface is simply a dictionary mapping names to functions. A script or mod can then register an interface with {@link LuaRemote | LuaRemote}, after that any script can call the registered functions, provided it knows the interface name and the desired function name. An instance of LuaRemote is available through the global object named `remote`.
13815
+ * Registry of interfaces between scripts. An interface is simply a dictionary mapping names to functions. A script or mod can then register an interface with {@link LuaRemote | runtime:LuaRemote}, after that any script can call the registered functions, provided it knows the interface name and the desired function name. An instance of LuaRemote is available through the global object named `remote`.
13807
13816
  * @example
13808
13817
  * Will register a remote interface containing two functions. Later, it will call these functions through `remote`.
13809
13818
  * ```
@@ -13891,7 +13900,7 @@ interface LuaRendering {
13891
13900
 
13892
13901
  /**
13893
13902
  * Create an animation.
13894
- * @param table.animation - Name of an [animation prototype](https://wiki.factorio.com/Prototype/Animation).
13903
+ * @param table.animation - Name of an [AnimationPrototype](prototype:AnimationPrototype).
13895
13904
  * @param table.animation_offset - Offset of the animation in frames. Default is 0.
13896
13905
  * @param table.animation_speed - How many frames the animation goes forward per tick. Default is 1.
13897
13906
  * @param table.forces - The forces that this object is rendered to. Passing `nil` or an empty table will render it to all forces.
@@ -15182,9 +15191,9 @@ interface LuaRoboportControlBehavior extends LuaControlBehavior {
15182
15191
  */
15183
15192
  interface LuaSettings {
15184
15193
  /**
15185
- * Gets the current per-player settings for the given player, indexed by prototype name. Returns the same structure as {@link LuaPlayer::mod_settings | LuaPlayer::mod_settings}. This table becomes invalid if its associated player does.
15194
+ * Gets the current per-player settings for the given player, indexed by prototype name. Returns the same structure as {@link LuaPlayer::mod_settings | runtime:LuaPlayer::mod_settings}. This table becomes invalid if its associated player does.
15186
15195
  *
15187
- * Even though this attribute is marked as read-only, individual settings can be changed by overwriting their {@link ModSetting | ModSetting} table. Mods can only change their own settings. Using the in-game console, all player settings can be changed.
15196
+ * Even though this attribute is marked as read-only, individual settings can be changed by overwriting their {@link ModSetting | runtime:ModSetting} table. Mods can only change their own settings. Using the in-game console, all player settings can be changed.
15188
15197
  * @example
15189
15198
  * ```
15190
15199
  * -- Change the value of the "active_lifestyle" setting
@@ -15198,7 +15207,7 @@ interface LuaSettings {
15198
15207
  /**
15199
15208
  * The current global mod settings, indexed by prototype name.
15200
15209
  *
15201
- * Even though this attribute is marked as read-only, individual settings can be changed by overwriting their {@link ModSetting | ModSetting} table. Mods can only change their own settings. Using the in-game console, all player settings can be changed.
15210
+ * Even though this attribute is marked as read-only, individual settings can be changed by overwriting their {@link ModSetting | runtime:ModSetting} table. Mods can only change their own settings. Using the in-game console, all player settings can be changed.
15202
15211
  */
15203
15212
  readonly global: {[key: string]: ModSetting}
15204
15213
 
@@ -15210,7 +15219,7 @@ interface LuaSettings {
15210
15219
  /**
15211
15220
  * The default player mod settings for this map, indexed by prototype name.
15212
15221
  *
15213
- * Even though this attribute is marked as read-only, individual settings can be changed by overwriting their {@link ModSetting | ModSetting} table. Mods can only change their own settings. Using the in-game console, all player settings can be changed.
15222
+ * Even though this attribute is marked as read-only, individual settings can be changed by overwriting their {@link ModSetting | runtime:ModSetting} table. Mods can only change their own settings. Using the in-game console, all player settings can be changed.
15214
15223
  */
15215
15224
  readonly player: {[key: string]: ModSetting}
15216
15225
 
@@ -15469,7 +15478,7 @@ interface LuaStyle {
15469
15478
  font_color: Color
15470
15479
 
15471
15480
  /**
15472
- * Gui of the {@link LuaGuiElement | LuaGuiElement} of this style.
15481
+ * Gui of the {@link LuaGuiElement | runtime:LuaGuiElement} of this style.
15473
15482
  */
15474
15483
  readonly gui: LuaGui
15475
15484
 
@@ -15863,7 +15872,7 @@ interface LuaSurface {
15863
15872
  /**
15864
15873
  * Clones the given area.
15865
15874
  * @remarks
15866
- * {@link defines.events.on_entity_cloned | defines.events.on_entity_cloned} is raised for each entity, and then {@link defines.events.on_area_cloned | defines.events.on_area_cloned} is raised.
15875
+ * {@link defines.events.on_entity_cloned | runtime:defines.events.on_entity_cloned} is raised for each entity, and then {@link defines.events.on_area_cloned | runtime:defines.events.on_area_cloned} is raised.
15867
15876
  * Entities are cloned in an order such that they can always be created, eg rails before trains.
15868
15877
  *
15869
15878
  * @param table.clear_destination_decoratives - If the destination decoratives should be cleared
@@ -15910,7 +15919,7 @@ interface LuaSurface {
15910
15919
  }): void
15911
15920
 
15912
15921
  /**
15913
- * Count entities of given type or name in a given area. Works just like {@link LuaSurface::find_entities_filtered | LuaSurface::find_entities_filtered}, except this only returns the count. As it doesn't construct all the wrapper objects, this is more efficient if one is only interested in the number of entities.
15922
+ * Count entities of given type or name in a given area. Works just like {@link LuaSurface::find_entities_filtered | runtime:LuaSurface::find_entities_filtered}, except this only returns the count. As it doesn't construct all the wrapper objects, this is more efficient if one is only interested in the number of entities.
15914
15923
  *
15915
15924
  * If no `area` or `position` are given, the entire surface is searched. If `position` is given, this returns the entities colliding with that position (i.e the given position is within the entity's collision box). If `position` and `radius` are given, this returns entities in the radius of the position. If `area` is specified, this returns entities colliding with that area.
15916
15925
  * @param table.invert - Whether the filters should be inverted.
@@ -15936,7 +15945,7 @@ interface LuaSurface {
15936
15945
  }): void
15937
15946
 
15938
15947
  /**
15939
- * Count tiles of a given name in a given area. Works just like {@link LuaSurface::find_tiles_filtered | LuaSurface::find_tiles_filtered}, except this only returns the count. As it doesn't construct all the wrapper objects, this is more efficient if one is only interested in the number of tiles.
15948
+ * Count tiles of a given name in a given area. Works just like {@link LuaSurface::find_tiles_filtered | runtime:LuaSurface::find_tiles_filtered}, except this only returns the count. As it doesn't construct all the wrapper objects, this is more efficient if one is only interested in the number of tiles.
15940
15949
  *
15941
15950
  * If no `area` or `position` and `radius` is given, the entire surface is searched. If `position` and `radius` are given, only tiles within the radius of the position are included.
15942
15951
  * @param table.has_tile_ghost - Can be further filtered by supplying a `force` filter.
@@ -16168,7 +16177,7 @@ interface LuaSurface {
16168
16177
  /**
16169
16178
  * Find enemy units (entities with type "unit") of a given force within an area.
16170
16179
  * @remarks
16171
- * This is more efficient than {@link LuaSurface::find_entities | LuaSurface::find_entities}.
16180
+ * This is more efficient than {@link LuaSurface::find_entities | runtime:LuaSurface::find_entities}.
16172
16181
  *
16173
16182
  * @param center - Center of the search area
16174
16183
  * @param force - Force to find enemies of. If not given, uses the player force.
@@ -16358,7 +16367,7 @@ interface LuaSurface {
16358
16367
  /**
16359
16368
  * Find units (entities with type "unit") of a given force and force condition within a given area.
16360
16369
  * @remarks
16361
- * This is more efficient than {@link LuaSurface::find_entities | LuaSurface::find_entities}.
16370
+ * This is more efficient than {@link LuaSurface::find_entities | runtime:LuaSurface::find_entities}.
16362
16371
  *
16363
16372
  * @param table.area - Box to find units within.
16364
16373
  * @param table.condition - Only forces which meet the condition will be included in the search.
@@ -16494,7 +16503,7 @@ interface LuaSurface {
16494
16503
  get_starting_area_radius(this: void): void
16495
16504
 
16496
16505
  /**
16497
- * Get the tile at a given position. An alternative call signature for this method is passing it a single {@link TilePosition | TilePosition}.
16506
+ * Get the tile at a given position. An alternative call signature for this method is passing it a single {@link TilePosition | runtime:TilePosition}.
16498
16507
  * @remarks
16499
16508
  * Non-integer values will result in them being rounded down.
16500
16509
  *
@@ -16608,9 +16617,9 @@ interface LuaSurface {
16608
16617
  id: number): void
16609
16618
 
16610
16619
  /**
16611
- * Generates a path with the specified constraints (as an array of {@link PathfinderWaypoints | PathfinderWaypoint}) using the unit pathfinding algorithm. This path can be used to emulate pathing behavior by script for non-unit entities, such as vehicles. If you want to command actual units (such as biters or spitters) to move, use {@link LuaEntity::set_command | LuaEntity::set_command} instead.
16620
+ * Generates a path with the specified constraints (as an array of {@link PathfinderWaypoints | runtime:PathfinderWaypoint}) using the unit pathfinding algorithm. This path can be used to emulate pathing behavior by script for non-unit entities, such as vehicles. If you want to command actual units (such as biters or spitters) to move, use {@link LuaEntity::set_command | runtime:LuaEntity::set_command} instead.
16612
16621
  *
16613
- * The resulting path is ultimately returned asynchronously via {@link on_script_path_request_finished | on_script_path_request_finished}.
16622
+ * The resulting path is ultimately returned asynchronously via {@link on_script_path_request_finished | runtime:on_script_path_request_finished}.
16614
16623
  * @param table.bounding_box - The dimensions of the object that's supposed to travel the path.
16615
16624
  * @param table.can_open_gates - Whether the path request can open gates. Defaults to `false`.
16616
16625
  * @param table.collision_mask - The list of masks the `bounding_box` collides with.
@@ -16655,7 +16664,7 @@ interface LuaSurface {
16655
16664
  status: defines.chunk_generated_status): void
16656
16665
 
16657
16666
  /**
16658
- * Set the hidden tile for the specified position. While during normal gameplay only {@link non-mineable | LuaTilePrototype::mineable_properties} tiles can become hidden, this method allows any kind of tile to be set as the hidden one.
16667
+ * Set the hidden tile for the specified position. While during normal gameplay only {@link non-mineable | runtime:LuaTilePrototype::mineable_properties} tiles can become hidden, this method allows any kind of tile to be set as the hidden one.
16659
16668
  * @param position - The tile position.
16660
16669
  * @param tile - The new hidden tile or `nil` to clear the hidden tile.
16661
16670
  */
@@ -16680,7 +16689,7 @@ interface LuaSurface {
16680
16689
  /**
16681
16690
  * Set tiles at specified locations. Can automatically correct the edges around modified tiles.
16682
16691
  *
16683
- * Placing a {@link mineable | LuaTilePrototype::mineable_properties} tile on top of a non-mineable one will turn the latter into the {@link LuaTile::hidden_tile | LuaTile::hidden_tile} for that tile. Placing a mineable tile on a mineable one or a non-mineable tile on a non-mineable one will not modify the hidden tile. This restriction can however be circumvented by using {@link LuaSurface::set_hidden_tile | LuaSurface::set_hidden_tile}.
16692
+ * Placing a {@link mineable | runtime:LuaTilePrototype::mineable_properties} tile on top of a non-mineable one will turn the latter into the {@link LuaTile::hidden_tile | runtime:LuaTile::hidden_tile} for that tile. Placing a mineable tile on a mineable one or a non-mineable tile on a non-mineable one will not modify the hidden tile. This restriction can however be circumvented by using {@link LuaSurface::set_hidden_tile | runtime:LuaSurface::set_hidden_tile}.
16684
16693
  * @remarks
16685
16694
  * It is recommended to call this method once for all the tiles you want to change rather than calling it individually for every tile. As the tile correction is used after every step, calling it one by one could cause the tile correction logic to redo some of the changes. Also, many small API calls are generally more performance intensive than one big one.
16686
16695
  *
@@ -16699,7 +16708,7 @@ interface LuaSurface {
16699
16708
  /**
16700
16709
  * Spill items on the ground centered at a given location.
16701
16710
  * @param allow_belts - Whether items can be spilled onto belts. Defaults to `true`.
16702
- * @param enable_looted - When true, each created item will be flagged with the [LuaEntity::to_be_looted](LuaEntity::to_be_looted) flag.
16711
+ * @param enable_looted - When true, each created item will be flagged with the [LuaEntity::to_be_looted](runtime:LuaEntity::to_be_looted) flag.
16703
16712
  * @param force - When provided (and not `nil`) the items will be marked for deconstruction by this force.
16704
16713
  * @param items - Items to spill
16705
16714
  * @param position - Center of the spillage
@@ -16740,7 +16749,7 @@ interface LuaSurface {
16740
16749
  *
16741
16750
  * Default is `{0, 0, 0}`, which means no influence.
16742
16751
  * @example
16743
- * Makes night on the surface pitch black, assuming [LuaSurface::min_brightness](LuaSurface::min_brightness) being set to default value `0.15`.
16752
+ * Makes night on the surface pitch black, assuming [LuaSurface::min_brightness](runtime:LuaSurface::min_brightness) being set to default value `0.15`.
16744
16753
  * ```
16745
16754
  * game.surfaces[1].brightness_visual_weights = { 1 / 0.85, 1 / 0.85, 1 / 0.85 }
16746
16755
  * ```
@@ -16784,12 +16793,12 @@ interface LuaSurface {
16784
16793
  generate_with_lab_tiles: boolean
16785
16794
 
16786
16795
  /**
16787
- * This surface's index in {@link LuaGameScript::surfaces | LuaGameScript::surfaces} (unique ID). It is assigned when a surface is created, and remains so until it is {@link deleted | on_surface_deleted}. Indexes of deleted surfaces can be reused.
16796
+ * This surface's index in {@link LuaGameScript::surfaces | runtime:LuaGameScript::surfaces} (unique ID). It is assigned when a surface is created, and remains so until it is {@link deleted | runtime:on_surface_deleted}. Indexes of deleted surfaces can be reused.
16788
16797
  */
16789
16798
  readonly index: number
16790
16799
 
16791
16800
  /**
16792
- * The generation settings for this surface. These can be modified after surface generation, but note that this will not retroactively update the surface. To manually regenerate it, {@link LuaSurface::regenerate_entity | LuaSurface::regenerate_entity}, {@link LuaSurface::regenerate_decorative | LuaSurface::regenerate_decorative}, and {@link LuaSurface::delete_chunk | LuaSurface::delete_chunk} can be used.
16801
+ * The generation settings for this surface. These can be modified after surface generation, but note that this will not retroactively update the surface. To manually regenerate it, {@link LuaSurface::regenerate_entity | runtime:LuaSurface::regenerate_entity}, {@link LuaSurface::regenerate_decorative | runtime:LuaSurface::regenerate_decorative}, and {@link LuaSurface::delete_chunk | runtime:LuaSurface::delete_chunk} can be used.
16793
16802
  */
16794
16803
  map_gen_settings: MapGenSettings
16795
16804
 
@@ -16894,7 +16903,7 @@ interface LuaTechnology {
16894
16903
  readonly force: LuaForce
16895
16904
 
16896
16905
  /**
16897
- * The current level of this technology. For level-based technology writing to this is the same as researching the technology to the previous level. Writing the level will set {@link LuaTechnology::enabled | LuaTechnology::enabled} to `true`.
16906
+ * The current level of this technology. For level-based technology writing to this is the same as researching the technology to the previous level. Writing the level will set {@link LuaTechnology::enabled | runtime:LuaTechnology::enabled} to `true`.
16898
16907
  */
16899
16908
  level: number
16900
16909
 
@@ -16921,7 +16930,7 @@ interface LuaTechnology {
16921
16930
  readonly order: string
16922
16931
 
16923
16932
  /**
16924
- * Prerequisites of this technology. The result maps technology name to the {@link LuaTechnology | LuaTechnology} object.
16933
+ * Prerequisites of this technology. The result maps technology name to the {@link LuaTechnology | runtime:LuaTechnology} object.
16925
16934
  */
16926
16935
  readonly prerequisites: {[key: string]: LuaTechnology}
16927
16936
 
@@ -16933,13 +16942,13 @@ interface LuaTechnology {
16933
16942
  /**
16934
16943
  * The number of research units required for this technology.
16935
16944
  * @remarks
16936
- * This is multiplied by the current research cost multiplier, unless {@link LuaTechnologyPrototype::ignore_tech_cost_multiplier | LuaTechnologyPrototype::ignore_tech_cost_multiplier} is `true`.
16945
+ * This is multiplied by the current research cost multiplier, unless {@link LuaTechnologyPrototype::ignore_tech_cost_multiplier | runtime:LuaTechnologyPrototype::ignore_tech_cost_multiplier} is `true`.
16937
16946
  *
16938
16947
  */
16939
16948
  readonly research_unit_count: number
16940
16949
 
16941
16950
  /**
16942
- * The count formula, if this research has any. See the {@link wiki | https://wiki.factorio.com/Prototype/Technology#Technology_data} for details.
16951
+ * The count formula, if this research has any. See {@link TechnologyUnit::count_formula | prototype:TechnologyUnit::count_formula} for details.
16943
16952
  */
16944
16953
  readonly research_unit_count_formula?: string
16945
16954
 
@@ -17002,7 +17011,7 @@ interface LuaTechnologyPrototype {
17002
17011
  /**
17003
17012
  * If this technology ignores the technology cost multiplier setting.
17004
17013
  * @remarks
17005
- * {@link LuaTechnologyPrototype::research_unit_count | LuaTechnologyPrototype::research_unit_count} will already take this setting into account.
17014
+ * {@link LuaTechnologyPrototype::research_unit_count | runtime:LuaTechnologyPrototype::research_unit_count} will already take this setting into account.
17006
17015
  *
17007
17016
  */
17008
17017
  readonly ignore_tech_cost_multiplier: boolean
@@ -17040,20 +17049,20 @@ interface LuaTechnologyPrototype {
17040
17049
  readonly order: string
17041
17050
 
17042
17051
  /**
17043
- * Prerequisites of this technology. The result maps technology name to the {@link LuaTechnologyPrototype | LuaTechnologyPrototype} object.
17052
+ * Prerequisites of this technology. The result maps technology name to the {@link LuaTechnologyPrototype | runtime:LuaTechnologyPrototype} object.
17044
17053
  */
17045
17054
  readonly prerequisites: {[key: string]: LuaTechnologyPrototype}
17046
17055
 
17047
17056
  /**
17048
17057
  * The number of research units required for this technology.
17049
17058
  * @remarks
17050
- * This is multiplied by the current research cost multiplier, unless {@link LuaTechnologyPrototype::ignore_tech_cost_multiplier | LuaTechnologyPrototype::ignore_tech_cost_multiplier} is `true`.
17059
+ * This is multiplied by the current research cost multiplier, unless {@link LuaTechnologyPrototype::ignore_tech_cost_multiplier | runtime:LuaTechnologyPrototype::ignore_tech_cost_multiplier} is `true`.
17051
17060
  *
17052
17061
  */
17053
17062
  readonly research_unit_count: number
17054
17063
 
17055
17064
  /**
17056
- * The count formula, if this research has any. See the {@link wiki | https://wiki.factorio.com/Prototype/Technology#Technology_data} for details.
17065
+ * The count formula, if this research has any. See {@link TechnologyUnit::count_formula | prototype:TechnologyUnit::count_formula} for details.
17057
17066
  */
17058
17067
  readonly research_unit_count_formula?: string
17059
17068
 
@@ -17145,7 +17154,7 @@ interface LuaTile {
17145
17154
  force?: ForceIdentification): void
17146
17155
 
17147
17156
  /**
17148
- * The name of the {@link LuaTilePrototype | LuaTilePrototype} hidden under this tile, if any. During normal gameplay, only {@link non-mineable | LuaTilePrototype::mineable_properties} tiles can become hidden. This can however be circumvented with {@link LuaSurface::set_hidden_tile | LuaSurface::set_hidden_tile}.
17157
+ * The name of the {@link LuaTilePrototype | runtime:LuaTilePrototype} hidden under this tile, if any. During normal gameplay, only {@link non-mineable | runtime:LuaTilePrototype::mineable_properties} tiles can become hidden. This can however be circumvented with {@link LuaSurface::set_hidden_tile | runtime:LuaSurface::set_hidden_tile}.
17149
17158
  */
17150
17159
  readonly hidden_tile?: string
17151
17160
 
@@ -17387,7 +17396,7 @@ interface LuaTrain {
17387
17396
  readonly back_rail?: LuaEntity
17388
17397
 
17389
17398
  /**
17390
- * The back stock of this train, if any. The back of the train is at the opposite end of the {@link front | LuaTrain::front_stock}.
17399
+ * The back stock of this train, if any. The back of the train is at the opposite end of the {@link front | runtime:LuaTrain::front_stock}.
17391
17400
  */
17392
17401
  readonly back_stock?: LuaEntity
17393
17402
 
@@ -17397,7 +17406,7 @@ interface LuaTrain {
17397
17406
  readonly cargo_wagons: LuaEntity[]
17398
17407
 
17399
17408
  /**
17400
- * The rolling stocks this train is composed of, with the numbering starting at the {@link front | LuaTrain::front_stock} of the train.
17409
+ * The rolling stocks this train is composed of, with the numbering starting at the {@link front | runtime:LuaTrain::front_stock} of the train.
17401
17410
  */
17402
17411
  readonly carriages: LuaEntity[]
17403
17412
 
@@ -17466,7 +17475,7 @@ interface LuaTrain {
17466
17475
  /**
17467
17476
  * The player passengers on the train
17468
17477
  * @remarks
17469
- * This does *not* index using player index. See {@link LuaPlayer::index | LuaPlayer::index} on each player instance for the player index.
17478
+ * This does *not* index using player index. See {@link LuaPlayer::index | runtime:LuaPlayer::index} on each player instance for the player index.
17470
17479
  *
17471
17480
  */
17472
17481
  readonly passengers: LuaPlayer[]
@@ -17662,12 +17671,12 @@ interface LuaTransportLine {
17662
17671
  clear(this: void): void
17663
17672
 
17664
17673
  /**
17665
- * Get counts of all items on this line, similar to how {@link LuaInventory::get_contents | LuaInventory::get_contents} does.
17674
+ * Get counts of all items on this line, similar to how {@link LuaInventory::get_contents | runtime:LuaInventory::get_contents} does.
17666
17675
  */
17667
17676
  get_contents(this: void): void
17668
17677
 
17669
17678
  /**
17670
- * Count some or all items on this line, similar to how {@link LuaInventory::get_item_count | LuaInventory::get_item_count} does.
17679
+ * Count some or all items on this line, similar to how {@link LuaInventory::get_item_count | runtime:LuaInventory::get_item_count} does.
17671
17680
  * @param item - Prototype name of the item to count. If not specified, count all items.
17672
17681
  */
17673
17682
  get_item_count(this: void,
@@ -17696,7 +17705,7 @@ interface LuaTransportLine {
17696
17705
  /**
17697
17706
  * Returns whether the associated internal transport line of this line is the same as the others associated internal transport line.
17698
17707
  * @remarks
17699
- * This can return true even when the {@link LuaTransportLine::owner | LuaTransportLine::owner}s are different (so `this == other` is false), because the internal transport lines can span multiple tiles.
17708
+ * This can return true even when the {@link LuaTransportLine::owner | runtime:LuaTransportLine::owner}s are different (so `this == other` is false), because the internal transport lines can span multiple tiles.
17700
17709
  *
17701
17710
  */
17702
17711
  line_equals(this: void,
@@ -17836,7 +17845,7 @@ interface LuaUnitGroup {
17836
17845
  help(this: void): void
17837
17846
 
17838
17847
  /**
17839
- * Make this group autonomous. Autonomous groups will automatically attack polluted areas. Autonomous groups aren't considered to be {@link script-driven | LuaUnitGroup::is_script_driven}.
17848
+ * Make this group autonomous. Autonomous groups will automatically attack polluted areas. Autonomous groups aren't considered to be {@link script-driven | runtime:LuaUnitGroup::is_script_driven}.
17840
17849
  */
17841
17850
  set_autonomous(this: void): void
17842
17851
 
@@ -17878,7 +17887,7 @@ interface LuaUnitGroup {
17878
17887
  readonly group_number: number
17879
17888
 
17880
17889
  /**
17881
- * Whether this unit group is controlled by a script or by the game engine. This can be changed using {@link LuaUnitGroup::set_autonomous | LuaUnitGroup::set_autonomous}.
17890
+ * Whether this unit group is controlled by a script or by the game engine. This can be changed using {@link LuaUnitGroup::set_autonomous | runtime:LuaUnitGroup::set_autonomous}.
17882
17891
  */
17883
17892
  readonly is_script_driven: boolean
17884
17893
 
@@ -18018,20 +18027,25 @@ interface LuaWallControlBehavior extends LuaControlBehavior {
18018
18027
 
18019
18028
  }
18020
18029
 
18021
- interface BaseLuaControlSetGuiArrowParams {
18022
- }
18023
-
18024
18030
  /**
18025
18031
  * @remarks
18026
- * Applies to variant case `crafting_queue`
18032
+ * Other attributes may be specified depending on `type`:
18027
18033
  *
18028
18034
  */
18029
- interface LuaControlSetGuiArrowParamsCraftingQueue extends BaseLuaControlSetGuiArrowParams {
18035
+ interface LuaControlSetGuiArrowParams {
18030
18036
  /**
18031
- * Where to point to. This field determines what other fields are mandatory. May be `"nowhere"`, `"goal"`, `"entity_info"`, `"active_window"`, `"entity"`, `"position"`, `"crafting_queue"`, or `"item_stack"`.
18037
+ * Where to point to. This field determines what other fields are mandatory.
18032
18038
  */
18033
- type: 'crafting_queue'
18039
+ 'type': GuiArrowType
18034
18040
 
18041
+ }
18042
+
18043
+ /**
18044
+ * @remarks
18045
+ * Applies to variant case `crafting_queue`
18046
+ *
18047
+ */
18048
+ interface LuaControlSetGuiArrowParamsCraftingQueue extends LuaControlSetGuiArrowParams {
18035
18049
  'crafting_queueindex': number
18036
18050
 
18037
18051
  }
@@ -18041,12 +18055,7 @@ interface LuaControlSetGuiArrowParamsCraftingQueue extends BaseLuaControlSetGuiA
18041
18055
  * Applies to variant case `entity`
18042
18056
  *
18043
18057
  */
18044
- interface LuaControlSetGuiArrowParamsEntity extends BaseLuaControlSetGuiArrowParams {
18045
- /**
18046
- * Where to point to. This field determines what other fields are mandatory. May be `"nowhere"`, `"goal"`, `"entity_info"`, `"active_window"`, `"entity"`, `"position"`, `"crafting_queue"`, or `"item_stack"`.
18047
- */
18048
- type: 'entity'
18049
-
18058
+ interface LuaControlSetGuiArrowParamsEntity extends LuaControlSetGuiArrowParams {
18050
18059
  'entity': LuaEntity
18051
18060
 
18052
18061
  }
@@ -18056,12 +18065,7 @@ interface LuaControlSetGuiArrowParamsEntity extends BaseLuaControlSetGuiArrowPar
18056
18065
  * Applies to variant case `item_stack`
18057
18066
  *
18058
18067
  */
18059
- interface LuaControlSetGuiArrowParamsItemStack extends BaseLuaControlSetGuiArrowParams {
18060
- /**
18061
- * Where to point to. This field determines what other fields are mandatory. May be `"nowhere"`, `"goal"`, `"entity_info"`, `"active_window"`, `"entity"`, `"position"`, `"crafting_queue"`, or `"item_stack"`.
18062
- */
18063
- type: 'item_stack'
18064
-
18068
+ interface LuaControlSetGuiArrowParamsItemStack extends LuaControlSetGuiArrowParams {
18065
18069
  'inventory_index': defines.inventory
18066
18070
 
18067
18071
  'item_stack_index': number
@@ -18078,24 +18082,11 @@ interface LuaControlSetGuiArrowParamsItemStack extends BaseLuaControlSetGuiArrow
18078
18082
  * Applies to variant case `position`
18079
18083
  *
18080
18084
  */
18081
- interface LuaControlSetGuiArrowParamsPosition extends BaseLuaControlSetGuiArrowParams {
18082
- /**
18083
- * Where to point to. This field determines what other fields are mandatory. May be `"nowhere"`, `"goal"`, `"entity_info"`, `"active_window"`, `"entity"`, `"position"`, `"crafting_queue"`, or `"item_stack"`.
18084
- */
18085
- type: 'position'
18086
-
18085
+ interface LuaControlSetGuiArrowParamsPosition extends LuaControlSetGuiArrowParams {
18087
18086
  'position': MapPosition
18088
18087
 
18089
18088
  }
18090
18089
 
18091
- interface DefaultLuaControlSetGuiArrowParams extends BaseLuaControlSetGuiArrowParams {
18092
- /**
18093
- * Where to point to. This field determines what other fields are mandatory. May be `"nowhere"`, `"goal"`, `"entity_info"`, `"active_window"`, `"entity"`, `"position"`, `"crafting_queue"`, or `"item_stack"`.
18094
- */
18095
- type: 'nowhere' | 'goal' | 'entity_info' | 'active_window'
18096
-
18097
- }
18098
-
18099
18090
  /**
18100
18091
  * @remarks
18101
18092
  * Other attributes may be specified depending on `type`:
@@ -18118,7 +18109,7 @@ interface LuaGuiElementAddParams {
18118
18109
  'enabled'?: boolean
18119
18110
 
18120
18111
  /**
18121
- * How the element should interact with game controllers. Defaults to {@link defines.game_controller_interaction.normal | defines.game_controller_interaction.normal}.
18112
+ * How the element should interact with game controllers. Defaults to {@link defines.game_controller_interaction.normal | runtime:defines.game_controller_interaction.normal}.
18122
18113
  */
18123
18114
  'game_controller_interaction'?: defines.game_controller_interaction
18124
18115
 
@@ -18138,7 +18129,7 @@ interface LuaGuiElementAddParams {
18138
18129
  'name'?: string
18139
18130
 
18140
18131
  /**
18141
- * Whether this element will raise {@link on_gui_hover | on_gui_hover} and {@link on_gui_leave | on_gui_leave}. Defaults to `false`.
18132
+ * Whether this element will raise {@link on_gui_hover | runtime:on_gui_hover} and {@link on_gui_leave | runtime:on_gui_leave}. Defaults to `false`.
18142
18133
  */
18143
18134
  'raise_hover_events'?: boolean
18144
18135
 
@@ -18148,7 +18139,7 @@ interface LuaGuiElementAddParams {
18148
18139
  'style'?: string
18149
18140
 
18150
18141
  /**
18151
- * {@link Tags | Tags} associated with the child element.
18142
+ * {@link Tags | runtime:Tags} associated with the child element.
18152
18143
  */
18153
18144
  'tags'?: Tags
18154
18145
 
@@ -18158,9 +18149,9 @@ interface LuaGuiElementAddParams {
18158
18149
  'tooltip'?: LocalisedString
18159
18150
 
18160
18151
  /**
18161
- * The kind of element to add. Has to be one of the GUI element types listed at the top of this page.
18152
+ * The kind of element to add, which potentially has its own attributes as listed below.
18162
18153
  */
18163
- 'type': string
18154
+ 'type': GuiElementType
18164
18155
 
18165
18156
  /**
18166
18157
  * Whether the child element is visible. Defaults to `true`.
@@ -18326,7 +18317,7 @@ interface LuaGuiElementAddParamsDropDown extends LuaGuiElementAddParams {
18326
18317
  */
18327
18318
  interface LuaGuiElementAddParamsFlow extends LuaGuiElementAddParams {
18328
18319
  /**
18329
- * The initial direction of the flow's layout. See {@link LuaGuiElement::direction | LuaGuiElement::direction}. Defaults to `"horizontal"`.
18320
+ * The initial direction of the flow's layout. See {@link LuaGuiElement::direction | runtime:LuaGuiElement::direction}. Defaults to `"horizontal"`.
18330
18321
  */
18331
18322
  'direction'?: string
18332
18323
 
@@ -18339,7 +18330,7 @@ interface LuaGuiElementAddParamsFlow extends LuaGuiElementAddParams {
18339
18330
  */
18340
18331
  interface LuaGuiElementAddParamsFrame extends LuaGuiElementAddParams {
18341
18332
  /**
18342
- * The initial direction of the frame's layout. See {@link LuaGuiElement::direction | LuaGuiElement::direction}. Defaults to `"horizontal"`.
18333
+ * The initial direction of the frame's layout. See {@link LuaGuiElement::direction | runtime:LuaGuiElement::direction}. Defaults to `"horizontal"`.
18343
18334
  */
18344
18335
  'direction'?: string
18345
18336
 
@@ -18747,7 +18738,7 @@ interface LuaSurfaceCreateEntityParams {
18747
18738
  'position': MapPosition
18748
18739
 
18749
18740
  /**
18750
- * If true; {@link defines.events.script_raised_built | defines.events.script_raised_built} will be fired on successful entity creation.
18741
+ * If true; {@link defines.events.script_raised_built | runtime:defines.events.script_raised_built} will be fired on successful entity creation.
18751
18742
  */
18752
18743
  'raise_built'?: boolean
18753
18744
 
@@ -19183,5 +19174,3 @@ interface LuaSurfaceCreateEntityParamsUndergroundBelt extends LuaSurfaceCreateEn
19183
19174
 
19184
19175
  }
19185
19176
 
19186
- type LuaControlSetGuiArrowParams = LuaControlSetGuiArrowParamsCraftingQueue | LuaControlSetGuiArrowParamsEntity | LuaControlSetGuiArrowParamsItemStack | LuaControlSetGuiArrowParamsPosition | DefaultLuaControlSetGuiArrowParams
19187
-