specprotocol 1.2.0 → 1.4.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.
@@ -7,7 +7,7 @@
7
7
  * and provide raw packet access for the rest.
8
8
  */
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.PlayerActionStatus = exports.PlayClientboundPackets = exports.PlayServerboundPackets = void 0;
10
+ exports.GameEventType = exports.ResourcePackStatus = exports.ClickContainerMode = exports.InteractEntityType = exports.ClientStatusAction = exports.PlayerCommandAction = exports.PlayerActionStatus = exports.PlayClientboundPackets = exports.PlayServerboundPackets = void 0;
11
11
  exports.buildKeepAlivePacket = buildKeepAlivePacket;
12
12
  exports.buildChatMessagePacket = buildChatMessagePacket;
13
13
  exports.buildConfirmTeleportationPacket = buildConfirmTeleportationPacket;
@@ -26,6 +26,35 @@ exports.parseBlockUpdate = parseBlockUpdate;
26
26
  exports.parseDisconnectPlay = parseDisconnectPlay;
27
27
  exports.parsePlayerAbilities = parsePlayerAbilities;
28
28
  exports.parseSpawnEntity = parseSpawnEntity;
29
+ exports.buildPlayerCommandPacket = buildPlayerCommandPacket;
30
+ exports.buildChatCommandPacket = buildChatCommandPacket;
31
+ exports.buildClientStatusPacket = buildClientStatusPacket;
32
+ exports.buildUseItemOnPacket = buildUseItemOnPacket;
33
+ exports.buildUseItemPacket = buildUseItemPacket;
34
+ exports.buildInteractEntityPacket = buildInteractEntityPacket;
35
+ exports.buildPlayerAbilitiesServerboundPacket = buildPlayerAbilitiesServerboundPacket;
36
+ exports.buildCloseContainerPacket = buildCloseContainerPacket;
37
+ exports.buildClickContainerPacket = buildClickContainerPacket;
38
+ exports.buildSetCreativeModeSlotPacket = buildSetCreativeModeSlotPacket;
39
+ exports.buildPluginMessagePacket = buildPluginMessagePacket;
40
+ exports.buildResourcePackResponsePacket = buildResourcePackResponsePacket;
41
+ exports.buildSetPlayerRotationPacket = buildSetPlayerRotationPacket;
42
+ exports.buildSetPlayerOnGroundPacket = buildSetPlayerOnGroundPacket;
43
+ exports.buildPongPacket = buildPongPacket;
44
+ exports.parseEntityPosition = parseEntityPosition;
45
+ exports.parseEntityPositionAndRotation = parseEntityPositionAndRotation;
46
+ exports.parseEntityVelocity = parseEntityVelocity;
47
+ exports.parseEntityHeadRotation = parseEntityHeadRotation;
48
+ exports.parseGameEvent = parseGameEvent;
49
+ exports.parseRespawn = parseRespawn;
50
+ exports.parseSetExperience = parseSetExperience;
51
+ exports.parseUpdateTime = parseUpdateTime;
52
+ exports.parseOpenScreen = parseOpenScreen;
53
+ exports.parseSetContainerContent = parseSetContainerContent;
54
+ exports.parseSetContainerSlot = parseSetContainerSlot;
55
+ exports.parseRemoveEntities = parseRemoveEntities;
56
+ exports.parseSetDefaultSpawnPosition = parseSetDefaultSpawnPosition;
57
+ exports.parseAcknowledgeBlockChange = parseAcknowledgeBlockChange;
29
58
  exports.encodePosition = encodePosition;
30
59
  exports.decodePosition = decodePosition;
31
60
  const types_js_1 = require("../types.js");
@@ -33,43 +62,76 @@ const types_js_1 = require("../types.js");
33
62
  var PlayServerboundPackets;
34
63
  (function (PlayServerboundPackets) {
35
64
  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";
65
+ PlayServerboundPackets[PlayServerboundPackets["CHAT_COMMAND"] = 5] = "CHAT_COMMAND";
66
+ PlayServerboundPackets[PlayServerboundPackets["CHAT_MESSAGE"] = 7] = "CHAT_MESSAGE";
67
+ PlayServerboundPackets[PlayServerboundPackets["CHUNK_BATCH_RECEIVED"] = 9] = "CHUNK_BATCH_RECEIVED";
68
+ PlayServerboundPackets[PlayServerboundPackets["CLIENT_STATUS"] = 10] = "CLIENT_STATUS";
69
+ PlayServerboundPackets[PlayServerboundPackets["CLIENT_INFORMATION"] = 12] = "CLIENT_INFORMATION";
70
+ PlayServerboundPackets[PlayServerboundPackets["CLOSE_CONTAINER"] = 17] = "CLOSE_CONTAINER";
71
+ PlayServerboundPackets[PlayServerboundPackets["CLICK_CONTAINER"] = 16] = "CLICK_CONTAINER";
72
+ PlayServerboundPackets[PlayServerboundPackets["INTERACT"] = 24] = "INTERACT";
73
+ PlayServerboundPackets[PlayServerboundPackets["KEEP_ALIVE"] = 26] = "KEEP_ALIVE";
74
+ PlayServerboundPackets[PlayServerboundPackets["SET_PLAYER_POSITION"] = 28] = "SET_PLAYER_POSITION";
75
+ PlayServerboundPackets[PlayServerboundPackets["SET_PLAYER_POSITION_AND_ROTATION"] = 29] = "SET_PLAYER_POSITION_AND_ROTATION";
76
+ PlayServerboundPackets[PlayServerboundPackets["SET_PLAYER_ROTATION"] = 30] = "SET_PLAYER_ROTATION";
77
+ PlayServerboundPackets[PlayServerboundPackets["SET_PLAYER_ON_GROUND"] = 31] = "SET_PLAYER_ON_GROUND";
78
+ PlayServerboundPackets[PlayServerboundPackets["PLAYER_ABILITIES"] = 38] = "PLAYER_ABILITIES";
79
+ PlayServerboundPackets[PlayServerboundPackets["PLAYER_ACTION"] = 39] = "PLAYER_ACTION";
80
+ PlayServerboundPackets[PlayServerboundPackets["PLAYER_COMMAND"] = 40] = "PLAYER_COMMAND";
81
+ PlayServerboundPackets[PlayServerboundPackets["PLUGIN_MESSAGE"] = 20] = "PLUGIN_MESSAGE";
82
+ PlayServerboundPackets[PlayServerboundPackets["PONG"] = 43] = "PONG";
83
+ PlayServerboundPackets[PlayServerboundPackets["RESOURCE_PACK_RESPONSE"] = 47] = "RESOURCE_PACK_RESPONSE";
84
+ PlayServerboundPackets[PlayServerboundPackets["SET_HELD_ITEM"] = 51] = "SET_HELD_ITEM";
85
+ PlayServerboundPackets[PlayServerboundPackets["SET_CREATIVE_MODE_SLOT"] = 54] = "SET_CREATIVE_MODE_SLOT";
86
+ PlayServerboundPackets[PlayServerboundPackets["SWING_ARM"] = 58] = "SWING_ARM";
87
+ PlayServerboundPackets[PlayServerboundPackets["USE_ITEM_ON"] = 60] = "USE_ITEM_ON";
88
+ PlayServerboundPackets[PlayServerboundPackets["USE_ITEM"] = 61] = "USE_ITEM";
51
89
  })(PlayServerboundPackets || (exports.PlayServerboundPackets = PlayServerboundPackets = {}));
52
90
  // ─── Play Clientbound Packet IDs (Server → Client) ─────
53
91
  var PlayClientboundPackets;
54
92
  (function (PlayClientboundPackets) {
55
93
  PlayClientboundPackets[PlayClientboundPackets["BUNDLE_DELIMITER"] = 0] = "BUNDLE_DELIMITER";
56
94
  PlayClientboundPackets[PlayClientboundPackets["SPAWN_ENTITY"] = 1] = "SPAWN_ENTITY";
95
+ PlayClientboundPackets[PlayClientboundPackets["ENTITY_ANIMATION"] = 3] = "ENTITY_ANIMATION";
96
+ PlayClientboundPackets[PlayClientboundPackets["ACKNOWLEDGE_BLOCK_CHANGE"] = 5] = "ACKNOWLEDGE_BLOCK_CHANGE";
57
97
  PlayClientboundPackets[PlayClientboundPackets["BLOCK_UPDATE"] = 9] = "BLOCK_UPDATE";
98
+ PlayClientboundPackets[PlayClientboundPackets["BOSS_BAR"] = 10] = "BOSS_BAR";
99
+ PlayClientboundPackets[PlayClientboundPackets["CHUNK_BATCH_START"] = 12] = "CHUNK_BATCH_START";
100
+ PlayClientboundPackets[PlayClientboundPackets["CHUNK_BATCH_FINISHED"] = 13] = "CHUNK_BATCH_FINISHED";
101
+ PlayClientboundPackets[PlayClientboundPackets["CONTAINER_CLOSE"] = 14] = "CONTAINER_CLOSE";
102
+ PlayClientboundPackets[PlayClientboundPackets["SET_CONTAINER_CONTENT"] = 19] = "SET_CONTAINER_CONTENT";
103
+ PlayClientboundPackets[PlayClientboundPackets["SET_CONTAINER_SLOT"] = 21] = "SET_CONTAINER_SLOT";
104
+ PlayClientboundPackets[PlayClientboundPackets["PLUGIN_MESSAGE"] = 25] = "PLUGIN_MESSAGE";
58
105
  PlayClientboundPackets[PlayClientboundPackets["DISCONNECT"] = 29] = "DISCONNECT";
106
+ PlayClientboundPackets[PlayClientboundPackets["ENTITY_EVENT"] = 31] = "ENTITY_EVENT";
107
+ PlayClientboundPackets[PlayClientboundPackets["UNLOAD_CHUNK"] = 33] = "UNLOAD_CHUNK";
59
108
  PlayClientboundPackets[PlayClientboundPackets["GAME_EVENT"] = 34] = "GAME_EVENT";
109
+ PlayClientboundPackets[PlayClientboundPackets["OPEN_SCREEN"] = 53] = "OPEN_SCREEN";
110
+ PlayClientboundPackets[PlayClientboundPackets["SET_ENTITY_LINK"] = 87] = "SET_ENTITY_LINK";
60
111
  PlayClientboundPackets[PlayClientboundPackets["KEEP_ALIVE"] = 39] = "KEEP_ALIVE";
61
112
  PlayClientboundPackets[PlayClientboundPackets["CHUNK_DATA"] = 40] = "CHUNK_DATA";
113
+ PlayClientboundPackets[PlayClientboundPackets["ENTITY_POSITION"] = 48] = "ENTITY_POSITION";
114
+ PlayClientboundPackets[PlayClientboundPackets["ENTITY_POSITION_AND_ROTATION"] = 49] = "ENTITY_POSITION_AND_ROTATION";
115
+ PlayClientboundPackets[PlayClientboundPackets["ENTITY_ROTATION"] = 50] = "ENTITY_ROTATION";
62
116
  PlayClientboundPackets[PlayClientboundPackets["LOGIN"] = 44] = "LOGIN";
117
+ PlayClientboundPackets[PlayClientboundPackets["PING"] = 56] = "PING";
118
+ PlayClientboundPackets[PlayClientboundPackets["PLAYER_ABILITIES"] = 58] = "PLAYER_ABILITIES";
63
119
  PlayClientboundPackets[PlayClientboundPackets["PLAYER_INFO_UPDATE"] = 64] = "PLAYER_INFO_UPDATE";
64
120
  PlayClientboundPackets[PlayClientboundPackets["PLAYER_POSITION"] = 66] = "PLAYER_POSITION";
65
121
  PlayClientboundPackets[PlayClientboundPackets["REMOVE_ENTITIES"] = 68] = "REMOVE_ENTITIES";
122
+ PlayClientboundPackets[PlayClientboundPackets["ENTITY_HEAD_ROTATION"] = 72] = "ENTITY_HEAD_ROTATION";
123
+ PlayClientboundPackets[PlayClientboundPackets["RESPAWN"] = 75] = "RESPAWN";
66
124
  PlayClientboundPackets[PlayClientboundPackets["SET_DEFAULT_SPAWN_POSITION"] = 86] = "SET_DEFAULT_SPAWN_POSITION";
67
125
  PlayClientboundPackets[PlayClientboundPackets["SET_ENTITY_METADATA"] = 88] = "SET_ENTITY_METADATA";
68
126
  PlayClientboundPackets[PlayClientboundPackets["SET_ENTITY_VELOCITY"] = 90] = "SET_ENTITY_VELOCITY";
69
127
  PlayClientboundPackets[PlayClientboundPackets["SET_HEALTH"] = 91] = "SET_HEALTH";
70
- PlayClientboundPackets[PlayClientboundPackets["PLAYER_ABILITIES"] = 58] = "PLAYER_ABILITIES";
128
+ PlayClientboundPackets[PlayClientboundPackets["SET_EXPERIENCE"] = 94] = "SET_EXPERIENCE";
71
129
  PlayClientboundPackets[PlayClientboundPackets["UPDATE_TIME"] = 100] = "UPDATE_TIME";
130
+ PlayClientboundPackets[PlayClientboundPackets["SOUND_EFFECT"] = 104] = "SOUND_EFFECT";
72
131
  PlayClientboundPackets[PlayClientboundPackets["SYSTEM_CHAT"] = 115] = "SYSTEM_CHAT";
132
+ PlayClientboundPackets[PlayClientboundPackets["SET_SUBTITLE_TEXT"] = 99] = "SET_SUBTITLE_TEXT";
133
+ PlayClientboundPackets[PlayClientboundPackets["SET_TITLE_TEXT"] = 101] = "SET_TITLE_TEXT";
134
+ PlayClientboundPackets[PlayClientboundPackets["SET_TITLE_ANIMATION_TIMES"] = 102] = "SET_TITLE_ANIMATION_TIMES";
73
135
  })(PlayClientboundPackets || (exports.PlayClientboundPackets = PlayClientboundPackets = {}));
74
136
  // ─── Serverbound Builders ───────────────────────────────
75
137
  /**
@@ -88,10 +150,9 @@ function buildChatMessagePacket(message) {
88
150
  writer.writeString(message);
89
151
  writer.writeLong(BigInt(Date.now())); // Timestamp
90
152
  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)
153
+ writer.writeBool(false); // Has signature (none)
154
+ writer.writeVarInt(0); // Offset (last seen message count)
155
+ writer.writeBytes(Buffer.alloc(3)); // Acknowledged bitset (fixed 3 bytes)
95
156
  return writer.toBuffer();
96
157
  }
97
158
  /**
@@ -287,15 +348,372 @@ function parseSpawnEntity(data) {
287
348
  velocityZ: reader.readUShort(),
288
349
  };
289
350
  }
351
+ // ─── New Serverbound Builders ───────────────────────────
352
+ /**
353
+ * Player Command — sprint, sneak, leave bed, start/stop flying, etc.
354
+ */
355
+ var PlayerCommandAction;
356
+ (function (PlayerCommandAction) {
357
+ PlayerCommandAction[PlayerCommandAction["START_SNEAKING"] = 0] = "START_SNEAKING";
358
+ PlayerCommandAction[PlayerCommandAction["STOP_SNEAKING"] = 1] = "STOP_SNEAKING";
359
+ PlayerCommandAction[PlayerCommandAction["LEAVE_BED"] = 2] = "LEAVE_BED";
360
+ PlayerCommandAction[PlayerCommandAction["START_SPRINTING"] = 3] = "START_SPRINTING";
361
+ PlayerCommandAction[PlayerCommandAction["STOP_SPRINTING"] = 4] = "STOP_SPRINTING";
362
+ PlayerCommandAction[PlayerCommandAction["START_HORSE_JUMP"] = 5] = "START_HORSE_JUMP";
363
+ PlayerCommandAction[PlayerCommandAction["STOP_HORSE_JUMP"] = 6] = "STOP_HORSE_JUMP";
364
+ PlayerCommandAction[PlayerCommandAction["OPEN_VEHICLE_INVENTORY"] = 7] = "OPEN_VEHICLE_INVENTORY";
365
+ PlayerCommandAction[PlayerCommandAction["START_FLYING_WITH_ELYTRA"] = 8] = "START_FLYING_WITH_ELYTRA";
366
+ })(PlayerCommandAction || (exports.PlayerCommandAction = PlayerCommandAction = {}));
367
+ function buildPlayerCommandPacket(entityId, action, jumpBoost = 0) {
368
+ const writer = new types_js_1.BufferWriter();
369
+ writer.writeVarInt(entityId);
370
+ writer.writeVarInt(action);
371
+ writer.writeVarInt(jumpBoost);
372
+ return writer.toBuffer();
373
+ }
374
+ /**
375
+ * Chat Command — sends a / command (1.19+, different from chat message).
376
+ */
377
+ function buildChatCommandPacket(command) {
378
+ const writer = new types_js_1.BufferWriter();
379
+ writer.writeString(command);
380
+ return writer.toBuffer();
381
+ }
382
+ /**
383
+ * Client Status — respawn or request stats.
384
+ */
385
+ var ClientStatusAction;
386
+ (function (ClientStatusAction) {
387
+ ClientStatusAction[ClientStatusAction["PERFORM_RESPAWN"] = 0] = "PERFORM_RESPAWN";
388
+ ClientStatusAction[ClientStatusAction["REQUEST_STATS"] = 1] = "REQUEST_STATS";
389
+ })(ClientStatusAction || (exports.ClientStatusAction = ClientStatusAction = {}));
390
+ function buildClientStatusPacket(action) {
391
+ const writer = new types_js_1.BufferWriter();
392
+ writer.writeVarInt(action);
393
+ return writer.toBuffer();
394
+ }
395
+ /**
396
+ * Use Item On — place a block or interact with a block.
397
+ */
398
+ function buildUseItemOnPacket(hand, x, y, z, face, cursorX, cursorY, cursorZ, insideBlock, worldBorderHit, sequence) {
399
+ const writer = new types_js_1.BufferWriter();
400
+ writer.writeVarInt(hand); // 0 = main, 1 = off
401
+ writer.writeLong(encodePosition(x, y, z));
402
+ writer.writeVarInt(face); // 0=bottom,1=top,2=north,3=south,4=west,5=east
403
+ writer.writeFloat(cursorX);
404
+ writer.writeFloat(cursorY);
405
+ writer.writeFloat(cursorZ);
406
+ writer.writeBool(insideBlock);
407
+ writer.writeBool(worldBorderHit);
408
+ writer.writeVarInt(sequence);
409
+ return writer.toBuffer();
410
+ }
411
+ /**
412
+ * Use Item — use the item in hand (eat, throw, shoot bow, etc.).
413
+ */
414
+ function buildUseItemPacket(hand, sequence, yaw = 0, pitch = 0) {
415
+ const writer = new types_js_1.BufferWriter();
416
+ writer.writeVarInt(hand);
417
+ writer.writeVarInt(sequence);
418
+ writer.writeFloat(yaw);
419
+ writer.writeFloat(pitch);
420
+ return writer.toBuffer();
421
+ }
422
+ /**
423
+ * Interact Entity — attack or use/interact with an entity.
424
+ */
425
+ var InteractEntityType;
426
+ (function (InteractEntityType) {
427
+ InteractEntityType[InteractEntityType["INTERACT"] = 0] = "INTERACT";
428
+ InteractEntityType[InteractEntityType["ATTACK"] = 1] = "ATTACK";
429
+ InteractEntityType[InteractEntityType["INTERACT_AT"] = 2] = "INTERACT_AT";
430
+ })(InteractEntityType || (exports.InteractEntityType = InteractEntityType = {}));
431
+ function buildInteractEntityPacket(entityId, type, sneaking, targetX, targetY, targetZ, hand) {
432
+ const writer = new types_js_1.BufferWriter();
433
+ writer.writeVarInt(entityId);
434
+ writer.writeVarInt(type);
435
+ if (type === InteractEntityType.INTERACT_AT) {
436
+ writer.writeFloat(targetX ?? 0);
437
+ writer.writeFloat(targetY ?? 0);
438
+ writer.writeFloat(targetZ ?? 0);
439
+ writer.writeVarInt(hand ?? 0);
440
+ }
441
+ else if (type === InteractEntityType.INTERACT) {
442
+ writer.writeVarInt(hand ?? 0);
443
+ }
444
+ writer.writeBool(sneaking);
445
+ return writer.toBuffer();
446
+ }
447
+ /**
448
+ * Player Abilities (Serverbound) — toggle flying.
449
+ */
450
+ function buildPlayerAbilitiesServerboundPacket(flying) {
451
+ const writer = new types_js_1.BufferWriter();
452
+ writer.writeByte(flying ? 0x02 : 0x00); // 0x02 = flying flag
453
+ return writer.toBuffer();
454
+ }
455
+ /**
456
+ * Close Container — close an open container.
457
+ */
458
+ function buildCloseContainerPacket(windowId) {
459
+ const writer = new types_js_1.BufferWriter();
460
+ writer.writeUByte(windowId);
461
+ return writer.toBuffer();
462
+ }
463
+ /**
464
+ * Click Container — click a slot in a container.
465
+ */
466
+ var ClickContainerMode;
467
+ (function (ClickContainerMode) {
468
+ ClickContainerMode[ClickContainerMode["NORMAL_CLICK"] = 0] = "NORMAL_CLICK";
469
+ ClickContainerMode[ClickContainerMode["SHIFT_CLICK"] = 1] = "SHIFT_CLICK";
470
+ ClickContainerMode[ClickContainerMode["NUMBER_KEY"] = 2] = "NUMBER_KEY";
471
+ ClickContainerMode[ClickContainerMode["MIDDLE_CLICK"] = 3] = "MIDDLE_CLICK";
472
+ ClickContainerMode[ClickContainerMode["DROP"] = 4] = "DROP";
473
+ ClickContainerMode[ClickContainerMode["DRAG"] = 5] = "DRAG";
474
+ ClickContainerMode[ClickContainerMode["DOUBLE_CLICK"] = 6] = "DOUBLE_CLICK";
475
+ })(ClickContainerMode || (exports.ClickContainerMode = ClickContainerMode = {}));
476
+ function buildClickContainerPacket(windowId, stateId, slot, button, mode, changedSlots, carriedItem) {
477
+ const writer = new types_js_1.BufferWriter();
478
+ writer.writeUByte(windowId);
479
+ writer.writeVarInt(stateId);
480
+ writer.writeShort(slot);
481
+ writer.writeByte(button);
482
+ writer.writeVarInt(mode);
483
+ // Changed slots
484
+ writer.writeVarInt(changedSlots.length);
485
+ for (const s of changedSlots) {
486
+ writer.writeShort(s.slot);
487
+ writer.writeBytes(s.data);
488
+ }
489
+ writer.writeBytes(carriedItem);
490
+ return writer.toBuffer();
491
+ }
492
+ /**
493
+ * Set Creative Mode Slot — set a slot in creative mode inventory.
494
+ */
495
+ function buildSetCreativeModeSlotPacket(slot, itemData) {
496
+ const writer = new types_js_1.BufferWriter();
497
+ writer.writeShort(slot);
498
+ writer.writeBytes(itemData);
499
+ return writer.toBuffer();
500
+ }
501
+ /**
502
+ * Plugin Message (Play) — send a plugin channel message.
503
+ */
504
+ function buildPluginMessagePacket(channel, data) {
505
+ const writer = new types_js_1.BufferWriter();
506
+ writer.writeString(channel);
507
+ writer.writeBytes(data);
508
+ return writer.toBuffer();
509
+ }
510
+ /**
511
+ * Resource Pack Response.
512
+ */
513
+ var ResourcePackStatus;
514
+ (function (ResourcePackStatus) {
515
+ ResourcePackStatus[ResourcePackStatus["SUCCESSFULLY_LOADED"] = 0] = "SUCCESSFULLY_LOADED";
516
+ ResourcePackStatus[ResourcePackStatus["DECLINED"] = 1] = "DECLINED";
517
+ ResourcePackStatus[ResourcePackStatus["FAILED_DOWNLOAD"] = 2] = "FAILED_DOWNLOAD";
518
+ ResourcePackStatus[ResourcePackStatus["ACCEPTED"] = 3] = "ACCEPTED";
519
+ })(ResourcePackStatus || (exports.ResourcePackStatus = ResourcePackStatus = {}));
520
+ function buildResourcePackResponsePacket(uuid, status) {
521
+ const writer = new types_js_1.BufferWriter();
522
+ writer.writeUUID(uuid);
523
+ writer.writeVarInt(status);
524
+ return writer.toBuffer();
525
+ }
526
+ /**
527
+ * Set Player Rotation only.
528
+ */
529
+ function buildSetPlayerRotationPacket(yaw, pitch, onGround) {
530
+ const writer = new types_js_1.BufferWriter();
531
+ writer.writeFloat(yaw);
532
+ writer.writeFloat(pitch);
533
+ writer.writeBool(onGround);
534
+ return writer.toBuffer();
535
+ }
536
+ /**
537
+ * Set Player On Ground only.
538
+ */
539
+ function buildSetPlayerOnGroundPacket(onGround) {
540
+ const writer = new types_js_1.BufferWriter();
541
+ writer.writeBool(onGround);
542
+ return writer.toBuffer();
543
+ }
544
+ /**
545
+ * Pong — response to server Ping.
546
+ */
547
+ function buildPongPacket(id) {
548
+ const writer = new types_js_1.BufferWriter();
549
+ writer.writeInt(id);
550
+ return writer.toBuffer();
551
+ }
552
+ function parseEntityPosition(data) {
553
+ const reader = new types_js_1.BufferReader(data);
554
+ return {
555
+ entityId: reader.readVarInt(),
556
+ deltaX: reader.readShort() / 4096,
557
+ deltaY: reader.readShort() / 4096,
558
+ deltaZ: reader.readShort() / 4096,
559
+ onGround: reader.readBool(),
560
+ };
561
+ }
562
+ function parseEntityPositionAndRotation(data) {
563
+ const reader = new types_js_1.BufferReader(data);
564
+ return {
565
+ entityId: reader.readVarInt(),
566
+ deltaX: reader.readShort() / 4096,
567
+ deltaY: reader.readShort() / 4096,
568
+ deltaZ: reader.readShort() / 4096,
569
+ yaw: reader.readByte() * (360 / 256),
570
+ pitch: reader.readByte() * (360 / 256),
571
+ onGround: reader.readBool(),
572
+ };
573
+ }
574
+ function parseEntityVelocity(data) {
575
+ const reader = new types_js_1.BufferReader(data);
576
+ return {
577
+ entityId: reader.readVarInt(),
578
+ velocityX: reader.readShort() / 8000,
579
+ velocityY: reader.readShort() / 8000,
580
+ velocityZ: reader.readShort() / 8000,
581
+ };
582
+ }
583
+ function parseEntityHeadRotation(data) {
584
+ const reader = new types_js_1.BufferReader(data);
585
+ return {
586
+ entityId: reader.readVarInt(),
587
+ headYaw: reader.readByte() * (360 / 256),
588
+ };
589
+ }
590
+ var GameEventType;
591
+ (function (GameEventType) {
592
+ GameEventType[GameEventType["NO_RESPAWN_BLOCK"] = 0] = "NO_RESPAWN_BLOCK";
593
+ GameEventType[GameEventType["BEGIN_RAINING"] = 1] = "BEGIN_RAINING";
594
+ GameEventType[GameEventType["END_RAINING"] = 2] = "END_RAINING";
595
+ GameEventType[GameEventType["CHANGE_GAME_MODE"] = 3] = "CHANGE_GAME_MODE";
596
+ GameEventType[GameEventType["WIN_GAME"] = 4] = "WIN_GAME";
597
+ GameEventType[GameEventType["DEMO_EVENT"] = 5] = "DEMO_EVENT";
598
+ GameEventType[GameEventType["ARROW_HIT_PLAYER"] = 6] = "ARROW_HIT_PLAYER";
599
+ GameEventType[GameEventType["RAIN_LEVEL_CHANGE"] = 7] = "RAIN_LEVEL_CHANGE";
600
+ GameEventType[GameEventType["THUNDER_LEVEL_CHANGE"] = 8] = "THUNDER_LEVEL_CHANGE";
601
+ GameEventType[GameEventType["PLAY_PUFFERFISH_STING"] = 9] = "PLAY_PUFFERFISH_STING";
602
+ GameEventType[GameEventType["PLAY_ELDER_GUARDIAN_APPEARANCE"] = 10] = "PLAY_ELDER_GUARDIAN_APPEARANCE";
603
+ GameEventType[GameEventType["ENABLE_RESPAWN_SCREEN"] = 11] = "ENABLE_RESPAWN_SCREEN";
604
+ GameEventType[GameEventType["LIMITED_CRAFTING"] = 12] = "LIMITED_CRAFTING";
605
+ GameEventType[GameEventType["START_WAITING_FOR_LEVEL_CHUNKS"] = 13] = "START_WAITING_FOR_LEVEL_CHUNKS";
606
+ })(GameEventType || (exports.GameEventType = GameEventType = {}));
607
+ function parseGameEvent(data) {
608
+ const reader = new types_js_1.BufferReader(data);
609
+ return {
610
+ event: reader.readUByte(),
611
+ value: reader.readFloat(),
612
+ };
613
+ }
614
+ function parseRespawn(data) {
615
+ const reader = new types_js_1.BufferReader(data);
616
+ const dimensionType = reader.readVarInt();
617
+ const dimensionName = reader.readString();
618
+ const hashedSeed = reader.readLong();
619
+ const gameMode = reader.readUByte();
620
+ const previousGameMode = reader.readByte();
621
+ const isDebug = reader.readBool();
622
+ const isFlat = reader.readBool();
623
+ // Death location (optional)
624
+ const hasDeathLocation = reader.readBool();
625
+ if (hasDeathLocation) {
626
+ reader.readString();
627
+ reader.readLong();
628
+ }
629
+ const portalCooldown = reader.readVarInt();
630
+ const seaLevel = reader.readVarInt();
631
+ const dataKept = reader.readUByte();
632
+ return {
633
+ dimensionType, dimensionName, hashedSeed, gameMode,
634
+ previousGameMode, isDebug, isFlat, dataKept,
635
+ portalCooldown, seaLevel,
636
+ };
637
+ }
638
+ function parseSetExperience(data) {
639
+ const reader = new types_js_1.BufferReader(data);
640
+ return {
641
+ experienceBar: reader.readFloat(),
642
+ level: reader.readVarInt(),
643
+ totalExperience: reader.readVarInt(),
644
+ };
645
+ }
646
+ function parseUpdateTime(data) {
647
+ const reader = new types_js_1.BufferReader(data);
648
+ return {
649
+ worldAge: reader.readLong(),
650
+ timeOfDay: reader.readLong(),
651
+ timeOfDayFixed: reader.readBool(),
652
+ };
653
+ }
654
+ function parseOpenScreen(data) {
655
+ const reader = new types_js_1.BufferReader(data);
656
+ return {
657
+ windowId: reader.readVarInt(),
658
+ windowType: reader.readVarInt(),
659
+ title: reader.readString(),
660
+ };
661
+ }
662
+ function parseSetContainerContent(data) {
663
+ const reader = new types_js_1.BufferReader(data);
664
+ const windowId = reader.readUByte();
665
+ const stateId = reader.readVarInt();
666
+ const count = reader.readVarInt();
667
+ const items = [];
668
+ // We store raw slot data — actual item parsing is left to higher-level API
669
+ for (let i = 0; i < count; i++) {
670
+ const remaining = data.subarray(reader.offset);
671
+ items.push(remaining); // Raw — caller must parse Slot format
672
+ break; // Cannot reliably parse without knowing Slot format size
673
+ }
674
+ return { windowId, stateId, items, carriedItem: Buffer.alloc(0) };
675
+ }
676
+ function parseSetContainerSlot(data) {
677
+ const reader = new types_js_1.BufferReader(data);
678
+ return {
679
+ windowId: reader.readByte(),
680
+ stateId: reader.readVarInt(),
681
+ slot: reader.readShort(),
682
+ slotData: data.subarray(reader.offset), // Raw slot data
683
+ };
684
+ }
685
+ function parseRemoveEntities(data) {
686
+ const reader = new types_js_1.BufferReader(data);
687
+ const count = reader.readVarInt();
688
+ const entityIds = [];
689
+ for (let i = 0; i < count; i++) {
690
+ entityIds.push(reader.readVarInt());
691
+ }
692
+ return { entityIds };
693
+ }
694
+ function parseSetDefaultSpawnPosition(data) {
695
+ const reader = new types_js_1.BufferReader(data);
696
+ const posVal = reader.readLong();
697
+ const { x, y, z } = decodePosition(posVal);
698
+ const angle = reader.readFloat();
699
+ return { x, y, z, angle };
700
+ }
701
+ function parseAcknowledgeBlockChange(data) {
702
+ const reader = new types_js_1.BufferReader(data);
703
+ return { sequenceId: reader.readVarInt() };
704
+ }
290
705
  // ─── Position Encoding ──────────────────────────────────
291
706
  /**
292
707
  * Encode x, y, z into Minecraft's packed 64-bit position format.
293
708
  * x: 26 bits | z: 26 bits | y: 12 bits
294
709
  */
295
710
  function encodePosition(x, y, z) {
296
- return (((BigInt(x) & 0x3ffffffn) << 38n) |
297
- ((BigInt(z) & 0x3ffffffn) << 12n) |
298
- (BigInt(y) & 0xfffn));
711
+ const bx = BigInt(Math.floor(x));
712
+ const by = BigInt(Math.floor(y));
713
+ const bz = BigInt(Math.floor(z));
714
+ return BigInt.asIntN(64, ((bx & 0x3ffffffn) << 38n) |
715
+ ((bz & 0x3ffffffn) << 12n) |
716
+ (by & 0xfffn));
299
717
  }
300
718
  /**
301
719
  * Decode Minecraft's packed 64-bit position format.
@@ -1 +1 @@
1
- {"version":3,"file":"play.js","sourceRoot":"","sources":["../../../src/protocol/states/play.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"play.js","sourceRoot":"","sources":["../../../src/protocol/states/play.ts"],"names":[],"mappings":"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"}
@@ -44,6 +44,17 @@ export declare function readString(buffer: Buffer, offset?: number): {
44
44
  * Write a length-prefixed UTF-8 string to a Buffer.
45
45
  */
46
46
  export declare function writeString(value: string): Buffer;
47
+ /**
48
+ * Read a 16-bit signed short from a buffer (Big Endian).
49
+ */
50
+ export declare function readShort(buffer: Buffer, offset?: number): {
51
+ value: number;
52
+ bytesRead: number;
53
+ };
54
+ /**
55
+ * Write a 16-bit signed short to a Buffer (Big Endian).
56
+ */
57
+ export declare function writeShort(value: number): Buffer;
47
58
  /**
48
59
  * Read a 16-bit unsigned short from a buffer (Big Endian).
49
60
  */
@@ -166,13 +177,15 @@ export declare function writeUByte(value: number): Buffer;
166
177
  */
167
178
  export declare class BufferReader {
168
179
  private buffer;
169
- private offset;
180
+ private _offset;
170
181
  constructor(buffer: Buffer);
182
+ get offset(): number;
171
183
  get remaining(): number;
172
184
  get position(): number;
173
185
  readVarInt(): number;
174
186
  readVarLong(): bigint;
175
187
  readString(): string;
188
+ readShort(): number;
176
189
  readUShort(): number;
177
190
  readInt(): number;
178
191
  readLong(): bigint;
@@ -194,6 +207,7 @@ export declare class BufferWriter {
194
207
  writeVarInt(value: number): this;
195
208
  writeVarLong(value: bigint): this;
196
209
  writeString(value: string): this;
210
+ writeShort(value: number): this;
197
211
  writeUShort(value: number): this;
198
212
  writeInt(value: number): this;
199
213
  writeLong(value: bigint): this;