From dba90a461b132f3ecbe10e86bd12bbaa691b0e76 Mon Sep 17 00:00:00 2001 From: Samuel Date: Thu, 24 Oct 2024 17:34:22 -0400 Subject: [PATCH] Fix anvil saving (minimum 4 bits per entry in block_states palette) (#2450) --- .../java/net/minestom/server/instance/anvil/AnvilLoader.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/net/minestom/server/instance/anvil/AnvilLoader.java b/src/main/java/net/minestom/server/instance/anvil/AnvilLoader.java index 7961de52c..44990bce2 100644 --- a/src/main/java/net/minestom/server/instance/anvil/AnvilLoader.java +++ b/src/main/java/net/minestom/server/instance/anvil/AnvilLoader.java @@ -464,7 +464,7 @@ public class AnvilLoader implements IChunkLoader { blockStates.put("palette", ListBinaryTag.listBinaryTag(BinaryTagTypes.COMPOUND, blockPaletteEntries)); if (blockPaletteEntries.size() > 1) { // If there is only one entry we do not need to write the packed indices - var bitsPerEntry = (int) Math.max(1, Math.ceil(Math.log(blockPaletteEntries.size()) / Math.log(2))); + var bitsPerEntry = (int) Math.max(4, Math.ceil(Math.log(blockPaletteEntries.size()) / Math.log(2))); blockStates.putLongArray("data", ArrayUtils.pack(blockIndices, bitsPerEntry)); } sectionData.put("block_states", blockStates.build());