Skip to content

Add Minecraft 26.1.2 data#1186

Open
mneuhaus wants to merge 5 commits into
PrismarineJS:masterfrom
mneuhaus:pc_26_1_2
Open

Add Minecraft 26.1.2 data#1186
mneuhaus wants to merge 5 commits into
PrismarineJS:masterfrom
mneuhaus:pc_26_1_2

Conversation

@mneuhaus
Copy link
Copy Markdown

@mneuhaus mneuhaus commented May 12, 2026

Summary

Adds Minecraft 26.1.2 data, including protocol data and generated block/item/particle/material/food/recipe data for the release.

The generated block and item data are needed for correct 26.1.2 state IDs and item IDs. This fixed downstream Mineflayer external failures around beds, furnaces, crafting, particles and other item/block assumptions.

Testing

Validated through node-minecraft-data and Mineflayer downstream checks:

  • node-minecraft-data: npm test -> 499255 OKs, 865 passing
  • mineflayer full external suite against Vanilla 26.1.2: 49 passing

Evidence summary: https://gist.github.com/mneuhaus/decaae9cd8767a651272d31cdf97ac60

Related PRs

Part of the Minecraft 26.1.2 update chain:

  1. Support nested item model references minecraft-jar-extractor#67 - nested item model extraction support
  2. Add Minecraft 26.1.2 assets minecraft-assets#48 - generated 26.1.2 assets
  3. Add Minecraft 26.1.2 assets wrapper node-minecraft-assets#52 - assets wrapper update
  4. Add Minecraft 26.1.2 data #1186 - 26.1.2 protocol/data plus generated block/item data
  5. Update wrapper data for Minecraft 26.1.2 node-minecraft-data#455 - wrapper update for the generated data
  6. Add Minecraft 26.1.2 protocol support node-minecraft-protocol#1487 - 26.1.2 protocol support/tests
  7. Support Minecraft 26.1.2 chunk fluid counts prismarine-chunk#326 - 26.1.2 chunk fluid count support
  8. Add 26.1 physics feature flags prismarine-physics#134 - 26.1 physics feature flags
  9. Update Mineflayer for Minecraft 26.1.2 mineflayer#3902 - full Mineflayer external-suite compatibility
  10. Support Minecraft 26.1.2 in prismarine-viewer prismarine-viewer#480 - 26.1.2 viewer support

The dependent PRs are opened as drafts so they can be reviewed/merged in order.

Implementation note

Prepared with assistance from GPT-5.5 and validated locally with the checks listed above.

@mneuhaus mneuhaus marked this pull request as ready for review May 12, 2026 14:53
do-tlin added a commit to do-tlin/minecraft-data that referenced this pull request May 12, 2026
…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>
@extremeheat
Copy link
Copy Markdown
Member

extremeheat commented May 15, 2026

This looks LLM generated, did you review these changes? There are several unrelated changes to the protocol and the PR to jar extractor doesn't look right as we don't use that anymore in favor of the minecraft-data-generator mod (see update doc)

Also, we have a automated scaffolded PR in #1160, this correctly runs the update script to update data paths and whatnot. Opening PR against its branch would the right step as we already have PRs in mineflayer and node-minecraft-protocol that point to it

@mneuhaus
Copy link
Copy Markdown
Author

mneuhaus commented May 15, 2026

Hey,

yes as i put into the Implementation Note at the end of all PRs i did do this with Codex (GPT 5.5), i did look over the Pull-Requests but i'm obviously not as deep into this whole codebase so i could have easily missed something.

Also did not see/know about stuff going against that PR branch, i can rework this as needed if you like.

If you don't want any LLM contrib here i can also cancel/close the Pull-Requests.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants