diff --git a/bukkit-helper-114-1/src/main/java/org/dynmap/bukkit/helper/v114_1/MapChunkCache114_1.java b/bukkit-helper-114-1/src/main/java/org/dynmap/bukkit/helper/v114_1/MapChunkCache114_1.java index 54997319..cda93185 100644 --- a/bukkit-helper-114-1/src/main/java/org/dynmap/bukkit/helper/v114_1/MapChunkCache114_1.java +++ b/bukkit-helper-114-1/src/main/java/org/dynmap/bukkit/helper/v114_1/MapChunkCache114_1.java @@ -196,7 +196,8 @@ public class MapChunkCache114_1 extends AbstractMapChunkCache { palette[pi] = DynmapBlockState.AIR; } } - int bitsperblock = (statelist.length * 64) / 4096; + int recsperblock = (4096 + statelist.length - 1) / statelist.length; + int bitsperblock = 64 / recsperblock; DataBits db = new DataBits(bitsperblock, 4096, statelist); if (bitsperblock > 8) { // Not palette for (int j = 0; j < 4096; j++) { diff --git a/bukkit-helper-115/src/main/java/org/dynmap/bukkit/helper/v115/MapChunkCache115.java b/bukkit-helper-115/src/main/java/org/dynmap/bukkit/helper/v115/MapChunkCache115.java index 326287ce..636d6db1 100644 --- a/bukkit-helper-115/src/main/java/org/dynmap/bukkit/helper/v115/MapChunkCache115.java +++ b/bukkit-helper-115/src/main/java/org/dynmap/bukkit/helper/v115/MapChunkCache115.java @@ -208,7 +208,8 @@ public class MapChunkCache115 extends AbstractMapChunkCache { palette[pi] = DynmapBlockState.AIR; } } - int bitsperblock = (statelist.length * 64) / 4096; + int recsperblock = (4096 + statelist.length - 1) / statelist.length; + int bitsperblock = 64 / recsperblock; DataBits db = new DataBits(bitsperblock, 4096, statelist); if (bitsperblock > 8) { // Not palette for (int j = 0; j < 4096; j++) { diff --git a/bukkit-helper-116/src/main/java/org/dynmap/bukkit/helper/v116/MapChunkCache115.java b/bukkit-helper-116/src/main/java/org/dynmap/bukkit/helper/v116/MapChunkCache115.java index 418320fb..c82c7fa8 100644 --- a/bukkit-helper-116/src/main/java/org/dynmap/bukkit/helper/v116/MapChunkCache115.java +++ b/bukkit-helper-116/src/main/java/org/dynmap/bukkit/helper/v116/MapChunkCache115.java @@ -207,8 +207,10 @@ public class MapChunkCache115 extends AbstractMapChunkCache { if (palette[pi] == null) { palette[pi] = DynmapBlockState.AIR; } - } - int bitsperblock = (statelist.length * 64) / 4096; + } + int recsperblock = (4096 + statelist.length - 1) / statelist.length; + int bitsperblock = 64 / recsperblock; + DataBits db = new DataBits(bitsperblock, 4096, statelist); if (bitsperblock > 8) { // Not palette for (int j = 0; j < 4096; j++) { diff --git a/forge-1.13.2/src/main/java/org/dynmap/forge_1_13_2/ChunkSnapshot.java b/forge-1.13.2/src/main/java/org/dynmap/forge_1_13_2/ChunkSnapshot.java index e85cc2b7..810b0f99 100644 --- a/forge-1.13.2/src/main/java/org/dynmap/forge_1_13_2/ChunkSnapshot.java +++ b/forge-1.13.2/src/main/java/org/dynmap/forge_1_13_2/ChunkSnapshot.java @@ -178,7 +178,8 @@ public class ChunkSnapshot palette[pi] = DynmapBlockState.AIR; } } - int bitsperblock = (statelist.length * 64) / 4096; + int recsperblock = (4096 + statelist.length - 1) / statelist.length; + int bitsperblock = 64 / recsperblock; BitArray db = new BitArray(bitsperblock, 4096, statelist); if (bitsperblock > 8) { // Not palette for (int j = 0; j < 4096; j++) { diff --git a/forge-1.14.4/src/main/java/org/dynmap/forge_1_14_4/ChunkSnapshot.java b/forge-1.14.4/src/main/java/org/dynmap/forge_1_14_4/ChunkSnapshot.java index d07a7a7f..b5144369 100644 --- a/forge-1.14.4/src/main/java/org/dynmap/forge_1_14_4/ChunkSnapshot.java +++ b/forge-1.14.4/src/main/java/org/dynmap/forge_1_14_4/ChunkSnapshot.java @@ -178,7 +178,8 @@ public class ChunkSnapshot palette[pi] = DynmapBlockState.AIR; } } - int bitsperblock = (statelist.length * 64) / 4096; + int recsperblock = (4096 + statelist.length - 1) / statelist.length; + int bitsperblock = 64 / recsperblock; BitArray db = new BitArray(bitsperblock, 4096, statelist); if (bitsperblock > 8) { // Not palette for (int j = 0; j < 4096; j++) { diff --git a/forge-1.15.2/src/main/java/org/dynmap/forge_1_15_2/ChunkSnapshot.java b/forge-1.15.2/src/main/java/org/dynmap/forge_1_15_2/ChunkSnapshot.java index 4ff4e0c2..c379e3f7 100644 --- a/forge-1.15.2/src/main/java/org/dynmap/forge_1_15_2/ChunkSnapshot.java +++ b/forge-1.15.2/src/main/java/org/dynmap/forge_1_15_2/ChunkSnapshot.java @@ -178,7 +178,8 @@ public class ChunkSnapshot palette[pi] = DynmapBlockState.AIR; } } - int bitsperblock = (statelist.length * 64) / 4096; + int recsperblock = (4096 + statelist.length - 1) / statelist.length; + int bitsperblock = 64 / recsperblock; BitArray db = new BitArray(bitsperblock, 4096, statelist); if (bitsperblock > 8) { // Not palette for (int j = 0; j < 4096; j++) { diff --git a/newblocks b/newblocks new file mode 100644 index 00000000..27a81ccd --- /dev/null +++ b/newblocks @@ -0,0 +1,116 @@ +minecraft:nether_gold_ore +minecraft:soul_fire +minecraft:soul_soil +minecraft:basalt +minecraft:polished_basalt +minecraft:soul_torch +minecraft:soul_wall_torch +minecraft:chain +minecraft:white_banner +minecraft:orange_banner +minecraft:magenta_banner +minecraft:light_blue_banner +minecraft:yellow_banner +minecraft:lime_banner +minecraft:pink_banner +minecraft:gray_banner +minecraft:light_gray_banner +minecraft:cyan_banner +minecraft:purple_banner +minecraft:blue_banner +minecraft:brown_banner +minecraft:green_banner +minecraft:red_banner +minecraft:black_banner +minecraft:white_wall_banner +minecraft:orange_wall_banner +minecraft:magenta_wall_banner +minecraft:light_blue_wall_banner +minecraft:yellow_wall_banner +minecraft:lime_wall_banner +minecraft:pink_wall_banner +minecraft:gray_wall_banner +minecraft:light_gray_wall_banner +minecraft:cyan_wall_banner +minecraft:purple_wall_banner +minecraft:blue_wall_banner +minecraft:brown_wall_banner +minecraft:green_wall_banner +minecraft:red_wall_banner +minecraft:black_wall_banner +minecraft:soul_lantern +minecraft:soul_campfire +minecraft:warped_stem +minecraft:stripped_warped_stem +minecraft:warped_hyphae +minecraft:stripped_warped_hyphae +minecraft:warped_nylium +minecraft:warped_fungus +minecraft:warped_wart_block +minecraft:warped_roots +minecraft:nether_sprouts +minecraft:crimson_stem +minecraft:stripped_crimson_stem +minecraft:crimson_hyphae +minecraft:stripped_crimson_hyphae +minecraft:crimson_nylium +minecraft:crimson_fungus +minecraft:shroomlight +minecraft:weeping_vines +minecraft:weeping_vines_plant +minecraft:twisting_vines +minecraft:twisting_vines_plant +minecraft:crimson_roots +minecraft:crimson_planks +minecraft:warped_planks +minecraft:crimson_slab +minecraft:warped_slab +minecraft:crimson_pressure_plate +minecraft:warped_pressure_plate +minecraft:crimson_fence +minecraft:warped_fence +minecraft:crimson_trapdoor +minecraft:warped_trapdoor +minecraft:crimson_fence_gate +minecraft:warped_fence_gate +minecraft:crimson_stairs +minecraft:warped_stairs +minecraft:crimson_button +minecraft:warped_button +minecraft:crimson_door +minecraft:warped_door +minecraft:crimson_sign +minecraft:warped_sign +minecraft:crimson_wall_sign +minecraft:warped_wall_sign +minecraft:target +minecraft:netherite_block +minecraft:ancient_debris +minecraft:crying_obsidian +minecraft:respawn_anchor +minecraft:potted_crimson_fungus +minecraft:potted_warped_fungus +minecraft:potted_crimson_roots +minecraft:potted_warped_roots +minecraft:lodestone +minecraft:blackstone +minecraft:blackstone_stairs +minecraft:blackstone_wall +minecraft:blackstone_slab +minecraft:polished_blackstone +minecraft:polished_blackstone_bricks +minecraft:cracked_polished_blackstone_bricks +minecraft:chiseled_polished_blackstone +minecraft:polished_blackstone_brick_slab +minecraft:polished_blackstone_brick_stairs +minecraft:polished_blackstone_brick_wall +minecraft:gilded_blackstone +minecraft:polished_blackstone_stairs +minecraft:polished_blackstone_slab +minecraft:polished_blackstone_pressure_plate +minecraft:polished_blackstone_button +minecraft:polished_blackstone_wall +minecraft:chiseled_nether_bricks +minecraft:cracked_nether_bricks +minecraft:quartz_bricks +