From 4ccfa8c3b6509e31760605a4892bff4a6679b472 Mon Sep 17 00:00:00 2001 From: Daniel Mills Date: Fri, 16 Oct 2020 09:50:27 -0400 Subject: [PATCH] Bugfixes for 13 --- .../iris/gen/ContextualTerrainProvider.java | 3 ++- .../volmit/iris/gen/atomics/AtomicSliver.java | 25 ++++++++++++++++--- 2 files changed, 24 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/volmit/iris/gen/ContextualTerrainProvider.java b/src/main/java/com/volmit/iris/gen/ContextualTerrainProvider.java index d56d2a7a4..61f92d1ee 100644 --- a/src/main/java/com/volmit/iris/gen/ContextualTerrainProvider.java +++ b/src/main/java/com/volmit/iris/gen/ContextualTerrainProvider.java @@ -81,6 +81,7 @@ public abstract class ContextualTerrainProvider implements TerrainProvider, List public ContextualTerrainProvider(TerrainTarget target) { + metrics = new IrisMetrics(256); warnings = new KSet<>(); this.target = target; pushLatch = new ChronoLatch(3000); @@ -202,7 +203,7 @@ public abstract class ContextualTerrainProvider implements TerrainProvider, List if(getNoLoot().size() > 1024) { - //noinspection ListRemoveInLoop + // noinspection ListRemoveInLoop for(int i = 0; i < 64; i++) { getNoLoot().remove(0); 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 6f87b1230..432e756cf 100644 --- a/src/main/java/com/volmit/iris/gen/atomics/AtomicSliver.java +++ b/src/main/java/com/volmit/iris/gen/atomics/AtomicSliver.java @@ -100,7 +100,7 @@ public class AtomicSliver public BlockData getOrNull(int h) { - if(forgetful) + if(forgetful || oob(h)) { return null; } @@ -117,7 +117,7 @@ public class AtomicSliver public void set(int h, BlockData d) { - if(forgetful) + if(forgetful || oob(h)) { return; } @@ -138,7 +138,11 @@ public class AtomicSliver if(d == null) { - Iris.warn("Null set at " + h + " of " + x + " " + z); + return; + } + + if(oob(h)) + { return; } @@ -159,13 +163,28 @@ public class AtomicSliver lock.unlock(); } + private boolean oob(int h) + { + return h > 255 || h < 0; + } + public boolean isSolid(int h) { + if(oob(h)) + { + return false; + } + return getType(h).isSolid(); } public void set(int h, Biome d) { + if(oob(h)) + { + return; + } + lock.lock(); if(Iris.biome3d)