River world hooks

- Skip nib, pothole, wall and slab post passes on river footprints and their collar
- Keep automatic object scatter off the channel and shore band
- Expose deeper biome layers on eroded banks and use the bank biome on the blend band
- Give dry cave headroom the flooded cave biome
This commit is contained in:
Brian Neumann-Fopiano committed 2026-09-01 19:08:20 -04:00
1 parent 8a256e3226
commit 676372efab
8 files changed
+76 -14

No files matched your search

@@ -21,7 +21,7 @@ import static org.mockito.Mockito.mock;
public class IrisComplexSurfaceBiomeTest {
@Test
public void gradingFootprintKeepsItsExactNaturalParentBiome() {
public void gradingFootprintUsesTheBankBiome() {
HydrologyFeatureRef feature = new HydrologyFeatureRef(
1L,
HydrologyFeatureType.SURFACE_POOL,
@@ -65,7 +65,7 @@ public class IrisComplexSurfaceBiomeTest {
List.of(grading)
);
assertEquals("exact_parent", IrisComplex.hydrologySurfaceBiomeKey(sample));
assertEquals("dry", IrisComplex.hydrologySurfaceBiomeKey(sample));
}
@Test
@@ -0,0 +1,20 @@
package art.arcane.iris.engine.modifier;
import org.junit.Test;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
public class IrisPostModifierHydrologyTest {
@Test
public void columnsTouchingARiverFootprintSkipThePostPasses() {
assertTrue(IrisPostModifier.skipsHydrologyColumn(new double[] {1D, 0D, 0D, 0D, 0D}));
assertTrue(IrisPostModifier.skipsHydrologyColumn(new double[] {0D, 0D, 0.5D, 0D, 0D}));
assertTrue(IrisPostModifier.skipsHydrologyColumn(new double[] {0D, 0D, 0D, 0D, 0.75D}));
}
@Test
public void columnsAwayFromRiversKeepThePostPasses() {
assertFalse(IrisPostModifier.skipsHydrologyColumn(new double[] {0D, 0D, 0D, 0D, 0D}));
}
}