factorio-types 1.2.7 → 1.2.9

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.13
5
+ // Factorio version 2.0.15
6
6
  // API version 6
7
7
 
8
8
  declare namespace runtime {
@@ -273,7 +273,6 @@ interface LuaAssemblingMachineControlBehavior extends LuaGenericOnOffControlBeha
273
273
  * Prototype of an asteroid chunk.
274
274
  */
275
275
  interface LuaAsteroidChunkPrototype extends LuaPrototypeBase {
276
- readonly collision_box: BoundingBox;
277
276
  readonly hide_from_signal_gui: boolean;
278
277
  readonly item_signal_alias?: LuaItemPrototype;
279
278
  readonly mineable_properties: MineableProperties;
@@ -6732,6 +6731,10 @@ interface LuaEntity extends LuaControl {
6732
6731
  * The container entity this loader is pointing at/pulling from depending on the {@link LuaEntity::loader_type | runtime:LuaEntity::loader_type}, if any.
6733
6732
  */
6734
6733
  readonly loader_container?: LuaEntity;
6734
+ /**
6735
+ * The filter mode for this loader. `nil` if this loader does not support filters.
6736
+ */
6737
+ loader_filter_mode?: 'none' | 'whitelist' | 'blacklist';
6735
6738
  /**
6736
6739
  * Whether this loader gets items from or puts item into a container.
6737
6740
  */
@@ -6750,7 +6753,7 @@ interface LuaEntity extends LuaControl {
6750
6753
  */
6751
6754
  logistic_network: LuaLogisticNetwork;
6752
6755
  /**
6753
- * Max health of this entity. Quality of entity is taken into account.
6756
+ * Max health of this entity.
6754
6757
  */
6755
6758
  readonly max_health: float;
6756
6759
  /**
@@ -7895,6 +7898,7 @@ interface LuaEntityPrototype extends LuaPrototypeBase {
7895
7898
  * 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.
7896
7899
  */
7897
7900
  readonly object_name: string;
7901
+ readonly per_lane_filters?: boolean;
7898
7902
  /**
7899
7903
  * The beacon profile: extra multiplier applied to the effects received from beacon by the effect receiver based on amount of beacons that reach that effect receiver
7900
7904
  */
@@ -8943,7 +8947,7 @@ interface LuaForce {
8943
8947
  create_space_platform(this: void, table: {
8944
8948
  name?: string;
8945
8949
  planet: SpaceLocationID;
8946
- starter_pack: ItemID;
8950
+ starter_pack: ItemWithQualityID;
8947
8951
  }): LuaSpacePlatform | null;
8948
8952
  /**
8949
8953
  * Disable all recipes and technologies. Only recipes and technologies enabled explicitly will be useable from this point.
@@ -11912,7 +11916,7 @@ interface LuaItemCommon {
11912
11916
  trees_and_rocks_only: boolean;
11913
11917
  }
11914
11918
  /**
11915
- * Prototype of an item. For example, an item prototype can be obtained from {@link LuaGameScript::item_prototypes | runtime:LuaGameScript::item_prototypes} by its name: `prototypes.item["iron-plate"]`.
11919
+ * Prototype of an item. For example, an item prototype can be obtained from {@link LuaPrototypes::item | runtime:LuaPrototypes::item} by its name: `prototypes.item["iron-plate"]`.
11916
11920
  */
11917
11921
  interface LuaItemPrototype extends LuaPrototypeBase {
11918
11922
  /**
@@ -15719,6 +15723,7 @@ interface LuaSimulation {
15719
15723
  * 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.
15720
15724
  */
15721
15725
  readonly object_name: string;
15726
+ smart_belt_building?: boolean;
15722
15727
  /**
15723
15728
  * 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.
15724
15729
  */
@@ -15879,7 +15884,7 @@ interface LuaSpacePlatform {
15879
15884
  /**
15880
15885
  * The starter pack used to create this space platform.
15881
15886
  */
15882
- readonly starter_pack: LuaItemPrototype;
15887
+ readonly starter_pack: ItemIDAndQualityIDPair;
15883
15888
  /**
15884
15889
  * The current state of this space platform.
15885
15890
  */
@@ -16790,8 +16795,9 @@ interface LuaSurface {
16790
16795
  * Spawn pollution at the given position.
16791
16796
  * @param source Where to spawn the pollution.
16792
16797
  * @param amount How much pollution to add.
16798
+ * @param prototype The entity prototype to attribute the pollution change to in statistics. If not defined, the pollution change will not show up in statistics.
16793
16799
  */
16794
- pollute(this: void, source: MapPosition, amount: double): void;
16800
+ pollute(this: void, source: MapPosition, amount: double, prototype?: EntityID): void;
16795
16801
  /**
16796
16802
  * Print text to the chat console of all players on this surface.
16797
16803
  *
@@ -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.13
5
+ // Factorio version 2.0.15
6
6
  // API version 6
7
7
 
8
8
  declare namespace runtime {
@@ -1483,7 +1483,7 @@ interface EntityPrototypeFilterFlag extends BaseEntityPrototypeFilter {
1483
1483
  /**
1484
1484
  * For use within nested filters such as the `place-result` filter of array{@link [ItemPrototypeFilter | runtime:ItemPrototypeFilter}].
1485
1485
  *
1486
- * To get a specific prototype by name, see {@link LuaGameScript::entity_prototypes | runtime:LuaGameScript::entity_prototypes}.
1486
+ * To get a specific prototype by name, see {@link LuaPrototypes::entity | runtime:LuaPrototypes::entity}.
1487
1487
  * Applies to variant case `name`
1488
1488
  */
1489
1489
  interface EntityPrototypeFilterName extends BaseEntityPrototypeFilter {
@@ -1999,7 +1999,7 @@ interface FluidPrototypeFilterMaxTemperature extends BaseFluidPrototypeFilter {
1999
1999
  /**
2000
2000
  * For use within nested filters such as the `has-product-fluid` filter of array{@link [RecipePrototypeFilter | runtime:RecipePrototypeFilter}].
2001
2001
  *
2002
- * To get a specific prototype by name, see {@link LuaGameScript::fluid_prototypes | runtime:LuaGameScript::fluid_prototypes}.
2002
+ * To get a specific prototype by name, see {@link LuaPrototypes::fluid | runtime:LuaPrototypes::fluid}.
2003
2003
  * Applies to variant case `name`
2004
2004
  */
2005
2005
  interface FluidPrototypeFilterName extends BaseFluidPrototypeFilter {
@@ -2705,7 +2705,7 @@ interface ItemPrototypeFilterFuelValue extends BaseItemPrototypeFilter {
2705
2705
  /**
2706
2706
  * For use within nested filters such as the `has-product-item` filter of array{@link [RecipePrototypeFilter | runtime:RecipePrototypeFilter}].
2707
2707
  *
2708
- * To get a specific prototype by name, see {@link LuaGameScript::item_prototypes | runtime:LuaGameScript::item_prototypes}.
2708
+ * To get a specific prototype by name, see {@link LuaPrototypes::item | runtime:LuaPrototypes::item}.
2709
2709
  * Applies to variant case `name`
2710
2710
  */
2711
2711
  interface ItemPrototypeFilterName extends BaseItemPrototypeFilter {
@@ -5527,6 +5527,7 @@ interface PipeConnection {
5527
5527
  target_pipe_connection_index?: uint;
5528
5528
  }
5529
5529
  interface PipeConnectionDefinition {
5530
+ connection_type: 'normal' | 'underground' | 'linked';
5530
5531
  /**
5531
5532
  * The 4 cardinal direction connection points for this pipe.
5532
5533
  */
@@ -5537,6 +5538,10 @@ interface PipeConnectionDefinition {
5537
5538
  max_underground_distance?: uint;
5538
5539
  flow_direction: 'input-output' | 'input' | 'output';
5539
5540
  direction: defines.direction;
5541
+ /**
5542
+ * Only supplied if `connection_type` is `"linked"`.
5543
+ */
5544
+ linked_connection_id?: uint32;
5540
5545
  }
5541
5546
  interface PlaceAsTileResult {
5542
5547
  /**
@@ -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.13
5
+ // Factorio version 2.0.15
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.13
5
+ // Factorio version 2.0.15
6
6
  // API version 6
7
7
 
8
8
  declare namespace defines {
@@ -1151,30 +1151,31 @@ enum input_action {
1151
1151
  switch_connect_to_logistic_network = 240,
1152
1152
  switch_constant_combinator_state = 241,
1153
1153
  switch_inserter_filter_mode_state = 242,
1154
- switch_mining_drill_filter_mode_state = 243,
1155
- switch_power_switch_state = 244,
1156
- take_equipment = 245,
1157
- toggle_artillery_auto_targeting = 246,
1158
- toggle_deconstruction_item_entity_filter_mode = 247,
1159
- toggle_deconstruction_item_tile_filter_mode = 248,
1160
- toggle_driving = 249,
1161
- toggle_enable_vehicle_logistics_while_moving = 250,
1162
- toggle_entity_logistic_requests = 251,
1163
- toggle_equipment_movement_bonus = 252,
1164
- toggle_map_editor = 253,
1165
- toggle_personal_logistic_requests = 254,
1166
- toggle_personal_roboport = 255,
1167
- toggle_selected_entity = 256,
1168
- toggle_show_entity_info = 257,
1169
- translate_string = 258,
1170
- trash_not_requested_items = 259,
1171
- undo = 260,
1172
- upgrade = 261,
1173
- upgrade_opened_blueprint_by_item = 262,
1174
- upgrade_opened_blueprint_by_record = 263,
1175
- use_item = 264,
1176
- wire_dragging = 265,
1177
- write_to_console = 266
1154
+ switch_loader_filter_mode = 243,
1155
+ switch_mining_drill_filter_mode_state = 244,
1156
+ switch_power_switch_state = 245,
1157
+ take_equipment = 246,
1158
+ toggle_artillery_auto_targeting = 247,
1159
+ toggle_deconstruction_item_entity_filter_mode = 248,
1160
+ toggle_deconstruction_item_tile_filter_mode = 249,
1161
+ toggle_driving = 250,
1162
+ toggle_enable_vehicle_logistics_while_moving = 251,
1163
+ toggle_entity_logistic_requests = 252,
1164
+ toggle_equipment_movement_bonus = 253,
1165
+ toggle_map_editor = 254,
1166
+ toggle_personal_logistic_requests = 255,
1167
+ toggle_personal_roboport = 256,
1168
+ toggle_selected_entity = 257,
1169
+ toggle_show_entity_info = 258,
1170
+ translate_string = 259,
1171
+ trash_not_requested_items = 260,
1172
+ undo = 261,
1173
+ upgrade = 262,
1174
+ upgrade_opened_blueprint_by_item = 263,
1175
+ upgrade_opened_blueprint_by_record = 264,
1176
+ use_item = 265,
1177
+ wire_dragging = 266,
1178
+ write_to_console = 267
1178
1179
  }
1179
1180
  enum input_method {
1180
1181
  game_controller = 1,
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.13
5
+ // Factorio version 2.0.15
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.13
5
+ // Factorio version 2.0.15
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.13
5
+ // Factorio version 2.0.15
6
6
  // API version 6
7
7
 
8
8
  declare namespace prototype {
@@ -299,6 +299,12 @@ interface AmmoTurretPrototype extends TurretPrototype {
299
299
  * Specifies an animation that can be used with {@link LuaRendering::draw_animation | runtime:LuaRendering::draw_animation} at runtime.
300
300
  */
301
301
  interface AnimationPrototype {
302
+ /**
303
+ * Only loaded if `layers` is not defined.
304
+ *
305
+ * If `true`, the sprite may be downsampled to half its size on load even when 'Sprite quality' graphics setting is set to 'High'. Whether downsampling happens depends on detected hardware and other graphics settings.
306
+ */
307
+ allow_forced_downscale?: bool;
302
308
  /**
303
309
  * Only loaded if `layers` is not defined.
304
310
  *
@@ -824,7 +830,6 @@ interface AssemblingMachinePrototype extends CraftingMachinePrototype {
824
830
  ingredient_count?: uint8;
825
831
  }
826
832
  interface AsteroidChunkPrototype extends Prototype {
827
- collision_box?: SimpleBoundingBox;
828
833
  dying_trigger_effect?: TriggerEffect;
829
834
  graphics_set?: AsteroidGraphicsSet;
830
835
  hide_from_signal_gui?: bool;
@@ -5107,6 +5112,10 @@ interface LoaderPrototype extends TransportBeltConnectablePrototype {
5107
5112
  * Loader will not create stacks on belt that are larger than this value. Must be >= 1.
5108
5113
  */
5109
5114
  max_belt_stack_size?: uint8;
5115
+ /**
5116
+ * If filters are per lane. Can only be set to true if filter_count is equal to 2.
5117
+ */
5118
+ per_lane_filters?: bool;
5110
5119
  structure?: LoaderStructure;
5111
5120
  structure_render_layer?: RenderLayer;
5112
5121
  }
@@ -8198,6 +8207,12 @@ interface SplitterPrototype extends TransportBeltConnectablePrototype {
8198
8207
  ```
8199
8208
  */
8200
8209
  interface SpritePrototype {
8210
+ /**
8211
+ * Only loaded if `layers` is not defined.
8212
+ *
8213
+ * If `true`, the sprite may be downsampled to half its size on load even when 'Sprite quality' graphics setting is set to 'High'. Whether downsampling happens depends on detected hardware and other graphics settings.
8214
+ */
8215
+ allow_forced_downscale?: bool;
8201
8216
  /**
8202
8217
  * Only loaded if `layers` is not defined.
8203
8218
  */
@@ -9571,9 +9586,9 @@ interface UtilityConstants extends PrototypeBase {
9571
9586
  freezing_temperature: double;
9572
9587
  frozen_color_lookup: ColorLookupTable;
9573
9588
  ghost_layer: CollisionLayerID;
9589
+ ghost_shader_tint: GhostTintSet;
9590
+ ghost_shaderless_tint: GhostTintSet;
9574
9591
  ghost_shimmer_settings: GhostShimmerConfig;
9575
- ghost_tint: Color;
9576
- ghost_tint_delivering: Color;
9577
9592
  gui_remark_color: Color;
9578
9593
  gui_search_match_background_color: Color;
9579
9594
  gui_search_match_foreground_color: Color;
@@ -9694,8 +9709,6 @@ interface UtilityConstants extends PrototypeBase {
9694
9709
  space_platform_relative_speed_factor: double;
9695
9710
  space_platform_starfield_movement_vector: Vector;
9696
9711
  spawner_evolution_factor_health_modifier: float;
9697
- tile_ghost_tint: Color;
9698
- tile_ghost_tint_delivering: Color;
9699
9712
  /**
9700
9713
  * Must be >= 1.
9701
9714
  */
@@ -10208,6 +10221,7 @@ interface UtilitySprites extends PrototypeBase {
10208
10221
  mod_downloads_count: Sprite;
10209
10222
  mod_last_updated: Sprite;
10210
10223
  mouse_cursor: Sprite;
10224
+ mouse_cursor_macos: Sprite;
10211
10225
  move_tag: Sprite;
10212
10226
  multiplayer_waiting_icon: Sprite;
10213
10227
  nature_icon: Sprite;
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.13
5
+ // Factorio version 2.0.15
6
6
  // API version 6
7
7
 
8
8
  declare namespace prototype {
@@ -4946,6 +4946,16 @@ interface GhostShimmerOverlayData {
4946
4946
  x: float;
4947
4947
  y: float;
4948
4948
  }
4949
+ interface GhostTintSet {
4950
+ ghost_delivery_tint: Color;
4951
+ ghost_tint: Color;
4952
+ tile_ghost_delivery_tint: Color;
4953
+ tile_ghost_tint: Color;
4954
+ /**
4955
+ * Wires are hard to read when the ghost_tint is very satured, so they use a separate tint color for better fine tuning.
4956
+ */
4957
+ wire_tint: Color;
4958
+ }
4949
4959
  interface GigaCargoHatchDefinition {
4950
4960
  /**
4951
4961
  * Cannot use `fade_ticks`.
@@ -9723,6 +9733,10 @@ interface SpriteSheet extends SpriteParameters {
9723
9733
  }
9724
9734
  type SpriteSizeType = int16;
9725
9735
  interface SpriteSource {
9736
+ /**
9737
+ * If `true`, the sprite may be downsampled to half its size on load even when 'Sprite quality' graphics setting is set to 'High'. Whether downsampling happens depends on detected hardware and other graphics settings.
9738
+ */
9739
+ allow_forced_downscale?: bool;
9726
9740
  /**
9727
9741
  * The path to the sprite file to use.
9728
9742
  * This property is required, but marked as optional due to typescript inheritance limitations
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "factorio-types",
3
- "version": "1.2.7",
3
+ "version": "1.2.9",
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.13",
26
+ "factorioVersion": "2.0.15",
27
27
  "dependencies": {
28
28
  "lua-types": "^2.13.1"
29
29
  },
package/src/core.d.ts CHANGED
@@ -30,7 +30,10 @@ declare const serpent: Serpent;
30
30
  // can eventually fix these on a per-case basis
31
31
  type Table = any;
32
32
 
33
+ // These ones seem to be strangely missing from concepts and therefore not available in the runtime namespace
33
34
  type uint = number;
35
+ type uint32 = number;
36
+ type bool = boolean;
34
37
 
35
38
  /*
36
39
  * The data.extend method. It's the primary way to add prototypes to the data table.