Unboxed biome selection

- Rarity selection streams pick from precomputed cumulative tables
- Implode and surface biome fixes take primitive coordinates
- Child selection reuses one derived child seed instead of a new RNG per level
- Base biome selection reads bridge and inferred streams directly
This commit is contained in:
Brian Neumann-Fopiano committed 2026-10-21 23:27:01 -04:00
1 parent 1acda886b3
commit 7408d02bbe
6 files changed
+113 -29

No files matched your search

@@ -83,7 +83,7 @@ public class IrisComplexSelfSelectionTest {
Field field = IrisComplex.class.getDeclaredField("childSelectionPlans");
field.setAccessible(true);
field.set(complex, plans);
implode = IrisComplex.class.getDeclaredMethod("implode", IrisBiome.class, Double.class, Double.class, int.class);
implode = IrisComplex.class.getDeclaredMethod("implode", IrisBiome.class, double.class, double.class, int.class);
implode.setAccessible(true);
}
@@ -106,7 +106,7 @@ public class IrisComplexSelfSelectionTest {
}
@Override
public CNG getChildrenGenerator(RNG rng, int signature, double scale) {
public CNG getChildrenGenerator(long seed, double scale) {
return noise;
}
}
@@ -97,11 +97,11 @@ public class IrisCarveModifierInferenceIsolationTest {
doReturn(0D).when(region).getShoreHeight(anyDouble(), anyDouble());
Method fixBiomeType = IrisComplex.class.getDeclaredMethod(
"fixBiomeType",
Double.class,
double.class,
IrisBiome.class,
IrisRegion.class,
Double.class,
Double.class,
double.class,
double.class,
double.class
);
fixBiomeType.setAccessible(true);