diff --git a/src/main/java/ninja/bytecode/iris/Settings.java b/src/main/java/ninja/bytecode/iris/Settings.java index a52116833..473e33bbf 100644 --- a/src/main/java/ninja/bytecode/iris/Settings.java +++ b/src/main/java/ninja/bytecode/iris/Settings.java @@ -9,10 +9,10 @@ public class Settings public static class PerformanceSettings { - public PerformanceMode performanceMode = PerformanceMode.HALF_CPU; + public PerformanceMode performanceMode = PerformanceMode.MATCH_CPU; public int threadCount = 12; public int threadPriority = Thread.MIN_PRIORITY; - public boolean loadonstart = false; + public boolean loadonstart = true; } public static class GeneratorSettings @@ -26,8 +26,9 @@ public class Settings public double superHeightScale = 0.95; public double baseHeight = 0.165; public int seaLevel = 63; + public double caveDensity = 3; public double biomeScale = 2.46; public boolean flatBedrock = false; - public boolean doSchematics = false; + public boolean doSchematics = true; } } diff --git a/src/main/java/ninja/bytecode/iris/generator/IrisGenerator.java b/src/main/java/ninja/bytecode/iris/generator/IrisGenerator.java index 1c59f014a..b63c2f3e3 100644 --- a/src/main/java/ninja/bytecode/iris/generator/IrisGenerator.java +++ b/src/main/java/ninja/bytecode/iris/generator/IrisGenerator.java @@ -106,8 +106,8 @@ public class IrisGenerator extends ParallelChunkGenerator public Biome genColumn(int wxx, int wzx, int x, int z, ChunkPlan plan) { int seaLevel = Iris.settings.gen.seaLevel; - int wx = (int) Math.round((double) wxx * Iris.settings.gen.horizontalZoom); - int wz = (int) Math.round((double) wzx * Iris.settings.gen.horizontalZoom); + double wx = Math.round((double) wxx * Iris.settings.gen.horizontalZoom); + double wz = Math.round((double) wzx * Iris.settings.gen.horizontalZoom); IrisBiome biome = glBiome.getBiome(wx * Iris.settings.gen.biomeScale, wz * Iris.settings.gen.biomeScale); double hv = IrisInterpolation.getBicubicNoise(wxx, wzx, (xf, zf) -> getBiomedHeight((int) Math.round(xf), (int) Math.round(zf), plan)); hv += glLNoise.generateLayer(hv, wxx, wzx); @@ -129,7 +129,7 @@ public class IrisGenerator extends ParallelChunkGenerator if(underground && (height - 1) - i < glBase.scatterInt(x, i, z, 4) + 2) { - mb = biome.getDirt(wx, wz); + mb = biome.getDirtRNG(); } if(i == height - 1) diff --git a/src/main/java/ninja/bytecode/iris/generator/biome/IrisBiome.java b/src/main/java/ninja/bytecode/iris/generator/biome/IrisBiome.java index 5558c05b6..22706ad2f 100644 --- a/src/main/java/ninja/bytecode/iris/generator/biome/IrisBiome.java +++ b/src/main/java/ninja/bytecode/iris/generator/biome/IrisBiome.java @@ -145,7 +145,7 @@ public class IrisBiome .schematic("boulder/smooth", 0.01) .schematic("tree/redwood", 1.11) .schematic("tree/redwood/tall", 2.51) - .height(0.165) + .height(0.365) .scatter(MB.of(Material.LONG_GRASS, 2), 0.13); public static final IrisBiome HAUNTED_FOREST = new IrisBiome("Haunted Forest", Biome.MUTATED_SWAMPLAND) .scatter(MB.of(Material.LONG_GRASS, 1), 0.13) @@ -196,7 +196,7 @@ public class IrisBiome .scatter(MB.of(Material.LONG_GRASS, 2), 0.04) .amp(1.565) .schematic("boulder/smooth", 0.01) - .height(0.142); + .height(0.342); public static final IrisBiome EXTREME_HILLS_TREES = new IrisBiome("Extreme Hills +", Biome.EXTREME_HILLS_WITH_TREES) .scatter(MB.of(Material.LONG_GRASS, 2), 0.09) .schematic("boulder", 0.02) @@ -204,7 +204,7 @@ public class IrisBiome .schematic("boulder/smooth", 0.01) .schematic("tree/redwood/tall", 3.02) .amp(1.525) - .height(0.152); + .height(0.352); public static final IrisBiome TAIGA_COLD = new IrisBiome("Taiga Cold", Biome.TAIGA_COLD) .scatter(MB.of(Material.LONG_GRASS, 2), 0.04) .schematic("tree/pine", 2.51) @@ -234,6 +234,7 @@ public class IrisBiome .schematic("boulder", 0.02) .schematic("tree/redwood", 3.5) .amp(0.75) + .height(0.167) .simplexSurface(); //@done @@ -365,7 +366,7 @@ public class IrisBiome return dirt; } - public MB getSurface(int x, int z, RNG rng) + public MB getSurface(double x, double z, RNG rng) { double wx = x + 1000D; double wz = z + 1000D; @@ -398,7 +399,7 @@ public class IrisBiome return getSurface().getRandom(); } - public MB getDirt(int wx, int wz) + public MB getDirtRNG() { return getDirt().getRandom(); } diff --git a/src/main/java/ninja/bytecode/iris/generator/layer/GenLayerCaves.java b/src/main/java/ninja/bytecode/iris/generator/layer/GenLayerCaves.java index 3e8027671..b8d3d4a9a 100644 --- a/src/main/java/ninja/bytecode/iris/generator/layer/GenLayerCaves.java +++ b/src/main/java/ninja/bytecode/iris/generator/layer/GenLayerCaves.java @@ -5,6 +5,7 @@ import java.util.Random; import org.bukkit.Material; import org.bukkit.World; +import ninja.bytecode.iris.Iris; import ninja.bytecode.iris.generator.IrisGenerator; import ninja.bytecode.iris.util.GenLayer; import ninja.bytecode.iris.util.MaxingGenerator; @@ -30,7 +31,7 @@ public class GenLayerCaves extends GenLayer public void genCaves(double wxx, double wzx, int x, int z, int s, IrisGenerator g) { - for(double itr = 0; itr < 0.4; itr += 0.1) + for(double itr = 0; itr < 0.1 * Iris.settings.gen.caveDensity; itr += 0.1) { double thickness = 0.25 + itr + (0.5 * caveClamp.noise(wxx, wzx)); double size = 3.88D * thickness; diff --git a/src/main/java/ninja/bytecode/iris/util/IrisInterpolation.java b/src/main/java/ninja/bytecode/iris/util/IrisInterpolation.java index 7d0f99829..29d7809fe 100644 --- a/src/main/java/ninja/bytecode/iris/util/IrisInterpolation.java +++ b/src/main/java/ninja/bytecode/iris/util/IrisInterpolation.java @@ -16,7 +16,7 @@ public class IrisInterpolation public static double getBilinearNoise(int x, int z, NoiseProvider n) { - int h = 5; + int h = 3; int fx = x >> h; int fz = z >> h; int xa = (fx << h) - 2; @@ -35,7 +35,7 @@ public class IrisInterpolation public static double getBicubicNoise(int x, int z, NoiseProvider n) { - int h = 5; + int h = 6; int fx = x >> h; int fz = z >> h; int xa = (fx << h);