Replace the QuerzNBT with the BlueNBT library#153
Draft
TBlueF wants to merge 5 commits into
Draft
Conversation
granny
reviewed
May 31, 2026
Owner
granny
left a comment
There was a problem hiding this comment.
Extremely welcome change! I've been wanting to do this since I saw that you made BlueNBT 😄. From a quick glance I don't see any obvious issues with these changes. I'll add the build-pr-jar label so others can test it out!
Would also appreciate if @BillyGalbreath took a glance as well.
Co-authored-by: granny <contact@granny.dev>
BillyGalbreath
approved these changes
Jun 4, 2026
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.
This PR replaces the NBT library from Querz with BlueNBT.
BlueNBT is an NBT (de)serializer library that i wrote originally for BlueMap.
The API is heavily inspired by Gson and the implementation has a heavy focus on GC-efficiency and performance.
I mostly just was testing and playing around and was curious if it would improve Pl3xMap's render-speed.
And i think it did ^^
Very rough performance tests i did:
Minecraft: 26.1.2 Fabric
World: Hermitcraft Season 9 download
Render-Threads: 6 (CPU has 12 Cores)
-Xmx: 16G
For each test i waited until everything was idle and then ran
/map fullrender minecraft:overworld.The server ran on my PC with the IntelliJ Profiler attached.
Pl3xmap with Querz/NBT:
Duration: 52 seconds
Memory:

Memory Allocation:

Pl3xmap with BlueNBT:
Duration: 38 seconds (73%)
Memory:

Memory Allocation:

Disclaimer
I offer this change as is. It ran very nicely in the few tests i did but i have not tested this extensively or on other platforms or with other versions.
Since it replaces basically the very core of Pl3xMap's world-loading i would not be surprised if there are some issues hidden somewhere that i haven't found :D
Due to the lack of proper testing i have set this PR to be a "Draft" for now..
From my side this was just an experiment out of curiosity, so i probably won't do any more extensive testing on this.
I still want to offer it, so if you want to do more testing and potentially use it or just close and dismiss the PR is completely up to you guys :D
Happy mapping <3
Download the pl3xmap jar for this pull request: pl3xmap-153.zip