typed-factorio 1.5.0 → 1.6.1

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.6.1
2
+
3
+ - Fixed write type for `BoundingBox`.
4
+ - Simplified types for BlueprintEntity.
5
+
6
+ # v1.6.0
7
+
8
+ - Updated to factorio version 1.1.64
9
+
10
+ # v1.5.1
11
+
12
+ - Added old `Read` types as deprecated type aliases of new types; to help with migration.
13
+
1
14
  # v1.5.0
2
15
 
3
16
  ### BREAKING
@@ -4028,6 +4028,16 @@ interface LuaEntity extends LuaControl {
4028
4028
  * @see {@link https://lua-api.factorio.com/latest/LuaEntity.html#LuaEntity.rocket_silo_status Online documentation}
4029
4029
  */
4030
4030
  readonly rocket_silo_status: defines.rocket_silo_status
4031
+ /**
4032
+ * 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.
4033
+ * @see {@link https://lua-api.factorio.com/latest/LuaEntity.html#LuaEntity.tile_width Online documentation}
4034
+ */
4035
+ readonly tile_width: uint
4036
+ /**
4037
+ * 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.
4038
+ * @see {@link https://lua-api.factorio.com/latest/LuaEntity.html#LuaEntity.tile_height Online documentation}
4039
+ */
4040
+ readonly tile_height: uint
4031
4041
  /**
4032
4042
  * 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
4043
  */
@@ -5058,6 +5068,16 @@ interface BaseEntity extends LuaControl {
5058
5068
  * @see {@link https://lua-api.factorio.com/latest/LuaEntity.html#LuaEntity.rocket_silo_status Online documentation}
5059
5069
  */
5060
5070
  readonly rocket_silo_status: defines.rocket_silo_status
5071
+ /**
5072
+ * 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.
5073
+ * @see {@link https://lua-api.factorio.com/latest/LuaEntity.html#LuaEntity.tile_width Online documentation}
5074
+ */
5075
+ readonly tile_width: uint
5076
+ /**
5077
+ * 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.
5078
+ * @see {@link https://lua-api.factorio.com/latest/LuaEntity.html#LuaEntity.tile_height Online documentation}
5079
+ */
5080
+ readonly tile_height: uint
5061
5081
  /**
5062
5082
  * 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
5083
  */
@@ -7782,6 +7802,16 @@ interface LuaEntityPrototype {
7782
7802
  * @see {@link https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.use_exact_mode Online documentation}
7783
7803
  */
7784
7804
  readonly use_exact_mode?: boolean
7805
+ /**
7806
+ * 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)
7807
+ * @see {@link https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.tile_width Online documentation}
7808
+ */
7809
+ readonly tile_width: uint
7810
+ /**
7811
+ * 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)
7812
+ * @see {@link https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.tile_height Online documentation}
7813
+ */
7814
+ readonly tile_height: uint
7785
7815
  /**
7786
7816
  * The current movement speed of this character, including effects from exoskeletons, tiles, stickers and shooting.
7787
7817
  *
@@ -8272,6 +8302,16 @@ interface BaseEntityPrototype {
8272
8302
  * @see {@link https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.manual_range_modifier Online documentation}
8273
8303
  */
8274
8304
  readonly manual_range_modifier?: double
8305
+ /**
8306
+ * 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)
8307
+ * @see {@link https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.tile_width Online documentation}
8308
+ */
8309
+ readonly tile_width: uint
8310
+ /**
8311
+ * 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)
8312
+ * @see {@link https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.tile_height Online documentation}
8313
+ */
8314
+ readonly tile_height: uint
8275
8315
  /**
8276
8316
  * 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
8317
  */
@@ -9883,6 +9923,19 @@ interface LuaEquipmentGrid {
9883
9923
  * @see {@link https://lua-api.factorio.com/latest/LuaEquipmentGrid.html#LuaEquipmentGrid.get_contents Online documentation}
9884
9924
  */
9885
9925
  get_contents(): Record<string, uint>
9926
+ /**
9927
+ * Find equipment by name.
9928
+ * @param equipment Prototype name of the equipment to find.
9929
+ * @returns The first found equipment, or `nil` if equipment could not be found.
9930
+ * @see {@link https://lua-api.factorio.com/latest/LuaEquipmentGrid.html#LuaEquipmentGrid.find Online documentation}
9931
+ */
9932
+ find(equipment: string): LuaEquipment | nil
9933
+ /**
9934
+ * Get the number of all or some equipment in this grid.
9935
+ * @param equipment Prototype name of the equipment to count. If not specified, count all equipment.
9936
+ * @see {@link https://lua-api.factorio.com/latest/LuaEquipmentGrid.html#LuaEquipmentGrid.count Online documentation}
9937
+ */
9938
+ count(equipment?: string): uint
9886
9939
  readonly prototype: LuaEquipmentGridPrototype
9887
9940
  /**
9888
9941
  * Width of the equipment grid.
@@ -10789,7 +10842,7 @@ interface LuaForce {
10789
10842
  * ```
10790
10843
  * @see {@link https://lua-api.factorio.com/latest/LuaForce.html#LuaForce.chart Online documentation}
10791
10844
  */
10792
- chart(surface: SurfaceIdentification, area: BoundingBoxWrite): void
10845
+ chart(surface: SurfaceIdentification, area: BoundingBoxWrite | BoundingBoxArray): void
10793
10846
  /**
10794
10847
  * Erases chart data for this force.
10795
10848
  * @param surface Which surface to erase chart data for or if not provided all surfaces charts are erased.
@@ -10952,7 +11005,7 @@ interface LuaForce {
10952
11005
  * Finds all custom chart tags within the given bounding box on the given surface.
10953
11006
  * @see {@link https://lua-api.factorio.com/latest/LuaForce.html#LuaForce.find_chart_tags Online documentation}
10954
11007
  */
10955
- find_chart_tags(surface: SurfaceIdentification, area?: BoundingBoxWrite): LuaCustomChartTag[]
11008
+ find_chart_tags(surface: SurfaceIdentification, area?: BoundingBoxWrite | BoundingBoxArray): LuaCustomChartTag[]
10956
11009
  /**
10957
11010
  * Gets the saved progress for the given technology or `nil` if there is no saved progress.
10958
11011
  * @param technology The technology
@@ -11294,6 +11347,17 @@ interface LuaForce {
11294
11347
  * @see {@link https://lua-api.factorio.com/latest/LuaForce.html#LuaForce.research_enabled Online documentation}
11295
11348
  */
11296
11349
  readonly research_enabled: boolean
11350
+ /**
11351
+ * 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}
11352
+ * @see {@link https://lua-api.factorio.com/latest/LuaForce.html#LuaForce.custom_color Online documentation}
11353
+ */
11354
+ get custom_color(): Color
11355
+ set custom_color(value: Color | ColorArray)
11356
+ /**
11357
+ * Effective color of this force.
11358
+ * @see {@link https://lua-api.factorio.com/latest/LuaForce.html#LuaForce.color Online documentation}
11359
+ */
11360
+ readonly color: Color
11297
11361
  /**
11298
11362
  * 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
11363
  */
@@ -15975,7 +16039,7 @@ interface LuaItemStack {
15975
16039
  /**
15976
16040
  * The area to deconstruct
15977
16041
  */
15978
- readonly area: BoundingBoxWrite
16042
+ readonly area: BoundingBoxWrite | BoundingBoxArray
15979
16043
  /**
15980
16044
  * If chunks covered by fog-of-war are skipped.
15981
16045
  */
@@ -16001,7 +16065,7 @@ interface LuaItemStack {
16001
16065
  /**
16002
16066
  * The area to deconstruct
16003
16067
  */
16004
- readonly area: BoundingBoxWrite
16068
+ readonly area: BoundingBoxWrite | BoundingBoxArray
16005
16069
  /**
16006
16070
  * If chunks covered by fog-of-war are skipped.
16007
16071
  */
@@ -16028,7 +16092,7 @@ interface LuaItemStack {
16028
16092
  /**
16029
16093
  * The bounding box
16030
16094
  */
16031
- readonly area: BoundingBoxWrite
16095
+ readonly area: BoundingBoxWrite | BoundingBoxArray
16032
16096
  /**
16033
16097
  * 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
16098
  */
@@ -16617,7 +16681,7 @@ interface BaseItemStack {
16617
16681
  /**
16618
16682
  * The area to deconstruct
16619
16683
  */
16620
- readonly area: BoundingBoxWrite
16684
+ readonly area: BoundingBoxWrite | BoundingBoxArray
16621
16685
  /**
16622
16686
  * If chunks covered by fog-of-war are skipped.
16623
16687
  */
@@ -16643,7 +16707,7 @@ interface BaseItemStack {
16643
16707
  /**
16644
16708
  * The area to deconstruct
16645
16709
  */
16646
- readonly area: BoundingBoxWrite
16710
+ readonly area: BoundingBoxWrite | BoundingBoxArray
16647
16711
  /**
16648
16712
  * If chunks covered by fog-of-war are skipped.
16649
16713
  */
@@ -16670,7 +16734,7 @@ interface BaseItemStack {
16670
16734
  /**
16671
16735
  * The bounding box
16672
16736
  */
16673
- readonly area: BoundingBoxWrite
16737
+ readonly area: BoundingBoxWrite | BoundingBoxArray
16674
16738
  /**
16675
16739
  * 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
16740
  */
@@ -21913,7 +21977,7 @@ interface HighlightBoxSurfaceCreateEntity extends BaseSurfaceCreateEntity {
21913
21977
  /**
21914
21978
  * 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
21979
  */
21916
- readonly bounding_box?: BoundingBoxWrite
21980
+ readonly bounding_box?: BoundingBoxWrite | BoundingBoxArray
21917
21981
  /**
21918
21982
  * Specifies the graphical appearance (color) of the highlight box. Defaults to `"electricity"`.
21919
21983
  */
@@ -22077,7 +22141,7 @@ interface LuaSurface {
22077
22141
  * ```
22078
22142
  * @see {@link https://lua-api.factorio.com/latest/LuaSurface.html#LuaSurface.find_entities Online documentation}
22079
22143
  */
22080
- find_entities(area?: BoundingBoxWrite): LuaEntity[]
22144
+ find_entities(area?: BoundingBoxWrite | BoundingBoxArray): LuaEntity[]
22081
22145
  /**
22082
22146
  * Find all entities of the given type or name in the given area.
22083
22147
  *
@@ -22100,7 +22164,7 @@ interface LuaSurface {
22100
22164
  * @see {@link https://lua-api.factorio.com/latest/LuaSurface.html#LuaSurface.find_entities_filtered Online documentation}
22101
22165
  */
22102
22166
  find_entities_filtered(params: {
22103
- readonly area?: BoundingBoxWrite
22167
+ readonly area?: BoundingBoxWrite | BoundingBoxArray
22104
22168
  /**
22105
22169
  * Has precedence over area field.
22106
22170
  */
@@ -22131,7 +22195,7 @@ interface LuaSurface {
22131
22195
  * @see {@link https://lua-api.factorio.com/latest/LuaSurface.html#LuaSurface.find_tiles_filtered Online documentation}
22132
22196
  */
22133
22197
  find_tiles_filtered(params: {
22134
- readonly area?: BoundingBoxWrite
22198
+ readonly area?: BoundingBoxWrite | BoundingBoxArray
22135
22199
  /**
22136
22200
  * Ignored if not given with radius.
22137
22201
  */
@@ -22165,7 +22229,7 @@ interface LuaSurface {
22165
22229
  * @see {@link https://lua-api.factorio.com/latest/LuaSurface.html#LuaSurface.count_entities_filtered Online documentation}
22166
22230
  */
22167
22231
  count_entities_filtered(params: {
22168
- readonly area?: BoundingBoxWrite
22232
+ readonly area?: BoundingBoxWrite | BoundingBoxArray
22169
22233
  readonly position?: MapPosition | MapPositionArray
22170
22234
  /**
22171
22235
  * If given with position, will count all entities within the radius of the position.
@@ -22194,7 +22258,7 @@ interface LuaSurface {
22194
22258
  * @see {@link https://lua-api.factorio.com/latest/LuaSurface.html#LuaSurface.count_tiles_filtered Online documentation}
22195
22259
  */
22196
22260
  count_tiles_filtered(params: {
22197
- readonly area?: BoundingBoxWrite
22261
+ readonly area?: BoundingBoxWrite | BoundingBoxArray
22198
22262
  /**
22199
22263
  * Ignored if not given with radius.
22200
22264
  */
@@ -22250,7 +22314,7 @@ interface LuaSurface {
22250
22314
  */
22251
22315
  find_non_colliding_position_in_box(
22252
22316
  name: string,
22253
- search_space: BoundingBoxWrite,
22317
+ search_space: BoundingBoxWrite | BoundingBoxArray,
22254
22318
  precision: double,
22255
22319
  force_to_tile_center?: boolean
22256
22320
  ): MapPosition | nil
@@ -22304,7 +22368,7 @@ interface LuaSurface {
22304
22368
  /**
22305
22369
  * Box to find units within.
22306
22370
  */
22307
- readonly area: BoundingBoxWrite
22371
+ readonly area: BoundingBoxWrite | BoundingBoxArray
22308
22372
  /**
22309
22373
  * Force performing the search.
22310
22374
  */
@@ -22592,7 +22656,7 @@ interface LuaSurface {
22592
22656
  /**
22593
22657
  * The area to mark for deconstruction.
22594
22658
  */
22595
- readonly area: BoundingBoxWrite
22659
+ readonly area: BoundingBoxWrite | BoundingBoxArray
22596
22660
  /**
22597
22661
  * The force whose bots should perform the deconstruction.
22598
22662
  */
@@ -22621,7 +22685,7 @@ interface LuaSurface {
22621
22685
  /**
22622
22686
  * The area to cancel deconstruction orders in.
22623
22687
  */
22624
- readonly area: BoundingBoxWrite
22688
+ readonly area: BoundingBoxWrite | BoundingBoxArray
22625
22689
  /**
22626
22690
  * The force whose deconstruction orders to cancel.
22627
22691
  */
@@ -22650,7 +22714,7 @@ interface LuaSurface {
22650
22714
  /**
22651
22715
  * The area to mark for upgrade.
22652
22716
  */
22653
- readonly area: BoundingBoxWrite
22717
+ readonly area: BoundingBoxWrite | BoundingBoxArray
22654
22718
  /**
22655
22719
  * The force whose bots should perform the upgrade.
22656
22720
  */
@@ -22679,7 +22743,7 @@ interface LuaSurface {
22679
22743
  /**
22680
22744
  * The area to cancel upgrade orders in.
22681
22745
  */
22682
- readonly area: BoundingBoxWrite
22746
+ readonly area: BoundingBoxWrite | BoundingBoxArray
22683
22747
  /**
22684
22748
  * The force whose upgrade orders to cancel.
22685
22749
  */
@@ -22761,7 +22825,7 @@ interface LuaSurface {
22761
22825
  * @see {@link https://lua-api.factorio.com/latest/LuaSurface.html#LuaSurface.destroy_decoratives Online documentation}
22762
22826
  */
22763
22827
  destroy_decoratives(params: {
22764
- readonly area?: BoundingBoxWrite
22828
+ readonly area?: BoundingBoxWrite | BoundingBoxArray
22765
22829
  readonly position?: TilePosition | TilePositionArray
22766
22830
  readonly name?: string | readonly string[] | LuaDecorativePrototype | readonly LuaDecorativePrototype[]
22767
22831
  readonly collision_mask?: CollisionMaskLayer | readonly CollisionMaskLayer[]
@@ -22802,7 +22866,7 @@ interface LuaSurface {
22802
22866
  * @see {@link https://lua-api.factorio.com/latest/LuaSurface.html#LuaSurface.find_decoratives_filtered Online documentation}
22803
22867
  */
22804
22868
  find_decoratives_filtered(params: {
22805
- readonly area?: BoundingBoxWrite
22869
+ readonly area?: BoundingBoxWrite | BoundingBoxArray
22806
22870
  readonly position?: TilePosition | TilePositionArray
22807
22871
  readonly name?: string | readonly string[] | LuaDecorativePrototype | readonly LuaDecorativePrototype[]
22808
22872
  readonly collision_mask?: CollisionMaskLayer | readonly CollisionMaskLayer[]
@@ -22870,8 +22934,8 @@ interface LuaSurface {
22870
22934
  * @see {@link https://lua-api.factorio.com/latest/LuaSurface.html#LuaSurface.clone_area Online documentation}
22871
22935
  */
22872
22936
  clone_area(params: {
22873
- readonly source_area: BoundingBoxWrite
22874
- readonly destination_area: BoundingBoxWrite
22937
+ readonly source_area: BoundingBoxWrite | BoundingBoxArray
22938
+ readonly destination_area: BoundingBoxWrite | BoundingBoxArray
22875
22939
  readonly destination_surface?: SurfaceIdentification
22876
22940
  readonly destination_force?: LuaForce | string
22877
22941
  /**
@@ -22990,7 +23054,7 @@ interface LuaSurface {
22990
23054
  /**
22991
23055
  * The dimensions of the object that's supposed to travel the path.
22992
23056
  */
22993
- readonly bounding_box: BoundingBoxWrite
23057
+ readonly bounding_box: BoundingBoxWrite | BoundingBoxArray
22994
23058
  /**
22995
23059
  * The list of masks the `bounding_box` collides with.
22996
23060
  */
@@ -23155,7 +23219,7 @@ interface LuaSurface {
23155
23219
  * @param area The tile area.
23156
23220
  * @see {@link https://lua-api.factorio.com/latest/LuaSurface.html#LuaSurface.build_checkerboard Online documentation}
23157
23221
  */
23158
- build_checkerboard(area: BoundingBoxWrite): void
23222
+ build_checkerboard(area: BoundingBoxWrite | BoundingBoxArray): void
23159
23223
  /**
23160
23224
  * The name of this surface. Names are unique among surfaces.
23161
23225
  * @remarks the default surface can't be renamed.
@@ -351,12 +351,17 @@ 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
358
358
  }
359
359
 
360
+ /**
361
+ * @deprecated Use {@link ScriptArea} instead
362
+ */
363
+ type ScriptAreaRead = ScriptArea
364
+
360
365
  /**
361
366
  * A position defined using the map editor.
362
367
  * @see ScriptPositionWrite
@@ -380,6 +385,11 @@ interface ScriptPositionWrite {
380
385
  readonly id: uint
381
386
  }
382
387
 
388
+ /**
389
+ * @deprecated Use {@link ScriptPosition} instead
390
+ */
391
+ type ScriptPositionRead = ScriptPosition
392
+
383
393
  /**
384
394
  * Red, green, blue and alpha values, all in range [0, 1] or all in range [0, 255] if any value is > 1. All values here are optional. Color channels default to `0`, the alpha channel defaults to `1`.
385
395
  *
@@ -1134,8 +1144,8 @@ interface BlueprintEntity {
1134
1144
  readonly output_priority?: "right" | "left"
1135
1145
  /** Filter of the splitter. Name of the item prototype the filter is set to. */
1136
1146
  readonly filter?: string
1137
- /** Filters of the filter inserter or loader. Array of {@link BlueprintItemFilter Item filter} objects. */
1138
- readonly filters?: BlueprintItemFilter[]
1147
+ /** Filters of the filter inserter or loader. Array of {@link InventoryFilter} objects. */
1148
+ readonly filters?: InventoryFilter[]
1139
1149
  /** Filter mode of the filter inserter. Either "whitelist" or "blacklist". */
1140
1150
  readonly filter_mode?: "whitelist" | "blacklist"
1141
1151
  /** The stack size the inserter is set to. */
@@ -1145,13 +1155,13 @@ interface BlueprintEntity {
1145
1155
  /** The pickup position the inserter is set to. */
1146
1156
  readonly pickup_position?: MapPosition
1147
1157
  /** Used by {@link https://wiki.factorio.com/Prototype/LogisticContainer Prototype/LogisticContainer}. */
1148
- readonly request_filters?: BlueprintLogisticFilter[]
1158
+ readonly request_filters?: LogisticFilter[]
1149
1159
  /** Whether this requester chest can request from buffer chests. */
1150
1160
  readonly request_from_buffers?: boolean
1151
1161
  /** Used by {@link https://wiki.factorio.com/Programmable_speaker Programmable speaker}. */
1152
- readonly parameters?: BlueprintSpeakerParameter
1162
+ readonly parameters?: ProgrammableSpeakerParameters
1153
1163
  /** Used by {@link https://wiki.factorio.com/Programmable_speaker Programmable speaker}. */
1154
- readonly alert_parameters?: BlueprintSpeakerAlertParameter
1164
+ readonly alert_parameters?: ProgrammableSpeakerAlertParameters
1155
1165
  /** Used by the rocket silo, whether auto launch is enabled. */
1156
1166
  readonly auto_launch?: boolean
1157
1167
  /** Used by {@link https://wiki.factorio.com/Prototype/SimpleEntityWithForce Prototype/SimpleEntityWithForce} or {@link https://wiki.factorio.com/Prototype/SimpleEntityWithOwner Prototype/SimpleEntityWithOwner}. */
@@ -1205,63 +1215,58 @@ interface BlueprintCircuitConnection {
1205
1215
  }
1206
1216
 
1207
1217
  interface BlueprintInventory {
1208
- readonly filters?: BlueprintItemFilter[]
1218
+ readonly filters?: InventoryFilter[]
1209
1219
  /** The index of the first inaccessible item slot due to limiting with the red "bar". 0-based. */
1210
1220
  readonly bar?: uint16
1211
1221
  }
1212
1222
 
1213
- interface BlueprintItemFilter {
1214
- /** Name of the item prototype this filter is set to. */
1215
- readonly name: string
1216
- /** Index of the filter, 1-based. */
1217
- readonly index: uint
1218
- }
1219
-
1220
1223
  interface BlueprintInfinitySettings {
1221
1224
  /** Whether the "remove unfiltered items" checkbox is checked. */
1222
1225
  readonly remove_unfiltered_items: boolean
1223
1226
  /** Filters of the infinity container. */
1224
- readonly filters?: BlueprintInfinityFilter[]
1225
- }
1226
-
1227
- interface BlueprintInfinityFilter {
1228
- /** Name of the item prototype this filter is set to. */
1229
- readonly name: string
1230
- /** Number the filter is set to. */
1231
- readonly count: uint
1232
- /** Mode of the filter. Either "at-least", "at-most", or "exactly". */
1233
- readonly mode: "at-least" | "at-most" | "exactly"
1234
- /** Index of the filter, 1-based. */
1235
- readonly index: uint
1236
- }
1237
-
1238
- interface BlueprintLogisticFilter {
1239
- /** Name of the item prototype this filter is set to. */
1240
- readonly name: string
1241
- /** Index of the filter, 1-based. */
1242
- readonly index: uint
1243
- /** Number the filter is set to. Is 0 for storage chests. */
1244
- readonly count: uint
1227
+ readonly filters?: InfinityInventoryFilter[]
1245
1228
  }
1246
1229
 
1247
- interface BlueprintSpeakerParameter {
1248
- /** Volume of the speaker. */
1249
- readonly playback_volume: double
1250
- /** Whether global playback is enabled. */
1251
- readonly playback_globally: boolean
1252
- /** Whether polyphony is allowed. */
1253
- readonly allow_polyphony: boolean
1254
- }
1255
-
1256
- interface BlueprintSpeakerAlertParameter {
1257
- /** Whether an alert is shown. */
1258
- readonly show_alert: boolean
1259
- /** Whether an alert icon is shown on the map. */
1260
- readonly show_on_map: boolean
1261
- /** The icon that is displayed with the alert. */
1262
- readonly icon_signal_id: SignalID
1263
- /** Message of the alert. */
1264
- 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
1265
1270
  }
1266
1271
 
1267
1272
  /**
@@ -1325,8 +1330,8 @@ interface BlueprintEntityWrite {
1325
1330
  readonly output_priority?: "right" | "left"
1326
1331
  /** Filter of the splitter. Name of the item prototype the filter is set to. */
1327
1332
  readonly filter?: string
1328
- /** Filters of the filter inserter or loader. Array of {@link BlueprintItemFilter Item filter} objects. */
1329
- readonly filters?: BlueprintItemFilter[]
1333
+ /** Filters of the filter inserter or loader. Array of {@link InventoryFilter} objects. */
1334
+ readonly filters?: InventoryFilter[]
1330
1335
  /** Filter mode of the filter inserter. Either "whitelist" or "blacklist". */
1331
1336
  readonly filter_mode?: "whitelist" | "blacklist"
1332
1337
  /** The stack size the inserter is set to. */
@@ -1336,13 +1341,13 @@ interface BlueprintEntityWrite {
1336
1341
  /** The pickup position the inserter is set to. */
1337
1342
  readonly pickup_position?: MapPosition
1338
1343
  /** Used by {@link https://wiki.factorio.com/Prototype/LogisticContainer Prototype/LogisticContainer}. */
1339
- readonly request_filters?: BlueprintLogisticFilter[]
1344
+ readonly request_filters?: LogisticFilter[]
1340
1345
  /** Whether this requester chest can request from buffer chests. */
1341
1346
  readonly request_from_buffers?: boolean
1342
1347
  /** Used by {@link https://wiki.factorio.com/Programmable_speaker Programmable speaker}. */
1343
- readonly parameters?: BlueprintSpeakerParameter
1348
+ readonly parameters?: ProgrammableSpeakerParameters
1344
1349
  /** Used by {@link https://wiki.factorio.com/Programmable_speaker Programmable speaker}. */
1345
- readonly alert_parameters?: BlueprintSpeakerAlertParameter
1350
+ readonly alert_parameters?: ProgrammableSpeakerAlertParameters
1346
1351
  /** Used by the rocket silo, whether auto launch is enabled. */
1347
1352
  readonly auto_launch?: boolean
1348
1353
  /** Used by {@link https://wiki.factorio.com/Prototype/SimpleEntityWithForce Prototype/SimpleEntityWithForce} or {@link https://wiki.factorio.com/Prototype/SimpleEntityWithOwner Prototype/SimpleEntityWithOwner}. */
@@ -1353,6 +1358,11 @@ interface BlueprintEntityWrite {
1353
1358
  readonly station?: string
1354
1359
  }
1355
1360
 
1361
+ /**
1362
+ * @deprecated Use {@link BlueprintEntity} instead
1363
+ */
1364
+ type BlueprintEntityRead = BlueprintEntity
1365
+
1356
1366
  /**
1357
1367
  * @see TileWrite
1358
1368
  * @see {@link https://lua-api.factorio.com/latest/Concepts.html#Tile Online documentation}
@@ -1383,6 +1393,11 @@ interface TileWrite {
1383
1393
  readonly name: string
1384
1394
  }
1385
1395
 
1396
+ /**
1397
+ * @deprecated Use {@link Tile} instead
1398
+ */
1399
+ type TileRead = Tile
1400
+
1386
1401
  interface Fluid {
1387
1402
  /**
1388
1403
  * Fluid prototype name of the fluid.
@@ -1947,6 +1962,11 @@ interface AutoplaceControlWrite {
1947
1962
  readonly richness: MapGenSize
1948
1963
  }
1949
1964
 
1965
+ /**
1966
+ * @deprecated Use {@link AutoplaceControl} instead
1967
+ */
1968
+ type AutoplaceControlRead = AutoplaceControl
1969
+
1950
1970
  /**
1951
1971
  * @see AutoplaceSettingsWrite
1952
1972
  * @see {@link https://lua-api.factorio.com/latest/Concepts.html#AutoplaceSettings Online documentation}
@@ -1971,6 +1991,11 @@ interface AutoplaceSettingsWrite {
1971
1991
  readonly settings: Record<string, AutoplaceControlWrite>
1972
1992
  }
1973
1993
 
1994
+ /**
1995
+ * @deprecated Use {@link AutoplaceSettings} instead
1996
+ */
1997
+ type AutoplaceSettingsRead = AutoplaceSettings
1998
+
1974
1999
  /**
1975
2000
  * @see CliffPlacementSettingsWrite
1976
2001
  * @see {@link https://lua-api.factorio.com/latest/Concepts.html#CliffPlacementSettings Online documentation}
@@ -2017,6 +2042,11 @@ interface CliffPlacementSettingsWrite {
2017
2042
  readonly richness: MapGenSize
2018
2043
  }
2019
2044
 
2045
+ /**
2046
+ * @deprecated Use {@link CliffPlacementSettings} instead
2047
+ */
2048
+ type CliffPlacementSettingsRead = CliffPlacementSettings
2049
+
2020
2050
  /**
2021
2051
  * The 'map type' dropdown in the map generation GUI is actually a selector for elevation generator. The base game sets `property_expression_names.elevation` to `"0_16-elevation"` to reproduce terrain from 0.16 or to `"0_17-island"` for the island preset. If generators are available for other properties, the 'map type' dropdown in the GUI will be renamed to 'elevation' and shown along with selectors for the other selectable properties.
2022
2052
  * @see MapGenSettingsWrite
@@ -2180,6 +2210,11 @@ interface MapGenSettingsWrite {
2180
2210
  readonly property_expression_names: Record<string, string>
2181
2211
  }
2182
2212
 
2213
+ /**
2214
+ * @deprecated Use {@link MapGenSettings} instead
2215
+ */
2216
+ type MapGenSettingsRead = MapGenSettings
2217
+
2183
2218
  interface AdvancedMapGenSettings {
2184
2219
  readonly pollution: PollutionMapSettings
2185
2220
  readonly enemy_evolution: EnemyEvolutionMapSettings
@@ -2481,6 +2516,11 @@ interface DeciderCombinatorParametersWrite {
2481
2516
  readonly copy_count_from_input?: boolean
2482
2517
  }
2483
2518
 
2519
+ /**
2520
+ * @deprecated Use {@link DeciderCombinatorParameters} instead
2521
+ */
2522
+ type DeciderCombinatorParametersRead = DeciderCombinatorParameters
2523
+
2484
2524
  interface InserterCircuitConditions {
2485
2525
  readonly circuit?: CircuitConditionWrite
2486
2526
  readonly logistics?: CircuitConditionWrite
@@ -2532,6 +2572,11 @@ interface CircuitConditionWrite {
2532
2572
  readonly constant?: int
2533
2573
  }
2534
2574
 
2575
+ /**
2576
+ * @deprecated Use {@link CircuitCondition} instead
2577
+ */
2578
+ type CircuitConditionRead = CircuitCondition
2579
+
2535
2580
  /**
2536
2581
  * @see CircuitConditionDefinitionWrite
2537
2582
  * @see {@link https://lua-api.factorio.com/latest/Concepts.html#CircuitConditionDefinition Online documentation}
@@ -2556,6 +2601,11 @@ interface CircuitConditionDefinitionWrite {
2556
2601
  readonly fulfilled?: boolean
2557
2602
  }
2558
2603
 
2604
+ /**
2605
+ * @deprecated Use {@link CircuitConditionDefinition} instead
2606
+ */
2607
+ type CircuitConditionDefinitionRead = CircuitConditionDefinition
2608
+
2559
2609
  interface CircuitConnectionDefinition {
2560
2610
  /**
2561
2611
  * Wire color, either {@link defines.wire_type.red} or {@link defines.wire_type.green}.
@@ -3158,6 +3208,11 @@ interface WaitConditionWrite {
3158
3208
  readonly condition?: CircuitConditionWrite
3159
3209
  }
3160
3210
 
3211
+ /**
3212
+ * @deprecated Use {@link WaitCondition} instead
3213
+ */
3214
+ type WaitConditionRead = WaitCondition
3215
+
3161
3216
  /**
3162
3217
  * @see TrainScheduleRecordWrite
3163
3218
  * @see {@link https://lua-api.factorio.com/latest/Concepts.html#TrainScheduleRecord Online documentation}
@@ -3206,6 +3261,11 @@ interface TrainScheduleRecordWrite {
3206
3261
  readonly temporary?: boolean
3207
3262
  }
3208
3263
 
3264
+ /**
3265
+ * @deprecated Use {@link TrainScheduleRecord} instead
3266
+ */
3267
+ type TrainScheduleRecordRead = TrainScheduleRecord
3268
+
3209
3269
  /**
3210
3270
  * @see TrainScheduleWrite
3211
3271
  * @see {@link https://lua-api.factorio.com/latest/Concepts.html#TrainSchedule Online documentation}
@@ -3230,6 +3290,11 @@ interface TrainScheduleWrite {
3230
3290
  readonly records: readonly TrainScheduleRecordWrite[]
3231
3291
  }
3232
3292
 
3293
+ /**
3294
+ * @deprecated Use {@link TrainSchedule} instead
3295
+ */
3296
+ type TrainScheduleRead = TrainSchedule
3297
+
3233
3298
  interface BaseGuiArrowSpecification {
3234
3299
  /**
3235
3300
  * This determines which of the following fields will be required. Must be one of `"nowhere"` (will remove the arrow entirely), `"goal"` (will point to the current goal), `"entity_info"`, `"active_window"`, `"entity"`, `"position"`, `"crafting_queue"` or `"item_stack"` (will point to a given item stack in an inventory). Depending on this value, other fields may have to be specified.
@@ -3499,6 +3564,7 @@ interface ModuleEffects {
3499
3564
  * - `"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.
3500
3565
  * - `"not-upgradable"`: Prevents the entity from being selected by the upgrade planner.
3501
3566
  * - `"not-in-kill-statistics"`: Prevents the entity from being shown in the kill statistics.
3567
+ * - `"not-in-made-in"`: Prevents the entity from being shown in the "made in" list in recipe tooltips.
3502
3568
  * @see {@link https://lua-api.factorio.com/latest/Concepts.html#EntityPrototypeFlags Online documentation}
3503
3569
  */
3504
3570
  interface EntityPrototypeFlags {
@@ -3599,6 +3665,10 @@ interface EntityPrototypeFlags {
3599
3665
  * Prevents the entity from being shown in the kill statistics.
3600
3666
  */
3601
3667
  readonly "not-in-kill-statistics"?: true
3668
+ /**
3669
+ * Prevents the entity from being shown in the "made in" list in recipe tooltips.
3670
+ */
3671
+ readonly "not-in-made-in"?: true
3602
3672
  }
3603
3673
 
3604
3674
  /**
@@ -4503,6 +4573,11 @@ type PrototypeFilterWrite = readonly (
4503
4573
  | TechnologyPrototypeFilterWrite
4504
4574
  )[]
4505
4575
 
4576
+ /**
4577
+ * @deprecated Use {@link PrototypeFilter} instead
4578
+ */
4579
+ type PrototypeFilterRead = PrototypeFilter
4580
+
4506
4581
  /**
4507
4582
  * Common attributes to all variants of {@link ItemPrototypeFilter}.
4508
4583
  */
@@ -6297,6 +6372,11 @@ type EventFilterWrite = readonly (
6297
6372
  | LuaPlayerRepairedEntityEventFilter
6298
6373
  )[]
6299
6374
 
6375
+ /**
6376
+ * @deprecated Use {@link EventFilter} instead
6377
+ */
6378
+ type EventFilterRead = EventFilter
6379
+
6300
6380
  /**
6301
6381
  * Common attributes to all variants of {@link LuaScriptRaisedReviveEventFilter}.
6302
6382
  */
@@ -8762,45 +8842,3 @@ type RaiseableEvents =
8762
8842
  | typeof defines.events.script_raised_destroy
8763
8843
  | typeof defines.events.script_raised_revive
8764
8844
  | typeof defines.events.script_raised_set_tiles
8765
-
8766
- interface BlueprintControlBehavior {
8767
- readonly condition?: CircuitCondition
8768
- readonly circuit_condition?: CircuitCondition
8769
- readonly filters?: Signal[]
8770
- readonly is_on?: boolean
8771
- readonly arithmetic_conditions?: ArithmeticCombinatorParameters
8772
- readonly decider_conditions?: DeciderCombinatorParameters
8773
- readonly circuit_enable_disable?: boolean
8774
- readonly circuit_read_resources?: boolean
8775
- readonly circuit_resource_read_mode?: defines.control_behavior.mining_drill.resource_read_mode
8776
- readonly read_stopped_train?: boolean
8777
- readonly train_stopped_signal?: SignalID
8778
- readonly read_from_train?: boolean
8779
- readonly send_to_train?: boolean
8780
- readonly circuit_mode_of_operation?:
8781
- | defines.control_behavior.inserter.circuit_mode_of_operation
8782
- | defines.control_behavior.logistic_container.circuit_mode_of_operation
8783
- | defines.control_behavior.lamp.circuit_mode_of_operation
8784
- readonly circuit_read_hand_contents?: boolean
8785
- readonly circuit_hand_read_mode?: defines.control_behavior.inserter.hand_read_mode
8786
- readonly circuit_set_stack_size?: boolean
8787
- readonly stack_control_input_signal?: SignalID
8788
- readonly use_colors?: boolean
8789
- readonly read_robot_stats?: boolean
8790
- readonly read_logistics?: boolean
8791
- readonly available_logistic_output_signal?: boolean
8792
- readonly total_logistic_output_signal?: boolean
8793
- readonly available_construction_output_signal?: boolean
8794
- readonly total_construction_output_signal?: boolean
8795
- readonly circuit_contents_read_mode?: defines.control_behavior.transport_belt.content_read_mode
8796
- readonly output_signal?: SignalID
8797
- readonly circuit_close_signal?: boolean
8798
- readonly circuit_read_signal?: boolean
8799
- readonly red_output_signal?: SignalID
8800
- readonly orange_output_signal?: SignalID
8801
- readonly green_output_signal?: SignalID
8802
- readonly blue_output_signal?: SignalID
8803
- readonly circuit_open_gate?: boolean
8804
- readonly circuit_read_sensor?: boolean
8805
- readonly circuit_parameters?: ProgrammableSpeakerCircuitParameters
8806
- }
@@ -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.0",
3
+ "version": "1.6.1",
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",