Skip to content

Commit b82cd57

Browse files
do-tlinclaude
andcommitted
schema(26.1.2): vendor mneuhaus PR PrismarineJS#1186 protocol.json — fix LpVec3 + use_entity
Replaces our Siigari-PR-PrismarineJS#1184-derived protocol.json with mneuhaus's PR PrismarineJS#1186 (PrismarineJS#1186, head bc0c595, opened 2026-05-12, 49 mineflayer external tests passing). ROOT CAUSE (bytecode-verified 2026-05-12): - MC 26.1.2 server-26.1.2.jar contains new class net/minecraft/network/LpVec3.class - ClientboundSetEntityMotionPacket.STREAM_CODEC <clinit>+8 reads via net/minecraft/world/phys/Vec3.LP_STREAM_CODEC → BootstrapMethods table cites LpVec3.read/write - Our prior schema mistyped packet_entity_velocity.velocity, packet_spawn_entity.velocity, and packet_use_entity.location as vec3i16 (3 × i16 = 6 bytes, notch-quantized) when wire format is actually LpVec3 (variable-length bit-packed with scale bits + continuation flag + optional VarInt extension) - Byte-coincident wire size (6 bytes minimum LpVec3) → packet parses without PartialReadError but values are garbage → mineflayer applies garbage to bot.entity.velocity → physics integration → "10× knockback catapult" symptom (bot launched 60+ blocks, dies on fall) FIX (this commit): - packet_entity_velocity.velocity: vec3i16 → lpVec3 - packet_spawn_entity.velocity: vec3i16 → lpVec3 - packet_use_entity: rewritten (entityId + hand + location: lpVec3 + usingSecondaryAction) - Many adjacent shapes updated to match upstream-canonical 26.1.2 schema - Codec (lpVec3.js) already in node-minecraft-protocol@1.66.0; no new protodef type needed Spec: docs/superpowers/specs/2026-05-12-mc26-protocol-schema-audit-design.md Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
1 parent d83789a commit b82cd57

1 file changed

Lines changed: 3171 additions & 896 deletions

File tree

0 commit comments

Comments
 (0)