default macro gen randomizes biomes now
Some checks failed
studiorailgun/Renderer/pipeline/head There was a failure building this commit

This commit is contained in:
austin 2025-04-02 17:36:53 -04:00
parent 5109eb97a9
commit 2d55b16119

View File

@ -1,5 +1,11 @@
package electrosphere.server.terrain.generation.macro; package electrosphere.server.terrain.generation.macro;
import java.util.List;
import java.util.Random;
import electrosphere.engine.Globals;
import electrosphere.game.data.biome.BiomeData;
import electrosphere.game.data.biome.BiomeTypeMap;
import electrosphere.server.terrain.models.TerrainModel; import electrosphere.server.terrain.models.TerrainModel;
/** /**
@ -16,18 +22,22 @@ public class DefaultMacroGenerator implements MacroGenerator {
public void generate(TerrainModel model) { public void generate(TerrainModel model) {
int DIM = model.getDiscreteArrayDimension(); int DIM = model.getDiscreteArrayDimension();
float[][] elevation = model.getElevation(); float[][] elevation = model.getElevation();
short[][] biome = model.getBiome(); short[][] biomeArr = model.getBiome();
long seed = model.getSeed(); long seed = model.getSeed();
Random rand = new Random(seed);
BiomeTypeMap biomeTypeMap = Globals.gameConfigCurrent.getBiomeMap();
List<BiomeData> biomes = biomeTypeMap.getSurfaceBiomes();
for(int x = 0; x < DIM; x++){ for(int x = 0; x < DIM; x++){
for(int y = 0; y < DIM; y++){ for(int y = 0; y < DIM; y++){
BiomeData biome = biomes.get(rand.nextInt(biomes.size()));
elevation[x][y] = 1; elevation[x][y] = 1;
biome[x][y] = DEFAULT_SURFACE_BIOME; biomeArr[x][y] = (short)(int)(biomeTypeMap.getIndexOfBiome(biome));
} }
} }
model.setElevationArray(elevation); model.setElevationArray(elevation);
model.setBiome(biome); model.setBiome(biomeArr);
} }
} }