diff --git a/src/main/java/com/volmit/iris/gen/TerrainChunkGenerator.java b/src/main/java/com/volmit/iris/gen/TerrainChunkGenerator.java index be3f14287..463f3d708 100644 --- a/src/main/java/com/volmit/iris/gen/TerrainChunkGenerator.java +++ b/src/main/java/com/volmit/iris/gen/TerrainChunkGenerator.java @@ -212,7 +212,7 @@ public abstract class TerrainChunkGenerator extends ParallelChunkGenerator decorateUnderwater(biome, sliver, wx, k, wz, rx, rz, block); } - if((carvable && cavernSurface) || (k == Math.max(height, fluidHeight) && block.getMaterial().isSolid() && k < 255 && k > fluidHeight)) + if((carvable && cavernSurface) || (k == Math.max(height, fluidHeight) && block.getMaterial().isSolid() && k < 255 && k >= fluidHeight)) { decorateLand(biome, sliver, wx, k, wz, rx, rz, block); } @@ -309,7 +309,7 @@ public abstract class TerrainChunkGenerator extends ParallelChunkGenerator for(IrisBiomeDecorator i : biome.getDecorators()) { - if(i.getPartOf().equals(DecorationPart.SHORE_LINE) && !touchesSea(rx, rz)) + if(i.getPartOf().equals(DecorationPart.SHORE_LINE) && (!touchesSea(rx, rz) || k != getFluidHeight())) { continue; } @@ -635,6 +635,11 @@ public abstract class TerrainChunkGenerator extends ParallelChunkGenerator return getNoiseHeight(x, z) + getFluidHeight(); } + public double getTerrainHeightUncached(int x, int z) + { + return getNoiseHeight(x, z) + getFluidHeight(); + } + public double getTerrainWaterHeight(int x, int z) { return Math.max(getTerrainHeight(x, z), getFluidHeight());