diff --git a/lint/proguard.conf b/lint/proguard.conf index a8b6b0dba..927c04982 100644 --- a/lint/proguard.conf +++ b/lint/proguard.conf @@ -4,6 +4,7 @@ -libraryjars 'C:\Program Files\Java\jre1.8.0_221\lib\rt.jar' -libraryjars lib +-dontwarn org.slf4j.** -dontskipnonpubliclibraryclassmembers -dontshrink -optimizations !code/simplification/advanced,code/simplification/* diff --git a/pom.xml b/pom.xml index 83f625a98..796acc142 100644 --- a/pom.xml +++ b/pom.xml @@ -43,11 +43,6 @@ false - - - org.slf4j:* - - diff --git a/src/main/java/com/volmit/iris/Iris.java b/src/main/java/com/volmit/iris/Iris.java index 13285a4d2..24ff491fc 100644 --- a/src/main/java/com/volmit/iris/Iris.java +++ b/src/main/java/com/volmit/iris/Iris.java @@ -133,20 +133,24 @@ public class Iris extends MortarPlugin public void onDisable() { - proj.close(); - - for(World i : Bukkit.getWorlds()) + if(IrisSettings.get().isStudio()) { - if(i.getGenerator() instanceof IrisChunkGenerator) + proj.close(); + + for(World i : Bukkit.getWorlds()) { - ((IrisChunkGenerator) i.getGenerator()).close(); + if(i.getGenerator() instanceof IrisChunkGenerator) + { + ((IrisChunkGenerator) i.getGenerator()).close(); + } + } + + for(GroupedExecutor i : executors) + { + i.close(); } } - for(GroupedExecutor i : executors) - { - i.close(); - } - + executors.clear(); board.disable(); Bukkit.getScheduler().cancelTasks(this); diff --git a/src/main/java/com/volmit/iris/command/CommandIrisCreate.java b/src/main/java/com/volmit/iris/command/CommandIrisCreate.java index aa399c870..735f29502 100644 --- a/src/main/java/com/volmit/iris/command/CommandIrisCreate.java +++ b/src/main/java/com/volmit/iris/command/CommandIrisCreate.java @@ -1,13 +1,14 @@ package com.volmit.iris.command; import java.io.File; +import java.io.IOException; import org.bukkit.Bukkit; import org.bukkit.World; import org.bukkit.WorldCreator; import org.bukkit.WorldType; -import org.bukkit.entity.Player; import org.zeroturnaround.zip.ZipUtil; +import org.zeroturnaround.zip.commons.FileUtils; import com.volmit.iris.Iris; import com.volmit.iris.IrisDataManager; @@ -15,6 +16,7 @@ import com.volmit.iris.IrisSettings; import com.volmit.iris.gen.IrisChunkGenerator; import com.volmit.iris.object.IrisDimension; import com.volmit.iris.util.Form; +import com.volmit.iris.util.IO; import com.volmit.iris.util.J; import com.volmit.iris.util.MortarCommand; import com.volmit.iris.util.MortarSender; @@ -86,7 +88,38 @@ public class CommandIrisCreate extends MortarCommand Iris.globaldata.dump(); Iris.globaldata.preferFolder(null); Iris.proj.downloadSearch(sender, type, false); - ZipUtil.unpack(Iris.proj.compilePackage(sender, type, true, true), iris); + File downloaded = Iris.instance.getDataFolder("packs", type); + + for(File i : downloaded.listFiles()) + { + if(i.isFile()) + { + try + { + FileUtils.copyFile(i, new File(iris, i.getName())); + } + + catch(IOException e) + { + e.printStackTrace(); + } + } + + else + { + try + { + FileUtils.copyDirectory(i, new File(iris, i.getName())); + } + + catch(IOException e) + { + e.printStackTrace(); + } + } + } + + IO.delete(downloaded); } if(!dimf.exists() || !dimf.isFile()) @@ -169,27 +202,11 @@ public class CommandIrisCreate extends MortarCommand { world.save(); - for(Player i : world.getPlayers()) - { - i.kickPlayer("Please Rejoin in a different world."); - } - - if(!Bukkit.unloadWorld(world, true)) - { - sender.sendMessage("Couldn't unload the world for some reason.... Aborting zip."); - return; - } - if(Iris.linkMultiverseCore.supported()) { Iris.linkMultiverseCore.addWorld(worldName, dimm, seedd + ""); sender.sendMessage("Added " + worldName + " to MultiverseCore."); } - - else - { - sender.sendMessage("No MVC?"); - } sender.sendMessage("All Done!"); }); diff --git a/src/main/java/com/volmit/iris/command/CommandIrisPregen.java b/src/main/java/com/volmit/iris/command/CommandIrisPregen.java index 97b1c7863..84f546e20 100644 --- a/src/main/java/com/volmit/iris/command/CommandIrisPregen.java +++ b/src/main/java/com/volmit/iris/command/CommandIrisPregen.java @@ -21,6 +21,12 @@ public class CommandIrisPregen extends MortarCommand @Override public boolean handle(MortarSender sender, String[] args) { + if(args.length == 0) + { + sender.sendMessage("/iris pregen "); + return true; + } + if(args[0].equalsIgnoreCase("stop")) { if(PregenJob.task == -1)