Made the load chunks code more efficient
This commit is contained in:
@@ -44,32 +44,14 @@ public class Superchunks {
|
|||||||
|
|
||||||
public static void loadChunks() {
|
public static void loadChunks() {
|
||||||
|
|
||||||
int chunkY = 0;
|
int chunkY = Player.getY() / (TILE_SIZE * SUPER_CHUNK_SIZE * CHUNK_SIZE);
|
||||||
int chunkX = 0;
|
int chunkX = Player.getX() / (TILE_SIZE * SUPER_CHUNK_SIZE * CHUNK_SIZE);
|
||||||
//Top-right
|
|
||||||
if (0 <= Player.getX() && 0 <= Player.getY()) {
|
|
||||||
chunkY = (Player.getY() / (TILE_SIZE * SUPER_CHUNK_SIZE * CHUNK_SIZE));
|
|
||||||
chunkX = (Player.getX() / (TILE_SIZE * SUPER_CHUNK_SIZE * CHUNK_SIZE));
|
|
||||||
}
|
|
||||||
//Top-left
|
|
||||||
else if (0 > Player.getX() && 0 < Player.getY()) {
|
|
||||||
chunkY = (Player.getY() / (TILE_SIZE * SUPER_CHUNK_SIZE * CHUNK_SIZE));
|
|
||||||
chunkX = ((Player.getX() - TILE_SIZE * SUPER_CHUNK_SIZE * CHUNK_SIZE) / (TILE_SIZE * SUPER_CHUNK_SIZE * CHUNK_SIZE));
|
|
||||||
}
|
|
||||||
//Bottom-left
|
|
||||||
else if (0 >= Player.getX()) {
|
|
||||||
chunkY = ((Player.getY() - TILE_SIZE * SUPER_CHUNK_SIZE * CHUNK_SIZE) / (TILE_SIZE * SUPER_CHUNK_SIZE * CHUNK_SIZE));
|
|
||||||
chunkX = ((Player.getX() - TILE_SIZE * SUPER_CHUNK_SIZE * CHUNK_SIZE) / (TILE_SIZE * SUPER_CHUNK_SIZE * CHUNK_SIZE));
|
|
||||||
}
|
|
||||||
//Bottom-right
|
|
||||||
else {
|
|
||||||
chunkY = ((Player.getY() - TILE_SIZE * SUPER_CHUNK_SIZE * CHUNK_SIZE) / (TILE_SIZE * SUPER_CHUNK_SIZE * CHUNK_SIZE));
|
|
||||||
chunkX = ((Player.getX()) / (TILE_SIZE * SUPER_CHUNK_SIZE * CHUNK_SIZE));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
if (0 > Player.getX()) chunkX /= (TILE_SIZE * SUPER_CHUNK_SIZE * CHUNK_SIZE); //Left
|
||||||
|
if (0 > Player.getY()) chunkY /= (TILE_SIZE * SUPER_CHUNK_SIZE * CHUNK_SIZE); //Down
|
||||||
|
|
||||||
for (int i = -(RENDER_DISTANCE+1); i < RENDER_DISTANCE+1; i++) {
|
for (int i = -(RENDER_DISTANCE); i < RENDER_DISTANCE; i++) {
|
||||||
for (int j = -(RENDER_DISTANCE+1); j < RENDER_DISTANCE+1; j++) {
|
for (int j = -(RENDER_DISTANCE); j < RENDER_DISTANCE; j++) {
|
||||||
generateSuperchunk(chunkX + i, chunkY + j);
|
generateSuperchunk(chunkX + i, chunkY + j);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user