mirror of
https://github.com/VolmitSoftware/Iris.git
synced 2025-12-29 20:19:06 +00:00
Smart Bore & Islands
This commit is contained in:
@@ -376,6 +376,12 @@ public abstract class ParallaxChunkGenerator extends TerrainChunkGenerator imple
|
||||
return s;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isDebugSmartBore()
|
||||
{
|
||||
return getDimension().isDebugSmartBore();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isPreventingDecay()
|
||||
{
|
||||
|
||||
@@ -588,6 +588,24 @@ public abstract class TerrainChunkGenerator extends ParallelChunkGenerator
|
||||
current = glBiome.generateData(InferredType.SHORE, wx, wz, x, z, region);
|
||||
}
|
||||
|
||||
// Impure Remove rivers, lakes & sea from land
|
||||
if(current.isAquatic() && land)
|
||||
{
|
||||
current = glBiome.generatePureData(InferredType.LAND, wx, wz, x, z, region);
|
||||
}
|
||||
|
||||
// Impure Remove land from underwater
|
||||
if(current.isLand() && sea)
|
||||
{
|
||||
current = glBiome.generatePureData(aquaticType, wx, wz, x, z, region);
|
||||
}
|
||||
|
||||
// Impure Add shores to land
|
||||
if(shore)
|
||||
{
|
||||
current = glBiome.generatePureData(InferredType.SHORE, wx, wz, x, z, region);
|
||||
}
|
||||
|
||||
return current;
|
||||
}
|
||||
|
||||
|
||||
@@ -25,11 +25,11 @@ public class BiomeDataProvider
|
||||
|
||||
public IrisBiome generatePureData(ContextualChunkGenerator g, double bx, double bz, int rawX, int rawZ, IrisRegion regionData)
|
||||
{
|
||||
return layer.generateBiomeData(bx, bz, regionData, getGenerator(), regionData.getBiomes(g, getType()), getType(), rawX, rawZ);
|
||||
return layer.generateBiomeData(bx, bz, regionData, getGenerator(), regionData.getBiomes(g, getType()), getType(), rawX, rawZ, true);
|
||||
}
|
||||
|
||||
public IrisBiome generateData(ContextualChunkGenerator g, double bx, double bz, int rawX, int rawZ, IrisRegion regionData)
|
||||
{
|
||||
return layer.generateImpureData(rawX, rawZ, getType(), regionData, generatePureData(g, bx, bz, rawX, rawZ, regionData));
|
||||
return layer.generateBiomeData(bx, bz, regionData, getGenerator(), regionData.getBiomes(g, getType()), getType(), rawX, rawZ, false);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -72,6 +72,11 @@ public class GenLayerBiome extends GenLayer
|
||||
return getProvider(type).generateData(iris, bx, bz, rawX, rawZ, regionData);
|
||||
}
|
||||
|
||||
public IrisBiome generatePureData(InferredType type, double bx, double bz, int rawX, int rawZ, IrisRegion regionData)
|
||||
{
|
||||
return getProvider(type).generatePureData(iris, bx, bz, rawX, rawZ, regionData);
|
||||
}
|
||||
|
||||
public BiomeDataProvider getProvider(InferredType type)
|
||||
{
|
||||
if(type.equals(InferredType.SEA))
|
||||
@@ -151,19 +156,27 @@ public class GenLayerBiome extends GenLayer
|
||||
|
||||
public IrisBiome generateBiomeData(double bx, double bz, IrisRegion regionData, CNG cell, KList<IrisBiome> biomes, InferredType inferredType, int rx, int rz)
|
||||
{
|
||||
for(IrisRegionRidge i : regionData.getRidgeBiomes())
|
||||
{
|
||||
if(i.getType().equals(inferredType) && i.isRidge(rng, rx, rz))
|
||||
{
|
||||
return iris.loadBiome(i.getBiome()).infer(i.getAs(), inferredType);
|
||||
}
|
||||
}
|
||||
return generateBiomeData(bx, bz, regionData, cell, biomes, inferredType, rx, rz, false);
|
||||
}
|
||||
|
||||
for(IrisRegionSpot i : regionData.getSpotBiomes())
|
||||
public IrisBiome generateBiomeData(double bx, double bz, IrisRegion regionData, CNG cell, KList<IrisBiome> biomes, InferredType inferredType, int rx, int rz, boolean pure)
|
||||
{
|
||||
if(!pure)
|
||||
{
|
||||
if(i.getType().equals(inferredType) && i.isSpot(rng, rx, rz))
|
||||
for(IrisRegionRidge i : regionData.getRidgeBiomes())
|
||||
{
|
||||
return iris.loadBiome(i.getBiome()).infer(i.getAs(), inferredType);
|
||||
if(i.getType().equals(inferredType) && i.isRidge(rng, rx, rz))
|
||||
{
|
||||
return iris.loadBiome(i.getBiome()).infer(i.getAs(), inferredType);
|
||||
}
|
||||
}
|
||||
|
||||
for(IrisRegionSpot i : regionData.getSpotBiomes())
|
||||
{
|
||||
if(i.getType().equals(inferredType) && i.isSpot(rng, rx, rz))
|
||||
{
|
||||
return iris.loadBiome(i.getBiome()).infer(i.getAs(), inferredType);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user