typed-factorio 1.1.0 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
package/Changelog.md CHANGED
@@ -1,3 +1,7 @@
1
+ # v1.2.0
2
+
3
+ - Updated to factorio version 1.1.60
4
+
1
5
  # v1.1.0
2
6
 
3
7
  - Updated to factorio version 1.1.59
@@ -1554,6 +1554,10 @@ interface LuaControl {
1554
1554
  /**
1555
1555
  * `true` if the player is in a vehicle. Writing to this attribute puts the player in or out of a vehicle.
1556
1556
  *
1557
+ * **Raised events:**
1558
+ * - {@link OnPlayerDrivingChangedStateEvent on_player_driving_changed_state}? _instantly_ Raised if the driving state successfully changed.
1559
+ *
1560
+ *
1557
1561
  * {@link https://lua-api.factorio.com/latest/LuaControl.html#LuaControl.driving View documentation}
1558
1562
  */
1559
1563
  driving: boolean
@@ -2885,6 +2889,9 @@ interface LuaEntity extends LuaControl {
2885
2889
  /**
2886
2890
  * Sets the driver of this vehicle.
2887
2891
  *
2892
+ * **Raised events:**
2893
+ * - {@link OnPlayerDrivingChangedStateEvent on_player_driving_changed_state}? _instantly_
2894
+ *
2888
2895
  * _Can only be used if this is Vehicle_
2889
2896
  *
2890
2897
  * {@link https://lua-api.factorio.com/latest/LuaEntity.html#LuaEntity.set_driver View documentation}
@@ -2905,6 +2912,9 @@ interface LuaEntity extends LuaControl {
2905
2912
  /**
2906
2913
  * Sets the passenger of this car or spidertron.
2907
2914
  *
2915
+ * **Raised events:**
2916
+ * - {@link OnPlayerDrivingChangedStateEvent on_player_driving_changed_state}? _instantly_
2917
+ *
2908
2918
  * _Can only be used if this is Vehicle_
2909
2919
  *
2910
2920
  * {@link https://lua-api.factorio.com/latest/LuaEntity.html#LuaEntity.set_passenger View documentation}
@@ -3848,7 +3858,7 @@ interface LuaEntity extends LuaControl {
3848
3858
  */
3849
3859
  readonly bounding_box: BoundingBoxRead
3850
3860
  /**
3851
- * The secondary bounding box of this entity or `nil` if it doesn't have one.
3861
+ * The secondary bounding box of this entity or `nil` if it doesn't have one. This only exists for curved rails, and is automatically determined by the game.
3852
3862
  *
3853
3863
  * {@link https://lua-api.factorio.com/latest/LuaEntity.html#LuaEntity.secondary_bounding_box View documentation}
3854
3864
  */
@@ -3860,7 +3870,7 @@ interface LuaEntity extends LuaControl {
3860
3870
  */
3861
3871
  readonly selection_box: BoundingBoxRead
3862
3872
  /**
3863
- * The secondary selection box of this entity or `nil` if it doesn't have one.
3873
+ * The secondary selection box of this entity or `nil` if it doesn't have one. This only exists for curved rails, and is automatically determined by the game.
3864
3874
  *
3865
3875
  * {@link https://lua-api.factorio.com/latest/LuaEntity.html#LuaEntity.secondary_selection_box View documentation}
3866
3876
  */
@@ -5402,7 +5412,7 @@ interface BaseEntity extends LuaControl {
5402
5412
  */
5403
5413
  readonly bounding_box: BoundingBoxRead
5404
5414
  /**
5405
- * The secondary bounding box of this entity or `nil` if it doesn't have one.
5415
+ * The secondary bounding box of this entity or `nil` if it doesn't have one. This only exists for curved rails, and is automatically determined by the game.
5406
5416
  *
5407
5417
  * {@link https://lua-api.factorio.com/latest/LuaEntity.html#LuaEntity.secondary_bounding_box View documentation}
5408
5418
  */
@@ -5414,7 +5424,7 @@ interface BaseEntity extends LuaControl {
5414
5424
  */
5415
5425
  readonly selection_box: BoundingBoxRead
5416
5426
  /**
5417
- * The secondary selection box of this entity or `nil` if it doesn't have one.
5427
+ * The secondary selection box of this entity or `nil` if it doesn't have one. This only exists for curved rails, and is automatically determined by the game.
5418
5428
  *
5419
5429
  * {@link https://lua-api.factorio.com/latest/LuaEntity.html#LuaEntity.secondary_selection_box View documentation}
5420
5430
  */
@@ -6293,6 +6303,9 @@ interface VehicleEntity extends BaseEntity {
6293
6303
  /**
6294
6304
  * Sets the driver of this vehicle.
6295
6305
  *
6306
+ * **Raised events:**
6307
+ * - {@link OnPlayerDrivingChangedStateEvent on_player_driving_changed_state}? _instantly_
6308
+ *
6296
6309
  * _Can only be used if this is Vehicle_
6297
6310
  *
6298
6311
  * {@link https://lua-api.factorio.com/latest/LuaEntity.html#LuaEntity.set_driver View documentation}
@@ -6313,6 +6326,9 @@ interface VehicleEntity extends BaseEntity {
6313
6326
  /**
6314
6327
  * Sets the passenger of this car or spidertron.
6315
6328
  *
6329
+ * **Raised events:**
6330
+ * - {@link OnPlayerDrivingChangedStateEvent on_player_driving_changed_state}? _instantly_
6331
+ *
6316
6332
  * _Can only be used if this is Vehicle_
6317
6333
  *
6318
6334
  * {@link https://lua-api.factorio.com/latest/LuaEntity.html#LuaEntity.set_passenger View documentation}
@@ -8334,6 +8350,58 @@ interface LuaEntityPrototype {
8334
8350
  readonly robots_shrink_when_entering_and_exiting: boolean
8335
8351
  }
8336
8352
  | undefined
8353
+ /**
8354
+ * Gets the height of this prototype. `nil` if this is not a spider vechicle.
8355
+ *
8356
+ * {@link https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.height View documentation}
8357
+ */
8358
+ readonly height: double | undefined
8359
+ /**
8360
+ * Gets the torso rotation speed of this prototype. `nil` if this is not a spider vechicle.
8361
+ *
8362
+ * {@link https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.torso_rotation_speed View documentation}
8363
+ */
8364
+ readonly torso_rotation_speed: double | undefined
8365
+ /**
8366
+ * Does this prototoype automaticly cycle weapons. `nil` if this is not a spider vechicle.
8367
+ *
8368
+ * {@link https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.automatic_weapon_cycling View documentation}
8369
+ */
8370
+ readonly automatic_weapon_cycling: boolean | undefined
8371
+ /**
8372
+ * Gets the chain shooting cooldown modifier of this prototype. `nil` if this is not a spider vechicle.
8373
+ *
8374
+ * {@link https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.chain_shooting_cooldown_modifier View documentation}
8375
+ */
8376
+ readonly chain_shooting_cooldown_modifier: double | undefined
8377
+ /**
8378
+ * Gets the chunk exploration radius of this prototype. `nil` if this is not a spider vechicle.
8379
+ *
8380
+ * {@link https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.chunk_exploration_radius View documentation}
8381
+ */
8382
+ readonly chunk_exploration_radius: double | undefined
8383
+ /**
8384
+ * Gets the animation speed coefficient of this belt . `nil` if this is not transport belt connectable.
8385
+ *
8386
+ * {@link https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.animation_speed_coefficient View documentation}
8387
+ */
8388
+ readonly animation_speed_coefficient: double | undefined
8389
+ /**
8390
+ * Get the manual range modifier for artillery turret and artillery wagon prototypes. `nil` if not artillery type prototype
8391
+ *
8392
+ * subclass(ArtilleryWagon, ArtilleryTurret)
8393
+ *
8394
+ * {@link https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.manual_range_modifier View documentation}
8395
+ */
8396
+ readonly manual_range_modifier: double | undefined
8397
+ /**
8398
+ * The dying time of this corpse prototype. `nil` if not a corpse prototype.
8399
+ *
8400
+ * _Can only be used if this is Corpse_
8401
+ *
8402
+ * {@link https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.dying_speed View documentation}
8403
+ */
8404
+ readonly dying_speed: float | undefined
8337
8405
  /**
8338
8406
  * Gets the current movement speed of this character, including effects from exoskeletons, tiles, stickers and shooting.
8339
8407
  *
@@ -9645,6 +9713,50 @@ interface BaseEntityPrototype {
9645
9713
  readonly robots_shrink_when_entering_and_exiting: boolean
9646
9714
  }
9647
9715
  | undefined
9716
+ /**
9717
+ * Gets the height of this prototype. `nil` if this is not a spider vechicle.
9718
+ *
9719
+ * {@link https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.height View documentation}
9720
+ */
9721
+ readonly height: double | undefined
9722
+ /**
9723
+ * Gets the torso rotation speed of this prototype. `nil` if this is not a spider vechicle.
9724
+ *
9725
+ * {@link https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.torso_rotation_speed View documentation}
9726
+ */
9727
+ readonly torso_rotation_speed: double | undefined
9728
+ /**
9729
+ * Does this prototoype automaticly cycle weapons. `nil` if this is not a spider vechicle.
9730
+ *
9731
+ * {@link https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.automatic_weapon_cycling View documentation}
9732
+ */
9733
+ readonly automatic_weapon_cycling: boolean | undefined
9734
+ /**
9735
+ * Gets the chain shooting cooldown modifier of this prototype. `nil` if this is not a spider vechicle.
9736
+ *
9737
+ * {@link https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.chain_shooting_cooldown_modifier View documentation}
9738
+ */
9739
+ readonly chain_shooting_cooldown_modifier: double | undefined
9740
+ /**
9741
+ * Gets the chunk exploration radius of this prototype. `nil` if this is not a spider vechicle.
9742
+ *
9743
+ * {@link https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.chunk_exploration_radius View documentation}
9744
+ */
9745
+ readonly chunk_exploration_radius: double | undefined
9746
+ /**
9747
+ * Gets the animation speed coefficient of this belt . `nil` if this is not transport belt connectable.
9748
+ *
9749
+ * {@link https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.animation_speed_coefficient View documentation}
9750
+ */
9751
+ readonly animation_speed_coefficient: double | undefined
9752
+ /**
9753
+ * Get the manual range modifier for artillery turret and artillery wagon prototypes. `nil` if not artillery type prototype
9754
+ *
9755
+ * subclass(ArtilleryWagon, ArtilleryTurret)
9756
+ *
9757
+ * {@link https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.manual_range_modifier View documentation}
9758
+ */
9759
+ readonly manual_range_modifier: double | undefined
9648
9760
  /**
9649
9761
  * Is this object valid? This Lua object holds a reference to an object within the game engine. It is possible that the game-engine object is removed whilst a mod still holds the corresponding Lua object. If that happens, the object becomes invalid, i.e. this attribute will be `false`. Mods are advised to check for object validity if any change to the game state might have occurred between the creation of the Lua object and its access.
9650
9762
  */
@@ -9752,6 +9864,17 @@ interface EntityWithOwnerEntityPrototype extends BaseEntityPrototype {
9752
9864
  readonly allow_run_time_change_of_is_military_target: boolean
9753
9865
  }
9754
9866
 
9867
+ interface CorpseEntityPrototype extends BaseEntityPrototype {
9868
+ /**
9869
+ * The dying time of this corpse prototype. `nil` if not a corpse prototype.
9870
+ *
9871
+ * _Can only be used if this is Corpse_
9872
+ *
9873
+ * {@link https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.dying_speed View documentation}
9874
+ */
9875
+ readonly dying_speed: float | undefined
9876
+ }
9877
+
9755
9878
  interface CharacterEntityPrototype extends BaseEntityPrototype {
9756
9879
  /**
9757
9880
  * Gets the current movement speed of this character, including effects from exoskeletons, tiles, stickers and shooting.
@@ -10369,7 +10492,7 @@ interface LuaEquipmentPrototype {
10369
10492
  *
10370
10493
  * Examples:
10371
10494
  * - The item production GUI shows "consumption" on the right, thus `output` describes the item consumption numbers. The same goes for fluid consumption.
10372
- * - The kills gui shows "losses" on the right, so `output` describes how many of the force's entities were killed by enemies.
10495
+ * - The kills GUI shows "losses" on the right, so `output` describes how many of the force's entities were killed by enemies.
10373
10496
  * - The electric network GUI shows "power consumption" on the left side, so in this case `input` describes the power consumption numbers.
10374
10497
  *
10375
10498
  * {@link https://lua-api.factorio.com/latest/LuaFlowStatistics.html View documentation}
@@ -10407,7 +10530,11 @@ interface LuaFlowStatistics {
10407
10530
  */
10408
10531
  set_output_count(name: string, count: uint64 | double): void
10409
10532
  /**
10410
- * Gets the flow count value for the given time frame.
10533
+ * Gets the flow count value for the given time frame. If `sample_index` is not provided, then the value returned is the average across the provided precision time period. These are the values shown in the bottom section of the statistics GUIs.
10534
+ *
10535
+ * Use `sample_index` to access the data used to generate the statistics graphs. Each precision level contains 300 samples of data so at a precision of 1 minute, each sample contains data averaged across 60s / 300 = 0.2s = 12 ticks.
10536
+ *
10537
+ * All return values are normalized to be per-tick for electric networks and per-minute for all other types.
10411
10538
  *
10412
10539
  * {@link https://lua-api.factorio.com/latest/LuaFlowStatistics.html#LuaFlowStatistics.get_flow_count View documentation}
10413
10540
  */
@@ -10421,11 +10548,15 @@ interface LuaFlowStatistics {
10421
10548
  */
10422
10549
  readonly input: boolean
10423
10550
  /**
10424
- * The precision to read.
10551
+ * The precision range to read.
10425
10552
  */
10426
10553
  readonly precision_index: defines.flow_precision_index
10427
10554
  /**
10428
- * If true, the count is returned instead of the per-time-frame value.
10555
+ * The sample index to read from within the precision range. If not provided, the entire precision range is read. Must be between 1 and 300 where 1 is the most recent sample and 300 is the oldest.
10556
+ */
10557
+ readonly sample_index?: uint16
10558
+ /**
10559
+ * If true, the count of items/fluids/entities is returned instead of the per-time-frame value.
10429
10560
  */
10430
10561
  readonly count?: boolean
10431
10562
  }): double
@@ -10506,7 +10637,7 @@ interface LuaFluidBox extends Array<Fluid | undefined> {
10506
10637
  */
10507
10638
  get_capacity(index: uint): double
10508
10639
  /**
10509
- * The fluidbox connections for the given fluidbox index.
10640
+ * The fluidboxes to which the fluidbox at the given index is connected.
10510
10641
  *
10511
10642
  * {@link https://lua-api.factorio.com/latest/LuaFluidBox.html#LuaFluidBox.get_connections View documentation}
10512
10643
  */
@@ -11984,11 +12115,10 @@ interface LuaGameScript {
11984
12115
  */
11985
12116
  is_valid_sound_path(sound_path: SoundPath): boolean
11986
12117
  /**
11987
- * Checks if the given SpritePath is valid and contains a loaded sprite.
12118
+ * Checks if the given SpritePath is valid and contains a loaded sprite. The existence of the image is not checked for paths of type `file`.
11988
12119
  *
11989
12120
  * {@link https://lua-api.factorio.com/latest/LuaGameScript.html#LuaGameScript.is_valid_sprite_path View documentation}
11990
12121
  * @param sprite_path Path to the image.
11991
- * @remarks The existence of the image is not checked for paths of type `file`.
11992
12122
  */
11993
12123
  is_valid_sprite_path(sprite_path: SpritePath): boolean
11994
12124
  /**
@@ -12785,6 +12915,8 @@ interface LuaGui {
12785
12915
  /**
12786
12916
  * Returns `true` if sprite_path is valid and contains loaded sprite, otherwise `false`. Sprite path of type `file` doesn't validate if file exists.
12787
12917
  *
12918
+ * If you want to avoid needing a LuaGui object, {@link LuaGameScript#is_valid_sprite_path LuaGameScript::is_valid_sprite_path} can be used instead.
12919
+ *
12788
12920
  * {@link https://lua-api.factorio.com/latest/LuaGui.html#LuaGui.is_valid_sprite_path View documentation}
12789
12921
  * @param sprite_path Path to a image.
12790
12922
  */
@@ -12884,7 +13016,7 @@ interface BaseGuiSpec {
12884
13016
  */
12885
13017
  readonly type: GuiElementType
12886
13018
  /**
12887
- * Name of the child element.
13019
+ * Name of the child element. It must be unique within the parent element.
12888
13020
  */
12889
13021
  readonly name?: string
12890
13022
  /**
@@ -13403,7 +13535,7 @@ interface BaseGuiElement {
13403
13535
  * Other attributes may be specified depending on `type`:
13404
13536
  *
13405
13537
  * {@link https://lua-api.factorio.com/latest/LuaGuiElement.html#LuaGuiElement.add View documentation}
13406
- * @returns The added GUI element.
13538
+ * @returns The GUI element that was added.
13407
13539
  */
13408
13540
  add<Type extends GuiElementType>(
13409
13541
  element: GuiSpec & {
@@ -13492,7 +13624,7 @@ interface BaseGuiElement {
13492
13624
  */
13493
13625
  readonly parent: LuaGuiElement | undefined
13494
13626
  /**
13495
- * The name of this element.
13627
+ * The name of this element. `""` if no name was set.
13496
13628
  *
13497
13629
  * {@link https://lua-api.factorio.com/latest/LuaGuiElement.html#LuaGuiElement.name View documentation}
13498
13630
  * @example
@@ -19142,6 +19274,10 @@ interface LuaPlayer extends LuaControl {
19142
19274
  /**
19143
19275
  * Invokes the "clear cursor" action on the player as if the user pressed it.
19144
19276
  *
19277
+ * **Raised events:**
19278
+ * - {@link OnPlayerCursorStackChangedEvent on_player_cursor_stack_changed}? _current_tick_ Raised when the cursor was successfully cleared.
19279
+ *
19280
+ *
19145
19281
  * {@link https://lua-api.factorio.com/latest/LuaPlayer.html#LuaPlayer.clear_cursor View documentation}
19146
19282
  * @returns Whether the cursor is now empty.
19147
19283
  */
@@ -20521,11 +20657,11 @@ interface LuaRendering {
20521
20657
  */
20522
20658
  readonly time_to_live?: uint
20523
20659
  /**
20524
- * The forces that this object is rendered to.
20660
+ * The forces that this object is rendered to. Passing `nil` or an empty table will render it to all forces.
20525
20661
  */
20526
20662
  readonly forces?: readonly ForceIdentification[]
20527
20663
  /**
20528
- * The players that this object is rendered to.
20664
+ * The players that this object is rendered to. Passing `nil` or an empty table will render it to all players.
20529
20665
  */
20530
20666
  readonly players?: readonly PlayerIdentification[]
20531
20667
  /**
@@ -20570,11 +20706,11 @@ interface LuaRendering {
20570
20706
  */
20571
20707
  readonly time_to_live?: uint
20572
20708
  /**
20573
- * The forces that this object is rendered to.
20709
+ * The forces that this object is rendered to. Passing `nil` or an empty table will render it to all forces.
20574
20710
  */
20575
20711
  readonly forces?: readonly ForceIdentification[]
20576
20712
  /**
20577
- * The players that this object is rendered to.
20713
+ * The players that this object is rendered to. Passing `nil` or an empty table will render it to all players.
20578
20714
  */
20579
20715
  readonly players?: readonly PlayerIdentification[]
20580
20716
  /**
@@ -20637,11 +20773,11 @@ interface LuaRendering {
20637
20773
  */
20638
20774
  readonly time_to_live?: uint
20639
20775
  /**
20640
- * The forces that this object is rendered to.
20776
+ * The forces that this object is rendered to. Passing `nil` or an empty table will render it to all forces.
20641
20777
  */
20642
20778
  readonly forces?: readonly ForceIdentification[]
20643
20779
  /**
20644
- * The players that this object is rendered to.
20780
+ * The players that this object is rendered to. Passing `nil` or an empty table will render it to all players.
20645
20781
  */
20646
20782
  readonly players?: readonly PlayerIdentification[]
20647
20783
  /**
@@ -20689,11 +20825,11 @@ interface LuaRendering {
20689
20825
  */
20690
20826
  readonly time_to_live?: uint
20691
20827
  /**
20692
- * The forces that this object is rendered to.
20828
+ * The forces that this object is rendered to. Passing `nil` or an empty table will render it to all forces.
20693
20829
  */
20694
20830
  readonly forces?: readonly ForceIdentification[]
20695
20831
  /**
20696
- * The players that this object is rendered to.
20832
+ * The players that this object is rendered to. Passing `nil` or an empty table will render it to all players.
20697
20833
  */
20698
20834
  readonly players?: readonly PlayerIdentification[]
20699
20835
  /**
@@ -20744,11 +20880,11 @@ interface LuaRendering {
20744
20880
  */
20745
20881
  readonly time_to_live?: uint
20746
20882
  /**
20747
- * The forces that this object is rendered to.
20883
+ * The forces that this object is rendered to. Passing `nil` or an empty table will render it to all forces.
20748
20884
  */
20749
20885
  readonly forces?: readonly ForceIdentification[]
20750
20886
  /**
20751
- * The players that this object is rendered to.
20887
+ * The players that this object is rendered to. Passing `nil` or an empty table will render it to all players.
20752
20888
  */
20753
20889
  readonly players?: readonly PlayerIdentification[]
20754
20890
  /**
@@ -20799,11 +20935,11 @@ interface LuaRendering {
20799
20935
  */
20800
20936
  readonly time_to_live?: uint
20801
20937
  /**
20802
- * The forces that this object is rendered to.
20938
+ * The forces that this object is rendered to. Passing `nil` or an empty table will render it to all forces.
20803
20939
  */
20804
20940
  readonly forces?: readonly ForceIdentification[]
20805
20941
  /**
20806
- * The players that this object is rendered to.
20942
+ * The players that this object is rendered to. Passing `nil` or an empty table will render it to all players.
20807
20943
  */
20808
20944
  readonly players?: readonly PlayerIdentification[]
20809
20945
  /**
@@ -20877,11 +21013,11 @@ interface LuaRendering {
20877
21013
  */
20878
21014
  readonly time_to_live?: uint
20879
21015
  /**
20880
- * The forces that this object is rendered to.
21016
+ * The forces that this object is rendered to. Passing `nil` or an empty table will render it to all forces.
20881
21017
  */
20882
21018
  readonly forces?: readonly ForceIdentification[]
20883
21019
  /**
20884
- * The players that this object is rendered to.
21020
+ * The players that this object is rendered to. Passing `nil` or an empty table will render it to all players.
20885
21021
  */
20886
21022
  readonly players?: readonly PlayerIdentification[]
20887
21023
  /**
@@ -20940,11 +21076,11 @@ interface LuaRendering {
20940
21076
  */
20941
21077
  readonly time_to_live?: uint
20942
21078
  /**
20943
- * The forces that this object is rendered to.
21079
+ * The forces that this object is rendered to. Passing `nil` or an empty table will render it to all forces.
20944
21080
  */
20945
21081
  readonly forces?: readonly ForceIdentification[]
20946
21082
  /**
20947
- * The players that this object is rendered to.
21083
+ * The players that this object is rendered to. Passing `nil` or an empty table will render it to all players.
20948
21084
  */
20949
21085
  readonly players?: readonly PlayerIdentification[]
20950
21086
  /**
@@ -21015,11 +21151,11 @@ interface LuaRendering {
21015
21151
  */
21016
21152
  readonly time_to_live?: uint
21017
21153
  /**
21018
- * The forces that this object is rendered to.
21154
+ * The forces that this object is rendered to. Passing `nil` or an empty table will render it to all forces.
21019
21155
  */
21020
21156
  readonly forces?: readonly ForceIdentification[]
21021
21157
  /**
21022
- * The players that this object is rendered to.
21158
+ * The players that this object is rendered to. Passing `nil` or an empty table will render it to all players.
21023
21159
  */
21024
21160
  readonly players?: readonly PlayerIdentification[]
21025
21161
  /**
@@ -23118,7 +23254,7 @@ interface CharacterCorpseSurfaceCreateEntity extends BaseSurfaceCreateEntity {
23118
23254
 
23119
23255
  interface HighlightBoxSurfaceCreateEntity extends BaseSurfaceCreateEntity {
23120
23256
  /**
23121
- * The bounding box defining the highlight box using absolute map coordinates. If specified, the `position` parameter is ignored, but needs to be present anyways. If not specified, the game falls back to the `source` parameter first, then the `target` parameter second. One of these three parameters need to be specified.
23257
+ * The bounding box defining the highlight box using absolute map coordinates. If specified, the general `position` parameter still needs to be present, but will be ignored. If not specified, the game falls back to the `source` parameter first, then the `target` parameter second. One of these three parameters need to be specified.
23122
23258
  */
23123
23259
  readonly bounding_box?: BoundingBox
23124
23260
  /**
@@ -24915,11 +25051,11 @@ interface LuaTilePrototype {
24915
25051
  /**
24916
25052
  * Energy required to mine a tile.
24917
25053
  */
24918
- readonly miningtime: double
25054
+ readonly mining_time: double
24919
25055
  /**
24920
25056
  * Prototype name of the particle produced when mining this tile. Will only be present if this tile produces any particle during mining.
24921
25057
  */
24922
- readonly miningparticle?: string
25058
+ readonly mining_particle?: string
24923
25059
  /**
24924
25060
  * Products obtained by mining this tile.
24925
25061
  */
@@ -24932,11 +25068,11 @@ interface LuaTilePrototype {
24932
25068
  */
24933
25069
  readonly next_direction: LuaTilePrototype | undefined
24934
25070
  /**
24935
- * Items that when placed will produce this tile. It is a dictionary indexed by the item prototype name.
25071
+ * Items that when placed will produce this tile. It is a dictionary indexed by the item prototype name. `nil` (instead of an empty table) if no items can place this tile.
24936
25072
  *
24937
25073
  * {@link https://lua-api.factorio.com/latest/LuaTilePrototype.html#LuaTilePrototype.items_to_place_this View documentation}
24938
25074
  */
24939
- readonly items_to_place_this: SimpleItemStack[]
25075
+ readonly items_to_place_this: SimpleItemStack[] | undefined
24940
25076
  /**
24941
25077
  * False if this tile is not allowed in blueprints regardless of the ability to build it.
24942
25078
  *
@@ -2721,6 +2721,8 @@ type SpriteType =
2721
2721
  /**
2722
2722
  * It is specified by {@link string}. It can be either the name of a {@link https://wiki.factorio.com/Prototype/Sprite sprite prototype} defined in the data stage or a path in form "type/name".
2723
2723
  *
2724
+ * The validity of a SpritePath can be verified at runtime using {@link LuaGameScript#is_valid_sprite_path LuaGameScript::is_valid_sprite_path}.
2725
+ *
2724
2726
  * The supported types are:
2725
2727
  * - `"item"` - for example "item/iron-plate" is the icon sprite of iron plate
2726
2728
  * - `"entity"` - for example "entity/small-biter" is the icon sprite of the small biter
@@ -2742,6 +2744,8 @@ type SpritePath = string | `${SpriteType}/${string}`
2742
2744
  /**
2743
2745
  * A sound defined by a {@link string}. It can be either the name of a {@link https://wiki.factorio.com/Prototype/Sound sound prototype} defined in the data stage or a path in the form `"type/name"`. The latter option can be sorted into three categories.
2744
2746
  *
2747
+ * The validity of a SoundPath can be verified at runtime using {@link LuaGameScript#is_valid_sound_path LuaGameScript::is_valid_sound_path}.
2748
+ *
2745
2749
  * The utility and ambient types each contain general use sound prototypes defined by the game itself.
2746
2750
  * - `"utility"` - Uses the {@link https://wiki.factorio.com/Prototype/UtilitySounds UtilitySounds} prototype. Example: `"utility/wire_connect_pole"`
2747
2751
  * - `"ambient"` - Uses {@link https://wiki.factorio.com/Prototype/AmbientSound AmbientSound} prototypes. Example: `"ambient/resource-deficiency"`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "typed-factorio",
3
- "version": "1.1.0",
3
+ "version": "1.2.0",
4
4
  "description": "Featureful typescript definitions for the the Factorio modding lua api.",
5
5
  "keywords": [
6
6
  "factorio",