mirror of
https://github.com/VolmitSoftware/Iris.git
synced 2025-07-01 15:36:45 +00:00
initialize generators for isolated focus biomes / regions
This commit is contained in:
parent
0ae1334a57
commit
6f0b2b6bba
@ -108,10 +108,17 @@ public class IrisComplex implements DataProvider {
|
||||
}
|
||||
|
||||
//@builder
|
||||
engine.getDimension().getRegions().forEach((i) -> data.getRegionLoader().load(i)
|
||||
.getAllBiomes(this).forEach((b) -> b
|
||||
.getGenerators()
|
||||
.forEach((c) -> registerGenerator(c.getCachedGenerator(this)))));
|
||||
if (focusRegion != null) {
|
||||
focusRegion.getAllBiomes(this).forEach(this::registerGenerators);
|
||||
} else if (focusBiome != null) {
|
||||
registerGenerators(focusBiome);
|
||||
} else {
|
||||
engine.getDimension()
|
||||
.getRegions()
|
||||
.forEach(i -> data.getRegionLoader().load(i)
|
||||
.getAllBiomes(this)
|
||||
.forEach(this::registerGenerators));
|
||||
}
|
||||
overlayStream = ProceduralStream.ofDouble((x, z) -> 0.0D).waste("Overlay Stream");
|
||||
engine.getDimension().getOverlayNoise().forEach(i -> overlayStream = overlayStream.add((x, z) -> i.get(rng, getData(), x, z)));
|
||||
rockStream = engine.getDimension().getRockPalette().getLayerGenerator(rng.nextParallelRNG(45), data).stream()
|
||||
@ -360,6 +367,10 @@ public class IrisComplex implements DataProvider {
|
||||
return Math.max(Math.min(getInterpolatedHeight(engine, x, z, seed) + fluidHeight + overlayStream.get(x, z), engine.getHeight()), 0);
|
||||
}
|
||||
|
||||
private void registerGenerators(IrisBiome biome) {
|
||||
biome.getGenerators().forEach(c -> registerGenerator(c.getCachedGenerator(this)));
|
||||
}
|
||||
|
||||
private void registerGenerator(IrisGenerator cachedGenerator) {
|
||||
generators.computeIfAbsent(cachedGenerator.getInterpolator(), (k) -> new KSet<>()).add(cachedGenerator);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user