Feature looping

This commit is contained in:
Daniel Mills
2021-08-10 03:33:16 -04:00
parent 2f450b7ea0
commit 98ffa0a256
2 changed files with 44 additions and 6 deletions

View File

@@ -230,7 +230,7 @@ public class IrisComplex implements DataProvider {
objectChanceStream = ProceduralStream.ofDouble((x, z) -> {
if (engine.getDimension().hasFeatures(engine)) {
AtomicDouble str = new AtomicDouble(1D);
for (IrisFeaturePositional i : engine.getEngineParallax().forEachFeature(x, z)) {
for (IrisFeaturePositional i : engine.getMantle().forEachFeature(x, z)) {
str.set(Math.min(str.get(), i.getObjectChanceModifier(x, z, rng, getData())));
}
@@ -241,7 +241,7 @@ public class IrisComplex implements DataProvider {
});
trueBiomeStream = focus != null ? ProceduralStream.of((x, y) -> focus, Interpolated.of(a -> 0D,
b -> focus)).convertAware2D((b, x, z) -> {
for (IrisFeaturePositional i : engine.getEngineParallax().forEachFeature(x, z)) {
for (IrisFeaturePositional i : engine.getMantle().forEachFeature(x, z)) {
IrisBiome bx = i.filter(x, z, b, rng);
if (bx != null) {
@@ -257,7 +257,7 @@ 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.getEngineParallax().forEachFeature(x, z)) {
for (IrisFeaturePositional i : engine.getMantle().forEachFeature(x, z)) {
IrisBiome bx = i.filter(x, z, b, rng);
if (bx != null) {
@@ -271,7 +271,7 @@ public class IrisComplex implements DataProvider {
.cache2D(cacheSize);
trueBiomeStream = focus != null ? ProceduralStream.of((x, y) -> focus, Interpolated.of(a -> 0D,
b -> focus)).convertAware2D((b, x, z) -> {
for (IrisFeaturePositional i : engine.getEngineParallax().forEachFeature(x, z)) {
for (IrisFeaturePositional i : engine.getMantle().forEachFeature(x, z)) {
IrisBiome bx = i.filter(x, z, b, rng);
if (bx != null) {
@@ -287,7 +287,7 @@ 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.getEngineParallax().forEachFeature(x, z)) {
for (IrisFeaturePositional i : engine.getMantle().forEachFeature(x, z)) {
IrisBiome bx = i.filter(x, z, b, rng);
if (bx != null) {
@@ -458,7 +458,7 @@ public class IrisComplex implements DataProvider {
AtomicDouble noise = new AtomicDouble(h + fluidHeight + overlayStream.get(x, z));
if (features) {
List<IrisFeaturePositional> p = engine.getEngineParallax().forEachFeature(x, z);
List<IrisFeaturePositional> p = engine.getMantle().forEachFeature(x, z);
for (IrisFeaturePositional i : p) {
noise.set(i.filter(x, z, noise.get(), rng, getData()));