package tk.captainsplexx.Terrain;
import java.util.ArrayList;
import org.lwjgl.util.vector.Vector3f;
import tk.captainsplexx.Player.PlayerEntity;
import tk.captainsplexx.Player.PlayerHandler;
public class TerrainHandler {
public ArrayList<Terrain> terrainList = new ArrayList<Terrain>();
public static float distance = 100f;
int maxX = 32;
int maxZ = 32;
public void generate(int idX, int idZ) {
terrainList.add(new Terrain(new Vector3f((float)idX*distance*maxX, 0.0f,(float)idZ*distance*maxZ), maxX, maxZ, distance));
}
public ArrayList<Terrain> getTerrainList() {
return terrainList;
}
public Terrain getCurrentTerrainOn(float x, float z){
/*for (Terrain terrain : terrainList) {
if ((terrain.points[0][0].getX() >= x && terrain.points[maxX-1][maxZ-1].getX() <= x)||
(terrain.points[0][0].getX() <= x && terrain.points[maxX-1][maxZ-1].getX() >= x)){
if ((terrain.points[0][0].getZ() >= z && terrain.points[maxX-1][maxZ-1].getZ() <= z)||
(terrain.points[0][0].getZ() <= z && terrain.points[maxX-1][maxZ-1].getZ() >= z)){
return terrain;
}
}
}*/
return null;
}
public int[] getCurrentTerrainID(Terrain current){
int[] id = new int[2];
int size = (int) (maxX*distance);
id[0] = (int) (current.points[0][0].getX()/size);
id[1] = (int) (current.points[0][0].getZ()/size);
return id;
}
public void collisionUpdate(PlayerHandler plH) {
PlayerEntity pe = plH.getPlayerEntity();
Terrain currentTerrain = getCurrentTerrainOn(pe.getPosX(), pe.getPosZ());
if (currentTerrain != null){
getCurrentTerrainID(currentTerrain);
}
}
}