diff --git a/Plugins/Mineplex.Core.Common/src/mineplex/core/common/api/enderchest/EnderchestWorldLoader.java b/Plugins/Mineplex.Core.Common/src/mineplex/core/common/api/enderchest/EnderchestWorldLoader.java
index 5a196c26e..c11615902 100644
--- a/Plugins/Mineplex.Core.Common/src/mineplex/core/common/api/enderchest/EnderchestWorldLoader.java
+++ b/Plugins/Mineplex.Core.Common/src/mineplex/core/common/api/enderchest/EnderchestWorldLoader.java
@@ -26,7 +26,7 @@ public class EnderchestWorldLoader
{
TimingManager.start(TIMINGS_PREFIX + "DownloadMap");
String fileName = mapType + "_map.zip";
- File f = _webCall.getFile("map/" + mapType + "/random", fileName);
+ File f = _webCall.getFile("map/" + mapType + "/next", fileName);
TimingManager.stop(TIMINGS_PREFIX + "DownloadMap");
TimingManager.start(TIMINGS_PREFIX + "CreateFolders");
diff --git a/Plugins/Nautilus.Game.Arcade.UHC.WorldGen/pom.xml b/Plugins/Nautilus.Game.Arcade.UHC.WorldGen/pom.xml
index 52ebd07c0..879b9a7c8 100644
--- a/Plugins/Nautilus.Game.Arcade.UHC.WorldGen/pom.xml
+++ b/Plugins/Nautilus.Game.Arcade.UHC.WorldGen/pom.xml
@@ -19,10 +19,20 @@
1.8.8-1.9-SNAPSHOT
compile
+
+ com.mineplex
+ mineplex-core
+ dev-SNAPSHOT
+
org.zeroturnaround
zt-zip
1.9
+
+ org.slf4j
+ slf4j-simple
+ 1.7.21
+
diff --git a/Plugins/Nautilus.Game.Arcade.UHC.WorldGen/src/nautilus/game/arcade/uhc/WorldGen.java b/Plugins/Nautilus.Game.Arcade.UHC.WorldGen/src/nautilus/game/arcade/uhc/WorldGen.java
index 2dd1a54be..da1bfe3a0 100644
--- a/Plugins/Nautilus.Game.Arcade.UHC.WorldGen/src/nautilus/game/arcade/uhc/WorldGen.java
+++ b/Plugins/Nautilus.Game.Arcade.UHC.WorldGen/src/nautilus/game/arcade/uhc/WorldGen.java
@@ -1,7 +1,29 @@
package nautilus.game.arcade.uhc;
+import java.io.ByteArrayInputStream;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.nio.charset.StandardCharsets;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.concurrent.ThreadLocalRandom;
+import java.util.concurrent.TimeUnit;
+import java.util.logging.Level;
+import java.util.zip.ZipEntry;
+
import net.minecraft.server.v1_8_R3.BiomeBase;
+
import org.apache.commons.io.FileUtils;
+import org.apache.http.HttpResponse;
+import org.apache.http.client.config.RequestConfig;
+import org.apache.http.client.methods.HttpPost;
+import org.apache.http.entity.StringEntity;
+import org.apache.http.impl.client.CloseableHttpClient;
+import org.apache.http.impl.client.HttpClientBuilder;
+import org.apache.http.message.BasicHeader;
+import org.apache.http.protocol.HTTP;
import org.bukkit.Bukkit;
import org.bukkit.Difficulty;
import org.bukkit.World;
@@ -14,20 +36,15 @@ import org.spigotmc.WatchdogThread;
import org.zeroturnaround.zip.ZipEntrySource;
import org.zeroturnaround.zip.ZipUtil;
-import java.io.ByteArrayInputStream;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.nio.charset.StandardCharsets;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.concurrent.ThreadLocalRandom;
-import java.util.logging.Level;
-import java.util.zip.ZipEntry;
+import com.google.gson.JsonObject;
+
+import mineplex.core.common.Constants;
+import mineplex.core.common.api.ApiHost;
public class WorldGen extends JavaPlugin implements Runnable, Listener
{
+ private static final int TIMEOUT = (int) TimeUnit.SECONDS.toMillis(10);
+
private static final int MIN_X = -1000;
private static final int MIN_Z = -1000;
private static final int MAX_X = 1000;
@@ -240,6 +257,41 @@ public class WorldGen extends JavaPlugin implements Runnable, Listener
FileUtils.deleteQuietly(worldFolder);
- getLogger().info("Finished generating world seed " + seed);
+ RequestConfig config = RequestConfig.custom()
+ .setConnectTimeout(TIMEOUT)
+ .setSocketTimeout(TIMEOUT)
+ .build();
+
+ CloseableHttpClient httpClient = HttpClientBuilder.create()
+ .setDefaultRequestConfig(config)
+ .build();
+
+ HttpPost request = new HttpPost("http://" + ApiHost.getEnderchestService().getHost() + ":" + ApiHost.getEnderchestService().getPort() + "/map/uhc/upload");
+ request.addHeader(new BasicHeader(HTTP.CONTENT_TYPE, "application/json"));
+
+ JsonObject jsonObject = new JsonObject();
+ jsonObject.addProperty("name", outputFile.getName());
+ jsonObject.addProperty("location", outputFile.toURI().toString());
+
+ request.setEntity(new StringEntity(Constants.GSON.toJson(jsonObject), StandardCharsets.UTF_8));
+
+ try
+ {
+ HttpResponse response = httpClient.execute(request);
+
+ if (response.getStatusLine().getStatusCode() != 200) {
+ getLogger().severe("Failed to upload " + seed + ": " + response.getStatusLine().getStatusCode() + " " + response.getStatusLine().getReasonPhrase());
+ } else {
+ getLogger().info("Uploaded " + seed + "!");
+ }
+ }
+ catch (IOException e)
+ {
+ e.printStackTrace();
+ }
+ finally
+ {
+ getLogger().info("Finished generating world seed " + seed);
+ }
}
}