diff --git a/src/main/java/net/minecraft/server/management/ServerConfigurationManager.java b/src/main/java/net/minecraft/server/management/ServerConfigurationManager.java index e63bb08..36960ea 100644 --- a/src/main/java/net/minecraft/server/management/ServerConfigurationManager.java +++ b/src/main/java/net/minecraft/server/management/ServerConfigurationManager.java @@ -276,6 +276,7 @@ func_72375_a(par1EntityPlayerMP, (WorldServer)null); } }); + worldserver.theChunkProviderServer.loadAsyncRadius(cx, cz, 1, IChunkLoadCallback.EMPTY); } for (int i = 0; i < this.playerEntityList.size(); ++i) diff --git a/src/main/java/net/minecraft/world/gen/ChunkProviderServer.java b/src/main/java/net/minecraft/world/gen/ChunkProviderServer.java index a216998..b06cc19 100644 --- a/src/main/java/net/minecraft/world/gen/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/world/gen/ChunkProviderServer.java @@ -421,6 +421,13 @@ } } + public void loadAsyncRadius(int cx, int cz, int radius, IChunkLoadCallback callback) + { + for(int x = cx - radius; x <= cx + radius; x++) + for(int z = cz - radius; z <= cz + radius; z++) + loadAsync(x, z, callback); + } + public Chunk getChunkIfExists(int cx, int cz) { return loadedChunkHashMap.get(cx, cz); diff --git a/src/main/java/org/ultramine/server/chunk/IChunkLoadCallback.java b/src/main/java/org/ultramine/server/chunk/IChunkLoadCallback.java index a4ca323..f31e4ca 100644 --- a/src/main/java/org/ultramine/server/chunk/IChunkLoadCallback.java +++ b/src/main/java/org/ultramine/server/chunk/IChunkLoadCallback.java @@ -4,5 +4,7 @@ public interface IChunkLoadCallback { + public static final IChunkLoadCallback EMPTY = new IChunkLoadCallback(){public void onChunkLoaded(Chunk chunk){}}; + public void onChunkLoaded(Chunk chunk); }