Merged
Conversation
into own function to be called from multiple places other compression methods will also get such functions
Owner
|
Wow.. good job! Of course they have to use a non-standard implementation of everything. |
Collaborator
Author
|
That is the (former) official Java implementation of LZ4. So not really a decision from Mojang. The code implies that nowadays you should use LZ4Frame format, but the used format is something legacy that works only for the Java version. |
uncompressed means that we can just copy the NBT data
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.
With Minecraft version 24w04a Chunks can also be compressed with LZ4 format.
Even some longer time ago it was introduced to store Chunks completely uncompressed (according Wiki since 1.15.1).
To test this feature yourself, start a new test world and edit server.properties before exploring. Chunks will then be stored according to your configuration.
This PR adds support for these storage modes:
Furthermore the rest of the code is refactored to remove all code duplication and use the same methods for all compression methods where possible.