typed-factorio 0.12.0 → 0.13.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/Changelog.md CHANGED
@@ -1,3 +1,7 @@
1
+ # v0.13.0
2
+
3
+ - Update to factorio version 1.1.49
4
+
1
5
  # v0.12.0
2
6
 
3
7
  - Update to factorio version 1.1.48
@@ -1187,7 +1187,7 @@ interface LuaControl {
1187
1187
  * players, cars, and spidertrons can be teleported cross-surface.
1188
1188
  * @returns `true` when the entity was successfully teleported.
1189
1189
  */
1190
- teleport(position: Position, surface?: SurfaceIdentification): boolean
1190
+ teleport(position: MapPosition, surface?: SurfaceIdentification): boolean
1191
1191
  /**
1192
1192
  * Select an entity, as if by hovering the mouse above it.
1193
1193
  *
@@ -1195,7 +1195,7 @@ interface LuaControl {
1195
1195
  *
1196
1196
  * @param position - Position of the entity to select
1197
1197
  */
1198
- update_selected_entity(position: Position): void
1198
+ update_selected_entity(position: MapPosition): void
1199
1199
  /**
1200
1200
  * Unselect any selected entity.
1201
1201
  *
@@ -1378,7 +1378,7 @@ interface LuaControl {
1378
1378
  *
1379
1379
  * {@link https://lua-api.factorio.com/next/LuaControl.html#LuaControl.position View documentation}
1380
1380
  */
1381
- readonly position: PositionTable
1381
+ readonly position: MapPosition
1382
1382
  /**
1383
1383
  * The vehicle the player is currently sitting in; `nil` if none.
1384
1384
  *
@@ -2996,7 +2996,7 @@ interface LuaEntity extends LuaControl {
2996
2996
  */
2997
2997
  clone(params: {
2998
2998
  /** The destination position */
2999
- readonly position: Position
2999
+ readonly position: MapPosition
3000
3000
  /** The destination surface */
3001
3001
  readonly surface?: LuaSurface
3002
3002
  readonly force?: ForceIdentification
@@ -3139,7 +3139,7 @@ interface LuaEntity extends LuaControl {
3139
3139
  * @param target
3140
3140
  * @param position
3141
3141
  */
3142
- can_shoot(target: LuaEntity, position: Position): boolean
3142
+ can_shoot(target: LuaEntity, position: MapPosition): boolean
3143
3143
  /**
3144
3144
  * Only works if the entity is a speech-bubble, with an "effect" defined in its wrapper_flow_style. Starts animating
3145
3145
  * the opacity of the speech bubble towards zero, and destroys the entity when it hits zero.
@@ -3279,7 +3279,7 @@ interface LuaEntity extends LuaControl {
3279
3279
  *
3280
3280
  * @param position - The position the spidertron should move to.
3281
3281
  */
3282
- add_autopilot_destination(position: Position): void
3282
+ add_autopilot_destination(position: MapPosition): void
3283
3283
  /**
3284
3284
  * Connects current linked belt with another one.
3285
3285
  *
@@ -4501,7 +4501,7 @@ interface LuaEntity extends LuaControl {
4501
4501
  *
4502
4502
  * {@link https://lua-api.factorio.com/next/LuaEntity.html#LuaEntity.autopilot_destination View documentation}
4503
4503
  */
4504
- autopilot_destination: Position | undefined
4504
+ autopilot_destination: MapPosition | undefined
4505
4505
  /**
4506
4506
  * The queued destination positions of spidertron's autopilot.
4507
4507
  *
@@ -4509,7 +4509,7 @@ interface LuaEntity extends LuaControl {
4509
4509
  *
4510
4510
  * {@link https://lua-api.factorio.com/next/LuaEntity.html#LuaEntity.autopilot_destinations View documentation}
4511
4511
  */
4512
- readonly autopilot_destinations: PositionTable[]
4512
+ readonly autopilot_destinations: MapPosition[]
4513
4513
  /**
4514
4514
  * Amount of trains related to this particular train stop. Includes train stopped at this train stop (until it finds
4515
4515
  * a path to next target) and trains having this train stop as goal or waypoint. Writing nil will disable the limit
@@ -5829,7 +5829,7 @@ interface LuaEntityPrototype {
5829
5829
  */
5830
5830
  readonly related_underground_belt: LuaEntityPrototype
5831
5831
  /**
5832
- * Gets the current stack size bonus of this entity, returns nil if not an inserter.
5832
+ * Gets the built-in stack size bonus of this inserter prototype. `nil` if this is not an inserter.
5833
5833
  *
5834
5834
  * {@link https://lua-api.factorio.com/next/LuaEntityPrototype.html#LuaEntityPrototype.inserter_stack_size_bonus View documentation}
5835
5835
  */
@@ -7825,6 +7825,12 @@ interface LuaGameScript {
7825
7825
  readonly can_continue: boolean
7826
7826
  readonly victorious_force: ForceIdentification
7827
7827
  }): void
7828
+ /**
7829
+ * Reset scenario state (game_finished, player_won, etc.).
7830
+ *
7831
+ * {@link https://lua-api.factorio.com/next/LuaGameScript.html#LuaGameScript.reset_game_state View documentation}
7832
+ */
7833
+ reset_game_state(): void
7828
7834
  /**
7829
7835
  * {@link https://lua-api.factorio.com/next/LuaGameScript.html#LuaGameScript.get_entity_by_tag View documentation}
7830
7836
  *
@@ -8834,11 +8840,17 @@ interface LuaGameScript {
8834
8840
  */
8835
8841
  ticks_to_run: uint
8836
8842
  /**
8837
- * Is the scenario finished?
8843
+ * True while the victory screen is shown.
8838
8844
  *
8839
8845
  * {@link https://lua-api.factorio.com/next/LuaGameScript.html#LuaGameScript.finished View documentation}
8840
8846
  */
8841
8847
  readonly finished: boolean
8848
+ /**
8849
+ * True after players finished the game and clicked "continue".
8850
+ *
8851
+ * {@link https://lua-api.factorio.com/next/LuaGameScript.html#LuaGameScript.finished_but_continuing View documentation}
8852
+ */
8853
+ readonly finished_but_continuing: boolean
8842
8854
  /**
8843
8855
  * Speed to update the map at. 1.0 is normal speed -- 60 UPS.
8844
8856
  *
@@ -13955,7 +13967,7 @@ interface LuaPlayer extends LuaControl {
13955
13967
  * Position at which cursor was clicked. Used only to decide which side of arithmetic combinator, decider
13956
13968
  * combinator or power switch is to be connected. Entity itself to be connected is based on the player's selected entity.
13957
13969
  */
13958
- readonly position: Position
13970
+ readonly position: MapPosition
13959
13971
  }): boolean
13960
13972
  /**
13961
13973
  * Disable recipe groups.
@@ -14161,7 +14173,7 @@ interface LuaPlayer extends LuaControl {
14161
14173
  /** Name of the entity to check */
14162
14174
  readonly name: string
14163
14175
  /** Where the entity would be placed */
14164
- readonly position: Position
14176
+ readonly position: MapPosition
14165
14177
  /** Direction the entity would be placed */
14166
14178
  readonly direction?: defines.direction
14167
14179
  }): boolean
@@ -14172,7 +14184,7 @@ interface LuaPlayer extends LuaControl {
14172
14184
  */
14173
14185
  can_build_from_cursor(params: {
14174
14186
  /** Where the entity would be placed */
14175
- readonly position: Position
14187
+ readonly position: MapPosition
14176
14188
  /** Direction the entity would be placed */
14177
14189
  readonly direction?: defines.direction
14178
14190
  /** If alt build should be used instead of normal build. Defaults to normal. */
@@ -14193,7 +14205,7 @@ interface LuaPlayer extends LuaControl {
14193
14205
  */
14194
14206
  build_from_cursor(params: {
14195
14207
  /** Where the entity would be placed */
14196
- readonly position: Position
14208
+ readonly position: MapPosition
14197
14209
  /** Direction the entity would be placed */
14198
14210
  readonly direction?: defines.direction
14199
14211
  /** If alt build should be used instead of normal build. Defaults to normal. */
@@ -14279,7 +14291,7 @@ interface LuaPlayer extends LuaControl {
14279
14291
  /** The flying text to show. */
14280
14292
  readonly text: LocalisedString
14281
14293
  /** The location on the map at which to show the flying text. */
14282
- readonly position?: Position
14294
+ readonly position?: MapPosition
14283
14295
  /** If `true`, the flying text is created at the player's cursor. Defaults to `false`. */
14284
14296
  readonly create_at_cursor?: boolean
14285
14297
  /** The color of the flying text. Defaults to white text. */
@@ -14350,7 +14362,7 @@ interface LuaPlayer extends LuaControl {
14350
14362
  * @param position
14351
14363
  * @param scale
14352
14364
  */
14353
- open_map(position: Position, scale?: double): void
14365
+ open_map(position: MapPosition, scale?: double): void
14354
14366
  /**
14355
14367
  * Queues a request to zoom to world at the specified position. If the player is already zooming to world, the
14356
14368
  * request will simply set the position (and scale). Render mode change requests are processed before rendering of
@@ -14361,7 +14373,7 @@ interface LuaPlayer extends LuaControl {
14361
14373
  * @param position
14362
14374
  * @param scale
14363
14375
  */
14364
- zoom_to_world(position: Position, scale?: double): void
14376
+ zoom_to_world(position: MapPosition, scale?: double): void
14365
14377
  /**
14366
14378
  * Queues request to switch to the normal game view from the map or zoom to world view. Render mode change requests
14367
14379
  * are processed before rendering of the next frame.
@@ -14499,7 +14511,7 @@ interface LuaPlayer extends LuaControl {
14499
14511
  * @param position - The position to start selection from.
14500
14512
  * @param selection_mode - The type of selection to start. Can be `select`, `alternative-select`, `reverse-select`.
14501
14513
  */
14502
- start_selection(position: Position, selection_mode: string): void
14514
+ start_selection(position: MapPosition, selection_mode: string): void
14503
14515
  /**
14504
14516
  * Clears the players selection tool selection position.
14505
14517
  *
@@ -18810,7 +18822,7 @@ interface LuaSurface {
18810
18822
  *
18811
18823
  * {@link https://lua-api.factorio.com/next/LuaSurface.html#LuaSurface.daytime View documentation}
18812
18824
  */
18813
- daytime: float
18825
+ daytime: double
18814
18826
  /**
18815
18827
  * Amount of darkness at the current time.
18816
18828
  *
@@ -99,6 +99,17 @@ type PositionArray = readonly [x: int, y: int]
99
99
  */
100
100
  type Position = PositionTable | PositionArray
101
101
 
102
+ /**
103
+ * Coordinates of an entity on a map. This uses the same format as {@link Position}, meaning it can be specified either
104
+ * with or without explicit keys.
105
+ *
106
+ * {@link https://lua-api.factorio.com/next/Concepts.html#MapPosition View documentation}
107
+ */
108
+ interface MapPosition {
109
+ readonly x: double
110
+ readonly y: double
111
+ }
112
+
102
113
  interface ChunkPositionTable {
103
114
  readonly x: int
104
115
  readonly y: int
@@ -705,7 +716,10 @@ interface SteeringMapSettings {
705
716
  }
706
717
 
707
718
  interface PathFinderMapSettings {
708
- /** Determines whether forwards (`>1`), backwards (`<-1`), or symmetrical (`1`) search is preferred. Defaults to `5`. */
719
+ /**
720
+ * The pathfinder performs a step of the backward search every `fwd2bwd_ratio`'th step. The minimum allowed value is
721
+ * `2`, which means symmetric search. The default value is `5`.
722
+ */
709
723
  readonly fwd2bwd_ratio: uint
710
724
  /**
711
725
  * When looking at which node to check next, their heuristic value is multiplied by this ratio. The higher it is,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "typed-factorio",
3
- "version": "0.12.0",
3
+ "version": "0.13.0",
4
4
  "description": "Featureful typescript definitions for the the Factorio modding lua api.",
5
5
  "keywords": [
6
6
  "factorio",
@@ -15,7 +15,7 @@
15
15
  ],
16
16
  "homepage": "https://github.com/GlassBricks/typed-factorio#readme",
17
17
  "scripts": {
18
- "gen": "ts-node generator/index.ts",
18
+ "gen": "ts-node -P generator/tsconfig.json generator/index.ts",
19
19
  "generate": "yarn run gen --in ./generatorSrc --out ./generated --warn-as-error",
20
20
  "generate:dev": "yarn run gen --in ./generatorSrc --out ./generated --no-format",
21
21
  "clean": "rimraf generated",
@@ -26,31 +26,33 @@
26
26
  "prepublishOnly": "yarn run check",
27
27
  "download-latest-runtime-api": "ts-node ./scripts/downloadLatest.ts"
28
28
  },
29
- "dependencies": {
30
- "lua-types": "^2.10.1",
29
+ "peerDependencies": {
30
+ "lua-types": "^2.11.0",
31
31
  "typescript-to-lua": "^1.0.0"
32
32
  },
33
33
  "devDependencies": {
34
- "@types/jest": "^26.0.24",
35
- "@types/node": "^16.7.1",
36
- "@types/prettier": "^2.3.2",
37
- "@typescript-eslint/eslint-plugin": "^4.27.0",
38
- "@typescript-eslint/parser": "^4.27.0",
39
- "chalk": "^4.1.2",
34
+ "@types/jest": "^27.0.3",
35
+ "@types/node": "^16.11.12",
36
+ "@types/prettier": "^2.4.2",
37
+ "@typescript-eslint/eslint-plugin": "^5.6.0",
38
+ "@typescript-eslint/parser": "^5.6.0",
39
+ "chalk": "^3.0.0",
40
40
  "commander": "^8.3.0",
41
- "eslint": "^7.29.0",
41
+ "eslint": "^8.4.1",
42
42
  "eslint-config-prettier": "^8.3.0",
43
43
  "eslint-config-standard": "^16.0.3",
44
- "eslint-import-resolver-typescript": "^2.4.0",
45
- "eslint-plugin-import": "^2.23.4",
44
+ "eslint-import-resolver-typescript": "^2.5.0",
45
+ "eslint-plugin-import": "^2.25.3",
46
46
  "eslint-plugin-node": "^11.1.0",
47
- "eslint-plugin-prettier": "^3.4.0",
48
- "eslint-plugin-promise": "^5.1.0",
49
- "jest": "^27.0.6",
50
- "prettier": "^2.3.2",
51
- "prettier-plugin-jsdoc": "^0.3.23",
52
- "ts-jest": "^27.0.4",
53
- "ts-node": "^10.1.0",
54
- "typescript": "~4.3.5"
47
+ "eslint-plugin-prettier": "^4.0.0",
48
+ "eslint-plugin-promise": "^5.2.0",
49
+ "jest": "^27.4.3",
50
+ "lua-types": "^2.11.0",
51
+ "prettier": "^2.5.1",
52
+ "prettier-plugin-jsdoc": "^0.3.30",
53
+ "ts-jest": "^27.1.0",
54
+ "ts-node": "^10.4.0",
55
+ "typescript": "4.5.2",
56
+ "typescript-to-lua": "^1.2.0"
55
57
  }
56
58
  }