typed-factorio 1.5.1 → 1.7.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,16 @@
1
+ # v1.7.0
2
+
3
+ - Updated to factorio version 1.1.67
4
+
5
+ # v1.6.1
6
+
7
+ - Fixed write type for `BoundingBox`.
8
+ - Simplified types for BlueprintEntity.
9
+
10
+ # v1.6.0
11
+
12
+ - Updated to factorio version 1.1.64
13
+
1
14
  # v1.5.1
2
15
 
3
16
  - Added old `Read` types as deprecated type aliases of new types; to help with migration.
@@ -2941,6 +2941,13 @@ interface LuaEntity extends LuaControl {
2941
2941
  * @see {@link https://lua-api.factorio.com/latest/LuaEntity.html#LuaEntity.get_spider_legs Online documentation}
2942
2942
  */
2943
2943
  get_spider_legs(): LuaEntity[]
2944
+ /**
2945
+ * Stops the given SpiderVehicle.
2946
+ *
2947
+ * _Can only be used if this is SpiderVehicle_
2948
+ * @see {@link https://lua-api.factorio.com/latest/LuaEntity.html#LuaEntity.stop_spider Online documentation}
2949
+ */
2950
+ stop_spider(): void
2944
2951
  /**
2945
2952
  * Name of the entity prototype. E.g. "inserter" or "filter-inserter".
2946
2953
  * @see {@link https://lua-api.factorio.com/latest/LuaEntity.html#LuaEntity.name Online documentation}
@@ -3941,21 +3948,21 @@ interface LuaEntity extends LuaControl {
3941
3948
  */
3942
3949
  readonly autopilot_destinations: MapPosition[]
3943
3950
  /**
3944
- * Amount of trains related to this particular train stop. Includes train stopped at this train stop (until it finds a path to next target) and trains having this train stop as goal or waypoint. Writing nil will disable the limit (will set a maximum possible value).
3951
+ * Amount of trains related to this particular train stop. Includes train stopped at this train stop (until it finds a path to next target) and trains having this train stop as goal or waypoint.
3945
3952
  *
3946
3953
  * _Can only be used if this is TrainStop_
3947
3954
  * @remarks Train may be included multiple times when braking distance covers this train stop multiple times<br>Value may be read even when train stop has no control behavior
3948
3955
  * @see {@link https://lua-api.factorio.com/latest/LuaEntity.html#LuaEntity.trains_count Online documentation}
3949
3956
  */
3950
- readonly trains_count: uint | nil
3957
+ readonly trains_count: uint
3951
3958
  /**
3952
- * Amount of trains above which no new trains will be sent to this train stop.
3959
+ * Amount of trains above which no new trains will be sent to this train stop. Writing nil will disable the limit (will set a maximum possible value).
3953
3960
  *
3954
3961
  * _Can only be used if this is TrainStop_
3955
3962
  * @remarks When a train stop has a control behavior with wire connected and set_trains_limit enabled, this value will be overwritten by it
3956
3963
  * @see {@link https://lua-api.factorio.com/latest/LuaEntity.html#LuaEntity.trains_limit Online documentation}
3957
3964
  */
3958
- trains_limit: uint
3965
+ trains_limit: uint | nil
3959
3966
  /**
3960
3967
  * (deprecated by 1.1.51) If this entity is a MilitaryTarget. Returns same value as LuaEntity::is_military_target
3961
3968
  * @see {@link https://lua-api.factorio.com/latest/LuaEntity.html#LuaEntity.is_entity_with_force Online documentation}
@@ -4028,6 +4035,16 @@ interface LuaEntity extends LuaControl {
4028
4035
  * @see {@link https://lua-api.factorio.com/latest/LuaEntity.html#LuaEntity.rocket_silo_status Online documentation}
4029
4036
  */
4030
4037
  readonly rocket_silo_status: defines.rocket_silo_status
4038
+ /**
4039
+ * Specifies the tiling size of the entity, is used to decide, if the center should be in the center of the tile (odd tile size dimension) or on the tile border (even tile size dimension). Uses the current direction of the entity.
4040
+ * @see {@link https://lua-api.factorio.com/latest/LuaEntity.html#LuaEntity.tile_width Online documentation}
4041
+ */
4042
+ readonly tile_width: uint
4043
+ /**
4044
+ * Specifies the tiling size of the entity, is used to decide, if the center should be in the center of the tile (odd tile size dimension) or on the tile border (even tile size dimension). Uses the current direction of the entity.
4045
+ * @see {@link https://lua-api.factorio.com/latest/LuaEntity.html#LuaEntity.tile_height Online documentation}
4046
+ */
4047
+ readonly tile_height: uint
4031
4048
  /**
4032
4049
  * 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.
4033
4050
  */
@@ -5058,6 +5075,16 @@ interface BaseEntity extends LuaControl {
5058
5075
  * @see {@link https://lua-api.factorio.com/latest/LuaEntity.html#LuaEntity.rocket_silo_status Online documentation}
5059
5076
  */
5060
5077
  readonly rocket_silo_status: defines.rocket_silo_status
5078
+ /**
5079
+ * Specifies the tiling size of the entity, is used to decide, if the center should be in the center of the tile (odd tile size dimension) or on the tile border (even tile size dimension). Uses the current direction of the entity.
5080
+ * @see {@link https://lua-api.factorio.com/latest/LuaEntity.html#LuaEntity.tile_width Online documentation}
5081
+ */
5082
+ readonly tile_width: uint
5083
+ /**
5084
+ * Specifies the tiling size of the entity, is used to decide, if the center should be in the center of the tile (odd tile size dimension) or on the tile border (even tile size dimension). Uses the current direction of the entity.
5085
+ * @see {@link https://lua-api.factorio.com/latest/LuaEntity.html#LuaEntity.tile_height Online documentation}
5086
+ */
5087
+ readonly tile_height: uint
5061
5088
  /**
5062
5089
  * 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.
5063
5090
  */
@@ -5764,21 +5791,21 @@ interface TrainStopEntity extends BaseEntity {
5764
5791
  */
5765
5792
  readonly connected_rail_direction: defines.rail_direction
5766
5793
  /**
5767
- * Amount of trains related to this particular train stop. Includes train stopped at this train stop (until it finds a path to next target) and trains having this train stop as goal or waypoint. Writing nil will disable the limit (will set a maximum possible value).
5794
+ * Amount of trains related to this particular train stop. Includes train stopped at this train stop (until it finds a path to next target) and trains having this train stop as goal or waypoint.
5768
5795
  *
5769
5796
  * _Can only be used if this is TrainStop_
5770
5797
  * @remarks Train may be included multiple times when braking distance covers this train stop multiple times<br>Value may be read even when train stop has no control behavior
5771
5798
  * @see {@link https://lua-api.factorio.com/latest/LuaEntity.html#LuaEntity.trains_count Online documentation}
5772
5799
  */
5773
- readonly trains_count: uint | nil
5800
+ readonly trains_count: uint
5774
5801
  /**
5775
- * Amount of trains above which no new trains will be sent to this train stop.
5802
+ * Amount of trains above which no new trains will be sent to this train stop. Writing nil will disable the limit (will set a maximum possible value).
5776
5803
  *
5777
5804
  * _Can only be used if this is TrainStop_
5778
5805
  * @remarks When a train stop has a control behavior with wire connected and set_trains_limit enabled, this value will be overwritten by it
5779
5806
  * @see {@link https://lua-api.factorio.com/latest/LuaEntity.html#LuaEntity.trains_limit Online documentation}
5780
5807
  */
5781
- trains_limit: uint
5808
+ trains_limit: uint | nil
5782
5809
  }
5783
5810
 
5784
5811
  /**
@@ -5865,6 +5892,13 @@ interface SpiderVehicleEntity extends BaseEntity {
5865
5892
  * @see {@link https://lua-api.factorio.com/latest/LuaEntity.html#LuaEntity.get_spider_legs Online documentation}
5866
5893
  */
5867
5894
  get_spider_legs(): LuaEntity[]
5895
+ /**
5896
+ * Stops the given SpiderVehicle.
5897
+ *
5898
+ * _Can only be used if this is SpiderVehicle_
5899
+ * @see {@link https://lua-api.factorio.com/latest/LuaEntity.html#LuaEntity.stop_spider Online documentation}
5900
+ */
5901
+ stop_spider(): void
5868
5902
  /**
5869
5903
  * The torso orientation of this spider vehicle.
5870
5904
  *
@@ -7782,6 +7816,16 @@ interface LuaEntityPrototype {
7782
7816
  * @see {@link https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.use_exact_mode Online documentation}
7783
7817
  */
7784
7818
  readonly use_exact_mode?: boolean
7819
+ /**
7820
+ * Specifies the tiling size of the entity, is used to decide, if the center should be in the center of the tile (odd tile size dimension) or on the tile border (even tile size dimension)
7821
+ * @see {@link https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.tile_width Online documentation}
7822
+ */
7823
+ readonly tile_width: uint
7824
+ /**
7825
+ * Specifies the tiling size of the entity, is used to decide, if the center should be in the center of the tile (odd tile size dimension) or on the tile border (even tile size dimension)
7826
+ * @see {@link https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.tile_height Online documentation}
7827
+ */
7828
+ readonly tile_height: uint
7785
7829
  /**
7786
7830
  * The current movement speed of this character, including effects from exoskeletons, tiles, stickers and shooting.
7787
7831
  *
@@ -8272,6 +8316,16 @@ interface BaseEntityPrototype {
8272
8316
  * @see {@link https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.manual_range_modifier Online documentation}
8273
8317
  */
8274
8318
  readonly manual_range_modifier?: double
8319
+ /**
8320
+ * Specifies the tiling size of the entity, is used to decide, if the center should be in the center of the tile (odd tile size dimension) or on the tile border (even tile size dimension)
8321
+ * @see {@link https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.tile_width Online documentation}
8322
+ */
8323
+ readonly tile_width: uint
8324
+ /**
8325
+ * Specifies the tiling size of the entity, is used to decide, if the center should be in the center of the tile (odd tile size dimension) or on the tile border (even tile size dimension)
8326
+ * @see {@link https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.tile_height Online documentation}
8327
+ */
8328
+ readonly tile_height: uint
8275
8329
  /**
8276
8330
  * 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.
8277
8331
  */
@@ -9883,6 +9937,19 @@ interface LuaEquipmentGrid {
9883
9937
  * @see {@link https://lua-api.factorio.com/latest/LuaEquipmentGrid.html#LuaEquipmentGrid.get_contents Online documentation}
9884
9938
  */
9885
9939
  get_contents(): Record<string, uint>
9940
+ /**
9941
+ * Find equipment by name.
9942
+ * @param equipment Prototype name of the equipment to find.
9943
+ * @returns The first found equipment, or `nil` if equipment could not be found.
9944
+ * @see {@link https://lua-api.factorio.com/latest/LuaEquipmentGrid.html#LuaEquipmentGrid.find Online documentation}
9945
+ */
9946
+ find(equipment: string): LuaEquipment | nil
9947
+ /**
9948
+ * Get the number of all or some equipment in this grid.
9949
+ * @param equipment Prototype name of the equipment to count. If not specified, count all equipment.
9950
+ * @see {@link https://lua-api.factorio.com/latest/LuaEquipmentGrid.html#LuaEquipmentGrid.count Online documentation}
9951
+ */
9952
+ count(equipment?: string): uint
9886
9953
  readonly prototype: LuaEquipmentGridPrototype
9887
9954
  /**
9888
9955
  * Width of the equipment grid.
@@ -10789,7 +10856,7 @@ interface LuaForce {
10789
10856
  * ```
10790
10857
  * @see {@link https://lua-api.factorio.com/latest/LuaForce.html#LuaForce.chart Online documentation}
10791
10858
  */
10792
- chart(surface: SurfaceIdentification, area: BoundingBoxWrite): void
10859
+ chart(surface: SurfaceIdentification, area: BoundingBoxWrite | BoundingBoxArray): void
10793
10860
  /**
10794
10861
  * Erases chart data for this force.
10795
10862
  * @param surface Which surface to erase chart data for or if not provided all surfaces charts are erased.
@@ -10952,7 +11019,7 @@ interface LuaForce {
10952
11019
  * Finds all custom chart tags within the given bounding box on the given surface.
10953
11020
  * @see {@link https://lua-api.factorio.com/latest/LuaForce.html#LuaForce.find_chart_tags Online documentation}
10954
11021
  */
10955
- find_chart_tags(surface: SurfaceIdentification, area?: BoundingBoxWrite): LuaCustomChartTag[]
11022
+ find_chart_tags(surface: SurfaceIdentification, area?: BoundingBoxWrite | BoundingBoxArray): LuaCustomChartTag[]
10956
11023
  /**
10957
11024
  * Gets the saved progress for the given technology or `nil` if there is no saved progress.
10958
11025
  * @param technology The technology
@@ -11294,6 +11361,17 @@ interface LuaForce {
11294
11361
  * @see {@link https://lua-api.factorio.com/latest/LuaForce.html#LuaForce.research_enabled Online documentation}
11295
11362
  */
11296
11363
  readonly research_enabled: boolean
11364
+ /**
11365
+ * Custom color for this force. If specified, will take priority over other sources of the force color. Writing nil clears custom color. Will return nil if it was not specified or if was set to {0,0,0,0}
11366
+ * @see {@link https://lua-api.factorio.com/latest/LuaForce.html#LuaForce.custom_color Online documentation}
11367
+ */
11368
+ get custom_color(): Color
11369
+ set custom_color(value: Color | ColorArray)
11370
+ /**
11371
+ * Effective color of this force.
11372
+ * @see {@link https://lua-api.factorio.com/latest/LuaForce.html#LuaForce.color Online documentation}
11373
+ */
11374
+ readonly color: Color
11297
11375
  /**
11298
11376
  * 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.
11299
11377
  */
@@ -15975,7 +16053,7 @@ interface LuaItemStack {
15975
16053
  /**
15976
16054
  * The area to deconstruct
15977
16055
  */
15978
- readonly area: BoundingBoxWrite
16056
+ readonly area: BoundingBoxWrite | BoundingBoxArray
15979
16057
  /**
15980
16058
  * If chunks covered by fog-of-war are skipped.
15981
16059
  */
@@ -16001,7 +16079,7 @@ interface LuaItemStack {
16001
16079
  /**
16002
16080
  * The area to deconstruct
16003
16081
  */
16004
- readonly area: BoundingBoxWrite
16082
+ readonly area: BoundingBoxWrite | BoundingBoxArray
16005
16083
  /**
16006
16084
  * If chunks covered by fog-of-war are skipped.
16007
16085
  */
@@ -16028,7 +16106,7 @@ interface LuaItemStack {
16028
16106
  /**
16029
16107
  * The bounding box
16030
16108
  */
16031
- readonly area: BoundingBoxWrite
16109
+ readonly area: BoundingBoxWrite | BoundingBoxArray
16032
16110
  /**
16033
16111
  * When true, blueprintable tiles are always included in the blueprint. When false they're only included if no entities exist in the setup area.
16034
16112
  */
@@ -16617,7 +16695,7 @@ interface BaseItemStack {
16617
16695
  /**
16618
16696
  * The area to deconstruct
16619
16697
  */
16620
- readonly area: BoundingBoxWrite
16698
+ readonly area: BoundingBoxWrite | BoundingBoxArray
16621
16699
  /**
16622
16700
  * If chunks covered by fog-of-war are skipped.
16623
16701
  */
@@ -16643,7 +16721,7 @@ interface BaseItemStack {
16643
16721
  /**
16644
16722
  * The area to deconstruct
16645
16723
  */
16646
- readonly area: BoundingBoxWrite
16724
+ readonly area: BoundingBoxWrite | BoundingBoxArray
16647
16725
  /**
16648
16726
  * If chunks covered by fog-of-war are skipped.
16649
16727
  */
@@ -16670,7 +16748,7 @@ interface BaseItemStack {
16670
16748
  /**
16671
16749
  * The bounding box
16672
16750
  */
16673
- readonly area: BoundingBoxWrite
16751
+ readonly area: BoundingBoxWrite | BoundingBoxArray
16674
16752
  /**
16675
16753
  * When true, blueprintable tiles are always included in the blueprint. When false they're only included if no entities exist in the setup area.
16676
16754
  */
@@ -18276,7 +18354,7 @@ interface LuaPlayer extends LuaControl {
18276
18354
  */
18277
18355
  remove_alert(params: {
18278
18356
  readonly entity?: LuaEntity
18279
- readonly prototype?: LuaEntityPrototype
18357
+ readonly prototype?: LuaEntityPrototype | string
18280
18358
  readonly position?: MapPosition | MapPositionArray
18281
18359
  readonly type?: defines.alert_type
18282
18360
  readonly surface?: SurfaceIdentification
@@ -21913,7 +21991,7 @@ interface HighlightBoxSurfaceCreateEntity extends BaseSurfaceCreateEntity {
21913
21991
  /**
21914
21992
  * 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.
21915
21993
  */
21916
- readonly bounding_box?: BoundingBoxWrite
21994
+ readonly bounding_box?: BoundingBoxWrite | BoundingBoxArray
21917
21995
  /**
21918
21996
  * Specifies the graphical appearance (color) of the highlight box. Defaults to `"electricity"`.
21919
21997
  */
@@ -22077,7 +22155,7 @@ interface LuaSurface {
22077
22155
  * ```
22078
22156
  * @see {@link https://lua-api.factorio.com/latest/LuaSurface.html#LuaSurface.find_entities Online documentation}
22079
22157
  */
22080
- find_entities(area?: BoundingBoxWrite): LuaEntity[]
22158
+ find_entities(area?: BoundingBoxWrite | BoundingBoxArray): LuaEntity[]
22081
22159
  /**
22082
22160
  * Find all entities of the given type or name in the given area.
22083
22161
  *
@@ -22100,7 +22178,7 @@ interface LuaSurface {
22100
22178
  * @see {@link https://lua-api.factorio.com/latest/LuaSurface.html#LuaSurface.find_entities_filtered Online documentation}
22101
22179
  */
22102
22180
  find_entities_filtered(params: {
22103
- readonly area?: BoundingBoxWrite
22181
+ readonly area?: BoundingBoxWrite | BoundingBoxArray
22104
22182
  /**
22105
22183
  * Has precedence over area field.
22106
22184
  */
@@ -22131,7 +22209,7 @@ interface LuaSurface {
22131
22209
  * @see {@link https://lua-api.factorio.com/latest/LuaSurface.html#LuaSurface.find_tiles_filtered Online documentation}
22132
22210
  */
22133
22211
  find_tiles_filtered(params: {
22134
- readonly area?: BoundingBoxWrite
22212
+ readonly area?: BoundingBoxWrite | BoundingBoxArray
22135
22213
  /**
22136
22214
  * Ignored if not given with radius.
22137
22215
  */
@@ -22165,7 +22243,7 @@ interface LuaSurface {
22165
22243
  * @see {@link https://lua-api.factorio.com/latest/LuaSurface.html#LuaSurface.count_entities_filtered Online documentation}
22166
22244
  */
22167
22245
  count_entities_filtered(params: {
22168
- readonly area?: BoundingBoxWrite
22246
+ readonly area?: BoundingBoxWrite | BoundingBoxArray
22169
22247
  readonly position?: MapPosition | MapPositionArray
22170
22248
  /**
22171
22249
  * If given with position, will count all entities within the radius of the position.
@@ -22194,7 +22272,7 @@ interface LuaSurface {
22194
22272
  * @see {@link https://lua-api.factorio.com/latest/LuaSurface.html#LuaSurface.count_tiles_filtered Online documentation}
22195
22273
  */
22196
22274
  count_tiles_filtered(params: {
22197
- readonly area?: BoundingBoxWrite
22275
+ readonly area?: BoundingBoxWrite | BoundingBoxArray
22198
22276
  /**
22199
22277
  * Ignored if not given with radius.
22200
22278
  */
@@ -22250,7 +22328,7 @@ interface LuaSurface {
22250
22328
  */
22251
22329
  find_non_colliding_position_in_box(
22252
22330
  name: string,
22253
- search_space: BoundingBoxWrite,
22331
+ search_space: BoundingBoxWrite | BoundingBoxArray,
22254
22332
  precision: double,
22255
22333
  force_to_tile_center?: boolean
22256
22334
  ): MapPosition | nil
@@ -22304,7 +22382,7 @@ interface LuaSurface {
22304
22382
  /**
22305
22383
  * Box to find units within.
22306
22384
  */
22307
- readonly area: BoundingBoxWrite
22385
+ readonly area: BoundingBoxWrite | BoundingBoxArray
22308
22386
  /**
22309
22387
  * Force performing the search.
22310
22388
  */
@@ -22592,7 +22670,7 @@ interface LuaSurface {
22592
22670
  /**
22593
22671
  * The area to mark for deconstruction.
22594
22672
  */
22595
- readonly area: BoundingBoxWrite
22673
+ readonly area: BoundingBoxWrite | BoundingBoxArray
22596
22674
  /**
22597
22675
  * The force whose bots should perform the deconstruction.
22598
22676
  */
@@ -22621,7 +22699,7 @@ interface LuaSurface {
22621
22699
  /**
22622
22700
  * The area to cancel deconstruction orders in.
22623
22701
  */
22624
- readonly area: BoundingBoxWrite
22702
+ readonly area: BoundingBoxWrite | BoundingBoxArray
22625
22703
  /**
22626
22704
  * The force whose deconstruction orders to cancel.
22627
22705
  */
@@ -22650,7 +22728,7 @@ interface LuaSurface {
22650
22728
  /**
22651
22729
  * The area to mark for upgrade.
22652
22730
  */
22653
- readonly area: BoundingBoxWrite
22731
+ readonly area: BoundingBoxWrite | BoundingBoxArray
22654
22732
  /**
22655
22733
  * The force whose bots should perform the upgrade.
22656
22734
  */
@@ -22679,7 +22757,7 @@ interface LuaSurface {
22679
22757
  /**
22680
22758
  * The area to cancel upgrade orders in.
22681
22759
  */
22682
- readonly area: BoundingBoxWrite
22760
+ readonly area: BoundingBoxWrite | BoundingBoxArray
22683
22761
  /**
22684
22762
  * The force whose upgrade orders to cancel.
22685
22763
  */
@@ -22761,7 +22839,7 @@ interface LuaSurface {
22761
22839
  * @see {@link https://lua-api.factorio.com/latest/LuaSurface.html#LuaSurface.destroy_decoratives Online documentation}
22762
22840
  */
22763
22841
  destroy_decoratives(params: {
22764
- readonly area?: BoundingBoxWrite
22842
+ readonly area?: BoundingBoxWrite | BoundingBoxArray
22765
22843
  readonly position?: TilePosition | TilePositionArray
22766
22844
  readonly name?: string | readonly string[] | LuaDecorativePrototype | readonly LuaDecorativePrototype[]
22767
22845
  readonly collision_mask?: CollisionMaskLayer | readonly CollisionMaskLayer[]
@@ -22802,7 +22880,7 @@ interface LuaSurface {
22802
22880
  * @see {@link https://lua-api.factorio.com/latest/LuaSurface.html#LuaSurface.find_decoratives_filtered Online documentation}
22803
22881
  */
22804
22882
  find_decoratives_filtered(params: {
22805
- readonly area?: BoundingBoxWrite
22883
+ readonly area?: BoundingBoxWrite | BoundingBoxArray
22806
22884
  readonly position?: TilePosition | TilePositionArray
22807
22885
  readonly name?: string | readonly string[] | LuaDecorativePrototype | readonly LuaDecorativePrototype[]
22808
22886
  readonly collision_mask?: CollisionMaskLayer | readonly CollisionMaskLayer[]
@@ -22870,8 +22948,8 @@ interface LuaSurface {
22870
22948
  * @see {@link https://lua-api.factorio.com/latest/LuaSurface.html#LuaSurface.clone_area Online documentation}
22871
22949
  */
22872
22950
  clone_area(params: {
22873
- readonly source_area: BoundingBoxWrite
22874
- readonly destination_area: BoundingBoxWrite
22951
+ readonly source_area: BoundingBoxWrite | BoundingBoxArray
22952
+ readonly destination_area: BoundingBoxWrite | BoundingBoxArray
22875
22953
  readonly destination_surface?: SurfaceIdentification
22876
22954
  readonly destination_force?: LuaForce | string
22877
22955
  /**
@@ -22990,7 +23068,7 @@ interface LuaSurface {
22990
23068
  /**
22991
23069
  * The dimensions of the object that's supposed to travel the path.
22992
23070
  */
22993
- readonly bounding_box: BoundingBoxWrite
23071
+ readonly bounding_box: BoundingBoxWrite | BoundingBoxArray
22994
23072
  /**
22995
23073
  * The list of masks the `bounding_box` collides with.
22996
23074
  */
@@ -23020,7 +23098,7 @@ interface LuaSurface {
23020
23098
  */
23021
23099
  readonly can_open_gates?: boolean
23022
23100
  /**
23023
- * Defines how coarse the pathfinder's grid is. Smaller values mean a coarser grid (negative numbers allowed). Defaults to `0`.
23101
+ * Defines how coarse the pathfinder's grid is. Smaller values mean a coarser grid (negative numbers allowed). Allowed values are from -8 to 8. Defaults to `0`.
23024
23102
  */
23025
23103
  readonly path_resolution_modifier?: int
23026
23104
  /**
@@ -23155,7 +23233,7 @@ interface LuaSurface {
23155
23233
  * @param area The tile area.
23156
23234
  * @see {@link https://lua-api.factorio.com/latest/LuaSurface.html#LuaSurface.build_checkerboard Online documentation}
23157
23235
  */
23158
- build_checkerboard(area: BoundingBoxWrite): void
23236
+ build_checkerboard(area: BoundingBoxWrite | BoundingBoxArray): void
23159
23237
  /**
23160
23238
  * The name of this surface. Names are unique among surfaces.
23161
23239
  * @remarks the default surface can't be renamed.
@@ -351,7 +351,7 @@ interface ScriptArea {
351
351
  * @see {@link https://lua-api.factorio.com/latest/Concepts.html#ScriptArea Online documentation}
352
352
  */
353
353
  interface ScriptAreaWrite {
354
- readonly area: BoundingBoxWrite
354
+ readonly area: BoundingBoxWrite | BoundingBoxArray
355
355
  readonly name: string
356
356
  readonly color: Color | ColorArray
357
357
  readonly id: uint
@@ -1144,8 +1144,8 @@ interface BlueprintEntity {
1144
1144
  readonly output_priority?: "right" | "left"
1145
1145
  /** Filter of the splitter. Name of the item prototype the filter is set to. */
1146
1146
  readonly filter?: string
1147
- /** Filters of the filter inserter or loader. Array of {@link BlueprintItemFilter Item filter} objects. */
1148
- readonly filters?: BlueprintItemFilter[]
1147
+ /** Filters of the filter inserter or loader. Array of {@link InventoryFilter} objects. */
1148
+ readonly filters?: InventoryFilter[]
1149
1149
  /** Filter mode of the filter inserter. Either "whitelist" or "blacklist". */
1150
1150
  readonly filter_mode?: "whitelist" | "blacklist"
1151
1151
  /** The stack size the inserter is set to. */
@@ -1155,13 +1155,13 @@ interface BlueprintEntity {
1155
1155
  /** The pickup position the inserter is set to. */
1156
1156
  readonly pickup_position?: MapPosition
1157
1157
  /** Used by {@link https://wiki.factorio.com/Prototype/LogisticContainer Prototype/LogisticContainer}. */
1158
- readonly request_filters?: BlueprintLogisticFilter[]
1158
+ readonly request_filters?: LogisticFilter[]
1159
1159
  /** Whether this requester chest can request from buffer chests. */
1160
1160
  readonly request_from_buffers?: boolean
1161
1161
  /** Used by {@link https://wiki.factorio.com/Programmable_speaker Programmable speaker}. */
1162
- readonly parameters?: BlueprintSpeakerParameter
1162
+ readonly parameters?: ProgrammableSpeakerParameters
1163
1163
  /** Used by {@link https://wiki.factorio.com/Programmable_speaker Programmable speaker}. */
1164
- readonly alert_parameters?: BlueprintSpeakerAlertParameter
1164
+ readonly alert_parameters?: ProgrammableSpeakerAlertParameters
1165
1165
  /** Used by the rocket silo, whether auto launch is enabled. */
1166
1166
  readonly auto_launch?: boolean
1167
1167
  /** Used by {@link https://wiki.factorio.com/Prototype/SimpleEntityWithForce Prototype/SimpleEntityWithForce} or {@link https://wiki.factorio.com/Prototype/SimpleEntityWithOwner Prototype/SimpleEntityWithOwner}. */
@@ -1215,63 +1215,58 @@ interface BlueprintCircuitConnection {
1215
1215
  }
1216
1216
 
1217
1217
  interface BlueprintInventory {
1218
- readonly filters?: BlueprintItemFilter[]
1218
+ readonly filters?: InventoryFilter[]
1219
1219
  /** The index of the first inaccessible item slot due to limiting with the red "bar". 0-based. */
1220
1220
  readonly bar?: uint16
1221
1221
  }
1222
1222
 
1223
- interface BlueprintItemFilter {
1224
- /** Name of the item prototype this filter is set to. */
1225
- readonly name: string
1226
- /** Index of the filter, 1-based. */
1227
- readonly index: uint
1228
- }
1229
-
1230
1223
  interface BlueprintInfinitySettings {
1231
1224
  /** Whether the "remove unfiltered items" checkbox is checked. */
1232
1225
  readonly remove_unfiltered_items: boolean
1233
1226
  /** Filters of the infinity container. */
1234
- readonly filters?: BlueprintInfinityFilter[]
1235
- }
1236
-
1237
- interface BlueprintInfinityFilter {
1238
- /** Name of the item prototype this filter is set to. */
1239
- readonly name: string
1240
- /** Number the filter is set to. */
1241
- readonly count: uint
1242
- /** Mode of the filter. Either "at-least", "at-most", or "exactly". */
1243
- readonly mode: "at-least" | "at-most" | "exactly"
1244
- /** Index of the filter, 1-based. */
1245
- readonly index: uint
1246
- }
1247
-
1248
- interface BlueprintLogisticFilter {
1249
- /** Name of the item prototype this filter is set to. */
1250
- readonly name: string
1251
- /** Index of the filter, 1-based. */
1252
- readonly index: uint
1253
- /** Number the filter is set to. Is 0 for storage chests. */
1254
- readonly count: uint
1227
+ readonly filters?: InfinityInventoryFilter[]
1255
1228
  }
1256
1229
 
1257
- interface BlueprintSpeakerParameter {
1258
- /** Volume of the speaker. */
1259
- readonly playback_volume: double
1260
- /** Whether global playback is enabled. */
1261
- readonly playback_globally: boolean
1262
- /** Whether polyphony is allowed. */
1263
- readonly allow_polyphony: boolean
1264
- }
1265
-
1266
- interface BlueprintSpeakerAlertParameter {
1267
- /** Whether an alert is shown. */
1268
- readonly show_alert: boolean
1269
- /** Whether an alert icon is shown on the map. */
1270
- readonly show_on_map: boolean
1271
- /** The icon that is displayed with the alert. */
1272
- readonly icon_signal_id: SignalID
1273
- /** Message of the alert. */
1274
- readonly alert_message: string
1230
+ interface BlueprintControlBehavior {
1231
+ readonly condition?: CircuitCondition
1232
+ readonly circuit_condition?: CircuitCondition
1233
+ readonly filters?: Signal[]
1234
+ readonly is_on?: boolean
1235
+ readonly arithmetic_conditions?: ArithmeticCombinatorParameters
1236
+ readonly decider_conditions?: DeciderCombinatorParameters
1237
+ readonly circuit_enable_disable?: boolean
1238
+ readonly circuit_read_resources?: boolean
1239
+ readonly circuit_resource_read_mode?: defines.control_behavior.mining_drill.resource_read_mode
1240
+ readonly read_stopped_train?: boolean
1241
+ readonly train_stopped_signal?: SignalID
1242
+ readonly read_from_train?: boolean
1243
+ readonly send_to_train?: boolean
1244
+ readonly circuit_mode_of_operation?:
1245
+ | defines.control_behavior.inserter.circuit_mode_of_operation
1246
+ | defines.control_behavior.logistic_container.circuit_mode_of_operation
1247
+ | defines.control_behavior.lamp.circuit_mode_of_operation
1248
+ readonly circuit_read_hand_contents?: boolean
1249
+ readonly circuit_hand_read_mode?: defines.control_behavior.inserter.hand_read_mode
1250
+ readonly circuit_set_stack_size?: boolean
1251
+ readonly stack_control_input_signal?: SignalID
1252
+ readonly use_colors?: boolean
1253
+ readonly read_robot_stats?: boolean
1254
+ readonly read_logistics?: boolean
1255
+ readonly available_logistic_output_signal?: boolean
1256
+ readonly total_logistic_output_signal?: boolean
1257
+ readonly available_construction_output_signal?: boolean
1258
+ readonly total_construction_output_signal?: boolean
1259
+ readonly circuit_contents_read_mode?: defines.control_behavior.transport_belt.content_read_mode
1260
+ readonly output_signal?: SignalID
1261
+ readonly circuit_close_signal?: boolean
1262
+ readonly circuit_read_signal?: boolean
1263
+ readonly red_output_signal?: SignalID
1264
+ readonly orange_output_signal?: SignalID
1265
+ readonly green_output_signal?: SignalID
1266
+ readonly blue_output_signal?: SignalID
1267
+ readonly circuit_open_gate?: boolean
1268
+ readonly circuit_read_sensor?: boolean
1269
+ readonly circuit_parameters?: ProgrammableSpeakerCircuitParameters
1275
1270
  }
1276
1271
 
1277
1272
  /**
@@ -1335,8 +1330,8 @@ interface BlueprintEntityWrite {
1335
1330
  readonly output_priority?: "right" | "left"
1336
1331
  /** Filter of the splitter. Name of the item prototype the filter is set to. */
1337
1332
  readonly filter?: string
1338
- /** Filters of the filter inserter or loader. Array of {@link BlueprintItemFilter Item filter} objects. */
1339
- readonly filters?: BlueprintItemFilter[]
1333
+ /** Filters of the filter inserter or loader. Array of {@link InventoryFilter} objects. */
1334
+ readonly filters?: InventoryFilter[]
1340
1335
  /** Filter mode of the filter inserter. Either "whitelist" or "blacklist". */
1341
1336
  readonly filter_mode?: "whitelist" | "blacklist"
1342
1337
  /** The stack size the inserter is set to. */
@@ -1346,13 +1341,13 @@ interface BlueprintEntityWrite {
1346
1341
  /** The pickup position the inserter is set to. */
1347
1342
  readonly pickup_position?: MapPosition
1348
1343
  /** Used by {@link https://wiki.factorio.com/Prototype/LogisticContainer Prototype/LogisticContainer}. */
1349
- readonly request_filters?: BlueprintLogisticFilter[]
1344
+ readonly request_filters?: LogisticFilter[]
1350
1345
  /** Whether this requester chest can request from buffer chests. */
1351
1346
  readonly request_from_buffers?: boolean
1352
1347
  /** Used by {@link https://wiki.factorio.com/Programmable_speaker Programmable speaker}. */
1353
- readonly parameters?: BlueprintSpeakerParameter
1348
+ readonly parameters?: ProgrammableSpeakerParameters
1354
1349
  /** Used by {@link https://wiki.factorio.com/Programmable_speaker Programmable speaker}. */
1355
- readonly alert_parameters?: BlueprintSpeakerAlertParameter
1350
+ readonly alert_parameters?: ProgrammableSpeakerAlertParameters
1356
1351
  /** Used by the rocket silo, whether auto launch is enabled. */
1357
1352
  readonly auto_launch?: boolean
1358
1353
  /** Used by {@link https://wiki.factorio.com/Prototype/SimpleEntityWithForce Prototype/SimpleEntityWithForce} or {@link https://wiki.factorio.com/Prototype/SimpleEntityWithOwner Prototype/SimpleEntityWithOwner}. */
@@ -3403,6 +3398,9 @@ interface AmmoType {
3403
3398
  * Energy consumption of a single shot, if applicable. Defaults to `0`.
3404
3399
  */
3405
3400
  readonly energy_consumption?: double
3401
+ readonly range_modifier?: double
3402
+ readonly cooldown_modifier?: double
3403
+ readonly consumption_modifier?: double
3406
3404
  }
3407
3405
 
3408
3406
  interface BeamTarget {
@@ -3569,6 +3567,7 @@ interface ModuleEffects {
3569
3567
  * - `"not-selectable-in-game"`: Disallows selection of the entity even when a selection box is specified for other reasons. For example, selection boxes are used to determine the size of outlines to be shown when highlighting entities inside electric pole ranges.
3570
3568
  * - `"not-upgradable"`: Prevents the entity from being selected by the upgrade planner.
3571
3569
  * - `"not-in-kill-statistics"`: Prevents the entity from being shown in the kill statistics.
3570
+ * - `"not-in-made-in"`: Prevents the entity from being shown in the "made in" list in recipe tooltips.
3572
3571
  * @see {@link https://lua-api.factorio.com/latest/Concepts.html#EntityPrototypeFlags Online documentation}
3573
3572
  */
3574
3573
  interface EntityPrototypeFlags {
@@ -3669,6 +3668,10 @@ interface EntityPrototypeFlags {
3669
3668
  * Prevents the entity from being shown in the kill statistics.
3670
3669
  */
3671
3670
  readonly "not-in-kill-statistics"?: true
3671
+ /**
3672
+ * Prevents the entity from being shown in the "made in" list in recipe tooltips.
3673
+ */
3674
+ readonly "not-in-made-in"?: true
3672
3675
  }
3673
3676
 
3674
3677
  /**
@@ -4119,9 +4122,9 @@ interface LogisticFilter {
4119
4122
  */
4120
4123
  interface ModSetting {
4121
4124
  /**
4122
- * The value of the mod setting. The type depends on the setting.
4125
+ * The value of the mod setting. The type depends on the kind of setting.
4123
4126
  */
4124
- readonly value: uint | double | boolean | string
4127
+ readonly value: int | double | boolean | string
4125
4128
  }
4126
4129
 
4127
4130
  /**
@@ -8842,45 +8845,3 @@ type RaiseableEvents =
8842
8845
  | typeof defines.events.script_raised_destroy
8843
8846
  | typeof defines.events.script_raised_revive
8844
8847
  | typeof defines.events.script_raised_set_tiles
8845
-
8846
- interface BlueprintControlBehavior {
8847
- readonly condition?: CircuitCondition
8848
- readonly circuit_condition?: CircuitCondition
8849
- readonly filters?: Signal[]
8850
- readonly is_on?: boolean
8851
- readonly arithmetic_conditions?: ArithmeticCombinatorParameters
8852
- readonly decider_conditions?: DeciderCombinatorParameters
8853
- readonly circuit_enable_disable?: boolean
8854
- readonly circuit_read_resources?: boolean
8855
- readonly circuit_resource_read_mode?: defines.control_behavior.mining_drill.resource_read_mode
8856
- readonly read_stopped_train?: boolean
8857
- readonly train_stopped_signal?: SignalID
8858
- readonly read_from_train?: boolean
8859
- readonly send_to_train?: boolean
8860
- readonly circuit_mode_of_operation?:
8861
- | defines.control_behavior.inserter.circuit_mode_of_operation
8862
- | defines.control_behavior.logistic_container.circuit_mode_of_operation
8863
- | defines.control_behavior.lamp.circuit_mode_of_operation
8864
- readonly circuit_read_hand_contents?: boolean
8865
- readonly circuit_hand_read_mode?: defines.control_behavior.inserter.hand_read_mode
8866
- readonly circuit_set_stack_size?: boolean
8867
- readonly stack_control_input_signal?: SignalID
8868
- readonly use_colors?: boolean
8869
- readonly read_robot_stats?: boolean
8870
- readonly read_logistics?: boolean
8871
- readonly available_logistic_output_signal?: boolean
8872
- readonly total_logistic_output_signal?: boolean
8873
- readonly available_construction_output_signal?: boolean
8874
- readonly total_construction_output_signal?: boolean
8875
- readonly circuit_contents_read_mode?: defines.control_behavior.transport_belt.content_read_mode
8876
- readonly output_signal?: SignalID
8877
- readonly circuit_close_signal?: boolean
8878
- readonly circuit_read_signal?: boolean
8879
- readonly red_output_signal?: SignalID
8880
- readonly orange_output_signal?: SignalID
8881
- readonly green_output_signal?: SignalID
8882
- readonly blue_output_signal?: SignalID
8883
- readonly circuit_open_gate?: boolean
8884
- readonly circuit_read_sensor?: boolean
8885
- readonly circuit_parameters?: ProgrammableSpeakerCircuitParameters
8886
- }
@@ -1572,6 +1572,10 @@ declare namespace defines {
1572
1572
  wire_dragging,
1573
1573
  write_to_console,
1574
1574
  }
1575
+ enum input_method {
1576
+ keyboard_and_mouse,
1577
+ game_controller,
1578
+ }
1575
1579
  enum inventory {
1576
1580
  fuel,
1577
1581
  burnt_result,
@@ -201,6 +201,8 @@ interface OnCancelledDeconstructionEvent extends EventData {
201
201
  interface OnCancelledUpgradeEvent extends EventData {
202
202
  readonly entity: LuaEntity
203
203
  readonly player_index?: PlayerIndex
204
+ readonly target: LuaEntityPrototype
205
+ readonly direction?: defines.direction
204
206
  /**
205
207
  * Identifier of the event
206
208
  */
@@ -2973,6 +2975,7 @@ interface OnPreGhostUpgradedEvent extends EventData {
2973
2975
  */
2974
2976
  readonly player_index?: PlayerIndex
2975
2977
  readonly ghost: LuaEntity
2978
+ readonly target: LuaEntityPrototype
2976
2979
  /**
2977
2980
  * Identifier of the event
2978
2981
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "typed-factorio",
3
- "version": "1.5.1",
3
+ "version": "1.7.0",
4
4
  "description": "Featureful typescript definitions for the the Factorio modding lua api.",
5
5
  "keywords": [
6
6
  "factorio",
@@ -22,8 +22,9 @@
22
22
  "lint": "eslint .",
23
23
  "check": "yarn run lint && yarn run test",
24
24
  "prepublishOnly": "yarn run check",
25
- "download-latest-runtime-api": "ts-node ./scripts/downloadLatest.ts",
26
- "next-version": "yarn run download-latest-runtime-api && yarn run clean && yarn test && yarn version --minor"
25
+ "download-latest-runtime-api": "ts-node ./scripts/download-latest.ts",
26
+ "new-version-changelog": "ts-node ./scripts/new-version-changelog.ts",
27
+ "next-version": "yarn run download-latest-runtime-api && yarn run clean && yarn run check && yarn run new-version-changelog && git add . && yarn version --minor"
27
28
  },
28
29
  "peerDependencies": {
29
30
  "lua-types": "^2.11.0",