typed-factorio 2.14.0 → 3.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -13,7 +13,7 @@ declare module "factorio:runtime" {
13
13
  * script.on_event("my-potato-control", function(event)
14
14
  * game.print("Keyboard shortcut pressed on tick: " ..tostring(event.tick))
15
15
  * end)
16
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#CustomInputEvent Online documentation}
16
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#CustomInputEvent Online documentation}
17
17
  */
18
18
  interface CustomInputEvent extends EventData {
19
19
  /**
@@ -45,9 +45,28 @@ declare module "factorio:runtime" {
45
45
  */
46
46
  readonly tick: uint
47
47
  }
48
+ /**
49
+ * Called when an achievement is gained.
50
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_achievement_gained Online documentation}
51
+ */
52
+ interface OnAchievementGainedEvent extends EventData {
53
+ /**
54
+ * The player who gained the achievement.
55
+ */
56
+ readonly player_index: PlayerIndex
57
+ readonly achievement: LuaAchievementPrototype
58
+ /**
59
+ * Identifier of the event
60
+ */
61
+ readonly name: typeof defines.events.on_achievement_gained
62
+ /**
63
+ * Tick the event was generated.
64
+ */
65
+ readonly tick: uint
66
+ }
48
67
  /**
49
68
  * Called when a unit/group completes a command.
50
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_ai_command_completed Online documentation}
69
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_ai_command_completed Online documentation}
51
70
  */
52
71
  interface OnAiCommandCompletedEvent extends EventData {
53
72
  /**
@@ -70,7 +89,7 @@ declare module "factorio:runtime" {
70
89
  }
71
90
  /**
72
91
  * Called when an area of the map is cloned.
73
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_area_cloned Online documentation}
92
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_area_cloned Online documentation}
74
93
  */
75
94
  interface OnAreaClonedEvent extends EventData {
76
95
  readonly source_surface: LuaSurface
@@ -96,7 +115,7 @@ declare module "factorio:runtime" {
96
115
  * Called when a biter migration builds a base.
97
116
  *
98
117
  * This will be called multiple times for each migration, once for every biter that is sacrificed to build part of the new base.
99
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_biter_base_built Online documentation}
118
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_biter_base_built Online documentation}
100
119
  */
101
120
  interface OnBiterBaseBuiltEvent extends EventData {
102
121
  /**
@@ -114,7 +133,7 @@ declare module "factorio:runtime" {
114
133
  }
115
134
  /**
116
135
  * Called when a set of positions on the map is cloned.
117
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_brush_cloned Online documentation}
136
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_brush_cloned Online documentation}
118
137
  */
119
138
  interface OnBrushClonedEvent extends EventData {
120
139
  readonly source_offset: TilePosition
@@ -139,7 +158,7 @@ declare module "factorio:runtime" {
139
158
  }
140
159
  /**
141
160
  * Called when a {@link defines.command.build_base} command reaches its destination, and before building starts.
142
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_build_base_arrived Online documentation}
161
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_build_base_arrived Online documentation}
143
162
  */
144
163
  interface OnBuildBaseArrivedEvent extends EventData {
145
164
  /**
@@ -149,7 +168,7 @@ declare module "factorio:runtime" {
149
168
  /**
150
169
  * The unit group the command was assigned to.
151
170
  */
152
- readonly group?: LuaUnitGroup
171
+ readonly group?: LuaCommandable
153
172
  /**
154
173
  * Identifier of the event
155
174
  */
@@ -163,16 +182,12 @@ declare module "factorio:runtime" {
163
182
  * Called when player builds something.
164
183
  *
165
184
  * Event filter: [LuaPlayerBuiltEntityEventFilter](LuaPlayerBuiltEntityEventFilter]
166
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_built_entity Online documentation}
185
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_built_entity Online documentation}
167
186
  */
168
187
  interface OnBuiltEntityEvent extends EventData {
169
- readonly created_entity: LuaEntity
188
+ readonly entity: LuaEntity
170
189
  readonly player_index: PlayerIndex
171
- readonly stack: LuaItemStack
172
- /**
173
- * The item prototype used to build the entity. Note this won't exist in some situations (built from blueprint, undo, etc).
174
- */
175
- readonly item?: LuaItemPrototype
190
+ readonly consumed_items: LuaInventory
176
191
  /**
177
192
  * The tags associated with this entity if any.
178
193
  */
@@ -190,7 +205,7 @@ declare module "factorio:runtime" {
190
205
  * Called when the deconstruction of an entity is canceled.
191
206
  *
192
207
  * Event filter: [LuaEntityDeconstructionCancelledEventFilter](LuaEntityDeconstructionCancelledEventFilter]
193
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_cancelled_deconstruction Online documentation}
208
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_cancelled_deconstruction Online documentation}
194
209
  */
195
210
  interface OnCancelledDeconstructionEvent extends EventData {
196
211
  readonly entity: LuaEntity
@@ -208,13 +223,13 @@ declare module "factorio:runtime" {
208
223
  * Called when the upgrade of an entity is canceled.
209
224
  *
210
225
  * Event filter: [LuaUpgradeCancelledEventFilter](LuaUpgradeCancelledEventFilter]
211
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_cancelled_upgrade Online documentation}
226
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_cancelled_upgrade Online documentation}
212
227
  */
213
228
  interface OnCancelledUpgradeEvent extends EventData {
214
229
  readonly entity: LuaEntity
215
230
  readonly player_index?: PlayerIndex
216
231
  readonly target: LuaEntityPrototype
217
- readonly direction?: defines.direction
232
+ readonly quality: LuaQualityPrototype
218
233
  /**
219
234
  * Identifier of the event
220
235
  */
@@ -227,8 +242,8 @@ declare module "factorio:runtime" {
227
242
  /**
228
243
  * Called when a character corpse expires due to timeout or all of the items being removed from it.
229
244
  *
230
- * This is not called if the corpse is mined. See {@link defines.events.on_pre_player_mined_item} to detect that.
231
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_character_corpse_expired Online documentation}
245
+ * this is not called if the corpse is mined. See {@link defines.events.on_pre_player_mined_item} to detect that.
246
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_character_corpse_expired Online documentation}
232
247
  */
233
248
  interface OnCharacterCorpseExpiredEvent extends EventData {
234
249
  /**
@@ -246,7 +261,7 @@ declare module "factorio:runtime" {
246
261
  }
247
262
  /**
248
263
  * Called when a chart tag is created.
249
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_chart_tag_added Online documentation}
264
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_chart_tag_added Online documentation}
250
265
  */
251
266
  interface OnChartTagAddedEvent extends EventData {
252
267
  readonly tag: LuaCustomChartTag
@@ -263,15 +278,17 @@ declare module "factorio:runtime" {
263
278
  }
264
279
  /**
265
280
  * Called when a chart tag is modified by a player.
266
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_chart_tag_modified Online documentation}
281
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_chart_tag_modified Online documentation}
267
282
  */
268
283
  interface OnChartTagModifiedEvent extends EventData {
269
284
  readonly tag: LuaCustomChartTag
270
285
  readonly player_index?: PlayerIndex
271
286
  readonly force: LuaForce
272
287
  readonly old_text: string
273
- readonly old_icon?: SignalID
274
- readonly old_player?: uint
288
+ readonly old_icon: SignalID
289
+ readonly old_position: MapPosition
290
+ readonly old_surface: LuaSurface
291
+ readonly old_player_index?: uint
275
292
  /**
276
293
  * Identifier of the event
277
294
  */
@@ -283,7 +300,7 @@ declare module "factorio:runtime" {
283
300
  }
284
301
  /**
285
302
  * Called just before a chart tag is deleted.
286
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_chart_tag_removed Online documentation}
303
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_chart_tag_removed Online documentation}
287
304
  */
288
305
  interface OnChartTagRemovedEvent extends EventData {
289
306
  readonly tag: LuaCustomChartTag
@@ -300,7 +317,7 @@ declare module "factorio:runtime" {
300
317
  }
301
318
  /**
302
319
  * Called when a chunk is charted or re-charted.
303
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_chunk_charted Online documentation}
320
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_chunk_charted Online documentation}
304
321
  */
305
322
  interface OnChunkChartedEvent extends EventData {
306
323
  readonly surface_index: SurfaceIndex
@@ -321,7 +338,7 @@ declare module "factorio:runtime" {
321
338
  }
322
339
  /**
323
340
  * Called when one or more chunks are deleted using {@link LuaSurface#delete_chunk LuaSurface::delete_chunk}.
324
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_chunk_deleted Online documentation}
341
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_chunk_deleted Online documentation}
325
342
  */
326
343
  interface OnChunkDeletedEvent extends EventData {
327
344
  readonly surface_index: SurfaceIndex
@@ -340,7 +357,7 @@ declare module "factorio:runtime" {
340
357
  }
341
358
  /**
342
359
  * Called when a chunk is generated.
343
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_chunk_generated Online documentation}
360
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_chunk_generated Online documentation}
344
361
  */
345
362
  interface OnChunkGeneratedEvent extends EventData {
346
363
  /**
@@ -366,7 +383,7 @@ declare module "factorio:runtime" {
366
383
  }
367
384
  /**
368
385
  * Called when a combat robot expires through a lack of energy, or timeout.
369
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_combat_robot_expired Online documentation}
386
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_combat_robot_expired Online documentation}
370
387
  */
371
388
  interface OnCombatRobotExpiredEvent extends EventData {
372
389
  readonly robot: LuaEntity
@@ -387,7 +404,7 @@ declare module "factorio:runtime" {
387
404
  * Called when a message is sent to the in-game console, either by a player or through the server interface.
388
405
  *
389
406
  * This event only fires for plain messages, not for any commands (including `/shout` or `/whisper`).
390
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_console_chat Online documentation}
407
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_console_chat Online documentation}
391
408
  */
392
409
  interface OnConsoleChatEvent extends EventData {
393
410
  /**
@@ -409,7 +426,7 @@ declare module "factorio:runtime" {
409
426
  }
410
427
  /**
411
428
  * Called when someone enters a command-like message regardless of it being a valid command.
412
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_console_command Online documentation}
429
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_console_command Online documentation}
413
430
  */
414
431
  interface OnConsoleCommandEvent extends EventData {
415
432
  /**
@@ -435,7 +452,7 @@ declare module "factorio:runtime" {
435
452
  }
436
453
  /**
437
454
  * Called when a cutscene is cancelled by the player or by script.
438
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_cutscene_cancelled Online documentation}
455
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_cutscene_cancelled Online documentation}
439
456
  */
440
457
  interface OnCutsceneCancelledEvent extends EventData {
441
458
  /**
@@ -453,7 +470,7 @@ declare module "factorio:runtime" {
453
470
  }
454
471
  /**
455
472
  * Called when a cutscene finishes naturally (was not cancelled).
456
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_cutscene_finished Online documentation}
473
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_cutscene_finished Online documentation}
457
474
  */
458
475
  interface OnCutsceneFinishedEvent extends EventData {
459
476
  /**
@@ -471,7 +488,7 @@ declare module "factorio:runtime" {
471
488
  }
472
489
  /**
473
490
  * Called when a cutscene starts.
474
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_cutscene_started Online documentation}
491
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_cutscene_started Online documentation}
475
492
  */
476
493
  interface OnCutsceneStartedEvent extends EventData {
477
494
  /**
@@ -491,9 +508,7 @@ declare module "factorio:runtime" {
491
508
  * Called when a cutscene is playing, each time it reaches a waypoint in that cutscene.
492
509
  *
493
510
  * This refers to an index in the table previously passed to set_controller which started the cutscene.
494
- *
495
- * Due to implementation omission, `waypoint_index` is 0-based.
496
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_cutscene_waypoint_reached Online documentation}
511
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_cutscene_waypoint_reached Online documentation}
497
512
  */
498
513
  interface OnCutsceneWaypointReachedEvent extends EventData {
499
514
  /**
@@ -513,29 +528,11 @@ declare module "factorio:runtime" {
513
528
  */
514
529
  readonly tick: uint
515
530
  }
516
- /**
517
- * Called when the map difficulty settings are changed.
518
- *
519
- * It's not guaranteed that both settings are changed - just that at least one has been changed.
520
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_difficulty_settings_changed Online documentation}
521
- */
522
- interface OnDifficultySettingsChangedEvent extends EventData {
523
- readonly old_recipe_difficulty: uint
524
- readonly old_technology_difficulty: uint
525
- /**
526
- * Identifier of the event
527
- */
528
- readonly name: typeof defines.events.on_difficulty_settings_changed
529
- /**
530
- * Tick the event was generated.
531
- */
532
- readonly tick: uint
533
- }
534
531
  /**
535
532
  * Called when an entity is cloned. The filter applies to the source entity.
536
533
  *
537
534
  * Event filter: [LuaEntityClonedEventFilter](LuaEntityClonedEventFilter]
538
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_entity_cloned Online documentation}
535
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_entity_cloned Online documentation}
539
536
  */
540
537
  interface OnEntityClonedEvent extends EventData {
541
538
  readonly source: LuaEntity
@@ -553,7 +550,7 @@ declare module "factorio:runtime" {
553
550
  * Called after an entity has been recolored either by the player or through script.
554
551
  *
555
552
  * Automatic recoloring due to {@link LuaPlayer#color LuaPlayer::color} will not raise events, as that is a separate mechanism.
556
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_entity_color_changed Online documentation}
553
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_entity_color_changed Online documentation}
557
554
  */
558
555
  interface OnEntityColorChangedEvent extends EventData {
559
556
  /**
@@ -573,7 +570,7 @@ declare module "factorio:runtime" {
573
570
  * Called when an entity is damaged. This is not called when an entities health is set directly by another mod.
574
571
  *
575
572
  * Event filter: [LuaEntityDamagedEventFilter](LuaEntityDamagedEventFilter]
576
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_entity_damaged Online documentation}
573
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_entity_damaged Online documentation}
577
574
  */
578
575
  interface OnEntityDamagedEvent extends EventData {
579
576
  readonly entity: LuaEntity
@@ -591,9 +588,13 @@ declare module "factorio:runtime" {
591
588
  */
592
589
  readonly final_health: float
593
590
  /**
594
- * The entity that did the attacking if available.
591
+ * The entity that originally triggered the events that led to this damage, if available (e.g. the character, turret, etc. that pulled the trigger).
595
592
  */
596
593
  readonly cause?: LuaEntity
594
+ /**
595
+ * The entity that is directly dealing the damage, if available (e.g. the projectile, flame, sticker, grenade, laser beam, etc.).
596
+ */
597
+ readonly source?: LuaEntity
597
598
  /**
598
599
  * The force that did the attacking if any.
599
600
  */
@@ -607,35 +608,11 @@ declare module "factorio:runtime" {
607
608
  */
608
609
  readonly tick: uint
609
610
  }
610
- /**
611
- * Called after an entity is destroyed that has been registered with {@link LuaBootstrap#register_on_entity_destroyed LuaBootstrap::register_on_entity_destroyed}.
612
- *
613
- * Depending on when a given entity is destroyed, this event will be fired at the end of the current tick or at the end of the next tick.
614
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_entity_destroyed Online documentation}
615
- */
616
- interface OnEntityDestroyedEvent extends EventData {
617
- /**
618
- * The number returned by {@link LuaBootstrap#register_on_entity_destroyed register_on_entity_destroyed} to uniquely identify this entity during this event.
619
- */
620
- readonly registration_number: RegistrationNumber
621
- /**
622
- * The {@link LuaEntity#unit_number LuaEntity::unit_number} of the destroyed entity, if it had one.
623
- */
624
- readonly unit_number?: UnitNumber
625
- /**
626
- * Identifier of the event
627
- */
628
- readonly name: typeof defines.events.on_entity_destroyed
629
- /**
630
- * Tick the event was generated.
631
- */
632
- readonly tick: uint
633
- }
634
611
  /**
635
612
  * Called when an entity dies.
636
613
  *
637
614
  * Event filter: [LuaEntityDiedEventFilter](LuaEntityDiedEventFilter]
638
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_entity_died Online documentation}
615
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_entity_died Online documentation}
639
616
  */
640
617
  interface OnEntityDiedEvent extends EventData {
641
618
  /**
@@ -668,10 +645,8 @@ declare module "factorio:runtime" {
668
645
  readonly tick: uint
669
646
  }
670
647
  /**
671
- * Called when one of an entity's personal logistic slots changes.
672
- *
673
- * "Personal logistic slot" refers to a character or vehicle's personal request / auto-trash slots, not the request slots on logistic chests.
674
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_entity_logistic_slot_changed Online documentation}
648
+ * Called when one of an entity's logistic slots changes.
649
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_entity_logistic_slot_changed Online documentation}
675
650
  */
676
651
  interface OnEntityLogisticSlotChangedEvent extends EventData {
677
652
  /**
@@ -682,6 +657,10 @@ declare module "factorio:runtime" {
682
657
  * The entity for whom a logistic slot was changed.
683
658
  */
684
659
  readonly entity: LuaEntity
660
+ /**
661
+ * The section changed.
662
+ */
663
+ readonly section: LuaLogisticSection
685
664
  /**
686
665
  * The slot index that was changed.
687
666
  */
@@ -697,7 +676,7 @@ declare module "factorio:runtime" {
697
676
  }
698
677
  /**
699
678
  * Called after an entity has been renamed either by the player or through script.
700
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_entity_renamed Online documentation}
679
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_entity_renamed Online documentation}
701
680
  */
702
681
  interface OnEntityRenamedEvent extends EventData {
703
682
  /**
@@ -718,7 +697,7 @@ declare module "factorio:runtime" {
718
697
  }
719
698
  /**
720
699
  * Called after entity copy-paste is done.
721
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_entity_settings_pasted Online documentation}
700
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_entity_settings_pasted Online documentation}
722
701
  */
723
702
  interface OnEntitySettingsPastedEvent extends EventData {
724
703
  readonly player_index: PlayerIndex
@@ -741,7 +720,7 @@ declare module "factorio:runtime" {
741
720
  }
742
721
  /**
743
722
  * Called when an entity is spawned by a EnemySpawner
744
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_entity_spawned Online documentation}
723
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_entity_spawned Online documentation}
745
724
  */
746
725
  interface OnEntitySpawnedEvent extends EventData {
747
726
  readonly spawner: LuaEntity
@@ -757,7 +736,7 @@ declare module "factorio:runtime" {
757
736
  }
758
737
  /**
759
738
  * Called after equipment is inserted into an equipment grid.
760
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_equipment_inserted Online documentation}
739
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_equipment_inserted Online documentation}
761
740
  */
762
741
  interface OnEquipmentInsertedEvent extends EventData {
763
742
  /**
@@ -779,7 +758,7 @@ declare module "factorio:runtime" {
779
758
  }
780
759
  /**
781
760
  * Called after equipment is removed from an equipment grid.
782
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_equipment_removed Online documentation}
761
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_equipment_removed Online documentation}
783
762
  */
784
763
  interface OnEquipmentRemovedEvent extends EventData {
785
764
  /**
@@ -790,6 +769,10 @@ declare module "factorio:runtime" {
790
769
  * The equipment removed.
791
770
  */
792
771
  readonly equipment: string
772
+ /**
773
+ * The equipment quality.
774
+ */
775
+ readonly quality: string
793
776
  /**
794
777
  * The count of equipment removed.
795
778
  */
@@ -805,7 +788,7 @@ declare module "factorio:runtime" {
805
788
  }
806
789
  /**
807
790
  * Called when the a forces cease fire values change.
808
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_force_cease_fire_changed Online documentation}
791
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_force_cease_fire_changed Online documentation}
809
792
  */
810
793
  interface OnForceCeaseFireChangedEvent extends EventData {
811
794
  /**
@@ -833,7 +816,7 @@ declare module "factorio:runtime" {
833
816
  * Called when a new force is created using `game.create_force()`
834
817
  *
835
818
  * This is not called when the default forces (`'player'`, `'enemy'`, `'neutral'`) are created as they will always exist.
836
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_force_created Online documentation}
819
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_force_created Online documentation}
837
820
  */
838
821
  interface OnForceCreatedEvent extends EventData {
839
822
  /**
@@ -851,7 +834,7 @@ declare module "factorio:runtime" {
851
834
  }
852
835
  /**
853
836
  * Called when the a forces friends change.
854
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_force_friends_changed Online documentation}
837
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_force_friends_changed Online documentation}
855
838
  */
856
839
  interface OnForceFriendsChangedEvent extends EventData {
857
840
  /**
@@ -877,7 +860,7 @@ declare module "factorio:runtime" {
877
860
  }
878
861
  /**
879
862
  * Called when {@link LuaForce#reset LuaForce::reset} is finished.
880
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_force_reset Online documentation}
863
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_force_reset Online documentation}
881
864
  */
882
865
  interface OnForceResetEvent extends EventData {
883
866
  readonly force: LuaForce
@@ -894,7 +877,7 @@ declare module "factorio:runtime" {
894
877
  * Called after two forces have been merged using `game.merge_forces()`.
895
878
  *
896
879
  * The source force is invalidated before this event is called and the name can be re-used in this event if desired.
897
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_forces_merged Online documentation}
880
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_forces_merged Online documentation}
898
881
  */
899
882
  interface OnForcesMergedEvent extends EventData {
900
883
  /**
@@ -920,7 +903,7 @@ declare module "factorio:runtime" {
920
903
  }
921
904
  /**
922
905
  * Called when two forces are about to be merged using `game.merge_forces()`.
923
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_forces_merging Online documentation}
906
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_forces_merging Online documentation}
924
907
  */
925
908
  interface OnForcesMergingEvent extends EventData {
926
909
  /**
@@ -944,7 +927,7 @@ declare module "factorio:runtime" {
944
927
  * Called when a game is created from a scenario. This is fired for every mod, even when the scenario's save data already includes it. In those cases however, {@link LuaBootstrap#on_init LuaBootstrap::on_init} is not fired.
945
928
  *
946
929
  * This event is not fired when the scenario is loaded via the map editor.
947
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_game_created_from_scenario Online documentation}
930
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_game_created_from_scenario Online documentation}
948
931
  */
949
932
  interface OnGameCreatedFromScenarioEvent extends EventData {
950
933
  /**
@@ -958,7 +941,7 @@ declare module "factorio:runtime" {
958
941
  }
959
942
  /**
960
943
  * Called when {@link LuaGuiElement} checked state is changed (related to checkboxes and radio buttons).
961
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_gui_checked_state_changed Online documentation}
944
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_gui_checked_state_changed Online documentation}
962
945
  */
963
946
  interface OnGuiCheckedStateChangedEvent extends EventData {
964
947
  /**
@@ -980,7 +963,7 @@ declare module "factorio:runtime" {
980
963
  }
981
964
  /**
982
965
  * Called when {@link LuaGuiElement} is clicked.
983
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_gui_click Online documentation}
966
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_gui_click Online documentation}
984
967
  */
985
968
  interface OnGuiClickEvent extends EventData {
986
969
  /**
@@ -1026,7 +1009,7 @@ declare module "factorio:runtime" {
1026
1009
  * This can only be raised when the GUI's player controller is still valid. If a GUI is thus closed due to the player disconnecting, dying, or becoming a spectator in other ways, it won't cause this event to be raised.
1027
1010
  *
1028
1011
  * It's not advised to open any other GUI during this event because if this is run as a request to open a different GUI the game will force close the new opened GUI without notice to ensure the original requested GUI is opened.
1029
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_gui_closed Online documentation}
1012
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_gui_closed Online documentation}
1030
1013
  */
1031
1014
  interface OnGuiClosedEvent extends EventData {
1032
1015
  /**
@@ -1080,7 +1063,7 @@ declare module "factorio:runtime" {
1080
1063
  }
1081
1064
  /**
1082
1065
  * Called when a {@link LuaGuiElement} is confirmed, for example by pressing Enter in a textfield.
1083
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_gui_confirmed Online documentation}
1066
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_gui_confirmed Online documentation}
1084
1067
  */
1085
1068
  interface OnGuiConfirmedEvent extends EventData {
1086
1069
  /**
@@ -1114,7 +1097,7 @@ declare module "factorio:runtime" {
1114
1097
  }
1115
1098
  /**
1116
1099
  * Called when {@link LuaGuiElement} element value is changed (related to choose element buttons).
1117
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_gui_elem_changed Online documentation}
1100
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_gui_elem_changed Online documentation}
1118
1101
  */
1119
1102
  interface OnGuiElemChangedEvent extends EventData {
1120
1103
  /**
@@ -1136,7 +1119,9 @@ declare module "factorio:runtime" {
1136
1119
  }
1137
1120
  /**
1138
1121
  * Called when {@link LuaGuiElement} is hovered by the mouse.
1139
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_gui_hover Online documentation}
1122
+ *
1123
+ * Only fired for events whose {@link LuaGuiElement#raise_hover_events LuaGuiElement::raise_hover_events} is `true`.
1124
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_gui_hover Online documentation}
1140
1125
  */
1141
1126
  interface OnGuiHoverEvent extends EventData {
1142
1127
  /**
@@ -1158,7 +1143,9 @@ declare module "factorio:runtime" {
1158
1143
  }
1159
1144
  /**
1160
1145
  * Called when the player's cursor leaves a {@link LuaGuiElement} that was previously hovered.
1161
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_gui_leave Online documentation}
1146
+ *
1147
+ * Only fired for events whose {@link LuaGuiElement#raise_hover_events LuaGuiElement::raise_hover_events} is `true`.
1148
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_gui_leave Online documentation}
1162
1149
  */
1163
1150
  interface OnGuiLeaveEvent extends EventData {
1164
1151
  /**
@@ -1180,7 +1167,7 @@ declare module "factorio:runtime" {
1180
1167
  }
1181
1168
  /**
1182
1169
  * Called when {@link LuaGuiElement} element location is changed (related to frames in `player.gui.screen`).
1183
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_gui_location_changed Online documentation}
1170
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_gui_location_changed Online documentation}
1184
1171
  */
1185
1172
  interface OnGuiLocationChangedEvent extends EventData {
1186
1173
  /**
@@ -1202,7 +1189,7 @@ declare module "factorio:runtime" {
1202
1189
  }
1203
1190
  /**
1204
1191
  * Called when the player opens a GUI.
1205
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_gui_opened Online documentation}
1192
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_gui_opened Online documentation}
1206
1193
  */
1207
1194
  interface OnGuiOpenedEvent extends EventData {
1208
1195
  /**
@@ -1248,7 +1235,7 @@ declare module "factorio:runtime" {
1248
1235
  }
1249
1236
  /**
1250
1237
  * Called when {@link LuaGuiElement} selected tab is changed (related to tabbed-panes).
1251
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_gui_selected_tab_changed Online documentation}
1238
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_gui_selected_tab_changed Online documentation}
1252
1239
  */
1253
1240
  interface OnGuiSelectedTabChangedEvent extends EventData {
1254
1241
  /**
@@ -1270,7 +1257,7 @@ declare module "factorio:runtime" {
1270
1257
  }
1271
1258
  /**
1272
1259
  * Called when {@link LuaGuiElement} selection state is changed (related to drop-downs and listboxes).
1273
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_gui_selection_state_changed Online documentation}
1260
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_gui_selection_state_changed Online documentation}
1274
1261
  */
1275
1262
  interface OnGuiSelectionStateChangedEvent extends EventData {
1276
1263
  /**
@@ -1292,7 +1279,7 @@ declare module "factorio:runtime" {
1292
1279
  }
1293
1280
  /**
1294
1281
  * Called when {@link LuaGuiElement} switch state is changed (related to switches).
1295
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_gui_switch_state_changed Online documentation}
1282
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_gui_switch_state_changed Online documentation}
1296
1283
  */
1297
1284
  interface OnGuiSwitchStateChangedEvent extends EventData {
1298
1285
  /**
@@ -1314,7 +1301,7 @@ declare module "factorio:runtime" {
1314
1301
  }
1315
1302
  /**
1316
1303
  * Called when {@link LuaGuiElement} text is changed by the player.
1317
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_gui_text_changed Online documentation}
1304
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_gui_text_changed Online documentation}
1318
1305
  */
1319
1306
  interface OnGuiTextChangedEvent extends EventData {
1320
1307
  /**
@@ -1340,7 +1327,7 @@ declare module "factorio:runtime" {
1340
1327
  }
1341
1328
  /**
1342
1329
  * Called when {@link LuaGuiElement} slider value is changed (related to the slider element).
1343
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_gui_value_changed Online documentation}
1330
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_gui_value_changed Online documentation}
1344
1331
  */
1345
1332
  interface OnGuiValueChangedEvent extends EventData {
1346
1333
  /**
@@ -1362,7 +1349,7 @@ declare module "factorio:runtime" {
1362
1349
  }
1363
1350
  /**
1364
1351
  * Called when a land mine is armed.
1365
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_land_mine_armed Online documentation}
1352
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_land_mine_armed Online documentation}
1366
1353
  */
1367
1354
  interface OnLandMineArmedEvent extends EventData {
1368
1355
  readonly mine: LuaEntity
@@ -1377,7 +1364,7 @@ declare module "factorio:runtime" {
1377
1364
  }
1378
1365
  /**
1379
1366
  * Called when a custom {@link import("factorio:prototype").ShortcutPrototype Lua shortcut} is pressed.
1380
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_lua_shortcut Online documentation}
1367
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_lua_shortcut Online documentation}
1381
1368
  */
1382
1369
  interface OnLuaShortcutEvent extends EventData {
1383
1370
  readonly player_index: PlayerIndex
@@ -1398,7 +1385,7 @@ declare module "factorio:runtime" {
1398
1385
  * Called when an entity is marked for deconstruction with the Deconstruction planner or via script.
1399
1386
  *
1400
1387
  * Event filter: [LuaEntityMarkedForDeconstructionEventFilter](LuaEntityMarkedForDeconstructionEventFilter]
1401
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_marked_for_deconstruction Online documentation}
1388
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_marked_for_deconstruction Online documentation}
1402
1389
  */
1403
1390
  interface OnMarkedForDeconstructionEvent extends EventData {
1404
1391
  readonly entity: LuaEntity
@@ -1416,16 +1403,13 @@ declare module "factorio:runtime" {
1416
1403
  * Called when an entity is marked for upgrade with the Upgrade planner or via script.
1417
1404
  *
1418
1405
  * Event filter: [LuaEntityMarkedForUpgradeEventFilter](LuaEntityMarkedForUpgradeEventFilter]
1419
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_marked_for_upgrade Online documentation}
1406
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_marked_for_upgrade Online documentation}
1420
1407
  */
1421
1408
  interface OnMarkedForUpgradeEvent extends EventData {
1409
+ readonly player_index?: PlayerIndex
1422
1410
  readonly entity: LuaEntity
1423
1411
  readonly target: LuaEntityPrototype
1424
- readonly player_index?: PlayerIndex
1425
- /**
1426
- * The new direction (if any)
1427
- */
1428
- readonly direction?: defines.direction
1412
+ readonly quality: LuaQualityPrototype
1429
1413
  /**
1430
1414
  * Identifier of the event
1431
1415
  */
@@ -1437,7 +1421,7 @@ declare module "factorio:runtime" {
1437
1421
  }
1438
1422
  /**
1439
1423
  * Called after a player purchases some offer from a `market` entity.
1440
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_market_item_purchased Online documentation}
1424
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_market_item_purchased Online documentation}
1441
1425
  */
1442
1426
  interface OnMarketItemPurchasedEvent extends EventData {
1443
1427
  /**
@@ -1467,7 +1451,7 @@ declare module "factorio:runtime" {
1467
1451
  }
1468
1452
  /**
1469
1453
  * Called when the player uses the 'Open item GUI' control on an item defined with the 'mod-openable' flag
1470
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_mod_item_opened Online documentation}
1454
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_mod_item_opened Online documentation}
1471
1455
  */
1472
1456
  interface OnModItemOpenedEvent extends EventData {
1473
1457
  /**
@@ -1478,6 +1462,10 @@ declare module "factorio:runtime" {
1478
1462
  * The item clicked on.
1479
1463
  */
1480
1464
  readonly item: LuaItemPrototype
1465
+ /**
1466
+ * The item quality clicked on.
1467
+ */
1468
+ readonly quality: LuaQualityPrototype
1481
1469
  /**
1482
1470
  * Identifier of the event
1483
1471
  */
@@ -1487,15 +1475,43 @@ declare module "factorio:runtime" {
1487
1475
  */
1488
1476
  readonly tick: uint
1489
1477
  }
1478
+ /**
1479
+ * Called after an object is destroyed that has been registered with {@link LuaBootstrap#register_on_object_destroyed LuaBootstrap::register_on_object_destroyed}.
1480
+ *
1481
+ * Depending on when a given object is destroyed, this event will be fired at the end of the current tick or at the end of the next tick.
1482
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_object_destroyed Online documentation}
1483
+ */
1484
+ interface OnObjectDestroyedEvent extends EventData {
1485
+ /**
1486
+ * The number returned by {@link LuaBootstrap#register_on_object_destroyed register_on_object_destroyed} to uniquely identify this object during this event.
1487
+ */
1488
+ readonly registration_number: RegistrationNumber
1489
+ /**
1490
+ * Useful identifier of the object. Same as second value returned by {@link LuaBootstrap#register_on_object_destroyed LuaBootstrap::register_on_object_destroyed}
1491
+ */
1492
+ readonly useful_id: uint64
1493
+ /**
1494
+ * Type of the object that was destroyed. Same as third value returned by {@link LuaBootstrap#register_on_object_destroyed LuaBootstrap::register_on_object_destroyed}
1495
+ */
1496
+ readonly type: defines.target_type
1497
+ /**
1498
+ * Identifier of the event
1499
+ */
1500
+ readonly name: typeof defines.events.on_object_destroyed
1501
+ /**
1502
+ * Tick the event was generated.
1503
+ */
1504
+ readonly tick: uint
1505
+ }
1490
1506
  /**
1491
1507
  * Called directly after a permission group is added.
1492
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_permission_group_added Online documentation}
1508
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_permission_group_added Online documentation}
1493
1509
  */
1494
1510
  interface OnPermissionGroupAddedEvent extends EventData {
1495
1511
  /**
1496
- * The player that added the group.
1512
+ * The player that added the group or `nil` if by a mod.
1497
1513
  */
1498
- readonly player_index: PlayerIndex
1514
+ readonly player_index?: PlayerIndex
1499
1515
  /**
1500
1516
  * The group added.
1501
1517
  */
@@ -1511,13 +1527,13 @@ declare module "factorio:runtime" {
1511
1527
  }
1512
1528
  /**
1513
1529
  * Called directly after a permission group is deleted.
1514
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_permission_group_deleted Online documentation}
1530
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_permission_group_deleted Online documentation}
1515
1531
  */
1516
1532
  interface OnPermissionGroupDeletedEvent extends EventData {
1517
1533
  /**
1518
- * The player doing the deletion.
1534
+ * The player doing the deletion or `nil` if by a mod.
1519
1535
  */
1520
- readonly player_index: PlayerIndex
1536
+ readonly player_index?: PlayerIndex
1521
1537
  /**
1522
1538
  * The group that was deleted.
1523
1539
  */
@@ -1537,13 +1553,13 @@ declare module "factorio:runtime" {
1537
1553
  }
1538
1554
  /**
1539
1555
  * Called directly after a permission group is edited in some way.
1540
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_permission_group_edited Online documentation}
1556
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_permission_group_edited Online documentation}
1541
1557
  */
1542
1558
  interface OnPermissionGroupEditedEvent extends EventData {
1543
1559
  /**
1544
- * The player that did the editing.
1560
+ * The player that did the editing or `nil` if by a mod.
1545
1561
  */
1546
- readonly player_index: PlayerIndex
1562
+ readonly player_index?: PlayerIndex
1547
1563
  /**
1548
1564
  * The group being edited.
1549
1565
  */
@@ -1586,7 +1602,7 @@ declare module "factorio:runtime" {
1586
1602
  }
1587
1603
  /**
1588
1604
  * Called directly after a permission string is imported.
1589
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_permission_string_imported Online documentation}
1605
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_permission_string_imported Online documentation}
1590
1606
  */
1591
1607
  interface OnPermissionStringImportedEvent extends EventData {
1592
1608
  /**
@@ -1604,7 +1620,7 @@ declare module "factorio:runtime" {
1604
1620
  }
1605
1621
  /**
1606
1622
  * Called when a player picks up an item.
1607
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_picked_up_item Online documentation}
1623
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_picked_up_item Online documentation}
1608
1624
  */
1609
1625
  interface OnPickedUpItemEvent extends EventData {
1610
1626
  readonly item_stack: SimpleItemStack
@@ -1620,7 +1636,7 @@ declare module "factorio:runtime" {
1620
1636
  }
1621
1637
  /**
1622
1638
  * Called after a player alt-reverse-selects an area with a selection-tool item.
1623
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_player_alt_reverse_selected_area Online documentation}
1639
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_player_alt_reverse_selected_area Online documentation}
1624
1640
  */
1625
1641
  interface OnPlayerAltReverseSelectedAreaEvent extends EventData {
1626
1642
  /**
@@ -1658,7 +1674,7 @@ declare module "factorio:runtime" {
1658
1674
  }
1659
1675
  /**
1660
1676
  * Called after a player alt-selects an area with a selection-tool item.
1661
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_player_alt_selected_area Online documentation}
1677
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_player_alt_selected_area Online documentation}
1662
1678
  */
1663
1679
  interface OnPlayerAltSelectedAreaEvent extends EventData {
1664
1680
  /**
@@ -1677,6 +1693,10 @@ declare module "factorio:runtime" {
1677
1693
  * The item used to select the area.
1678
1694
  */
1679
1695
  readonly item: string
1696
+ /**
1697
+ * The item quality used to select the area.
1698
+ */
1699
+ readonly quality: string
1680
1700
  /**
1681
1701
  * The entities selected.
1682
1702
  */
@@ -1696,7 +1716,7 @@ declare module "factorio:runtime" {
1696
1716
  }
1697
1717
  /**
1698
1718
  * Called after a players ammo inventory changed in some way.
1699
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_player_ammo_inventory_changed Online documentation}
1719
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_player_ammo_inventory_changed Online documentation}
1700
1720
  */
1701
1721
  interface OnPlayerAmmoInventoryChangedEvent extends EventData {
1702
1722
  readonly player_index: PlayerIndex
@@ -1711,7 +1731,7 @@ declare module "factorio:runtime" {
1711
1731
  }
1712
1732
  /**
1713
1733
  * Called after a players armor inventory changed in some way.
1714
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_player_armor_inventory_changed Online documentation}
1734
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_player_armor_inventory_changed Online documentation}
1715
1735
  */
1716
1736
  interface OnPlayerArmorInventoryChangedEvent extends EventData {
1717
1737
  readonly player_index: PlayerIndex
@@ -1726,7 +1746,7 @@ declare module "factorio:runtime" {
1726
1746
  }
1727
1747
  /**
1728
1748
  * Called when a player is banned.
1729
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_player_banned Online documentation}
1749
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_player_banned Online documentation}
1730
1750
  */
1731
1751
  interface OnPlayerBannedEvent extends EventData {
1732
1752
  /**
@@ -1756,7 +1776,7 @@ declare module "factorio:runtime" {
1756
1776
  }
1757
1777
  /**
1758
1778
  * Called after a player builds tiles.
1759
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_player_built_tile Online documentation}
1779
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_player_built_tile Online documentation}
1760
1780
  */
1761
1781
  interface OnPlayerBuiltTileEvent extends EventData {
1762
1782
  readonly player_index: PlayerIndex
@@ -1777,9 +1797,13 @@ declare module "factorio:runtime" {
1777
1797
  */
1778
1798
  readonly item?: LuaItemPrototype
1779
1799
  /**
1780
- * The stack used to build the tiles (may be empty if all of the items were used to build the tiles).
1800
+ * The quality of the item used to build the tiles
1781
1801
  */
1782
- readonly stack?: LuaItemStack
1802
+ readonly quality?: LuaQualityPrototype
1803
+ /**
1804
+ * The inventory containing the items used to build the tiles.
1805
+ */
1806
+ readonly inventory?: LuaInventory
1783
1807
  /**
1784
1808
  * Identifier of the event
1785
1809
  */
@@ -1791,7 +1815,7 @@ declare module "factorio:runtime" {
1791
1815
  }
1792
1816
  /**
1793
1817
  * Called when a player cancels crafting.
1794
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_player_cancelled_crafting Online documentation}
1818
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_player_cancelled_crafting Online documentation}
1795
1819
  */
1796
1820
  interface OnPlayerCancelledCraftingEvent extends EventData {
1797
1821
  /**
@@ -1821,7 +1845,7 @@ declare module "factorio:runtime" {
1821
1845
  }
1822
1846
  /**
1823
1847
  * Called after a player changes forces.
1824
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_player_changed_force Online documentation}
1848
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_player_changed_force Online documentation}
1825
1849
  */
1826
1850
  interface OnPlayerChangedForceEvent extends EventData {
1827
1851
  /**
@@ -1843,7 +1867,7 @@ declare module "factorio:runtime" {
1843
1867
  }
1844
1868
  /**
1845
1869
  * Called when the tile position a player is located at changes.
1846
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_player_changed_position Online documentation}
1870
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_player_changed_position Online documentation}
1847
1871
  */
1848
1872
  interface OnPlayerChangedPositionEvent extends EventData {
1849
1873
  /**
@@ -1861,9 +1885,7 @@ declare module "factorio:runtime" {
1861
1885
  }
1862
1886
  /**
1863
1887
  * Called after a player changes surfaces.
1864
- *
1865
- * In the instance a player is moved off a surface due to it being deleted this is not called.
1866
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_player_changed_surface Online documentation}
1888
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_player_changed_surface Online documentation}
1867
1889
  */
1868
1890
  interface OnPlayerChangedSurfaceEvent extends EventData {
1869
1891
  /**
@@ -1871,9 +1893,9 @@ declare module "factorio:runtime" {
1871
1893
  */
1872
1894
  readonly player_index: PlayerIndex
1873
1895
  /**
1874
- * The surface index the player was on.
1896
+ * The surface index the player was on - may be `nil` if the surface no longer exists.
1875
1897
  */
1876
- readonly surface_index: SurfaceIndex
1898
+ readonly surface_index?: SurfaceIndex
1877
1899
  /**
1878
1900
  * Identifier of the event
1879
1901
  */
@@ -1885,7 +1907,7 @@ declare module "factorio:runtime" {
1885
1907
  }
1886
1908
  /**
1887
1909
  * Called when cheat mode is disabled on a player.
1888
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_player_cheat_mode_disabled Online documentation}
1910
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_player_cheat_mode_disabled Online documentation}
1889
1911
  */
1890
1912
  interface OnPlayerCheatModeDisabledEvent extends EventData {
1891
1913
  /**
@@ -1903,7 +1925,7 @@ declare module "factorio:runtime" {
1903
1925
  }
1904
1926
  /**
1905
1927
  * Called when cheat mode is enabled on a player.
1906
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_player_cheat_mode_enabled Online documentation}
1928
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_player_cheat_mode_enabled Online documentation}
1907
1929
  */
1908
1930
  interface OnPlayerCheatModeEnabledEvent extends EventData {
1909
1931
  /**
@@ -1921,7 +1943,7 @@ declare module "factorio:runtime" {
1921
1943
  }
1922
1944
  /**
1923
1945
  * Called when a player clicks a gps tag
1924
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_player_clicked_gps_tag Online documentation}
1946
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_player_clicked_gps_tag Online documentation}
1925
1947
  */
1926
1948
  interface OnPlayerClickedGpsTagEvent extends EventData {
1927
1949
  /**
@@ -1947,7 +1969,7 @@ declare module "factorio:runtime" {
1947
1969
  }
1948
1970
  /**
1949
1971
  * Called when a player clicks the "confirm" button in the configure Blueprint GUI.
1950
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_player_configured_blueprint Online documentation}
1972
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_player_configured_blueprint Online documentation}
1951
1973
  */
1952
1974
  interface OnPlayerConfiguredBlueprintEvent extends EventData {
1953
1975
  /**
@@ -1964,22 +1986,22 @@ declare module "factorio:runtime" {
1964
1986
  readonly tick: uint
1965
1987
  }
1966
1988
  /**
1967
- * Called when a player configures spidertron remote to be connected with a given spidertron
1968
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_player_configured_spider_remote Online documentation}
1989
+ * Called after a player changes controller types.
1990
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_player_controller_changed Online documentation}
1969
1991
  */
1970
- interface OnPlayerConfiguredSpiderRemoteEvent extends EventData {
1992
+ interface OnPlayerControllerChangedEvent extends EventData {
1971
1993
  /**
1972
- * The player that configured the remote.
1994
+ * The player who changed controllers.
1973
1995
  */
1974
1996
  readonly player_index: PlayerIndex
1975
1997
  /**
1976
- * Spider vehicle to which remote was connected to.
1998
+ * The old controller type.
1977
1999
  */
1978
- readonly vehicle: LuaEntity
2000
+ readonly old_type: defines.controllers
1979
2001
  /**
1980
2002
  * Identifier of the event
1981
2003
  */
1982
- readonly name: typeof defines.events.on_player_configured_spider_remote
2004
+ readonly name: typeof defines.events.on_player_controller_changed
1983
2005
  /**
1984
2006
  * Tick the event was generated.
1985
2007
  */
@@ -1987,7 +2009,7 @@ declare module "factorio:runtime" {
1987
2009
  }
1988
2010
  /**
1989
2011
  * Called when the player finishes crafting an item. This event fires just before the results are inserted into the player's inventory, not when the crafting is queued (see {@link OnPrePlayerCraftedItemEvent on_pre_player_crafted_item}).
1990
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_player_crafted_item Online documentation}
2012
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_player_crafted_item Online documentation}
1991
2013
  */
1992
2014
  interface OnPlayerCraftedItemEvent extends EventData {
1993
2015
  /**
@@ -2013,7 +2035,7 @@ declare module "factorio:runtime" {
2013
2035
  }
2014
2036
  /**
2015
2037
  * Called after the player was created.
2016
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_player_created Online documentation}
2038
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_player_created Online documentation}
2017
2039
  */
2018
2040
  interface OnPlayerCreatedEvent extends EventData {
2019
2041
  readonly player_index: PlayerIndex
@@ -2030,7 +2052,7 @@ declare module "factorio:runtime" {
2030
2052
  * Called after a player's {@link LuaControl#cursor_stack cursor stack} changed in some way.
2031
2053
  *
2032
2054
  * This is fired in the same tick that the change happens, but not instantly.
2033
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_player_cursor_stack_changed Online documentation}
2055
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_player_cursor_stack_changed Online documentation}
2034
2056
  */
2035
2057
  interface OnPlayerCursorStackChangedEvent extends EventData {
2036
2058
  readonly player_index: PlayerIndex
@@ -2045,7 +2067,7 @@ declare module "factorio:runtime" {
2045
2067
  }
2046
2068
  /**
2047
2069
  * Called when a player selects an area with a deconstruction planner.
2048
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_player_deconstructed_area Online documentation}
2070
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_player_deconstructed_area Online documentation}
2049
2071
  */
2050
2072
  interface OnPlayerDeconstructedAreaEvent extends EventData {
2051
2073
  /**
@@ -2064,6 +2086,14 @@ declare module "factorio:runtime" {
2064
2086
  * The item used to select the area.
2065
2087
  */
2066
2088
  readonly item: string
2089
+ /**
2090
+ * The item stack used to select the area.
2091
+ */
2092
+ readonly stack?: LuaItemStack
2093
+ /**
2094
+ * The item quality used to select the area.
2095
+ */
2096
+ readonly quality: string
2067
2097
  /**
2068
2098
  * If normal selection or alt selection was used.
2069
2099
  */
@@ -2079,7 +2109,7 @@ declare module "factorio:runtime" {
2079
2109
  }
2080
2110
  /**
2081
2111
  * Called when a player is demoted.
2082
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_player_demoted Online documentation}
2112
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_player_demoted Online documentation}
2083
2113
  */
2084
2114
  interface OnPlayerDemotedEvent extends EventData {
2085
2115
  /**
@@ -2097,7 +2127,7 @@ declare module "factorio:runtime" {
2097
2127
  }
2098
2128
  /**
2099
2129
  * Called after a player dies.
2100
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_player_died Online documentation}
2130
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_player_died Online documentation}
2101
2131
  */
2102
2132
  interface OnPlayerDiedEvent extends EventData {
2103
2133
  readonly player_index: PlayerIndex
@@ -2111,9 +2141,31 @@ declare module "factorio:runtime" {
2111
2141
  */
2112
2142
  readonly tick: uint
2113
2143
  }
2144
+ /**
2145
+ * Called when the display density scale changes for a given player. The display density scale is the scale value automatically applied based on the player's display DPI. This is only relevant on platforms that support high-density displays.
2146
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_player_display_density_scale_changed Online documentation}
2147
+ */
2148
+ interface OnPlayerDisplayDensityScaleChangedEvent extends EventData {
2149
+ /**
2150
+ * The player
2151
+ */
2152
+ readonly player_index: PlayerIndex
2153
+ /**
2154
+ * The old display scale
2155
+ */
2156
+ readonly old_scale: double
2157
+ /**
2158
+ * Identifier of the event
2159
+ */
2160
+ readonly name: typeof defines.events.on_player_display_density_scale_changed
2161
+ /**
2162
+ * Tick the event was generated.
2163
+ */
2164
+ readonly tick: uint
2165
+ }
2114
2166
  /**
2115
2167
  * Called when the display resolution changes for a given player.
2116
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_player_display_resolution_changed Online documentation}
2168
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_player_display_resolution_changed Online documentation}
2117
2169
  */
2118
2170
  interface OnPlayerDisplayResolutionChangedEvent extends EventData {
2119
2171
  /**
@@ -2135,7 +2187,7 @@ declare module "factorio:runtime" {
2135
2187
  }
2136
2188
  /**
2137
2189
  * Called when the display scale changes for a given player.
2138
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_player_display_scale_changed Online documentation}
2190
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_player_display_scale_changed Online documentation}
2139
2191
  */
2140
2192
  interface OnPlayerDisplayScaleChangedEvent extends EventData {
2141
2193
  /**
@@ -2159,7 +2211,7 @@ declare module "factorio:runtime" {
2159
2211
  * Called when the player's driving state has changed, meaning a player has either entered or left a vehicle.
2160
2212
  *
2161
2213
  * This event is not raised when the player is ejected from a vehicle due to it being destroyed.
2162
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_player_driving_changed_state Online documentation}
2214
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_player_driving_changed_state Online documentation}
2163
2215
  */
2164
2216
  interface OnPlayerDrivingChangedStateEvent extends EventData {
2165
2217
  readonly player_index: PlayerIndex
@@ -2178,7 +2230,7 @@ declare module "factorio:runtime" {
2178
2230
  }
2179
2231
  /**
2180
2232
  * Called when a player drops an item on the ground.
2181
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_player_dropped_item Online documentation}
2233
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_player_dropped_item Online documentation}
2182
2234
  */
2183
2235
  interface OnPlayerDroppedItemEvent extends EventData {
2184
2236
  readonly player_index: PlayerIndex
@@ -2197,7 +2249,7 @@ declare module "factorio:runtime" {
2197
2249
  }
2198
2250
  /**
2199
2251
  * Called when a player fast-transfers something to or from an entity.
2200
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_player_fast_transferred Online documentation}
2252
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_player_fast_transferred Online documentation}
2201
2253
  */
2202
2254
  interface OnPlayerFastTransferredEvent extends EventData {
2203
2255
  /**
@@ -2225,9 +2277,32 @@ declare module "factorio:runtime" {
2225
2277
  */
2226
2278
  readonly tick: uint
2227
2279
  }
2280
+ /**
2281
+ * Called when the player flips an entity. This event is only fired when the entity actually changes its orientation or mirroring -- pressing the flip keys on an entity that can't be flipped won't fire this event.
2282
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_player_flipped_entity Online documentation}
2283
+ */
2284
+ interface OnPlayerFlippedEntityEvent extends EventData {
2285
+ /**
2286
+ * The flipped entity.
2287
+ */
2288
+ readonly entity: LuaEntity
2289
+ /**
2290
+ * The enacted flip. true = Horizontal, false = Vertical
2291
+ */
2292
+ readonly horizontal: boolean
2293
+ readonly player_index: PlayerIndex
2294
+ /**
2295
+ * Identifier of the event
2296
+ */
2297
+ readonly name: typeof defines.events.on_player_flipped_entity
2298
+ /**
2299
+ * Tick the event was generated.
2300
+ */
2301
+ readonly tick: uint
2302
+ }
2228
2303
  /**
2229
2304
  * Called after player flushed fluid
2230
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_player_flushed_fluid Online documentation}
2305
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_player_flushed_fluid Online documentation}
2231
2306
  */
2232
2307
  interface OnPlayerFlushedFluidEvent extends EventData {
2233
2308
  /**
@@ -2261,7 +2336,7 @@ declare module "factorio:runtime" {
2261
2336
  }
2262
2337
  /**
2263
2338
  * Called after a players gun inventory changed in some way.
2264
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_player_gun_inventory_changed Online documentation}
2339
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_player_gun_inventory_changed Online documentation}
2265
2340
  */
2266
2341
  interface OnPlayerGunInventoryChangedEvent extends EventData {
2267
2342
  readonly player_index: PlayerIndex
@@ -2276,7 +2351,7 @@ declare module "factorio:runtime" {
2276
2351
  }
2277
2352
  /**
2278
2353
  * Called when a player's input method changes. See {@link LuaPlayer#input_method LuaPlayer::input_method}.
2279
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_player_input_method_changed Online documentation}
2354
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_player_input_method_changed Online documentation}
2280
2355
  */
2281
2356
  interface OnPlayerInputMethodChangedEvent extends EventData {
2282
2357
  /**
@@ -2294,7 +2369,7 @@ declare module "factorio:runtime" {
2294
2369
  }
2295
2370
  /**
2296
2371
  * Called after a player joins the game. This is not called when loading a save file in singleplayer, as the player doesn't actually leave the game, and the save is just on pause until they rejoin.
2297
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_player_joined_game Online documentation}
2372
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_player_joined_game Online documentation}
2298
2373
  */
2299
2374
  interface OnPlayerJoinedGameEvent extends EventData {
2300
2375
  readonly player_index: PlayerIndex
@@ -2309,7 +2384,7 @@ declare module "factorio:runtime" {
2309
2384
  }
2310
2385
  /**
2311
2386
  * Called when a player is kicked.
2312
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_player_kicked Online documentation}
2387
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_player_kicked Online documentation}
2313
2388
  */
2314
2389
  interface OnPlayerKickedEvent extends EventData {
2315
2390
  /**
@@ -2335,7 +2410,7 @@ declare module "factorio:runtime" {
2335
2410
  }
2336
2411
  /**
2337
2412
  * Called after a player leaves the game. This is not called when closing a save file in singleplayer, as the player doesn't actually leave the game, and the save is just on pause until they rejoin.
2338
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_player_left_game Online documentation}
2413
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_player_left_game Online documentation}
2339
2414
  */
2340
2415
  interface OnPlayerLeftGameEvent extends EventData {
2341
2416
  readonly player_index: PlayerIndex
@@ -2349,9 +2424,31 @@ declare module "factorio:runtime" {
2349
2424
  */
2350
2425
  readonly tick: uint
2351
2426
  }
2427
+ /**
2428
+ * Called when a player's active locale changes. See {@link LuaPlayer#locale LuaPlayer::locale}.
2429
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_player_locale_changed Online documentation}
2430
+ */
2431
+ interface OnPlayerLocaleChangedEvent extends EventData {
2432
+ /**
2433
+ * The player whose locale was changed.
2434
+ */
2435
+ readonly player_index: PlayerIndex
2436
+ /**
2437
+ * The previously active locale.
2438
+ */
2439
+ readonly old_locale: string
2440
+ /**
2441
+ * Identifier of the event
2442
+ */
2443
+ readonly name: typeof defines.events.on_player_locale_changed
2444
+ /**
2445
+ * Tick the event was generated.
2446
+ */
2447
+ readonly tick: uint
2448
+ }
2352
2449
  /**
2353
2450
  * Called after a players main inventory changed in some way.
2354
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_player_main_inventory_changed Online documentation}
2451
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_player_main_inventory_changed Online documentation}
2355
2452
  */
2356
2453
  interface OnPlayerMainInventoryChangedEvent extends EventData {
2357
2454
  readonly player_index: PlayerIndex
@@ -2372,7 +2469,7 @@ declare module "factorio:runtime" {
2372
2469
  * The buffer inventory is special in that it's only valid during this event and has a dynamic size expanding as more items are transferred into it.
2373
2470
  *
2374
2471
  * Event filter: [LuaPlayerMinedEntityEventFilter](LuaPlayerMinedEntityEventFilter]
2375
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_player_mined_entity Online documentation}
2472
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_player_mined_entity Online documentation}
2376
2473
  */
2377
2474
  interface OnPlayerMinedEntityEvent extends EventData {
2378
2475
  /**
@@ -2398,7 +2495,7 @@ declare module "factorio:runtime" {
2398
2495
  }
2399
2496
  /**
2400
2497
  * Called when the player mines something.
2401
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_player_mined_item Online documentation}
2498
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_player_mined_item Online documentation}
2402
2499
  */
2403
2500
  interface OnPlayerMinedItemEvent extends EventData {
2404
2501
  /**
@@ -2417,7 +2514,7 @@ declare module "factorio:runtime" {
2417
2514
  }
2418
2515
  /**
2419
2516
  * Called after a player mines tiles.
2420
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_player_mined_tile Online documentation}
2517
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_player_mined_tile Online documentation}
2421
2518
  */
2422
2519
  interface OnPlayerMinedTileEvent extends EventData {
2423
2520
  readonly player_index: PlayerIndex
@@ -2440,7 +2537,7 @@ declare module "factorio:runtime" {
2440
2537
  }
2441
2538
  /**
2442
2539
  * Called when a player is muted.
2443
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_player_muted Online documentation}
2540
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_player_muted Online documentation}
2444
2541
  */
2445
2542
  interface OnPlayerMutedEvent extends EventData {
2446
2543
  /**
@@ -2458,7 +2555,7 @@ declare module "factorio:runtime" {
2458
2555
  }
2459
2556
  /**
2460
2557
  * Called when a player invokes the "smart pipette" over an entity.
2461
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_player_pipette Online documentation}
2558
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_player_pipette Online documentation}
2462
2559
  */
2463
2560
  interface OnPlayerPipetteEvent extends EventData {
2464
2561
  /**
@@ -2469,6 +2566,10 @@ declare module "factorio:runtime" {
2469
2566
  * The item put in the cursor
2470
2567
  */
2471
2568
  readonly item: LuaItemPrototype
2569
+ /**
2570
+ * The item quality put in the cursor
2571
+ */
2572
+ readonly quality: LuaQualityPrototype
2472
2573
  /**
2473
2574
  * If cheat mode was used to give a free stack of the item.
2474
2575
  */
@@ -2484,7 +2585,7 @@ declare module "factorio:runtime" {
2484
2585
  }
2485
2586
  /**
2486
2587
  * Called after the player puts equipment in an equipment grid
2487
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_player_placed_equipment Online documentation}
2588
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_player_placed_equipment Online documentation}
2488
2589
  */
2489
2590
  interface OnPlayerPlacedEquipmentEvent extends EventData {
2490
2591
  readonly player_index: PlayerIndex
@@ -2507,7 +2608,7 @@ declare module "factorio:runtime" {
2507
2608
  }
2508
2609
  /**
2509
2610
  * Called when a player is promoted.
2510
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_player_promoted Online documentation}
2611
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_player_promoted Online documentation}
2511
2612
  */
2512
2613
  interface OnPlayerPromotedEvent extends EventData {
2513
2614
  /**
@@ -2525,7 +2626,7 @@ declare module "factorio:runtime" {
2525
2626
  }
2526
2627
  /**
2527
2628
  * Called when a player is removed (deleted) from the game. This is markedly different from a player temporarily {@link OnPlayerLeftGameEvent leaving} the game, and instead behaves like the player never existed in the save file.
2528
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_player_removed Online documentation}
2629
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_player_removed Online documentation}
2529
2630
  */
2530
2631
  interface OnPlayerRemovedEvent extends EventData {
2531
2632
  /**
@@ -2543,7 +2644,7 @@ declare module "factorio:runtime" {
2543
2644
  }
2544
2645
  /**
2545
2646
  * Called after the player removes equipment from an equipment grid
2546
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_player_removed_equipment Online documentation}
2647
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_player_removed_equipment Online documentation}
2547
2648
  */
2548
2649
  interface OnPlayerRemovedEquipmentEvent extends EventData {
2549
2650
  readonly player_index: PlayerIndex
@@ -2555,6 +2656,10 @@ declare module "factorio:runtime" {
2555
2656
  * The equipment removed.
2556
2657
  */
2557
2658
  readonly equipment: string
2659
+ /**
2660
+ * The equipment quality.
2661
+ */
2662
+ readonly quality: string
2558
2663
  /**
2559
2664
  * The count of equipment removed.
2560
2665
  */
@@ -2572,7 +2677,7 @@ declare module "factorio:runtime" {
2572
2677
  * Called when a player repairs an entity.
2573
2678
  *
2574
2679
  * Event filter: [LuaPlayerRepairedEntityEventFilter](LuaPlayerRepairedEntityEventFilter]
2575
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_player_repaired_entity Online documentation}
2680
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_player_repaired_entity Online documentation}
2576
2681
  */
2577
2682
  interface OnPlayerRepairedEntityEvent extends EventData {
2578
2683
  readonly player_index: PlayerIndex
@@ -2588,7 +2693,7 @@ declare module "factorio:runtime" {
2588
2693
  }
2589
2694
  /**
2590
2695
  * Called after a player respawns.
2591
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_player_respawned Online documentation}
2696
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_player_respawned Online documentation}
2592
2697
  */
2593
2698
  interface OnPlayerRespawnedEvent extends EventData {
2594
2699
  readonly player_index: PlayerIndex
@@ -2607,7 +2712,7 @@ declare module "factorio:runtime" {
2607
2712
  }
2608
2713
  /**
2609
2714
  * Called after a player reverse-selects an area with a selection-tool item.
2610
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_player_reverse_selected_area Online documentation}
2715
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_player_reverse_selected_area Online documentation}
2611
2716
  */
2612
2717
  interface OnPlayerReverseSelectedAreaEvent extends EventData {
2613
2718
  /**
@@ -2645,7 +2750,9 @@ declare module "factorio:runtime" {
2645
2750
  }
2646
2751
  /**
2647
2752
  * Called when the player rotates an entity. This event is only fired when the entity actually changes its orientation -- pressing the rotate key on an entity that can't be rotated won't fire this event.
2648
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_player_rotated_entity Online documentation}
2753
+ *
2754
+ * Entities being flipped will not fire this event, even if the flip involves rotating. See {@link OnPlayerFlippedEntityEvent on_player_flipped_entity}.
2755
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_player_rotated_entity Online documentation}
2649
2756
  */
2650
2757
  interface OnPlayerRotatedEntityEvent extends EventData {
2651
2758
  /**
@@ -2668,7 +2775,7 @@ declare module "factorio:runtime" {
2668
2775
  }
2669
2776
  /**
2670
2777
  * Called after a player selects an area with a selection-tool item.
2671
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_player_selected_area Online documentation}
2778
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_player_selected_area Online documentation}
2672
2779
  */
2673
2780
  interface OnPlayerSelectedAreaEvent extends EventData {
2674
2781
  /**
@@ -2687,6 +2794,10 @@ declare module "factorio:runtime" {
2687
2794
  * The item used to select the area.
2688
2795
  */
2689
2796
  readonly item: string
2797
+ /**
2798
+ * The item quality used to select the area.
2799
+ */
2800
+ readonly quality: string
2690
2801
  /**
2691
2802
  * The entities selected.
2692
2803
  */
@@ -2706,7 +2817,7 @@ declare module "factorio:runtime" {
2706
2817
  }
2707
2818
  /**
2708
2819
  * Called when a player sets a quickbar slot to anything (new value, or set to empty).
2709
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_player_set_quick_bar_slot Online documentation}
2820
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_player_set_quick_bar_slot Online documentation}
2710
2821
  */
2711
2822
  interface OnPlayerSetQuickBarSlotEvent extends EventData {
2712
2823
  readonly player_index: PlayerIndex
@@ -2721,7 +2832,7 @@ declare module "factorio:runtime" {
2721
2832
  }
2722
2833
  /**
2723
2834
  * Called when a player selects an area with a blueprint.
2724
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_player_setup_blueprint Online documentation}
2835
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_player_setup_blueprint Online documentation}
2725
2836
  */
2726
2837
  interface OnPlayerSetupBlueprintEvent extends EventData {
2727
2838
  /**
@@ -2740,6 +2851,14 @@ declare module "factorio:runtime" {
2740
2851
  * The item used to select the area.
2741
2852
  */
2742
2853
  readonly item: string
2854
+ /**
2855
+ * The item stack used to select the area.
2856
+ */
2857
+ readonly stack?: LuaItemStack
2858
+ /**
2859
+ * The item quality used to select the area.
2860
+ */
2861
+ readonly quality: string
2743
2862
  /**
2744
2863
  * If normal selection or alt selection was used.
2745
2864
  */
@@ -2759,7 +2878,7 @@ declare module "factorio:runtime" {
2759
2878
  }
2760
2879
  /**
2761
2880
  * Called when a player toggles alt mode, also known as "show entity info".
2762
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_player_toggled_alt_mode Online documentation}
2881
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_player_toggled_alt_mode Online documentation}
2763
2882
  */
2764
2883
  interface OnPlayerToggledAltModeEvent extends EventData {
2765
2884
  readonly player_index: PlayerIndex
@@ -2778,7 +2897,7 @@ declare module "factorio:runtime" {
2778
2897
  }
2779
2898
  /**
2780
2899
  * Called when a player toggles the map editor on or off.
2781
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_player_toggled_map_editor Online documentation}
2900
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_player_toggled_map_editor Online documentation}
2782
2901
  */
2783
2902
  interface OnPlayerToggledMapEditorEvent extends EventData {
2784
2903
  readonly player_index: PlayerIndex
@@ -2793,7 +2912,7 @@ declare module "factorio:runtime" {
2793
2912
  }
2794
2913
  /**
2795
2914
  * Called after a players trash inventory changed in some way.
2796
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_player_trash_inventory_changed Online documentation}
2915
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_player_trash_inventory_changed Online documentation}
2797
2916
  */
2798
2917
  interface OnPlayerTrashInventoryChangedEvent extends EventData {
2799
2918
  readonly player_index: PlayerIndex
@@ -2808,7 +2927,7 @@ declare module "factorio:runtime" {
2808
2927
  }
2809
2928
  /**
2810
2929
  * Called when a player is un-banned.
2811
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_player_unbanned Online documentation}
2930
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_player_unbanned Online documentation}
2812
2931
  */
2813
2932
  interface OnPlayerUnbannedEvent extends EventData {
2814
2933
  /**
@@ -2838,7 +2957,7 @@ declare module "factorio:runtime" {
2838
2957
  }
2839
2958
  /**
2840
2959
  * Called when a player is unmuted.
2841
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_player_unmuted Online documentation}
2960
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_player_unmuted Online documentation}
2842
2961
  */
2843
2962
  interface OnPlayerUnmutedEvent extends EventData {
2844
2963
  /**
@@ -2856,7 +2975,7 @@ declare module "factorio:runtime" {
2856
2975
  }
2857
2976
  /**
2858
2977
  * Called when a player uses a capsule that results in some game action.
2859
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_player_used_capsule Online documentation}
2978
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_player_used_capsule Online documentation}
2860
2979
  */
2861
2980
  interface OnPlayerUsedCapsuleEvent extends EventData {
2862
2981
  /**
@@ -2867,6 +2986,10 @@ declare module "factorio:runtime" {
2867
2986
  * The capsule item used.
2868
2987
  */
2869
2988
  readonly item: LuaItemPrototype
2989
+ /**
2990
+ * The quality of the capsule item used.
2991
+ */
2992
+ readonly quality: LuaQualityPrototype
2870
2993
  /**
2871
2994
  * The position the capsule was used.
2872
2995
  */
@@ -2881,30 +3004,22 @@ declare module "factorio:runtime" {
2881
3004
  readonly tick: uint
2882
3005
  }
2883
3006
  /**
2884
- * Called when a player uses spidertron remote to send a spidertron to a given position
2885
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_player_used_spider_remote Online documentation}
3007
+ * Called when a player uses spidertron remote to send all selected units to a given position
3008
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_player_used_spidertron_remote Online documentation}
2886
3009
  */
2887
- interface OnPlayerUsedSpiderRemoteEvent extends EventData {
3010
+ interface OnPlayerUsedSpidertronRemoteEvent extends EventData {
2888
3011
  /**
2889
3012
  * The player that used the remote.
2890
3013
  */
2891
3014
  readonly player_index: PlayerIndex
2892
- /**
2893
- * Spider vehicle which was requested to move.
2894
- */
2895
- readonly vehicle: LuaEntity
2896
3015
  /**
2897
3016
  * Goal position to which spidertron was sent to.
2898
3017
  */
2899
3018
  readonly position: MapPosition
2900
- /**
2901
- * If the use was successful. It may fail when spidertron has different driver or when player is on different surface.
2902
- */
2903
- readonly success: boolean
2904
3019
  /**
2905
3020
  * Identifier of the event
2906
3021
  */
2907
- readonly name: typeof defines.events.on_player_used_spider_remote
3022
+ readonly name: typeof defines.events.on_player_used_spidertron_remote
2908
3023
  /**
2909
3024
  * Tick the event was generated.
2910
3025
  */
@@ -2914,7 +3029,7 @@ declare module "factorio:runtime" {
2914
3029
  * Called after an entity dies.
2915
3030
  *
2916
3031
  * Event filter: [LuaPostEntityDiedEventFilter](LuaPostEntityDiedEventFilter]
2917
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_post_entity_died Online documentation}
3032
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_post_entity_died Online documentation}
2918
3033
  */
2919
3034
  interface OnPostEntityDiedEvent extends EventData {
2920
3035
  /**
@@ -2933,6 +3048,10 @@ declare module "factorio:runtime" {
2933
3048
  * The entity prototype of the entity that died.
2934
3049
  */
2935
3050
  readonly prototype: LuaEntityPrototype
3051
+ /**
3052
+ * The quality of the entity that died.
3053
+ */
3054
+ readonly quality: LuaQualityPrototype
2936
3055
  /**
2937
3056
  * The damage type if any.
2938
3057
  */
@@ -2960,7 +3079,7 @@ declare module "factorio:runtime" {
2960
3079
  }
2961
3080
  /**
2962
3081
  * Called when players uses an item to build something. Called before {@link OnBuiltEntityEvent on_built_entity}.
2963
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_pre_build Online documentation}
3082
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_pre_build Online documentation}
2964
3083
  */
2965
3084
  interface OnPreBuildEvent extends EventData {
2966
3085
  /**
@@ -2972,13 +3091,17 @@ declare module "factorio:runtime" {
2972
3091
  */
2973
3092
  readonly position: MapPosition
2974
3093
  /**
2975
- * Item was placed using shift building.
3094
+ * Build mode the item was placed with.
2976
3095
  */
2977
- readonly shift_build: boolean
3096
+ readonly build_mode: defines.build_mode
2978
3097
  /**
2979
3098
  * The direction the item was facing when placed.
2980
3099
  */
2981
3100
  readonly direction: defines.direction
3101
+ /**
3102
+ * If the item is mirrored (only crafting machines support this)
3103
+ */
3104
+ readonly mirror: boolean
2982
3105
  /**
2983
3106
  * Whether the blueprint was flipped horizontally. `nil` if not built by a blueprint.
2984
3107
  */
@@ -3002,7 +3125,7 @@ declare module "factorio:runtime" {
3002
3125
  }
3003
3126
  /**
3004
3127
  * Called before one or more chunks are deleted using {@link LuaSurface#delete_chunk LuaSurface::delete_chunk}.
3005
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_pre_chunk_deleted Online documentation}
3128
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_pre_chunk_deleted Online documentation}
3006
3129
  */
3007
3130
  interface OnPreChunkDeletedEvent extends EventData {
3008
3131
  readonly surface_index: SurfaceIndex
@@ -3021,7 +3144,7 @@ declare module "factorio:runtime" {
3021
3144
  }
3022
3145
  /**
3023
3146
  * Called before entity copy-paste is done.
3024
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_pre_entity_settings_pasted Online documentation}
3147
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_pre_entity_settings_pasted Online documentation}
3025
3148
  */
3026
3149
  interface OnPreEntitySettingsPastedEvent extends EventData {
3027
3150
  readonly player_index: PlayerIndex
@@ -3048,7 +3171,7 @@ declare module "factorio:runtime" {
3048
3171
  * Also called for item request proxies before they are destroyed as a result of being marked for deconstruction.
3049
3172
  *
3050
3173
  * Event filter: [LuaPreGhostDeconstructedEventFilter](LuaPreGhostDeconstructedEventFilter]
3051
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_pre_ghost_deconstructed Online documentation}
3174
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_pre_ghost_deconstructed Online documentation}
3052
3175
  */
3053
3176
  interface OnPreGhostDeconstructedEvent extends EventData {
3054
3177
  /**
@@ -3069,7 +3192,7 @@ declare module "factorio:runtime" {
3069
3192
  * Called before a ghost entity is upgraded.
3070
3193
  *
3071
3194
  * Event filter: [LuaPreGhostUpgradedEventFilter](LuaPreGhostUpgradedEventFilter]
3072
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_pre_ghost_upgraded Online documentation}
3195
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_pre_ghost_upgraded Online documentation}
3073
3196
  */
3074
3197
  interface OnPreGhostUpgradedEvent extends EventData {
3075
3198
  /**
@@ -3078,6 +3201,7 @@ declare module "factorio:runtime" {
3078
3201
  readonly player_index?: PlayerIndex
3079
3202
  readonly ghost: LuaEntity
3080
3203
  readonly target: LuaEntityPrototype
3204
+ readonly quality: LuaQualityPrototype
3081
3205
  /**
3082
3206
  * Identifier of the event
3083
3207
  */
@@ -3089,13 +3213,13 @@ declare module "factorio:runtime" {
3089
3213
  }
3090
3214
  /**
3091
3215
  * Called directly before a permission group is deleted.
3092
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_pre_permission_group_deleted Online documentation}
3216
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_pre_permission_group_deleted Online documentation}
3093
3217
  */
3094
3218
  interface OnPrePermissionGroupDeletedEvent extends EventData {
3095
3219
  /**
3096
- * The player doing the deletion.
3220
+ * The player doing the deletion or `nil` if by a mod.
3097
3221
  */
3098
- readonly player_index: PlayerIndex
3222
+ readonly player_index?: PlayerIndex
3099
3223
  /**
3100
3224
  * The group to be deleted.
3101
3225
  */
@@ -3111,7 +3235,7 @@ declare module "factorio:runtime" {
3111
3235
  }
3112
3236
  /**
3113
3237
  * Called directly before a permission string is imported.
3114
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_pre_permission_string_imported Online documentation}
3238
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_pre_permission_string_imported Online documentation}
3115
3239
  */
3116
3240
  interface OnPrePermissionStringImportedEvent extends EventData {
3117
3241
  /**
@@ -3129,7 +3253,7 @@ declare module "factorio:runtime" {
3129
3253
  }
3130
3254
  /**
3131
3255
  * Called when a player queues something to be crafted.
3132
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_pre_player_crafted_item Online documentation}
3256
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_pre_player_crafted_item Online documentation}
3133
3257
  */
3134
3258
  interface OnPrePlayerCraftedItemEvent extends EventData {
3135
3259
  /**
@@ -3159,7 +3283,7 @@ declare module "factorio:runtime" {
3159
3283
  }
3160
3284
  /**
3161
3285
  * Called before a players dies.
3162
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_pre_player_died Online documentation}
3286
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_pre_player_died Online documentation}
3163
3287
  */
3164
3288
  interface OnPrePlayerDiedEvent extends EventData {
3165
3289
  readonly player_index: PlayerIndex
@@ -3175,7 +3299,7 @@ declare module "factorio:runtime" {
3175
3299
  }
3176
3300
  /**
3177
3301
  * Called before a player leaves the game.
3178
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_pre_player_left_game Online documentation}
3302
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_pre_player_left_game Online documentation}
3179
3303
  */
3180
3304
  interface OnPrePlayerLeftGameEvent extends EventData {
3181
3305
  readonly player_index: PlayerIndex
@@ -3193,7 +3317,7 @@ declare module "factorio:runtime" {
3193
3317
  * Called when the player completes a mining action, but before the entity is potentially removed from the map. This is called even if the entity does not end up being removed.
3194
3318
  *
3195
3319
  * Event filter: [LuaPrePlayerMinedEntityEventFilter](LuaPrePlayerMinedEntityEventFilter]
3196
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_pre_player_mined_item Online documentation}
3320
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_pre_player_mined_item Online documentation}
3197
3321
  */
3198
3322
  interface OnPrePlayerMinedItemEvent extends EventData {
3199
3323
  /**
@@ -3212,7 +3336,7 @@ declare module "factorio:runtime" {
3212
3336
  }
3213
3337
  /**
3214
3338
  * Called before a player is removed (deleted) from the game. This is markedly different from a player temporarily {@link OnPlayerLeftGameEvent leaving} the game, and instead behaves like the player never existed in the save file.
3215
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_pre_player_removed Online documentation}
3339
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_pre_player_removed Online documentation}
3216
3340
  */
3217
3341
  interface OnPrePlayerRemovedEvent extends EventData {
3218
3342
  /**
@@ -3230,7 +3354,7 @@ declare module "factorio:runtime" {
3230
3354
  }
3231
3355
  /**
3232
3356
  * Called before a player toggles the map editor on or off.
3233
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_pre_player_toggled_map_editor Online documentation}
3357
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_pre_player_toggled_map_editor Online documentation}
3234
3358
  */
3235
3359
  interface OnPrePlayerToggledMapEditorEvent extends EventData {
3236
3360
  readonly player_index: PlayerIndex
@@ -3245,7 +3369,7 @@ declare module "factorio:runtime" {
3245
3369
  }
3246
3370
  /**
3247
3371
  * Called directly before a robot explodes cliffs.
3248
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_pre_robot_exploded_cliff Online documentation}
3372
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_pre_robot_exploded_cliff Online documentation}
3249
3373
  */
3250
3374
  interface OnPreRobotExplodedCliffEvent extends EventData {
3251
3375
  readonly robot: LuaEntity
@@ -3254,6 +3378,10 @@ declare module "factorio:runtime" {
3254
3378
  * The cliff explosive used.
3255
3379
  */
3256
3380
  readonly item: LuaItemPrototype
3381
+ /**
3382
+ * The quality of the cliff explosive used.
3383
+ */
3384
+ readonly quality: LuaQualityPrototype
3257
3385
  /**
3258
3386
  * Identifier of the event
3259
3387
  */
@@ -3263,9 +3391,23 @@ declare module "factorio:runtime" {
3263
3391
  */
3264
3392
  readonly tick: uint
3265
3393
  }
3394
+ /**
3395
+ * Called just before the scenario finishes.
3396
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_pre_scenario_finished Online documentation}
3397
+ */
3398
+ interface OnPreScenarioFinishedEvent extends EventData {
3399
+ /**
3400
+ * Identifier of the event
3401
+ */
3402
+ readonly name: typeof defines.events.on_pre_scenario_finished
3403
+ /**
3404
+ * Tick the event was generated.
3405
+ */
3406
+ readonly tick: uint
3407
+ }
3266
3408
  /**
3267
3409
  * Called just before a script inventory is resized.
3268
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_pre_script_inventory_resized Online documentation}
3410
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_pre_script_inventory_resized Online documentation}
3269
3411
  */
3270
3412
  interface OnPreScriptInventoryResizedEvent extends EventData {
3271
3413
  /**
@@ -3296,7 +3438,7 @@ declare module "factorio:runtime" {
3296
3438
  }
3297
3439
  /**
3298
3440
  * Called just before a surface is cleared (all entities removed and all chunks deleted).
3299
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_pre_surface_cleared Online documentation}
3441
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_pre_surface_cleared Online documentation}
3300
3442
  */
3301
3443
  interface OnPreSurfaceClearedEvent extends EventData {
3302
3444
  readonly surface_index: SurfaceIndex
@@ -3311,7 +3453,7 @@ declare module "factorio:runtime" {
3311
3453
  }
3312
3454
  /**
3313
3455
  * Called just before a surface is deleted.
3314
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_pre_surface_deleted Online documentation}
3456
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_pre_surface_deleted Online documentation}
3315
3457
  */
3316
3458
  interface OnPreSurfaceDeletedEvent extends EventData {
3317
3459
  readonly surface_index: SurfaceIndex
@@ -3324,9 +3466,31 @@ declare module "factorio:runtime" {
3324
3466
  */
3325
3467
  readonly tick: uint
3326
3468
  }
3469
+ /**
3470
+ * Called when the player triggers "redo".
3471
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_redo_applied Online documentation}
3472
+ */
3473
+ interface OnRedoAppliedEvent extends EventData {
3474
+ /**
3475
+ * The player who triggered the redo action.
3476
+ */
3477
+ readonly player_index: PlayerIndex
3478
+ /**
3479
+ * The context of the redo action.
3480
+ */
3481
+ readonly actions: UndoRedoAction[]
3482
+ /**
3483
+ * Identifier of the event
3484
+ */
3485
+ readonly name: typeof defines.events.on_redo_applied
3486
+ /**
3487
+ * Tick the event was generated.
3488
+ */
3489
+ readonly tick: uint
3490
+ }
3327
3491
  /**
3328
3492
  * Called when research is cancelled.
3329
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_research_cancelled Online documentation}
3493
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_research_cancelled Online documentation}
3330
3494
  */
3331
3495
  interface OnResearchCancelledEvent extends EventData {
3332
3496
  /**
@@ -3348,7 +3512,7 @@ declare module "factorio:runtime" {
3348
3512
  }
3349
3513
  /**
3350
3514
  * Called when a research finishes.
3351
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_research_finished Online documentation}
3515
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_research_finished Online documentation}
3352
3516
  */
3353
3517
  interface OnResearchFinishedEvent extends EventData {
3354
3518
  /**
@@ -3368,9 +3532,27 @@ declare module "factorio:runtime" {
3368
3532
  */
3369
3533
  readonly tick: uint
3370
3534
  }
3535
+ /**
3536
+ * Called when research is moved forwards or backwards in the research queue.
3537
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_research_moved Online documentation}
3538
+ */
3539
+ interface OnResearchMovedEvent extends EventData {
3540
+ /**
3541
+ * The force whose research was re-arranged.
3542
+ */
3543
+ readonly force: LuaForce
3544
+ /**
3545
+ * Identifier of the event
3546
+ */
3547
+ readonly name: typeof defines.events.on_research_moved
3548
+ /**
3549
+ * Tick the event was generated.
3550
+ */
3551
+ readonly tick: uint
3552
+ }
3371
3553
  /**
3372
3554
  * Called when a research is reversed (unresearched).
3373
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_research_reversed Online documentation}
3555
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_research_reversed Online documentation}
3374
3556
  */
3375
3557
  interface OnResearchReversedEvent extends EventData {
3376
3558
  /**
@@ -3392,7 +3574,7 @@ declare module "factorio:runtime" {
3392
3574
  }
3393
3575
  /**
3394
3576
  * Called when a technology research starts.
3395
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_research_started Online documentation}
3577
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_research_started Online documentation}
3396
3578
  */
3397
3579
  interface OnResearchStartedEvent extends EventData {
3398
3580
  /**
@@ -3411,7 +3593,7 @@ declare module "factorio:runtime" {
3411
3593
  }
3412
3594
  /**
3413
3595
  * Called when a resource entity reaches 0 or its minimum yield for infinite resources.
3414
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_resource_depleted Online documentation}
3596
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_resource_depleted Online documentation}
3415
3597
  */
3416
3598
  interface OnResourceDepletedEvent extends EventData {
3417
3599
  readonly entity: LuaEntity
@@ -3428,7 +3610,7 @@ declare module "factorio:runtime" {
3428
3610
  * Called when a construction robot builds an entity.
3429
3611
  *
3430
3612
  * Event filter: [LuaRobotBuiltEntityEventFilter](LuaRobotBuiltEntityEventFilter]
3431
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_robot_built_entity Online documentation}
3613
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_robot_built_entity Online documentation}
3432
3614
  */
3433
3615
  interface OnRobotBuiltEntityEvent extends EventData {
3434
3616
  /**
@@ -3438,7 +3620,7 @@ declare module "factorio:runtime" {
3438
3620
  /**
3439
3621
  * The entity built.
3440
3622
  */
3441
- readonly created_entity: LuaEntity
3623
+ readonly entity: LuaEntity
3442
3624
  /**
3443
3625
  * The item used to do the building.
3444
3626
  */
@@ -3458,7 +3640,7 @@ declare module "factorio:runtime" {
3458
3640
  }
3459
3641
  /**
3460
3642
  * Called after a robot builds tiles.
3461
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_robot_built_tile Online documentation}
3643
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_robot_built_tile Online documentation}
3462
3644
  */
3463
3645
  interface OnRobotBuiltTileEvent extends EventData {
3464
3646
  /**
@@ -3478,9 +3660,13 @@ declare module "factorio:runtime" {
3478
3660
  */
3479
3661
  readonly item: LuaItemPrototype
3480
3662
  /**
3481
- * The stack used to build the tiles (may be empty if all of the items where used to build the tiles).
3663
+ * The quality the item used to build the tiles.
3482
3664
  */
3483
- readonly stack: LuaItemStack
3665
+ readonly quality: LuaQualityPrototype
3666
+ /**
3667
+ * The inventory containing the stacks used to build the tiles.
3668
+ */
3669
+ readonly inventory: LuaInventory
3484
3670
  /**
3485
3671
  * The surface the tile(s) are build on.
3486
3672
  */
@@ -3496,7 +3682,7 @@ declare module "factorio:runtime" {
3496
3682
  }
3497
3683
  /**
3498
3684
  * Called directly after a robot explodes cliffs.
3499
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_robot_exploded_cliff Online documentation}
3685
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_robot_exploded_cliff Online documentation}
3500
3686
  */
3501
3687
  interface OnRobotExplodedCliffEvent extends EventData {
3502
3688
  readonly robot: LuaEntity
@@ -3504,6 +3690,10 @@ declare module "factorio:runtime" {
3504
3690
  * The cliff explosive used.
3505
3691
  */
3506
3692
  readonly item: LuaItemPrototype
3693
+ /**
3694
+ * The quality of the cliff explosive used.
3695
+ */
3696
+ readonly quality: LuaQualityPrototype
3507
3697
  /**
3508
3698
  * Identifier of the event
3509
3699
  */
@@ -3515,7 +3705,7 @@ declare module "factorio:runtime" {
3515
3705
  }
3516
3706
  /**
3517
3707
  * Called when a robot mines an entity.
3518
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_robot_mined Online documentation}
3708
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_robot_mined Online documentation}
3519
3709
  */
3520
3710
  interface OnRobotMinedEvent extends EventData {
3521
3711
  /**
@@ -3543,7 +3733,7 @@ declare module "factorio:runtime" {
3543
3733
  * The buffer inventory is special in that it's only valid during this event and has a dynamic size expanding as more items are transferred into it.
3544
3734
  *
3545
3735
  * Event filter: [LuaRobotMinedEntityEventFilter](LuaRobotMinedEntityEventFilter]
3546
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_robot_mined_entity Online documentation}
3736
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_robot_mined_entity Online documentation}
3547
3737
  */
3548
3738
  interface OnRobotMinedEntityEvent extends EventData {
3549
3739
  /**
@@ -3569,7 +3759,7 @@ declare module "factorio:runtime" {
3569
3759
  }
3570
3760
  /**
3571
3761
  * Called after a robot mines tiles.
3572
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_robot_mined_tile Online documentation}
3762
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_robot_mined_tile Online documentation}
3573
3763
  */
3574
3764
  interface OnRobotMinedTileEvent extends EventData {
3575
3765
  /**
@@ -3597,7 +3787,7 @@ declare module "factorio:runtime" {
3597
3787
  * Called before a robot mines an entity.
3598
3788
  *
3599
3789
  * Event filter: [LuaPreRobotMinedEntityEventFilter](LuaPreRobotMinedEntityEventFilter]
3600
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_robot_pre_mined Online documentation}
3790
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_robot_pre_mined Online documentation}
3601
3791
  */
3602
3792
  interface OnRobotPreMinedEvent extends EventData {
3603
3793
  /**
@@ -3619,7 +3809,7 @@ declare module "factorio:runtime" {
3619
3809
  }
3620
3810
  /**
3621
3811
  * Called when a rocket silo is ordered to be launched.
3622
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_rocket_launch_ordered Online documentation}
3812
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_rocket_launch_ordered Online documentation}
3623
3813
  */
3624
3814
  interface OnRocketLaunchOrderedEvent extends EventData {
3625
3815
  readonly rocket: LuaEntity
@@ -3639,7 +3829,7 @@ declare module "factorio:runtime" {
3639
3829
  }
3640
3830
  /**
3641
3831
  * Called when the rocket is launched.
3642
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_rocket_launched Online documentation}
3832
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_rocket_launched Online documentation}
3643
3833
  */
3644
3834
  interface OnRocketLaunchedEvent extends EventData {
3645
3835
  readonly rocket: LuaEntity
@@ -3659,7 +3849,7 @@ declare module "factorio:runtime" {
3659
3849
  }
3660
3850
  /**
3661
3851
  * Called when a runtime mod setting is changed by a player.
3662
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_runtime_mod_setting_changed Online documentation}
3852
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_runtime_mod_setting_changed Online documentation}
3663
3853
  */
3664
3854
  interface OnRuntimeModSettingChangedEvent extends EventData {
3665
3855
  /**
@@ -3682,7 +3872,7 @@ declare module "factorio:runtime" {
3682
3872
  }
3683
3873
  /**
3684
3874
  * Called just after a script inventory is resized.
3685
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_script_inventory_resized Online documentation}
3875
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_script_inventory_resized Online documentation}
3686
3876
  */
3687
3877
  interface OnScriptInventoryResizedEvent extends EventData {
3688
3878
  /**
@@ -3717,7 +3907,7 @@ declare module "factorio:runtime" {
3717
3907
  }
3718
3908
  /**
3719
3909
  * Called when a {@link LuaSurface#request_path LuaSurface::request_path} call completes.
3720
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_script_path_request_finished Online documentation}
3910
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_script_path_request_finished Online documentation}
3721
3911
  */
3722
3912
  interface OnScriptPathRequestFinishedEvent extends EventData {
3723
3913
  /**
@@ -3743,7 +3933,7 @@ declare module "factorio:runtime" {
3743
3933
  }
3744
3934
  /**
3745
3935
  * Called when a script trigger effect is triggered.
3746
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_script_trigger_effect Online documentation}
3936
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_script_trigger_effect Online documentation}
3747
3937
  */
3748
3938
  interface OnScriptTriggerEffectEvent extends EventData {
3749
3939
  /**
@@ -3758,6 +3948,10 @@ declare module "factorio:runtime" {
3758
3948
  readonly source_entity?: LuaEntity
3759
3949
  readonly target_position?: MapPosition
3760
3950
  readonly target_entity?: LuaEntity
3951
+ /**
3952
+ * The entity that originally caused the sequence of triggers
3953
+ */
3954
+ readonly cause_entity?: LuaEntity
3761
3955
  /**
3762
3956
  * Identifier of the event
3763
3957
  */
@@ -3771,7 +3965,7 @@ declare module "factorio:runtime" {
3771
3965
  * Called when an entity of type `radar` finishes scanning a sector.
3772
3966
  *
3773
3967
  * Event filter: [LuaSectorScannedEventFilter](LuaSectorScannedEventFilter]
3774
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_sector_scanned Online documentation}
3968
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_sector_scanned Online documentation}
3775
3969
  */
3776
3970
  interface OnSectorScannedEvent extends EventData {
3777
3971
  /**
@@ -3795,9 +3989,24 @@ declare module "factorio:runtime" {
3795
3989
  */
3796
3990
  readonly tick: uint
3797
3991
  }
3992
+ /**
3993
+ * Called when an individual segment of a SegmentedUnit is created.
3994
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_segment_entity_created Online documentation}
3995
+ */
3996
+ interface OnSegmentEntityCreatedEvent extends EventData {
3997
+ readonly entity: LuaEntity
3998
+ /**
3999
+ * Identifier of the event
4000
+ */
4001
+ readonly name: typeof defines.events.on_segment_entity_created
4002
+ /**
4003
+ * Tick the event was generated.
4004
+ */
4005
+ readonly tick: uint
4006
+ }
3798
4007
  /**
3799
4008
  * Called after the selected entity changes for a given player.
3800
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_selected_entity_changed Online documentation}
4009
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_selected_entity_changed Online documentation}
3801
4010
  */
3802
4011
  interface OnSelectedEntityChangedEvent extends EventData {
3803
4012
  /**
@@ -3817,9 +4026,203 @@ declare module "factorio:runtime" {
3817
4026
  */
3818
4027
  readonly tick: uint
3819
4028
  }
4029
+ /**
4030
+ * Called when a space platform builds an entity.
4031
+ *
4032
+ * Event filter: [LuaPlatformBuiltEntityEventFilter](LuaPlatformBuiltEntityEventFilter]
4033
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_space_platform_built_entity Online documentation}
4034
+ */
4035
+ interface OnSpacePlatformBuiltEntityEvent extends EventData {
4036
+ /**
4037
+ * The platform that did the building.
4038
+ */
4039
+ readonly platform: LuaSpacePlatform
4040
+ /**
4041
+ * The entity built.
4042
+ */
4043
+ readonly entity: LuaEntity
4044
+ /**
4045
+ * The item used to do the building.
4046
+ */
4047
+ readonly stack: LuaItemStack
4048
+ /**
4049
+ * The tags associated with this entity if any.
4050
+ */
4051
+ readonly tags?: Tags
4052
+ /**
4053
+ * Identifier of the event
4054
+ */
4055
+ readonly name: typeof defines.events.on_space_platform_built_entity
4056
+ /**
4057
+ * Tick the event was generated.
4058
+ */
4059
+ readonly tick: uint
4060
+ }
4061
+ /**
4062
+ * Called after a space platform builds tiles.
4063
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_space_platform_built_tile Online documentation}
4064
+ */
4065
+ interface OnSpacePlatformBuiltTileEvent extends EventData {
4066
+ /**
4067
+ * The platform.
4068
+ */
4069
+ readonly platform: LuaSpacePlatform
4070
+ /**
4071
+ * The position data.
4072
+ */
4073
+ readonly tiles: OldTileAndPosition[]
4074
+ /**
4075
+ * The tile prototype that was placed.
4076
+ */
4077
+ readonly tile: LuaTilePrototype
4078
+ /**
4079
+ * The item type used to build the tiles.
4080
+ */
4081
+ readonly item: LuaItemPrototype
4082
+ /**
4083
+ * The quality the item used to build the tiles.
4084
+ */
4085
+ readonly quality: LuaQualityPrototype
4086
+ /**
4087
+ * The inventory containing the stacks used to build the tiles.
4088
+ */
4089
+ readonly inventory: LuaInventory
4090
+ /**
4091
+ * The surface the tile(s) are build on.
4092
+ */
4093
+ readonly surface_index: SurfaceIndex
4094
+ /**
4095
+ * Identifier of the event
4096
+ */
4097
+ readonly name: typeof defines.events.on_space_platform_built_tile
4098
+ /**
4099
+ * Tick the event was generated.
4100
+ */
4101
+ readonly tick: uint
4102
+ }
4103
+ /**
4104
+ * Called when a space platform changes state
4105
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_space_platform_changed_state Online documentation}
4106
+ */
4107
+ interface OnSpacePlatformChangedStateEvent extends EventData {
4108
+ readonly platform: LuaSpacePlatform
4109
+ readonly old_state: defines.space_platform_state
4110
+ /**
4111
+ * Identifier of the event
4112
+ */
4113
+ readonly name: typeof defines.events.on_space_platform_changed_state
4114
+ /**
4115
+ * Tick the event was generated.
4116
+ */
4117
+ readonly tick: uint
4118
+ }
4119
+ /**
4120
+ * Called after the results of an entity being mined are collected just before the entity is destroyed.
4121
+ *
4122
+ * After this event any items in the buffer will be transferred into the platform as if they came from mining the entity.
4123
+ *
4124
+ * The buffer inventory is special in that it's only valid during this event and has a dynamic size expanding as more items are transferred into it.
4125
+ *
4126
+ * Event filter: [LuaPlatformMinedEntityEventFilter](LuaPlatformMinedEntityEventFilter]
4127
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_space_platform_mined_entity Online documentation}
4128
+ */
4129
+ interface OnSpacePlatformMinedEntityEvent extends EventData {
4130
+ /**
4131
+ * The platform doing the mining.
4132
+ */
4133
+ readonly platform: LuaSpacePlatform
4134
+ /**
4135
+ * The entity that has been mined.
4136
+ */
4137
+ readonly entity: LuaEntity
4138
+ /**
4139
+ * The temporary inventory that holds the result of mining the entity.
4140
+ */
4141
+ readonly buffer: LuaInventory
4142
+ /**
4143
+ * Identifier of the event
4144
+ */
4145
+ readonly name: typeof defines.events.on_space_platform_mined_entity
4146
+ /**
4147
+ * Tick the event was generated.
4148
+ */
4149
+ readonly tick: uint
4150
+ }
4151
+ /**
4152
+ * Called when a platform mines an entity.
4153
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_space_platform_mined_item Online documentation}
4154
+ */
4155
+ interface OnSpacePlatformMinedItemEvent extends EventData {
4156
+ /**
4157
+ * The platform that did the mining.
4158
+ */
4159
+ readonly platform: LuaSpacePlatform
4160
+ /**
4161
+ * The entity the platform just picked up.
4162
+ */
4163
+ readonly item_stack: SimpleItemStack
4164
+ /**
4165
+ * Identifier of the event
4166
+ */
4167
+ readonly name: typeof defines.events.on_space_platform_mined_item
4168
+ /**
4169
+ * Tick the event was generated.
4170
+ */
4171
+ readonly tick: uint
4172
+ }
4173
+ /**
4174
+ * Called after a platform mines tiles.
4175
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_space_platform_mined_tile Online documentation}
4176
+ */
4177
+ interface OnSpacePlatformMinedTileEvent extends EventData {
4178
+ /**
4179
+ * The platform.
4180
+ */
4181
+ readonly platform: LuaSpacePlatform
4182
+ /**
4183
+ * The position data.
4184
+ */
4185
+ readonly tiles: OldTileAndPosition[]
4186
+ /**
4187
+ * The surface the tile(s) were mined on.
4188
+ */
4189
+ readonly surface_index: SurfaceIndex
4190
+ /**
4191
+ * Identifier of the event
4192
+ */
4193
+ readonly name: typeof defines.events.on_space_platform_mined_tile
4194
+ /**
4195
+ * Tick the event was generated.
4196
+ */
4197
+ readonly tick: uint
4198
+ }
4199
+ /**
4200
+ * Called before a platform mines an entity.
4201
+ *
4202
+ * Event filter: [LuaPrePlatformMinedEntityEventFilter](LuaPrePlatformMinedEntityEventFilter]
4203
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_space_platform_pre_mined Online documentation}
4204
+ */
4205
+ interface OnSpacePlatformPreMinedEvent extends EventData {
4206
+ /**
4207
+ * The platform that's about to do the mining.
4208
+ */
4209
+ readonly platform: LuaSpacePlatform
4210
+ /**
4211
+ * The entity which is about to be mined.
4212
+ */
4213
+ readonly entity: LuaEntity
4214
+ /**
4215
+ * Identifier of the event
4216
+ */
4217
+ readonly name: typeof defines.events.on_space_platform_pre_mined
4218
+ /**
4219
+ * Tick the event was generated.
4220
+ */
4221
+ readonly tick: uint
4222
+ }
3820
4223
  /**
3821
4224
  * Called when a spider finishes moving to its autopilot position.
3822
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_spider_command_completed Online documentation}
4225
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_spider_command_completed Online documentation}
3823
4226
  */
3824
4227
  interface OnSpiderCommandCompletedEvent extends EventData {
3825
4228
  /**
@@ -3837,7 +4240,7 @@ declare module "factorio:runtime" {
3837
4240
  }
3838
4241
  /**
3839
4242
  * Called when a translation request generated through {@link LuaPlayer#request_translation LuaPlayer::request_translation} or {@link LuaPlayer#request_translations LuaPlayer::request_translations} has been completed.
3840
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_string_translated Online documentation}
4243
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_string_translated Online documentation}
3841
4244
  */
3842
4245
  interface OnStringTranslatedEvent extends EventData {
3843
4246
  /**
@@ -3871,7 +4274,7 @@ declare module "factorio:runtime" {
3871
4274
  }
3872
4275
  /**
3873
4276
  * Called just after a surface is cleared (all entities removed and all chunks deleted).
3874
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_surface_cleared Online documentation}
4277
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_surface_cleared Online documentation}
3875
4278
  */
3876
4279
  interface OnSurfaceClearedEvent extends EventData {
3877
4280
  readonly surface_index: SurfaceIndex
@@ -3888,7 +4291,7 @@ declare module "factorio:runtime" {
3888
4291
  * Called when a surface is created.
3889
4292
  *
3890
4293
  * This is not called when the default surface is created as it will always exist.
3891
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_surface_created Online documentation}
4294
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_surface_created Online documentation}
3892
4295
  */
3893
4296
  interface OnSurfaceCreatedEvent extends EventData {
3894
4297
  readonly surface_index: SurfaceIndex
@@ -3903,7 +4306,7 @@ declare module "factorio:runtime" {
3903
4306
  }
3904
4307
  /**
3905
4308
  * Called after a surface is deleted.
3906
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_surface_deleted Online documentation}
4309
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_surface_deleted Online documentation}
3907
4310
  */
3908
4311
  interface OnSurfaceDeletedEvent extends EventData {
3909
4312
  readonly surface_index: SurfaceIndex
@@ -3918,7 +4321,7 @@ declare module "factorio:runtime" {
3918
4321
  }
3919
4322
  /**
3920
4323
  * Called after a surface is imported via the map editor.
3921
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_surface_imported Online documentation}
4324
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_surface_imported Online documentation}
3922
4325
  */
3923
4326
  interface OnSurfaceImportedEvent extends EventData {
3924
4327
  readonly surface_index: SurfaceIndex
@@ -3937,7 +4340,7 @@ declare module "factorio:runtime" {
3937
4340
  }
3938
4341
  /**
3939
4342
  * Called when a surface is renamed.
3940
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_surface_renamed Online documentation}
4343
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_surface_renamed Online documentation}
3941
4344
  */
3942
4345
  interface OnSurfaceRenamedEvent extends EventData {
3943
4346
  readonly surface_index: SurfaceIndex
@@ -3954,7 +4357,7 @@ declare module "factorio:runtime" {
3954
4357
  }
3955
4358
  /**
3956
4359
  * Called when {@link LuaForce#reset_technology_effects LuaForce::reset_technology_effects} is finished.
3957
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_technology_effects_reset Online documentation}
4360
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_technology_effects_reset Online documentation}
3958
4361
  */
3959
4362
  interface OnTechnologyEffectsResetEvent extends EventData {
3960
4363
  readonly force: LuaForce
@@ -3969,7 +4372,7 @@ declare module "factorio:runtime" {
3969
4372
  }
3970
4373
  /**
3971
4374
  * It is fired once every tick. Since this event is fired every tick, its handler shouldn't include performance heavy code.
3972
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_tick Online documentation}
4375
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_tick Online documentation}
3973
4376
  */
3974
4377
  interface OnTickEvent extends EventData {
3975
4378
  /**
@@ -3983,7 +4386,7 @@ declare module "factorio:runtime" {
3983
4386
  }
3984
4387
  /**
3985
4388
  * Called when a train changes state (started to stopped and vice versa)
3986
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_train_changed_state Online documentation}
4389
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_train_changed_state Online documentation}
3987
4390
  */
3988
4391
  interface OnTrainChangedStateEvent extends EventData {
3989
4392
  readonly train: LuaTrain
@@ -3999,7 +4402,7 @@ declare module "factorio:runtime" {
3999
4402
  }
4000
4403
  /**
4001
4404
  * Called when a new train is created either through disconnecting/connecting an existing one or building a new one.
4002
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_train_created Online documentation}
4405
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_train_created Online documentation}
4003
4406
  */
4004
4407
  interface OnTrainCreatedEvent extends EventData {
4005
4408
  readonly train: LuaTrain
@@ -4022,7 +4425,7 @@ declare module "factorio:runtime" {
4022
4425
  }
4023
4426
  /**
4024
4427
  * Called when a trains schedule is changed either by the player or through script.
4025
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_train_schedule_changed Online documentation}
4428
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_train_schedule_changed Online documentation}
4026
4429
  */
4027
4430
  interface OnTrainScheduleChangedEvent extends EventData {
4028
4431
  readonly train: LuaTrain
@@ -4041,7 +4444,7 @@ declare module "factorio:runtime" {
4041
4444
  }
4042
4445
  /**
4043
4446
  * Called when an entity with a trigger prototype (such as capsules) create an entity AND that trigger prototype defined `trigger_created_entity=true`.
4044
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_trigger_created_entity Online documentation}
4447
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_trigger_created_entity Online documentation}
4045
4448
  */
4046
4449
  interface OnTriggerCreatedEntityEvent extends EventData {
4047
4450
  readonly entity: LuaEntity
@@ -4057,7 +4460,7 @@ declare module "factorio:runtime" {
4057
4460
  }
4058
4461
  /**
4059
4462
  * Called when an entity with a trigger prototype (such as capsules) fire an artillery projectile AND that trigger prototype defined `trigger_fired_artillery=true`.
4060
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_trigger_fired_artillery Online documentation}
4463
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_trigger_fired_artillery Online documentation}
4061
4464
  */
4062
4465
  interface OnTriggerFiredArtilleryEvent extends EventData {
4063
4466
  readonly entity: LuaEntity
@@ -4071,13 +4474,35 @@ declare module "factorio:runtime" {
4071
4474
  */
4072
4475
  readonly tick: uint
4073
4476
  }
4477
+ /**
4478
+ * Called when the player triggers "undo".
4479
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_undo_applied Online documentation}
4480
+ */
4481
+ interface OnUndoAppliedEvent extends EventData {
4482
+ /**
4483
+ * The player who triggered the undo action.
4484
+ */
4485
+ readonly player_index: PlayerIndex
4486
+ /**
4487
+ * The context of the undo action.
4488
+ */
4489
+ readonly actions: UndoRedoAction[]
4490
+ /**
4491
+ * Identifier of the event
4492
+ */
4493
+ readonly name: typeof defines.events.on_undo_applied
4494
+ /**
4495
+ * Tick the event was generated.
4496
+ */
4497
+ readonly tick: uint
4498
+ }
4074
4499
  /**
4075
4500
  * Called when a unit is added to a unit group.
4076
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_unit_added_to_group Online documentation}
4501
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_unit_added_to_group Online documentation}
4077
4502
  */
4078
4503
  interface OnUnitAddedToGroupEvent extends EventData {
4079
4504
  readonly unit: LuaEntity
4080
- readonly group: LuaUnitGroup
4505
+ readonly group: LuaCommandable
4081
4506
  /**
4082
4507
  * Identifier of the event
4083
4508
  */
@@ -4089,10 +4514,10 @@ declare module "factorio:runtime" {
4089
4514
  }
4090
4515
  /**
4091
4516
  * Called when a new unit group is created, before any members are added to it.
4092
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_unit_group_created Online documentation}
4517
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_unit_group_created Online documentation}
4093
4518
  */
4094
4519
  interface OnUnitGroupCreatedEvent extends EventData {
4095
- readonly group: LuaUnitGroup
4520
+ readonly group: LuaCommandable
4096
4521
  /**
4097
4522
  * Identifier of the event
4098
4523
  */
@@ -4104,10 +4529,10 @@ declare module "factorio:runtime" {
4104
4529
  }
4105
4530
  /**
4106
4531
  * Called when a unit group finishes gathering and starts executing its command.
4107
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_unit_group_finished_gathering Online documentation}
4532
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_unit_group_finished_gathering Online documentation}
4108
4533
  */
4109
4534
  interface OnUnitGroupFinishedGatheringEvent extends EventData {
4110
- readonly group: LuaUnitGroup
4535
+ readonly group: LuaCommandable
4111
4536
  /**
4112
4537
  * Identifier of the event
4113
4538
  */
@@ -4119,11 +4544,11 @@ declare module "factorio:runtime" {
4119
4544
  }
4120
4545
  /**
4121
4546
  * Called when a unit is removed from a unit group.
4122
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_unit_removed_from_group Online documentation}
4547
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_unit_removed_from_group Online documentation}
4123
4548
  */
4124
4549
  interface OnUnitRemovedFromGroupEvent extends EventData {
4125
4550
  readonly unit: LuaEntity
4126
- readonly group: LuaUnitGroup
4551
+ readonly group: LuaCommandable
4127
4552
  /**
4128
4553
  * Identifier of the event
4129
4554
  */
@@ -4135,7 +4560,7 @@ declare module "factorio:runtime" {
4135
4560
  }
4136
4561
  /**
4137
4562
  * Called when a worker (construction or logistic) robot expires through a lack of energy.
4138
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#on_worker_robot_expired Online documentation}
4563
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#on_worker_robot_expired Online documentation}
4139
4564
  */
4140
4565
  interface OnWorkerRobotExpiredEvent extends EventData {
4141
4566
  readonly robot: LuaEntity
@@ -4152,7 +4577,7 @@ declare module "factorio:runtime" {
4152
4577
  * A static event mods can use to tell other mods they built something by script. This event is only raised if a mod does so with {@link LuaBootstrap#raise_event LuaBootstrap::raise_event} or {@link LuaBootstrap#raise_script_built LuaBootstrap::raise_script_built}, or when `raise_built` is passed to {@link LuaSurface#create_entity LuaSurface::create_entity}.
4153
4578
  *
4154
4579
  * Event filter: [LuaScriptRaisedBuiltEventFilter](LuaScriptRaisedBuiltEventFilter]
4155
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#script_raised_built Online documentation}
4580
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#script_raised_built Online documentation}
4156
4581
  */
4157
4582
  interface ScriptRaisedBuiltEvent extends EventData {
4158
4583
  /**
@@ -4172,7 +4597,7 @@ declare module "factorio:runtime" {
4172
4597
  * A static event mods can use to tell other mods they destroyed something by script. This event is only raised if a mod does so with {@link LuaBootstrap#raise_event LuaBootstrap::raise_event} or {@link LuaBootstrap#raise_script_destroy LuaBootstrap::raise_script_destroy}, or when `raise_destroy` is passed to {@link LuaEntity#destroy LuaEntity::destroy}.
4173
4598
  *
4174
4599
  * Event filter: [LuaScriptRaisedDestroyEventFilter](LuaScriptRaisedDestroyEventFilter]
4175
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#script_raised_destroy Online documentation}
4600
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#script_raised_destroy Online documentation}
4176
4601
  */
4177
4602
  interface ScriptRaisedDestroyEvent extends EventData {
4178
4603
  /**
@@ -4192,7 +4617,7 @@ declare module "factorio:runtime" {
4192
4617
  * A static event mods can use to tell other mods they revived something by script. This event is only raised if a mod does so with {@link LuaBootstrap#raise_event LuaBootstrap::raise_event} or {@link LuaBootstrap#raise_script_revive LuaBootstrap::raise_script_revive}, or when `raise_revive` is passed to {@link LuaEntity#revive LuaEntity::revive}.
4193
4618
  *
4194
4619
  * Event filter: [LuaScriptRaisedReviveEventFilter](LuaScriptRaisedReviveEventFilter]
4195
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#script_raised_revive Online documentation}
4620
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#script_raised_revive Online documentation}
4196
4621
  */
4197
4622
  interface ScriptRaisedReviveEvent extends EventData {
4198
4623
  /**
@@ -4214,7 +4639,7 @@ declare module "factorio:runtime" {
4214
4639
  }
4215
4640
  /**
4216
4641
  * A static event mods can use to tell other mods they changed tiles on a surface by script. This event is only raised if a mod does so with {@link LuaBootstrap#raise_event LuaBootstrap::raise_event} or {@link LuaBootstrap#raise_script_set_tiles LuaBootstrap::raise_script_set_tiles}, or when `raise_event` is passed to {@link LuaSurface#set_tiles LuaSurface::set_tiles}.
4217
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#script_raised_set_tiles Online documentation}
4642
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#script_raised_set_tiles Online documentation}
4218
4643
  */
4219
4644
  interface ScriptRaisedSetTilesEvent extends EventData {
4220
4645
  /**
@@ -4238,7 +4663,7 @@ declare module "factorio:runtime" {
4238
4663
  * A static event mods can use to tell other mods they teleported something by script. This event is only raised if a mod does so with {@link LuaBootstrap#raise_event LuaBootstrap::raise_event} or {@link LuaBootstrap#raise_script_teleported LuaBootstrap::raise_script_teleported}, or when `raise_teleported` is passed to {@link LuaControl#teleport LuaControl::teleport}.
4239
4664
  *
4240
4665
  * Event filter: [LuaScriptRaisedTeleportedEventFilter](LuaScriptRaisedTeleportedEventFilter]
4241
- * @see {@link https://lua-api.factorio.com/1.1.110/events.html#script_raised_teleported Online documentation}
4666
+ * @see {@link https://lua-api.factorio.com/2.0.12/events.html#script_raised_teleported Online documentation}
4242
4667
  */
4243
4668
  interface ScriptRaisedTeleportedEvent extends EventData {
4244
4669
  /**