diff --git a/src/main/java/com/volmit/iris/generator/actuator/IrisDecorantActuator.java b/src/main/java/com/volmit/iris/generator/actuator/IrisDecorantActuator.java index 5753bfebf..7b766b2cc 100644 --- a/src/main/java/com/volmit/iris/generator/actuator/IrisDecorantActuator.java +++ b/src/main/java/com/volmit/iris/generator/actuator/IrisDecorantActuator.java @@ -106,7 +106,7 @@ public class IrisDecorantActuator extends EngineAssignedActuator { if (emptyFor > 0) { getSurfaceDecorator().decorate(i, j, realX, realZ, output, cave, k, emptyFor); - getCeilingDecorator().decorate(i, j, realX, realZ, output, cave, lastSolid, emptyFor); + getCeilingDecorator().decorate(i, j, realX, realZ, output, cave, lastSolid - 1, emptyFor); emptyFor = 0; } lastSolid = k; 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 7997f8d4f..3e98b98b3 100644 --- a/src/main/java/com/volmit/iris/generator/decorator/IrisCeilingDecorator.java +++ b/src/main/java/com/volmit/iris/generator/decorator/IrisCeilingDecorator.java @@ -36,7 +36,7 @@ public class IrisCeilingDecorator extends IrisEngineDecorator for(int i = 0; i < stack; i++) { double threshold = (((double)i) / (double)(stack - 1)); - data.set(x, height-i, z, threshold >= decorator.getTopThreshold() ? top : fill); + data.set(x, height - i, z, threshold >= decorator.getTopThreshold() ? top : fill); } } } diff --git a/src/main/java/com/volmit/iris/generator/decorator/IrisSeaSurfaceDecorator.java b/src/main/java/com/volmit/iris/generator/decorator/IrisSeaSurfaceDecorator.java index 5933e937b..e174563ee 100644 --- a/src/main/java/com/volmit/iris/generator/decorator/IrisSeaSurfaceDecorator.java +++ b/src/main/java/com/volmit/iris/generator/decorator/IrisSeaSurfaceDecorator.java @@ -16,28 +16,24 @@ public class IrisSeaSurfaceDecorator extends IrisEngineDecorator @Override public void decorate(int x, int z, int realX, int realX1, int realX_1, int realZ, int realZ1, int realZ_1, Hunk data, IrisBiome biome, int height, int max) { - if(height > getDimension().getFluidHeight()) { + IrisDecorator decorator = getDecorator(biome, realX, realZ); + + if(decorator != null) + { + if(!decorator.isStacking()) { - IrisDecorator decorator = getDecorator(biome, realX, realZ); + data.set(x, getDimension().getFluidHeight()+1, z, decorator.getBlockData100(biome, getRng(), realX, realZ, getData())); + } + else + { + int stack = decorator.getHeight(getRng().nextParallelRNG(Cache.key(realX, realZ)), realX, realZ, getData()); - if(decorator != null) + BlockData top = decorator.getBlockDataForTop(biome, getRng(), realX, realZ, getData()); + BlockData fill = decorator.getBlockData100(biome, getRng(), realX, realZ, getData()); + for(int i = 0; i < stack; i++) { - if(!decorator.isStacking()) - { - data.set(x, getDimension().getFluidHeight()+1, z, decorator.getBlockData100(biome, getRng(), realX, realZ, getData())); - } - else - { - int stack = decorator.getHeight(getRng().nextParallelRNG(Cache.key(realX, realZ)), realX, realZ, getData()); - - BlockData top = decorator.getBlockDataForTop(biome, getRng(), realX, realZ, getData()); - BlockData fill = decorator.getBlockData100(biome, getRng(), realX, realZ, getData()); - for(int i = 0; i < stack; i++) - { - double threshold = ((double)i) / (stack - 1); - data.set(x, getDimension().getFluidHeight()+1+i, z, threshold >= decorator.getTopThreshold() ? top : fill); - } - } + double threshold = ((double)i) / (stack - 1); + data.set(x, getDimension().getFluidHeight() + 1 + i, z, threshold >= decorator.getTopThreshold() ? top : fill); } } }