typed-factorio 0.20.0-beta.1 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
package/Changelog.md CHANGED
@@ -1,8 +1,13 @@
1
+ # v1.0.0
2
+
3
+ - This project now has all the features that was originally planned, and can now guarantee reasonable backwards compatibility for future releases. As such, it now deserves the v1.0.0. Goodbye to [Zer0Ver](http://0ver.org)!
4
+ - Updated to factorio version 1.1.57
5
+
1
6
  # v0.20.0
2
7
 
3
8
  - Updated to factorio version 1.1.56
4
- - Added custom-index-template.d.ts. You can use this if you would like to make a "custom" modification of the type definitions.
5
- - **This is an opt-in**: Some numeric types which represent indices/number,e.g. player_index, entity_number, are now branded numbers with their own type, e.g. `PlayerIndex` and `EntityNumber`. See the README for more info.
9
+ - This is an **opt-in** feature: Some numeric types which represent indices/number,e.g. player_index, entity_number, are now branded numbers with their own type, e.g. `PlayerIndex` and `EntityNumber`. See the README for more info.
10
+ - Added custom-index-template.d.ts to assist trying out custom changes to types in a project.
6
11
 
7
12
  # v0.19.0
8
13
 
@@ -39,8 +44,8 @@
39
44
  # v0.15.0
40
45
 
41
46
  - Table or array concepts are now declared in table form wherever it is an "read" position.
42
- - This works with setter overloading for applicable properties: `player.color.x; player.color = [1, 1, 1]` is now valid!
43
- - This also applies to concepts/complex types which contain table_or_array properties.
47
+ - This works with setter overloading for applicable properties: `player.color.x; player.color = [1, 1, 1]` is now valid!
48
+ - This also applies to concepts/complex types which contain table_or_array properties.
44
49
  - Some concepts now also have a special form where it is known to be in a "read" position, where all table_or_array concepts are declared in table form. These concepts are suffixed with "Read", e.g. `ScriptAreaRead`.
45
50
  - Arrays which are known to be in a "write" only form (e.g. method parameters) now are marked readonly. This means you can now pass readonly arrays to these methods.
46
51
  - `MapPosition` is now a table or array concept.
@@ -56,17 +61,17 @@
56
61
  - LuaStyle size, margin/padding setters now have more specific array types. These array types are `SizeArray` and `StyleValuesArray` for size and margin/padding, respectively.
57
62
  - `@noSelf` annotation is now only present when necessary.
58
63
  - For classes with subclasses:
59
- - The original class name (e.g. `LuaItemStack`) still contains attributes of all subclasses (same as before).
60
- - There is now a `Base` type (e.g. `BaseItemStack`) which only includes attributes common to all subclasses.
61
- - There is a separate type definition for each subclass, e.g. `BlueprintItem`. Note that one instance may still belong to multiple subclasses (the subclasses are not mutually exclusive).
62
- - The above two can be optionally used for stricter types.
64
+ - The original class name (e.g. `LuaItemStack`) still contains attributes of all subclasses (same as before).
65
+ - There is now a `Base` type (e.g. `BaseItemStack`) which only includes attributes common to all subclasses.
66
+ - There is a separate type definition for each subclass, e.g. `BlueprintItem`. Note that one instance may still belong to multiple subclasses (the subclasses are not mutually exclusive).
67
+ - The above two can be optionally used for stricter types.
63
68
 
64
69
  # v0.13.2
65
70
 
66
71
  - Fix: resize_to_sprite property should not be on subclass sprite-button
67
72
  - Fix: ChooseElemButtonSpec filters should be named elem_filters
68
73
  - Switch back to `/latest` api docs link
69
- - New version of web api docs is now active
74
+ - New version of web api docs is now active
70
75
 
71
76
  # v0.13.0
72
77
 
@@ -102,7 +107,7 @@
102
107
  # v0.7.3
103
108
 
104
109
  - Update to factorio version 1.1.42
105
- - No api changes, but improvements to descriptions
110
+ - No api changes, but improvements to descriptions
106
111
 
107
112
  # v0.7.2
108
113
 
package/README.md CHANGED
@@ -30,10 +30,7 @@ yarn add typed-factorio
30
30
 
31
31
  This will add the types for the runtime stage to your entire project.
32
32
 
33
- Notes:
34
- > When types are updated, or released for a new factorio version, you will need update your package version to get the types.
35
- >
36
- > There is an opt-in feature for stricter index types, see [Strict index types](#Strict index types) for more details.
33
+ Note: When types are updated, or released for a new factorio version, you will need update your package version to get the types.
37
34
 
38
35
  ### Settings and data stage
39
36
 
@@ -114,7 +111,6 @@ Table-or-array types will appear in the Table form when known to be in a read po
114
111
 
115
112
  For some concepts, there is also a special form for when the concept is used in a "read" position, where all table-or-array types are in Table form. These types are suffixed with `Read`, e.g. `ScriptPositionRead`.
116
113
 
117
-
118
114
  ### Types with subclasses
119
115
 
120
116
  Some classes have attributes that are documented to only work on particular subclasses. For these classes, e.g. `LuaEntity`, there are specific types that you can _optionally_ use:
@@ -134,11 +130,9 @@ This is done both to provide more accurate types, and for possible integration w
134
130
 
135
131
  ### Strict index types
136
132
 
137
- This feature is recommended, but currently is a **opt-in**. To opt in, use `typed-factorio/runtime/strict-index-types` instead of `typed-factorio/runtime` in your `tsconfig.json`.
138
-
139
- Some `uint` types which represent indices, e.g. player_index, entity_number, are now "branded" numbers with their own type, e.g. `PlayerIndex` and `EntityNumber`. These are assignable to `number`, but `number` is not assignable to them.
140
- These are indices that do not index into an array-like structure, and otherwise should usually not have arithmetic done to them. So, using a separate type helps ensure correctness.
141
- You can still use these types as keys in an index signature, e.g. `{ [index: PlayerIndex]: "foo" }`.
142
- You can cast "plain" numbers to these types, e.g. `2 as PlayerIndex`, only do this with some care.
133
+ This is a recommended **opt-in** feature. To opt in, add `"typed-factorio/strict-index-types"` to `compilerOptions > types` in your tsconfig.json (in addition to `"typed-factorio/runtime"`).
143
134
 
144
- - `player_index` and `surface_index` still allow the numeric constant 1 as a valid index, representing the first player or the default surface, respectively. This is allowed as this is a common enough use case.
135
+ Some `uint` types which represent indices, e.g. player_index, entity_number, can be "branded" numbers with their own type, e.g. `PlayerIndex` and `EntityNumber`. These are assignable to `number`, but a plain `number` is not directly assignable to them. This helps ensure correctness.
136
+ These are indices that do not index into an array-like structure, and otherwise should usually not have arithmetic done to them.
137
+ You can use these types as keys in an index signature, e.g. `{ [index: PlayerIndex]: "foo" }`.
138
+ You can cast "plain" numbers to these types, e.g. `1 as PlayerIndex`, do this with caution.
@@ -2,8 +2,6 @@
2
2
  // For example, if you want to modify a file, copy the file you want to modify to your project and make the changes. Then, copy this template file into your project and remove the line corresponding to modified file.
3
3
  // If you think your modification will be useful to others, please consider making a change suggestion by creating an issue on GitHub.
4
4
 
5
- // Replace "index-types.d.ts" with "index-types-strict.d.ts" below if you want strict index types.
6
-
7
5
  /// <reference types="lua-types/5.2" />
8
6
 
9
7
  // generated
@@ -1895,25 +1895,25 @@ interface LuaCustomInputPrototype {
1895
1895
  */
1896
1896
  readonly action: string
1897
1897
  /**
1898
- * If this custom input is enabled. Disabled custom inputs exist but are not used by the game.
1898
+ * Whether this custom input is enabled. Disabled custom inputs exist but are not used by the game.
1899
1899
  *
1900
1900
  * {@link https://lua-api.factorio.com/latest/LuaCustomInputPrototype.html#LuaCustomInputPrototype.enabled View documentation}
1901
1901
  */
1902
1902
  readonly enabled: boolean
1903
1903
  /**
1904
- * If this custom input is enabled while using the spectator controller.
1904
+ * Whether this custom input is enabled while using the spectator controller.
1905
1905
  *
1906
1906
  * {@link https://lua-api.factorio.com/latest/LuaCustomInputPrototype.html#LuaCustomInputPrototype.enabled_while_spectating View documentation}
1907
1907
  */
1908
1908
  readonly enabled_while_spectating: boolean
1909
1909
  /**
1910
- * If this custom input is enabled while using the cutscene controller.
1910
+ * Whether this custom input is enabled while using the cutscene controller.
1911
1911
  *
1912
1912
  * {@link https://lua-api.factorio.com/latest/LuaCustomInputPrototype.html#LuaCustomInputPrototype.enabled_while_in_cutscene View documentation}
1913
1913
  */
1914
1914
  readonly enabled_while_in_cutscene: boolean
1915
1915
  /**
1916
- * If this custom input will include the selected prototype (if any) when triggered.
1916
+ * Whether this custom input will include the selected prototype (if any) when triggered.
1917
1917
  *
1918
1918
  * {@link https://lua-api.factorio.com/latest/LuaCustomInputPrototype.html#LuaCustomInputPrototype.include_selected_prototype View documentation}
1919
1919
  */
@@ -2000,7 +2000,12 @@ interface LuaCustomTableMembers {
2000
2000
  */
2001
2001
  type LuaCustomTable<K extends string | number, V> = LuaCustomTableMembers &
2002
2002
  CustomTableIndexer<K, V> &
2003
- LuaPairsIterable<[number] extends [K] ? number : K, V>
2003
+ LuaPairsIterable<
2004
+ // this convoluted expression gives a number type if K includes a number, even if it includes a string, and K otherwise.
2005
+ // it also preserves number branding
2006
+ [number] extends [K extends number & IndexBrand<infer A> ? number : K] ? (K extends string ? never : K) : K,
2007
+ V
2008
+ >
2004
2009
 
2005
2010
  /**
2006
2011
  * Prototype of a damage.
@@ -4454,6 +4459,14 @@ interface LuaEntity extends LuaControl {
4454
4459
  * @remarks Can also be used on entity ghost if it contains linked-belt<br>May return entity ghost which contains linked belt to which connection is made
4455
4460
  */
4456
4461
  readonly linked_belt_neighbour: LuaEntity | undefined
4462
+ /**
4463
+ * The current radar scan progress, as a number in range [0, 1].
4464
+ *
4465
+ * _Can only be used if this is Radar_
4466
+ *
4467
+ * {@link https://lua-api.factorio.com/latest/LuaEntity.html#LuaEntity.radar_scan_progress View documentation}
4468
+ */
4469
+ readonly radar_scan_progress: float
4457
4470
  /**
4458
4471
  * 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.
4459
4472
  */
@@ -6999,6 +7012,17 @@ interface SmokeWithTriggerEntity extends BaseEntity {
6999
7012
  time_to_next_effect: uint
7000
7013
  }
7001
7014
 
7015
+ interface RadarEntity extends BaseEntity {
7016
+ /**
7017
+ * The current radar scan progress, as a number in range [0, 1].
7018
+ *
7019
+ * _Can only be used if this is Radar_
7020
+ *
7021
+ * {@link https://lua-api.factorio.com/latest/LuaEntity.html#LuaEntity.radar_scan_progress View documentation}
7022
+ */
7023
+ readonly radar_scan_progress: float
7024
+ }
7025
+
7002
7026
  /**
7003
7027
  * Prototype of an entity.
7004
7028
  *
@@ -7631,6 +7655,12 @@ interface LuaEntityPrototype {
7631
7655
  * {@link https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.void_energy_source_prototype View documentation}
7632
7656
  */
7633
7657
  readonly void_energy_source_prototype: LuaVoidEnergySourcePrototype | undefined
7658
+ /**
7659
+ * The heat buffer prototype this entity uses or `nil`.
7660
+ *
7661
+ * {@link https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.heat_buffer_prototype View documentation}
7662
+ */
7663
+ readonly heat_buffer_prototype: LuaHeatBufferPrototype | undefined
7634
7664
  /**
7635
7665
  * The log2 of grid size of the building
7636
7666
  *
@@ -7649,6 +7679,30 @@ interface LuaEntityPrototype {
7649
7679
  * {@link https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.maximum_temperature View documentation}
7650
7680
  */
7651
7681
  readonly maximum_temperature: double | undefined
7682
+ /**
7683
+ * If this generator prototype burns fluid.
7684
+ *
7685
+ * {@link https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.burns_fluid View documentation}
7686
+ */
7687
+ readonly burns_fluid: boolean
7688
+ /**
7689
+ * If this generator prototype scales fluid usage.
7690
+ *
7691
+ * {@link https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.scale_fluid_usage View documentation}
7692
+ */
7693
+ readonly scale_fluid_usage: boolean
7694
+ /**
7695
+ * If this generator prototype destroys non fuel fluids.
7696
+ *
7697
+ * {@link https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.destroy_non_fuel_fluid View documentation}
7698
+ */
7699
+ readonly destroy_non_fuel_fluid: boolean
7700
+ /**
7701
+ * The default maximum power output of this generator prototype or `nil`.
7702
+ *
7703
+ * {@link https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.max_power_output View documentation}
7704
+ */
7705
+ readonly max_power_output: double | undefined
7652
7706
  /**
7653
7707
  * The target temperature of this boiler prototype or `nil`.
7654
7708
  *
@@ -8230,6 +8284,31 @@ interface LuaEntityPrototype {
8230
8284
  * {@link https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.allow_run_time_change_of_is_military_target View documentation}
8231
8285
  */
8232
8286
  readonly allow_run_time_change_of_is_military_target: boolean
8287
+ /**
8288
+ * The logistic parameters for this roboport. or `nil`.
8289
+ *
8290
+ * {@link https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.logistic_parameters View documentation}
8291
+ * @remarks Both the `charging_station_shift` and `stationing_offset` vectors are tables with `x` and `y` keys instead of an array.
8292
+ */
8293
+ readonly logistic_parameters:
8294
+ | {
8295
+ readonly spawn_and_station_height: float
8296
+ readonly spawn_and_station_shadow_height_offset: float
8297
+ readonly charge_approach_distance: float
8298
+ readonly logistic_radius: float
8299
+ readonly construction_radius: float
8300
+ readonly charging_station_count: uint
8301
+ readonly charging_distance: float
8302
+ readonly charging_station_shift: Vector
8303
+ readonly charging_energy: double
8304
+ readonly charging_threshold_distance: float
8305
+ readonly robot_vertical_acceleration: float
8306
+ readonly stationing_offset: Vector
8307
+ readonly robot_limit: uint
8308
+ readonly logistics_connection_distance: float
8309
+ readonly robots_shrink_when_entering_and_exiting: boolean
8310
+ }
8311
+ | undefined
8233
8312
  /**
8234
8313
  * Gets the current movement speed of this character, including effects from exoskeletons, tiles, stickers and shooting.
8235
8314
  *
@@ -8965,6 +9044,12 @@ interface BaseEntityPrototype {
8965
9044
  * {@link https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.void_energy_source_prototype View documentation}
8966
9045
  */
8967
9046
  readonly void_energy_source_prototype: LuaVoidEnergySourcePrototype | undefined
9047
+ /**
9048
+ * The heat buffer prototype this entity uses or `nil`.
9049
+ *
9050
+ * {@link https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.heat_buffer_prototype View documentation}
9051
+ */
9052
+ readonly heat_buffer_prototype: LuaHeatBufferPrototype | undefined
8968
9053
  /**
8969
9054
  * The log2 of grid size of the building
8970
9055
  *
@@ -8983,6 +9068,30 @@ interface BaseEntityPrototype {
8983
9068
  * {@link https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.maximum_temperature View documentation}
8984
9069
  */
8985
9070
  readonly maximum_temperature: double | undefined
9071
+ /**
9072
+ * If this generator prototype burns fluid.
9073
+ *
9074
+ * {@link https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.burns_fluid View documentation}
9075
+ */
9076
+ readonly burns_fluid: boolean
9077
+ /**
9078
+ * If this generator prototype scales fluid usage.
9079
+ *
9080
+ * {@link https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.scale_fluid_usage View documentation}
9081
+ */
9082
+ readonly scale_fluid_usage: boolean
9083
+ /**
9084
+ * If this generator prototype destroys non fuel fluids.
9085
+ *
9086
+ * {@link https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.destroy_non_fuel_fluid View documentation}
9087
+ */
9088
+ readonly destroy_non_fuel_fluid: boolean
9089
+ /**
9090
+ * The default maximum power output of this generator prototype or `nil`.
9091
+ *
9092
+ * {@link https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.max_power_output View documentation}
9093
+ */
9094
+ readonly max_power_output: double | undefined
8986
9095
  /**
8987
9096
  * The target temperature of this boiler prototype or `nil`.
8988
9097
  *
@@ -9486,6 +9595,31 @@ interface BaseEntityPrototype {
9486
9595
  * {@link https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.is_entity_with_owner View documentation}
9487
9596
  */
9488
9597
  readonly is_entity_with_owner: boolean
9598
+ /**
9599
+ * The logistic parameters for this roboport. or `nil`.
9600
+ *
9601
+ * {@link https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.logistic_parameters View documentation}
9602
+ * @remarks Both the `charging_station_shift` and `stationing_offset` vectors are tables with `x` and `y` keys instead of an array.
9603
+ */
9604
+ readonly logistic_parameters:
9605
+ | {
9606
+ readonly spawn_and_station_height: float
9607
+ readonly spawn_and_station_shadow_height_offset: float
9608
+ readonly charge_approach_distance: float
9609
+ readonly logistic_radius: float
9610
+ readonly construction_radius: float
9611
+ readonly charging_station_count: uint
9612
+ readonly charging_distance: float
9613
+ readonly charging_station_shift: Vector
9614
+ readonly charging_energy: double
9615
+ readonly charging_threshold_distance: float
9616
+ readonly robot_vertical_acceleration: float
9617
+ readonly stationing_offset: Vector
9618
+ readonly robot_limit: uint
9619
+ readonly logistics_connection_distance: float
9620
+ readonly robots_shrink_when_entering_and_exiting: boolean
9621
+ }
9622
+ | undefined
9489
9623
  /**
9490
9624
  * 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.
9491
9625
  */
@@ -11530,7 +11664,7 @@ interface LuaGameScript {
11530
11664
  */
11531
11665
  regenerate_entity(entities: string | readonly string[]): void
11532
11666
  /**
11533
- * Take a screenshot and save it to a file. The filename should include a file extension indicating the desired image format. Supports `.png`, `.jpg` / `.jpeg`, `.tga` and `.bmp`.
11667
+ * Take a screenshot of the game and save it to the `script-output` folder, located in the game's {@link https://wiki.factorio.com/User_data_directory user data directory}. The name of the image file can be specified via the `path` parameter.
11534
11668
  *
11535
11669
  * {@link https://lua-api.factorio.com/latest/LuaGameScript.html#LuaGameScript.take_screenshot View documentation}
11536
11670
  * @remarks If Factorio is running headless, this function will do nothing.
@@ -11561,7 +11695,7 @@ interface LuaGameScript {
11561
11695
  */
11562
11696
  readonly zoom?: double
11563
11697
  /**
11564
- * The sub-path in `"script-output"` to save the screenshot to. Defaults to `"screenshot.png"`.
11698
+ * The name of the image file. It should include a file extension indicating the desired format. Supports `.png`, `.jpg` /`.jpeg`, `.tga` and `.bmp`. Providing a directory path (ex. `"save/here/screenshot.png"`) will create the necessary folder structure in `script-output`. Defaults to `"screenshot.png"`.
11565
11699
  */
11566
11700
  readonly path?: string
11567
11701
  /**
@@ -11608,7 +11742,7 @@ interface LuaGameScript {
11608
11742
  */
11609
11743
  set_wait_for_screenshots_to_finish(): void
11610
11744
  /**
11611
- * Take a screenshot of the technology screen and save it to a file. The filename should include a file extension indicating the desired image format. Supports `.png`, `.jpg` / `.jpeg`, `.tga` and `.bmp`.
11745
+ * Take a screenshot of the technology screen and save it to the `script-output` folder, located in the game's {@link https://wiki.factorio.com/User_data_directory user data directory}. The name of the image file can be specified via the `path` parameter.
11612
11746
  *
11613
11747
  * {@link https://lua-api.factorio.com/latest/LuaGameScript.html#LuaGameScript.take_technology_screenshot View documentation}
11614
11748
  */
@@ -11618,7 +11752,7 @@ interface LuaGameScript {
11618
11752
  */
11619
11753
  readonly force?: ForceIdentification
11620
11754
  /**
11621
- * The sub-path in `"script-output"` to save the screenshot to. Defaults to `"technology-screenshot.png"`.
11755
+ * The name of the image file. It should include a file extension indicating the desired format. Supports `.png`, `.jpg` /`.jpeg`, `.tga` and `.bmp`. Providing a directory path (ex. `"save/here/screenshot.png"`) will create the necessary folder structure in `script-output`. Defaults to `"technology-screenshot.png"`.
11622
11756
  */
11623
11757
  readonly path?: string
11624
11758
  /**
@@ -11653,20 +11787,20 @@ interface LuaGameScript {
11653
11787
  */
11654
11788
  json_to_table(json: string): AnyBasic | undefined
11655
11789
  /**
11656
- * Write a string to a file.
11790
+ * Write a file to the `script-output` folder, located in the game's {@link https://wiki.factorio.com/User_data_directory user data directory}. The name and file extension of the file can be specified via the `filename` parameter.
11657
11791
  *
11658
11792
  * {@link https://lua-api.factorio.com/latest/LuaGameScript.html#LuaGameScript.write_file View documentation}
11659
- * @param filename Path to the file to write to.
11660
- * @param data File content
11661
- * @param append When `true`, this will append to the end of the file. Defaults to `false`, which will overwrite any pre-existing file with the new data.
11662
- * @param for_player If given, the file will only be written for this player_index. 0 means only the server if one exists.
11793
+ * @param filename The name of the file. Providing a directory path (ex. `"save/here/example.txt"`) will create the necessary folder structure in `script-output`.
11794
+ * @param data The content to write to the file.
11795
+ * @param append If `true`, `data` will be appended to the end of the file. Defaults to `false`, which will overwrite any pre-existing file with the new `data`.
11796
+ * @param for_player If given, the file will only be written for this `player_index`. Providing `0` will only write to the server's output if present.
11663
11797
  */
11664
11798
  write_file(filename: string, data: LocalisedString, append?: boolean, for_player?: uint): void
11665
11799
  /**
11666
- * Remove file or directory. Given path is taken relative to the script output directory. Can be used to remove files created by {@link LuaGameScript#write_file LuaGameScript::write_file}.
11800
+ * Remove a file or directory in the `script-output` folder, located in the game's {@link https://wiki.factorio.com/User_data_directory user data directory}. Can be used to remove files created by {@link LuaGameScript#write_file LuaGameScript::write_file}.
11667
11801
  *
11668
11802
  * {@link https://lua-api.factorio.com/latest/LuaGameScript.html#LuaGameScript.remove_path View documentation}
11669
- * @param path Path to remove, relative to the script output directory
11803
+ * @param path The path to the file or directory to remove, relative to `script-output`.
11670
11804
  */
11671
11805
  remove_path(path: string): void
11672
11806
  /**
@@ -14001,7 +14135,7 @@ interface CameraGuiElementMembers extends BaseGuiElement {
14001
14135
  */
14002
14136
  surface_index: SurfaceIndex
14003
14137
  /**
14004
- * The zoom this camera or minimap is using.
14138
+ * The zoom this camera or minimap is using. This value must be positive.
14005
14139
  *
14006
14140
  * {@link https://lua-api.factorio.com/latest/LuaGuiElement.html#LuaGuiElement.zoom View documentation}
14007
14141
  */
@@ -14197,7 +14331,7 @@ interface MinimapGuiElementMembers extends BaseGuiElement {
14197
14331
  */
14198
14332
  surface_index: SurfaceIndex
14199
14333
  /**
14200
- * The zoom this camera or minimap is using.
14334
+ * The zoom this camera or minimap is using. This value must be positive.
14201
14335
  *
14202
14336
  * {@link https://lua-api.factorio.com/latest/LuaGuiElement.html#LuaGuiElement.zoom View documentation}
14203
14337
  */
@@ -14693,6 +14827,35 @@ type GuiElementMembers =
14693
14827
  */
14694
14828
  type LuaGuiElement = GuiElementMembers & GuiElementIndexer
14695
14829
 
14830
+ /**
14831
+ * Prototype of a heat buffer.
14832
+ *
14833
+ * {@link https://lua-api.factorio.com/latest/LuaHeatBufferPrototype.html View documentation}
14834
+ * @noSelf
14835
+ */
14836
+ interface LuaHeatBufferPrototype {
14837
+ readonly max_temperature: double
14838
+ readonly default_temperature: double
14839
+ readonly specific_heat: double
14840
+ readonly max_transfer: double
14841
+ readonly min_temperature_gradient: double
14842
+ readonly min_working_temperature: double
14843
+ readonly minimum_glow_temperature: double
14844
+ readonly connections: HeatConnection[]
14845
+ /**
14846
+ * 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.
14847
+ */
14848
+ readonly valid: boolean
14849
+ /**
14850
+ * 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.
14851
+ */
14852
+ readonly object_name: "LuaHeatBufferPrototype"
14853
+ /**
14854
+ * All methods and properties that this object supports.
14855
+ */
14856
+ help(): string
14857
+ }
14858
+
14696
14859
  /**
14697
14860
  * Prototype of a heat energy source.
14698
14861
  *
@@ -14711,6 +14874,7 @@ interface LuaHeatEnergySourcePrototype {
14711
14874
  readonly min_working_temperature: double
14712
14875
  readonly minimum_glow_temperature: double
14713
14876
  readonly connections: HeatConnection[]
14877
+ readonly heat_buffer_prototype: LuaHeatBufferPrototype
14714
14878
  /**
14715
14879
  * 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.
14716
14880
  */
@@ -15376,6 +15540,14 @@ interface LuaItemPrototype {
15376
15540
  * {@link https://lua-api.factorio.com/latest/LuaItemPrototype.html#LuaItemPrototype.alt_selection_border_color View documentation}
15377
15541
  */
15378
15542
  readonly alt_selection_border_color: ColorTable
15543
+ /**
15544
+ * The color used when doing reverse selection with this selection tool prototype.
15545
+ *
15546
+ * _Can only be used if this is SelectionTool_
15547
+ *
15548
+ * {@link https://lua-api.factorio.com/latest/LuaItemPrototype.html#LuaItemPrototype.reverse_selection_border_color View documentation}
15549
+ */
15550
+ readonly reverse_selection_border_color: ColorTable
15379
15551
  /**
15380
15552
  * Flags that affect which entities will be selected.
15381
15553
  *
@@ -15392,6 +15564,14 @@ interface LuaItemPrototype {
15392
15564
  * {@link https://lua-api.factorio.com/latest/LuaItemPrototype.html#LuaItemPrototype.alt_selection_mode_flags View documentation}
15393
15565
  */
15394
15566
  readonly alt_selection_mode_flags: SelectionModeFlags
15567
+ /**
15568
+ * Flags that affect which entities will be selected during reverse selection.
15569
+ *
15570
+ * _Can only be used if this is SelectionTool_
15571
+ *
15572
+ * {@link https://lua-api.factorio.com/latest/LuaItemPrototype.html#LuaItemPrototype.reverse_selection_mode_flags View documentation}
15573
+ */
15574
+ readonly reverse_selection_mode_flags: SelectionModeFlags
15395
15575
  /**
15396
15576
  * _Can only be used if this is SelectionTool_
15397
15577
  *
@@ -15404,6 +15584,12 @@ interface LuaItemPrototype {
15404
15584
  * {@link https://lua-api.factorio.com/latest/LuaItemPrototype.html#LuaItemPrototype.alt_selection_cursor_box_type View documentation}
15405
15585
  */
15406
15586
  readonly alt_selection_cursor_box_type: string
15587
+ /**
15588
+ * _Can only be used if this is SelectionTool_
15589
+ *
15590
+ * {@link https://lua-api.factorio.com/latest/LuaItemPrototype.html#LuaItemPrototype.reverse_selection_cursor_box_type View documentation}
15591
+ */
15592
+ readonly reverse_selection_cursor_box_type: string
15407
15593
  /**
15408
15594
  * If tiles area always included when doing selection with this selection tool prototype.
15409
15595
  *
@@ -15428,6 +15614,14 @@ interface LuaItemPrototype {
15428
15614
  * {@link https://lua-api.factorio.com/latest/LuaItemPrototype.html#LuaItemPrototype.alt_entity_filter_mode View documentation}
15429
15615
  */
15430
15616
  readonly alt_entity_filter_mode: string
15617
+ /**
15618
+ * The reverse entity filter mode used by this selection tool.
15619
+ *
15620
+ * _Can only be used if this is SelectionTool_
15621
+ *
15622
+ * {@link https://lua-api.factorio.com/latest/LuaItemPrototype.html#LuaItemPrototype.reverse_alt_entity_filter_mode View documentation}
15623
+ */
15624
+ readonly reverse_alt_entity_filter_mode: string
15431
15625
  /**
15432
15626
  * The tile filter mode used by this selection tool.
15433
15627
  *
@@ -15444,6 +15638,14 @@ interface LuaItemPrototype {
15444
15638
  * {@link https://lua-api.factorio.com/latest/LuaItemPrototype.html#LuaItemPrototype.alt_tile_filter_mode View documentation}
15445
15639
  */
15446
15640
  readonly alt_tile_filter_mode: string
15641
+ /**
15642
+ * The reverse tile filter mode used by this selection tool.
15643
+ *
15644
+ * _Can only be used if this is SelectionTool_
15645
+ *
15646
+ * {@link https://lua-api.factorio.com/latest/LuaItemPrototype.html#LuaItemPrototype.reverse_tile_filter_mode View documentation}
15647
+ */
15648
+ readonly reverse_tile_filter_mode: string
15447
15649
  /**
15448
15650
  * The entity filters used by this selection tool indexed by entity name.
15449
15651
  *
@@ -15460,6 +15662,14 @@ interface LuaItemPrototype {
15460
15662
  * {@link https://lua-api.factorio.com/latest/LuaItemPrototype.html#LuaItemPrototype.alt_entity_filters View documentation}
15461
15663
  */
15462
15664
  readonly alt_entity_filters: Record<string, LuaEntityPrototype>
15665
+ /**
15666
+ * The reverse entity filters used by this selection tool indexed by entity name.
15667
+ *
15668
+ * _Can only be used if this is SelectionTool_
15669
+ *
15670
+ * {@link https://lua-api.factorio.com/latest/LuaItemPrototype.html#LuaItemPrototype.reverse_entity_filters View documentation}
15671
+ */
15672
+ readonly reverse_entity_filters: Record<string, LuaEntityPrototype>
15463
15673
  /**
15464
15674
  * The entity type filters used by this selection tool indexed by entity type.
15465
15675
  *
@@ -15478,6 +15688,15 @@ interface LuaItemPrototype {
15478
15688
  * @remarks The boolean value is meaningless and is used to allow easy lookup if a type exists in the dictionary.
15479
15689
  */
15480
15690
  readonly alt_entity_type_filters: Record<string, boolean>
15691
+ /**
15692
+ * The reverse entity type filters used by this selection tool indexed by entity type.
15693
+ *
15694
+ * _Can only be used if this is SelectionTool_
15695
+ *
15696
+ * {@link https://lua-api.factorio.com/latest/LuaItemPrototype.html#LuaItemPrototype.reverse_entity_type_filters View documentation}
15697
+ * @remarks The boolean value is meaningless and is used to allow easy lookup if a type exists in the dictionary.
15698
+ */
15699
+ readonly reverse_entity_type_filters: Record<string, boolean>
15481
15700
  /**
15482
15701
  * The tile filters used by this selection tool indexed by tile name.
15483
15702
  *
@@ -15494,6 +15713,14 @@ interface LuaItemPrototype {
15494
15713
  * {@link https://lua-api.factorio.com/latest/LuaItemPrototype.html#LuaItemPrototype.alt_tile_filters View documentation}
15495
15714
  */
15496
15715
  readonly alt_tile_filters: Record<string, LuaTilePrototype>
15716
+ /**
15717
+ * The reverse tile filters used by this selection tool indexed by tile name.
15718
+ *
15719
+ * _Can only be used if this is SelectionTool_
15720
+ *
15721
+ * {@link https://lua-api.factorio.com/latest/LuaItemPrototype.html#LuaItemPrototype.reverse_tile_filters View documentation}
15722
+ */
15723
+ readonly reverse_tile_filters: Record<string, LuaTilePrototype>
15497
15724
  /**
15498
15725
  * The number of entity filters this deconstruction item has or `nil` if this isn't a deconstruction item prototype.
15499
15726
  *
@@ -15939,6 +16166,14 @@ interface SelectionToolItemPrototype extends BaseItemPrototype {
15939
16166
  * {@link https://lua-api.factorio.com/latest/LuaItemPrototype.html#LuaItemPrototype.alt_selection_border_color View documentation}
15940
16167
  */
15941
16168
  readonly alt_selection_border_color: ColorTable
16169
+ /**
16170
+ * The color used when doing reverse selection with this selection tool prototype.
16171
+ *
16172
+ * _Can only be used if this is SelectionTool_
16173
+ *
16174
+ * {@link https://lua-api.factorio.com/latest/LuaItemPrototype.html#LuaItemPrototype.reverse_selection_border_color View documentation}
16175
+ */
16176
+ readonly reverse_selection_border_color: ColorTable
15942
16177
  /**
15943
16178
  * Flags that affect which entities will be selected.
15944
16179
  *
@@ -15955,6 +16190,14 @@ interface SelectionToolItemPrototype extends BaseItemPrototype {
15955
16190
  * {@link https://lua-api.factorio.com/latest/LuaItemPrototype.html#LuaItemPrototype.alt_selection_mode_flags View documentation}
15956
16191
  */
15957
16192
  readonly alt_selection_mode_flags: SelectionModeFlags
16193
+ /**
16194
+ * Flags that affect which entities will be selected during reverse selection.
16195
+ *
16196
+ * _Can only be used if this is SelectionTool_
16197
+ *
16198
+ * {@link https://lua-api.factorio.com/latest/LuaItemPrototype.html#LuaItemPrototype.reverse_selection_mode_flags View documentation}
16199
+ */
16200
+ readonly reverse_selection_mode_flags: SelectionModeFlags
15958
16201
  /**
15959
16202
  * _Can only be used if this is SelectionTool_
15960
16203
  *
@@ -15967,6 +16210,12 @@ interface SelectionToolItemPrototype extends BaseItemPrototype {
15967
16210
  * {@link https://lua-api.factorio.com/latest/LuaItemPrototype.html#LuaItemPrototype.alt_selection_cursor_box_type View documentation}
15968
16211
  */
15969
16212
  readonly alt_selection_cursor_box_type: string
16213
+ /**
16214
+ * _Can only be used if this is SelectionTool_
16215
+ *
16216
+ * {@link https://lua-api.factorio.com/latest/LuaItemPrototype.html#LuaItemPrototype.reverse_selection_cursor_box_type View documentation}
16217
+ */
16218
+ readonly reverse_selection_cursor_box_type: string
15970
16219
  /**
15971
16220
  * If tiles area always included when doing selection with this selection tool prototype.
15972
16221
  *
@@ -15991,6 +16240,14 @@ interface SelectionToolItemPrototype extends BaseItemPrototype {
15991
16240
  * {@link https://lua-api.factorio.com/latest/LuaItemPrototype.html#LuaItemPrototype.alt_entity_filter_mode View documentation}
15992
16241
  */
15993
16242
  readonly alt_entity_filter_mode: string
16243
+ /**
16244
+ * The reverse entity filter mode used by this selection tool.
16245
+ *
16246
+ * _Can only be used if this is SelectionTool_
16247
+ *
16248
+ * {@link https://lua-api.factorio.com/latest/LuaItemPrototype.html#LuaItemPrototype.reverse_alt_entity_filter_mode View documentation}
16249
+ */
16250
+ readonly reverse_alt_entity_filter_mode: string
15994
16251
  /**
15995
16252
  * The tile filter mode used by this selection tool.
15996
16253
  *
@@ -16007,6 +16264,14 @@ interface SelectionToolItemPrototype extends BaseItemPrototype {
16007
16264
  * {@link https://lua-api.factorio.com/latest/LuaItemPrototype.html#LuaItemPrototype.alt_tile_filter_mode View documentation}
16008
16265
  */
16009
16266
  readonly alt_tile_filter_mode: string
16267
+ /**
16268
+ * The reverse tile filter mode used by this selection tool.
16269
+ *
16270
+ * _Can only be used if this is SelectionTool_
16271
+ *
16272
+ * {@link https://lua-api.factorio.com/latest/LuaItemPrototype.html#LuaItemPrototype.reverse_tile_filter_mode View documentation}
16273
+ */
16274
+ readonly reverse_tile_filter_mode: string
16010
16275
  /**
16011
16276
  * The entity filters used by this selection tool indexed by entity name.
16012
16277
  *
@@ -16023,6 +16288,14 @@ interface SelectionToolItemPrototype extends BaseItemPrototype {
16023
16288
  * {@link https://lua-api.factorio.com/latest/LuaItemPrototype.html#LuaItemPrototype.alt_entity_filters View documentation}
16024
16289
  */
16025
16290
  readonly alt_entity_filters: Record<string, LuaEntityPrototype>
16291
+ /**
16292
+ * The reverse entity filters used by this selection tool indexed by entity name.
16293
+ *
16294
+ * _Can only be used if this is SelectionTool_
16295
+ *
16296
+ * {@link https://lua-api.factorio.com/latest/LuaItemPrototype.html#LuaItemPrototype.reverse_entity_filters View documentation}
16297
+ */
16298
+ readonly reverse_entity_filters: Record<string, LuaEntityPrototype>
16026
16299
  /**
16027
16300
  * The entity type filters used by this selection tool indexed by entity type.
16028
16301
  *
@@ -16041,6 +16314,15 @@ interface SelectionToolItemPrototype extends BaseItemPrototype {
16041
16314
  * @remarks The boolean value is meaningless and is used to allow easy lookup if a type exists in the dictionary.
16042
16315
  */
16043
16316
  readonly alt_entity_type_filters: Record<string, boolean>
16317
+ /**
16318
+ * The reverse entity type filters used by this selection tool indexed by entity type.
16319
+ *
16320
+ * _Can only be used if this is SelectionTool_
16321
+ *
16322
+ * {@link https://lua-api.factorio.com/latest/LuaItemPrototype.html#LuaItemPrototype.reverse_entity_type_filters View documentation}
16323
+ * @remarks The boolean value is meaningless and is used to allow easy lookup if a type exists in the dictionary.
16324
+ */
16325
+ readonly reverse_entity_type_filters: Record<string, boolean>
16044
16326
  /**
16045
16327
  * The tile filters used by this selection tool indexed by tile name.
16046
16328
  *
@@ -16057,6 +16339,14 @@ interface SelectionToolItemPrototype extends BaseItemPrototype {
16057
16339
  * {@link https://lua-api.factorio.com/latest/LuaItemPrototype.html#LuaItemPrototype.alt_tile_filters View documentation}
16058
16340
  */
16059
16341
  readonly alt_tile_filters: Record<string, LuaTilePrototype>
16342
+ /**
16343
+ * The reverse tile filters used by this selection tool indexed by tile name.
16344
+ *
16345
+ * _Can only be used if this is SelectionTool_
16346
+ *
16347
+ * {@link https://lua-api.factorio.com/latest/LuaItemPrototype.html#LuaItemPrototype.reverse_tile_filters View documentation}
16348
+ */
16349
+ readonly reverse_tile_filters: Record<string, LuaTilePrototype>
16060
16350
  }
16061
16351
 
16062
16352
  interface DeconstructionItemPrototype extends BaseItemPrototype {
@@ -21,7 +21,7 @@ interface CustomInputEvent extends EventData {
21
21
  */
22
22
  readonly cursor_position: MapPositionTable
23
23
  /**
24
- * Information about the prototype that is selected when the custom input is used. `nil` if none is selected.
24
+ * Information about the prototype that is selected when the custom input is used. Needs to be enabled on the custom input's prototype. `nil` if none is selected.
25
25
  */
26
26
  readonly selected_prototype?: SelectedPrototypeData
27
27
  /**
@@ -3,36 +3,47 @@
3
3
  /** @noSelfInFile */
4
4
 
5
5
  /**
6
- * See {@link LuaPlayer#index LuaPlayer.index}..
6
+ * See {@link LuaPlayer#index LuaPlayer.index}.
7
7
  *
8
- * This can be a "branded" type for stricter types; see docs on how to opt-in to this.
8
+ * If using strict-index-types, and you need to use a plain number for this type, you can use a cast, e.g. `1 as PlayerIndex`.
9
9
  */
10
- type PlayerIndex = uint
10
+ type PlayerIndex = uint & IndexBrand<"_playerIndexBrand">
11
11
 
12
12
  /**
13
- * See {@link LuaSurface#index LuaSurface.index}..
13
+ * See {@link LuaSurface#index LuaSurface.index}.
14
14
  *
15
- * This can be a "branded" type for stricter types; see docs on how to opt-in to this.
15
+ * If using strict-index-types, and you need to use a plain number for this type, you can use a cast, e.g. `1 as SurfaceIndex`.
16
16
  */
17
- type SurfaceIndex = uint
17
+ type SurfaceIndex = uint & IndexBrand<"_surfaceIndexBrand">
18
18
 
19
19
  /**
20
- * See {@link LuaEntity#unit_number LuaEntity.unit_number}..
20
+ * See {@link LuaEntity#unit_number LuaEntity.unit_number}.
21
21
  *
22
- * This can be a "branded" type for stricter types; see docs on how to opt-in to this.
22
+ * If using strict-index-types, and you need to use a plain number for this type, you can use a cast, e.g. `1 as UnitNumber`.
23
23
  */
24
- type UnitNumber = uint
24
+ type UnitNumber = uint & IndexBrand<"_unitNumberBrand">
25
25
 
26
26
  /**
27
- * See {@link LuaGuiElement#index LuaGuiElement.index}..
27
+ * See {@link LuaGuiElement#index LuaGuiElement.index}.
28
28
  *
29
- * This can be a "branded" type for stricter types; see docs on how to opt-in to this.
29
+ * If using strict-index-types, and you need to use a plain number for this type, you can use a cast, e.g. `1 as GuiElementIndex`.
30
30
  */
31
- type GuiElementIndex = uint
31
+ type GuiElementIndex = uint & IndexBrand<"_guiElementIndexBrand">
32
32
 
33
33
  /**
34
- * See {@link LuaBootstrap#register_on_entity_destroyed LuaBootstrap.register_on_entity_destroyed}..
34
+ * See {@link LuaBootstrap#register_on_entity_destroyed LuaBootstrap.register_on_entity_destroyed}.
35
35
  *
36
- * This can be a "branded" type for stricter types; see docs on how to opt-in to this.
36
+ * If using strict-index-types, and you need to use a plain number for this type, you can use a cast, e.g. `1 as RegistrationNumber`.
37
37
  */
38
- type RegistrationNumber = uint64
38
+ type RegistrationNumber = uint64 & IndexBrand<"_registrationNumberBrand">
39
+
40
+ interface __OptInFeatures {}
41
+
42
+ /**
43
+ * Equals a branded type when __OptInFeatures contains strictIndexTypes, otherwise equals `unknown`.
44
+ */
45
+ type IndexBrand<B extends string> = "strictIndexTypes" extends keyof __OptInFeatures
46
+ ? {
47
+ [K in B]: any
48
+ }
49
+ : unknown
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "typed-factorio",
3
- "version": "0.20.0-beta.1",
3
+ "version": "1.0.0",
4
4
  "description": "Featureful typescript definitions for the the Factorio modding lua api.",
5
5
  "keywords": [
6
6
  "factorio",
@@ -1,15 +1,10 @@
1
1
  /** @noSelfInFile */
2
2
  ///<reference types="lua-types/5.2" />
3
3
 
4
- /**
5
- * Iterating with `pairs` will only iterate the array part of a {@link LuaCustomTable}.
6
- *
7
- * **Note**: you can also iterate on a LuaCustomTable directly without using `pairs`, e.g. `for(const [k, v] of table)`.
8
- */
9
- declare function pairs<V>(table: LuaCustomTable<number | string, V>): LuaIterable<LuaMultiReturn<[number, V]>>
10
-
11
4
  /** **Note**: you can also iterate on a LuaCustomTable directly without using `pairs`, e.g. `for(const [k, v] of table)`. */
12
- declare function pairs<K extends number | string, V>(table: LuaCustomTable<K, V>): LuaIterable<LuaMultiReturn<[K, V]>>
5
+ declare function pairs<T extends LuaCustomTable<any, any>>(
6
+ table: T
7
+ ): LuaIterable<LuaMultiReturn<T extends Iterable<infer E> ? E : never>>
13
8
 
14
9
  /** @deprecated {@link LuaCustomTable} cannot be iterated with `ipairs`; Use {@link pairs} instead. */
15
10
  declare function ipairs(table: LuaCustomTable<any, any>): never
@@ -0,0 +1,3 @@
1
+ interface __OptInFeatures {
2
+ strictIndexTypes: true
3
+ }
@@ -1,52 +0,0 @@
1
- // This is an auto-generated file. Do not edit directly!
2
-
3
- /** @noSelfInFile */
4
-
5
- /**
6
- * See {@link LuaPlayer#index LuaPlayer.index}.
7
- *
8
- * If you need to use a number/numeric literal for this type, you can use a cast, e.g. `2 as PlayerIndex`.
9
- */
10
- type PlayerIndex =
11
- | (uint & {
12
- _playerIndexBrand: void
13
- })
14
- | 1
15
-
16
- /**
17
- * See {@link LuaSurface#index LuaSurface.index}.
18
- *
19
- * If you need to use a number/numeric literal for this type, you can use a cast, e.g. `2 as SurfaceIndex`.
20
- */
21
- type SurfaceIndex =
22
- | (uint & {
23
- _surfaceIndexBrand: void
24
- })
25
- | 1
26
-
27
- /**
28
- * See {@link LuaEntity#unit_number LuaEntity.unit_number}.
29
- *
30
- * If you need to use a number/numeric literal for this type, you can use a cast, e.g. `2 as UnitNumber`.
31
- */
32
- type UnitNumber = uint & {
33
- _unitNumberBrand: void
34
- }
35
-
36
- /**
37
- * See {@link LuaGuiElement#index LuaGuiElement.index}.
38
- *
39
- * If you need to use a number/numeric literal for this type, you can use a cast, e.g. `2 as GuiElementIndex`.
40
- */
41
- type GuiElementIndex = uint & {
42
- _guiElementIndexBrand: void
43
- }
44
-
45
- /**
46
- * See {@link LuaBootstrap#register_on_entity_destroyed LuaBootstrap.register_on_entity_destroyed}.
47
- *
48
- * If you need to use a number/numeric literal for this type, you can use a cast, e.g. `2 as RegistrationNumber`.
49
- */
50
- type RegistrationNumber = uint64 & {
51
- _registrationNumberBrand: void
52
- }
@@ -1,18 +0,0 @@
1
- /// <reference types="lua-types/5.2" />
2
-
3
- // generated
4
- /// <reference path="../generated/builtin-types.d.ts" />
5
- /// <reference path="../generated/global-objects.d.ts" />
6
- /// <reference path="../generated/defines.d.ts" />
7
- /// <reference path="../generated/events.d.ts" />
8
- /// <reference path="../generated/classes.d.ts" />
9
- /// <reference path="../generated/concepts.d.ts" />
10
- /// <reference path="../generated/index-types-strict.d.ts" />
11
-
12
- // other runtime
13
- /// <reference path="librariesAndFunctions.d.ts" />
14
- /// <reference path="pairs.d.ts" />
15
-
16
- // lualib
17
- /// <reference path="util.d.ts" />
18
- /// <reference path="mod-gui.d.ts" />