From 66f476b2cde335c886b60a526ccebc250a53122f Mon Sep 17 00:00:00 2001 From: ALS Date: Sun, 19 Sep 2021 20:37:39 +0200 Subject: [PATCH 1/2] Added isChunkLoaded to Instance.java --- .../net/minestom/server/instance/Instance.java | 15 +++++++++++++++ .../server/instance/InstanceContainer.java | 10 ++++++++++ .../minestom/server/instance/SharedInstance.java | 10 ++++++++++ 3 files changed, 35 insertions(+) diff --git a/src/main/java/net/minestom/server/instance/Instance.java b/src/main/java/net/minestom/server/instance/Instance.java index 912a5cdcd..b6d8d85d8 100644 --- a/src/main/java/net/minestom/server/instance/Instance.java +++ b/src/main/java/net/minestom/server/instance/Instance.java @@ -220,6 +220,21 @@ public abstract class Instance implements BlockGetter, BlockSetter, Tickable, Ta */ public abstract @Nullable Chunk getChunk(int chunkX, int chunkZ); + /** + * + * @param chunkX the chunk X + * @param chunkZ this chunk Z + * @return true if the chunk is loaded + */ + public abstract boolean isChunkLoaded(int chunkX, int chunkZ); + + /** + * + * @param point coordinate of a block or other + * @return true if the chunk is loaded + */ + public abstract boolean isChunkLoaded(Point point); + /** * Saves the current instance tags. *

diff --git a/src/main/java/net/minestom/server/instance/InstanceContainer.java b/src/main/java/net/minestom/server/instance/InstanceContainer.java index ecde56b08..35f4efdec 100644 --- a/src/main/java/net/minestom/server/instance/InstanceContainer.java +++ b/src/main/java/net/minestom/server/instance/InstanceContainer.java @@ -241,6 +241,16 @@ public class InstanceContainer extends Instance { } } + @Override + public boolean isChunkLoaded(int chunkX, int chunkZ) { + return getChunk(chunkX, chunkZ) != null; + } + + @Override + public boolean isChunkLoaded(Point point) { + return isChunkLoaded(point.chunkX(), point.chunkZ()); + } + @Override public @NotNull CompletableFuture saveInstance() { return chunkLoader.saveInstance(this); diff --git a/src/main/java/net/minestom/server/instance/SharedInstance.java b/src/main/java/net/minestom/server/instance/SharedInstance.java index a4ae6eaaf..b6412a1f5 100644 --- a/src/main/java/net/minestom/server/instance/SharedInstance.java +++ b/src/main/java/net/minestom/server/instance/SharedInstance.java @@ -57,6 +57,16 @@ public class SharedInstance extends Instance { return instanceContainer.getChunk(chunkX, chunkZ); } + @Override + public boolean isChunkLoaded(int chunkX, int chunkZ) { + return instanceContainer.isChunkLoaded(chunkX, chunkZ); + } + + @Override + public boolean isChunkLoaded(Point point) { + return instanceContainer.isChunkLoaded(point); + } + @Override public @NotNull CompletableFuture saveInstance() { return instanceContainer.saveInstance(); From 64100c64e6603983d4d6ea02b3157e749078b1ab Mon Sep 17 00:00:00 2001 From: ALS Date: Sun, 19 Sep 2021 20:54:13 +0200 Subject: [PATCH 2/2] Make isChunkLoaded not abstract --- .../java/net/minestom/server/instance/Instance.java | 8 ++++++-- .../minestom/server/instance/InstanceContainer.java | 10 ---------- .../net/minestom/server/instance/SharedInstance.java | 10 ---------- 3 files changed, 6 insertions(+), 22 deletions(-) diff --git a/src/main/java/net/minestom/server/instance/Instance.java b/src/main/java/net/minestom/server/instance/Instance.java index b6d8d85d8..30ba6b107 100644 --- a/src/main/java/net/minestom/server/instance/Instance.java +++ b/src/main/java/net/minestom/server/instance/Instance.java @@ -226,14 +226,18 @@ public abstract class Instance implements BlockGetter, BlockSetter, Tickable, Ta * @param chunkZ this chunk Z * @return true if the chunk is loaded */ - public abstract boolean isChunkLoaded(int chunkX, int chunkZ); + public boolean isChunkLoaded(int chunkX, int chunkZ) { + return getChunk(chunkX, chunkZ) != null; + } /** * * @param point coordinate of a block or other * @return true if the chunk is loaded */ - public abstract boolean isChunkLoaded(Point point); + public boolean isChunkLoaded(Point point) { + return isChunkLoaded(point.chunkX(), point.chunkZ()); + } /** * Saves the current instance tags. diff --git a/src/main/java/net/minestom/server/instance/InstanceContainer.java b/src/main/java/net/minestom/server/instance/InstanceContainer.java index 35f4efdec..ecde56b08 100644 --- a/src/main/java/net/minestom/server/instance/InstanceContainer.java +++ b/src/main/java/net/minestom/server/instance/InstanceContainer.java @@ -241,16 +241,6 @@ public class InstanceContainer extends Instance { } } - @Override - public boolean isChunkLoaded(int chunkX, int chunkZ) { - return getChunk(chunkX, chunkZ) != null; - } - - @Override - public boolean isChunkLoaded(Point point) { - return isChunkLoaded(point.chunkX(), point.chunkZ()); - } - @Override public @NotNull CompletableFuture saveInstance() { return chunkLoader.saveInstance(this); diff --git a/src/main/java/net/minestom/server/instance/SharedInstance.java b/src/main/java/net/minestom/server/instance/SharedInstance.java index b6412a1f5..a4ae6eaaf 100644 --- a/src/main/java/net/minestom/server/instance/SharedInstance.java +++ b/src/main/java/net/minestom/server/instance/SharedInstance.java @@ -57,16 +57,6 @@ public class SharedInstance extends Instance { return instanceContainer.getChunk(chunkX, chunkZ); } - @Override - public boolean isChunkLoaded(int chunkX, int chunkZ) { - return instanceContainer.isChunkLoaded(chunkX, chunkZ); - } - - @Override - public boolean isChunkLoaded(Point point) { - return instanceContainer.isChunkLoaded(point); - } - @Override public @NotNull CompletableFuture saveInstance() { return instanceContainer.saveInstance();