Properly calculate global BPE and add initial value for data palettes #910
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 re-introduces custom global BPE (bits-per-entry) values for data palettes, however, instead of passing these directly, library users pass the size of the applying registry (block state or biome), and MCPL calculates the global BPE value necessary to store all of the values of that registry.
When creating an empty data palette, MCPL now uses a singleton palette instead of a list palette. This saves a bit of space. Library users also have to specify the initial value of the data palette, instead of this defaulting to whatever state is first set in the palette.
PaletteType.CHUNK
has also been renamed toPaletteType.BLOCK_STATE
for clarity. Related variables and parameters have also been renamed.