typed-factorio 1.15.0 → 1.17.0
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/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "typed-factorio",
|
3
|
-
"version": "1.
|
3
|
+
"version": "1.17.0",
|
4
4
|
"description": "Featureful typescript definitions for the the Factorio modding lua api.",
|
5
5
|
"keywords": [
|
6
6
|
"factorio",
|
@@ -33,30 +33,28 @@
|
|
33
33
|
"typescript-to-lua": "^1.6.1"
|
34
34
|
},
|
35
35
|
"devDependencies": {
|
36
|
-
"@types/jest": "^29.5.
|
37
|
-
"@types/node": "^20.
|
38
|
-
"@types/prettier": "^2.7.
|
39
|
-
"@typescript-eslint/eslint-plugin": "^5.59.
|
40
|
-
"@typescript-eslint/parser": "^5.59.
|
36
|
+
"@types/jest": "^29.5.2",
|
37
|
+
"@types/node": "^20.3.1",
|
38
|
+
"@types/prettier": "^2.7.3",
|
39
|
+
"@typescript-eslint/eslint-plugin": "^5.59.11",
|
40
|
+
"@typescript-eslint/parser": "^5.59.11",
|
41
41
|
"array.prototype.flatmap": "^1.3.1",
|
42
42
|
"chalk": "^5.2.0",
|
43
|
-
"eslint": "~8.
|
43
|
+
"eslint": "~8.42.0",
|
44
44
|
"eslint-config-prettier": "^8.8.0",
|
45
|
-
"eslint-config-standard": "^17.0.0",
|
46
45
|
"eslint-import-resolver-typescript": "^3.5.5",
|
46
|
+
"eslint-plugin-eslint-comments": "latest",
|
47
47
|
"eslint-plugin-import": "^2.27.5",
|
48
|
-
"eslint-plugin-n": "^16.0.0",
|
49
48
|
"eslint-plugin-node": "^11.1.0",
|
50
49
|
"eslint-plugin-prettier": "^4.2.1",
|
51
|
-
"eslint-plugin-promise": "^6.1.1",
|
52
50
|
"jest": "^29.5.0",
|
53
51
|
"lua-types": "^2.13.1",
|
54
52
|
"prettier": "^2.8.8",
|
55
53
|
"rimraf": "^5.0.1",
|
56
54
|
"ts-jest": "^29.1.0",
|
57
55
|
"ts-node": "^10.9.1",
|
58
|
-
"typescript": "~5.
|
59
|
-
"typescript-to-lua": "^1.
|
56
|
+
"typescript": "~5.1.3",
|
57
|
+
"typescript-to-lua": "^1.16.2"
|
60
58
|
},
|
61
59
|
"packageManager": "yarn@3.2.3"
|
62
60
|
}
|
@@ -15,7 +15,7 @@ type float = number
|
|
15
15
|
type double = number
|
16
16
|
|
17
17
|
/**
|
18
|
-
* 32-bit signed integer. Possible values are -2
|
18
|
+
* 32-bit signed integer. Possible values are -2'147'483'648 to 2'147'483'647.
|
19
19
|
* @see {@link https://lua-api.factorio.com/latest/Builtin-Types.html#int Online documentation}
|
20
20
|
*/
|
21
21
|
type int = number
|
@@ -27,7 +27,7 @@ type int = number
|
|
27
27
|
type int8 = number
|
28
28
|
|
29
29
|
/**
|
30
|
-
* 32-bit unsigned integer. Possible values are 0 to 4
|
30
|
+
* 32-bit unsigned integer. Possible values are 0 to 4'294'967'295.
|
31
31
|
* @see {@link https://lua-api.factorio.com/latest/Builtin-Types.html#uint Online documentation}
|
32
32
|
*/
|
33
33
|
type uint = number
|
@@ -45,7 +45,7 @@ type uint8 = number
|
|
45
45
|
type uint16 = number
|
46
46
|
|
47
47
|
/**
|
48
|
-
* 64-bit unsigned integer. Possible values are 0 to 18
|
48
|
+
* 64-bit unsigned integer. Possible values are 0 to 18'446'744'073'709'551'615.
|
49
49
|
* @see {@link https://lua-api.factorio.com/latest/Builtin-Types.html#uint64 Online documentation}
|
50
50
|
*/
|
51
51
|
type uint64 = number
|
@@ -1760,6 +1760,16 @@ interface LuaCustomInputPrototype {
|
|
1760
1760
|
* @see {@link https://lua-api.factorio.com/latest/LuaCustomInputPrototype.html#LuaCustomInputPrototype.alternative_key_sequence Online documentation}
|
1761
1761
|
*/
|
1762
1762
|
readonly alternative_key_sequence?: string
|
1763
|
+
/**
|
1764
|
+
* The default controller key sequence for this custom input, if any
|
1765
|
+
* @see {@link https://lua-api.factorio.com/latest/LuaCustomInputPrototype.html#LuaCustomInputPrototype.controller_key_sequence Online documentation}
|
1766
|
+
*/
|
1767
|
+
readonly controller_key_sequence?: string
|
1768
|
+
/**
|
1769
|
+
* The default controller alternative key sequence for this custom input, if any
|
1770
|
+
* @see {@link https://lua-api.factorio.com/latest/LuaCustomInputPrototype.html#LuaCustomInputPrototype.controller_alternative_key_sequence Online documentation}
|
1771
|
+
*/
|
1772
|
+
readonly controller_alternative_key_sequence?: string
|
1763
1773
|
/**
|
1764
1774
|
* The linked game control name, if any.
|
1765
1775
|
* @see {@link https://lua-api.factorio.com/latest/LuaCustomInputPrototype.html#LuaCustomInputPrototype.linked_game_control Online documentation}
|
@@ -3350,6 +3360,9 @@ interface LuaEntity extends LuaControl {
|
|
3350
3360
|
fluidbox: LuaFluidBox
|
3351
3361
|
/**
|
3352
3362
|
* The backer name assigned to this entity. Entities that support backer names are labs, locomotives, radars, roboports, and train stops. `nil` if this entity doesn't support backer names.
|
3363
|
+
*
|
3364
|
+
* **Raised events:**
|
3365
|
+
* - {@link OnEntityRenamedEvent on_entity_renamed} _instantly_
|
3353
3366
|
* @remarks While train stops get the name of a backer when placed down, players can rename them if they want to. In this case, `backer_name` returns the player-given name of the entity.
|
3354
3367
|
* @see {@link https://lua-api.factorio.com/latest/LuaEntity.html#LuaEntity.backer_name Online documentation}
|
3355
3368
|
*/
|
@@ -3365,7 +3378,7 @@ interface LuaEntity extends LuaControl {
|
|
3365
3378
|
/**
|
3366
3379
|
* The ticks left before a ghost, combat robot, highlight box or smoke with trigger is destroyed.
|
3367
3380
|
*
|
3368
|
-
* - for ghosts set to uint32 max (4
|
3381
|
+
* - for ghosts set to uint32 max (4'294'967'295) to never expire.
|
3369
3382
|
* - for ghosts Cannot be set higher than {@link LuaForce#ghost_time_to_live LuaForce::ghost_time_to_live} of the entity's force.
|
3370
3383
|
* @see {@link https://lua-api.factorio.com/latest/LuaEntity.html#LuaEntity.time_to_live Online documentation}
|
3371
3384
|
*/
|
@@ -4007,7 +4020,7 @@ interface LuaEntity extends LuaControl {
|
|
4007
4020
|
* The storage filter for this logistic storage container.
|
4008
4021
|
* @see {@link https://lua-api.factorio.com/latest/LuaEntity.html#LuaEntity.storage_filter Online documentation}
|
4009
4022
|
*/
|
4010
|
-
storage_filter
|
4023
|
+
storage_filter?: LuaItemPrototype
|
4011
4024
|
/**
|
4012
4025
|
* Whether this requester chest is set to also request from buffer chests.
|
4013
4026
|
* @remarks Useable only on entities that have requester slots.
|
@@ -4862,6 +4875,9 @@ interface BaseEntity extends LuaControl {
|
|
4862
4875
|
fluidbox: LuaFluidBox
|
4863
4876
|
/**
|
4864
4877
|
* The backer name assigned to this entity. Entities that support backer names are labs, locomotives, radars, roboports, and train stops. `nil` if this entity doesn't support backer names.
|
4878
|
+
*
|
4879
|
+
* **Raised events:**
|
4880
|
+
* - {@link OnEntityRenamedEvent on_entity_renamed} _instantly_
|
4865
4881
|
* @remarks While train stops get the name of a backer when placed down, players can rename them if they want to. In this case, `backer_name` returns the player-given name of the entity.
|
4866
4882
|
* @see {@link https://lua-api.factorio.com/latest/LuaEntity.html#LuaEntity.backer_name Online documentation}
|
4867
4883
|
*/
|
@@ -4877,7 +4893,7 @@ interface BaseEntity extends LuaControl {
|
|
4877
4893
|
/**
|
4878
4894
|
* The ticks left before a ghost, combat robot, highlight box or smoke with trigger is destroyed.
|
4879
4895
|
*
|
4880
|
-
* - for ghosts set to uint32 max (4
|
4896
|
+
* - for ghosts set to uint32 max (4'294'967'295) to never expire.
|
4881
4897
|
* - for ghosts Cannot be set higher than {@link LuaForce#ghost_time_to_live LuaForce::ghost_time_to_live} of the entity's force.
|
4882
4898
|
* @see {@link https://lua-api.factorio.com/latest/LuaEntity.html#LuaEntity.time_to_live Online documentation}
|
4883
4899
|
*/
|
@@ -5149,7 +5165,7 @@ interface BaseEntity extends LuaControl {
|
|
5149
5165
|
* The storage filter for this logistic storage container.
|
5150
5166
|
* @see {@link https://lua-api.factorio.com/latest/LuaEntity.html#LuaEntity.storage_filter Online documentation}
|
5151
5167
|
*/
|
5152
|
-
storage_filter
|
5168
|
+
storage_filter?: LuaItemPrototype
|
5153
5169
|
/**
|
5154
5170
|
* Whether this requester chest is set to also request from buffer chests.
|
5155
5171
|
* @remarks Useable only on entities that have requester slots.
|
@@ -10815,6 +10831,11 @@ interface LuaFluidBox extends Array<Fluid | nil> {
|
|
10815
10831
|
* @see {@link https://lua-api.factorio.com/latest/LuaFluidBox.html#LuaFluidBox.get_connections Online documentation}
|
10816
10832
|
*/
|
10817
10833
|
get_connections(index: uint): LuaFluidBox[]
|
10834
|
+
/**
|
10835
|
+
* Get the fluid box's connections and associated data.
|
10836
|
+
* @see {@link https://lua-api.factorio.com/latest/LuaFluidBox.html#LuaFluidBox.get_pipe_connections Online documentation}
|
10837
|
+
*/
|
10838
|
+
get_pipe_connections(index: uint): PipeConnection[]
|
10818
10839
|
/**
|
10819
10840
|
* Get a fluid box filter
|
10820
10841
|
* @param index The index of the filter to get.
|
@@ -10848,6 +10869,12 @@ interface LuaFluidBox extends Array<Fluid | nil> {
|
|
10848
10869
|
* @see {@link https://lua-api.factorio.com/latest/LuaFluidBox.html#LuaFluidBox.get_fluid_system_id Online documentation}
|
10849
10870
|
*/
|
10850
10871
|
get_fluid_system_id(index: uint): uint | nil
|
10872
|
+
/**
|
10873
|
+
* Gets counts of all fluids in the fluid system. May return `nil` for fluid wagon, fluid turret's internal buffer, or a fluidbox which does not belong to a fluid system.
|
10874
|
+
* @returns The counts, indexed by fluid name.
|
10875
|
+
* @see {@link https://lua-api.factorio.com/latest/LuaFluidBox.html#LuaFluidBox.get_fluid_system_contents Online documentation}
|
10876
|
+
*/
|
10877
|
+
get_fluid_system_contents(index: uint): Record<string, uint> | nil
|
10851
10878
|
/**
|
10852
10879
|
* Flushes all fluid from this fluidbox and its fluid system.
|
10853
10880
|
* @param fluid If provided, only this fluid is flushed.
|
@@ -12035,7 +12062,7 @@ interface LuaGameScript {
|
|
12035
12062
|
* @param name Name of the new surface.
|
12036
12063
|
* @param settings Map generation settings.
|
12037
12064
|
* @returns The surface that was just created.
|
12038
|
-
* @remarks The game currently supports a maximum of 4
|
12065
|
+
* @remarks The game currently supports a maximum of 4'294'967'295 surfaces, including the default surface.<br>Surface names must be unique.
|
12039
12066
|
* @see {@link https://lua-api.factorio.com/latest/LuaGameScript.html#LuaGameScript.create_surface Online documentation}
|
12040
12067
|
*/
|
12041
12068
|
create_surface(name: string, settings?: MapGenSettingsWrite): LuaSurface
|
@@ -12454,7 +12481,7 @@ interface LuaGameScript {
|
|
12454
12481
|
*/
|
12455
12482
|
readonly difficulty: defines.difficulty
|
12456
12483
|
/**
|
12457
|
-
* Get a table of all the forces that currently exist. This sparse table allows you to find forces by indexing it with either their `name` or `index`. Iterating this table with `pairs()` will only iterate the
|
12484
|
+
* Get a table of all the forces that currently exist. This sparse table allows you to find forces by indexing it with either their `name` or `index`. Iterating this table with `pairs()` will only iterate the hash part of the table. Iterating with `ipairs()` will not work at all.
|
12458
12485
|
* @see {@link https://lua-api.factorio.com/latest/LuaGameScript.html#LuaGameScript.forces Online documentation}
|
12459
12486
|
*/
|
12460
12487
|
readonly forces: LuaCustomTable<uint | string, LuaForce>
|
@@ -12625,8 +12652,9 @@ interface LuaGameScript {
|
|
12625
12652
|
*/
|
12626
12653
|
readonly tick: uint
|
12627
12654
|
/**
|
12628
|
-
* The number of ticks since this game was
|
12629
|
-
*
|
12655
|
+
* The number of ticks since this game was created using either "new game" or "new game from scenario". Notably, this number progresses even when the game is {@link LuaGameScript#tick_paused tick_paused}.
|
12656
|
+
*
|
12657
|
+
* This differs from {@link LuaGameScript#tick LuaGameScript::tick} in that creating a game from a scenario always starts with this value at `0`, even if the scenario has its own level data where the `tick` has progressed past `0`.
|
12630
12658
|
* @see {@link https://lua-api.factorio.com/latest/LuaGameScript.html#LuaGameScript.ticks_played Online documentation}
|
12631
12659
|
*/
|
12632
12660
|
readonly ticks_played: uint
|
@@ -12657,7 +12685,7 @@ interface LuaGameScript {
|
|
12657
12685
|
*/
|
12658
12686
|
speed: float
|
12659
12687
|
/**
|
12660
|
-
* Get a table of all the surfaces that currently exist. This sparse table allows you to find surfaces by indexing it with either their `name` or `index`. Iterating this table with `pairs()` will only iterate the
|
12688
|
+
* Get a table of all the surfaces that currently exist. This sparse table allows you to find surfaces by indexing it with either their `name` or `index`. Iterating this table with `pairs()` will only iterate the hash part of the table. Iterating with `ipairs()` will not work at all.
|
12661
12689
|
* @see {@link https://lua-api.factorio.com/latest/LuaGameScript.html#LuaGameScript.surfaces Online documentation}
|
12662
12690
|
*/
|
12663
12691
|
readonly surfaces: LuaCustomTable<SurfaceIndex | string, LuaSurface>
|
@@ -12974,6 +13002,14 @@ interface BaseGuiSpec {
|
|
12974
13002
|
* Where to position the child element when in the `relative` element.
|
12975
13003
|
*/
|
12976
13004
|
readonly anchor?: GuiAnchor
|
13005
|
+
/**
|
13006
|
+
* How the element should interact with game controllers. Defaults to {@link defines.game_controller_interaction.normal}.
|
13007
|
+
*/
|
13008
|
+
readonly game_controller_interaction?: defines.game_controller_interaction
|
13009
|
+
/**
|
13010
|
+
* Whether this element will raise {@link OnGuiHoverEvent on_gui_hover} and {@link OnGuiLeaveEvent on_gui_leave}. Defaults to `false`.
|
13011
|
+
*/
|
13012
|
+
readonly raise_hover_events?: boolean
|
12977
13013
|
}
|
12978
13014
|
|
12979
13015
|
/**
|
@@ -13674,6 +13710,11 @@ interface BaseGuiElement {
|
|
13674
13710
|
*/
|
13675
13711
|
get location(): GuiLocation | nil
|
13676
13712
|
set location(value: GuiLocation | GuiLocationArray | nil)
|
13713
|
+
/**
|
13714
|
+
* How this element should interact with game controllers.
|
13715
|
+
* @see {@link https://lua-api.factorio.com/latest/LuaGuiElement.html#LuaGuiElement.game_controller_interaction Online documentation}
|
13716
|
+
*/
|
13717
|
+
game_controller_interaction: defines.game_controller_interaction
|
13677
13718
|
/**
|
13678
13719
|
* Whether this GUI element is enabled. Disabled GUI elements don't trigger events when clicked.
|
13679
13720
|
* @see {@link https://lua-api.factorio.com/latest/LuaGuiElement.html#LuaGuiElement.enabled Online documentation}
|
@@ -14074,7 +14115,7 @@ interface SpriteButtonGuiElementMembers extends BaseGuiElement {
|
|
14074
14115
|
*/
|
14075
14116
|
auto_toggle: boolean
|
14076
14117
|
/**
|
14077
|
-
* Whether this button is currently toggled.
|
14118
|
+
* Whether this button is currently toggled. When a button is toggled, it will use the `selected_graphical_set` and `selected_font_color` defined in its style.
|
14078
14119
|
*
|
14079
14120
|
* _Can only be used if this is button or sprite-button_
|
14080
14121
|
* @see {@link https://lua-api.factorio.com/latest/LuaGuiElement.html#LuaGuiElement.toggled Online documentation}
|
@@ -14253,7 +14294,7 @@ interface ButtonGuiElementMembers extends BaseGuiElement {
|
|
14253
14294
|
*/
|
14254
14295
|
auto_toggle: boolean
|
14255
14296
|
/**
|
14256
|
-
* Whether this button is currently toggled.
|
14297
|
+
* Whether this button is currently toggled. When a button is toggled, it will use the `selected_graphical_set` and `selected_font_color` defined in its style.
|
14257
14298
|
*
|
14258
14299
|
* _Can only be used if this is button or sprite-button_
|
14259
14300
|
* @see {@link https://lua-api.factorio.com/latest/LuaGuiElement.html#LuaGuiElement.toggled Online documentation}
|
@@ -18517,6 +18558,11 @@ interface LuaMiningDrillControlBehavior extends LuaGenericOnOffControlBehavior {
|
|
18517
18558
|
* @noSelf
|
18518
18559
|
*/
|
18519
18560
|
interface LuaModSettingPrototype {
|
18561
|
+
/**
|
18562
|
+
* Type of this prototype.
|
18563
|
+
* @see {@link https://lua-api.factorio.com/latest/LuaModSettingPrototype.html#LuaModSettingPrototype.type Online documentation}
|
18564
|
+
*/
|
18565
|
+
readonly type: string
|
18520
18566
|
/**
|
18521
18567
|
* Name of this prototype.
|
18522
18568
|
* @see {@link https://lua-api.factorio.com/latest/LuaModSettingPrototype.html#LuaModSettingPrototype.name Online documentation}
|
@@ -19531,6 +19577,11 @@ interface LuaPlayer extends LuaControl {
|
|
19531
19577
|
* @see {@link https://lua-api.factorio.com/latest/LuaPlayer.html#LuaPlayer.render_mode Online documentation}
|
19532
19578
|
*/
|
19533
19579
|
readonly render_mode: defines.render_mode
|
19580
|
+
/**
|
19581
|
+
* The input method of the player, mouse and keyboard or game controller
|
19582
|
+
* @see {@link https://lua-api.factorio.com/latest/LuaPlayer.html#LuaPlayer.input_method Online documentation}
|
19583
|
+
*/
|
19584
|
+
readonly input_method: defines.input_method
|
19534
19585
|
/**
|
19535
19586
|
* If `true`, zoom-to-world noise effect will be disabled and environmental sounds will be based on zoom-to-world view instead of position of player's character.
|
19536
19587
|
* @see {@link https://lua-api.factorio.com/latest/LuaPlayer.html#LuaPlayer.spectator Online documentation}
|
@@ -20223,6 +20274,10 @@ interface LuaRendering {
|
|
20223
20274
|
* Length of the dashes that this line has. Used only if gap_length > 0. Default is 0.
|
20224
20275
|
*/
|
20225
20276
|
readonly dash_length?: double
|
20277
|
+
/**
|
20278
|
+
* Starting offset to apply to dashes. Cannot be greater than dash_length + gap_length. Default is 0.
|
20279
|
+
*/
|
20280
|
+
readonly dash_offset?: double
|
20226
20281
|
readonly from: (MapPosition | MapPositionArray) | LuaEntity
|
20227
20282
|
/**
|
20228
20283
|
* Only used if `from` is a LuaEntity.
|
@@ -20570,6 +20625,9 @@ interface LuaRendering {
|
|
20570
20625
|
*/
|
20571
20626
|
readonly y_scale?: double
|
20572
20627
|
readonly tint?: Color | ColorArray
|
20628
|
+
/**
|
20629
|
+
* Render layer of the sprite. Defaults to `"arrow"`.
|
20630
|
+
*/
|
20573
20631
|
readonly render_layer?: RenderLayer
|
20574
20632
|
/**
|
20575
20633
|
* If given, the sprite rotates so that it faces this target. Note that `orientation` is still applied to the sprite.
|
@@ -20702,6 +20760,9 @@ interface LuaRendering {
|
|
20702
20760
|
*/
|
20703
20761
|
readonly y_scale?: double
|
20704
20762
|
readonly tint?: Color | ColorArray
|
20763
|
+
/**
|
20764
|
+
* Render layer of the animation. Defaults to `"arrow"`.
|
20765
|
+
*/
|
20705
20766
|
readonly render_layer?: RenderLayer
|
20706
20767
|
/**
|
20707
20768
|
* How many frames the animation goes forward per tick. Default is 1.
|
@@ -22904,7 +22965,7 @@ interface LuaSurface {
|
|
22904
22965
|
readonly force?: ForceIdentification
|
22905
22966
|
}): boolean
|
22906
22967
|
/**
|
22907
|
-
* Find
|
22968
|
+
* Find an entity of the given type at the given position. This checks both the exact position and the bounding box of the entity.
|
22908
22969
|
* @param entity Entity to look for.
|
22909
22970
|
* @param position Coordinates to look at.
|
22910
22971
|
* @returns `nil` if no such entity is found.
|
@@ -23425,6 +23486,16 @@ interface LuaSurface {
|
|
23425
23486
|
position: MapPosition | MapPositionArray,
|
23426
23487
|
force: ForceIdentification
|
23427
23488
|
): LuaLogisticNetwork | nil
|
23489
|
+
/**
|
23490
|
+
* Find the logistic network with a cell closest to a given position.
|
23491
|
+
* @param force Force the logistic network should belong to.
|
23492
|
+
* @returns The found network or `nil` if no such network was found.
|
23493
|
+
* @see {@link https://lua-api.factorio.com/latest/LuaSurface.html#LuaSurface.find_closest_logistic_network_by_position Online documentation}
|
23494
|
+
*/
|
23495
|
+
find_closest_logistic_network_by_position(
|
23496
|
+
position: MapPosition | MapPositionArray,
|
23497
|
+
force: ForceIdentification
|
23498
|
+
): LuaLogisticNetwork | nil
|
23428
23499
|
/**
|
23429
23500
|
* Finds all of the logistics networks whose construction area intersects with the given position.
|
23430
23501
|
* @param force Force the logistic networks should belong to.
|
@@ -23568,11 +23639,18 @@ interface LuaSurface {
|
|
23568
23639
|
* Gets all tiles of the given types that are connected horizontally or vertically to the given tile position including the given tile position.
|
23569
23640
|
* @param position The tile position to start at.
|
23570
23641
|
* @param tiles The tiles to search for.
|
23642
|
+
* @param include_diagonal Include tiles that are connected diagonally.
|
23643
|
+
* @param area The area to find connected tiles in. If provided the start position must be in this area.
|
23571
23644
|
* @returns The resulting set of tiles.
|
23572
23645
|
* @remarks This won't find tiles in non-generated chunks.
|
23573
23646
|
* @see {@link https://lua-api.factorio.com/latest/LuaSurface.html#LuaSurface.get_connected_tiles Online documentation}
|
23574
23647
|
*/
|
23575
|
-
get_connected_tiles(
|
23648
|
+
get_connected_tiles(
|
23649
|
+
position: TilePosition | TilePositionArray,
|
23650
|
+
tiles: readonly string[],
|
23651
|
+
include_diagonal?: boolean,
|
23652
|
+
area?: BoundingBoxWrite | BoundingBoxArray
|
23653
|
+
): TilePosition[]
|
23576
23654
|
/**
|
23577
23655
|
* **Raised events:**
|
23578
23656
|
* - {@link OnPreChunkDeletedEvent on_pre_chunk_deleted} _future_tick_
|
@@ -627,6 +627,11 @@ interface GameViewSettings {
|
|
627
627
|
* @see {@link https://lua-api.factorio.com/latest/Concepts.html#GameViewSettings#GameViewSettings.show_map_view_options Online documentation}
|
628
628
|
*/
|
629
629
|
show_map_view_options: boolean
|
630
|
+
/**
|
631
|
+
* Shows or hides the tooltip that is displayed when selecting an entity.
|
632
|
+
* @see {@link https://lua-api.factorio.com/latest/Concepts.html#GameViewSettings#GameViewSettings.show_entity_tooltip Online documentation}
|
633
|
+
*/
|
634
|
+
show_entity_tooltip: boolean
|
630
635
|
/**
|
631
636
|
* Shows or hides quickbar of shortcuts.
|
632
637
|
* @see {@link https://lua-api.factorio.com/latest/Concepts.html#GameViewSettings#GameViewSettings.show_quickbar Online documentation}
|
@@ -637,6 +642,21 @@ interface GameViewSettings {
|
|
637
642
|
* @see {@link https://lua-api.factorio.com/latest/Concepts.html#GameViewSettings#GameViewSettings.show_shortcut_bar Online documentation}
|
638
643
|
*/
|
639
644
|
show_shortcut_bar: boolean
|
645
|
+
/**
|
646
|
+
* Shows or hides the crafting queue.
|
647
|
+
* @see {@link https://lua-api.factorio.com/latest/Concepts.html#GameViewSettings#GameViewSettings.show_crafting_queue Online documentation}
|
648
|
+
*/
|
649
|
+
show_crafting_queue: boolean
|
650
|
+
/**
|
651
|
+
* Shows or hides the tool window with the weapons and armor.
|
652
|
+
* @see {@link https://lua-api.factorio.com/latest/Concepts.html#GameViewSettings#GameViewSettings.show_tool_bar Online documentation}
|
653
|
+
*/
|
654
|
+
show_tool_bar: boolean
|
655
|
+
/**
|
656
|
+
* Shows or hides the mouse and keyboard/controller button hints in the bottom left corner if they are enabled in the interface settings.
|
657
|
+
* @see {@link https://lua-api.factorio.com/latest/Concepts.html#GameViewSettings#GameViewSettings.show_hotkey_suggestions Online documentation}
|
658
|
+
*/
|
659
|
+
show_hotkey_suggestions: boolean
|
640
660
|
}
|
641
661
|
|
642
662
|
/**
|
@@ -800,26 +820,26 @@ interface EnemyExpansionMapSettings {
|
|
800
820
|
*/
|
801
821
|
readonly settler_group_max_size: uint
|
802
822
|
/**
|
803
|
-
* The minimum time between expansions in ticks. The actual cooldown is adjusted to the current evolution levels. Defaults to `4*3
|
823
|
+
* The minimum time between expansions in ticks. The actual cooldown is adjusted to the current evolution levels. Defaults to `4*3'600=14'400` ticks.
|
804
824
|
*/
|
805
825
|
readonly min_expansion_cooldown: uint
|
806
826
|
/**
|
807
|
-
* The maximum time between expansions in ticks. The actual cooldown is adjusted to the current evolution levels. Defaults to `60*3
|
827
|
+
* The maximum time between expansions in ticks. The actual cooldown is adjusted to the current evolution levels. Defaults to `60*3'600=216'000` ticks.
|
808
828
|
*/
|
809
829
|
readonly max_expansion_cooldown: uint
|
810
830
|
}
|
811
831
|
|
812
832
|
interface UnitGroupMapSettings {
|
813
833
|
/**
|
814
|
-
* The minimum amount of time in ticks a group will spend gathering before setting off. The actual time is a random time between the minimum and maximum times. Defaults to `3
|
834
|
+
* The minimum amount of time in ticks a group will spend gathering before setting off. The actual time is a random time between the minimum and maximum times. Defaults to `3'600` ticks.
|
815
835
|
*/
|
816
836
|
readonly min_group_gathering_time: uint
|
817
837
|
/**
|
818
|
-
* The maximum amount of time in ticks a group will spend gathering before setting off. The actual time is a random time between the minimum and maximum times. Defaults to `10*3
|
838
|
+
* The maximum amount of time in ticks a group will spend gathering before setting off. The actual time is a random time between the minimum and maximum times. Defaults to `10*3'600=36'000` ticks.
|
819
839
|
*/
|
820
840
|
readonly max_group_gathering_time: uint
|
821
841
|
/**
|
822
|
-
* After gathering has finished, the group is allowed to wait this long in ticks for delayed members. New members are not accepted anymore however. Defaults to `2*3
|
842
|
+
* After gathering has finished, the group is allowed to wait this long in ticks for delayed members. New members are not accepted anymore however. Defaults to `2*3'600=7'200` ticks.
|
823
843
|
*/
|
824
844
|
readonly max_wait_time_for_late_members: uint
|
825
845
|
/**
|
@@ -889,11 +909,11 @@ interface PathFinderMapSettings {
|
|
889
909
|
*/
|
890
910
|
readonly goal_pressure_ratio: double
|
891
911
|
/**
|
892
|
-
* The maximum number of nodes that are expanded per tick. Defaults to `1
|
912
|
+
* The maximum number of nodes that are expanded per tick. Defaults to `1'000`.
|
893
913
|
*/
|
894
914
|
readonly max_steps_worked_per_tick: double
|
895
915
|
/**
|
896
|
-
* The maximum amount of work each pathfinding job is allowed to do per tick. Defaults to `8
|
916
|
+
* The maximum amount of work each pathfinding job is allowed to do per tick. Defaults to `8'000`.
|
897
917
|
*/
|
898
918
|
readonly max_work_done_per_tick: uint
|
899
919
|
/**
|
@@ -2387,7 +2407,7 @@ interface HeatConnection {
|
|
2387
2407
|
*/
|
2388
2408
|
interface FluidBoxConnection {
|
2389
2409
|
/**
|
2390
|
-
*
|
2410
|
+
* One of "input", "output", or "input-output".
|
2391
2411
|
*/
|
2392
2412
|
readonly type: "input" | "output" | "input-output"
|
2393
2413
|
/**
|
@@ -2400,6 +2420,37 @@ interface FluidBoxConnection {
|
|
2400
2420
|
readonly max_underground_distance?: uint
|
2401
2421
|
}
|
2402
2422
|
|
2423
|
+
/**
|
2424
|
+
* A single pipe connection for a given fluidbox.
|
2425
|
+
* @see {@link https://lua-api.factorio.com/latest/Concepts.html#PipeConnection Online documentation}
|
2426
|
+
*/
|
2427
|
+
interface PipeConnection {
|
2428
|
+
/**
|
2429
|
+
* One of "input", "output", or "input-output".
|
2430
|
+
*/
|
2431
|
+
readonly flow_direction: "input" | "output" | "input-output"
|
2432
|
+
/**
|
2433
|
+
* One of "normal" or "underground".
|
2434
|
+
*/
|
2435
|
+
readonly connection_type: "normal" | "underground"
|
2436
|
+
/**
|
2437
|
+
* The absolute position of this connection within the entity.
|
2438
|
+
*/
|
2439
|
+
readonly position: MapPosition
|
2440
|
+
/**
|
2441
|
+
* The absolute position of the connection's intended target.
|
2442
|
+
*/
|
2443
|
+
readonly target_position: MapPosition
|
2444
|
+
/**
|
2445
|
+
* The connected fluidbox, if any.
|
2446
|
+
*/
|
2447
|
+
readonly target?: LuaFluidBox
|
2448
|
+
/**
|
2449
|
+
* The index of the connected fluidbox, if any.
|
2450
|
+
*/
|
2451
|
+
readonly target_index?: uint
|
2452
|
+
}
|
2453
|
+
|
2403
2454
|
interface ArithmeticCombinatorParameters {
|
2404
2455
|
/**
|
2405
2456
|
* First signal to use in an operation. If not specified, the second argument will be the value of `first_constant`.
|
@@ -1341,6 +1341,10 @@ declare namespace defines {
|
|
1341
1341
|
* Event type: {@link OnGuiLeaveEvent}
|
1342
1342
|
*/
|
1343
1343
|
const on_gui_leave: EventId<OnGuiLeaveEvent>
|
1344
|
+
/**
|
1345
|
+
* Event type: {@link OnEntityColorChangedEvent}
|
1346
|
+
*/
|
1347
|
+
const on_entity_color_changed: EventId<OnEntityColorChangedEvent>
|
1344
1348
|
/**
|
1345
1349
|
* Event type: {@link OnCutsceneStartedEvent}
|
1346
1350
|
*/
|
@@ -1349,6 +1353,10 @@ declare namespace defines {
|
|
1349
1353
|
* Event type: {@link OnCutsceneFinishedEvent}
|
1350
1354
|
*/
|
1351
1355
|
const on_cutscene_finished: EventId<OnCutsceneFinishedEvent>
|
1356
|
+
/**
|
1357
|
+
* Event type: {@link OnPlayerInputMethodChangedEvent}
|
1358
|
+
*/
|
1359
|
+
const on_player_input_method_changed: EventId<OnPlayerInputMethodChangedEvent>
|
1352
1360
|
}
|
1353
1361
|
/**
|
1354
1362
|
* See the {@linkplain https://lua-api.factorio.com/latest/events.html events page} for more info on what events contain and when they get raised.
|
@@ -1365,6 +1373,23 @@ declare namespace defines {
|
|
1365
1373
|
two_hundred_fifty_hours,
|
1366
1374
|
one_thousand_hours,
|
1367
1375
|
}
|
1376
|
+
enum game_controller_interaction {
|
1377
|
+
/**
|
1378
|
+
* Game controller will always hover this element regardless of type or state.
|
1379
|
+
* @see {@link https://lua-api.factorio.com/latest/defines.html#defines.game_controller_interaction.always Online documentation}
|
1380
|
+
*/
|
1381
|
+
always,
|
1382
|
+
/**
|
1383
|
+
* Hover according to the element type and implementation.
|
1384
|
+
* @see {@link https://lua-api.factorio.com/latest/defines.html#defines.game_controller_interaction.never Online documentation}
|
1385
|
+
*/
|
1386
|
+
never,
|
1387
|
+
/**
|
1388
|
+
* Never hover this element with a game controller.
|
1389
|
+
* @see {@link https://lua-api.factorio.com/latest/defines.html#defines.game_controller_interaction.normal Online documentation}
|
1390
|
+
*/
|
1391
|
+
normal,
|
1392
|
+
}
|
1368
1393
|
enum group_state {
|
1369
1394
|
gathering,
|
1370
1395
|
moving,
|
@@ -19,6 +19,10 @@ interface CustomInputEvent extends EventData {
|
|
19
19
|
* The mouse cursor position when the custom input was activated.
|
20
20
|
*/
|
21
21
|
readonly cursor_position: MapPosition
|
22
|
+
/**
|
23
|
+
* The mouse cursor display location when the custom input was activated.
|
24
|
+
*/
|
25
|
+
readonly cursor_display_location: GuiLocation
|
22
26
|
/**
|
23
27
|
* 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.
|
24
28
|
*/
|
@@ -548,6 +552,26 @@ interface OnEntityClonedEvent extends EventData {
|
|
548
552
|
readonly tick: uint
|
549
553
|
}
|
550
554
|
|
555
|
+
/**
|
556
|
+
* Called after an entity has been recolored either by the player or through script.
|
557
|
+
* @remarks Automatic recoloring due to {@link LuaPlayer#color LuaPlayer::color} will not raise events, as that is a separate mechanism.
|
558
|
+
* @see {@link https://lua-api.factorio.com/latest/events.html#on_entity_color_changed Online documentation}
|
559
|
+
*/
|
560
|
+
interface OnEntityColorChangedEvent extends EventData {
|
561
|
+
/**
|
562
|
+
* The entity that was recolored.
|
563
|
+
*/
|
564
|
+
readonly entity: LuaEntity
|
565
|
+
/**
|
566
|
+
* Identifier of the event
|
567
|
+
*/
|
568
|
+
readonly name: typeof defines.events.on_entity_color_changed
|
569
|
+
/**
|
570
|
+
* Tick the event was generated.
|
571
|
+
*/
|
572
|
+
readonly tick: uint
|
573
|
+
}
|
574
|
+
|
551
575
|
/**
|
552
576
|
* Called when an entity is damaged. Can be filtered using {@link LuaEntityDamagedEventFilter}.
|
553
577
|
* @remarks This is not called when an entities health is set directly by another mod.
|
@@ -983,6 +1007,10 @@ interface OnGuiClickEvent extends EventData {
|
|
983
1007
|
* The mouse button used if any.
|
984
1008
|
*/
|
985
1009
|
readonly button: defines.mouse_button_type
|
1010
|
+
/**
|
1011
|
+
* The display location of the player's cursor.
|
1012
|
+
*/
|
1013
|
+
readonly cursor_display_location: GuiLocation
|
986
1014
|
/**
|
987
1015
|
* If alt was pressed.
|
988
1016
|
*/
|
@@ -2301,6 +2329,26 @@ interface OnPlayerGunInventoryChangedEvent extends EventData {
|
|
2301
2329
|
readonly tick: uint
|
2302
2330
|
}
|
2303
2331
|
|
2332
|
+
/**
|
2333
|
+
* Called when a player's input method changes.
|
2334
|
+
* @remarks See {@link LuaPlayer#input_method LuaPlayer::input_method}.
|
2335
|
+
* @see {@link https://lua-api.factorio.com/latest/events.html#on_player_input_method_changed Online documentation}
|
2336
|
+
*/
|
2337
|
+
interface OnPlayerInputMethodChangedEvent extends EventData {
|
2338
|
+
/**
|
2339
|
+
* The player whose input method changed.
|
2340
|
+
*/
|
2341
|
+
readonly player_index: PlayerIndex
|
2342
|
+
/**
|
2343
|
+
* Identifier of the event
|
2344
|
+
*/
|
2345
|
+
readonly name: typeof defines.events.on_player_input_method_changed
|
2346
|
+
/**
|
2347
|
+
* Tick the event was generated.
|
2348
|
+
*/
|
2349
|
+
readonly tick: uint
|
2350
|
+
}
|
2351
|
+
|
2304
2352
|
/**
|
2305
2353
|
* Called after a player joins the game. This is not called when loading a save file in singleplayer, as the player doesn't actually leave the game, and the save is just on pause until they rejoin.
|
2306
2354
|
* @see {@link https://lua-api.factorio.com/latest/events.html#on_player_joined_game Online documentation}
|