From 7d78c69b6edc27d065961780297e3a5841772485 Mon Sep 17 00:00:00 2001 From: Vatuu <21113232+Vatuu@users.noreply.github.com> Date: Fri, 1 Jul 2022 18:40:13 +0200 Subject: [PATCH 1/4] /iris create now registers to bukkit.yml --- .../volmit/iris/core/tools/IrisCreator.java | 25 +++++++++++++++++-- src/main/resources/plugin.yml | 4 +-- 2 files changed, 25 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/volmit/iris/core/tools/IrisCreator.java b/src/main/java/com/volmit/iris/core/tools/IrisCreator.java index 3581832e5..39c6fcc1a 100644 --- a/src/main/java/com/volmit/iris/core/tools/IrisCreator.java +++ b/src/main/java/com/volmit/iris/core/tools/IrisCreator.java @@ -38,8 +38,11 @@ import org.bukkit.GameRule; import org.bukkit.Location; import org.bukkit.World; import org.bukkit.WorldCreator; +import org.bukkit.configuration.ConfigurationSection; +import org.bukkit.configuration.file.YamlConfiguration; import java.io.File; +import java.io.IOException; import java.util.concurrent.CompletableFuture; import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicReference; @@ -174,7 +177,8 @@ public class IrisCreator { world.get().setTime(6000); } }); - } + } else + addToBukkitYml(); if(pregen != null) { CompletableFuture ff = new CompletableFuture<>(); @@ -204,7 +208,24 @@ public class IrisCreator { e.printStackTrace(); } } - return world.get(); } + + private static final File BUKKIT_YML = new File(Bukkit.getServer().getWorldContainer(), "bukkit.yml"); + + private void addToBukkitYml() { + YamlConfiguration yml = YamlConfiguration.loadConfiguration(BUKKIT_YML); + String gen = "Iris:" + dimension; + ConfigurationSection section = yml.contains("worlds") ? yml.getConfigurationSection("worlds") : yml.createSection("worlds"); + if(!section.contains(name)) { + section.createSection(name).set("generator", gen); + try { + yml.save(BUKKIT_YML); + Iris.info("Registered \"" + name + "\" in bukkit.yml"); + } catch(IOException e) { + Iris.error("Failed to update bukkit.yml!"); + e.printStackTrace(); + } + } + } } diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index bdc0fb9c9..f00299923 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -2,7 +2,7 @@ name: ${name} version: ${version} main: ${main} load: STARTUP -authors: [ cyberpwn, NextdoorPsycho ] +authors: [ cyberpwn, NextdoorPsycho. Vatuu ] website: volmit.com description: More than a Dimension! libraries: @@ -22,4 +22,4 @@ commands: aliases: [ ir, irs ] api-version: ${apiversion} hotload-dependencies: false -softdepend: [ "Oraxen", "ItemsAdder", "IrisFeller", "WorldEdit"] \ No newline at end of file +softdepend: [ "Oraxen", "ItemsAdder", "IrisFeller", "WorldEdit", "PlaceholderAPI"] \ No newline at end of file From 1c3668047b7289f3855b93b735aef83ca09a0b61 Mon Sep 17 00:00:00 2001 From: Vatuu <21113232+Vatuu@users.noreply.github.com> Date: Fri, 1 Jul 2022 20:59:54 +0200 Subject: [PATCH 2/4] Fixed PlaceholderAPI issues. --- .../com/volmit/iris/core/link/IrisPapiExpansion.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/volmit/iris/core/link/IrisPapiExpansion.java b/src/main/java/com/volmit/iris/core/link/IrisPapiExpansion.java index 116eb4839..f0c6c1da5 100644 --- a/src/main/java/com/volmit/iris/core/link/IrisPapiExpansion.java +++ b/src/main/java/com/volmit/iris/core/link/IrisPapiExpansion.java @@ -20,6 +20,7 @@ package com.volmit.iris.core.link; import com.volmit.iris.Iris; import com.volmit.iris.core.tools.IrisToolbelt; +import com.volmit.iris.engine.object.IrisBiome; import com.volmit.iris.engine.platform.PlatformChunkGenerator; import me.clip.placeholderapi.expansion.PlaceholderExpansion; import org.bukkit.Location; @@ -59,15 +60,15 @@ public class IrisPapiExpansion extends PlaceholderExpansion { if(p.equalsIgnoreCase("biome_name")) { if(a != null) { - return a.getEngine().getBiome(l).getName(); + return getBiome(a, l).getName(); } } else if(p.equalsIgnoreCase("biome_id")) { if(a != null) { - return a.getEngine().getBiome(l).getLoadKey(); + return getBiome(a, l).getLoadKey(); } } else if(p.equalsIgnoreCase("biome_file")) { if(a != null) { - return a.getEngine().getBiome(l).getLoadFile().getPath(); + return getBiome(a, l).getLoadFile().getPath(); } } else if(p.equalsIgnoreCase("region_name")) { if(a != null) { @@ -107,4 +108,8 @@ public class IrisPapiExpansion extends PlaceholderExpansion { return null; } + + private IrisBiome getBiome(PlatformChunkGenerator a, Location l) { + return a.getEngine().getBiome(l.getBlockX(), l.getBlockY() - l.getWorld().getMinHeight(), l.getBlockZ()); + } } From 41477e4aa61bc39056ff228eb40970e14a7215e3 Mon Sep 17 00:00:00 2001 From: Vatuu <21113232+Vatuu@users.noreply.github.com> Date: Sat, 2 Jul 2022 01:03:18 +0200 Subject: [PATCH 3/4] Made the overworld use releases instead. (Hack) --- src/main/java/com/volmit/iris/Iris.java | 4 ++++ .../iris/core/commands/CommandIris.java | 8 ++++++-- .../volmit/iris/core/service/StudioSVC.java | 20 ++++++++++++++----- 3 files changed, 25 insertions(+), 7 deletions(-) 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(); From e523d3c16651c02f2d1867d320afb88e6efbf006 Mon Sep 17 00:00:00 2001 From: Vatuu <21113232+Vatuu@users.noreply.github.com> Date: Sat, 2 Jul 2022 01:04:39 +0200 Subject: [PATCH 4/4] V+ --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index b1fd3587d..e440cb2b9 100644 --- a/build.gradle +++ b/build.gradle @@ -24,7 +24,7 @@ plugins { id "de.undercouch.download" version "5.0.1" } -version '2.2.1-1.19' // Needs to be version specific +version '2.2.2-1.19' // Needs to be version specific def nmsVersion = "1.19" def apiVersion = '1.19' def spigotJarVersion = '1.19-R0.1-SNAPSHOT'