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