From 502f7de0408f1f907dea3274410128986979b029 Mon Sep 17 00:00:00 2001 From: Daniel Mills Date: Sat, 10 Jul 2021 23:37:29 -0400 Subject: [PATCH] Fix OOB exceptions for ceiling decorators --- .../iris/generator/decorator/IrisCeilingDecorator.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/volmit/iris/generator/decorator/IrisCeilingDecorator.java b/src/main/java/com/volmit/iris/generator/decorator/IrisCeilingDecorator.java index 3e98b98b3..bbc2e6233 100644 --- a/src/main/java/com/volmit/iris/generator/decorator/IrisCeilingDecorator.java +++ b/src/main/java/com/volmit/iris/generator/decorator/IrisCeilingDecorator.java @@ -22,7 +22,10 @@ public class IrisCeilingDecorator extends IrisEngineDecorator { if(!decorator.isStacking()) { - data.set(x, height, z, decorator.getBlockData100(biome, getRng(), realX, realZ, getData())); + if(height >= 0 || height < getEngine().getHeight()) + { + data.set(x, height, z, decorator.getBlockData100(biome, getRng(), realX, realZ, getData())); + } } else @@ -35,6 +38,11 @@ public class IrisCeilingDecorator extends IrisEngineDecorator for(int i = 0; i < stack; i++) { + if(height - i < 0 || height - i > getEngine().getHeight()) + { + continue; + } + double threshold = (((double)i) / (double)(stack - 1)); data.set(x, height - i, z, threshold >= decorator.getTopThreshold() ? top : fill); }