mirror of
https://github.com/PolyhedralDev/Terra.git
synced 2026-04-21 15:50:40 +00:00
Implement image debug GUI
This commit is contained in:
@@ -22,7 +22,7 @@ public class BiomeZone {
|
||||
private final ImageLoader imageLoader;
|
||||
private final boolean useImage;
|
||||
private final ImageLoader.Channel channel;
|
||||
private BiomeZone(World w, float freq) {
|
||||
private BiomeZone(World w) {
|
||||
this.w = w;
|
||||
this.noise = new FastNoise((int) w.getSeed()+2);
|
||||
this.noise.setNoiseType(FastNoise.NoiseType.SimplexFractal);
|
||||
@@ -45,8 +45,16 @@ public class BiomeZone {
|
||||
return grids[NormalizationUtil.normalize(useImage ? Objects.requireNonNull(imageLoader).getNoiseVal(x, z, channel) : noise.getNoise(x, z), 32)];
|
||||
}
|
||||
|
||||
protected static BiomeZone fromWorld(World w) {
|
||||
public int getNoise(int x, int z) {
|
||||
return NormalizationUtil.normalize(useImage ? Objects.requireNonNull(imageLoader).getNoiseVal(x, z, channel) : noise.getNoise(x, z), 32);
|
||||
}
|
||||
|
||||
public double getRawNoise(int x, int z) {
|
||||
return useImage ? Objects.requireNonNull(imageLoader).getNoiseVal(x, z, channel) : noise.getNoise(x, z);
|
||||
}
|
||||
|
||||
public static BiomeZone fromWorld(World w) {
|
||||
if(zones.containsKey(w)) return zones.get(w);
|
||||
else return new BiomeZone(w, WorldConfig.fromWorld(w).zoneFreq);
|
||||
else return new BiomeZone(w);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -36,4 +36,8 @@ public class TerraBiomeGrid extends BiomeGrid {
|
||||
public Biome getBiome(Location l) {
|
||||
return getBiome(l.getBlockX(), l.getBlockZ());
|
||||
}
|
||||
|
||||
public UserDefinedGrid getGrid(int x, int z) {
|
||||
return (UserDefinedGrid) BiomeZone.fromWorld(w).getGrid(x, z);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,6 +7,7 @@ import org.bukkit.Location;
|
||||
import org.bukkit.World;
|
||||
import org.polydev.gaea.biome.Biome;
|
||||
import org.polydev.gaea.biome.BiomeGrid;
|
||||
import org.polydev.gaea.biome.NormalizationUtil;
|
||||
|
||||
public class UserDefinedGrid extends BiomeGrid {
|
||||
private final ImageLoader imageLoader;
|
||||
@@ -37,9 +38,9 @@ public class UserDefinedGrid extends BiomeGrid {
|
||||
@Override
|
||||
public Biome getBiome(int x, int z) {
|
||||
if(fromImage) {
|
||||
int xi = imageLoader.getChannel(x, z, channelX);
|
||||
int zi = imageLoader.getChannel(x, z, channelZ);
|
||||
return super.getGrid()[getSizeX() * (xi/256)][getSizeZ() * (zi/256)];
|
||||
double xi = imageLoader.getNoiseVal(x, z, channelX);
|
||||
double zi = imageLoader.getNoiseVal(x, z, channelZ);
|
||||
return super.getGrid()[NormalizationUtil.normalize(xi, getSizeX())][NormalizationUtil.normalize(zi, getSizeZ())];
|
||||
}
|
||||
return super.getBiome(x, z);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user