specprotocol 1.4.3 → 1.4.5

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 (53) hide show
  1. package/README.md +66 -174
  2. package/dist/bot.d.ts +17 -3
  3. package/dist/bot.d.ts.map +1 -1
  4. package/dist/bot.js +413 -153
  5. package/dist/bot.js.map +1 -1
  6. package/dist/chat.js +1 -1
  7. package/dist/chat.js.map +1 -1
  8. package/dist/index.d.ts +1 -0
  9. package/dist/index.d.ts.map +1 -1
  10. package/dist/index.js +7 -1
  11. package/dist/index.js.map +1 -1
  12. package/dist/inventory.d.ts.map +1 -1
  13. package/dist/inventory.js +4 -1
  14. package/dist/inventory.js.map +1 -1
  15. package/dist/plugins/built-in/chat.d.ts +0 -4
  16. package/dist/plugins/built-in/chat.d.ts.map +1 -1
  17. package/dist/plugins/built-in/chat.js +0 -40
  18. package/dist/plugins/built-in/chat.js.map +1 -1
  19. package/dist/protocol/compression.d.ts +3 -1
  20. package/dist/protocol/compression.d.ts.map +1 -1
  21. package/dist/protocol/compression.js +16 -3
  22. package/dist/protocol/compression.js.map +1 -1
  23. package/dist/protocol/connection.d.ts.map +1 -1
  24. package/dist/protocol/connection.js +27 -6
  25. package/dist/protocol/connection.js.map +1 -1
  26. package/dist/protocol/packet.d.ts +3 -0
  27. package/dist/protocol/packet.d.ts.map +1 -1
  28. package/dist/protocol/packet.js +28 -4
  29. package/dist/protocol/packet.js.map +1 -1
  30. package/dist/protocol/states/handshake.d.ts +2 -2
  31. package/dist/protocol/states/handshake.d.ts.map +1 -1
  32. package/dist/protocol/states/handshake.js +3 -2
  33. package/dist/protocol/states/handshake.js.map +1 -1
  34. package/dist/protocol/states/login.d.ts +3 -3
  35. package/dist/protocol/states/login.d.ts.map +1 -1
  36. package/dist/protocol/states/login.js +27 -9
  37. package/dist/protocol/states/login.js.map +1 -1
  38. package/dist/protocol/states/play.d.ts +20 -14
  39. package/dist/protocol/states/play.d.ts.map +1 -1
  40. package/dist/protocol/states/play.js +279 -61
  41. package/dist/protocol/states/play.js.map +1 -1
  42. package/dist/protocol/types.d.ts.map +1 -1
  43. package/dist/protocol/types.js +12 -0
  44. package/dist/protocol/types.js.map +1 -1
  45. package/dist/protocol/version.d.ts +23 -0
  46. package/dist/protocol/version.d.ts.map +1 -0
  47. package/dist/protocol/version.js +137 -0
  48. package/dist/protocol/version.js.map +1 -0
  49. package/docs/README.md +1 -1
  50. package/docs/api/protocol.md +1 -1
  51. package/docs/getting-started.md +1 -1
  52. package/docs/guides/architecture.md +1 -1
  53. package/package.json +8 -8
@@ -7,6 +7,9 @@
7
7
  * - Data (varies per packet)
8
8
  */
9
9
  import { BufferReader } from './types.js';
10
+ /** Hard upper bounds to protect against malformed or malicious packet streams. */
11
+ export declare const MAX_PACKET_LENGTH: number;
12
+ export declare const MAX_SPLITTER_BUFFER: number;
10
13
  /** Protocol states */
11
14
  export declare enum ProtocolState {
12
15
  HANDSHAKING = 0,
@@ -1 +1 @@
1
- {"version":3,"file":"packet.d.ts","sourceRoot":"","sources":["../../src/protocol/packet.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,YAAY,EAAqD,MAAM,YAAY,CAAC;AAE7F,sBAAsB;AACtB,oBAAY,aAAa;IACrB,WAAW,IAAI;IACf,MAAM,IAAI;IACV,KAAK,IAAI;IACT,aAAa,IAAI;IACjB,IAAI,IAAI;CACX;AAED,uBAAuB;AACvB,oBAAY,eAAe;IACvB,WAAW,gBAAgB;IAC3B,WAAW,gBAAgB;CAC9B;AAED,2BAA2B;AAC3B,MAAM,WAAW,SAAS;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAKlE;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,MAAM,CAmBnI;AAED;;;GAGG;AACH,qBAAa,cAAc;IACvB,OAAO,CAAC,MAAM,CAA2B;IAEzC;;;OAGG;IACH,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE;IAoC5B,gCAAgC;IAChC,KAAK,IAAI,IAAI;CAGhB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAIzD;AAED;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,MAAM,EAAE,YAAY,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE9E,MAAM,WAAW,gBAAgB;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,aAAa,CAAC;IACrB,SAAS,EAAE,eAAe,CAAC;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,CAAC,EAAE,aAAa,CAAC;CAC3B;AAED,qBAAa,cAAc;IACvB,OAAO,CAAC,OAAO,CAAuC;IAEtD,OAAO,CAAC,OAAO;IAIf,QAAQ,CAAC,GAAG,EAAE,gBAAgB,GAAG,IAAI;IAKrC,GAAG,CAAC,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,eAAe,EAAE,EAAE,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS;IAI/F,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS;CAMxD"}
1
+ {"version":3,"file":"packet.d.ts","sourceRoot":"","sources":["../../src/protocol/packet.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,YAAY,EAAqD,MAAM,YAAY,CAAC;AAE7F,kFAAkF;AAClF,eAAO,MAAM,iBAAiB,QAAkB,CAAC;AACjD,eAAO,MAAM,mBAAmB,QAAkB,CAAC;AAEnD,sBAAsB;AACtB,oBAAY,aAAa;IACrB,WAAW,IAAI;IACf,MAAM,IAAI;IACV,KAAK,IAAI;IACT,aAAa,IAAI;IACjB,IAAI,IAAI;CACX;AAED,uBAAuB;AACvB,oBAAY,eAAe;IACvB,WAAW,gBAAgB;IAC3B,WAAW,gBAAgB;CAC9B;AAED,2BAA2B;AAC3B,MAAM,WAAW,SAAS;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAKlE;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,MAAM,CAmBnI;AAED;;;GAGG;AACH,qBAAa,cAAc;IACvB,OAAO,CAAC,MAAM,CAA2B;IAEzC;;;OAGG;IACH,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE;IAwD5B,gCAAgC;IAChC,KAAK,IAAI,IAAI;CAGhB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAOzD;AAED;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,MAAM,EAAE,YAAY,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE9E,MAAM,WAAW,gBAAgB;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,aAAa,CAAC;IACrB,SAAS,EAAE,eAAe,CAAC;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,CAAC,EAAE,aAAa,CAAC;CAC3B;AAED,qBAAa,cAAc;IACvB,OAAO,CAAC,OAAO,CAAuC;IAEtD,OAAO,CAAC,OAAO;IAIf,QAAQ,CAAC,GAAG,EAAE,gBAAgB,GAAG,IAAI;IAKrC,GAAG,CAAC,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,eAAe,EAAE,EAAE,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS;IAI/F,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS;CAMxD"}
@@ -8,11 +8,14 @@
8
8
  * - Data (varies per packet)
9
9
  */
10
10
  Object.defineProperty(exports, "__esModule", { value: true });
11
- exports.PacketRegistry = exports.PacketSplitter = exports.PacketDirection = exports.ProtocolState = void 0;
11
+ exports.PacketRegistry = exports.PacketSplitter = exports.PacketDirection = exports.ProtocolState = exports.MAX_SPLITTER_BUFFER = exports.MAX_PACKET_LENGTH = void 0;
12
12
  exports.framePacket = framePacket;
13
13
  exports.framePacketCompressed = framePacketCompressed;
14
14
  exports.parseRawPacket = parseRawPacket;
15
15
  const types_js_1 = require("./types.js");
16
+ /** Hard upper bounds to protect against malformed or malicious packet streams. */
17
+ exports.MAX_PACKET_LENGTH = 2 * 1024 * 1024; // 2 MiB payload per framed packet
18
+ exports.MAX_SPLITTER_BUFFER = 8 * 1024 * 1024; // 8 MiB accumulated TCP buffer
16
19
  /** Protocol states */
17
20
  var ProtocolState;
18
21
  (function (ProtocolState) {
@@ -74,6 +77,11 @@ class PacketSplitter {
74
77
  * Returns an array of complete packet buffers (each containing [Packet ID VarInt][Data]).
75
78
  */
76
79
  feed(data) {
80
+ if (data.length === 0)
81
+ return [];
82
+ if (this.buffer.length + data.length > exports.MAX_SPLITTER_BUFFER) {
83
+ throw new Error(`Packet buffer exceeded limit (${exports.MAX_SPLITTER_BUFFER} bytes)`);
84
+ }
77
85
  this.buffer = Buffer.concat([this.buffer, data]);
78
86
  const packets = [];
79
87
  while (this.buffer.length > 0) {
@@ -85,11 +93,24 @@ class PacketSplitter {
85
93
  packetLength = result.value;
86
94
  lengthBytes = result.bytesRead;
87
95
  }
88
- catch {
89
- // Not enough data for the length VarInt yet
90
- break;
96
+ catch (err) {
97
+ const message = err instanceof Error ? err.message : String(err);
98
+ if (message.includes('buffer underflow')) {
99
+ // Not enough data for the length VarInt yet
100
+ break;
101
+ }
102
+ throw err;
103
+ }
104
+ if (packetLength < 0) {
105
+ throw new Error(`Invalid negative packet length: ${packetLength}`);
106
+ }
107
+ if (packetLength > exports.MAX_PACKET_LENGTH) {
108
+ throw new Error(`Packet length ${packetLength} exceeds limit ${exports.MAX_PACKET_LENGTH}`);
91
109
  }
92
110
  const totalLength = lengthBytes + packetLength;
111
+ if (totalLength > exports.MAX_PACKET_LENGTH + (0, types_js_1.varIntSize)(packetLength)) {
112
+ throw new Error(`Framed packet size ${totalLength} exceeds allowed maximum`);
113
+ }
93
114
  if (this.buffer.length < totalLength) {
94
115
  // Haven't received the full packet yet
95
116
  break;
@@ -112,6 +133,9 @@ exports.PacketSplitter = PacketSplitter;
112
133
  * Parse a raw packet payload into id + data.
113
134
  */
114
135
  function parseRawPacket(payload) {
136
+ if (payload.length === 0) {
137
+ throw new Error('Raw packet payload is empty');
138
+ }
115
139
  const { value: id, bytesRead } = (0, types_js_1.readVarInt)(payload, 0);
116
140
  const data = payload.subarray(bytesRead);
117
141
  return { id, data };
@@ -1 +1 @@
1
- {"version":3,"file":"packet.js","sourceRoot":"","sources":["../../src/protocol/packet.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"packet.js","sourceRoot":"","sources":["../../src/protocol/packet.ts"],"names":[],"mappings":"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"}
@@ -5,8 +5,8 @@
5
5
  * - Query server status (Next State = 1)
6
6
  * - Login to play (Next State = 2)
7
7
  */
8
- /** Minecraft protocol version for 1.21.4 */
9
- export declare const PROTOCOL_VERSION = 769;
8
+ /** Default Minecraft protocol version resolved from minecraft-data */
9
+ export declare const PROTOCOL_VERSION: number;
10
10
  /** Next state values */
11
11
  export declare enum NextState {
12
12
  STATUS = 1,
@@ -1 +1 @@
1
- {"version":3,"file":"handshake.d.ts","sourceRoot":"","sources":["../../../src/protocol/states/handshake.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,4CAA4C;AAC5C,eAAO,MAAM,gBAAgB,MAAM,CAAC;AAEpC,wBAAwB;AACxB,oBAAY,SAAS;IACjB,MAAM,IAAI;IACV,KAAK,IAAI;CACZ;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAChC,eAAe,EAAE,MAAM,EACvB,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,SAAS,GACrB,MAAM,CAOR"}
1
+ {"version":3,"file":"handshake.d.ts","sourceRoot":"","sources":["../../../src/protocol/states/handshake.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,sEAAsE;AACtE,eAAO,MAAM,gBAAgB,QAA2B,CAAC;AAEzD,wBAAwB;AACxB,oBAAY,SAAS;IACjB,MAAM,IAAI;IACV,KAAK,IAAI;CACZ;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAChC,eAAe,EAAE,MAAM,EACvB,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,SAAS,GACrB,MAAM,CAOR"}
@@ -10,8 +10,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
10
10
  exports.NextState = exports.PROTOCOL_VERSION = void 0;
11
11
  exports.buildHandshakePacket = buildHandshakePacket;
12
12
  const types_js_1 = require("../types.js");
13
- /** Minecraft protocol version for 1.21.4 */
14
- exports.PROTOCOL_VERSION = 769;
13
+ const version_js_1 = require("../version.js");
14
+ /** Default Minecraft protocol version resolved from minecraft-data */
15
+ exports.PROTOCOL_VERSION = version_js_1.DEFAULT_PROTOCOL_VERSION;
15
16
  /** Next state values */
16
17
  var NextState;
17
18
  (function (NextState) {
@@ -1 +1 @@
1
- {"version":3,"file":"handshake.js","sourceRoot":"","sources":["../../../src/protocol/states/handshake.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAgBH,oDAYC;AA1BD,0CAA2C;AAE3C,4CAA4C;AAC/B,QAAA,gBAAgB,GAAG,GAAG,CAAC;AAEpC,wBAAwB;AACxB,IAAY,SAGX;AAHD,WAAY,SAAS;IACjB,6CAAU,CAAA;IACV,2CAAS,CAAA;AACb,CAAC,EAHW,SAAS,yBAAT,SAAS,QAGpB;AAED;;GAEG;AACH,SAAgB,oBAAoB,CAChC,eAAuB,EACvB,aAAqB,EACrB,UAAkB,EAClB,SAAoB;IAEpB,MAAM,MAAM,GAAG,IAAI,uBAAY,EAAE,CAAC;IAClC,MAAM,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,CAAG,mBAAmB;IAC1D,MAAM,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAK,iBAAiB;IACxD,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAQ,cAAc;IACrD,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAS,aAAa;IACpD,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;AAC7B,CAAC"}
1
+ {"version":3,"file":"handshake.js","sourceRoot":"","sources":["../../../src/protocol/states/handshake.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAiBH,oDAYC;AA3BD,0CAA2C;AAC3C,8CAAyD;AAEzD,sEAAsE;AACzD,QAAA,gBAAgB,GAAG,qCAAwB,CAAC;AAEzD,wBAAwB;AACxB,IAAY,SAGX;AAHD,WAAY,SAAS;IACjB,6CAAU,CAAA;IACV,2CAAS,CAAA;AACb,CAAC,EAHW,SAAS,yBAAT,SAAS,QAGpB;AAED;;GAEG;AACH,SAAgB,oBAAoB,CAChC,eAAuB,EACvB,aAAqB,EACrB,UAAkB,EAClB,SAAoB;IAEpB,MAAM,MAAM,GAAG,IAAI,uBAAY,EAAE,CAAC;IAClC,MAAM,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,CAAG,mBAAmB;IAC1D,MAAM,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAK,iBAAiB;IACxD,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAQ,cAAc;IACrD,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAS,aAAa;IACpD,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;AAC7B,CAAC"}
@@ -28,7 +28,7 @@ export declare enum LoginClientboundPackets {
28
28
  * Build Login Start packet (0x00).
29
29
  * Sent by client to begin the login process.
30
30
  */
31
- export declare function buildLoginStartPacket(username: string, playerUUID: string): Buffer;
31
+ export declare function buildLoginStartPacket(username: string, playerUUID: string, protocolVersion?: number): Buffer;
32
32
  /**
33
33
  * Build Encryption Response packet (0x01).
34
34
  * Sent after receiving Encryption Request, contains encrypted shared secret and verify token.
@@ -49,7 +49,7 @@ export interface EncryptionRequestPacket {
49
49
  verifyToken: Buffer;
50
50
  shouldAuthenticate: boolean;
51
51
  }
52
- export declare function parseEncryptionRequestPacket(data: Buffer): EncryptionRequestPacket;
52
+ export declare function parseEncryptionRequestPacket(data: Buffer, protocolVersion?: number): EncryptionRequestPacket;
53
53
  export interface LoginSuccessPacket {
54
54
  uuid: string;
55
55
  username: string;
@@ -59,7 +59,7 @@ export interface LoginSuccessPacket {
59
59
  signature?: string;
60
60
  }>;
61
61
  }
62
- export declare function parseLoginSuccessPacket(data: Buffer): LoginSuccessPacket;
62
+ export declare function parseLoginSuccessPacket(data: Buffer, protocolVersion?: number): LoginSuccessPacket;
63
63
  export interface SetCompressionPacket {
64
64
  threshold: number;
65
65
  }
@@ -1 +1 @@
1
- {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../../src/protocol/states/login.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAMH,mCAAmC;AACnC,oBAAY,uBAAuB;IAC/B,WAAW,IAAO;IAClB,mBAAmB,IAAO;IAC1B,qBAAqB,IAAO;IAC5B,kBAAkB,IAAO;CAC5B;AAED,mCAAmC;AACnC,oBAAY,uBAAuB;IAC/B,UAAU,IAAO;IACjB,kBAAkB,IAAO;IACzB,aAAa,IAAO;IACpB,eAAe,IAAO;IACtB,oBAAoB,IAAO;CAC9B;AAID;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAKlF;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,CACzC,qBAAqB,EAAE,MAAM,EAC7B,oBAAoB,EAAE,MAAM,GAC7B,MAAM,CAKR;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,IAAI,MAAM,CAErD;AAID,MAAM,WAAW,gBAAgB;IAC7B,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,CAGpE;AAED,MAAM,WAAW,uBAAuB;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,EAAE,OAAO,CAAC;CAC/B;AAED,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,MAAM,GAAG,uBAAuB,CAOlF;AAED,MAAM,WAAW,kBAAkB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,KAAK,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC,CAAC;CACN;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB,CAkBxE;AAED,MAAM,WAAW,oBAAoB;IACjC,SAAS,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,oBAAoB,CAG5E;AAED,MAAM,WAAW,wBAAwB;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,MAAM,GAAG,wBAAwB,CAMpF;AAED;;GAEG;AACH,wBAAgB,8BAA8B,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAUvF"}
1
+ {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../../src/protocol/states/login.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAOH,mCAAmC;AACnC,oBAAY,uBAAuB;IAC/B,WAAW,IAAO;IAClB,mBAAmB,IAAO;IAC1B,qBAAqB,IAAO;IAC5B,kBAAkB,IAAO;CAC5B;AAED,mCAAmC;AACnC,oBAAY,uBAAuB;IAC/B,UAAU,IAAO;IACjB,kBAAkB,IAAO;IACzB,aAAa,IAAO;IACpB,eAAe,IAAO;IACtB,oBAAoB,IAAO;CAC9B;AAID;;;GAGG;AACH,wBAAgB,qBAAqB,CACjC,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,eAAe,GAAE,MAAyB,GAC3C,MAAM,CAaR;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,CACzC,qBAAqB,EAAE,MAAM,EAC7B,oBAAoB,EAAE,MAAM,GAC7B,MAAM,CAKR;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,IAAI,MAAM,CAErD;AAID,MAAM,WAAW,gBAAgB;IAC7B,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,CAGpE;AAED,MAAM,WAAW,uBAAuB;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,EAAE,OAAO,CAAC;CAC/B;AAED,wBAAgB,4BAA4B,CACxC,IAAI,EAAE,MAAM,EACZ,eAAe,GAAE,MAAyB,GAC3C,uBAAuB,CAUzB;AAED,MAAM,WAAW,kBAAkB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,KAAK,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC,CAAC;CACN;AAED,wBAAgB,uBAAuB,CACnC,IAAI,EAAE,MAAM,EACZ,eAAe,GAAE,MAAyB,GAC3C,kBAAkB,CA2BpB;AAED,MAAM,WAAW,oBAAoB;IACjC,SAAS,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,oBAAoB,CAG5E;AAED,MAAM,WAAW,wBAAwB;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,MAAM,GAAG,wBAAwB,CAMpF;AAED;;GAEG;AACH,wBAAgB,8BAA8B,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAUvF"}
@@ -22,6 +22,7 @@ exports.parseSetCompressionPacket = parseSetCompressionPacket;
22
22
  exports.parseLoginPluginRequestPacket = parseLoginPluginRequestPacket;
23
23
  exports.buildLoginPluginResponsePacket = buildLoginPluginResponsePacket;
24
24
  const types_js_1 = require("../types.js");
25
+ const handshake_js_1 = require("./handshake.js");
25
26
  // ─── Packet IDs ─────────────────────────────────────────
26
27
  /** Login Serverbound Packet IDs */
27
28
  var LoginServerboundPackets;
@@ -45,10 +46,17 @@ var LoginClientboundPackets;
45
46
  * Build Login Start packet (0x00).
46
47
  * Sent by client to begin the login process.
47
48
  */
48
- function buildLoginStartPacket(username, playerUUID) {
49
+ function buildLoginStartPacket(username, playerUUID, protocolVersion = handshake_js_1.PROTOCOL_VERSION) {
49
50
  const writer = new types_js_1.BufferWriter();
50
51
  writer.writeString(username); // Player Name
51
- writer.writeUUID(playerUUID); // Player UUID
52
+ // 1.20.2+ requires UUID, 1.19-1.20.1 uses optional UUID, older has username only.
53
+ if (protocolVersion >= 764) {
54
+ writer.writeUUID(playerUUID);
55
+ }
56
+ else if (protocolVersion >= 760) {
57
+ writer.writeBool(true);
58
+ writer.writeUUID(playerUUID);
59
+ }
52
60
  return writer.toBuffer();
53
61
  }
54
62
  /**
@@ -72,26 +80,36 @@ function parseDisconnectPacket(data) {
72
80
  const reader = new types_js_1.BufferReader(data);
73
81
  return { reason: reader.readString() };
74
82
  }
75
- function parseEncryptionRequestPacket(data) {
83
+ function parseEncryptionRequestPacket(data, protocolVersion = handshake_js_1.PROTOCOL_VERSION) {
76
84
  const reader = new types_js_1.BufferReader(data);
77
85
  const serverId = reader.readString();
78
86
  const publicKey = reader.readByteArray();
79
87
  const verifyToken = reader.readByteArray();
80
- const shouldAuthenticate = reader.readBool();
88
+ const shouldAuthenticate = protocolVersion >= 769 && reader.remaining > 0
89
+ ? reader.readBool()
90
+ : true;
81
91
  return { serverId, publicKey, verifyToken, shouldAuthenticate };
82
92
  }
83
- function parseLoginSuccessPacket(data) {
93
+ function parseLoginSuccessPacket(data, protocolVersion = handshake_js_1.PROTOCOL_VERSION) {
84
94
  const reader = new types_js_1.BufferReader(data);
85
- const uuid = reader.readUUID();
95
+ const uuid = protocolVersion >= 735
96
+ ? reader.readUUID()
97
+ : reader.readString();
86
98
  const username = reader.readString();
87
99
  // Properties array
88
- const numProperties = reader.readVarInt();
89
100
  const properties = [];
101
+ if (reader.remaining <= 0) {
102
+ return { uuid, username, properties };
103
+ }
104
+ const numProperties = reader.readVarInt();
90
105
  for (let i = 0; i < numProperties; i++) {
91
106
  const name = reader.readString();
92
107
  const value = reader.readString();
93
- const isSigned = reader.readBool();
94
- const signature = isSigned ? reader.readString() : undefined;
108
+ let signature;
109
+ if (reader.remaining > 0) {
110
+ const isSigned = reader.readBool();
111
+ signature = isSigned ? reader.readString() : undefined;
112
+ }
95
113
  properties.push({ name, value, signature });
96
114
  }
97
115
  return { uuid, username, properties };
@@ -1 +1 @@
1
- {"version":3,"file":"login.js","sourceRoot":"","sources":["../../../src/protocol/states/login.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"login.js","sourceRoot":"","sources":["../../../src/protocol/states/login.ts"],"names":[],"mappings":"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"}
@@ -83,7 +83,7 @@ export declare function buildKeepAlivePacket(keepAliveId: bigint): Buffer;
83
83
  /**
84
84
  * Chat Message (unsigned).
85
85
  */
86
- export declare function buildChatMessagePacket(message: string): Buffer;
86
+ export declare function buildChatMessagePacket(message: string, protocolVersion?: number): Buffer;
87
87
  /**
88
88
  * Confirm Teleportation — must respond to synchronize position.
89
89
  */
@@ -91,11 +91,11 @@ export declare function buildConfirmTeleportationPacket(teleportId: number): Buf
91
91
  /**
92
92
  * Set Player Position.
93
93
  */
94
- export declare function buildSetPlayerPositionPacket(x: number, y: number, z: number, onGround: boolean): Buffer;
94
+ export declare function buildSetPlayerPositionPacket(x: number, y: number, z: number, onGround: boolean, protocolVersion?: number): Buffer;
95
95
  /**
96
96
  * Set Player Position and Rotation.
97
97
  */
98
- export declare function buildSetPlayerPositionAndRotationPacket(x: number, y: number, z: number, yaw: number, pitch: number, onGround: boolean): Buffer;
98
+ export declare function buildSetPlayerPositionAndRotationPacket(x: number, y: number, z: number, yaw: number, pitch: number, onGround: boolean, protocolVersion?: number): Buffer;
99
99
  /**
100
100
  * Player Action (digging, etc.)
101
101
  */
@@ -108,11 +108,11 @@ export declare enum PlayerActionStatus {
108
108
  SHOOT_ARROW_FINISH_EATING = 5,
109
109
  SWAP_ITEM_IN_HAND = 6
110
110
  }
111
- export declare function buildPlayerActionPacket(status: PlayerActionStatus, x: number, y: number, z: number, face: number, sequence: number): Buffer;
111
+ export declare function buildPlayerActionPacket(status: PlayerActionStatus, x: number, y: number, z: number, face: number, sequence: number, protocolVersion?: number): Buffer;
112
112
  /**
113
113
  * Swing Arm.
114
114
  */
115
- export declare function buildSwingArmPacket(hand?: number): Buffer;
115
+ export declare function buildSwingArmPacket(hand?: number, protocolVersion?: number): Buffer;
116
116
  /**
117
117
  * Set Held Item (hotbar slot).
118
118
  */
@@ -146,7 +146,7 @@ export interface LoginPlayPacket {
146
146
  portalCooldown: number;
147
147
  seaLevel: number;
148
148
  }
149
- export declare function parseLoginPlay(data: Buffer): LoginPlayPacket;
149
+ export declare function parseLoginPlay(data: Buffer, protocolVersion?: number): LoginPlayPacket;
150
150
  export interface PlayerPositionPacket {
151
151
  teleportId: number;
152
152
  x: number;
@@ -159,7 +159,7 @@ export interface PlayerPositionPacket {
159
159
  pitch: number;
160
160
  flags: number;
161
161
  }
162
- export declare function parsePlayerPosition(data: Buffer): PlayerPositionPacket;
162
+ export declare function parsePlayerPosition(data: Buffer, protocolVersion?: number): PlayerPositionPacket;
163
163
  export interface SystemChatPacket {
164
164
  content: string;
165
165
  isOverlay: boolean;
@@ -182,6 +182,12 @@ export interface DisconnectPlayPacket {
182
182
  reason: string;
183
183
  }
184
184
  export declare function parseDisconnectPlay(data: Buffer): DisconnectPlayPacket;
185
+ export interface BossBarPacket {
186
+ uuid: string;
187
+ action: number;
188
+ data: Record<string, unknown>;
189
+ }
190
+ export declare function parseBossBar(data: Buffer): BossBarPacket;
185
191
  export interface PlayerAbilitiesPacket {
186
192
  flags: number;
187
193
  flyingSpeed: number;
@@ -222,7 +228,7 @@ export declare function buildPlayerCommandPacket(entityId: number, action: Playe
222
228
  /**
223
229
  * Chat Command — sends a / command (1.19+, different from chat message).
224
230
  */
225
- export declare function buildChatCommandPacket(command: string): Buffer;
231
+ export declare function buildChatCommandPacket(command: string, protocolVersion?: number): Buffer;
226
232
  /**
227
233
  * Client Status — respawn or request stats.
228
234
  */
@@ -234,11 +240,11 @@ export declare function buildClientStatusPacket(action: ClientStatusAction): Buf
234
240
  /**
235
241
  * Use Item On — place a block or interact with a block.
236
242
  */
237
- export declare function buildUseItemOnPacket(hand: number, x: number, y: number, z: number, face: number, cursorX: number, cursorY: number, cursorZ: number, insideBlock: boolean, worldBorderHit: boolean, sequence: number): Buffer;
243
+ export declare function buildUseItemOnPacket(hand: number, x: number, y: number, z: number, face: number, cursorX: number, cursorY: number, cursorZ: number, insideBlock: boolean, worldBorderHit: boolean, sequence: number, protocolVersion?: number): Buffer;
238
244
  /**
239
245
  * Use Item — use the item in hand (eat, throw, shoot bow, etc.).
240
246
  */
241
- export declare function buildUseItemPacket(hand: number, sequence: number, yaw?: number, pitch?: number): Buffer;
247
+ export declare function buildUseItemPacket(hand: number, sequence: number, yaw?: number, pitch?: number, protocolVersion?: number): Buffer;
242
248
  /**
243
249
  * Interact Entity — attack or use/interact with an entity.
244
250
  */
@@ -247,11 +253,11 @@ export declare enum InteractEntityType {
247
253
  ATTACK = 1,
248
254
  INTERACT_AT = 2
249
255
  }
250
- export declare function buildInteractEntityPacket(entityId: number, type: InteractEntityType, sneaking: boolean, targetX?: number, targetY?: number, targetZ?: number, hand?: number): Buffer;
256
+ export declare function buildInteractEntityPacket(entityId: number, type: InteractEntityType, sneaking: boolean, targetX?: number, targetY?: number, targetZ?: number, hand?: number, protocolVersion?: number): Buffer;
251
257
  /**
252
258
  * Player Abilities (Serverbound) — toggle flying.
253
259
  */
254
- export declare function buildPlayerAbilitiesServerboundPacket(flying: boolean): Buffer;
260
+ export declare function buildPlayerAbilitiesServerboundPacket(flying: boolean, protocolVersion?: number): Buffer;
255
261
  /**
256
262
  * Close Container — close an open container.
257
263
  */
@@ -293,11 +299,11 @@ export declare function buildResourcePackResponsePacket(uuid: string, status: Re
293
299
  /**
294
300
  * Set Player Rotation only.
295
301
  */
296
- export declare function buildSetPlayerRotationPacket(yaw: number, pitch: number, onGround: boolean): Buffer;
302
+ export declare function buildSetPlayerRotationPacket(yaw: number, pitch: number, onGround: boolean, protocolVersion?: number): Buffer;
297
303
  /**
298
304
  * Set Player On Ground only.
299
305
  */
300
- export declare function buildSetPlayerOnGroundPacket(onGround: boolean): Buffer;
306
+ export declare function buildSetPlayerOnGroundPacket(onGround: boolean, protocolVersion?: number): Buffer;
301
307
  /**
302
308
  * Pong — response to server Ping.
303
309
  */
@@ -1 +1 @@
1
- {"version":3,"file":"play.d.ts","sourceRoot":"","sources":["../../../src/protocol/states/play.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,oBAAY,sBAAsB;IAC9B,qBAAqB,IAAO;IAC5B,YAAY,IAAO;IACnB,YAAY,IAAO;IACnB,oBAAoB,IAAO;IAC3B,aAAa,KAAO;IACpB,kBAAkB,KAAO;IACzB,eAAe,KAAO;IACtB,eAAe,KAAO;IACtB,QAAQ,KAAO;IACf,UAAU,KAAO;IACjB,mBAAmB,KAAO;IAC1B,gCAAgC,KAAO;IACvC,mBAAmB,KAAO;IAC1B,oBAAoB,KAAO;IAC3B,gBAAgB,KAAO;IACvB,aAAa,KAAO;IACpB,cAAc,KAAO;IACrB,cAAc,KAAO;IACrB,IAAI,KAAO;IACX,sBAAsB,KAAO;IAC7B,aAAa,KAAO;IACpB,sBAAsB,KAAO;IAC7B,SAAS,KAAO;IAChB,WAAW,KAAO;IAClB,QAAQ,KAAO;CAClB;AAID,oBAAY,sBAAsB;IAC9B,gBAAgB,IAAO;IACvB,YAAY,IAAO;IACnB,gBAAgB,IAAO;IACvB,wBAAwB,IAAO;IAC/B,YAAY,IAAO;IACnB,QAAQ,KAAO;IACf,iBAAiB,KAAO;IACxB,oBAAoB,KAAO;IAC3B,eAAe,KAAO;IACtB,qBAAqB,KAAO;IAC5B,kBAAkB,KAAO;IACzB,cAAc,KAAO;IACrB,UAAU,KAAO;IACjB,YAAY,KAAO;IACnB,YAAY,KAAO;IACnB,UAAU,KAAO;IACjB,WAAW,KAAO;IAClB,eAAe,KAAO;IACtB,UAAU,KAAO;IACjB,UAAU,KAAO;IACjB,eAAe,KAAO;IACtB,4BAA4B,KAAO;IACnC,eAAe,KAAO;IACtB,KAAK,KAAO;IACZ,IAAI,KAAO;IACX,gBAAgB,KAAO;IACvB,kBAAkB,KAAO;IACzB,eAAe,KAAO;IACtB,eAAe,KAAO;IACtB,oBAAoB,KAAO;IAC3B,OAAO,KAAO;IACd,0BAA0B,KAAO;IACjC,mBAAmB,KAAO;IAC1B,mBAAmB,KAAO;IAC1B,UAAU,KAAO;IACjB,cAAc,KAAO;IACrB,WAAW,MAAO;IAClB,YAAY,MAAO;IACnB,WAAW,MAAO;IAClB,iBAAiB,KAAO;IACxB,cAAc,MAAO;IACrB,yBAAyB,MAAO;CACnC;AAID;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAIhE;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAS9D;AAED;;GAEG;AACH,wBAAgB,+BAA+B,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAI1E;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CACxC,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,QAAQ,EAAE,OAAO,GAClB,MAAM,CAOR;AAED;;GAEG;AACH,wBAAgB,uCAAuC,CACnD,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,OAAO,GAClB,MAAM,CASR;AAED;;GAEG;AACH,oBAAY,kBAAkB;IAC1B,eAAe,IAAI;IACnB,iBAAiB,IAAI;IACrB,gBAAgB,IAAI;IACpB,eAAe,IAAI;IACnB,SAAS,IAAI;IACb,yBAAyB,IAAI;IAC7B,iBAAiB,IAAI;CACxB;AAED,wBAAgB,uBAAuB,CACnC,MAAM,EAAE,kBAAkB,EAC1B,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,GACjB,MAAM,CASR;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,GAAE,MAAU,GAAG,MAAM,CAI5D;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAI3D;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CACxC,MAAM,GAAE,MAAgB,EACxB,YAAY,GAAE,MAAW,EACzB,QAAQ,GAAE,MAAU,EACpB,UAAU,GAAE,OAAc,EAC1B,SAAS,GAAE,MAAa,EACxB,QAAQ,GAAE,MAAU,GACrB,MAAM,CAWR;AAID,MAAM,WAAW,oBAAoB;IACjC,WAAW,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,oBAAoB,CAGjE;AAED,MAAM,WAAW,eAAe;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,CA4C5D;AAED,MAAM,WAAW,oBAAoB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,oBAAoB,CActE;AAED,MAAM,WAAW,gBAAgB;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;CACtB;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,CAK9D;AAED,MAAM,WAAW,eAAe;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,CAO5D;AAED,MAAM,WAAW,iBAAiB;IAC9B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,OAAO,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,CAMhE;AAED,MAAM,WAAW,oBAAoB;IACjC,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,oBAAoB,CAGtE;AAED,MAAM,WAAW,qBAAqB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACxB;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,qBAAqB,CAOxE;AAED,MAAM,WAAW,iBAAiB;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,CAiBhE;AAID;;GAEG;AACH,oBAAY,mBAAmB;IAC3B,cAAc,IAAI;IAClB,aAAa,IAAI;IACjB,SAAS,IAAI;IACb,eAAe,IAAI;IACnB,cAAc,IAAI;IAClB,gBAAgB,IAAI;IACpB,eAAe,IAAI;IACnB,sBAAsB,IAAI;IAC1B,wBAAwB,IAAI;CAC/B;AAED,wBAAgB,wBAAwB,CACpC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,mBAAmB,EAC3B,SAAS,GAAE,MAAU,GACtB,MAAM,CAMR;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAI9D;AAED;;GAEG;AACH,oBAAY,kBAAkB;IAC1B,eAAe,IAAI;IACnB,aAAa,IAAI;CACpB;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,kBAAkB,GAAG,MAAM,CAI1E;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAChC,IAAI,EAAE,MAAM,EACZ,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAC/B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EACjD,WAAW,EAAE,OAAO,EACpB,cAAc,EAAE,OAAO,EACvB,QAAQ,EAAE,MAAM,GACjB,MAAM,CAYR;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,GAAE,MAAU,EAAE,KAAK,GAAE,MAAU,GAAG,MAAM,CAO7G;AAED;;GAEG;AACH,oBAAY,kBAAkB;IAC1B,QAAQ,IAAI;IACZ,MAAM,IAAI;IACV,WAAW,IAAI;CAClB;AAED,wBAAgB,yBAAyB,CACrC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,kBAAkB,EACxB,QAAQ,EAAE,OAAO,EACjB,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EACpD,IAAI,CAAC,EAAE,MAAM,GACd,MAAM,CAcR;AAED;;GAEG;AACH,wBAAgB,qCAAqC,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAI7E;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAIlE;AAED;;GAEG;AACH,oBAAY,kBAAkB;IAC1B,YAAY,IAAI;IAChB,WAAW,IAAI;IACf,UAAU,IAAI;IACd,YAAY,IAAI;IAChB,IAAI,IAAI;IACR,IAAI,IAAI;IACR,YAAY,IAAI;CACnB;AAED,wBAAgB,yBAAyB,CACrC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,kBAAkB,EACxB,YAAY,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,EACnD,WAAW,EAAE,MAAM,GACpB,MAAM,CAeR;AAED;;GAEG;AACH,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAKrF;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAK9E;AAED;;GAEG;AACH,oBAAY,kBAAkB;IAC1B,mBAAmB,IAAI;IACvB,QAAQ,IAAI;IACZ,eAAe,IAAI;IACnB,QAAQ,IAAI;CACf;AAED,wBAAgB,+BAA+B,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,GAAG,MAAM,CAKhG;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,MAAM,CAMlG;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,OAAO,GAAG,MAAM,CAItE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAIlD;AAID,MAAM,WAAW,oBAAoB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;CACrB;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,oBAAoB,CAStE;AAED,MAAM,WAAW,+BAA+B;IAC5C,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;CACrB;AAED,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,MAAM,GAAG,+BAA+B,CAW5F;AAED,MAAM,WAAW,oBAAoB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,oBAAoB,CAQtE;AAED,MAAM,WAAW,wBAAwB;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,wBAAwB,CAM9E;AAED,MAAM,WAAW,eAAe;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,oBAAY,aAAa;IACrB,gBAAgB,IAAI;IACpB,aAAa,IAAI;IACjB,WAAW,IAAI;IACf,gBAAgB,IAAI;IACpB,QAAQ,IAAI;IACZ,UAAU,IAAI;IACd,gBAAgB,IAAI;IACpB,iBAAiB,IAAI;IACrB,oBAAoB,IAAI;IACxB,qBAAqB,IAAI;IACzB,8BAA8B,KAAK;IACnC,qBAAqB,KAAK;IAC1B,gBAAgB,KAAK;IACrB,8BAA8B,KAAK;CACtC;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,CAM5D;AAED,MAAM,WAAW,aAAa;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,CA0BxD;AAED,MAAM,WAAW,mBAAmB;IAChC,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,EAAE,MAAM,CAAC;CAC3B;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,mBAAmB,CAOpE;AAED,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,OAAO,CAAC;CAC3B;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,CAO9D;AAED,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,CAO9D;AAED,MAAM,WAAW,yBAAyB;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,yBAAyB,CAahF;AAED,MAAM,WAAW,sBAAsB;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,sBAAsB,CAQ1E;AAED,MAAM,WAAW,oBAAoB;IACjC,SAAS,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,oBAAoB,CAQtE;AAED,MAAM,WAAW,6BAA6B;IAC1C,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,MAAM,GAAG,6BAA6B,CAMxF;AAED,MAAM,WAAW,4BAA4B;IACzC,UAAU,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,MAAM,GAAG,4BAA4B,CAGtF;AAID;;;GAGG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAStE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAW/E"}
1
+ {"version":3,"file":"play.d.ts","sourceRoot":"","sources":["../../../src/protocol/states/play.ts"],"names":[],"mappings":"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"}