mirror of
https://github.com/VolmitSoftware/Iris.git
synced 2026-10-25 13:30:08 +00:00
Wall scope test via real matter
- feeds caverns through a real mantle section now that sCave snapshots the chunk instead of iterating it
This commit is contained in:
1 parent
df299bb97d
commit
195f1862af
1 file changed
+11
-13
+11
-13
@@ -2,7 +2,6 @@ package art.arcane.iris.generation.runtime;
|
||||
|
||||
import art.arcane.iris.pack.loading.IrisData;
|
||||
import art.arcane.iris.generation.mantle.EngineMantle;
|
||||
import art.arcane.iris.generation.mantle.TerrainMatterView;
|
||||
import art.arcane.iris.generation.stage.IrisCarveModifier;
|
||||
import art.arcane.iris.generation.biome.IrisBiome;
|
||||
import art.arcane.iris.generation.biome.IrisBiomePaletteLayer;
|
||||
@@ -15,12 +14,13 @@ import art.arcane.iris.generation.context.ChunkContext;
|
||||
import art.arcane.iris.generation.context.IrisContext;
|
||||
import art.arcane.volmlib.util.hunk.Hunk;
|
||||
import art.arcane.volmlib.util.collection.KMap;
|
||||
import art.arcane.volmlib.util.function.Consumer4;
|
||||
import art.arcane.volmlib.util.mantle.runtime.Mantle;
|
||||
import art.arcane.volmlib.util.mantle.runtime.MantleChunk;
|
||||
import art.arcane.volmlib.util.math.RNG;
|
||||
import art.arcane.volmlib.util.stream.ProceduralStream;
|
||||
import art.arcane.volmlib.util.stream.interpolation.Interpolated;
|
||||
import art.arcane.iris.world.storage.matter.IrisMatterSupport;
|
||||
import art.arcane.volmlib.util.matter.IrisMatter;
|
||||
import art.arcane.volmlib.util.matter.Matter;
|
||||
import art.arcane.volmlib.util.matter.MatterCavern;
|
||||
import org.junit.Test;
|
||||
@@ -42,7 +42,6 @@ import static org.mockito.ArgumentMatchers.any;
|
||||
import static org.mockito.ArgumentMatchers.anyDouble;
|
||||
import static org.mockito.ArgumentMatchers.anyInt;
|
||||
import static org.mockito.ArgumentMatchers.anyString;
|
||||
import static org.mockito.ArgumentMatchers.eq;
|
||||
import static org.mockito.Mockito.CALLS_REAL_METHODS;
|
||||
import static org.mockito.Mockito.RETURNS_DEEP_STUBS;
|
||||
import static org.mockito.Mockito.doAnswer;
|
||||
@@ -100,19 +99,10 @@ public class IrisCarveWallPaletteScopeTest {
|
||||
}
|
||||
try (IrisEngine.GenerationRuntimeScope generation = fixture.engine.openGenerationRuntimeScope(
|
||||
new IrisEngine.GenerationRuntimeBinding(fixture.engine, selected));
|
||||
IrisContext.Scope context = IrisContext.open(fixture.engine, 71L, fixture.context);
|
||||
MockedStatic<TerrainMatterView> terrain = mockStatic(TerrainMatterView.class)) {
|
||||
IrisContext.Scope context = IrisContext.open(fixture.engine, 71L, fixture.context)) {
|
||||
if (mode == Mode.ASSEMBLY) {
|
||||
fixture.engine.threadState.setAssembly(fixture.assembly);
|
||||
}
|
||||
terrain.when(() -> TerrainMatterView.iterate(eq(fixture.chunk), eq(MatterCavern.class), any()))
|
||||
.thenAnswer(call -> {
|
||||
Consumer4<Integer, Integer, Integer, MatterCavern> consumer = call.getArgument(2);
|
||||
for (int coordinate : new int[]{4, 8, 12}) {
|
||||
consumer.accept(coordinate, 10, coordinate, new MatterCavern(true, "", (byte) 0));
|
||||
}
|
||||
return null;
|
||||
});
|
||||
try {
|
||||
assertSame(expectedData, fixture.engine.getData());
|
||||
assertEquals(mode == Mode.NATURAL, expectedComplex.isNaturalTerrainContext());
|
||||
@@ -196,6 +186,14 @@ public class IrisCarveWallPaletteScopeTest {
|
||||
doReturn(mantle).when(engineMantle).getMantle();
|
||||
doReturn(chunk).when(mantle).getChunk(-2, 3);
|
||||
doReturn(chunk).when(chunk).use();
|
||||
IrisMatterSupport.ensureRegistered();
|
||||
Matter section = new IrisMatter(16, 16, 16);
|
||||
for (int coordinate : new int[]{4, 8, 12}) {
|
||||
section.slice(MatterCavern.class).set(coordinate, 10, coordinate, new MatterCavern(true, "", (byte) 0));
|
||||
}
|
||||
doReturn(1).when(chunk).sectionCount();
|
||||
doReturn(true).when(chunk).exists(0);
|
||||
doReturn(section).when(chunk).get(0);
|
||||
active = runtime(mock(IrisData.class), mock(IrisComplex.class), engineMantle);
|
||||
detached = runtime(mock(IrisData.class), mock(IrisComplex.class), engineMantle);
|
||||
field(engine, IrisEngine.class, "lifecycleLock", new Object());
|
||||
|
||||
Reference in new issue
Block a user