Repository navigation
fix: update block state NBT format for 26.3 - #402
Merged
PotatoPresident merged 1 commit intoOct 4, 2026
Merged
Conversation
PotatoPresident
requested changes
Sep 29, 2026
PotatoPresident
left a comment
Member
There was a problem hiding this comment.
Could you add a description? I haven't seen any reports of it being broken, but I haven't been able to test recently
Contributor
Author
|
Sorry, I added the description. You can easily test this by placing stairs facing all four directions, destroying them, and then rolling them back. |
PotatoPresident
approved these changes
Oct 4, 2026
Pau1am
pushed a commit
to Pau1am/Ledger-Reoptimization
that referenced
this pull request
Oct 5, 2026
Purely mechanical - trailing whitespace, trailing commas, and `page-1` spacing. Needed so the branch satisfies the project's own detekt configuration; safe to skip when reviewing. The same reformatting previously rode along inside the NBT commit. That commit was dropped when this branch was rebased onto 1.3.25 (upstream fixed the NBT issue in QuiltServerTools#402), so the formatting is restored here on its own.
Pau1am
pushed a commit
to Pau1am/Ledger-Reoptimization
that referenced
this pull request
Oct 5, 2026
Upstream moved while this branch was in flight: 22705ac fix: update block state NBT format for 26.3 (QuiltServerTools#402) dd947aa Update modVersion from 1.3.24 to 1.3.25 QuiltServerTools#402 fixes exactly what this branch's own NBT commit fixed, so that commit has been dropped in the rebase and the code is now upstream's - credit belongs there. The one piece that was ours alone, a read-side fallback to the legacy "Properties" key, was also dropped: on 26.3 writeBlockState emits "properties", so the fallback could never fire and was dead code. That also removed the unrelated MessageUtils reformatting from that commit, which is now its own change. The CHANGELOG heading and comparison baseline move to 1.3.25, and the NBT entry now records that the fix is upstream's rather than implying it is ours. Verified after rebasing: builds clean, detekt passes, and a live MC 26.3 server completes a rollback -> restore round-trip with the exact block state preserved (oak_stairs[facing=west,half=top]) and zero exceptions.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Due to the new NBT format, block states are not properly tracked.
This causes the
old_block_stateandblock_statecolumns to be stored asnull, which results in rollbacks restoring blocks to the wrong state. For example, stairs would all face north.Additionally, rolling back existing data with valid
old_block_stateandblock_statevalues does not restore the blocks to the world because the old NBT format is no longer correctly interpreted.This MR updates the NBT format to match the new structure and ensures that block states are persisted and restored correctly again.