From 9d9acc7a3a1d8a27ca7bbc3dc817c946f0678dd5 Mon Sep 17 00:00:00 2001 From: Brian Neumann-Fopiano Date: Thu, 22 Oct 2026 07:32:28 -0400 Subject: [PATCH] Restore semantic cave sampling - Semantic capture samples subterrain cave biomes per voxel as before --- .../iris/world/history/GenerationSemanticCapture.java | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/core/src/main/java/art/arcane/iris/world/history/GenerationSemanticCapture.java b/core/src/main/java/art/arcane/iris/world/history/GenerationSemanticCapture.java index c98f11261..192f3e3dc 100644 --- a/core/src/main/java/art/arcane/iris/world/history/GenerationSemanticCapture.java +++ b/core/src/main/java/art/arcane/iris/world/history/GenerationSemanticCapture.java @@ -155,7 +155,7 @@ public final class GenerationSemanticCapture { int minimumX = Math.multiplyExact(chunkX, CHUNK_SIZE); int minimumZ = Math.multiplyExact(chunkZ, CHUNK_SIZE); BitSet resolvedCaves = new BitSet(); - CaveBiomes caveBiomes = new CaveBiomes(engine, scoped, chunkX, chunkZ); + CaveBiomes caveBiomes = new CaveBiomes(engine, scoped); mantle.iterateChunk(chunkX, chunkZ, MatterCavern.class, (localX, y, localZ, cavern) -> { if (!caveSpace.test(localX, y, localZ)) { return; @@ -276,17 +276,15 @@ public final class GenerationSemanticCapture { private static final class CaveBiomes { private final Engine engine; private final boolean scoped; - private final boolean subterrain; private final CaveFallback fallback; private final IrisDimensionCarvingResolver.State fallbackState = new IrisDimensionCarvingResolver.State(); private IrisDimensionCarvingResolver.Snapshot snapshot; private int minimumY; private String lastKey; - private CaveBiomes(Engine engine, boolean scoped, int chunkX, int chunkZ) { + private CaveBiomes(Engine engine, boolean scoped) { this.engine = engine; this.scoped = scoped; - this.subterrain = scoped && !engine.subterrainAbsentInChunk(chunkX, chunkZ); this.fallback = scoped && engine instanceof IrisEngine irisEngine && irisEngine.hasGenerationRuntimeScope() && !engine.getPlatformHooks().isMainThread() ? new CaveFallback(engine.getComplex(), engine.getDimensionStackContext()) @@ -308,7 +306,7 @@ public final class GenerationSemanticCapture { snapshot = IrisDimensionCarvingResolver.snapshot(engine); minimumY = engine.getWorld().minHeight(); } - IrisBiome featureBiome = subterrain ? engine.getSubterrainBiome(x, y, z) : null; + IrisBiome featureBiome = engine.getSubterrainBiome(x, y, z); if (featureBiome != null) { return featureBiome; }