This commit is contained in:
Daniel Mills 2020-03-15 19:35:07 -04:00
parent 67a2ad708f
commit ba9cb41d47
7 changed files with 69 additions and 20 deletions

View File

@ -15,7 +15,7 @@ public class Settings
public PerformanceMode performanceMode = PerformanceMode.EXPLICIT; public PerformanceMode performanceMode = PerformanceMode.EXPLICIT;
public ObjectMode objectMode = ObjectMode.PARALLAX; public ObjectMode objectMode = ObjectMode.PARALLAX;
public int threadPriority = Thread.MAX_PRIORITY; public int threadPriority = Thread.MAX_PRIORITY;
public int threadCount = 16; public int threadCount = 32;
public boolean debugMode = true; public boolean debugMode = true;
public int decorationAccuracy = 1; public int decorationAccuracy = 1;
public boolean noObjectFail = false; public boolean noObjectFail = false;
@ -26,24 +26,24 @@ public class Settings
public static class GeneratorSettings public static class GeneratorSettings
{ {
public InterpolationMode interpolationMode = InterpolationMode.BILINEAR; public InterpolationMode interpolationMode = InterpolationMode.BILINEAR;
public int interpolationRadius = 32; public int interpolationRadius = 53;
public int blockSmoothing = 1; public int blockSmoothing = 1;
public double objectDensity = 1D; public double objectDensity = 1D;
public double horizontalZoom = 2; public double horizontalZoom = 2;
public double heightFracture = 155; public double heightFracture = 155;
public double landScale = 0.5; public double landScale = 0.44;
public double landChance = 0.56; public double landChance = 0.56;
public double roughness = 1.55; public double roughness = 1.25;
public double biomeEdgeFuzzScale = 1; public double biomeEdgeFuzzScale = 1.75;
public double biomeEdgeScrambleScale = 0.3; public double biomeEdgeScrambleScale = 0.2;
public double biomeEdgeScrambleRange = 0.9; public double biomeEdgeScrambleRange = 2.5;
public double heightMultiplier = 0.806; public double heightMultiplier = 0.806;
public double heightExponentBase = 1; public double heightExponentBase = 1;
public double heightExponentMultiplier = 1.41; public double heightExponentMultiplier = 1.41;
public double heightScale = 0.56; public double heightScale = 0.56;
public double baseHeight = 0.065; public double baseHeight = 0.065;
public int seaLevel = 63; public int seaLevel = 63;
public double biomeScale = 1; public double biomeScale = 0.8;
public boolean flatBedrock = false; public boolean flatBedrock = false;
} }

View File

@ -308,7 +308,7 @@ public class IrisGenerator extends ParallaxWorldGenerator
{ {
int seaLevel = Iris.settings.gen.seaLevel; int seaLevel = Iris.settings.gen.seaLevel;
boolean land = y >= seaLevel; boolean land = y >= seaLevel;
int beachHeight = land ? 1 + (int) Math.round(seaLevel + beach.noise(x, z)) : seaLevel; int beachHeight = land ? 1 + (int) Math.round(seaLevel + beach.noise(x, z) + 1) : seaLevel;
boolean beach = y <= beachHeight && land; boolean beach = y <= beachHeight && land;
IrisBiome biome = glBiome.getBiome(x, z); IrisBiome biome = glBiome.getBiome(x, z);
IrisBiome realBiome = glBiome.getBiome(x, z, true); IrisBiome realBiome = glBiome.getBiome(x, z, true);

View File

@ -49,6 +49,7 @@ public class GenObject
private int failures; private int failures;
private int successes; private int successes;
private boolean gravity; private boolean gravity;
private boolean oversized;
private String name = "?"; private String name = "?";
private KMap<SBlockVector, MB> s; private KMap<SBlockVector, MB> s;
private KMap<SChunkVectorShort, SBlockVector> slopeCache; private KMap<SChunkVectorShort, SBlockVector> slopeCache;
@ -64,6 +65,7 @@ public class GenObject
public GenObject(int w, int h, int d) public GenObject(int w, int h, int d)
{ {
this.w = w; this.w = w;
oversized = false;
this.h = h; this.h = h;
this.d = d; this.d = d;
shift = new BlockVector(); shift = new BlockVector();
@ -304,6 +306,7 @@ public class GenObject
s.fill(this.s); s.fill(this.s);
s.centeredHeight = centeredHeight; s.centeredHeight = centeredHeight;
s.name = name; s.name = name;
s.oversized = oversized;
return s; return s;
} }
@ -1094,4 +1097,14 @@ public class GenObject
{ {
this.shift = shift; this.shift = shift;
} }
public boolean isOversized()
{
return oversized;
}
public void setOversized(boolean oversized)
{
this.oversized = oversized;
}
} }

View File

@ -17,12 +17,14 @@ import ninja.bytecode.shuriken.logging.L;
public class GenObjectGroup public class GenObjectGroup
{ {
private KList<GenObject> schematics; private KList<GenObject> schematics;
private KList<GenObject> osSchematics;
private KList<GenObject> pxSchematics;
private KList<String> flags; private KList<String> flags;
private String name; private String name;
private int priority; private int priority;
private double worldChance; private double worldChance;
private int worldRad; private int worldRad;
public GenObjectGroup(String name) public GenObjectGroup(String name)
{ {
this.schematics = new KList<>(); this.schematics = new KList<>();
@ -147,6 +149,42 @@ public class GenObjectGroup
return schematics; return schematics;
} }
public KList<GenObject> getPXSchematics()
{
if(pxSchematics == null)
{
pxSchematics = new KList<>();
for(GenObject i : schematics)
{
if(!i.isOversized())
{
pxSchematics.add(i);
}
}
}
return pxSchematics;
}
public KList<GenObject> getOSSchematics()
{
if(osSchematics == null)
{
osSchematics = new KList<>();
for(GenObject i : schematics)
{
if(i.isOversized())
{
osSchematics.add(i);
}
}
}
return pxSchematics;
}
public void setSchematics(KList<GenObject> schematics) public void setSchematics(KList<GenObject> schematics)
{ {
this.schematics = schematics; this.schematics = schematics;

View File

@ -109,7 +109,7 @@ public class GenLayerBiome extends GenLayer
return true; return true;
} }
if(Borders.isBorderWithin(x, z, 7, 24D, (x + z) / 100D, (xx, zz) -> ocean.getIndex(xx, zz))) if(Borders.isBorderWithin(x, z, 3, 24D, (x + z) / 100D, (xx, zz) -> ocean.getIndex(xx, zz)))
{ {
return true; return true;
} }

View File

@ -19,6 +19,7 @@ public class GenLayerCaves extends GenLayer
{ {
private PolygonGenerator g; private PolygonGenerator g;
private CNG gincline; private CNG gincline;
private CNG scram;
public GenLayerCaves(IrisGenerator iris, World world, Random random, RNG rng) public GenLayerCaves(IrisGenerator iris, World world, Random random, RNG rng)
{ {
@ -26,6 +27,7 @@ public class GenLayerCaves extends GenLayer
super(iris, world, random, rng); super(iris, world, random, rng);
g = new PolygonGenerator(rng.nextParallelRNG(1111), 3, 0.024, 8, (c) -> c); g = new PolygonGenerator(rng.nextParallelRNG(1111), 3, 0.024, 8, (c) -> c);
gincline = new CNG(rng.nextParallelRNG(1112), 1D, 3).scale(0.00652); gincline = new CNG(rng.nextParallelRNG(1112), 1D, 3).scale(0.00652);
scram = new CNG(rng.nextParallelRNG(2639634), 1D, 1).scale(0.15);
//@done //@done
} }
@ -35,19 +37,16 @@ public class GenLayerCaves extends GenLayer
return gnoise; return gnoise;
} }
public void genCaves(double wxxf, double wzxf, int x, int z, AtomicChunkData data, ChunkPlan plan) public void genCaves(double vwxxf, double vwzxf, int x, int z, AtomicChunkData data, ChunkPlan plan)
{ {
if(true)
{
return;
}
PrecisionStopwatch s = PrecisionStopwatch.start(); PrecisionStopwatch s = PrecisionStopwatch.start();
double itr = 2; double itr = 2;
double level = 8; double level = 8;
double incline = 157; double incline = 187;
double baseWidth = 11; double baseWidth = 11;
double drop = 46; double drop = 41;
double wxxf = (scram.noise(vwxxf, vwzxf) * 6) - vwzxf;
double wzxf = (scram.noise(vwzxf, vwxxf) * 6) + vwxxf;
for(double m = 1; m <= itr; m += 0.45) for(double m = 1; m <= itr; m += 0.45)
{ {

View File

@ -5,7 +5,6 @@ import java.io.IOException;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
import org.bukkit.World; import org.bukkit.World;
import mortar.logic.format.F;
import mortar.util.text.C; import mortar.util.text.C;
import ninja.bytecode.iris.Iris; import ninja.bytecode.iris.Iris;
import ninja.bytecode.iris.generator.atomics.AtomicChunkData; import ninja.bytecode.iris.generator.atomics.AtomicChunkData;