From f7065fe034aec40a3d988476210408b4c46da2a9 Mon Sep 17 00:00:00 2001 From: Vatuu <21113232+Vatuu@users.noreply.github.com> Date: Thu, 7 Jul 2022 22:54:54 +0200 Subject: [PATCH] Datenpackete werden nun in allen registrierten Welten generiert. --- .../volmit/iris/core/ServerConfigurator.java | 51 +++++-------------- 1 file changed, 12 insertions(+), 39 deletions(-) diff --git a/src/main/java/com/volmit/iris/core/ServerConfigurator.java b/src/main/java/com/volmit/iris/core/ServerConfigurator.java index 0d08255e2..e7d8bee09 100644 --- a/src/main/java/com/volmit/iris/core/ServerConfigurator.java +++ b/src/main/java/com/volmit/iris/core/ServerConfigurator.java @@ -30,6 +30,7 @@ import com.volmit.iris.util.format.C; import com.volmit.iris.util.io.IO; import com.volmit.iris.util.plugin.VolmitSender; import com.volmit.iris.util.scheduling.J; +import com.volmit.iris.util.scheduling.Queue; import org.bukkit.Bukkit; import org.bukkit.configuration.InvalidConfigurationException; import org.bukkit.configuration.file.FileConfiguration; @@ -38,6 +39,7 @@ import org.bukkit.entity.Player; import java.io.File; import java.io.IOException; +import java.util.List; import java.util.concurrent.TimeUnit; public class ServerConfigurator { @@ -82,43 +84,21 @@ public class ServerConfigurator { } } - private static File getDatapacksFolder() { + private static List getDatapacksFolder() { if(!IrisSettings.get().getGeneral().forceMainWorld.isEmpty()) { - return new File(IrisSettings.get().getGeneral().forceMainWorld + "/datapacks"); + return new KList().qadd(new File(IrisSettings.get().getGeneral().forceMainWorld + "/datapacks")); } - - File props = new File("server.properties"); - - if(props.exists()) { - try { - KList m = new KList<>(IO.readAll(props).split("\\Q\n\\E")); - - for(String i : m) { - if(i.trim().startsWith("level-name=")) { - return new File(i.trim().split("\\Q=\\E")[1] + "/datapacks"); - } - } - } catch(IOException e) { - Iris.reportError(e); - e.printStackTrace(); - } - } - - return null; + KList worlds = new KList<>(); + Bukkit.getServer().getWorlds().forEach(w -> worlds.add(new File(w.getWorldFolder(), "datapacks"))); + return worlds; } + public static void installDataPacks(boolean fullInstall) { Iris.info("Checking Data Packs..."); - boolean reboot = false; File packs = new File("plugins/Iris/packs"); - File dpacks = getDatapacksFolder(); - if(dpacks == null) { - Iris.error("Cannot find the datapacks folder! Please try generating a default world first maybe? Is this a new server?"); - return; - } - - if(packs.exists()) { + if(packs.exists()) { for(File i : packs.listFiles()) { if(i.isDirectory()) { Iris.verbose("Checking Pack: " + i.getPath()); @@ -135,8 +115,8 @@ public class ServerConfigurator { } Iris.verbose(" Checking Dimension " + dim.getLoadFile().getPath()); - if(dim.installDataPack(() -> data, dpacks)) { - reboot = true; + for(File dpack : getDatapacksFolder()) { + dim.installDataPack(() -> data, dpack); } } } @@ -147,19 +127,12 @@ public class ServerConfigurator { Iris.info("Data Packs Setup!"); - if(fullInstall) { + if(fullInstall) verifyDataPacksPost(IrisSettings.get().getAutoConfiguration().isAutoRestartOnCustomBiomeInstall()); - } } private static void verifyDataPacksPost(boolean allowRestarting) { File packs = new File("plugins/Iris/packs"); - File dpacks = getDatapacksFolder(); - - if(dpacks == null) { - Iris.error("Cannot find the datapacks folder! Please try generating a default world first maybe? Is this a new server?"); - return; - } boolean bad = false; if(packs.exists()) {