typed-factorio 1.15.0 → 1.17.0
Sign up to get free protection for your applications and to get access to all the features.
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}
|