Skip to content

fix FakeBlockHelper chunk packet byte buffer misalignment#2834

Open
BehrRiley wants to merge 2 commits into
DenizenScript:devfrom
BehrRiley:feature/fix-26-2-fakeblocks
Open

fix FakeBlockHelper chunk packet byte buffer misalignment#2834
BehrRiley wants to merge 2 commits into
DenizenScript:devfrom
BehrRiley:feature/fix-26-2-fakeblocks

Conversation

@BehrRiley

@BehrRiley BehrRiley commented Jul 19, 2026

Copy link
Copy Markdown
Contributor

Summary

this pull request fixes a critical network protocol error and client crash introduced in the 26.2 update when utilizing fake blocks.

Problem

the experimental Vulkan rendering changes in 26.2 changed the internal byte serialization layout of chunk section data inside the packet named ClientboundLevelChunkWithLightPacket, reference: Java Edition 26.2 Release Notes. there's a new readShort() missing from fluidCount currently in the second short field they added to chunks. the v26_2 FakeBlockHelper was reading the buffer using the old layout, the PalettedContainer decoding derailed, then caused the index offset jump messing up the packet buffer; this just kicks players, or crashes the client if you do it right.

Testing

  • Tested on the latest supported patch-versions
  • Verified fake blocks now render without any array bounds exceptions, errors
    used various examples, such as:
  • showfake stone <player.cursor_on>
  • showfake grass <player.location.add[0,1,0]> duration:1s
  • showfake lava <player.location> players:<server.online_players>

A working build of my latest successful build which has no errors can be found permanently at https://files.behr.dev/file-share/denizen-1.26.2-fix.jar or built with this branch.

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.

1 participant