factorio-types 1.2.52 → 1.2.54

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/classes.d.ts CHANGED
@@ -2,7 +2,7 @@
2
2
  // Factorio API reference https://lua-api.factorio.com/latest/index.html
3
3
  // Generated from JSON source https://lua-api.factorio.com/latest/runtime-api.json
4
4
  // Definition source https://github.com/sguest/factorio-types
5
- // Factorio version 2.0.70
5
+ // Factorio version 2.0.73
6
6
  // API version 6
7
7
 
8
8
  declare namespace runtime {
@@ -5120,7 +5120,7 @@ interface LuaControl {
5120
5120
  */
5121
5121
  can_reach_entity(this: void, entity: LuaEntity): boolean;
5122
5122
  /**
5123
- * Cancels crafting the given count of the given crafting queue index.
5123
+ * Cancels the given amount of crafts at the given crafting queue position. If this causes any later crafts that depend on the cancelled one to have insufficient ingredients, those crafts will also be cancelled.
5124
5124
  * @param table.index The crafting queue index.
5125
5125
  * @param table.count The count to cancel crafting.
5126
5126
  */
@@ -6327,7 +6327,7 @@ interface LuaEntity extends LuaControl {
6327
6327
  * @param index Index of the transport line. Transport lines are 1-indexed.
6328
6328
  * @param position Linear position along the transport line. Clamped to the transport line range.
6329
6329
  */
6330
- get_line_item_position(this: void, index: uint32, position: float): MapPosition;
6330
+ get_line_item_position(this: void, index: defines.transport_line, position: float): MapPosition;
6331
6331
  /**
6332
6332
  * Gets all the `LuaLogisticPoint`s that this entity owns. Optionally returns only the point specified by the index parameter.
6333
6333
  * @param index If provided, this method only returns the `LuaLogisticPoint` specified by this index, or `nil` if it doesn't exist.
@@ -6344,7 +6344,7 @@ interface LuaEntity extends LuaControl {
6344
6344
  /**
6345
6345
  * Get the maximum transport line index of a belt or belt connectable entity.
6346
6346
  */
6347
- get_max_transport_line_index(this: void): uint32;
6347
+ get_max_transport_line_index(this: void): defines.transport_line;
6348
6348
  /**
6349
6349
  * Inventory for storing modules of this entity; `nil` if this entity has no module inventory.
6350
6350
  */
@@ -6481,7 +6481,7 @@ interface LuaEntity extends LuaControl {
6481
6481
  * Get a transport line of a belt or belt connectable entity.
6482
6482
  * @param index Index of the requested transport line. Transport lines are 1-indexed.
6483
6483
  */
6484
- get_transport_line(this: void, index: uint32): LuaTransportLine;
6484
+ get_transport_line(this: void, index: defines.transport_line): LuaTransportLine;
6485
6485
  /**
6486
6486
  * Returns the new entity prototype and its quality.
6487
6487
  * @returns [0] - `nil` if this entity is not marked for upgrade.
@@ -6492,11 +6492,11 @@ interface LuaEntity extends LuaControl {
6492
6492
  LuaQualityPrototype | null
6493
6493
  ]>;
6494
6494
  /**
6495
- * Gets a single wire connector of this entity
6495
+ * Gets a single wire connector of this entity, if any.
6496
6496
  * @param wire_connector_id Identifier of a specific connector to get
6497
6497
  * @param or_create If true and connector does not exist, it will be allocated if possible
6498
6498
  */
6499
- get_wire_connector(this: void, wire_connector_id: defines.wire_connector_id, or_create: boolean): LuaWireConnector;
6499
+ get_wire_connector(this: void, wire_connector_id: defines.wire_connector_id, or_create: boolean): LuaWireConnector | null;
6500
6500
  /**
6501
6501
  * Gets all wire connectors of this entity
6502
6502
  * @param or_create If true, it will try to create all connectors possible
@@ -6848,10 +6848,10 @@ interface LuaEntity extends LuaControl {
6848
6848
  /**
6849
6849
  * Deactivating an entity will stop all its operations (car will stop moving, inserters will stop working, fish will stop moving etc).
6850
6850
  *
6851
- * Writing to this is deprecated and affects only the {@link disabled_by_script | runtime:LuaEntity::disabled_by_script} state.
6852
- *
6853
6851
  * Reading from this returns `false` if the entity is deactivated in at least one of the following ways: {@link by script | runtime:LuaEntity::disabled_by_script}, {@link by circuit network | runtime:LuaEntity::disabled_by_control_behavior}, {@link by recipe | runtime:LuaEntity::disabled_by_recipe}, {@link by freezing | runtime:LuaEntity::frozen}, or by deconstruction.
6854
6852
  *
6853
+ * Writing to this is deprecated and affects only the {@link disabled_by_script | runtime:LuaEntity::disabled_by_script} state.
6854
+ *
6855
6855
  * Entities that are not active naturally can't be set to be active (setting it to be active will do nothing). Some entities (Corpse, FireFlame, Roboport, RollingStock, dying entities) need to remain active and will ignore writes.
6856
6856
  */
6857
6857
  active: boolean;
@@ -7100,16 +7100,22 @@ interface LuaEntity extends LuaControl {
7100
7100
  direction: defines.direction;
7101
7101
  /**
7102
7102
  * If the updatable entity is disabled by control behavior.
7103
+ *
7104
+ * Always returns `false` if this entity is not considered {@link updatable | runtime:LuaEntity::is_updatable}.
7103
7105
  */
7104
7106
  readonly disabled_by_control_behavior: boolean;
7105
7107
  /**
7106
7108
  * If the assembling machine is disabled by recipe, e.g. due to {@link AssemblingMachinePrototype::disabled_when_recipe_not_researched | prototype:AssemblingMachinePrototype::disabled_when_recipe_not_researched}.
7109
+ *
7110
+ * Always returns `false` if this entity is not considered {@link updatable | runtime:LuaEntity::is_updatable}.
7107
7111
  */
7108
7112
  readonly disabled_by_recipe: boolean;
7109
7113
  /**
7110
7114
  * If the updatable entity is disabled by script.
7111
7115
  *
7112
7116
  * Note: Some entities (Corpse, FireFlame, Roboport, RollingStock, dying entities) need to remain active and will ignore writes.
7117
+ *
7118
+ * If this entity is not considered {@link updatable | runtime:LuaEntity::is_updatable} then this always returns `false` and writes will be ignored.
7113
7119
  */
7114
7120
  disabled_by_script: boolean;
7115
7121
  display_panel_always_show: boolean;
@@ -7225,7 +7231,9 @@ interface LuaEntity extends LuaControl {
7225
7231
  */
7226
7232
  friction_modifier: float;
7227
7233
  /**
7228
- * If the freezable entity is currently frozen.
7234
+ * Whether the freezable entity is currently frozen.
7235
+ *
7236
+ * Always returns `false` if this entity is not considered {@link freezable | runtime:LuaEntity::is_freezable}.
7229
7237
  */
7230
7238
  readonly frozen: boolean;
7231
7239
  readonly ghost_localised_description: LocalisedString;
@@ -7341,7 +7349,7 @@ interface LuaEntity extends LuaControl {
7341
7349
  */
7342
7350
  readonly is_entity_with_owner: boolean;
7343
7351
  /**
7344
- * If the entity is freezable.
7352
+ * Whether the entity is freezable and considered a FreezableEntity.
7345
7353
  */
7346
7354
  readonly is_freezable: boolean;
7347
7355
  /**
@@ -7353,7 +7361,7 @@ interface LuaEntity extends LuaControl {
7353
7361
  */
7354
7362
  is_military_target: boolean;
7355
7363
  /**
7356
- * If the entity is updatable.
7364
+ * Whether the entity is updatable and considered an UpdatableEntity.
7357
7365
  */
7358
7366
  readonly is_updatable: boolean;
7359
7367
  /**
@@ -7478,10 +7486,10 @@ interface LuaEntity extends LuaControl {
7478
7486
  *
7479
7487
  * - When called on a pipe-connectable entity, this is an array of entity arrays of all entities a given fluidbox is connected to.
7480
7488
  * - When called on an underground transport belt, this is the other end of the underground belt connection, or `nil` if none.
7481
- * - When called on a wall-connectable entity or reactor, this is a dictionary of all connections indexed by the connection direction "north", "south", "east", and "west".
7489
+ * - When called on a wall-connectable entity, reactor or heat pipe, this is a dictionary of all connections indexed by the connection direction "north", "south", "east", and "west".
7482
7490
  * - When called on a cliff entity, this is a dictionary of all connections indexed by the connection direction "north", "south", "east", and "west".
7483
7491
  */
7484
- readonly neighbours?: Record<string, LuaEntity[]> | LuaEntity[][] | LuaEntity;
7492
+ readonly neighbours?: Record<string, LuaEntity> | LuaEntity[][] | LuaEntity;
7485
7493
  /**
7486
7494
  * The class name of this object. Available even when `valid` is false. For LuaStruct objects it may also be suffixed with a dotted path to a member of the struct.
7487
7495
  */
@@ -7664,7 +7672,7 @@ interface LuaEntity extends LuaControl {
7664
7672
  */
7665
7673
  readonly rocket?: LuaEntity;
7666
7674
  /**
7667
- * Number of rocket parts in the silo.
7675
+ * Number of rocket parts in this rocket silo.
7668
7676
  */
7669
7677
  rocket_parts: uint32;
7670
7678
  /**
@@ -7697,6 +7705,10 @@ interface LuaEntity extends LuaControl {
7697
7705
  * {@link LuaEntityPrototype::selection_box | runtime:LuaEntityPrototype::selection_box} around entity's given position and respecting the current entity orientation.
7698
7706
  */
7699
7707
  readonly selection_box: BoundingBox;
7708
+ /**
7709
+ * Whether this rocket silo is set to send items to orbit automatically. Only relevant if there is an item prototype with {@link launch products | runtime:LuaItemPrototype::rocket_launch_products} with automated {@link send_to_orbit_mode | runtime:LuaItemPrototype::send_to_orbit_mode}, such as the satellite in vanilla (without Space Age mod).
7710
+ */
7711
+ send_to_orbit_automatically: boolean;
7700
7712
  /**
7701
7713
  * The shooting target for this turret, if any. Can't be set to `nil` via script.
7702
7714
  */
@@ -9001,9 +9013,6 @@ interface LuaEntityPrototype extends LuaPrototypeBase {
9001
9013
  readonly ticks_to_keep_aiming_direction?: uint32;
9002
9014
  readonly ticks_to_keep_gun?: uint32;
9003
9015
  readonly ticks_to_stay_in_combat?: uint32;
9004
- /**
9005
- * The tile buildability rules of this entity prototype.
9006
- */
9007
9016
  readonly tile_buildability_rules?: TileBuildabilityRule[];
9008
9017
  /**
9009
9018
  * 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)
@@ -13947,7 +13956,7 @@ interface LuaLogisticPoint {
13947
13956
  /**
13948
13957
  * The Logistic member index of this logistic point.
13949
13958
  */
13950
- readonly logistic_member_index: uint32;
13959
+ readonly logistic_member_index: defines.logistic_member_index;
13951
13960
  readonly logistic_network: LuaLogisticNetwork;
13952
13961
  /**
13953
13962
  * The logistic mode.
@@ -19273,6 +19282,10 @@ interface BaseLuaSurfaceCreateEntityParams {
19273
19282
  * If provided, the entity will attempt to pull stored values from this item (for example; creating a spidertron from a previously named and mined spidertron)
19274
19283
  */
19275
19284
  'item'?: LuaItemStack;
19285
+ /**
19286
+ * Whether this entity is mirrored. Defaults to `false`.
19287
+ */
19288
+ 'mirror'?: boolean;
19276
19289
  /**
19277
19290
  * If true, any characters that are in the way of the entity are teleported out of the way.
19278
19291
  */
@@ -19354,7 +19367,7 @@ interface LuaSurfaceCreateEntityParamsAmmoTurret extends BaseLuaSurfaceCreateEnt
19354
19367
  * Defaults to `false`.
19355
19368
  */
19356
19369
  'ignore-unprioritised'?: boolean;
19357
- 'priority-list'?: SlotFilter;
19370
+ 'priority-list'?: SlotFilter[];
19358
19371
  }
19359
19372
  /**
19360
19373
  *
@@ -19595,7 +19608,7 @@ interface LuaSurfaceCreateEntityParamsElectricTurret extends BaseLuaSurfaceCreat
19595
19608
  * Defaults to `false`.
19596
19609
  */
19597
19610
  'ignore-unprioritised'?: boolean;
19598
- 'priority-list'?: SlotFilter;
19611
+ 'priority-list'?: SlotFilter[];
19599
19612
  }
19600
19613
  /**
19601
19614
  *
@@ -19631,7 +19644,7 @@ interface LuaSurfaceCreateEntityParamsFluidTurret extends BaseLuaSurfaceCreateEn
19631
19644
  * Defaults to `false`.
19632
19645
  */
19633
19646
  'ignore-unprioritised'?: boolean;
19634
- 'priority-list'?: SlotFilter;
19647
+ 'priority-list'?: SlotFilter[];
19635
19648
  }
19636
19649
  /**
19637
19650
  *
@@ -19783,6 +19796,7 @@ interface LuaSurfaceCreateEntityParamsLamp extends BaseLuaSurfaceCreateEntityPar
19783
19796
  * Defaults to white.
19784
19797
  */
19785
19798
  'color'?: Color;
19799
+ 'control_behavior'?: LampBlueprintControlBehavior;
19786
19800
  }
19787
19801
  /**
19788
19802
  *
@@ -19813,6 +19827,7 @@ interface LuaSurfaceCreateEntityParamsLinkedContainer extends BaseLuaSurfaceCrea
19813
19827
  */
19814
19828
  interface LuaSurfaceCreateEntityParamsLoader extends BaseLuaSurfaceCreateEntityParams {
19815
19829
  'belt_stack_size_override'?: uint8;
19830
+ 'control_behavior'?: LoaderBlueprintControlBehavior;
19816
19831
  'filter_mode'?: PrototypeFilterMode;
19817
19832
  'filters'?: SlotFilter[];
19818
19833
  /**
@@ -19826,6 +19841,7 @@ interface LuaSurfaceCreateEntityParamsLoader extends BaseLuaSurfaceCreateEntityP
19826
19841
  */
19827
19842
  interface LuaSurfaceCreateEntityParamsLoader1x1 extends BaseLuaSurfaceCreateEntityParams {
19828
19843
  'belt_stack_size_override'?: uint8;
19844
+ 'control_behavior'?: LoaderBlueprintControlBehavior;
19829
19845
  'filter_mode'?: PrototypeFilterMode;
19830
19846
  'filters'?: SlotFilter[];
19831
19847
  /**
@@ -20135,7 +20151,7 @@ interface LuaSurfaceCreateEntityParamsTurret extends BaseLuaSurfaceCreateEntityP
20135
20151
  * Defaults to `false`.
20136
20152
  */
20137
20153
  'ignore-unprioritised'?: boolean;
20138
- 'priority-list'?: SlotFilter;
20154
+ 'priority-list'?: SlotFilter[];
20139
20155
  }
20140
20156
  /**
20141
20157
  *
@@ -2,7 +2,7 @@
2
2
  // Factorio API reference https://lua-api.factorio.com/latest/index.html
3
3
  // Generated from JSON source https://lua-api.factorio.com/latest/runtime-api.json
4
4
  // Definition source https://github.com/sguest/factorio-types
5
- // Factorio version 2.0.70
5
+ // Factorio version 2.0.73
6
6
  // API version 6
7
7
 
8
8
  declare namespace runtime {
@@ -545,7 +545,7 @@ interface BlueprintEntityAmmoTurret extends BaseBlueprintEntity {
545
545
  * Defaults to `false`.
546
546
  */
547
547
  'ignore-unprioritised'?: boolean;
548
- 'priority-list'?: SlotFilter;
548
+ 'priority-list'?: SlotFilter[];
549
549
  }
550
550
  /**
551
551
  *
@@ -695,7 +695,7 @@ interface BlueprintEntityElectricTurret extends BaseBlueprintEntity {
695
695
  * Defaults to `false`.
696
696
  */
697
697
  'ignore-unprioritised'?: boolean;
698
- 'priority-list'?: SlotFilter;
698
+ 'priority-list'?: SlotFilter[];
699
699
  }
700
700
  /**
701
701
  *
@@ -707,7 +707,7 @@ interface BlueprintEntityFluidTurret extends BaseBlueprintEntity {
707
707
  * Defaults to `false`.
708
708
  */
709
709
  'ignore-unprioritised'?: boolean;
710
- 'priority-list'?: SlotFilter;
710
+ 'priority-list'?: SlotFilter[];
711
711
  }
712
712
  /**
713
713
  *
@@ -802,6 +802,7 @@ interface BlueprintEntityLamp extends BaseBlueprintEntity {
802
802
  */
803
803
  'always_on'?: boolean;
804
804
  'color'?: Color;
805
+ 'control_behavior'?: LampBlueprintControlBehavior;
805
806
  }
806
807
  /**
807
808
  *
@@ -833,6 +834,7 @@ interface BlueprintEntityLinkedContainer extends BaseBlueprintEntity {
833
834
  */
834
835
  interface BlueprintEntityLoader extends BaseBlueprintEntity {
835
836
  'belt_stack_size_override'?: uint8;
837
+ 'control_behavior'?: LoaderBlueprintControlBehavior;
836
838
  /**
837
839
  * Defaults to `"none"`.
838
840
  */
@@ -846,6 +848,7 @@ interface BlueprintEntityLoader extends BaseBlueprintEntity {
846
848
  */
847
849
  interface BlueprintEntityLoader1x1 extends BaseBlueprintEntity {
848
850
  'belt_stack_size_override'?: uint8;
851
+ 'control_behavior'?: LoaderBlueprintControlBehavior;
849
852
  /**
850
853
  * Defaults to `"none"`.
851
854
  */
@@ -921,6 +924,10 @@ interface BlueprintEntityPump extends BaseBlueprintEntity {
921
924
  */
922
925
  interface BlueprintEntityRailChainSignal extends BaseBlueprintEntity {
923
926
  'control_behavior'?: RailSignalBaseBlueprintControlBehavior;
927
+ /**
928
+ * Defaults to `"ground"`.
929
+ */
930
+ 'rail_layer'?: 'ground' | 'elevated';
924
931
  }
925
932
  /**
926
933
  *
@@ -928,6 +935,10 @@ interface BlueprintEntityRailChainSignal extends BaseBlueprintEntity {
928
935
  */
929
936
  interface BlueprintEntityRailSignal extends BaseBlueprintEntity {
930
937
  'control_behavior'?: RailSignalBaseBlueprintControlBehavior;
938
+ /**
939
+ * Defaults to `"ground"`.
940
+ */
941
+ 'rail_layer'?: 'ground' | 'elevated';
931
942
  }
932
943
  /**
933
944
  *
@@ -1034,7 +1045,7 @@ interface BlueprintEntityTurret extends BaseBlueprintEntity {
1034
1045
  * Defaults to `false`.
1035
1046
  */
1036
1047
  'ignore-unprioritised'?: boolean;
1037
- 'priority-list'?: SlotFilter;
1048
+ 'priority-list'?: SlotFilter[];
1038
1049
  }
1039
1050
  /**
1040
1051
  *
@@ -1152,12 +1163,18 @@ interface BlueprintLogisticSections {
1152
1163
  request_from_buffers?: boolean;
1153
1164
  }
1154
1165
  interface BlueprintMiningDrillFilter {
1155
- filters?: SlotFilter;
1166
+ filters?: SlotFilter[];
1156
1167
  /**
1157
1168
  * Defaults to `"whitelist"`.
1158
1169
  */
1159
1170
  mode?: 'whitelist' | 'blacklist';
1160
1171
  }
1172
+ interface BlueprintQualityID {
1173
+ /**
1174
+ * The name of the quality prototype. Defaults to `"normal"`.
1175
+ */
1176
+ name?: string;
1177
+ }
1161
1178
  interface BlueprintSchedule {
1162
1179
  records?: BlueprintScheduleRecord[];
1163
1180
  group?: string;
@@ -4029,6 +4046,30 @@ string | /**
4029
4046
  * A table of item prototype and quality.
4030
4047
  */
4031
4048
  ItemIDAndQualityIDPair;
4049
+ interface LampBlueprintControlBehavior {
4050
+ /**
4051
+ * Defaults to `false`.
4052
+ */
4053
+ use_colors?: boolean;
4054
+ red_signal?: SignalID;
4055
+ green_signal?: SignalID;
4056
+ blue_signal?: SignalID;
4057
+ rgb_signal?: SignalID;
4058
+ /**
4059
+ * Defaults to `defines.control_behavior.lamp.color_mapping`.
4060
+ */
4061
+ color_mode?: defines.control_behavior.lamp.color_mode;
4062
+ /**
4063
+ * Defaults to `false`.
4064
+ */
4065
+ circuit_enabled?: boolean;
4066
+ circuit_condition?: CircuitCondition;
4067
+ /**
4068
+ * Defaults to `false`.
4069
+ */
4070
+ connect_to_logistic_network?: boolean;
4071
+ logistic_condition?: CircuitCondition;
4072
+ }
4032
4073
  /**
4033
4074
  * The internal name of a game control (key binding).
4034
4075
  */
@@ -4036,6 +4077,26 @@ type LinkedGameControl = 'move-up' | 'move-down' | 'move-left' | 'move-right' |
4036
4077
  * Indicates no linked game control.
4037
4078
  */
4038
4079
  '';
4080
+ interface LoaderBlueprintControlBehavior {
4081
+ /**
4082
+ * Defaults to `false`.
4083
+ */
4084
+ circuit_set_filters?: boolean;
4085
+ /**
4086
+ * Defaults to `false`.
4087
+ */
4088
+ circuit_read_transfers?: boolean;
4089
+ /**
4090
+ * Defaults to `false`.
4091
+ */
4092
+ circuit_enabled?: boolean;
4093
+ circuit_condition?: CircuitCondition;
4094
+ /**
4095
+ * Defaults to `false`.
4096
+ */
4097
+ connect_to_logistic_network?: boolean;
4098
+ logistic_condition?: CircuitCondition;
4099
+ }
4039
4100
  /**
4040
4101
  * Localised strings are a way to support translation of in-game text. It is an array where the first element is the key and the remaining elements are parameters that will be substituted for placeholders in the template designated by the key.
4041
4102
  *
@@ -6577,13 +6638,13 @@ interface MiningDrillBlueprintControlBehavior {
6577
6638
  }
6578
6639
  interface ModChangeData {
6579
6640
  /**
6580
- * Old version of the mod. May be `nil` if the mod wasn't previously present (i.e. it was just added).
6641
+ * Old version of the mod. `nil` if the mod wasn't previously present (i.e. it was just added).
6581
6642
  */
6582
- old_version: string;
6643
+ old_version?: string;
6583
6644
  /**
6584
- * New version of the mod. May be `nil` if the mod is no longer present (i.e. it was just removed).
6645
+ * New version of the mod. `nil` if the mod is no longer present (i.e. it was just removed).
6585
6646
  */
6586
- new_version: string;
6647
+ new_version?: string;
6587
6648
  }
6588
6649
  interface ModSetting {
6589
6650
  /**
@@ -8285,7 +8346,7 @@ interface SelectorCombinatorParametersCount extends BaseSelectorCombinatorParame
8285
8346
  /**
8286
8347
  * The signal to emit.
8287
8348
  */
8288
- 'count_signal': SignalID;
8349
+ 'count_signal'?: SignalID;
8289
8350
  }
8290
8351
  /**
8291
8352
  *
@@ -8312,10 +8373,7 @@ interface SelectorCombinatorParametersQualityTransfer extends BaseSelectorCombin
8312
8373
  'operation'?: 'quality-transfer';
8313
8374
  'quality_destination_signal': SignalID;
8314
8375
  'quality_source_signal'?: SignalIDBase;
8315
- /**
8316
- * The name of the quality prototype. Defaults to `"normal"`.
8317
- */
8318
- 'quality_source_static'?: string;
8376
+ 'quality_source_static'?: BlueprintQualityID;
8319
8377
  /**
8320
8378
  * Defaults to `false`.
8321
8379
  */
@@ -8602,6 +8660,11 @@ interface SpacePlatformHubBlueprintControlBehavior {
8602
8660
  */
8603
8661
  read_speed?: boolean;
8604
8662
  speed_signal?: SignalID;
8663
+ /**
8664
+ * Defaults to `false`.
8665
+ */
8666
+ read_damage_taken?: boolean;
8667
+ damage_taken_signal?: SignalID;
8605
8668
  }
8606
8669
  interface SpacePlatformTileDefinition {
8607
8670
  tile: LuaTilePrototype;
@@ -2,7 +2,7 @@
2
2
  // Factorio API reference https://lua-api.factorio.com/latest/index.html
3
3
  // Generated from JSON source https://lua-api.factorio.com/latest/prototype-api.json
4
4
  // Definition source https://github.com/sguest/factorio-types
5
- // Factorio version 2.0.70
5
+ // Factorio version 2.0.73
6
6
  // API version 6
7
7
 
8
8
  declare namespace prototype {
package/dist/defines.d.ts CHANGED
@@ -2,7 +2,7 @@
2
2
  // Factorio API reference https://lua-api.factorio.com/latest/index.html
3
3
  // Generated from JSON source https://lua-api.factorio.com/latest/runtime-api.json
4
4
  // Definition source https://github.com/sguest/factorio-types
5
- // Factorio version 2.0.70
5
+ // Factorio version 2.0.73
6
6
  // API version 6
7
7
 
8
8
  declare namespace defines {
@@ -1365,6 +1365,9 @@ enum logistic_group_type {
1365
1365
  enum logistic_member_index {
1366
1366
  car_provider = 10,
1367
1367
  car_requester = 9,
1368
+ cargo_landing_pad_provider = 19,
1369
+ cargo_landing_pad_requester = 18,
1370
+ cargo_landing_pad_trash_provider = 20,
1368
1371
  character_provider = 5,
1369
1372
  character_requester = 3,
1370
1373
  character_storage = 4,
package/dist/events.d.ts CHANGED
@@ -2,7 +2,7 @@
2
2
  // Factorio API reference https://lua-api.factorio.com/latest/index.html
3
3
  // Generated from JSON source https://lua-api.factorio.com/latest/runtime-api.json
4
4
  // Definition source https://github.com/sguest/factorio-types
5
- // Factorio version 2.0.70
5
+ // Factorio version 2.0.73
6
6
  // API version 6
7
7
 
8
8
  declare namespace runtime {
package/dist/global.d.ts CHANGED
@@ -2,7 +2,7 @@
2
2
  // Factorio API reference https://lua-api.factorio.com/latest/index.html
3
3
  // Generated from JSON source https://lua-api.factorio.com/latest/runtime-api.json
4
4
  // Definition source https://github.com/sguest/factorio-types
5
- // Factorio version 2.0.70
5
+ // Factorio version 2.0.73
6
6
  // API version 6
7
7
 
8
8
  /**
@@ -2,7 +2,7 @@
2
2
  // Factorio API reference https://lua-api.factorio.com/latest/index.html
3
3
  // Generated from JSON source https://lua-api.factorio.com/latest/prototype-api.json
4
4
  // Definition source https://github.com/sguest/factorio-types
5
- // Factorio version 2.0.70
5
+ // Factorio version 2.0.73
6
6
  // API version 6
7
7
 
8
8
  declare namespace prototype {
@@ -3216,6 +3216,8 @@ interface EntityPrototype extends Prototype {
3216
3216
  * This allows you to replace an entity that's already placed, with a different one in your inventory. For example, replacing a burner inserter with a fast inserter. The replacement entity can be a different rotation to the replaced entity and you can replace an entity with the same type.
3217
3217
  *
3218
3218
  * This is simply a string, so any string can be used here. The entity that should be replaced simply has to use the same string here.
3219
+ *
3220
+ * Entities with the same fast replaceable group can be configured as upgrades for each other in the upgrade planner. Refer to the {@link upgrade planner prototype's page | prototype:UpgradeItemPrototype} the full requirements for entities to be shown in the upgrade planner.
3219
3221
  */
3220
3222
  fast_replaceable_group?: string;
3221
3223
  flags?: EntityPrototypeFlags;
@@ -3287,7 +3289,7 @@ interface EntityPrototype extends Prototype {
3287
3289
  mined_sound?: Sound;
3288
3290
  mining_sound?: Sound;
3289
3291
  /**
3290
- * Name of the entity that will be automatically selected as the upgrade of this entity when using the {@link upgrade planner | https://wiki.factorio.com/Upgrade_planner} without configuration.
3292
+ * Name of the entity that will be automatically selected as the upgrade of this entity when using the {@link upgrade planner | prototype:UpgradeItemPrototype} without configuration.
3291
3293
  *
3292
3294
  * This entity may not have "not-upgradable" flag set and must be minable. This entity mining result must not contain item product with {@link hidden | prototype:ItemPrototype::hidden} set to `true`. Mining results with no item products are allowed. This entity may not be a {@link RollingStockPrototype | prototype:RollingStockPrototype}.
3293
3295
  *
@@ -6517,7 +6519,7 @@ interface QualityPrototype extends Prototype {
6517
6519
  */
6518
6520
  beacon_power_usage_multiplier?: float;
6519
6521
  /**
6520
- * Only affects beacons with {@link BeaconPrototype::quality_affects_supply_area | prototype:BeaconPrototype::quality_affects_supply_area} set.
6522
+ * Only affects beacons with {@link BeaconPrototype::quality_affects_supply_area_distance | prototype:BeaconPrototype::quality_affects_supply_area_distance} set.
6521
6523
  *
6522
6524
  * Must be >= 0 and <= 64.
6523
6525
  */
@@ -6608,6 +6610,11 @@ interface QualityPrototype extends Prototype {
6608
6610
  * Must be >= 0.01.
6609
6611
  */
6610
6612
  logistic_cell_charging_energy_multiplier?: double;
6613
+ /**
6614
+ * Only affects roboports with {@link RoboportPrototype::charging_station_count_affected_by_quality | prototype:RoboportPrototype::charging_station_count_affected_by_quality} set.
6615
+ *
6616
+ * Only affects roboport equipment with {@link RoboportEquipmentPrototype::charging_station_count_affected_by_quality | prototype:RoboportEquipmentPrototype::charging_station_count_affected_by_quality} set.
6617
+ */
6611
6618
  logistic_cell_charging_station_count_bonus?: uint32;
6612
6619
  /**
6613
6620
  * Only affects mining drills with {@link MiningDrillPrototype::quality_affects_mining_radius | prototype:MiningDrillPrototype::quality_affects_mining_radius} set.
@@ -10071,6 +10078,14 @@ interface UnitPrototype extends EntityWithOwnerPrototype {
10071
10078
  }
10072
10079
  /**
10073
10080
  * An {@link upgrade planner | https://wiki.factorio.com/Upgrade_planner}.
10081
+ *
10082
+ * For an entity to be allowed as an upgrade source, it must be minable, may not have "not-upgradable" flag set and may not be {@link hidden | prototype:PrototypeBase::hidden}. Additionally, the source entity's mining result must not be an item product that is {@link hidden | prototype:ItemPrototype::hidden}. Mining results with no item products are allowed.
10083
+ *
10084
+ * For an entity to be allowed as an upgrade target, it must have least 1 item that builds it that isn't hidden.
10085
+ *
10086
+ * For two entities to be upgrades of each other, the two entities must have the same {@link fast replaceable group | prototype:EntityPrototype::fast_replaceable_group}, the same {@link collision box | prototype:EntityPrototype::collision_box} and the same {@link collision mask | prototype:EntityPrototype::collision_mask}. Additionally, {@link underground belts | prototype:UndergroundBeltPrototype} cannot be upgraded to {@link transport belts | prototype:TransportBeltPrototype} and vice versa.
10087
+ *
10088
+ * For an entity to be automatically upgraded to another entity without configuring the upgrade planner, the {@link next upgrade | prototype:EntityPrototype::next_upgrade} of the upgrade source entity must be set.
10074
10089
  */
10075
10090
  interface UpgradeItemPrototype extends SelectionToolPrototype {
10076
10091
  /**
package/dist/types.d.ts CHANGED
@@ -2,7 +2,7 @@
2
2
  // Factorio API reference https://lua-api.factorio.com/latest/index.html
3
3
  // Generated from JSON source https://lua-api.factorio.com/latest/prototype-api.json
4
4
  // Definition source https://github.com/sguest/factorio-types
5
- // Factorio version 2.0.70
5
+ // Factorio version 2.0.73
6
6
  // API version 6
7
7
 
8
8
  declare namespace prototype {
@@ -3736,58 +3736,6 @@ interface DirectTriggerItem extends TriggerItem {
3736
3736
  filter_enabled?: boolean;
3737
3737
  type: 'direct';
3738
3738
  }
3739
- /**
3740
- * Usually specified by using {@link defines.direction | runtime:defines.direction}.
3741
- */
3742
- type Direction = /**
3743
- * North
3744
- */
3745
- 0 | /**
3746
- * NorthNorthEast
3747
- */
3748
- 1 | /**
3749
- * NorthEast
3750
- */
3751
- 2 | /**
3752
- * EastNorthEast
3753
- */
3754
- 3 | /**
3755
- * East
3756
- */
3757
- 4 | /**
3758
- * EastSouthEast
3759
- */
3760
- 5 | /**
3761
- * SouthEast
3762
- */
3763
- 6 | /**
3764
- * SouthSouthEast
3765
- */
3766
- 7 | /**
3767
- * South
3768
- */
3769
- 8 | /**
3770
- * SouthSouthWest
3771
- */
3772
- 9 | /**
3773
- * SouthWest
3774
- */
3775
- 10 | /**
3776
- * WestSouthWest
3777
- */
3778
- 11 | /**
3779
- * West
3780
- */
3781
- 12 | /**
3782
- * WestNorthWest
3783
- */
3784
- 13 | /**
3785
- * NorthWest
3786
- */
3787
- 14 | /**
3788
- * NorthNorthWest
3789
- */
3790
- 15;
3791
3739
  interface DirectionShift {
3792
3740
  east?: Vector;
3793
3741
  north?: Vector;
@@ -5157,6 +5105,9 @@ interface GigaCargoHatchDefinition {
5157
5105
  * Note that when any technology prototype changes (regardless of which mod it belongs to), the game re-applies all researched technology effects, including `"give-item"` modifiers. This means that players will receive the item again, even if they already received it previously. This can be undesirable.
5158
5106
  */
5159
5107
  interface GiveItemModifier extends BaseModifier {
5108
+ /**
5109
+ * Must be >= `1`.
5110
+ */
5160
5111
  count?: ItemCountType;
5161
5112
  item: ItemID;
5162
5113
  quality?: QualityID;
@@ -5269,7 +5220,7 @@ interface HeatConnection {
5269
5220
  /**
5270
5221
  * The "outward" direction of this heat connection. For a connection to succeed, the other heat connection must face the opposite direction (a south-facing connection needs a north-facing connection to succeed). A connection rotates with the entity.
5271
5222
  */
5272
- direction: Direction;
5223
+ direction: defines.direction;
5273
5224
  /**
5274
5225
  * The location of the heat pipe connection, relative to the center of the entity in the north-facing direction.
5275
5226
  */
@@ -6374,7 +6325,7 @@ interface MapLocation {
6374
6325
  /**
6375
6326
  * Direction this connection point will be facing to.
6376
6327
  */
6377
- direction: Direction;
6328
+ direction: defines.direction;
6378
6329
  /**
6379
6330
  * Position relative to entity's position where the connection point will be located at.
6380
6331
  */
@@ -7220,7 +7171,7 @@ interface PipeConnectionDefinition {
7220
7171
  *
7221
7172
  * Only loaded, and mandatory if `connection_type` is `"normal"` or `"underground"`.
7222
7173
  */
7223
- direction?: Direction;
7174
+ direction?: defines.direction;
7224
7175
  /**
7225
7176
  * Array of the {@link WorkingVisualisation::name | prototype:WorkingVisualisation::name} of working visualisations to enable when this pipe connection is present.
7226
7177
  *
@@ -8503,7 +8454,7 @@ interface RotatedAnimation extends AnimationParameters {
8503
8454
  *
8504
8455
  * The sequential animation instance is loaded equal to the entities direction within the `direction_count` setting.
8505
8456
  *
8506
- * Direction count to {@link Direction | prototype:Direction} (animation sequence number):
8457
+ * Direction count to {@link defines.direction | runtime:defines.direction} (animation sequence number):
8507
8458
  *
8508
8459
  * - `1`: North (1)
8509
8460
  *
@@ -10758,6 +10709,11 @@ interface TileBuildSound {
10758
10709
  medium?: Sound;
10759
10710
  small?: Sound;
10760
10711
  }
10712
+ /**
10713
+ * Defines restrictions on what tiles an entity can or must be built on.
10714
+ *
10715
+ * Note that once the entity has been placed, placing new tiles is not always restricted by these rules for performance reasons. In particular, for most entities these rules are only checked when placing tiles within the collision box of the entity. The exception to this are thrusters and asteroid collectors, for which the rules are always checked.
10716
+ */
10761
10717
  interface TileBuildabilityRule {
10762
10718
  area: SimpleBoundingBox;
10763
10719
  colliding_tiles?: CollisionMaskConnector;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "factorio-types",
3
- "version": "1.2.52",
3
+ "version": "1.2.54",
4
4
  "description": "Typescript declarations for the Factorio mod API",
5
5
  "main": "index.d.ts",
6
6
  "repository": "https://github.com/sguest/factorio-types.git",
@@ -23,7 +23,7 @@
23
23
  "src/**/*.d.ts",
24
24
  "dist/**/*.d.ts"
25
25
  ],
26
- "factorioVersion": "2.0.70",
26
+ "factorioVersion": "2.0.73",
27
27
  "dependencies": {
28
28
  "lua-types": "^2.13.1"
29
29
  },