mirror of
https://github.com/VolmitSoftware/Iris.git
synced 2026-04-05 15:26:28 +00:00
@@ -190,31 +190,22 @@ public class IrisComplex implements DataProvider {
|
||||
slopeStream = heightStream.slope(3).cache2D(cacheSize);
|
||||
objectChanceStream = ProceduralStream.ofDouble((x, z) -> {
|
||||
AtomicDouble str = new AtomicDouble(1D);
|
||||
|
||||
if(engine.getDimension().isNoiseModificationFromFeatures())
|
||||
{
|
||||
for (IrisFeaturePositional i : engine.getMantle().forEachFeature(x, z)) {
|
||||
str.set(Math.min(str.get(), i.getObjectChanceModifier(x, z, rng, getData())));
|
||||
}
|
||||
for (IrisFeaturePositional i : engine.getMantle().forEachFeature(x, z)) {
|
||||
str.set(Math.min(str.get(), i.getObjectChanceModifier(x, z, rng, getData())));
|
||||
}
|
||||
|
||||
return str.get();
|
||||
});
|
||||
trueBiomeStream = focus != null ? ProceduralStream.of((x, y) -> focus, Interpolated.of(a -> 0D,
|
||||
b -> focus)).convertAware2D((b, x, z) -> {
|
||||
for (IrisFeaturePositional i : engine.getMantle().forEachFeature(x, z)) {
|
||||
IrisBiome bx = i.filter(x, z, b, rng);
|
||||
|
||||
if(engine.getDimension().isNoiseModificationFromFeatures())
|
||||
{
|
||||
for (IrisFeaturePositional i : engine.getMantle().forEachFeature(x, z)) {
|
||||
IrisBiome bx = i.filter(x, z, b, rng);
|
||||
|
||||
if (bx != null) {
|
||||
bx.setInferredType(b.getInferredType());
|
||||
return bx;
|
||||
if (bx != null) {
|
||||
bx.setInferredType(b.getInferredType());
|
||||
return bx;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return b;
|
||||
})
|
||||
@@ -223,39 +214,28 @@ public class IrisComplex implements DataProvider {
|
||||
fixBiomeType(h, baseBiomeStream.get(x, z),
|
||||
regionStream.get(x, z), x, z, fluidHeight))
|
||||
.convertAware2D((b, x, z) -> {
|
||||
for (IrisFeaturePositional i : engine.getMantle().forEachFeature(x, z)) {
|
||||
IrisBiome bx = i.filter(x, z, b, rng);
|
||||
|
||||
if(engine.getDimension().isNoiseModificationFromFeatures())
|
||||
{
|
||||
for (IrisFeaturePositional i : engine.getMantle().forEachFeature(x, z)) {
|
||||
IrisBiome bx = i.filter(x, z, b, rng);
|
||||
|
||||
if (bx != null) {
|
||||
bx.setInferredType(b.getInferredType());
|
||||
return bx;
|
||||
}
|
||||
if (bx != null) {
|
||||
bx.setInferredType(b.getInferredType());
|
||||
return bx;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
return b;
|
||||
})
|
||||
.cache2D(cacheSize);
|
||||
trueBiomeStream = focus != null ? ProceduralStream.of((x, y) -> focus, Interpolated.of(a -> 0D,
|
||||
b -> focus)).convertAware2D((b, x, z) -> {
|
||||
for (IrisFeaturePositional i : engine.getMantle().forEachFeature(x, z)) {
|
||||
IrisBiome bx = i.filter(x, z, b, rng);
|
||||
|
||||
|
||||
if(engine.getDimension().isNoiseModificationFromFeatures())
|
||||
{
|
||||
for (IrisFeaturePositional i : engine.getMantle().forEachFeature(x, z)) {
|
||||
IrisBiome bx = i.filter(x, z, b, rng);
|
||||
|
||||
if (bx != null) {
|
||||
bx.setInferredType(b.getInferredType());
|
||||
return bx;
|
||||
if (bx != null) {
|
||||
bx.setInferredType(b.getInferredType());
|
||||
return bx;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return b;
|
||||
})
|
||||
@@ -264,18 +244,13 @@ public class IrisComplex implements DataProvider {
|
||||
fixBiomeType(h, baseBiomeStream.get(x, z),
|
||||
regionStream.get(x, z), x, z, fluidHeight))
|
||||
.convertAware2D((b, x, z) -> {
|
||||
for (IrisFeaturePositional i : engine.getMantle().forEachFeature(x, z)) {
|
||||
IrisBiome bx = i.filter(x, z, b, rng);
|
||||
|
||||
if(engine.getDimension().isNoiseModificationFromFeatures())
|
||||
{
|
||||
for (IrisFeaturePositional i : engine.getMantle().forEachFeature(x, z)) {
|
||||
IrisBiome bx = i.filter(x, z, b, rng);
|
||||
|
||||
if (bx != null) {
|
||||
bx.setInferredType(b.getInferredType());
|
||||
return bx;
|
||||
}
|
||||
if (bx != null) {
|
||||
bx.setInferredType(b.getInferredType());
|
||||
return bx;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return b;
|
||||
@@ -422,11 +397,8 @@ public class IrisComplex implements DataProvider {
|
||||
AtomicDouble noise = new AtomicDouble(h + fluidHeight + overlayStream.get(x, z));
|
||||
|
||||
if (features) {
|
||||
if(engine.getDimension().isNoiseModificationFromFeatures())
|
||||
{
|
||||
for (IrisFeaturePositional i : engine.getMantle().forEachFeature(x, z)) {
|
||||
noise.set(i.filter(x, z, noise.get(), rng, getData()));
|
||||
}
|
||||
for (IrisFeaturePositional i : engine.getMantle().forEachFeature(x, z)) {
|
||||
noise.set(i.filter(x, z, noise.get(), rng, getData()));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user