cleanup generation code

This commit is contained in:
dfsek
2020-12-30 02:41:57 -07:00
parent ce45bacc6f
commit d16c28aebd
19 changed files with 67 additions and 80 deletions
@@ -37,16 +37,6 @@ public class UserDefinedBiome implements Biome {
return vanilla;
}
/**
* Gets the Generator instance used to generate the biome.
*
* @return Generator - The terrain generation instance.
*/
@Override
public Generator getGenerator() {
return gen.build(0);
}
public String getID() {
return id;
@@ -27,6 +27,8 @@ public abstract class TerraBiomeGrid extends BiomeGrid {
RADIAL, STANDARD
}
public abstract boolean isEroded(int x, int z);
public static final class TerraBiomeGridBuilder {
private final long seed;
private final ConfigPack config;
@@ -15,7 +15,6 @@ import com.dfsek.terra.config.base.ConfigPackTemplate;
import net.jafama.FastMath;
public class TerraRadialBiomeGrid extends TerraBiomeGrid {
private static final int failNum = 0;
private final double radiusSq;
private final BiomeGrid internal;
private CoordinatePerturb perturb;
@@ -39,6 +38,11 @@ public class TerraRadialBiomeGrid extends TerraBiomeGrid {
return (UserDefinedGrid) zone.getGrid(x, z);
}
@Override
public boolean isEroded(int x, int z) {
return erode != null && erode.isEroded(x, z);
}
@Override
public Biome getBiome(int x, int z, GenerationPhase phase) {
int xp = x, zp = z;
@@ -54,7 +58,7 @@ public class TerraRadialBiomeGrid extends TerraBiomeGrid {
} else {
b = (UserDefinedBiome) internal.getBiome(xp, zp, phase);
}
if(erode != null && erode.isEroded(xp, zp)) return b.getErode();
if(isEroded(xp, zp)) return b.getErode();
return b;
}
@@ -13,7 +13,6 @@ import com.dfsek.terra.config.base.ConfigPack;
import com.dfsek.terra.config.base.ConfigPackTemplate;
public class TerraStandardBiomeGrid extends TerraBiomeGrid {
private static final int failNum = 0;
private CoordinatePerturb perturb;
private ErosionNoise erode;
@@ -33,6 +32,11 @@ public class TerraStandardBiomeGrid extends TerraBiomeGrid {
return (UserDefinedGrid) zone.getGrid(x, z);
}
@Override
public boolean isEroded(int x, int z) {
return erode != null && erode.isEroded(x, z);
}
@Override
public Biome getBiome(int x, int z, GenerationPhase phase) {
int xp = x, zp = z;
@@ -43,10 +47,11 @@ public class TerraStandardBiomeGrid extends TerraBiomeGrid {
}
UserDefinedBiome b = (UserDefinedBiome) zone.getGrid(xp, zp).getBiome(xp, zp, phase);
if(erode != null && erode.isEroded(xp, zp)) return b.getErode();
if(isEroded(xp, zp)) return b.getErode();
return b;
}
@Override
public Biome getBiome(Location l, GenerationPhase phase) {
return getBiome(l.getBlockX(), l.getBlockZ(), phase);