specprotocol 1.0.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.
Files changed (104) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +174 -0
  3. package/bin/specprotocol.js +136 -0
  4. package/dist/auth/microsoft.d.ts +23 -0
  5. package/dist/auth/microsoft.d.ts.map +1 -0
  6. package/dist/auth/microsoft.js +167 -0
  7. package/dist/auth/microsoft.js.map +1 -0
  8. package/dist/auth/offline.d.ts +20 -0
  9. package/dist/auth/offline.d.ts.map +1 -0
  10. package/dist/auth/offline.js +67 -0
  11. package/dist/auth/offline.js.map +1 -0
  12. package/dist/bot.d.ts +190 -0
  13. package/dist/bot.d.ts.map +1 -0
  14. package/dist/bot.js +624 -0
  15. package/dist/bot.js.map +1 -0
  16. package/dist/entity/entity.d.ts +71 -0
  17. package/dist/entity/entity.d.ts.map +1 -0
  18. package/dist/entity/entity.js +157 -0
  19. package/dist/entity/entity.js.map +1 -0
  20. package/dist/index.d.ts +36 -0
  21. package/dist/index.d.ts.map +1 -0
  22. package/dist/index.js +73 -0
  23. package/dist/index.js.map +1 -0
  24. package/dist/plugins/built-in/chat.d.ts +19 -0
  25. package/dist/plugins/built-in/chat.d.ts.map +1 -0
  26. package/dist/plugins/built-in/chat.js +62 -0
  27. package/dist/plugins/built-in/chat.js.map +1 -0
  28. package/dist/plugins/built-in/combat.d.ts +20 -0
  29. package/dist/plugins/built-in/combat.d.ts.map +1 -0
  30. package/dist/plugins/built-in/combat.js +42 -0
  31. package/dist/plugins/built-in/combat.js.map +1 -0
  32. package/dist/plugins/plugin-manager.d.ts +49 -0
  33. package/dist/plugins/plugin-manager.d.ts.map +1 -0
  34. package/dist/plugins/plugin-manager.js +76 -0
  35. package/dist/plugins/plugin-manager.js.map +1 -0
  36. package/dist/protocol/compression.d.ts +23 -0
  37. package/dist/protocol/compression.d.ts.map +1 -0
  38. package/dist/protocol/compression.js +85 -0
  39. package/dist/protocol/compression.js.map +1 -0
  40. package/dist/protocol/connection.d.ts +73 -0
  41. package/dist/protocol/connection.d.ts.map +1 -0
  42. package/dist/protocol/connection.js +212 -0
  43. package/dist/protocol/connection.js.map +1 -0
  44. package/dist/protocol/encryption.d.ts +29 -0
  45. package/dist/protocol/encryption.d.ts.map +1 -0
  46. package/dist/protocol/encryption.js +116 -0
  47. package/dist/protocol/encryption.js.map +1 -0
  48. package/dist/protocol/packet.d.ts +75 -0
  49. package/dist/protocol/packet.d.ts.map +1 -0
  50. package/dist/protocol/packet.js +140 -0
  51. package/dist/protocol/packet.js.map +1 -0
  52. package/dist/protocol/states/handshake.d.ts +19 -0
  53. package/dist/protocol/states/handshake.d.ts.map +1 -0
  54. package/dist/protocol/states/handshake.js +32 -0
  55. package/dist/protocol/states/handshake.js.map +1 -0
  56. package/dist/protocol/states/login.d.ts +77 -0
  57. package/dist/protocol/states/login.d.ts.map +1 -0
  58. package/dist/protocol/states/login.js +125 -0
  59. package/dist/protocol/states/login.js.map +1 -0
  60. package/dist/protocol/states/play.d.ts +187 -0
  61. package/dist/protocol/states/play.d.ts.map +1 -0
  62. package/dist/protocol/states/play.js +316 -0
  63. package/dist/protocol/states/play.js.map +1 -0
  64. package/dist/protocol/types.d.ts +210 -0
  65. package/dist/protocol/types.d.ts.map +1 -0
  66. package/dist/protocol/types.js +495 -0
  67. package/dist/protocol/types.js.map +1 -0
  68. package/dist/types.d.ts +36 -0
  69. package/dist/types.d.ts.map +1 -0
  70. package/dist/types.js +6 -0
  71. package/dist/types.js.map +1 -0
  72. package/dist/utils/events.d.ts +23 -0
  73. package/dist/utils/events.d.ts.map +1 -0
  74. package/dist/utils/events.js +44 -0
  75. package/dist/utils/events.js.map +1 -0
  76. package/dist/utils/logger.d.ts +19 -0
  77. package/dist/utils/logger.d.ts.map +1 -0
  78. package/dist/utils/logger.js +47 -0
  79. package/dist/utils/logger.js.map +1 -0
  80. package/dist/utils/vec3.d.ts +25 -0
  81. package/dist/utils/vec3.d.ts.map +1 -0
  82. package/dist/utils/vec3.js +66 -0
  83. package/dist/utils/vec3.js.map +1 -0
  84. package/dist/world/block.d.ts +39 -0
  85. package/dist/world/block.d.ts.map +1 -0
  86. package/dist/world/block.js +84 -0
  87. package/dist/world/block.js.map +1 -0
  88. package/dist/world/world.d.ts +55 -0
  89. package/dist/world/world.d.ts.map +1 -0
  90. package/dist/world/world.js +95 -0
  91. package/dist/world/world.js.map +1 -0
  92. package/docs/README.md +29 -0
  93. package/docs/api/auth.md +210 -0
  94. package/docs/api/bot.md +137 -0
  95. package/docs/api/events.md +166 -0
  96. package/docs/api/plugins.md +207 -0
  97. package/docs/api/protocol.md +129 -0
  98. package/docs/api/world.md +138 -0
  99. package/docs/first-bot.md +114 -0
  100. package/docs/getting-started.md +103 -0
  101. package/docs/guides/architecture.md +122 -0
  102. package/docs/guides/custom-plugins.md +211 -0
  103. package/docs/guides/raw-packets.md +80 -0
  104. package/package.json +55 -0
@@ -0,0 +1,316 @@
1
+ "use strict";
2
+ /**
3
+ * Play State — the main game state.
4
+ *
5
+ * Contains packet definitions for the most common play-state packets.
6
+ * Minecraft has 900+ packet types in Play state; we implement the essential ones
7
+ * and provide raw packet access for the rest.
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.PlayerActionStatus = exports.PlayClientboundPackets = exports.PlayServerboundPackets = void 0;
11
+ exports.buildKeepAlivePacket = buildKeepAlivePacket;
12
+ exports.buildChatMessagePacket = buildChatMessagePacket;
13
+ exports.buildConfirmTeleportationPacket = buildConfirmTeleportationPacket;
14
+ exports.buildSetPlayerPositionPacket = buildSetPlayerPositionPacket;
15
+ exports.buildSetPlayerPositionAndRotationPacket = buildSetPlayerPositionAndRotationPacket;
16
+ exports.buildPlayerActionPacket = buildPlayerActionPacket;
17
+ exports.buildSwingArmPacket = buildSwingArmPacket;
18
+ exports.buildSetHeldItemPacket = buildSetHeldItemPacket;
19
+ exports.buildClientInformationPacket = buildClientInformationPacket;
20
+ exports.parseKeepAlive = parseKeepAlive;
21
+ exports.parseLoginPlay = parseLoginPlay;
22
+ exports.parsePlayerPosition = parsePlayerPosition;
23
+ exports.parseSystemChat = parseSystemChat;
24
+ exports.parseSetHealth = parseSetHealth;
25
+ exports.parseBlockUpdate = parseBlockUpdate;
26
+ exports.parseDisconnectPlay = parseDisconnectPlay;
27
+ exports.parsePlayerAbilities = parsePlayerAbilities;
28
+ exports.parseSpawnEntity = parseSpawnEntity;
29
+ exports.encodePosition = encodePosition;
30
+ exports.decodePosition = decodePosition;
31
+ const types_js_1 = require("../types.js");
32
+ // ─── Play Serverbound Packet IDs (Client → Server) ─────
33
+ var PlayServerboundPackets;
34
+ (function (PlayServerboundPackets) {
35
+ PlayServerboundPackets[PlayServerboundPackets["CONFIRM_TELEPORTATION"] = 0] = "CONFIRM_TELEPORTATION";
36
+ PlayServerboundPackets[PlayServerboundPackets["CHAT_MESSAGE"] = 6] = "CHAT_MESSAGE";
37
+ PlayServerboundPackets[PlayServerboundPackets["CLIENT_INFORMATION"] = 10] = "CLIENT_INFORMATION";
38
+ PlayServerboundPackets[PlayServerboundPackets["INTERACT"] = 19] = "INTERACT";
39
+ PlayServerboundPackets[PlayServerboundPackets["KEEP_ALIVE"] = 24] = "KEEP_ALIVE";
40
+ PlayServerboundPackets[PlayServerboundPackets["SET_PLAYER_POSITION"] = 26] = "SET_PLAYER_POSITION";
41
+ PlayServerboundPackets[PlayServerboundPackets["SET_PLAYER_POSITION_AND_ROTATION"] = 27] = "SET_PLAYER_POSITION_AND_ROTATION";
42
+ PlayServerboundPackets[PlayServerboundPackets["SET_PLAYER_ROTATION"] = 28] = "SET_PLAYER_ROTATION";
43
+ PlayServerboundPackets[PlayServerboundPackets["SET_PLAYER_ON_GROUND"] = 29] = "SET_PLAYER_ON_GROUND";
44
+ PlayServerboundPackets[PlayServerboundPackets["PLAYER_ACTION"] = 36] = "PLAYER_ACTION";
45
+ PlayServerboundPackets[PlayServerboundPackets["PLAYER_COMMAND"] = 37] = "PLAYER_COMMAND";
46
+ PlayServerboundPackets[PlayServerboundPackets["SET_HELD_ITEM"] = 47] = "SET_HELD_ITEM";
47
+ PlayServerboundPackets[PlayServerboundPackets["SET_CREATIVE_MODE_SLOT"] = 50] = "SET_CREATIVE_MODE_SLOT";
48
+ PlayServerboundPackets[PlayServerboundPackets["SWING_ARM"] = 54] = "SWING_ARM";
49
+ PlayServerboundPackets[PlayServerboundPackets["USE_ITEM_ON"] = 56] = "USE_ITEM_ON";
50
+ PlayServerboundPackets[PlayServerboundPackets["USE_ITEM"] = 57] = "USE_ITEM";
51
+ })(PlayServerboundPackets || (exports.PlayServerboundPackets = PlayServerboundPackets = {}));
52
+ // ─── Play Clientbound Packet IDs (Server → Client) ─────
53
+ var PlayClientboundPackets;
54
+ (function (PlayClientboundPackets) {
55
+ PlayClientboundPackets[PlayClientboundPackets["BUNDLE_DELIMITER"] = 0] = "BUNDLE_DELIMITER";
56
+ PlayClientboundPackets[PlayClientboundPackets["SPAWN_ENTITY"] = 1] = "SPAWN_ENTITY";
57
+ PlayClientboundPackets[PlayClientboundPackets["BLOCK_UPDATE"] = 9] = "BLOCK_UPDATE";
58
+ PlayClientboundPackets[PlayClientboundPackets["DISCONNECT"] = 29] = "DISCONNECT";
59
+ PlayClientboundPackets[PlayClientboundPackets["GAME_EVENT"] = 34] = "GAME_EVENT";
60
+ PlayClientboundPackets[PlayClientboundPackets["KEEP_ALIVE"] = 39] = "KEEP_ALIVE";
61
+ PlayClientboundPackets[PlayClientboundPackets["CHUNK_DATA"] = 40] = "CHUNK_DATA";
62
+ PlayClientboundPackets[PlayClientboundPackets["LOGIN"] = 44] = "LOGIN";
63
+ PlayClientboundPackets[PlayClientboundPackets["PLAYER_INFO_UPDATE"] = 64] = "PLAYER_INFO_UPDATE";
64
+ PlayClientboundPackets[PlayClientboundPackets["PLAYER_POSITION"] = 66] = "PLAYER_POSITION";
65
+ PlayClientboundPackets[PlayClientboundPackets["REMOVE_ENTITIES"] = 68] = "REMOVE_ENTITIES";
66
+ PlayClientboundPackets[PlayClientboundPackets["SET_DEFAULT_SPAWN_POSITION"] = 86] = "SET_DEFAULT_SPAWN_POSITION";
67
+ PlayClientboundPackets[PlayClientboundPackets["SET_ENTITY_METADATA"] = 88] = "SET_ENTITY_METADATA";
68
+ PlayClientboundPackets[PlayClientboundPackets["SET_ENTITY_VELOCITY"] = 90] = "SET_ENTITY_VELOCITY";
69
+ PlayClientboundPackets[PlayClientboundPackets["SET_HEALTH"] = 91] = "SET_HEALTH";
70
+ PlayClientboundPackets[PlayClientboundPackets["PLAYER_ABILITIES"] = 58] = "PLAYER_ABILITIES";
71
+ PlayClientboundPackets[PlayClientboundPackets["UPDATE_TIME"] = 100] = "UPDATE_TIME";
72
+ PlayClientboundPackets[PlayClientboundPackets["SYSTEM_CHAT"] = 115] = "SYSTEM_CHAT";
73
+ })(PlayClientboundPackets || (exports.PlayClientboundPackets = PlayClientboundPackets = {}));
74
+ // ─── Serverbound Builders ───────────────────────────────
75
+ /**
76
+ * Keep Alive — must respond to server keep alive within 30s or get kicked.
77
+ */
78
+ function buildKeepAlivePacket(keepAliveId) {
79
+ const writer = new types_js_1.BufferWriter();
80
+ writer.writeLong(keepAliveId);
81
+ return writer.toBuffer();
82
+ }
83
+ /**
84
+ * Chat Message (unsigned).
85
+ */
86
+ function buildChatMessagePacket(message) {
87
+ const writer = new types_js_1.BufferWriter();
88
+ writer.writeString(message);
89
+ writer.writeLong(BigInt(Date.now())); // Timestamp
90
+ writer.writeLong(0n); // Salt
91
+ writer.writeBool(false); // Has signature
92
+ // Seen messages — empty for now
93
+ writer.writeVarInt(0); // Acknowledged count
94
+ writer.writeBytes(Buffer.alloc(0)); // Acknowledged bitset (empty for 0 count)
95
+ return writer.toBuffer();
96
+ }
97
+ /**
98
+ * Confirm Teleportation — must respond to synchronize position.
99
+ */
100
+ function buildConfirmTeleportationPacket(teleportId) {
101
+ const writer = new types_js_1.BufferWriter();
102
+ writer.writeVarInt(teleportId);
103
+ return writer.toBuffer();
104
+ }
105
+ /**
106
+ * Set Player Position.
107
+ */
108
+ function buildSetPlayerPositionPacket(x, y, z, onGround) {
109
+ const writer = new types_js_1.BufferWriter();
110
+ writer.writeDouble(x);
111
+ writer.writeDouble(y);
112
+ writer.writeDouble(z);
113
+ writer.writeBool(onGround);
114
+ return writer.toBuffer();
115
+ }
116
+ /**
117
+ * Set Player Position and Rotation.
118
+ */
119
+ function buildSetPlayerPositionAndRotationPacket(x, y, z, yaw, pitch, onGround) {
120
+ const writer = new types_js_1.BufferWriter();
121
+ writer.writeDouble(x);
122
+ writer.writeDouble(y);
123
+ writer.writeDouble(z);
124
+ writer.writeFloat(yaw);
125
+ writer.writeFloat(pitch);
126
+ writer.writeBool(onGround);
127
+ return writer.toBuffer();
128
+ }
129
+ /**
130
+ * Player Action (digging, etc.)
131
+ */
132
+ var PlayerActionStatus;
133
+ (function (PlayerActionStatus) {
134
+ PlayerActionStatus[PlayerActionStatus["STARTED_DIGGING"] = 0] = "STARTED_DIGGING";
135
+ PlayerActionStatus[PlayerActionStatus["CANCELLED_DIGGING"] = 1] = "CANCELLED_DIGGING";
136
+ PlayerActionStatus[PlayerActionStatus["FINISHED_DIGGING"] = 2] = "FINISHED_DIGGING";
137
+ PlayerActionStatus[PlayerActionStatus["DROP_ITEM_STACK"] = 3] = "DROP_ITEM_STACK";
138
+ PlayerActionStatus[PlayerActionStatus["DROP_ITEM"] = 4] = "DROP_ITEM";
139
+ PlayerActionStatus[PlayerActionStatus["SHOOT_ARROW_FINISH_EATING"] = 5] = "SHOOT_ARROW_FINISH_EATING";
140
+ PlayerActionStatus[PlayerActionStatus["SWAP_ITEM_IN_HAND"] = 6] = "SWAP_ITEM_IN_HAND";
141
+ })(PlayerActionStatus || (exports.PlayerActionStatus = PlayerActionStatus = {}));
142
+ function buildPlayerActionPacket(status, x, y, z, face, sequence) {
143
+ const writer = new types_js_1.BufferWriter();
144
+ writer.writeVarInt(status);
145
+ // Encode position as a 64-bit value
146
+ const position = encodePosition(x, y, z);
147
+ writer.writeLong(position);
148
+ writer.writeByte(face);
149
+ writer.writeVarInt(sequence);
150
+ return writer.toBuffer();
151
+ }
152
+ /**
153
+ * Swing Arm.
154
+ */
155
+ function buildSwingArmPacket(hand = 0) {
156
+ const writer = new types_js_1.BufferWriter();
157
+ writer.writeVarInt(hand); // 0 = main hand, 1 = off hand
158
+ return writer.toBuffer();
159
+ }
160
+ /**
161
+ * Set Held Item (hotbar slot).
162
+ */
163
+ function buildSetHeldItemPacket(slot) {
164
+ const writer = new types_js_1.BufferWriter();
165
+ writer.writeUShort(slot);
166
+ return writer.toBuffer();
167
+ }
168
+ /**
169
+ * Client Information — sent after login/respawn.
170
+ */
171
+ function buildClientInformationPacket(locale = 'en_US', viewDistance = 10, chatMode = 0, chatColors = true, skinParts = 0x7F, mainHand = 1) {
172
+ const writer = new types_js_1.BufferWriter();
173
+ writer.writeString(locale);
174
+ writer.writeByte(viewDistance);
175
+ writer.writeVarInt(chatMode);
176
+ writer.writeBool(chatColors);
177
+ writer.writeUByte(skinParts);
178
+ writer.writeVarInt(mainHand);
179
+ writer.writeBool(false); // Enable text filtering
180
+ writer.writeBool(true); // Allow server listing
181
+ return writer.toBuffer();
182
+ }
183
+ function parseKeepAlive(data) {
184
+ const reader = new types_js_1.BufferReader(data);
185
+ return { keepAliveId: reader.readLong() };
186
+ }
187
+ function parseLoginPlay(data) {
188
+ const reader = new types_js_1.BufferReader(data);
189
+ const entityId = reader.readInt();
190
+ const isHardcore = reader.readBool();
191
+ const dimensionCount = reader.readVarInt();
192
+ const dimensionNames = [];
193
+ for (let i = 0; i < dimensionCount; i++) {
194
+ dimensionNames.push(reader.readString());
195
+ }
196
+ const maxPlayers = reader.readVarInt();
197
+ const viewDistance = reader.readVarInt();
198
+ const simulationDistance = reader.readVarInt();
199
+ const reducedDebugInfo = reader.readBool();
200
+ const enableRespawnScreen = reader.readBool();
201
+ const doLimitedCrafting = reader.readBool();
202
+ const dimensionType = reader.readVarInt();
203
+ const dimensionName = reader.readString();
204
+ const hashedSeed = reader.readLong();
205
+ const gameMode = reader.readUByte();
206
+ const previousGameMode = reader.readByte();
207
+ const isDebug = reader.readBool();
208
+ const isFlat = reader.readBool();
209
+ // Death location (optional)
210
+ const hasDeathLocation = reader.readBool();
211
+ if (hasDeathLocation) {
212
+ reader.readString(); // death dimension name
213
+ reader.readLong(); // death location (position)
214
+ }
215
+ const portalCooldown = reader.readVarInt();
216
+ const seaLevel = reader.readVarInt();
217
+ return {
218
+ entityId, isHardcore, dimensionCount, dimensionNames,
219
+ maxPlayers, viewDistance, simulationDistance, reducedDebugInfo,
220
+ enableRespawnScreen, doLimitedCrafting, dimensionType,
221
+ dimensionName, hashedSeed, gameMode, previousGameMode,
222
+ isDebug, isFlat, portalCooldown, seaLevel,
223
+ };
224
+ }
225
+ function parsePlayerPosition(data) {
226
+ const reader = new types_js_1.BufferReader(data);
227
+ const teleportId = reader.readVarInt();
228
+ const x = reader.readDouble();
229
+ const y = reader.readDouble();
230
+ const z = reader.readDouble();
231
+ const velocityX = reader.readDouble();
232
+ const velocityY = reader.readDouble();
233
+ const velocityZ = reader.readDouble();
234
+ const yaw = reader.readFloat();
235
+ const pitch = reader.readFloat();
236
+ const flags = reader.readInt();
237
+ return { teleportId, x, y, z, velocityX, velocityY, velocityZ, yaw, pitch, flags };
238
+ }
239
+ function parseSystemChat(data) {
240
+ const reader = new types_js_1.BufferReader(data);
241
+ const content = reader.readString();
242
+ const isOverlay = reader.readBool();
243
+ return { content, isOverlay };
244
+ }
245
+ function parseSetHealth(data) {
246
+ const reader = new types_js_1.BufferReader(data);
247
+ return {
248
+ health: reader.readFloat(),
249
+ food: reader.readVarInt(),
250
+ saturation: reader.readFloat(),
251
+ };
252
+ }
253
+ function parseBlockUpdate(data) {
254
+ const reader = new types_js_1.BufferReader(data);
255
+ const positionValue = reader.readLong();
256
+ const { x, y, z } = decodePosition(positionValue);
257
+ const blockId = reader.readVarInt();
258
+ return { x, y, z, blockId };
259
+ }
260
+ function parseDisconnectPlay(data) {
261
+ const reader = new types_js_1.BufferReader(data);
262
+ return { reason: reader.readString() };
263
+ }
264
+ function parsePlayerAbilities(data) {
265
+ const reader = new types_js_1.BufferReader(data);
266
+ return {
267
+ flags: reader.readByte(),
268
+ flyingSpeed: reader.readFloat(),
269
+ walkingSpeed: reader.readFloat(),
270
+ };
271
+ }
272
+ function parseSpawnEntity(data) {
273
+ const reader = new types_js_1.BufferReader(data);
274
+ return {
275
+ entityId: reader.readVarInt(),
276
+ entityUUID: reader.readUUID(),
277
+ type: reader.readVarInt(),
278
+ x: reader.readDouble(),
279
+ y: reader.readDouble(),
280
+ z: reader.readDouble(),
281
+ pitch: reader.readByte() * (360 / 256),
282
+ yaw: reader.readByte() * (360 / 256),
283
+ headYaw: reader.readByte() * (360 / 256),
284
+ data: reader.readVarInt(),
285
+ velocityX: reader.readUShort(),
286
+ velocityY: reader.readUShort(),
287
+ velocityZ: reader.readUShort(),
288
+ };
289
+ }
290
+ // ─── Position Encoding ──────────────────────────────────
291
+ /**
292
+ * Encode x, y, z into Minecraft's packed 64-bit position format.
293
+ * x: 26 bits | z: 26 bits | y: 12 bits
294
+ */
295
+ function encodePosition(x, y, z) {
296
+ return (((BigInt(x) & 0x3ffffffn) << 38n) |
297
+ ((BigInt(z) & 0x3ffffffn) << 12n) |
298
+ (BigInt(y) & 0xfffn));
299
+ }
300
+ /**
301
+ * Decode Minecraft's packed 64-bit position format.
302
+ */
303
+ function decodePosition(val) {
304
+ let x = Number(val >> 38n);
305
+ let y = Number(val & 0xfffn);
306
+ let z = Number((val >> 12n) & 0x3ffffffn);
307
+ // Sign extend
308
+ if (x >= 0x2000000)
309
+ x -= 0x4000000;
310
+ if (y >= 0x800)
311
+ y -= 0x1000;
312
+ if (z >= 0x2000000)
313
+ z -= 0x4000000;
314
+ return { x, y, z };
315
+ }
316
+ //# sourceMappingURL=play.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"play.js","sourceRoot":"","sources":["../../../src/protocol/states/play.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,210 @@
1
+ /**
2
+ * Minecraft Protocol Data Types
3
+ *
4
+ * Based on wiki.vg protocol specification.
5
+ * Handles VarInt, VarLong, String, and other Minecraft-specific binary encodings.
6
+ */
7
+ /**
8
+ * Read a VarInt from a buffer at the given offset.
9
+ * VarInts are variable-length integers used extensively in Minecraft protocol.
10
+ * Max 5 bytes, encodes values up to 2^31.
11
+ */
12
+ export declare function readVarInt(buffer: Buffer, offset?: number): {
13
+ value: number;
14
+ bytesRead: number;
15
+ };
16
+ /**
17
+ * Write a VarInt to a Buffer.
18
+ */
19
+ export declare function writeVarInt(value: number): Buffer;
20
+ /**
21
+ * Get the byte size of a VarInt value.
22
+ */
23
+ export declare function varIntSize(value: number): number;
24
+ /**
25
+ * Read a VarLong from a buffer at the given offset.
26
+ * VarLongs encode 64-bit values, up to 10 bytes.
27
+ */
28
+ export declare function readVarLong(buffer: Buffer, offset?: number): {
29
+ value: bigint;
30
+ bytesRead: number;
31
+ };
32
+ /**
33
+ * Write a VarLong to a Buffer.
34
+ */
35
+ export declare function writeVarLong(value: bigint): Buffer;
36
+ /**
37
+ * Read a length-prefixed UTF-8 string from a buffer.
38
+ */
39
+ export declare function readString(buffer: Buffer, offset?: number): {
40
+ value: string;
41
+ bytesRead: number;
42
+ };
43
+ /**
44
+ * Write a length-prefixed UTF-8 string to a Buffer.
45
+ */
46
+ export declare function writeString(value: string): Buffer;
47
+ /**
48
+ * Read a 16-bit unsigned short from a buffer (Big Endian).
49
+ */
50
+ export declare function readUShort(buffer: Buffer, offset?: number): {
51
+ value: number;
52
+ bytesRead: number;
53
+ };
54
+ /**
55
+ * Write a 16-bit unsigned short to a Buffer (Big Endian).
56
+ */
57
+ export declare function writeUShort(value: number): Buffer;
58
+ /**
59
+ * Read a 32-bit signed integer from a buffer (Big Endian).
60
+ */
61
+ export declare function readInt(buffer: Buffer, offset?: number): {
62
+ value: number;
63
+ bytesRead: number;
64
+ };
65
+ /**
66
+ * Write a 32-bit signed integer (Big Endian).
67
+ */
68
+ export declare function writeInt(value: number): Buffer;
69
+ /**
70
+ * Read a 64-bit signed long from a buffer (Big Endian).
71
+ */
72
+ export declare function readLong(buffer: Buffer, offset?: number): {
73
+ value: bigint;
74
+ bytesRead: number;
75
+ };
76
+ /**
77
+ * Write a 64-bit signed long (Big Endian).
78
+ */
79
+ export declare function writeLong(value: bigint): Buffer;
80
+ /**
81
+ * Read a 32-bit float from a buffer (Big Endian).
82
+ */
83
+ export declare function readFloat(buffer: Buffer, offset?: number): {
84
+ value: number;
85
+ bytesRead: number;
86
+ };
87
+ /**
88
+ * Write a 32-bit float (Big Endian).
89
+ */
90
+ export declare function writeFloat(value: number): Buffer;
91
+ /**
92
+ * Read a 64-bit double from a buffer (Big Endian).
93
+ */
94
+ export declare function readDouble(buffer: Buffer, offset?: number): {
95
+ value: number;
96
+ bytesRead: number;
97
+ };
98
+ /**
99
+ * Write a 64-bit double (Big Endian).
100
+ */
101
+ export declare function writeDouble(value: number): Buffer;
102
+ /**
103
+ * Read a boolean from a buffer.
104
+ */
105
+ export declare function readBool(buffer: Buffer, offset?: number): {
106
+ value: boolean;
107
+ bytesRead: number;
108
+ };
109
+ /**
110
+ * Write a boolean to a Buffer.
111
+ */
112
+ export declare function writeBool(value: boolean): Buffer;
113
+ /**
114
+ * Read a UUID (128-bit) from a buffer.
115
+ */
116
+ export declare function readUUID(buffer: Buffer, offset?: number): {
117
+ value: string;
118
+ bytesRead: number;
119
+ };
120
+ /**
121
+ * Write a UUID string to a Buffer (128-bit).
122
+ */
123
+ export declare function writeUUID(uuid: string): Buffer;
124
+ /**
125
+ * Read a byte array prefixed with VarInt length.
126
+ */
127
+ export declare function readByteArray(buffer: Buffer, offset?: number): {
128
+ value: Buffer;
129
+ bytesRead: number;
130
+ };
131
+ /**
132
+ * Write a byte array prefixed with VarInt length.
133
+ */
134
+ export declare function writeByteArray(data: Buffer): Buffer;
135
+ /**
136
+ * Read remaining bytes from an offset to end of buffer.
137
+ */
138
+ export declare function readRestBuffer(buffer: Buffer, offset?: number): {
139
+ value: Buffer;
140
+ bytesRead: number;
141
+ };
142
+ /**
143
+ * Read a signed byte (-128 to 127).
144
+ */
145
+ export declare function readByte(buffer: Buffer, offset?: number): {
146
+ value: number;
147
+ bytesRead: number;
148
+ };
149
+ /**
150
+ * Write a signed byte.
151
+ */
152
+ export declare function writeByte(value: number): Buffer;
153
+ /**
154
+ * Read an unsigned byte (0 to 255).
155
+ */
156
+ export declare function readUByte(buffer: Buffer, offset?: number): {
157
+ value: number;
158
+ bytesRead: number;
159
+ };
160
+ /**
161
+ * Write an unsigned byte.
162
+ */
163
+ export declare function writeUByte(value: number): Buffer;
164
+ /**
165
+ * BufferReader — a stateful cursor-based reader for sequential reads.
166
+ */
167
+ export declare class BufferReader {
168
+ private buffer;
169
+ private offset;
170
+ constructor(buffer: Buffer);
171
+ get remaining(): number;
172
+ get position(): number;
173
+ readVarInt(): number;
174
+ readVarLong(): bigint;
175
+ readString(): string;
176
+ readUShort(): number;
177
+ readInt(): number;
178
+ readLong(): bigint;
179
+ readFloat(): number;
180
+ readDouble(): number;
181
+ readBool(): boolean;
182
+ readUUID(): string;
183
+ readByteArray(): Buffer;
184
+ readByte(): number;
185
+ readUByte(): number;
186
+ readBytes(count: number): Buffer;
187
+ readRestBuffer(): Buffer;
188
+ }
189
+ /**
190
+ * BufferWriter — a stateful buffer builder for sequential writes.
191
+ */
192
+ export declare class BufferWriter {
193
+ private parts;
194
+ writeVarInt(value: number): this;
195
+ writeVarLong(value: bigint): this;
196
+ writeString(value: string): this;
197
+ writeUShort(value: number): this;
198
+ writeInt(value: number): this;
199
+ writeLong(value: bigint): this;
200
+ writeFloat(value: number): this;
201
+ writeDouble(value: number): this;
202
+ writeBool(value: boolean): this;
203
+ writeUUID(uuid: string): this;
204
+ writeByteArray(data: Buffer): this;
205
+ writeByte(value: number): this;
206
+ writeUByte(value: number): this;
207
+ writeBytes(data: Buffer): this;
208
+ toBuffer(): Buffer;
209
+ }
210
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/protocol/types.ts"],"names":[],"mappings":"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"}