factorio-types 1.2.51 → 1.2.53

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.69
5
+ // Factorio version 2.0.72
6
6
  // API version 6
7
7
 
8
8
  declare namespace runtime {
@@ -5942,7 +5942,7 @@ interface LuaDisplayPanelControlBehavior extends LuaControlBehavior {
5942
5942
  * @param index Message index. Use `-1` to append new element.
5943
5943
  * @param message The message definition for the specified index. Specify `nil` to remove the message.
5944
5944
  */
5945
- set_message(this: void, index: uint32, message: DisplayPanelMessageDefinition): void;
5945
+ set_message(this: void, index: int32, message: DisplayPanelMessageDefinition | nil): void;
5946
5946
  /**
5947
5947
  * The full list of configured messages.
5948
5948
  */
@@ -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
  /**
@@ -10008,7 +10016,7 @@ interface LuaForce {
10008
10016
  * Returns `nil` if the chunk has not been charted for this force.
10009
10017
  * @returns The raw pixel data.
10010
10018
  */
10011
- get_chunk_chart(this: void, surface: SurfaceIdentification, position: ChunkPosition): string | null;
10019
+ get_chunk_chart(this: void, surface: SurfaceIdentification, chunk_position: ChunkPosition): string | null;
10012
10020
  /**
10013
10021
  * The entity build statistics for this force (built and mined) for the given surface.
10014
10022
  */
@@ -10093,18 +10101,18 @@ interface LuaForce {
10093
10101
  get_turret_attack_modifier(this: void, turret: EntityID): double;
10094
10102
  /**
10095
10103
  * Has a chunk been charted?
10096
- * @param position Position of the chunk.
10104
+ * @param chunk_position Position of the chunk.
10097
10105
  */
10098
- is_chunk_charted(this: void, surface: SurfaceIdentification, position: ChunkPosition): boolean;
10106
+ is_chunk_charted(this: void, surface: SurfaceIdentification, chunk_position: ChunkPosition): boolean;
10099
10107
  /**
10100
10108
  * Has a chunk been requested for charting?
10101
- * @param position Position of the chunk.
10109
+ * @param chunk_position Position of the chunk.
10102
10110
  */
10103
- is_chunk_requested_for_charting(this: void, surface: SurfaceIdentification, position: ChunkPosition): boolean;
10111
+ is_chunk_requested_for_charting(this: void, surface: SurfaceIdentification, chunk_position: ChunkPosition): boolean;
10104
10112
  /**
10105
10113
  * Is the given chunk currently charted and visible (not covered by fog of war) on the map.
10106
10114
  */
10107
- is_chunk_visible(this: void, surface: SurfaceIdentification, position: ChunkPosition): boolean;
10115
+ is_chunk_visible(this: void, surface: SurfaceIdentification, chunk_position: ChunkPosition): boolean;
10108
10116
  /**
10109
10117
  * Is this force an enemy? This differs from `get_cease_fire` in that it is always false for neutral force. This is equivalent to checking the `enemy` ForceCondition.
10110
10118
  */
@@ -10257,10 +10265,10 @@ interface LuaForce {
10257
10265
  */
10258
10266
  set_turret_attack_modifier(this: void, turret: EntityID, modifier: double): void;
10259
10267
  /**
10260
- * @param position The chunk position to unchart.
10268
+ * @param chunk_position The chunk position to unchart.
10261
10269
  * @param surface Surface to unchart on.
10262
10270
  */
10263
- unchart_chunk(this: void, position: ChunkPosition, surface: SurfaceIdentification): void;
10271
+ unchart_chunk(this: void, chunk_position: ChunkPosition, surface: SurfaceIdentification): void;
10264
10272
  /**
10265
10273
  * Unlocks the quality to be accessible to this force.
10266
10274
  * @param quality Name of the quality.
@@ -18277,9 +18285,9 @@ interface LuaSurface {
18277
18285
  * Removes the chunk from the territory it is associated with (if any) and allows the map generator to potentially generate a new territory for the chunk in the future. To prevent the game from generating a new territory for the chunk, use {@link LuaSurface::set_chunk_territory | runtime:LuaSurface::set_chunk_territory} to set the chunk's territory to `nil`.
18278
18286
  *
18279
18287
  * Territories that do not contain at least one generated chunk as a result of calling this method will be automatically deleted.
18280
- * @param positions The chunk positions. The chunks at these positions does not need to exist.
18288
+ * @param chunk_positions The chunk positions. The chunks at these positions does not need to exist.
18281
18289
  */
18282
- clear_territory_for_chunks(this: void, positions: ChunkPosition[]): void;
18290
+ clear_territory_for_chunks(this: void, chunk_positions: ChunkPosition[]): void;
18283
18291
  /**
18284
18292
  * Clones the given area.
18285
18293
  *
@@ -18508,9 +18516,9 @@ interface LuaSurface {
18508
18516
  */
18509
18517
  decorative_prototype_collides(this: void, prototype: DecorativeID, position: MapPosition): boolean;
18510
18518
  /**
18511
- * @param position The chunk position to delete
18519
+ * @param chunk_position The chunk position to delete
18512
18520
  */
18513
- delete_chunk(this: void, position: ChunkPosition): void;
18521
+ delete_chunk(this: void, chunk_position: ChunkPosition): void;
18514
18522
  /**
18515
18523
  * Removes all decoratives from the given area. If no area and no position are given, then the entire surface is searched.
18516
18524
  * @param table.exclude_soft Soft decoratives can be drawn over rails.
@@ -18729,6 +18737,8 @@ interface LuaSurface {
18729
18737
  force_generate_chunk_requests(this: void): void;
18730
18738
  /**
18731
18739
  * Get an iterator going over every chunk on this surface.
18740
+ *
18741
+ * Chunks may or may not be generated; use {@link LuaSurface::is_chunk_generated | runtime:LuaSurface::is_chunk_generated} to check a chunk's state before accessing it.
18732
18742
  */
18733
18743
  get_chunks(this: void): LuaChunkIterator;
18734
18744
  /**
@@ -18758,10 +18768,10 @@ interface LuaSurface {
18758
18768
  get_double_hidden_tile(this: void, position: TilePosition): string;
18759
18769
  /**
18760
18770
  * Returns all the military targets (entities with force) on this chunk for the given force.
18761
- * @param position The chunk's position.
18771
+ * @param chunk_position The chunk's position.
18762
18772
  * @param force Entities of this force will be returned.
18763
18773
  */
18764
- get_entities_with_force(this: void, position: ChunkPosition, force: ForceID): LuaEntity[];
18774
+ get_entities_with_force(this: void, chunk_position: ChunkPosition, force: ForceID): LuaEntity[];
18765
18775
  /**
18766
18776
  * The hidden tile name.
18767
18777
  * @param position The tile position.
@@ -18828,9 +18838,9 @@ interface LuaSurface {
18828
18838
  get_territories(this: void): LuaTerritory[];
18829
18839
  /**
18830
18840
  * Get the territory that the given chunk is assigned to. If the chunk is not part of any territory or the territory for the chunk has not yet been generated, then this returns `nil`.
18831
- * @param position The chunk's position. The chunk at this position does not need to exist.
18841
+ * @param chunk_position The chunk's position. The chunk at this position does not need to exist.
18832
18842
  */
18833
- get_territory_for_chunk(this: void, position: ChunkPosition): LuaTerritory | null;
18843
+ get_territory_for_chunk(this: void, chunk_position: ChunkPosition): LuaTerritory | null;
18834
18844
  /**
18835
18845
  * Get the tile at a given position. An alternative call signature for this method is passing it a single {@link TilePosition | runtime:TilePosition}.
18836
18846
  *
@@ -18843,9 +18853,9 @@ interface LuaSurface {
18843
18853
  get_total_pollution(this: void): double;
18844
18854
  /**
18845
18855
  * Is a given chunk generated?
18846
- * @param position The chunk's position.
18856
+ * @param chunk_position The chunk's position.
18847
18857
  */
18848
- is_chunk_generated(this: void, position: ChunkPosition): boolean;
18858
+ is_chunk_generated(this: void, chunk_position: ChunkPosition): boolean;
18849
18859
  /**
18850
18860
  * Play a sound for every player on this surface.
18851
18861
  *
@@ -18932,10 +18942,10 @@ interface LuaSurface {
18932
18942
  request_to_generate_chunks(this: void, position: MapPosition, radius?: uint32): void;
18933
18943
  /**
18934
18944
  * Set generated status of a chunk. Useful when copying chunks.
18935
- * @param position The chunk's position.
18945
+ * @param chunk_position The chunk's position.
18936
18946
  * @param status The chunk's new status.
18937
18947
  */
18938
- set_chunk_generated_status(this: void, position: ChunkPosition, status: defines.chunk_generated_status): void;
18948
+ set_chunk_generated_status(this: void, chunk_position: ChunkPosition, status: defines.chunk_generated_status): void;
18939
18949
  /**
18940
18950
  * Sets the cover tile for the given force and tile on this surface.
18941
18951
  */
@@ -18989,10 +18999,10 @@ interface LuaSurface {
18989
18999
  * It's recommended that territory chunks are connected to each other, but this is not required.
18990
19000
  *
18991
19001
  * Territories that do not contain at least one generated chunk as a result of calling this method will be automatically deleted.
18992
- * @param positions The chunk positions. The chunks at these positions do not need to exist in order to be assigned to a territory.
19002
+ * @param chunk_positions The chunk positions. The chunks at these positions do not need to exist in order to be assigned to a territory.
18993
19003
  * @param territory The territory to associate the chunks with. If not `nil`, the territory must belong to this same surface or else an error will be produced. If `nil`, then the chunks get removed from the territory it is currently associated with and will prevent the map generator from automatically re-generate a new territory for the chunk in the future.
18994
19004
  */
18995
- set_territory_for_chunks(this: void, positions: ChunkPosition[], territory?: LuaTerritory): void;
19005
+ set_territory_for_chunks(this: void, chunk_positions: ChunkPosition[], territory?: LuaTerritory): void;
18996
19006
  /**
18997
19007
  * Set tiles at specified locations. Can automatically correct the edges around modified tiles.
18998
19008
  *
@@ -19352,7 +19362,7 @@ interface LuaSurfaceCreateEntityParamsAmmoTurret extends BaseLuaSurfaceCreateEnt
19352
19362
  * Defaults to `false`.
19353
19363
  */
19354
19364
  'ignore-unprioritised'?: boolean;
19355
- 'priority-list'?: SlotFilter;
19365
+ 'priority-list'?: SlotFilter[];
19356
19366
  }
19357
19367
  /**
19358
19368
  *
@@ -19593,7 +19603,7 @@ interface LuaSurfaceCreateEntityParamsElectricTurret extends BaseLuaSurfaceCreat
19593
19603
  * Defaults to `false`.
19594
19604
  */
19595
19605
  'ignore-unprioritised'?: boolean;
19596
- 'priority-list'?: SlotFilter;
19606
+ 'priority-list'?: SlotFilter[];
19597
19607
  }
19598
19608
  /**
19599
19609
  *
@@ -19629,7 +19639,7 @@ interface LuaSurfaceCreateEntityParamsFluidTurret extends BaseLuaSurfaceCreateEn
19629
19639
  * Defaults to `false`.
19630
19640
  */
19631
19641
  'ignore-unprioritised'?: boolean;
19632
- 'priority-list'?: SlotFilter;
19642
+ 'priority-list'?: SlotFilter[];
19633
19643
  }
19634
19644
  /**
19635
19645
  *
@@ -19781,6 +19791,7 @@ interface LuaSurfaceCreateEntityParamsLamp extends BaseLuaSurfaceCreateEntityPar
19781
19791
  * Defaults to white.
19782
19792
  */
19783
19793
  'color'?: Color;
19794
+ 'control_behavior'?: LampBlueprintControlBehavior;
19784
19795
  }
19785
19796
  /**
19786
19797
  *
@@ -19811,6 +19822,7 @@ interface LuaSurfaceCreateEntityParamsLinkedContainer extends BaseLuaSurfaceCrea
19811
19822
  */
19812
19823
  interface LuaSurfaceCreateEntityParamsLoader extends BaseLuaSurfaceCreateEntityParams {
19813
19824
  'belt_stack_size_override'?: uint8;
19825
+ 'control_behavior'?: LoaderBlueprintControlBehavior;
19814
19826
  'filter_mode'?: PrototypeFilterMode;
19815
19827
  'filters'?: SlotFilter[];
19816
19828
  /**
@@ -19824,6 +19836,7 @@ interface LuaSurfaceCreateEntityParamsLoader extends BaseLuaSurfaceCreateEntityP
19824
19836
  */
19825
19837
  interface LuaSurfaceCreateEntityParamsLoader1x1 extends BaseLuaSurfaceCreateEntityParams {
19826
19838
  'belt_stack_size_override'?: uint8;
19839
+ 'control_behavior'?: LoaderBlueprintControlBehavior;
19827
19840
  'filter_mode'?: PrototypeFilterMode;
19828
19841
  'filters'?: SlotFilter[];
19829
19842
  /**
@@ -20133,7 +20146,7 @@ interface LuaSurfaceCreateEntityParamsTurret extends BaseLuaSurfaceCreateEntityP
20133
20146
  * Defaults to `false`.
20134
20147
  */
20135
20148
  'ignore-unprioritised'?: boolean;
20136
- 'priority-list'?: SlotFilter;
20149
+ 'priority-list'?: SlotFilter[];
20137
20150
  }
20138
20151
  /**
20139
20152
  *
@@ -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.69
5
+ // Factorio version 2.0.72
6
6
  // API version 6
7
7
 
8
8
  declare namespace runtime {
@@ -119,7 +119,7 @@ type Alignment = 'top-left' | 'middle-left' | /**
119
119
  'left' | 'bottom-left' | 'top-center' | 'middle-center' | /**
120
120
  * The same as `"middle-center"`
121
121
  */
122
- 'center' | 'bottom-center' | 'top-right' | /**
122
+ 'center' | 'bottom-center' | 'top-right' | 'middle-right' | /**
123
123
  * The same as `"middle-right"`
124
124
  */
125
125
  'right' | 'bottom-right';
@@ -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
  *
@@ -4118,7 +4179,7 @@ interface LogisticSection {
4118
4179
  /**
4119
4180
  * Defaults to true.
4120
4181
  */
4121
- active?: float;
4182
+ active?: boolean;
4122
4183
  }
4123
4184
  interface LogisticSections {
4124
4185
  sections?: LogisticSection[];
@@ -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.69
5
+ // Factorio version 2.0.72
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.69
5
+ // Factorio version 2.0.72
6
6
  // API version 6
7
7
 
8
8
  declare namespace defines {
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.69
5
+ // Factorio version 2.0.72
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.69
5
+ // Factorio version 2.0.72
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.69
5
+ // Factorio version 2.0.72
6
6
  // API version 6
7
7
 
8
8
  declare namespace prototype {
@@ -699,6 +699,9 @@ interface ArtilleryFlarePrototype extends EntityPrototype {
699
699
  * Shadow variation variation count and individual frame count must be equal to picture variation count.
700
700
  */
701
701
  shadows?: AnimationVariations;
702
+ /**
703
+ * Only artillery turrets/wagons whose ammo's {@link ammo_category | prototype:AmmoItemPrototype::ammo_category} matches this category will shoot at this flare. Defaults to all ammo categories being able to shoot at this flare.
704
+ */
702
705
  shot_category?: AmmoCategoryID;
703
706
  /**
704
707
  * How many artillery shots should be fired at the position of this flare.
@@ -2688,7 +2691,7 @@ interface DeliverImpactCombination {
2688
2691
  * Name of the deliver impact combination.
2689
2692
  */
2690
2693
  name: string;
2691
- trigger_effect_item: TriggerEffectItem;
2694
+ trigger_effect_item: TriggerEffect;
2692
2695
  type: 'deliver-impact-combination';
2693
2696
  }
2694
2697
  /**
@@ -2712,7 +2715,7 @@ interface DestroyCliffAchievementPrototype extends AchievementPrototype {
2712
2715
  limited_to_one_game?: boolean;
2713
2716
  }
2714
2717
  /**
2715
- * A display panel prototype to provide a prototype for display panels.
2718
+ * Entity that display a signal icon and some text, either configured directly in the entity or through the circuit network.
2716
2719
  */
2717
2720
  interface DisplayPanelPrototype extends EntityWithOwnerPrototype {
2718
2721
  /**
@@ -2732,7 +2735,7 @@ interface DisplayPanelPrototype extends EntityWithOwnerPrototype {
2732
2735
  draw_circuit_wires?: boolean;
2733
2736
  draw_copper_wires?: boolean;
2734
2737
  /**
2735
- * The maximum width of the text on the display panel.
2738
+ * The maximum display width of the text on the display panel. If the text exceeds this width it will be wrapped so that it continues on the next line.
2736
2739
  */
2737
2740
  max_text_width?: uint32;
2738
2741
  /**
@@ -9211,6 +9214,10 @@ interface SurfacePrototype extends Prototype {
9211
9214
  * Only loaded if `icons` is not defined.
9212
9215
  */
9213
9216
  icon_size?: SpriteSizeType;
9217
+ /**
9218
+ * Can't be an empty array.
9219
+ */
9220
+ icons?: IconData[];
9214
9221
  surface_properties?: LuaTable<SurfacePropertyID, double>;
9215
9222
  }
9216
9223
  /**
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.69
5
+ // Factorio version 2.0.72
6
6
  // API version 6
7
7
 
8
8
  declare namespace prototype {
@@ -188,7 +188,7 @@ type Alignment = 'top-left' | 'middle-left' | /**
188
188
  'left' | 'bottom-left' | 'top-center' | 'middle-center' | /**
189
189
  * The same as `"middle-center"`
190
190
  */
191
- 'center' | 'bottom-center' | 'top-right' | /**
191
+ 'center' | 'bottom-center' | 'top-right' | 'middle-right' | /**
192
192
  * The same as `"middle-right"`
193
193
  */
194
194
  'right' | 'bottom-right';
@@ -2323,6 +2323,14 @@ interface CargoStationParameters {
2323
2323
  */
2324
2324
  giga_hatch_definitions?: GigaCargoHatchDefinition[];
2325
2325
  hatch_definitions?: CargoHatchDefinition[];
2326
+ /**
2327
+ * If set to false, this station will not accept incoming cargo units even if it has hatches that can. (can occur through linked cargo bays)
2328
+ */
2329
+ is_input_station?: boolean;
2330
+ /**
2331
+ * If set to false, this station will not dispatch cargo units even if it has hatches that can. (can occur through linked cargo bays)
2332
+ */
2333
+ is_output_station?: boolean;
2326
2334
  /**
2327
2335
  * Packed cargo units will wait for the full order to be completed. This is useful to save rockets in rocket silos when items trickle in slowly. The platform hub has immediate access to items so false is better to allow partial fulfillments.
2328
2336
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "factorio-types",
3
- "version": "1.2.51",
3
+ "version": "1.2.53",
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.69",
26
+ "factorioVersion": "2.0.72",
27
27
  "dependencies": {
28
28
  "lua-types": "^2.13.1"
29
29
  },