From 19f9785981e5abde1263a927a0ae41dc149e676d Mon Sep 17 00:00:00 2001 From: DmitriyMX Date: Sun, 28 Oct 2018 21:13:58 +0300 Subject: [PATCH] =?UTF-8?q?=D0=BF=D1=80=D0=B0=D0=B2=D0=BA=D0=B0=20=D0=BA?= =?UTF-8?q?=D0=BE=D0=B4=D0=B0=20=D0=B2=20=D1=83=D0=B3=D0=BE=D0=B4=D1=83=20?= =?UTF-8?q?=D0=BE=D0=B1=D0=BD=D0=BE=D0=B2=D0=BB=D0=B5=D0=BD=D0=BD=D1=8B?= =?UTF-8?q?=D0=BC=20=D0=B8=D0=BD=D1=82=D0=B5=D1=80=D1=84=D0=B5=D0=B9=D1=81?= =?UTF-8?q?=D0=B0=D0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/mc/world/anvil/AnvilBlock.java | 8 ++++++++ .../src/main/java/mc/world/anvil/AnvilChunk.java | 6 +++--- .../main/java/mc/world/anvil/AnvilChunkProvider.java | 5 ++++- .../main/java/mc/world/anvil/AnvilChunkSection.java | 10 +++++----- 4 files changed, 20 insertions(+), 9 deletions(-) diff --git a/anvil-loader/src/main/java/mc/world/anvil/AnvilBlock.java b/anvil-loader/src/main/java/mc/world/anvil/AnvilBlock.java index 12748a3..d48811c 100644 --- a/anvil-loader/src/main/java/mc/world/anvil/AnvilBlock.java +++ b/anvil-loader/src/main/java/mc/world/anvil/AnvilBlock.java @@ -54,4 +54,12 @@ public class AnvilBlock implements Block { public Stream> tagStream() { return null; } + + @Override + public String toString() { + return "AnvilBlock{" + + "location=" + location + + ", type=" + getBlockType() + + '}'; + } } diff --git a/anvil-loader/src/main/java/mc/world/anvil/AnvilChunk.java b/anvil-loader/src/main/java/mc/world/anvil/AnvilChunk.java index 2e5415e..a160c98 100644 --- a/anvil-loader/src/main/java/mc/world/anvil/AnvilChunk.java +++ b/anvil-loader/src/main/java/mc/world/anvil/AnvilChunk.java @@ -60,12 +60,12 @@ public class AnvilChunk implements Chunk { } @Override - public Biome getBiome(int localX, int localZ) { - return Biome.getById( biomes.get( localZ << 4 | localX ) & 255 ); + public Biome getBiomeLocal(int x, int z) { + return Biome.getById( biomes.get( z << 4 | x) & 255 ); } @Override - public void setBiome(int localX, int localZ, Biome biome) { + public void setBiomeLocal(int x, int z, Biome biome) { // nope... } } diff --git a/anvil-loader/src/main/java/mc/world/anvil/AnvilChunkProvider.java b/anvil-loader/src/main/java/mc/world/anvil/AnvilChunkProvider.java index 6496485..37ac152 100644 --- a/anvil-loader/src/main/java/mc/world/anvil/AnvilChunkProvider.java +++ b/anvil-loader/src/main/java/mc/world/anvil/AnvilChunkProvider.java @@ -7,6 +7,7 @@ import mc.core.world.chunk.Chunk; import mc.core.world.chunk.ChunkProvider; import org.springframework.stereotype.Component; +import java.nio.file.Path; import java.nio.file.Paths; @Slf4j @@ -17,7 +18,9 @@ public class AnvilChunkProvider implements ChunkProvider { private RegionManager regionManager; public AnvilChunkProvider(String mapPath) { - this.setRegionManager(new RegionManager(Paths.get(mapPath).resolve("region"))); + Path pathMap = Paths.get(mapPath); + log.info("Use Anvil map from \"{}\"", pathMap); + this.setRegionManager(new RegionManager(pathMap.resolve("region"))); } @Override diff --git a/anvil-loader/src/main/java/mc/world/anvil/AnvilChunkSection.java b/anvil-loader/src/main/java/mc/world/anvil/AnvilChunkSection.java index 754223d..80e895f 100644 --- a/anvil-loader/src/main/java/mc/world/anvil/AnvilChunkSection.java +++ b/anvil-loader/src/main/java/mc/world/anvil/AnvilChunkSection.java @@ -35,7 +35,7 @@ public class AnvilChunkSection implements ChunkSection { } @Override - public Block getBlock(int x, int y, int z) { + public Block getBlockLocal(int x, int y, int z) { return new AnvilBlock(this, x, y, z); } @@ -45,12 +45,12 @@ public class AnvilChunkSection implements ChunkSection { } @Override - public int getSkyLight(int x, int y, int z) { + public int getSkyLightLocal(int x, int y, int z) { return skyLight.get(x, y, z); } @Override - public void setSkyLight(int x, int y, int z, int lightLevel) { + public void setSkyLightLocal(int x, int y, int z, int lightLevel) { } @@ -65,7 +65,7 @@ public class AnvilChunkSection implements ChunkSection { } @Override - public Biome getBiome(int localX, int localZ) { - return parent.getBiome(localX, localZ); + public Biome getBiomeLocal(int x, int z) { + return parent.getBiome(x, z); } }