- Extracted shared style generator sampling to GeneratorSampling.sampleSharedGenerator

Ref.: https://github.com/VolmitSoftware/Iris/issues/1251
This commit is contained in:
CeeVeeR
2026-10-02 12:37:51 +02:00
parent 357f14e900
commit 318c1e100b
5 changed files with 15 additions and 7 deletions
@@ -8,7 +8,7 @@ import art.arcane.volmlib.util.math.RNG;
import org.junit.Test;
import static art.arcane.iris.testsupport.GeneratorSampling.SAMPLE_BLOCKS;
import static art.arcane.iris.testsupport.GeneratorSampling.sampleAtBlocks;
import static art.arcane.iris.testsupport.GeneratorSampling.sampleSharedGenerator;
import static org.junit.Assert.assertArrayEquals;
public class IrisBiomeChildrenGeneratorTest {
@@ -38,7 +38,7 @@ public class IrisBiomeChildrenGeneratorTest {
}
private double[] sampleSharedChildStyleGenerator(IrisGeneratorStyle childStyle) {
return sampleAtBlocks(childStyle.create(deriveSharedChildStyleSeed(), packData), SAMPLE_BLOCKS);
return sampleSharedGenerator(childStyle, deriveSharedChildStyleSeed(), packData);
}
private static RNG deriveSharedChildStyleSeed() {
@@ -10,7 +10,7 @@ import art.arcane.volmlib.util.math.RNG;
import org.junit.Test;
import static art.arcane.iris.testsupport.GeneratorSampling.SAMPLE_BLOCKS;
import static art.arcane.iris.testsupport.GeneratorSampling.sampleAtBlocks;
import static art.arcane.iris.testsupport.GeneratorSampling.sampleSharedGenerator;
import static org.junit.Assert.assertArrayEquals;
public class IrisDecoratorVarianceGeneratorTest {
@@ -35,7 +35,7 @@ public class IrisDecoratorVarianceGeneratorTest {
}
private double[] sampleSharedVarianceStyleGenerator(IrisGeneratorStyle varianceStyle) {
return sampleAtBlocks(varianceStyle.create(decorator.deriveVarianceSeed(new RNG(WORLD_SEED), packData), packData), SAMPLE_BLOCKS);
return sampleSharedGenerator(varianceStyle, decorator.deriveVarianceSeed(new RNG(WORLD_SEED), packData), packData);
}
private static IrisDecorator createDecoratorWithZoomedSimplexVariance() {
@@ -11,6 +11,7 @@ import java.util.Arrays;
import static art.arcane.iris.testsupport.GeneratorSampling.SAMPLE_BLOCKS;
import static art.arcane.iris.testsupport.GeneratorSampling.sampleAtBlocks;
import static art.arcane.iris.testsupport.GeneratorSampling.sampleSharedGenerator;
import static org.junit.Assert.assertArrayEquals;
public class ContinentGeneratorTest {
@@ -90,7 +91,7 @@ public class ContinentGeneratorTest {
}
private double[] sampleSharedStyleGenerator(IrisGeneratorStyle style) {
return sampleAtBlocks(style.create(ContinentGenerator.deriveContinentSeed(new RNG(WORLD_SEED)), packData), SAMPLE_BLOCKS);
return sampleSharedGenerator(style, ContinentGenerator.deriveContinentSeed(new RNG(WORLD_SEED)), packData);
}
private double[] sampleContinentMap(IrisDimension dimension, double[][] blocks) {
@@ -8,7 +8,7 @@ import art.arcane.volmlib.util.math.RNG;
import org.junit.Test;
import static art.arcane.iris.testsupport.GeneratorSampling.SAMPLE_BLOCKS;
import static art.arcane.iris.testsupport.GeneratorSampling.sampleAtBlocks;
import static art.arcane.iris.testsupport.GeneratorSampling.sampleSharedGenerator;
import static org.junit.Assert.assertArrayEquals;
public class IrisDimensionCarvingEntryTest {
@@ -34,7 +34,7 @@ public class IrisDimensionCarvingEntryTest {
}
private double[] sampleSharedChildStyleGenerator(IrisGeneratorStyle childStyle) {
return sampleAtBlocks(childStyle.create(deriveSharedChildStyleSeed(), packData), SAMPLE_BLOCKS);
return sampleSharedGenerator(childStyle, deriveSharedChildStyleSeed(), packData);
}
private RNG deriveSharedChildStyleSeed() {
@@ -1,5 +1,8 @@
package art.arcane.iris.testsupport;
import art.arcane.iris.generation.noise.IrisGeneratorStyle;
import art.arcane.iris.pack.loading.IrisData;
import art.arcane.volmlib.util.math.RNG;
import art.arcane.volmlib.util.noise.CNG;
import java.util.Arrays;
@@ -10,6 +13,10 @@ public final class GeneratorSampling {
private GeneratorSampling() {
}
public static double[] sampleSharedGenerator(IrisGeneratorStyle style, RNG seed, IrisData packData) {
return sampleAtBlocks(style.create(seed, packData), SAMPLE_BLOCKS);
}
public static double[] sampleAtBlocks(CNG generator, double[][] blocks) {
return Arrays.stream(blocks).mapToDouble(block -> sampleAt(generator, block)).toArray();
}