typed-factorio 1.13.0 → 1.14.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.14.0",
|
4
4
|
"description": "Featureful typescript definitions for the the Factorio modding lua api.",
|
5
5
|
"keywords": [
|
6
6
|
"factorio",
|
@@ -33,30 +33,30 @@
|
|
33
33
|
"typescript-to-lua": "^1.6.1"
|
34
34
|
},
|
35
35
|
"devDependencies": {
|
36
|
-
"@types/jest": "^29.
|
37
|
-
"@types/node": "^18.
|
36
|
+
"@types/jest": "^29.4.0",
|
37
|
+
"@types/node": "^18.14.6",
|
38
38
|
"@types/prettier": "^2.7.2",
|
39
|
-
"@typescript-eslint/eslint-plugin": "^5.
|
40
|
-
"@typescript-eslint/parser": "^5.
|
39
|
+
"@typescript-eslint/eslint-plugin": "^5.54.0",
|
40
|
+
"@typescript-eslint/parser": "^5.54.0",
|
41
41
|
"array.prototype.flatmap": "^1.3.1",
|
42
42
|
"chalk": "^5.2.0",
|
43
|
-
"eslint": "~8.
|
43
|
+
"eslint": "~8.35.0",
|
44
44
|
"eslint-config-prettier": "^8.6.0",
|
45
45
|
"eslint-config-standard": "^17.0.0",
|
46
46
|
"eslint-import-resolver-typescript": "^3.5.3",
|
47
|
-
"eslint-plugin-import": "^2.27.
|
47
|
+
"eslint-plugin-import": "^2.27.5",
|
48
48
|
"eslint-plugin-n": "^15.6.1",
|
49
49
|
"eslint-plugin-node": "^11.1.0",
|
50
50
|
"eslint-plugin-prettier": "^4.2.1",
|
51
51
|
"eslint-plugin-promise": "^6.1.1",
|
52
|
-
"jest": "^29.3
|
52
|
+
"jest": "^29.4.3",
|
53
53
|
"lua-types": "^2.13.1",
|
54
|
-
"prettier": "^2.8.
|
54
|
+
"prettier": "^2.8.4",
|
55
55
|
"rimraf": "^3.0.2",
|
56
|
-
"ts-jest": "^29.0.
|
56
|
+
"ts-jest": "^29.0.5",
|
57
57
|
"ts-node": "^10.9.1",
|
58
|
-
"typescript": "~4.9.
|
59
|
-
"typescript-to-lua": "^1.
|
58
|
+
"typescript": "~4.9.5",
|
59
|
+
"typescript-to-lua": "^1.13.2"
|
60
60
|
},
|
61
61
|
"packageManager": "yarn@3.2.3"
|
62
62
|
}
|
@@ -494,6 +494,25 @@ interface LuaBootstrap {
|
|
494
494
|
*/
|
495
495
|
readonly tags?: Tags
|
496
496
|
}): void
|
497
|
+
/**
|
498
|
+
* **Raised events:**
|
499
|
+
* - {@link ScriptRaisedTeleportedEvent script_raised_teleported} _instantly_ Raised with the provided arguments.
|
500
|
+
* @see {@link https://lua-api.factorio.com/latest/LuaBootstrap.html#LuaBootstrap.raise_script_teleported Online documentation}
|
501
|
+
*/
|
502
|
+
raise_script_teleported(params: {
|
503
|
+
/**
|
504
|
+
* The entity that was teleported.
|
505
|
+
*/
|
506
|
+
readonly entity: LuaEntity
|
507
|
+
/**
|
508
|
+
* The entity's surface before the teleportation.
|
509
|
+
*/
|
510
|
+
readonly old_surface_index: uint8
|
511
|
+
/**
|
512
|
+
* The entity's position before the teleportation.
|
513
|
+
*/
|
514
|
+
readonly old_position: MapPosition | MapPositionArray
|
515
|
+
}): void
|
497
516
|
/**
|
498
517
|
* **Raised events:**
|
499
518
|
* - {@link ScriptRaisedSetTilesEvent script_raised_set_tiles} _instantly_ Raised with the provided arguments.
|
@@ -785,7 +804,7 @@ interface LuaCombinatorControlBehavior extends LuaControlBehavior {
|
|
785
804
|
}
|
786
805
|
|
787
806
|
/**
|
788
|
-
* Allows for the registration of custom console commands
|
807
|
+
* Allows for the registration of custom console commands through the global object named `commands`. Similarly to {@link LuaBootstrap#on_event event subscriptions}, these don't persist through a save-and-load cycle.
|
789
808
|
* @see {@link https://lua-api.factorio.com/latest/LuaCommandProcessor.html Online documentation}
|
790
809
|
* @noSelf
|
791
810
|
*/
|
@@ -979,6 +998,11 @@ interface LuaControl {
|
|
979
998
|
* @see {@link https://lua-api.factorio.com/latest/LuaControl.html#LuaControl.get_inventory Online documentation}
|
980
999
|
*/
|
981
1000
|
get_inventory(inventory: defines.inventory): LuaInventory | nil
|
1001
|
+
/**
|
1002
|
+
* The maximum inventory index this entity may use.
|
1003
|
+
* @see {@link https://lua-api.factorio.com/latest/LuaControl.html#LuaControl.get_max_inventory_index Online documentation}
|
1004
|
+
*/
|
1005
|
+
get_max_inventory_index(): defines.inventory
|
982
1006
|
/**
|
983
1007
|
* Gets the main inventory for this character or player if this is a character or player.
|
984
1008
|
* @returns The inventory or `nil` if this entity is not a character or player.
|
@@ -1048,10 +1072,12 @@ interface LuaControl {
|
|
1048
1072
|
*
|
1049
1073
|
* **Raised events:**
|
1050
1074
|
* - {@link OnPlayerChangedPositionEvent on_player_changed_position}? _instantly_ Raised if the teleported entity is a player character.
|
1075
|
+
* - {@link ScriptRaisedTeleportedEvent script_raised_teleported}? _instantly_ Raised if the `raise_teleported` flag was set and the entity was successfully teleported.
|
1051
1076
|
* @param position Where to teleport to.
|
1052
1077
|
* @param surface Surface to teleport to. If not given, will teleport to the entity's current surface. Only players, cars, and spidertrons can be teleported cross-surface.
|
1078
|
+
* @param raise_teleported If true, {@link defines.events.script_raised_teleported} will be fired on successful entity teleportation.
|
1053
1079
|
* @returns `true` if the entity was successfully teleported.
|
1054
|
-
* @remarks Some entities may not be teleported. For instance, transport belts won't allow teleportation and this method will always return `false` when used on any such entity.<br>You can also pass 1 or 2 numbers as the parameters and they will be used as relative teleport coordinates `'teleport(0, 1)'` to move the entity 1 tile positive y. `'teleport(4)'` to move the entity 4 tiles to the positive x.
|
1080
|
+
* @remarks Some entities may not be teleported. For instance, transport belts won't allow teleportation and this method will always return `false` when used on any such entity.<br>You can also pass 1 or 2 numbers as the parameters and they will be used as relative teleport coordinates `'teleport(0, 1)'` to move the entity 1 tile positive y. `'teleport(4)'` to move the entity 4 tiles to the positive x.<br>`script_raised_teleported` will not be raised if teleporting a player with no character.
|
1055
1081
|
* @see {@link https://lua-api.factorio.com/latest/LuaControl.html#LuaControl.teleport Online documentation}
|
1056
1082
|
*/
|
1057
1083
|
teleport(position: MapPosition | MapPositionArray, surface?: SurfaceIdentification): boolean
|
@@ -1272,7 +1298,7 @@ interface LuaControl {
|
|
1272
1298
|
* Unique ID associated with the force of this entity.
|
1273
1299
|
* @see {@link https://lua-api.factorio.com/latest/LuaControl.html#LuaControl.force_index Online documentation}
|
1274
1300
|
*/
|
1275
|
-
readonly force_index:
|
1301
|
+
readonly force_index: ForceIndex
|
1276
1302
|
/**
|
1277
1303
|
* The currently selected entity. Assigning an entity will select it if is selectable, otherwise the selection is cleared.
|
1278
1304
|
*
|
@@ -7190,7 +7216,7 @@ interface LuaEntityPrototype {
|
|
7190
7216
|
readonly fluid?: LuaFluidPrototype
|
7191
7217
|
/**
|
7192
7218
|
* The fluid capacity of this entity or 0 if this entity doesn't support fluids.
|
7193
|
-
* @remarks Crafting machines will report 0 due to their fluid capacity being
|
7219
|
+
* @remarks Crafting machines will report 0 due to their fluid capacity being whatever a given recipe needs.
|
7194
7220
|
* @see {@link https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.fluid_capacity Online documentation}
|
7195
7221
|
*/
|
7196
7222
|
readonly fluid_capacity: double
|
@@ -8391,7 +8417,7 @@ interface BaseEntityPrototype {
|
|
8391
8417
|
readonly building_grid_bit_shift: uint
|
8392
8418
|
/**
|
8393
8419
|
* The fluid capacity of this entity or 0 if this entity doesn't support fluids.
|
8394
|
-
* @remarks Crafting machines will report 0 due to their fluid capacity being
|
8420
|
+
* @remarks Crafting machines will report 0 due to their fluid capacity being whatever a given recipe needs.
|
8395
8421
|
* @see {@link https://lua-api.factorio.com/latest/LuaEntityPrototype.html#LuaEntityPrototype.fluid_capacity Online documentation}
|
8396
8422
|
*/
|
8397
8423
|
readonly fluid_capacity: double
|
@@ -10692,10 +10718,10 @@ interface LuaFlowStatistics {
|
|
10692
10718
|
*/
|
10693
10719
|
interface LuaFluidBox extends Array<Fluid | nil> {
|
10694
10720
|
/**
|
10695
|
-
* The prototype of this fluidbox index.
|
10721
|
+
* The prototype of this fluidbox index. If this is used on a fluidbox of a crafting machine which due to recipe was created by merging multiple prototypes, a table of prototypes that were merged will be returned instead
|
10696
10722
|
* @see {@link https://lua-api.factorio.com/latest/LuaFluidBox.html#LuaFluidBox.get_prototype Online documentation}
|
10697
10723
|
*/
|
10698
|
-
get_prototype(index: uint): LuaFluidBoxPrototype
|
10724
|
+
get_prototype(index: uint): LuaFluidBoxPrototype | LuaFluidBoxPrototype[]
|
10699
10725
|
/**
|
10700
10726
|
* The capacity of the given fluidbox index.
|
10701
10727
|
* @see {@link https://lua-api.factorio.com/latest/LuaFluidBox.html#LuaFluidBox.get_capacity Online documentation}
|
@@ -11588,7 +11614,7 @@ interface LuaForce {
|
|
11588
11614
|
* Unique ID associated with this force.
|
11589
11615
|
* @see {@link https://lua-api.factorio.com/latest/LuaForce.html#LuaForce.index Online documentation}
|
11590
11616
|
*/
|
11591
|
-
readonly index:
|
11617
|
+
readonly index: ForceIndex
|
11592
11618
|
/**
|
11593
11619
|
* The research queue of this force. The first technology in the array is the currently active one. Reading this attribute gives an array of {@link LuaTechnology}.
|
11594
11620
|
*
|
@@ -16942,6 +16968,21 @@ interface LuaItemStack {
|
|
16942
16968
|
* @see {@link https://lua-api.factorio.com/latest/LuaItemStack.html#LuaItemStack.connected_entity Online documentation}
|
16943
16969
|
*/
|
16944
16970
|
connected_entity?: LuaEntity
|
16971
|
+
/**
|
16972
|
+
* If this is an item with entity data, get the stored entity label.
|
16973
|
+
*
|
16974
|
+
* _Can only be used if this is ItemWithEntityData_
|
16975
|
+
* @see {@link https://lua-api.factorio.com/latest/LuaItemStack.html#LuaItemStack.entity_label Online documentation}
|
16976
|
+
*/
|
16977
|
+
entity_label?: string
|
16978
|
+
/**
|
16979
|
+
* If this is an item with entity data, get the stored entity color.
|
16980
|
+
*
|
16981
|
+
* _Can only be used if this is ItemWithEntityData_
|
16982
|
+
* @see {@link https://lua-api.factorio.com/latest/LuaItemStack.html#LuaItemStack.entity_color Online documentation}
|
16983
|
+
*/
|
16984
|
+
get entity_color(): Color | nil
|
16985
|
+
set entity_color(value: Color | ColorArray | nil)
|
16945
16986
|
/**
|
16946
16987
|
* If this is a blueprint item.
|
16947
16988
|
* @see {@link https://lua-api.factorio.com/latest/LuaItemStack.html#LuaItemStack.is_blueprint Online documentation}
|
@@ -17720,6 +17761,21 @@ interface ItemWithEntityDataItemStack extends BaseItemStack {
|
|
17720
17761
|
* @see {@link https://lua-api.factorio.com/latest/LuaItemStack.html#LuaItemStack.create_grid Online documentation}
|
17721
17762
|
*/
|
17722
17763
|
create_grid(): LuaEquipmentGrid
|
17764
|
+
/**
|
17765
|
+
* If this is an item with entity data, get the stored entity label.
|
17766
|
+
*
|
17767
|
+
* _Can only be used if this is ItemWithEntityData_
|
17768
|
+
* @see {@link https://lua-api.factorio.com/latest/LuaItemStack.html#LuaItemStack.entity_label Online documentation}
|
17769
|
+
*/
|
17770
|
+
entity_label?: string
|
17771
|
+
/**
|
17772
|
+
* If this is an item with entity data, get the stored entity color.
|
17773
|
+
*
|
17774
|
+
* _Can only be used if this is ItemWithEntityData_
|
17775
|
+
* @see {@link https://lua-api.factorio.com/latest/LuaItemStack.html#LuaItemStack.entity_color Online documentation}
|
17776
|
+
*/
|
17777
|
+
get entity_color(): Color | nil
|
17778
|
+
set entity_color(value: Color | ColorArray | nil)
|
17723
17779
|
}
|
17724
17780
|
|
17725
17781
|
interface ItemWithLabelItemStack extends BaseItemStack {
|
@@ -18906,7 +18962,7 @@ interface LuaPlayer extends LuaControl {
|
|
18906
18962
|
readonly skip_fog_of_war?: boolean
|
18907
18963
|
}): boolean
|
18908
18964
|
/**
|
18909
|
-
* Builds
|
18965
|
+
* Builds whatever is in the cursor on the surface the player is on. The cursor stack will automatically be reduced as if the player built normally.
|
18910
18966
|
*
|
18911
18967
|
* **Raised events:**
|
18912
18968
|
* - {@link OnPreBuildEvent on_pre_build}? _instantly_ Raised if the cursor was successfully built.
|
@@ -19121,22 +19177,22 @@ interface LuaPlayer extends LuaControl {
|
|
19121
19177
|
*/
|
19122
19178
|
toggle_map_editor(): void
|
19123
19179
|
/**
|
19124
|
-
* Requests a translation for the given localised string. If the request is successful the {@link OnStringTranslatedEvent on_string_translated} event will be fired
|
19180
|
+
* Requests a translation for the given localised string. If the request is successful, the {@link OnStringTranslatedEvent on_string_translated} event will be fired with the results.
|
19125
19181
|
*
|
19126
19182
|
* **Raised events:**
|
19127
19183
|
* - {@link OnStringTranslatedEvent on_string_translated}? _future_tick_ Raised if the request was successfully sent.
|
19128
|
-
* @returns The unique
|
19129
|
-
* @remarks Does nothing if this player is not connected
|
19184
|
+
* @returns The unique ID for the requested translation.
|
19185
|
+
* @remarks Does nothing if this player is not connected (see {@link LuaPlayer#connected LuaPlayer::connected}).
|
19130
19186
|
* @see {@link https://lua-api.factorio.com/latest/LuaPlayer.html#LuaPlayer.request_translation Online documentation}
|
19131
19187
|
*/
|
19132
19188
|
request_translation(localised_string: LocalisedString): uint | nil
|
19133
19189
|
/**
|
19134
|
-
* Requests
|
19190
|
+
* Requests translation for the given set of localised strings. If the request is successful, a {@link OnStringTranslatedEvent on_string_translated} event will be fired for each string with the results.
|
19135
19191
|
*
|
19136
19192
|
* **Raised events:**
|
19137
19193
|
* - {@link OnStringTranslatedEvent on_string_translated}? _future_tick_ Raised if the request was successfully sent.
|
19138
|
-
* @returns The unique
|
19139
|
-
* @remarks Does nothing if this player is not connected
|
19194
|
+
* @returns The unique IDs for the requested translations.
|
19195
|
+
* @remarks Does nothing if this player is not connected (see {@link LuaPlayer#connected LuaPlayer::connected}).
|
19140
19196
|
* @see {@link https://lua-api.factorio.com/latest/LuaPlayer.html#LuaPlayer.request_translations Online documentation}
|
19141
19197
|
*/
|
19142
19198
|
request_translations(localised_strings: readonly LocalisedString[]): uint[] | nil
|
@@ -19457,7 +19513,7 @@ interface LuaProgrammableSpeakerControlBehavior extends LuaControlBehavior {
|
|
19457
19513
|
}
|
19458
19514
|
|
19459
19515
|
/**
|
19460
|
-
* An interface to send messages to the calling RCON interface
|
19516
|
+
* An interface to send messages to the calling RCON interface through the global object named `rcon`.
|
19461
19517
|
* @see {@link https://lua-api.factorio.com/latest/LuaRCON.html Online documentation}
|
19462
19518
|
* @noSelf
|
19463
19519
|
*/
|
@@ -19966,7 +20022,7 @@ interface LuaRemote {
|
|
19966
20022
|
}
|
19967
20023
|
|
19968
20024
|
/**
|
19969
|
-
* Allows rendering of geometric shapes, text and sprites in the game world
|
20025
|
+
* Allows rendering of geometric shapes, text and sprites in the game world through the global object named `rendering`. Each render object is identified by an id that is universally unique for the lifetime of a whole game.
|
19970
20026
|
* @remarks If an entity target of an object is destroyed or changes surface, then the object is also destroyed.
|
19971
20027
|
* @see {@link https://lua-api.factorio.com/latest/LuaRendering.html Online documentation}
|
19972
20028
|
* @noSelf
|
@@ -20077,7 +20133,7 @@ interface LuaRendering {
|
|
20077
20133
|
*/
|
20078
20134
|
readonly visible?: boolean
|
20079
20135
|
/**
|
20080
|
-
* If this should be drawn below sprites and entities.
|
20136
|
+
* If this should be drawn below sprites and entities. Rich text does not support this option.
|
20081
20137
|
*/
|
20082
20138
|
readonly draw_on_ground?: boolean
|
20083
20139
|
/**
|
@@ -20100,6 +20156,10 @@ interface LuaRendering {
|
|
20100
20156
|
* If this should only be rendered in alt mode. Defaults to false.
|
20101
20157
|
*/
|
20102
20158
|
readonly only_in_alt_mode?: boolean
|
20159
|
+
/**
|
20160
|
+
* If rich text rendering is enabled. Defaults to false.
|
20161
|
+
*/
|
20162
|
+
readonly use_rich_text?: boolean
|
20103
20163
|
}): uint64
|
20104
20164
|
/**
|
20105
20165
|
* Create a circle.
|
@@ -20850,6 +20910,21 @@ interface LuaRendering {
|
|
20850
20910
|
* @see {@link https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.set_scale_with_zoom Online documentation}
|
20851
20911
|
*/
|
20852
20912
|
set_scale_with_zoom(id: uint64, scale_with_zoom: boolean): void
|
20913
|
+
/**
|
20914
|
+
* Get if the text with this id parses rich text tags.
|
20915
|
+
*
|
20916
|
+
* _Can only be used if this is Text_
|
20917
|
+
* @returns `nil` if the object is not a text.
|
20918
|
+
* @see {@link https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.get_use_rich_text Online documentation}
|
20919
|
+
*/
|
20920
|
+
get_use_rich_text(id: uint64): boolean | nil
|
20921
|
+
/**
|
20922
|
+
* Set if the text with this id parses rich text tags.
|
20923
|
+
*
|
20924
|
+
* _Can only be used if this is Text_
|
20925
|
+
* @see {@link https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.set_use_rich_text Online documentation}
|
20926
|
+
*/
|
20927
|
+
set_use_rich_text(id: uint64, use_rich_text: boolean): void
|
20853
20928
|
/**
|
20854
20929
|
* Get if the circle or rectangle with this id is filled.
|
20855
20930
|
*
|
@@ -22692,6 +22767,7 @@ interface LuaSurface {
|
|
22692
22767
|
readonly to_be_upgraded?: boolean
|
22693
22768
|
readonly limit?: uint
|
22694
22769
|
readonly is_military_target?: boolean
|
22770
|
+
readonly has_item_inside?: LuaItemPrototype
|
22695
22771
|
/**
|
22696
22772
|
* Whether the filters should be inverted.
|
22697
22773
|
*/
|
@@ -3093,14 +3093,15 @@ type SimpleItemStack = string | ItemStackDefinition
|
|
3093
3093
|
type FluidIdentification = string | LuaFluidPrototype | Fluid
|
3094
3094
|
|
3095
3095
|
/**
|
3096
|
-
* A force may be specified in one of
|
3096
|
+
* A force may be specified in one of three ways.
|
3097
3097
|
*
|
3098
3098
|
* **Options:**
|
3099
|
+
* - ForceIndex: The force index.
|
3099
3100
|
* - `string`: The force name.
|
3100
3101
|
* - {@link LuaForce}: A reference to {@link LuaForce} may be passed directly.
|
3101
3102
|
* @see {@link https://lua-api.factorio.com/latest/Concepts.html#ForceIdentification Online documentation}
|
3102
3103
|
*/
|
3103
|
-
type ForceIdentification = string | LuaForce
|
3104
|
+
type ForceIdentification = ForceIndex | string | LuaForce
|
3104
3105
|
|
3105
3106
|
/**
|
3106
3107
|
* A technology may be specified in one of three ways.
|
@@ -4260,7 +4261,7 @@ interface ModSetting {
|
|
4260
4261
|
/**
|
4261
4262
|
* The value of the mod setting. The type depends on the kind of setting.
|
4262
4263
|
*/
|
4263
|
-
readonly value: int | double | boolean | string
|
4264
|
+
readonly value: int | double | boolean | string | Color
|
4264
4265
|
}
|
4265
4266
|
|
4266
4267
|
/**
|
@@ -5194,7 +5195,7 @@ type ModSettingPrototypeFilter =
|
|
5194
5195
|
*/
|
5195
5196
|
interface BaseTechnologyPrototypeFilter {
|
5196
5197
|
/**
|
5197
|
-
* The condition to filter on. One of `"enabled"`, `"hidden"`, `"upgrade"`, `"visible-when-disabled"`, `"has-effects"`, `"has-prerequisites"`, `"research-unit-ingredient"`, `"level"`, `"max-level"`, `"time"`.
|
5198
|
+
* The condition to filter on. One of `"enabled"`, `"hidden"`, `"upgrade"`, `"visible-when-disabled"`, `"has-effects"`, `"has-prerequisites"`, `"research-unit-ingredient"`, `"unlocks-recipe"`, `"level"`, `"max-level"`, `"time"`.
|
5198
5199
|
*/
|
5199
5200
|
readonly filter:
|
5200
5201
|
| "enabled"
|
@@ -5204,6 +5205,7 @@ interface BaseTechnologyPrototypeFilter {
|
|
5204
5205
|
| "has-effects"
|
5205
5206
|
| "has-prerequisites"
|
5206
5207
|
| "research-unit-ingredient"
|
5208
|
+
| "unlocks-recipe"
|
5207
5209
|
| "level"
|
5208
5210
|
| "max-level"
|
5209
5211
|
| "time"
|
@@ -5228,6 +5230,17 @@ interface ResearchUnitIngredientTechnologyPrototypeFilter extends BaseTechnology
|
|
5228
5230
|
readonly ingredient: string
|
5229
5231
|
}
|
5230
5232
|
|
5233
|
+
/**
|
5234
|
+
* `"unlocks-recipe"` variant of {@link TechnologyPrototypeFilter}.
|
5235
|
+
*/
|
5236
|
+
interface UnlocksRecipeTechnologyPrototypeFilter extends BaseTechnologyPrototypeFilter {
|
5237
|
+
readonly filter: "unlocks-recipe"
|
5238
|
+
/**
|
5239
|
+
* The recipe to check.
|
5240
|
+
*/
|
5241
|
+
readonly recipe: string
|
5242
|
+
}
|
5243
|
+
|
5231
5244
|
/**
|
5232
5245
|
* `"level"` variant of {@link TechnologyPrototypeFilter}.
|
5233
5246
|
*/
|
@@ -5305,6 +5318,7 @@ interface OtherTechnologyPrototypeFilter extends BaseTechnologyPrototypeFilter {
|
|
5305
5318
|
*
|
5306
5319
|
* Other attributes may be specified depending on `filter`:
|
5307
5320
|
* - `"research-unit-ingredient"`: {@link ResearchUnitIngredientTechnologyPrototypeFilter}
|
5321
|
+
* - `"unlocks-recipe"`: {@link UnlocksRecipeTechnologyPrototypeFilter}
|
5308
5322
|
* - `"level"`: {@link LevelTechnologyPrototypeFilter}
|
5309
5323
|
* - `"max-level"`: {@link MaxLevelTechnologyPrototypeFilter}
|
5310
5324
|
* - `"time"`: {@link TimeTechnologyPrototypeFilter}
|
@@ -5312,6 +5326,7 @@ interface OtherTechnologyPrototypeFilter extends BaseTechnologyPrototypeFilter {
|
|
5312
5326
|
*/
|
5313
5327
|
type TechnologyPrototypeFilter =
|
5314
5328
|
| ResearchUnitIngredientTechnologyPrototypeFilter
|
5329
|
+
| UnlocksRecipeTechnologyPrototypeFilter
|
5315
5330
|
| LevelTechnologyPrototypeFilter
|
5316
5331
|
| MaxLevelTechnologyPrototypeFilter
|
5317
5332
|
| TimeTechnologyPrototypeFilter
|
@@ -5323,6 +5338,7 @@ type TechnologyPrototypeFilter =
|
|
5323
5338
|
*/
|
5324
5339
|
type TechnologyPrototypeFilterWrite =
|
5325
5340
|
| ResearchUnitIngredientTechnologyPrototypeFilter
|
5341
|
+
| UnlocksRecipeTechnologyPrototypeFilter
|
5326
5342
|
| LevelTechnologyPrototypeFilterWrite
|
5327
5343
|
| MaxLevelTechnologyPrototypeFilterWrite
|
5328
5344
|
| TimeTechnologyPrototypeFilterWrite
|
@@ -7314,6 +7330,120 @@ type LuaPlayerRepairedEntityEventFilter =
|
|
7314
7330
|
| GhostNamePlayerRepairedEntityEventFilter
|
7315
7331
|
| OtherPlayerRepairedEntityEventFilter
|
7316
7332
|
|
7333
|
+
/**
|
7334
|
+
* Common attributes to all variants of {@link LuaScriptRaisedTeleportedEventFilter}.
|
7335
|
+
*/
|
7336
|
+
interface BaseScriptRaisedTeleportedEventFilter {
|
7337
|
+
/**
|
7338
|
+
* The condition to filter on. One of `"ghost"`, `"rail"`, `"rail-signal"`, `"rolling-stock"`, `"robot-with-logistics-interface"`, `"vehicle"`, `"turret"`, `"crafting-machine"`, `"wall-connectable"`, `"transport-belt-connectable"`, `"circuit-network-connectable"`, `"type"`, `"name"`, `"ghost_type"`, `"ghost_name"`.
|
7339
|
+
*/
|
7340
|
+
readonly filter:
|
7341
|
+
| "ghost"
|
7342
|
+
| "rail"
|
7343
|
+
| "rail-signal"
|
7344
|
+
| "rolling-stock"
|
7345
|
+
| "robot-with-logistics-interface"
|
7346
|
+
| "vehicle"
|
7347
|
+
| "turret"
|
7348
|
+
| "crafting-machine"
|
7349
|
+
| "wall-connectable"
|
7350
|
+
| "transport-belt-connectable"
|
7351
|
+
| "circuit-network-connectable"
|
7352
|
+
| "type"
|
7353
|
+
| "name"
|
7354
|
+
| "ghost_type"
|
7355
|
+
| "ghost_name"
|
7356
|
+
/**
|
7357
|
+
* How to combine this with the previous filter. Must be `"or"` or `"and"`. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
|
7358
|
+
*/
|
7359
|
+
readonly mode?: "or" | "and"
|
7360
|
+
/**
|
7361
|
+
* Inverts the condition. Default is `false`.
|
7362
|
+
*/
|
7363
|
+
readonly invert?: boolean
|
7364
|
+
}
|
7365
|
+
|
7366
|
+
/**
|
7367
|
+
* `"type"` variant of {@link LuaScriptRaisedTeleportedEventFilter}.
|
7368
|
+
*/
|
7369
|
+
interface TypeScriptRaisedTeleportedEventFilter extends BaseScriptRaisedTeleportedEventFilter {
|
7370
|
+
readonly filter: "type"
|
7371
|
+
/**
|
7372
|
+
* The prototype type
|
7373
|
+
*/
|
7374
|
+
readonly type: string
|
7375
|
+
}
|
7376
|
+
|
7377
|
+
/**
|
7378
|
+
* `"name"` variant of {@link LuaScriptRaisedTeleportedEventFilter}.
|
7379
|
+
*/
|
7380
|
+
interface NameScriptRaisedTeleportedEventFilter extends BaseScriptRaisedTeleportedEventFilter {
|
7381
|
+
readonly filter: "name"
|
7382
|
+
/**
|
7383
|
+
* The prototype name
|
7384
|
+
*/
|
7385
|
+
readonly name: string
|
7386
|
+
}
|
7387
|
+
|
7388
|
+
/**
|
7389
|
+
* `"ghost_type"` variant of {@link LuaScriptRaisedTeleportedEventFilter}.
|
7390
|
+
*/
|
7391
|
+
interface GhostTypeScriptRaisedTeleportedEventFilter extends BaseScriptRaisedTeleportedEventFilter {
|
7392
|
+
readonly filter: "ghost_type"
|
7393
|
+
/**
|
7394
|
+
* The ghost prototype type
|
7395
|
+
*/
|
7396
|
+
readonly type: string
|
7397
|
+
}
|
7398
|
+
|
7399
|
+
/**
|
7400
|
+
* `"ghost_name"` variant of {@link LuaScriptRaisedTeleportedEventFilter}.
|
7401
|
+
*/
|
7402
|
+
interface GhostNameScriptRaisedTeleportedEventFilter extends BaseScriptRaisedTeleportedEventFilter {
|
7403
|
+
readonly filter: "ghost_name"
|
7404
|
+
/**
|
7405
|
+
* The ghost prototype name
|
7406
|
+
*/
|
7407
|
+
readonly name: string
|
7408
|
+
}
|
7409
|
+
|
7410
|
+
/**
|
7411
|
+
* Variants of {@link LuaScriptRaisedTeleportedEventFilter} with no additional attributes.
|
7412
|
+
*/
|
7413
|
+
interface OtherScriptRaisedTeleportedEventFilter extends BaseScriptRaisedTeleportedEventFilter {
|
7414
|
+
readonly filter:
|
7415
|
+
| "ghost"
|
7416
|
+
| "rail"
|
7417
|
+
| "rail-signal"
|
7418
|
+
| "rolling-stock"
|
7419
|
+
| "robot-with-logistics-interface"
|
7420
|
+
| "vehicle"
|
7421
|
+
| "turret"
|
7422
|
+
| "crafting-machine"
|
7423
|
+
| "wall-connectable"
|
7424
|
+
| "transport-belt-connectable"
|
7425
|
+
| "circuit-network-connectable"
|
7426
|
+
}
|
7427
|
+
|
7428
|
+
/**
|
7429
|
+
* Depending on the value of `filter`, the table may take additional fields. `filter` may be one of the following:
|
7430
|
+
*
|
7431
|
+
* Base attributes: {@link BaseScriptRaisedTeleportedEventFilter}
|
7432
|
+
*
|
7433
|
+
* Other attributes may be specified depending on `filter`:
|
7434
|
+
* - `"type"`: {@link TypeScriptRaisedTeleportedEventFilter}
|
7435
|
+
* - `"name"`: {@link NameScriptRaisedTeleportedEventFilter}
|
7436
|
+
* - `"ghost_type"`: {@link GhostTypeScriptRaisedTeleportedEventFilter}
|
7437
|
+
* - `"ghost_name"`: {@link GhostNameScriptRaisedTeleportedEventFilter}
|
7438
|
+
* @see {@link https://lua-api.factorio.com/latest/Concepts.html#LuaScriptRaisedTeleportedEventFilter Online documentation}
|
7439
|
+
*/
|
7440
|
+
type LuaScriptRaisedTeleportedEventFilter =
|
7441
|
+
| TypeScriptRaisedTeleportedEventFilter
|
7442
|
+
| NameScriptRaisedTeleportedEventFilter
|
7443
|
+
| GhostTypeScriptRaisedTeleportedEventFilter
|
7444
|
+
| GhostNameScriptRaisedTeleportedEventFilter
|
7445
|
+
| OtherScriptRaisedTeleportedEventFilter
|
7446
|
+
|
7317
7447
|
/**
|
7318
7448
|
* Common attributes to all variants of {@link LuaEntityMarkedForUpgradeEventFilter}.
|
7319
7449
|
*/
|
@@ -939,6 +939,12 @@ declare namespace defines {
|
|
939
939
|
* Event filter: {@link LuaScriptRaisedReviveEventFilter}
|
940
940
|
*/
|
941
941
|
const script_raised_revive: EventId<ScriptRaisedReviveEvent, LuaScriptRaisedReviveEventFilter>
|
942
|
+
/**
|
943
|
+
* Event type: {@link ScriptRaisedTeleportedEvent}
|
944
|
+
*
|
945
|
+
* Event filter: {@link LuaScriptRaisedTeleportedEventFilter}
|
946
|
+
*/
|
947
|
+
const script_raised_teleported: EventId<ScriptRaisedTeleportedEvent, LuaScriptRaisedTeleportedEventFilter>
|
942
948
|
/**
|
943
949
|
* Event type: {@link ScriptRaisedSetTilesEvent}
|
944
950
|
*/
|
@@ -3802,7 +3802,7 @@ interface OnSpiderCommandCompletedEvent extends EventData {
|
|
3802
3802
|
}
|
3803
3803
|
|
3804
3804
|
/**
|
3805
|
-
* Called when a translation request generated through {@link LuaPlayer#request_translation LuaPlayer::request_translation}
|
3805
|
+
* Called when a translation request generated through {@link LuaPlayer#request_translation LuaPlayer::request_translation} or {@link LuaPlayer#request_translations LuaPlayer::request_translations} has been completed.
|
3806
3806
|
* @see {@link https://lua-api.factorio.com/latest/events.html#on_string_translated Online documentation}
|
3807
3807
|
*/
|
3808
3808
|
interface OnStringTranslatedEvent extends EventData {
|
@@ -4215,6 +4215,33 @@ interface ScriptRaisedSetTilesEvent extends EventData {
|
|
4215
4215
|
readonly tick: uint
|
4216
4216
|
}
|
4217
4217
|
|
4218
|
+
/**
|
4219
|
+
* A static event mods can use to tell other mods they teleported something by script. This event is only raised if a mod does so with {@link LuaBootstrap#raise_event LuaBootstrap::raise_event} or {@link LuaBootstrap#raise_script_teleported LuaBootstrap::raise_script_teleported}, or when `raise_teleported` is passed to {@link LuaControl#teleport LuaControl::teleport}. Can be filtered using {@link LuaScriptRaisedTeleportedEventFilter}.
|
4220
|
+
* @see {@link https://lua-api.factorio.com/latest/events.html#script_raised_teleported Online documentation}
|
4221
|
+
*/
|
4222
|
+
interface ScriptRaisedTeleportedEvent extends EventData {
|
4223
|
+
/**
|
4224
|
+
* The entity that was teleported.
|
4225
|
+
*/
|
4226
|
+
readonly entity: LuaEntity
|
4227
|
+
/**
|
4228
|
+
* The entity's surface before the teleportation.
|
4229
|
+
*/
|
4230
|
+
readonly old_surface_index: uint8
|
4231
|
+
/**
|
4232
|
+
* The entity's position before the teleportation.
|
4233
|
+
*/
|
4234
|
+
readonly old_position: MapPosition
|
4235
|
+
/**
|
4236
|
+
* Identifier of the event
|
4237
|
+
*/
|
4238
|
+
readonly name: typeof defines.events.script_raised_teleported
|
4239
|
+
/**
|
4240
|
+
* Tick the event was generated.
|
4241
|
+
*/
|
4242
|
+
readonly tick: uint
|
4243
|
+
}
|
4244
|
+
|
4218
4245
|
/** An event id. */
|
4219
4246
|
type EventId<T extends table, F = unknown> = uint & {
|
4220
4247
|
readonly _eventData: T
|
@@ -16,6 +16,13 @@ type PlayerIndex = uint & IndexBrand<"_playerIndexBrand">
|
|
16
16
|
*/
|
17
17
|
type SurfaceIndex = uint & IndexBrand<"_surfaceIndexBrand">
|
18
18
|
|
19
|
+
/**
|
20
|
+
* See {@link LuaForce#index LuaForce.index}.
|
21
|
+
*
|
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 ForceIndex`.
|
23
|
+
*/
|
24
|
+
type ForceIndex = uint & IndexBrand<"_forceIndexBrand">
|
25
|
+
|
19
26
|
/**
|
20
27
|
* See {@link LuaEntity#unit_number LuaEntity.unit_number}.
|
21
28
|
*
|