- Extracted continent zoom scaling to scaleByContinentZoom

Ref.: https://github.com/VolmitSoftware/Iris/issues/1251
This commit is contained in:
CeeVeeR
2026-10-02 04:20:32 +02:00
parent d80fcedd91
commit a0aa62b8c6
@@ -373,8 +373,7 @@ public class IrisComplex implements DataProvider {
.convertAware2D(ProceduralStream::get), "shoreBiomeStream", engine, cacheSize);
inferredStreams.put(InferredType.SHORE, shoreBiomeStream);
bridgeStream = focusedBiomes != null ? focusedBiomes.convert(IrisBiome::getInferredType) :
GenerationStreams.cache2D(engine.getDimension().getContinentalStyle().create(createContinentSeedSource(), getData())
.bake().scale(1D / engine.getDimension().getContinentZoom()).bake().stream()
GenerationStreams.cache2D(scaleByContinentZoom(engine.getDimension().getContinentalStyle().create(createContinentSeedSource(), getData()), engine.getDimension()).stream()
.convert((v) -> v >= engine.getDimension().getLandChance() ? InferredType.SEA : InferredType.LAND), "bridgeStream", engine, cacheSize);
ProceduralStream<IrisBiome> proceduralBaseBiomeStream = focusedBiomes != null ? focusedBiomes :
GenerationStreams.cache2D(bridgeStream.convertAware2D((t, x, z) -> inferredStreams.get(t).get(x, z))
@@ -501,6 +500,10 @@ public class IrisComplex implements DataProvider {
return rng.nextParallelRNG(CONTINENT_SEED_SALT);
}
private static CNG scaleByContinentZoom(CNG generator, IrisDimension dimension) {
return generator.bake().scale(1D / dimension.getContinentZoom()).bake();
}
/**
* The Studio-wide cache exists for the runtime a player edits against. Detached runtimes serve
* historical activations (transition bands, saved-biome queries) and keep the configured size, or