From 6232242ad10182a18e6ee26f22f2b1bafccf8477 Mon Sep 17 00:00:00 2001 From: Bixilon Date: Mon, 8 Feb 2021 13:33:34 +0100 Subject: [PATCH 1/2] update dependencies, add maven assembly plugin --- pom.xml | 38 ++++++++++++++++++++++++++++++++++++-- 1 file changed, 36 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 4a6dc8d45..11a3816fa 100644 --- a/pom.xml +++ b/pom.xml @@ -73,6 +73,35 @@ --enable-preview + + org.apache.maven.plugins + maven-assembly-plugin + 3.3.0 + + + + jar-with-dependencies + + + + + + make-assembly + package + + single + + + + + de.bixilon.minosoft.Minosoft + + + + + + + @@ -82,7 +111,7 @@ 15 15 16-ea+6 - 1.4.21 + 1.4.30 @@ -151,7 +180,7 @@ org.jline jline - 3.18.0 + 3.19.0 org.jetbrains.kotlin @@ -164,6 +193,11 @@ ${kotlin.version} test + + org.jetbrains.kotlin + kotlin-runtime + 1.2.71 + com.github.Bixilon ascii-table From 3585f73e4b2b1c5beae19614e20c2ed506e74a1c Mon Sep 17 00:00:00 2001 From: Bixilon Date: Mon, 8 Feb 2021 13:43:36 +0100 Subject: [PATCH 2/2] fix chunk reading in 1.16 --- .../java/de/bixilon/minosoft/util/ChunkUtil.java | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/src/main/java/de/bixilon/minosoft/util/ChunkUtil.java b/src/main/java/de/bixilon/minosoft/util/ChunkUtil.java index 35e32aa9a..7acbca3b4 100644 --- a/src/main/java/de/bixilon/minosoft/util/ChunkUtil.java +++ b/src/main/java/de/bixilon/minosoft/util/ChunkUtil.java @@ -160,9 +160,18 @@ public final class ChunkUtil { for (int nibbleZ = 0; nibbleZ < ProtocolDefinition.SECTION_WIDTH_Z; nibbleZ++) { for (int nibbleX = 0; nibbleX < ProtocolDefinition.SECTION_WIDTH_X; nibbleX++) { int blockNumber = (((nibbleY * ProtocolDefinition.SECTION_HEIGHT_Y) + nibbleZ) * ProtocolDefinition.SECTION_WIDTH_X) + nibbleX; - int startLong = (blockNumber * palette.getBitsPerBlock()) / 64; - int startOffset = (blockNumber * palette.getBitsPerBlock()) % 64; - int endLong = ((blockNumber + 1) * palette.getBitsPerBlock() - 1) / 64; + int startLong; + int startOffset; + int endLong; + + if (buffer.getVersionId() < V_20W49A) { // ToDo: When did this changed? is just a guess + startLong = (blockNumber * palette.getBitsPerBlock()) / 64; + startOffset = (blockNumber * palette.getBitsPerBlock()) % 64; + endLong = ((blockNumber + 1) * palette.getBitsPerBlock() - 1) / 64; + } else { + startLong = endLong = blockNumber / (64 / palette.getBitsPerBlock()); + startOffset = (blockNumber % (64 / palette.getBitsPerBlock())) * palette.getBitsPerBlock(); + } int blockId; if (startLong == endLong) {