Renderer/src/main/java/electrosphere/server/datacell/EnvironmentGenerator.java
2023-01-28 22:23:01 -05:00

36 lines
1.5 KiB
Java

package electrosphere.server.datacell;
import electrosphere.engine.Globals;
import electrosphere.entity.Entity;
import electrosphere.entity.EntityUtils;
import electrosphere.entity.types.collision.CollisionObjUtils;
import electrosphere.entity.types.foliage.FoliageUtils;
import java.util.List;
import java.util.Random;
import org.joml.Quaternionf;
import org.joml.Vector3f;
/**
*
* @author amaterasu
*/
public class EnvironmentGenerator {
public static void generatePlains(List<Entity> entityList, int worldX, int worldY, long randomizer){
Random rand = new Random(randomizer);
int targetNum = (int)(rand.nextFloat() * 10) + 10;
for(int i = 0; i < targetNum; i++){
Entity newTree = FoliageUtils.spawnBasicFoliage("FallOak1");
entityList.add(newTree);
double posX = worldX * Globals.serverWorldData.getDynamicInterpolationRatio() + (float)(rand.nextFloat() * Globals.serverWorldData.getDynamicInterpolationRatio());
double posZ = worldY * Globals.serverWorldData.getDynamicInterpolationRatio() + (float)(rand.nextFloat() * Globals.serverWorldData.getDynamicInterpolationRatio());
double posY = Globals.serverTerrainManager.getHeightAtPosition(posX, posZ);
// System.out.println("Spawning tree at: " + posX + "," + posY + "," + posZ);
// CollisionObjUtils.positionCharacter(newTree, new Vector3f(posX,posY,posZ));
EntityUtils.getPosition(newTree).set(posX,posY,posZ);
}
}
}