Configurable erosion octaves

This commit is contained in:
dfsek
2020-10-11 03:06:41 -07:00
parent 029afe6e12
commit a50bfdc6a1
3 changed files with 16 additions and 14 deletions

View File

@@ -8,10 +8,10 @@ import org.polydev.gaea.math.FastNoise;
public class ErosionNoise {
private final double thresh;
private final FastNoise noise;
public ErosionNoise(float freq1, double thresh, long seed) {
public ErosionNoise(float freq1, double thresh, int octaves, long seed) {
FastNoise main = new FastNoise((int) (seed+1));
main.setNoiseType(FastNoise.NoiseType.SimplexFractal);
main.setFractalOctaves(3);
main.setFractalOctaves(octaves);
main.setFrequency(freq1);
this.thresh = thresh;
this.noise = main;

View File

@@ -27,7 +27,7 @@ public class TerraBiomeGrid extends BiomeGrid {
}
this.zone = zone;
if(c.erosionEnable) {
erode = new ErosionNoise(c.erosionFreq, c.erosionThresh, w.getSeed());
erode = new ErosionNoise(c.erosionFreq, c.erosionThresh, c.erosionOctaves, w.getSeed());
this.erosionGrid = erosion;
}
}

View File

@@ -52,20 +52,21 @@ public class ConfigPack extends YamlConfiguration {
private final String id;
public List<String> biomeList;
public final List<String> biomeList;
public float zoneFreq;
public float freq1;
public float freq2;
public final float zoneFreq;
public final float freq1;
public final float freq2;
public float erosionFreq;
public double erosionThresh;
public boolean erosionEnable;
public String erosionName;
public final float erosionFreq;
public final double erosionThresh;
public final int erosionOctaves;
public final boolean erosionEnable;
public final String erosionName;
public int blendAmp;
public boolean biomeBlend;
public float blendFreq;
public final int blendAmp;
public final boolean biomeBlend;
public final float blendFreq;
public ConfigPack(File file) throws IOException, InvalidConfigurationException {
long l = System.nanoTime();
@@ -104,6 +105,7 @@ public class ConfigPack extends YamlConfiguration {
erosionEnable = getBoolean("erode.enable", false);
erosionFreq = (float) getDouble("erode.frequency", 0.01);
erosionThresh = getDouble("erode.threshold", 0.04);
erosionOctaves = getInt("erosion.octaves", 4);
erosionName = getString("erode.grid");