Skip to content

Commit

Permalink
Added fix for issue #4
Browse files Browse the repository at this point in the history
  • Loading branch information
gecgooden committed Mar 21, 2015
1 parent 116b019 commit e357415
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 13 deletions.
2 changes: 1 addition & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@

apply plugin: 'forge'

version = "1.7.10-1.2.2"
version = "1.7.10-1.2.3"
group= "com.gecgooden.chunkgen" // http://maven.apache.org/guides/mini/guide-naming-conventions.html
archivesBaseName = "chunkgen"

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ public void onServerTick(TickEvent.ServerTickEvent event) {
for(int i = 0; i < Reference.numChunksPerTick; i++) {
ChunkPosition cp = Reference.toGenerate.poll();
if(cp != null) {
Utilities.generateChunk(cp.getX(), cp.getZ(), cp.getDimensionID());
Utilities.generateChunk(null, cp.getX(), cp.getZ(), cp.getDimensionID());
float completedPercentage = 1 - (float)Reference.toGenerate.size()/(float)Reference.startingSize;
if(tickCounter == Reference.tickDelay) {
Reference.logger.info("percentage: " + completedPercentage);
Expand Down
24 changes: 13 additions & 11 deletions src/main/java/com/gecgooden/chunkgen/util/Utilities.java
Original file line number Diff line number Diff line change
Expand Up @@ -20,27 +20,29 @@ public static void generateChunks(int x, int z, int width, int height, int dimen
List<Chunk> chunks = new ArrayList<Chunk>(width*height);
for(int i = (x - width/2); i < (x + width/2); i++) {
for(int j = (z - height/2); j < (z + height/2); j++) {
if(!cps.chunkExists(i, j)) {
chunks.add(cps.loadChunk(i, j));
cps.saveChunks(true, null);
}
Reference.logger.info("Loaded Chunk at " + i + " " + j + " " + dimensionID);
generateChunk(null, i, j, dimensionID);
}
}
for(Chunk c : chunks) {
cps.unloadChunksIfNotNearSpawn(c.xPosition, c.zPosition);
}
}

public static void generateChunk(int x, int z, int dimensionID) {
ChunkProviderServer cps = MinecraftServer.getServer().worldServerForDimension(dimensionID).theChunkProviderServer;
if(!cps.chunkExists(x, z)) {
private static boolean chunksExist(ChunkProviderServer cps, int x, int z) {
return cps.chunkExists(x, z) && cps.chunkExists(x, z+1) && cps.chunkExists(x+1, z) && cps.chunkExists(x+1, z+1);
}

public static void generateChunk(ChunkProviderServer cps, int x, int z, int dimensionID) {
if(cps == null) {
cps = MinecraftServer.getServer().worldServerForDimension(dimensionID).theChunkProviderServer;
}
if(!chunksExist(cps, x, z)) {
cps.loadChunk(x, z);

cps.loadChunk(x, z+1);
cps.loadChunk(x, z-1);
cps.loadChunk(x+1, z);
cps.loadChunk(x-1, z);
cps.loadChunk(x+1, z+1);

cps.loadChunk(x, z);
// cps.unloadChunksIfNotNearSpawn(x, z);
//
// cps.unloadChunksIfNotNearSpawn(x, z+1);
Expand Down

0 comments on commit e357415

Please sign in to comment.