pw-js-world 0.0.3-dev.8b5073e → 0.0.3-dev.e32d1b0

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/dist/Helper.d.ts CHANGED
@@ -1,9 +1,9 @@
1
1
  import { BlockNames, Hook } from "pw-js-api";
2
2
  import type { ProtoGen } from "pw-js-api";
3
3
  import Block from "./Block";
4
- import Player from "./Player";
4
+ import Player, { IPlayerEffect, IPlayerRights } from "./Player";
5
5
  import { LayerType } from "./Constants";
6
- import type { BlockArg, Point, PWGameHook, SendableBlockPacket } from "./types";
6
+ import type { BlockArg, Point, SendableBlockPacket } from "./types";
7
7
  /**
8
8
  * To use this helper, you must first create an instance of this,
9
9
  *
@@ -62,7 +62,95 @@ export default class PWGameWorldHelper {
62
62
  *
63
63
  * DO NOT PUT () AFTER RECEIVEHOOK
64
64
  */
65
- receiveHook: Hook<PWGameHook>;
65
+ receiveHook: Hook<{
66
+ worldBlockPlacedPacket: {
67
+ player: Player;
68
+ oldBlocks: Block[];
69
+ newBlocks: Block[];
70
+ };
71
+ playerJoinedPacket: {
72
+ player: Player;
73
+ };
74
+ playerLeftPacket: {
75
+ player: Player;
76
+ };
77
+ playerInitPacket: {
78
+ player: Player;
79
+ };
80
+ playerFacePacket: {
81
+ player: Player;
82
+ oldFace: number;
83
+ };
84
+ playerModModePacket: {
85
+ player: Player;
86
+ oldState: boolean;
87
+ };
88
+ playerGodModePacket: {
89
+ player: Player;
90
+ oldState: boolean;
91
+ };
92
+ playerAddEffectPacket: {
93
+ player: Player;
94
+ effect: IPlayerEffect;
95
+ };
96
+ playerRemoveEffectPacket: {
97
+ player: Player;
98
+ effect: IPlayerEffect;
99
+ };
100
+ playerResetEffectsPacket: {
101
+ player: Player;
102
+ effects: IPlayerEffect[];
103
+ };
104
+ playerMovedPacket: {
105
+ player: Player;
106
+ };
107
+ playerResetPacket: {
108
+ player: Player;
109
+ };
110
+ playerRespawnPacket: {
111
+ player: Player;
112
+ };
113
+ playerUpdateRightsPacket: {
114
+ player: Player;
115
+ rights: IPlayerRights;
116
+ };
117
+ playerTeamUpdatePacket: {
118
+ player: Player;
119
+ oldTeam: number;
120
+ };
121
+ playerCountersUpdatePacket: {
122
+ player: Player;
123
+ oldState: {
124
+ coinsBlue: number;
125
+ coinsGold: number;
126
+ deaths: number;
127
+ };
128
+ };
129
+ playerTeleportedPacket: {
130
+ player: Player;
131
+ };
132
+ globalSwitchChangedPacket: {
133
+ player: Player;
134
+ };
135
+ globalSwitchResetPacket: {
136
+ player: Player;
137
+ };
138
+ playerLocalSwitchChangedPacket: {
139
+ player: Player;
140
+ };
141
+ playerLocalSwitchResetPacket: {
142
+ player: Player;
143
+ };
144
+ playerChatPacket: {
145
+ player: Player;
146
+ };
147
+ playerDirectMessagePacket: {
148
+ player: Player;
149
+ };
150
+ playerTouchBlockPacket: {
151
+ player: Player;
152
+ };
153
+ }>;
66
154
  /**
67
155
  * Internal function.
68
156
  */
@@ -80,11 +168,8 @@ export default class PWGameWorldHelper {
80
168
  private clear;
81
169
  /**
82
170
  * Gets the block at the position.
83
- *
84
- * Difference between this and using this.blocks directly is that this function will validate the positions and the layer.
85
171
  */
86
- getBlockAt(pos: Point, l: LayerType): Block;
87
- getBlockAt(x: number | Point, y: number, l: LayerType): Block;
172
+ getBlockAt(x: number, y: number, l: number): Block;
88
173
  /**
89
174
  * Player ID.
90
175
  *
package/dist/Helper.js CHANGED
@@ -427,18 +427,10 @@ export default class PWGameWorldHelper {
427
427
  }
428
428
  }
429
429
  }
430
+ /**
431
+ * Gets the block at the position.
432
+ */
430
433
  getBlockAt(x, y, l) {
431
- if (typeof x !== "number") {
432
- l = y;
433
- y = x.y;
434
- x = x.x;
435
- }
436
- if (l === undefined || l < 2)
437
- throw Error("Unknown layer");
438
- if (x < 0 || x >= this.width)
439
- throw Error("X is outside the bound of the world.");
440
- if (y < 0 || y >= this.height)
441
- throw Error("Y is outside the bound of the world.");
442
434
  return this.blocks[l][x][y];
443
435
  }
444
436
  getPlayer(id, isAccount) {
@@ -487,4 +479,4 @@ export default class PWGameWorldHelper {
487
479
  };
488
480
  }
489
481
  }
490
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vbGliL0hlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUE4QixNQUFNLFdBQVcsQ0FBQztBQUduRSxPQUFPLEtBQUssTUFBTSxTQUFTLENBQUM7QUFDNUIsT0FBTyxZQUFZLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUMsT0FBTyxNQUFNLEVBQUUsRUFBRSxZQUFZLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFJaEQ7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxPQUFPLE9BQU8saUJBQWlCO0lBQXRDO1FBQ0k7O1dBRUc7UUFDSCxXQUFNLEdBQTJCLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUEsbUJBQW1CO1FBRTdELFlBQU8sR0FBRyxJQUFJLEdBQUcsRUFBa0IsQ0FBQztRQUVwQyxtQkFBYyxHQUFhLEVBQUUsQ0FBQztRQUd0QixXQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ1gsWUFBTyxHQUFHLENBQUMsQ0FBQztRQUNaLFVBQUssR0FBRyxLQUFLLENBQUM7UUFDZCxrQkFBYSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBOEQzQjs7Ozs7O1dBTUc7UUFDSCxnQkFBVyxHQUNQLENBQUMsSUFBNEIsRUFBRSxFQUFFOztZQUVqQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDO1lBRXhCLFFBQVEsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUNsQixlQUFlO2dCQUNmLEtBQUssa0JBQWtCO29CQUNuQixDQUFDO3dCQUNHLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUM7d0JBQ3hDLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUM7d0JBQ3RDLElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBQSxNQUFNLENBQUMsS0FBSyxDQUFDLFNBQVMsbUNBQUks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
482
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vbGliL0hlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUE0QyxNQUFNLFdBQVcsQ0FBQztBQUdqRixPQUFPLEtBQUssTUFBTSxTQUFTLENBQUM7QUFDNUIsT0FBTyxZQUFZLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUMsT0FBTyxNQUFNLEVBQUUsRUFBZ0MsWUFBWSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBSTlFOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsT0FBTyxPQUFPLGlCQUFpQjtJQUF0QztRQUNJOztXQUVHO1FBQ0gsV0FBTSxHQUEyQixDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFBLG1CQUFtQjtRQUU3RCxZQUFPLEdBQUcsSUFBSSxHQUFHLEVBQWtCLENBQUM7UUFFcEMsbUJBQWMsR0FBYSxFQUFFLENBQUM7UUFHdEIsV0FBTSxHQUFHLENBQUMsQ0FBQztRQUNYLFlBQU8sR0FBRyxDQUFDLENBQUM7UUFDWixVQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ2Qsa0JBQWEsR0FBRyxDQUFDLENBQUMsQ0FBQztRQThEM0I7Ozs7OztXQU1HO1FBQ0gsZ0JBQVcsR0EwQlAsQ0FBQyxJQUE0QixFQUFFLEVBQUU7O1lBRWpDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUM7WUFFeEIsUUFBUSxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ2xCLGVBQWU7Z0JBQ2YsS0FBSyxrQkFBa0I7b0JBQ25CLENBQUM7d0JBQ0csSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQzt3QkFDeEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQzt3QkFDdEMsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFBLE1BQU0sQ0FBQyxLQUFLLENBQUMsU0FBUyxtQ0FB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
@@ -1,8 +1,5 @@
1
1
  // I cba so all of the typings will go here
2
2
 
3
- import Block from "../Block";
4
- import Player, { IPlayerEffect, IPlayerRights } from "../Player";
5
-
6
3
  type Point = { x: number, y: number };
7
4
 
8
5
  export interface SendableBlockPacket {
@@ -19,31 +16,4 @@ export interface SendableBlockPacket {
19
16
  extraFields?: Uint8Array;
20
17
  }
21
18
 
22
- export type BlockArg = (string | number | bigint | boolean | Buffer);
23
-
24
- export type PWGameHook = {
25
- worldBlockPlacedPacket: { player: Player, oldBlocks: Block[], newBlocks: Block[] },
26
- playerJoinedPacket: { player: Player },
27
- playerLeftPacket: { player: Player },
28
- playerInitPacket: { player: Player },
29
- playerFacePacket: { player: Player, oldFace: number },
30
- playerModModePacket: { player: Player, oldState: boolean },
31
- playerGodModePacket: { player: Player, oldState: boolean },
32
- playerAddEffectPacket: { player: Player, effect: IPlayerEffect },
33
- playerRemoveEffectPacket: { player: Player, effect: IPlayerEffect },
34
- playerResetEffectsPacket: { player: Player, effects: IPlayerEffect[] },
35
- playerMovedPacket: { player: Player },
36
- playerResetPacket: { player: Player },
37
- playerRespawnPacket: { player: Player },
38
- playerUpdateRightsPacket: { player: Player, rights: IPlayerRights },
39
- playerTeamUpdatePacket: { player: Player, oldTeam: number },
40
- playerCountersUpdatePacket: { player: Player, oldState: { coinsBlue: number, coinsGold: number, deaths: number } },
41
- playerTeleportedPacket: { player: Player },
42
- globalSwitchChangedPacket: { player: Player },
43
- globalSwitchResetPacket: { player: Player },
44
- playerLocalSwitchChangedPacket: { player: Player },
45
- playerLocalSwitchResetPacket: { player: Player },
46
- playerChatPacket: { player: Player },
47
- playerDirectMessagePacket: { player: Player },
48
- playerTouchBlockPacket: { player: Player },
49
- };
19
+ export type BlockArg = (string | number | bigint | boolean | Buffer);
package/lib/Helper.ts CHANGED
@@ -1,11 +1,11 @@
1
- import { BlockNames, type CustomBotEvents, Hook } from "pw-js-api";
1
+ import { BlockNames, type CustomBotEvents, Hook, PWGameClient } from "pw-js-api";
2
2
  import type { ProtoGen } from "pw-js-api";//"../node_modules/pw-js-api/dist/gen/world_pb";
3
3
 
4
4
  import Block from "./Block";
5
5
  import BufferReader from "./BufferReader";
6
- import Player, { PlayerEffect } from "./Player";
6
+ import Player, { IPlayerEffect, IPlayerRights, PlayerEffect } from "./Player";
7
7
  import { LayerType } from "./Constants";
8
- import type { BlockArg, Point, PWGameHook, SendableBlockPacket } from "./types";
8
+ import type { BlockArg, Point, SendableBlockPacket } from "./types";
9
9
 
10
10
  /**
11
11
  * To use this helper, you must first create an instance of this,
@@ -95,7 +95,32 @@ export default class PWGameWorldHelper {
95
95
  *
96
96
  * DO NOT PUT () AFTER RECEIVEHOOK
97
97
  */
98
- receiveHook: Hook<PWGameHook> =
98
+ receiveHook: Hook<{
99
+ worldBlockPlacedPacket: { player: Player, oldBlocks: Block[], newBlocks: Block[] },
100
+ playerJoinedPacket: { player: Player },
101
+ playerLeftPacket: { player: Player },
102
+ playerInitPacket: { player: Player },
103
+ playerFacePacket: { player: Player, oldFace: number },
104
+ playerModModePacket: { player: Player, oldState: boolean },
105
+ playerGodModePacket: { player: Player, oldState: boolean },
106
+ playerAddEffectPacket: { player: Player, effect: IPlayerEffect },
107
+ playerRemoveEffectPacket: { player: Player, effect: IPlayerEffect },
108
+ playerResetEffectsPacket: { player: Player, effects: IPlayerEffect[] },
109
+ playerMovedPacket: { player: Player },
110
+ playerResetPacket: { player: Player },
111
+ playerRespawnPacket: { player: Player },
112
+ playerUpdateRightsPacket: { player: Player, rights: IPlayerRights },
113
+ playerTeamUpdatePacket: { player: Player, oldTeam: number },
114
+ playerCountersUpdatePacket: { player: Player, oldState: { coinsBlue: number, coinsGold: number, deaths: number } },
115
+ playerTeleportedPacket: { player: Player },
116
+ globalSwitchChangedPacket: { player: Player },
117
+ globalSwitchResetPacket: { player: Player },
118
+ playerLocalSwitchChangedPacket: { player: Player },
119
+ playerLocalSwitchResetPacket: { player: Player },
120
+ playerChatPacket: { player: Player },
121
+ playerDirectMessagePacket: { player: Player },
122
+ playerTouchBlockPacket: { player: Player },
123
+ }> =
99
124
  (data: CustomBotEvents["raw"]) => {
100
125
 
101
126
  const { packet } = data;
@@ -502,23 +527,8 @@ export default class PWGameWorldHelper {
502
527
 
503
528
  /**
504
529
  * Gets the block at the position.
505
- *
506
- * Difference between this and using this.blocks directly is that this function will validate the positions and the layer.
507
530
  */
508
- getBlockAt(pos: Point, l: LayerType) : Block;
509
- getBlockAt(x: number | Point, y: number, l: LayerType) : Block;
510
- getBlockAt(x: number | Point, y: number | LayerType, l?: LayerType) {
511
- if (typeof x !== "number") {
512
- l = y;
513
- y = x.y;
514
- x = x.x;
515
- }
516
-
517
- if (l === undefined || l < 2) throw Error("Unknown layer");
518
-
519
- if (x < 0 || x >= this.width) throw Error("X is outside the bound of the world.");
520
- if (y < 0 || y >= this.height) throw Error("Y is outside the bound of the world.");
521
-
531
+ getBlockAt(x: number, y: number, l: number) {
522
532
  return this.blocks[l][x][y];
523
533
  }
524
534
 
@@ -1,8 +1,5 @@
1
1
  // I cba so all of the typings will go here
2
2
 
3
- import Block from "../Block";
4
- import Player, { IPlayerEffect, IPlayerRights } from "../Player";
5
-
6
3
  type Point = { x: number, y: number };
7
4
 
8
5
  export interface SendableBlockPacket {
@@ -19,31 +16,4 @@ export interface SendableBlockPacket {
19
16
  extraFields?: Uint8Array;
20
17
  }
21
18
 
22
- export type BlockArg = (string | number | bigint | boolean | Buffer);
23
-
24
- export type PWGameHook = {
25
- worldBlockPlacedPacket: { player: Player, oldBlocks: Block[], newBlocks: Block[] },
26
- playerJoinedPacket: { player: Player },
27
- playerLeftPacket: { player: Player },
28
- playerInitPacket: { player: Player },
29
- playerFacePacket: { player: Player, oldFace: number },
30
- playerModModePacket: { player: Player, oldState: boolean },
31
- playerGodModePacket: { player: Player, oldState: boolean },
32
- playerAddEffectPacket: { player: Player, effect: IPlayerEffect },
33
- playerRemoveEffectPacket: { player: Player, effect: IPlayerEffect },
34
- playerResetEffectsPacket: { player: Player, effects: IPlayerEffect[] },
35
- playerMovedPacket: { player: Player },
36
- playerResetPacket: { player: Player },
37
- playerRespawnPacket: { player: Player },
38
- playerUpdateRightsPacket: { player: Player, rights: IPlayerRights },
39
- playerTeamUpdatePacket: { player: Player, oldTeam: number },
40
- playerCountersUpdatePacket: { player: Player, oldState: { coinsBlue: number, coinsGold: number, deaths: number } },
41
- playerTeleportedPacket: { player: Player },
42
- globalSwitchChangedPacket: { player: Player },
43
- globalSwitchResetPacket: { player: Player },
44
- playerLocalSwitchChangedPacket: { player: Player },
45
- playerLocalSwitchResetPacket: { player: Player },
46
- playerChatPacket: { player: Player },
47
- playerDirectMessagePacket: { player: Player },
48
- playerTouchBlockPacket: { player: Player },
49
- };
19
+ export type BlockArg = (string | number | bigint | boolean | Buffer);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pw-js-world",
3
- "version": "0.0.3-dev.8b5073e",
3
+ "version": "0.0.3-dev.e32d1b0",
4
4
  "description": "An optional package for PW-JS-Api, aims to serve world purposes.",
5
5
  "main": "lib/index.ts",
6
6
  "exports": {
@@ -22,7 +22,6 @@
22
22
  },
23
23
  "license": "MIT",
24
24
  "devDependencies": {
25
- "@favware/npm-deprecate": "^2.0.0",
26
25
  "@types/node": "^22.10.5",
27
26
  "ncp": "^2.0.0",
28
27
  "rimraf": "^6.0.1",