From ac2dcee6c3e014a21b420d66bb1dfc31ff1b90a0 Mon Sep 17 00:00:00 2001 From: Daniel Mills Date: Mon, 12 Oct 2020 19:59:24 -0400 Subject: [PATCH] Fix crash issues --- .../java/com/volmit/iris/gen/atomics/AtomicSliver.java | 7 ++++++- .../java/com/volmit/iris/gen/layer/GenLayerCave.java | 10 +++++----- src/main/java/com/volmit/iris/manager/EditManager.java | 10 +++++++++- 3 files changed, 20 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/volmit/iris/gen/atomics/AtomicSliver.java b/src/main/java/com/volmit/iris/gen/atomics/AtomicSliver.java index 96a8dd452..1a28db0df 100644 --- a/src/main/java/com/volmit/iris/gen/atomics/AtomicSliver.java +++ b/src/main/java/com/volmit/iris/gen/atomics/AtomicSliver.java @@ -48,7 +48,12 @@ public class AtomicSliver public Material getType(int h) { - return get(h).getMaterial(); + return getTypeSafe(h); + } + + public Material getTypeSafe(int h) + { + return get(h > 255 ? 255 : h < 0 ? 0 : h).getMaterial(); } public KList getUpdatables() diff --git a/src/main/java/com/volmit/iris/gen/layer/GenLayerCave.java b/src/main/java/com/volmit/iris/gen/layer/GenLayerCave.java index 576121ce5..56f4c651a 100644 --- a/src/main/java/com/volmit/iris/gen/layer/GenLayerCave.java +++ b/src/main/java/com/volmit/iris/gen/layer/GenLayerCave.java @@ -164,11 +164,11 @@ public class GenLayerCave extends GenLayer public boolean dig(int x, int y, int z, AtomicSliver data, Function caveFluid) { - Material a = data.getType(y); - Material c = data.getType(y + 1); - Material d = data.getType(y + 2); - Material e = data.getType(y + 3); - Material f = data.getType(y - 1); + Material a = data.getTypeSafe(y); + Material c = data.getTypeSafe(y + 1); + Material d = data.getTypeSafe(y + 2); + Material e = data.getTypeSafe(y + 3); + Material f = data.getTypeSafe(y - 1); BlockData b = caveFluid.apply(y); BlockData b2 = caveFluid.apply(y + 1); diff --git a/src/main/java/com/volmit/iris/manager/EditManager.java b/src/main/java/com/volmit/iris/manager/EditManager.java index 4585ebcc9..fed60cb9b 100644 --- a/src/main/java/com/volmit/iris/manager/EditManager.java +++ b/src/main/java/com/volmit/iris/manager/EditManager.java @@ -87,7 +87,15 @@ public class EditManager implements Listener if(Bukkit.getPluginManager().isPluginEnabled("WorldEdit")) { - e = new WEBlockEditor(world); + try + { + e = new WEBlockEditor(world); + } + + catch(Throwable ex) + { + e = new BukkitBlockEditor(world); + } } else