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

View File

@ -308,7 +308,7 @@ public class IrisGenerator extends ParallaxWorldGenerator
{
int seaLevel = Iris.settings.gen.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;
IrisBiome biome = glBiome.getBiome(x, z);
IrisBiome realBiome = glBiome.getBiome(x, z, true);

View File

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

View File

@ -17,6 +17,8 @@ import ninja.bytecode.shuriken.logging.L;
public class GenObjectGroup
{
private KList<GenObject> schematics;
private KList<GenObject> osSchematics;
private KList<GenObject> pxSchematics;
private KList<String> flags;
private String name;
private int priority;
@ -147,6 +149,42 @@ public class GenObjectGroup
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)
{
this.schematics = schematics;

View File

@ -109,7 +109,7 @@ public class GenLayerBiome extends GenLayer
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;
}

View File

@ -19,6 +19,7 @@ public class GenLayerCaves extends GenLayer
{
private PolygonGenerator g;
private CNG gincline;
private CNG scram;
public GenLayerCaves(IrisGenerator iris, World world, Random random, RNG rng)
{
@ -26,6 +27,7 @@ public class GenLayerCaves extends GenLayer
super(iris, world, random, rng);
g = new PolygonGenerator(rng.nextParallelRNG(1111), 3, 0.024, 8, (c) -> c);
gincline = new CNG(rng.nextParallelRNG(1112), 1D, 3).scale(0.00652);
scram = new CNG(rng.nextParallelRNG(2639634), 1D, 1).scale(0.15);
//@done
}
@ -35,19 +37,16 @@ public class GenLayerCaves extends GenLayer
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();
double itr = 2;
double level = 8;
double incline = 157;
double incline = 187;
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)
{

View File

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