Base biome fixes

This commit is contained in:
Daniel Mills
2020-11-23 13:37:13 -05:00
parent 58845ae79f
commit ac04ef34d7
10 changed files with 117 additions and 17 deletions

View File

@@ -147,7 +147,7 @@ public class IrisComplex implements DataProvider
IrisBiome b = baseBiomeStream.get(x, z);
return getHeight(b, x, z, engine.getWorld().getSeed());
}, Interpolated.DOUBLE).cache2D(cacheSize);
slopeStream = heightStream.slope(4).interpolate().bilinear(4, 4).cache2D(cacheSize);
slopeStream = heightStream.slope(3).interpolate().bilinear(3, 3).cache2D(cacheSize);
trueBiomeStream = heightStream
.convertAware2D((h, x, z) ->
fixBiomeType(h, baseBiomeStream.get(x, z),

View File

@@ -23,8 +23,10 @@ public class IrisSurfaceDecorator extends IrisEngineDecorator
return;
}
BlockData bd;
BlockData bd, bdx;
IrisDecorator decorator = getDecorator(biome, realX, realZ);
bdx = data.get(x, height, z);
boolean underwater = height < getDimension().getFluidHeight();
if(decorator != null)
{
@@ -32,9 +34,12 @@ public class IrisSurfaceDecorator extends IrisEngineDecorator
{
bd = decorator.getBlockData100(biome, getRng(), realX, realZ, getData());
if(!canGoOn(bd, data.get(x, height, z)))
if(!underwater)
{
return;
if(!canGoOn(bd, bdx))
{
return;
}
}
if(bd instanceof Bisected)
@@ -50,6 +55,7 @@ public class IrisSurfaceDecorator extends IrisEngineDecorator
{
}
bd = bd.clone();
((Bisected)bd).setHalf(Bisected.Half.BOTTOM);
}
@@ -79,7 +85,7 @@ public class IrisSurfaceDecorator extends IrisEngineDecorator
return;
}
if(i == 0 && !canGoOn(bd, data.get(x, height, z)))
if(i == 0 && !underwater && !canGoOn(bd, bdx))
{
return;
}