diff --git a/src/main/java/com/volmit/iris/Iris.java b/src/main/java/com/volmit/iris/Iris.java index 2ab745545..bd839046e 100644 --- a/src/main/java/com/volmit/iris/Iris.java +++ b/src/main/java/com/volmit/iris/Iris.java @@ -85,7 +85,11 @@ import java.util.Objects; @SuppressWarnings("CanBeFinal") public class Iris extends VolmitPlugin implements Listener { + + public static final String OVERWORLD_TAG = "2086"; + private static final Queue syncJobs = new ShurikenQueue<>(); + public static Iris instance; public static BukkitAudiences audiences; public static MultiverseCoreLink linkMultiverseCore; diff --git a/src/main/java/com/volmit/iris/core/commands/CommandIris.java b/src/main/java/com/volmit/iris/core/commands/CommandIris.java index 80c35e463..382bef832 100644 --- a/src/main/java/com/volmit/iris/core/commands/CommandIris.java +++ b/src/main/java/com/volmit/iris/core/commands/CommandIris.java @@ -170,9 +170,13 @@ public class CommandIris implements DecreeExecutor { @Param(name = "overwrite", description = "Whether or not to overwrite the pack with the downloaded one", aliases = "force", defaultValue = "false") boolean overwrite ) { - branch = pack.equals("overworld") ? "stable" : branch; sender().sendMessage(C.GREEN + "Downloading pack: " + pack + "/" + branch + (trim ? " trimmed" : "") + (overwrite ? " overwriting" : "")); - Iris.service(StudioSVC.class).downloadSearch(sender(), "IrisDimensions/" + pack + "/" + branch, trim, overwrite); + if(pack.equals("overworld")) { + String url = "https://github.com/IrisDimensions/overworld/releases/download/" + Iris.OVERWORLD_TAG + "/overworld.zip"; + Iris.service(StudioSVC.class).downloadRelease(sender(), url, trim, overwrite); + } else { + Iris.service(StudioSVC.class).downloadSearch(sender(), "IrisDimensions/" + pack + "/" + branch, trim, overwrite); + } } @Decree(description = "Get metrics for your world", aliases = "measure", origin = DecreeOrigin.PLAYER) diff --git a/src/main/java/com/volmit/iris/core/service/StudioSVC.java b/src/main/java/com/volmit/iris/core/service/StudioSVC.java index d9ae1a9c6..e97ca5440 100644 --- a/src/main/java/com/volmit/iris/core/service/StudioSVC.java +++ b/src/main/java/com/volmit/iris/core/service/StudioSVC.java @@ -171,7 +171,7 @@ public class StudioSVC implements IrisService { String[] nodes = url.split("\\Q/\\E"); String repo = nodes.length == 1 ? "IrisDimensions/" + nodes[0] : nodes[0] + "/" + nodes[1]; branch = nodes.length > 2 ? nodes[2] : branch; - download(sender, repo, branch, trim, forceOverwrite); + download(sender, repo, branch, trim, forceOverwrite, false); } catch(Throwable e) { Iris.reportError(e); e.printStackTrace(); @@ -179,12 +179,22 @@ public class StudioSVC implements IrisService { } } - public void download(VolmitSender sender, String repo, String branch, boolean trim) throws JsonSyntaxException, IOException { - download(sender, repo, branch, trim, false); + public void downloadRelease(VolmitSender sender, String url, boolean trim, boolean forceOverwrite) { + try { + download(sender, "IrisDimensions", url, trim, forceOverwrite, true); + } catch(Throwable e) { + Iris.reportError(e); + e.printStackTrace(); + sender.sendMessage("Failed to download 'IrisDimensions/overworld' from " + url + "."); + } } - public void download(VolmitSender sender, String repo, String branch, boolean trim, boolean forceOverwrite) throws JsonSyntaxException, IOException { - String url = "https://codeload.github.com/" + repo + "/zip/refs/heads/" + branch; + public void download(VolmitSender sender, String repo, String branch, boolean trim) throws JsonSyntaxException, IOException { + download(sender, repo, branch, trim, false, false); + } + + public void download(VolmitSender sender, String repo, String branch, boolean trim, boolean forceOverwrite, boolean directUrl) throws JsonSyntaxException, IOException { + String url = directUrl ? branch : "https://codeload.github.com/" + repo + "/zip/refs/heads/" + branch; sender.sendMessage("Downloading " + url + " "); //The extra space stops a bug in adventure API from repeating the last letter of the URL File zip = Iris.getNonCachedFile("pack-" + trim + "-" + repo, url); File temp = Iris.getTemp();