@vaitosoi/minejs 0.3.1 → 0.4.1

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.
Files changed (78) hide show
  1. package/README.md +5 -8
  2. package/assets/minecraft/26.2/packets.json +27 -10
  3. package/dist/base/buffer.d.ts +2 -0
  4. package/dist/base/buffer.d.ts.map +1 -0
  5. package/dist/base/buffer.js +12 -0
  6. package/dist/base/buffer.js.map +1 -0
  7. package/dist/base/error.d.ts +33 -6
  8. package/dist/base/error.d.ts.map +1 -1
  9. package/dist/base/error.js +74 -11
  10. package/dist/base/error.js.map +1 -1
  11. package/dist/base/http.d.ts +2 -0
  12. package/dist/base/http.d.ts.map +1 -0
  13. package/dist/base/http.js +14 -0
  14. package/dist/base/http.js.map +1 -0
  15. package/dist/base/math.d.ts +22 -1
  16. package/dist/base/math.d.ts.map +1 -1
  17. package/dist/base/math.js +49 -2
  18. package/dist/base/math.js.map +1 -1
  19. package/dist/client/auth.d.ts +41 -7
  20. package/dist/client/auth.d.ts.map +1 -1
  21. package/dist/client/auth.js +96 -39
  22. package/dist/client/auth.js.map +1 -1
  23. package/dist/client/client.d.ts +50 -5
  24. package/dist/client/client.d.ts.map +1 -1
  25. package/dist/client/client.js +47 -18
  26. package/dist/client/client.js.map +1 -1
  27. package/dist/client/tcp.d.ts +1 -5
  28. package/dist/client/tcp.d.ts.map +1 -1
  29. package/dist/client/tcp.js +8 -21
  30. package/dist/client/tcp.js.map +1 -1
  31. package/dist/message/link.d.ts +10 -0
  32. package/dist/message/link.d.ts.map +1 -0
  33. package/dist/message/link.js +22 -0
  34. package/dist/message/link.js.map +1 -0
  35. package/dist/message/sigCache.d.ts +13 -0
  36. package/dist/message/sigCache.d.ts.map +1 -0
  37. package/dist/message/sigCache.js +26 -0
  38. package/dist/message/sigCache.js.map +1 -0
  39. package/dist/packet/decoder.d.ts +13 -0
  40. package/dist/packet/decoder.d.ts.map +1 -1
  41. package/dist/packet/decoder.js +21 -0
  42. package/dist/packet/decoder.js.map +1 -1
  43. package/dist/packet/dispatcher.d.ts +8 -1
  44. package/dist/packet/dispatcher.d.ts.map +1 -1
  45. package/dist/packet/dispatcher.js +142 -30
  46. package/dist/packet/dispatcher.js.map +1 -1
  47. package/dist/physics/player.d.ts +17 -23
  48. package/dist/physics/player.d.ts.map +1 -1
  49. package/dist/physics/player.js +59 -61
  50. package/dist/physics/player.js.map +1 -1
  51. package/dist/version/codec.d.ts.map +1 -1
  52. package/dist/version/codec.js +28 -7
  53. package/dist/version/codec.js.map +1 -1
  54. package/dist/version/registry.d.ts +1 -1
  55. package/dist/version/registry.d.ts.map +1 -1
  56. package/dist/version/registry.js +2 -7
  57. package/dist/version/registry.js.map +1 -1
  58. package/dist/world/state.d.ts +26 -2
  59. package/dist/world/state.d.ts.map +1 -1
  60. package/dist/world/state.js +58 -3
  61. package/dist/world/state.js.map +1 -1
  62. package/package.json +1 -1
  63. package/src/base/buffer.ts +12 -0
  64. package/src/base/error.ts +63 -10
  65. package/src/base/http.ts +10 -0
  66. package/src/base/math.ts +55 -3
  67. package/src/client/auth.ts +130 -52
  68. package/src/client/client.ts +96 -21
  69. package/src/client/tcp.ts +10 -27
  70. package/src/message/link.ts +17 -0
  71. package/src/message/sigCache.ts +25 -0
  72. package/src/packet/decoder.ts +21 -0
  73. package/src/packet/dispatcher.ts +169 -35
  74. package/src/physics/player.ts +83 -58
  75. package/src/version/codec.ts +32 -11
  76. package/src/version/registry.ts +2 -7
  77. package/src/world/state.ts +72 -4
  78. package/test/client/index.ts +27 -20
@@ -6,9 +6,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.AuthClient = void 0;
7
7
  const node_http_1 = __importDefault(require("node:http"));
8
8
  const node_crypto_1 = __importDefault(require("node:crypto"));
9
- const node_net_1 = __importDefault(require("node:net"));
10
9
  const node_child_process_1 = require("node:child_process");
11
10
  const error_1 = require("../base/error");
11
+ const math_1 = require("../base/math");
12
+ const http_1 = require("../base/http");
12
13
  // From assets dir
13
14
  const ErrorHTML = `
14
15
  <!DOCTYPE html>
@@ -86,14 +87,6 @@ function open(url, log) {
86
87
  break;
87
88
  }
88
89
  }
89
- // Got this from https://github.com/sindresorhus/get-port/blob/main/index.js#L47
90
- const getFreePort = () => new Promise((resolve) => {
91
- const server = node_net_1.default.createServer();
92
- server.listen(0, () => {
93
- const port = server.address().port;
94
- server.close(() => resolve(port));
95
- });
96
- });
97
90
  const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
98
91
  /**
99
92
  * Auth client, for authenticating Microsoft account
@@ -103,68 +96,127 @@ class AuthClient {
103
96
  codeVerifier;
104
97
  codeChallenge;
105
98
  // private refreshToken?: string;
99
+ accessToken = "";
100
+ uuid = "";
106
101
  constructor(option) {
107
102
  this.option = option;
108
103
  const codeVerifier = node_crypto_1.default.randomBytes(32).toString("hex");
109
- const hashed = node_crypto_1.default.hash("sha256", codeVerifier, "base64url");
104
+ const hashed = node_crypto_1.default.createHash("sha256").update(codeVerifier).digest("base64url");
110
105
  this.option.log ||= console.log;
111
106
  this.codeVerifier = codeVerifier;
112
107
  this.codeChallenge = hashed;
113
108
  }
114
- async auth() {
109
+ /**
110
+ * Send a auth notify to Minecraft server, after receive Encryption Request
111
+ *
112
+ * @see https://minecraft.wiki/w/Java_Edition_protocol/Encryption#Authentication
113
+ */
114
+ async sendAuth(
115
+ // Sever things
116
+ serverId, sharedSecret, publicKey) {
117
+ const hash = (0, math_1.minecraftSha1)(serverId, sharedSecret, publicKey);
118
+ const response = await fetch("https://sessionserver.mojang.com/session/minecraft/join", {
119
+ method: "POST",
120
+ headers: {
121
+ "Content-Type": "application/json"
122
+ },
123
+ body: JSON.stringify({
124
+ accessToken: this.accessToken,
125
+ selectedProfile: this.uuid,
126
+ serverId: hash,
127
+ })
128
+ });
129
+ console.log({
130
+ accessToken: this.accessToken,
131
+ selectedProfile: this.uuid,
132
+ serverId: hash,
133
+ });
134
+ if (response.status === 204)
135
+ return;
136
+ const json = await (0, http_1.getJson)(response, "send auth request");
137
+ throw new error_1.AuthClientError(json["error"] + ("errorMessage" in json ? `: ${json["errorMessage"]}` : ""));
138
+ }
139
+ /**
140
+ * Get player key pair for signing stuff
141
+ *
142
+ * @see https://minecraft.wiki/w/Mojang_API#Get_keypair_for_signature
143
+ */
144
+ async getKeyPair() {
145
+ const response = await fetch("https://api.minecraftservices.com/player/certificates", {
146
+ headers: {
147
+ Authorization: `Bearer ${this.accessToken}`
148
+ }
149
+ });
150
+ if (response.status !== 200)
151
+ throw new error_1.AuthClientError("can't get the auth key", await response.text());
152
+ const json = await (0, http_1.getJson)(response, "get key pair");
153
+ console.log(json);
154
+ return {
155
+ publicKey: String(json["keyPair"]["publicKey"]),
156
+ signature: String(json["publicKeySignatureV2"]),
157
+ expiresAt: Number(json["expiresAt"]),
158
+ };
159
+ }
160
+ /**
161
+ * Get player UUID
162
+ */
163
+ async getUUID() {
115
164
  if (this.option.method === "loopback")
116
165
  return this.loopback();
117
166
  else
118
167
  return this.deviceCode();
119
168
  }
120
169
  async loopback() {
121
- const freePort = await getFreePort();
170
+ const option = this.option;
122
171
  const expectState = node_crypto_1.default.randomBytes(8).toString("hex");
123
172
  const authUrl = new URL("https://login.microsoftonline.com/consumers/oauth2/v2.0/authorize");
124
173
  authUrl.searchParams.append("client_id", this.option.client_id);
125
174
  authUrl.searchParams.append("response_type", "code");
126
- authUrl.searchParams.append("redirect_uri", `http://127.0.0.1:${freePort}`);
175
+ authUrl.searchParams.append("redirect_uri", `http://localhost:${option.port}`);
127
176
  authUrl.searchParams.append("scope", "XboxLive.signin offline_access");
128
177
  authUrl.searchParams.append("code_challenge", this.codeChallenge);
129
178
  authUrl.searchParams.append("code_challenge_method", "S256");
130
179
  authUrl.searchParams.append("state", expectState);
131
- if (this.option.openBrowser === true)
180
+ if (option.openBrowser === true)
132
181
  open(authUrl.toString(), this.option.log);
133
182
  else
134
183
  this.option.log(`please open this url in your browser: ${authUrl.toString()}`);
135
184
  const msAuthToken = await new Promise((resolve) => {
136
185
  const server = node_http_1.default.createServer((req, res) => {
137
186
  const end = (html, result = null) => {
138
- res.end(html);
139
- server.close();
140
- return resolve(result);
187
+ if (res.writable)
188
+ res.end(html);
189
+ if (server.listening) {
190
+ server.close();
191
+ return resolve(result);
192
+ }
141
193
  };
142
- const url = new URL(req.url || "", `http://127.0.0.1:${freePort}`);
194
+ const url = new URL(req.url || "", `http://localhost:${option.port}`);
143
195
  const error = url.searchParams.get("error");
144
196
  if (error) {
145
197
  const description = url.searchParams.get("error_description");
146
- end(ErrorHTML.replace("{error}", error).replace("{error_description}", description));
198
+ return end(ErrorHTML.replace("{error}", error).replace("{error_description}", description));
147
199
  }
148
200
  const code = url.searchParams.get("code");
149
201
  if (!code)
150
- end(InvalidHTML.replace("{reason}", "Missing <code>code</code> parameter"));
202
+ return end(InvalidHTML.replace("{reason}", "Missing <code>code</code> parameter"));
151
203
  const state = url.searchParams.get("state");
152
204
  if (!state)
153
- end(InvalidHTML.replace("{reason}", "Missing <code>state</code> parameter"));
205
+ return end(InvalidHTML.replace("{reason}", "Missing <code>state</code> parameter"));
154
206
  if (state !== expectState)
155
- end(InvalidHTML.replace("{reason}", "Mismatch state"));
207
+ return end(InvalidHTML.replace("{reason}", "Mismatch state"));
156
208
  return end(SuccessHTML, code);
157
209
  });
158
- server.listen(freePort);
210
+ server.listen(option.port);
159
211
  });
160
212
  if (!msAuthToken)
161
213
  throw new error_1.CantGetMsAccessToken();
162
214
  const msTokenUrl = new URL("https://login.microsoftonline.com/consumers/oauth2/v2.0/token");
163
215
  const msTokenBody = new URLSearchParams();
164
216
  msTokenBody.append("client_id", this.option.client_id);
165
- msTokenBody.append("code", msAuthToken);
166
217
  msTokenBody.append("scope", "XboxLive.signin offline_access");
167
- msTokenBody.append("redirect_uri", `http://127.0.0.1:${freePort}`);
218
+ msTokenBody.append("code", msAuthToken);
219
+ msTokenBody.append("redirect_uri", `http://localhost:${option.port}`);
168
220
  msTokenBody.append("grant_type", "authorization_code");
169
221
  msTokenBody.append("code_verifier", this.codeVerifier);
170
222
  const msTokenRequest = await fetch(msTokenUrl, {
@@ -174,9 +226,9 @@ class AuthClient {
174
226
  method: "POST",
175
227
  body: msTokenBody.toString()
176
228
  });
177
- const msTokenResponse = await msTokenRequest.json();
229
+ const msTokenResponse = await (0, http_1.getJson)(msTokenRequest, "microsoft token request");
178
230
  if ("error" in msTokenResponse)
179
- throw new error_1.AuthError(msTokenResponse["error"]);
231
+ throw new error_1.OAuthError(msTokenResponse["error"]);
180
232
  const msToken = msTokenResponse["access_token"];
181
233
  return this.getMcToken(msToken);
182
234
  }
@@ -198,7 +250,7 @@ class AuthClient {
198
250
  let interval = Number(codeResponse["interval"]);
199
251
  this.option.log(message);
200
252
  let msToken;
201
- const msTokenUrl = new URL("https://login.microsoftonline.com/{tenant}/oauth2/v2.0/token");
253
+ const msTokenUrl = new URL("https://login.microsoftonline.com/consumers/oauth2/v2.0/token");
202
254
  const msTokenBody = new URLSearchParams();
203
255
  msTokenBody.set("grant_type", "urn:ietf:params:oauth:grant-type:device_code");
204
256
  msTokenBody.set("client_id", this.option.client_id);
@@ -207,9 +259,10 @@ class AuthClient {
207
259
  await sleep(interval * 1000);
208
260
  const msTokenRequest = await fetch(msTokenUrl, {
209
261
  headers: {
210
- "Content-Type": "application/x-www-form-urlencoded"
262
+ "Content-Type": "application/x-www-form-urlencoded",
211
263
  },
212
- method: "POST"
264
+ method: "POST",
265
+ body: msTokenBody.toString()
213
266
  });
214
267
  const msTokenResponse = await msTokenRequest.json();
215
268
  if ("error" in msTokenResponse)
@@ -220,7 +273,7 @@ class AuthClient {
220
273
  continue;
221
274
  case "auth_denied": throw new error_1.AuthDenied();
222
275
  case "expired_token": throw new error_1.AuthTokenExpired();
223
- default: throw new error_1.AuthError(msTokenResponse["error"]);
276
+ default: throw new error_1.OAuthError(msTokenResponse["error"]);
224
277
  }
225
278
  else {
226
279
  msToken = msTokenResponse["access_token"];
@@ -249,13 +302,13 @@ class AuthClient {
249
302
  }),
250
303
  method: "POST"
251
304
  });
252
- const xboxReponse = await xboxRequest.json();
305
+ const xboxReponse = await (0, http_1.getJson)(xboxRequest, "xbox request");
253
306
  const xboxToken = xboxReponse["Token"];
254
307
  const userHash = xboxReponse["DisplayClaims"]["xui"][0]["uhs"];
255
308
  const xboxSecurityRequest = await fetch("https://xsts.auth.xboxlive.com/xsts/authorize", {
256
309
  headers: {
257
310
  "Content-Type": "application/json",
258
- Accept: "application/json"
311
+ "Accept": "application/json",
259
312
  },
260
313
  body: JSON.stringify({
261
314
  "Properties": {
@@ -267,21 +320,24 @@ class AuthClient {
267
320
  }),
268
321
  method: "POST"
269
322
  });
270
- const xboxSecurityReponse = await xboxSecurityRequest.json();
323
+ const xboxSecurityReponse = await (0, http_1.getJson)(xboxSecurityRequest, "xbox security request");
271
324
  if ("XErr" in xboxSecurityReponse)
272
325
  throw new error_1.XboxError(xboxSecurityReponse["XErr"]);
273
326
  const xboxSecurityToken = xboxSecurityReponse["Token"];
274
327
  const minecraftRequest = await fetch("https://api.minecraftservices.com/authentication/login_with_xbox", {
275
328
  headers: {
276
329
  "Content-Type": "application/json",
277
- Accept: "application/json"
330
+ "Accept": "application/json",
331
+ 'User-Agent': 'MinecraftLauncher/2.2.10675'
278
332
  },
279
333
  body: JSON.stringify({
280
- "identityToken": `XBL3.0 x=${userHash};${xboxSecurityToken}"`
334
+ "identityToken": `XBL3.0 x=${userHash};${xboxSecurityToken}`,
281
335
  }),
282
336
  method: "POST"
283
337
  });
284
- const minecraftResponse = await minecraftRequest.json();
338
+ const minecraftResponse = await (0, http_1.getJson)(minecraftRequest, "minecraft request");
339
+ if ("errorMessage" in minecraftResponse)
340
+ throw new error_1.MinecraftError(minecraftResponse["errorMessage"]);
285
341
  const minecraftToken = minecraftResponse["access_token"];
286
342
  const mcProfileRequest = await fetch("https://api.minecraftservices.com/minecraft/profile", {
287
343
  headers: {
@@ -289,15 +345,16 @@ class AuthClient {
289
345
  },
290
346
  method: "GET"
291
347
  });
292
- const mcProfileResponse = await mcProfileRequest.json();
348
+ const mcProfileResponse = await (0, http_1.getJson)(mcProfileRequest, "minecraft profile request");
293
349
  if ("error" in mcProfileResponse) {
294
350
  if (mcProfileResponse["error"] === "NOT_FOUND")
295
351
  throw new error_1.ProfileNotFound();
296
352
  else
297
353
  throw new error_1.ProfileError(mcProfileResponse["error"], mcProfileResponse["errorMessage"]);
298
354
  }
355
+ this.accessToken = minecraftToken;
356
+ this.uuid = mcProfileResponse["id"];
299
357
  return {
300
- token: minecraftToken,
301
358
  uuid: mcProfileResponse["id"],
302
359
  name: mcProfileResponse["name"]
303
360
  };
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/client/auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/client/auth.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { BlockState } from "../world/block";
2
- import { MoveDirection } from "../physics/player";
2
+ import { Input } from "../physics/player";
3
3
  import { Message, TCPClientOption } from "./tcp";
4
4
  import { TypedEmmiter as TypedEmitter } from "../base/event";
5
5
  import { BaseVec3 } from "../physics/direction";
@@ -7,23 +7,63 @@ import { TextComponent } from "../base/typing";
7
7
  import { Entity } from "../world/state";
8
8
  export type ClientOption = Omit<TCPClientOption, "protocolVersion"> & {
9
9
  version: string;
10
+ /**
11
+ * Whenever should the client verify the message against the signature, if any
12
+ *
13
+ * When set this option to true, you HAVE TO set `shouldVerifyMessageOrder` to true
14
+ */
15
+ shouldVerifyMessageSignature?: boolean;
16
+ /**
17
+ * Should verify the message orders to keep the sync with server.
18
+ */
19
+ shouldVerifyMessageOrder?: boolean;
10
20
  };
11
21
  export interface ClientEvents {
22
+ /** When the TCP socket connect is initted sucessfully */
12
23
  connect: [];
24
+ /** When the TCP socket connection is destroyed */
13
25
  destroy: [];
26
+ /**
27
+ * When the client is ready.
28
+ *
29
+ * Specifically, when the packet `Login (play)` is received
30
+ */
14
31
  ready: [];
32
+ /**
33
+ * When the client got disconnected from sevrer
34
+ */
15
35
  disconnect: [reason: string];
36
+ /**
37
+ * When the disconection come with the raw Text Component
38
+ */
16
39
  disconnectRaw: [textComponent: TextComponent];
40
+ /**
41
+ * When server send `Player Position Synchronization` packet
42
+ *
43
+ * Note: this event is not fired when the client is moved by holding the input
44
+ */
17
45
  playerPosition: [position: BaseVec3];
46
+ /** When the chunk is loaded */
18
47
  loadChunk: [chunkX: number, sectionY: number, chunkZ: number];
48
+ /** When the chunk got deleted by the server */
19
49
  unloadChunk: [chunkX: number, chunkZ: number];
50
+ /** When an entity is spawned or appeared in the client view distance */
20
51
  spawnEntity: [entity: Entity];
52
+ /** When an entity is updated, including position, rotation, etc... */
21
53
  updateEntity: [entityId: number];
54
+ /** When an entity go out of client view distance or despawned */
22
55
  removeEntity: [entityId: number];
56
+ /** When a chat message got broadcasted */
23
57
  message: [message: Message];
58
+ /** When a message is failed to be verified against the signature sent with it */
59
+ failedMessage: [message: Message];
60
+ /** The system message */
24
61
  systemMessage: [message: string];
62
+ /** The raw system message */
25
63
  systemMessageRaw: [textComponent: TextComponent];
64
+ /** The action bar */
26
65
  actionBar: [message: string];
66
+ /** The raw action bar */
27
67
  actionBarRaw: [textComponent: TextComponent];
28
68
  }
29
69
  declare const Client_base: new () => TypedEmitter<ClientEvents>;
@@ -37,7 +77,6 @@ export declare class Client<IsReady extends boolean = boolean> extends Client_ba
37
77
  private blocks;
38
78
  private entities;
39
79
  private player;
40
- private uuid;
41
80
  private tcp;
42
81
  private state;
43
82
  constructor(options: ClientOption);
@@ -50,15 +89,15 @@ export declare class Client<IsReady extends boolean = boolean> extends Client_ba
50
89
  /**
51
90
  * Destroy the connection
52
91
  */
53
- disconnect(): void;
92
+ disconnect(reason?: string, raw?: TextComponent): void;
54
93
  /**
55
94
  * Press and hold a key
56
95
  */
57
- hold(direction: MoveDirection): void;
96
+ hold(inout: Input): void;
58
97
  /**
59
98
  * Release a key
60
99
  */
61
- release(direction: MoveDirection): void;
100
+ release(input: Input): void;
62
101
  /**
63
102
  * Release all key
64
103
  */
@@ -68,6 +107,12 @@ export declare class Client<IsReady extends boolean = boolean> extends Client_ba
68
107
  */
69
108
  at(x: number, y: number, z: number): BlockState | null;
70
109
  at(position: BaseVec3): BlockState | null;
110
+ /**
111
+ * Rotate your face
112
+ * @param yaw In degree
113
+ * @param pitch In degree
114
+ */
115
+ lookAt(yaw: number, pitch: number): void;
71
116
  }
72
117
  export {};
73
118
  //# sourceMappingURL=client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client/client.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE1D,OAAO,EAAE,aAAa,EAAU,MAAM,mBAAmB,CAAC;AAE1D,OAAO,EAAE,OAAO,EAAa,eAAe,EAAE,MAAM,OAAO,CAAC;AAC5D,OAAO,EAAE,YAAY,IAAI,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7D,OAAO,EAAE,QAAQ,EAAQ,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAgC,MAAM,EAAe,MAAM,gBAAgB,CAAC;AAMnF,MAAM,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,EAAE,iBAAiB,CAAC,GAAG;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CAAA;AAEzF,MAAM,WAAW,YAAY;IACzB,OAAO,EAAE,EAAE,CAAC;IACZ,OAAO,EAAE,EAAE,CAAC;IAEZ,KAAK,EAAE,EAAE,CAAC;IACV,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,aAAa,EAAE,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;IAE9C,cAAc,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAErC,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9D,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAE9C,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACjC,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAGjC,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC5B,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACjC,gBAAgB,EAAE,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;IACjD,SAAS,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC7B,YAAY,EAAE,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;CAChD;qCAKyF,YAAY,CAAC,YAAY,CAAC;AAHpH;;GAEG;AACH,qBAAa,MAAM,CAAC,OAAO,SAAS,OAAO,GAAG,OAAO,CAAE,SAAQ,WAAsD;IAarG,OAAO,CAAC,OAAO;IAZ3B,OAAO,CAAC,MAAM,CAAC,YAAY,CAAkB;IAE7C,OAAO,CAAC,QAAQ,CAAW;IAE3B,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,IAAI,CAA2B;IAEvC,OAAO,CAAC,GAAG,CAAY;IACvB,OAAO,CAAC,KAAK,CAAuB;IAEpC,YAAoB,OAAO,EAAE,YAAY,EAgDxC;IAED,OAAO,CAAC,SAAS;YAIH,cAAc;IAU5B;;OAEG;IACU,OAAO,kBAuBnB;IACD;;OAEG;IACI,UAAU,SAEhB;IAGD;;OAEG;IACI,IAAI,CAAC,SAAS,EAAE,aAAa,QAEnC;IACD;;OAEG;IACI,OAAO,CAAC,SAAS,EAAE,aAAa,QAEtC;IACD;;OAEG;IACI,UAAU,SAEhB;IAGD;;OAEG;IACI,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAAC;IACvD,EAAE,CAAC,QAAQ,EAAE,QAAQ,GAAG,UAAU,GAAG,IAAI,CAAC;CAKpD"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client/client.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Client = void 0;
4
- const node_stream_1 = require("node:stream");
4
+ const node_events_1 = require("node:events");
5
5
  const block_1 = require("../world/block");
6
6
  const entity_1 = require("../world/entity");
7
7
  const player_1 = require("../physics/player");
@@ -14,24 +14,26 @@ const dispatcher_1 = require("../packet/dispatcher");
14
14
  const codec_1 = require("../version/codec");
15
15
  const auth_1 = require("./auth");
16
16
  const math_1 = require("../base/math");
17
+ const error_1 = require("../base/error");
17
18
  /**
18
19
  * High-level client.
19
20
  */
20
- class Client extends node_stream_1.EventEmitter {
21
+ class Client extends node_events_1.EventEmitter {
21
22
  options;
22
23
  static loadRegistry = false;
23
24
  tickLoop;
24
25
  blocks;
25
26
  entities;
26
27
  player;
27
- uuid = Buffer.alloc(0);
28
28
  tcp;
29
29
  state;
30
30
  constructor(options) {
31
+ if (options.shouldVerifyMessageSignature === true && options.shouldVerifyMessageOrder !== true)
32
+ throw new error_1.HaveSignatureButNotIndex();
31
33
  super();
32
34
  this.options = options;
33
35
  // For managing shared data
34
- this.state = new state_1.SharedState(options, () => this.uuid);
36
+ this.state = new state_1.SharedState(options);
35
37
  // For handling packet
36
38
  const dispatcher = new dispatcher_1.Dispatcher(this.state, this.emit.bind(this));
37
39
  // For reading packet
@@ -48,13 +50,17 @@ class Client extends node_stream_1.EventEmitter {
48
50
  dispatcher.sendLoginStart();
49
51
  };
50
52
  dispatcher.sendPacket = this.tcp.sendPacket.bind(this.tcp);
51
- dispatcher.tcpDisconnect = this.tcp.disconnect.bind(this.tcp);
53
+ dispatcher.disconnect = this.disconnect.bind(this);
52
54
  versionCodec.consumePacket = dispatcher.handlePacket.bind(dispatcher);
53
55
  // For querying data
54
56
  this.blocks = new block_1.BlockManager(this.state);
55
57
  this.entities = new entity_1.EntitiesManager(this.state);
56
58
  // For physics things
57
59
  this.player = new player_1.Player(this.state, this.on, this.entities, this.blocks);
60
+ this.player.sendPlayerPos = dispatcher.sendPlayerPos;
61
+ this.player.sendPlayerPosRot = dispatcher.sendPlayerPosRot;
62
+ this.player.sendPlayerRot = dispatcher.sendPlayerRot;
63
+ this.player.sendPlayerStatus = dispatcher.sendPlayerStatus;
58
64
  // For tick-tock tick-tock
59
65
  this.tickLoop = new tick_1.TickLoop(() => {
60
66
  this.state.drainMutation();
@@ -64,6 +70,9 @@ class Client extends node_stream_1.EventEmitter {
64
70
  .forEach((packet) => this.tcp.sendPacket(packet.id, packet.data));
65
71
  this.player.tick();
66
72
  });
73
+ // Forward TCP events
74
+ this.tcp.on("connect", () => this.emit("connect"));
75
+ this.tcp.on("destroy", () => this.emit("destroy"));
67
76
  }
68
77
  emitEvent(event) {
69
78
  this.emit(event.event, ...event.args);
@@ -82,14 +91,15 @@ class Client extends node_stream_1.EventEmitter {
82
91
  */
83
92
  async connect() {
84
93
  await this.loadRegistries();
85
- if (!this.uuid.length) {
94
+ if (!this.state.playerUUID) {
86
95
  if (this.options.auth) {
87
- const authClient = new auth_1.AuthClient(this.options.auth);
88
- const { uuid } = await authClient.auth();
89
- this.uuid = Buffer.from(uuid);
96
+ this.state.authClient = new auth_1.AuthClient(this.options.auth);
97
+ const { uuid } = await this.state.authClient.getUUID();
98
+ this.state.playerUUID = uuid.replaceAll("-", "");
99
+ await this.state.startSignatureLoop();
90
100
  }
91
101
  else
92
- this.uuid = (0, math_1.computeUUID)(this.options.playerName);
102
+ this.state.playerUUID = (0, math_1.computeUUID)(this.options.playerName);
93
103
  }
94
104
  this.tcp.connect();
95
105
  this.once("ready", () => {
@@ -97,29 +107,40 @@ class Client extends node_stream_1.EventEmitter {
97
107
  this.player.setInitialVal();
98
108
  this.tickLoop.start();
99
109
  });
100
- this.once("disconnect", () => {
101
- this.tickLoop.stop();
102
- this.player.pruneInitialVal();
110
+ this.tcp.once("destroy", () => {
111
+ if (this.state.state === state_1.ConnectionState.Disconnected)
112
+ return;
113
+ this.disconnect("socket close");
103
114
  });
104
115
  }
105
116
  /**
106
117
  * Destroy the connection
107
118
  */
108
- disconnect() {
119
+ disconnect(reason = "Disconnect", raw) {
120
+ this.state.state = state_1.ConnectionState.Disconnected;
121
+ this.state.status = state_1.ClientStatus.Disconnected;
122
+ this.tickLoop.stop();
123
+ this.player.pruneInitialVal();
124
+ this.state.pruneStates();
125
+ this.emit("disconnect", reason);
126
+ if (raw)
127
+ this.emit("disconnectRaw", raw);
109
128
  this.tcp.disconnect();
129
+ if (this.options.auth)
130
+ this.state.stopSignatureLoop();
110
131
  }
111
132
  // Inputs
112
133
  /**
113
134
  * Press and hold a key
114
135
  */
115
- hold(direction) {
116
- this.player.input(direction);
136
+ hold(inout) {
137
+ this.player.input(inout);
117
138
  }
118
139
  /**
119
140
  * Release a key
120
141
  */
121
- release(direction) {
122
- this.player.releaseInput(direction);
142
+ release(input) {
143
+ this.player.releaseInput(input);
123
144
  }
124
145
  /**
125
146
  * Release all key
@@ -131,6 +152,14 @@ class Client extends node_stream_1.EventEmitter {
131
152
  const vec3 = direction_1.Vec3.loadArgs(a, b, c);
132
153
  return this.blocks.at(vec3);
133
154
  }
155
+ /**
156
+ * Rotate your face
157
+ * @param yaw In degree
158
+ * @param pitch In degree
159
+ */
160
+ lookAt(yaw, pitch) {
161
+ this.player.setAngle(yaw, pitch);
162
+ }
134
163
  }
135
164
  exports.Client = Client;
136
165
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client/client.ts"],"names":[],"mappings":";;;AAAA,6CAA2C;AAC3C,0CAA0D;AAC1D,4CAAkD;AAClD,8CAAkD;AAClD,wCAAyC;AACzC,+BAA4D;AAE5D,kDAA4G;AAC5G,oDAAsD;AAEtD,0CAAkH;AAClH,qDAAkD;AAClD,4CAAgD;AAChD,iCAAoC;AACpC,uCAA2C;AAC3C,yCAAyD;AA0EzD;;GAEG;AACH,YAAuD,SAAS,0BAAqD;IAY7F,OAAO;IAXnB,MAAM,CAAC,YAAY,GAAY,KAAK,CAAC;IAErC,QAAQ,CAAW;IAEnB,MAAM,CAAe;IACrB,QAAQ,CAAkB;IAC1B,MAAM,CAAS;IAEf,GAAG,CAAY;IACf,KAAK,CAAuB;IAEpC,YAAoB,OAAqB;QACrC,IAAI,OAAO,CAAC,4BAA4B,KAAK,IAAI,IAAI,OAAO,CAAC,wBAAwB,KAAK,IAAI;YAC1F,MAAM,IAAI,gCAAwB,EAAE,CAAC;QAEzC,KAAK,EAAE,CAAC;uBAJQ,OAAO;QAMvB,2BAA2B;QAC3B,IAAI,CAAC,KAAK,GAAG,IAAI,mBAAW,CAAC,OAAO,CAAC,CAAC;QACtC,sBAAsB;QACtB,MAAM,UAAU,GAAG,IAAI,uBAAU,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACpE,qBAAqB;QACrB,MAAM,YAAY,GAAG,IAAI,oBAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClD,uCAAuC;QACvC,IAAI,CAAC,GAAG,GAAG,IAAI,eAAS,CACpB,IAAI,CAAC,KAAK,EACV;YACI,GAAG,OAAO;YACV,eAAe,EAAE,iCAAsB,CAAC,OAAO,CAAC,OAAO,CAAE;SAC5D,CACJ,CAAC;QAEF,IAAI,CAAC,GAAG,CAAC,aAAa,GAAG,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACtE,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACpE,IAAI,CAAC,GAAG,CAAC,cAAc,GAAG,GAAG,EAAE;YAC3B,UAAU,CAAC,aAAa,EAAE,CAAC;YAC3B,UAAU,CAAC,cAAc,EAAE,CAAC;QAChC,CAAC,CAAC;QACF,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3D,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnD,YAAY,CAAC,aAAa,GAAG,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAEtE,oBAAoB;QACpB,IAAI,CAAC,MAAM,GAAG,IAAI,oBAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3C,IAAI,CAAC,QAAQ,GAAG,IAAI,wBAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChD,qBAAqB;QACrB,IAAI,CAAC,MAAM,GAAG,IAAI,eAAM,CACpB,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,EAAE,EACP,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,MAAM,CACd,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,aAAa,GAAG,UAAU,CAAC,aAAa,CAAC;QACrD,IAAI,CAAC,MAAM,CAAC,gBAAgB,GAAG,UAAU,CAAC,gBAAgB,CAAC;QAC3D,IAAI,CAAC,MAAM,CAAC,aAAa,GAAG,UAAU,CAAC,aAAa,CAAC;QACrD,IAAI,CAAC,MAAM,CAAC,gBAAgB,GAAG,UAAU,CAAC,gBAAgB,CAAC;QAE3D,0BAA0B;QAC1B,IAAI,CAAC,QAAQ,GAAG,IAAI,eAAQ,CAAC,GAAG,EAAE;YAC9B,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;YAC3B,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE;iBAClB,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;YAC7C,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;iBACnB,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;YACtE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACvB,CAAC,CAAC,CAAC;QAEH,qBAAqB;QACrB,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;QACnD,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IACvD,CAAC;IAEO,SAAS,CAAC,KAAmB;QACjC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;IAEO,KAAK,CAAC,cAAc;QACxB,IAAI,MAAM,CAAC,YAAY;YAAE,OAAO;QAChC,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC;QAC3B,MAAM,wBAAa,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC/C,MAAM,yBAAc,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAChD,MAAM,yBAAc,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACpD,CAAC;IAED,eAAe;IAEf;;OAEG;IACI,KAAK,CAAC,OAAO;QAChB,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;YACzB,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gBACpB,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,iBAAU,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC1D,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;gBACvD,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBACjD,MAAM,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE,CAAC;YAC1C,CAAC;;gBACG,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,IAAA,kBAAW,EAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACrE,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QAEnB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;YACpB,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;YAC9B,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;YAC5B,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QAC1B,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE;YAC1B,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,uBAAe,CAAC,YAAY;gBAAE,OAAO;YAC9D,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;IACP,CAAC;IACD;;OAEG;IACI,UAAU,CAAC,MAAM,GAAW,YAAY,EAAE,GAAmB;QAChE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,uBAAe,CAAC,YAAY,CAAC;QAChD,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,oBAAY,CAAC,YAAY,CAAC;QAC9C,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACrB,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;QAC9B,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;QACzB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QAChC,IAAI,GAAG;YACH,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;QACpC,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;QACtB,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI;YACjB,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC;IACvC,CAAC;IAED,SAAS;IACT;;OAEG;IACI,IAAI,CAAC,KAAY;QACpB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IACD;;OAEG;IACI,OAAO,CAAC,KAAY;QACvB,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IACD;;OAEG;IACI,UAAU;QACb,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;IACnC,CAAC;IAQM,EAAE,CAAC,CAAoB,EAAE,CAAU,EAAE,CAAU;QAClD,MAAM,IAAI,GAAG,gBAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,GAAW,EAAE,KAAa;QACpC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACrC,CAAC;CACJ"}
@@ -20,10 +20,6 @@ export interface TCPClientOption {
20
20
  protocolVersion: number;
21
21
  /** Player name */
22
22
  playerName: string;
23
- /**
24
- * Set to true only if you are playing in offline server or crack server
25
- */
26
- isOffline?: boolean;
27
23
  /**
28
24
  * Send empty `Known Packet` to let server send all Registry data, which may consume a lot of bandwith
29
25
  */
@@ -74,7 +70,7 @@ export declare class TCPClient extends TCPClient_base {
74
70
  /**
75
71
  * Connect to server
76
72
  */
77
- connect(): Promise<void>;
73
+ connect(): void;
78
74
  disconnect(): void;
79
75
  private handlePacket;
80
76
  write(buf: Buffer): void;