diff --git a/src/main/java/de/fanta/challenges/commands/reset/ResetCommand.java b/src/main/java/de/fanta/challenges/commands/reset/ResetCommand.java index 8fa6d69..c50a9ae 100644 --- a/src/main/java/de/fanta/challenges/commands/reset/ResetCommand.java +++ b/src/main/java/de/fanta/challenges/commands/reset/ResetCommand.java @@ -3,7 +3,6 @@ import de.fanta.challenges.Challenges; import de.fanta.challenges.guis.ResetGui; import de.fanta.challenges.utils.ChatUtil; -import de.fanta.challenges.commands.BackpackCommand; import de.iani.cubesideutils.bukkit.commands.SubCommand; import de.iani.cubesideutils.commands.ArgsParser; import org.bukkit.command.Command; @@ -17,7 +16,6 @@ public ResetCommand(Challenges plugin) { this.plugin = plugin; } - BackpackCommand backpack; @Override public boolean onCommand(CommandSender sender, Command command, String alias, String commandString, ArgsParser args) { diff --git a/src/main/java/de/fanta/challenges/commands/reset/ResetConfirmCommand.java b/src/main/java/de/fanta/challenges/commands/reset/ResetConfirmCommand.java index 5bde390..2763b61 100644 --- a/src/main/java/de/fanta/challenges/commands/reset/ResetConfirmCommand.java +++ b/src/main/java/de/fanta/challenges/commands/reset/ResetConfirmCommand.java @@ -14,11 +14,13 @@ import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; +import javax.annotation.Nullable; import java.io.BufferedReader; import java.io.FileOutputStream; import java.io.FileReader; import java.io.IOException; import java.util.Properties; +import java.util.logging.Level; public class ResetConfirmCommand extends SubCommand { @@ -31,24 +33,14 @@ @Override public boolean onCommand(CommandSender sender, Command command, String alias, String commandString, ArgsParser args) { if ((sender instanceof Player && plugin.isEditor((Player) sender)) || sender.hasPermission("Challenges.editor.override")) { - try { - BufferedReader in = new BufferedReader(new FileReader("server.properties")); - Properties props = new Properties(); - props.load(in); - in.close(); - if (args.hasNext()) { //TODO Immer false??? Why ??? - String seed = args.getNext(); - props.setProperty("level-seed", seed); - } else { - props.setProperty("level-seed", ""); - } - FileOutputStream out = new FileOutputStream("server.properties"); - props.store(out, null); - out.close(); - } catch (IOException e) { - e.printStackTrace(); + if (args.hasNext()) { + String seed = args.getNext(); + setSeedInServerProperties(seed); + } else { + setSeedInServerProperties(null); } + plugin.setWaitingForShutdown(true); plugin.getTimer().stopTimer(); plugin.getTimer().setTime(0); Bukkit.getPluginManager().callEvent(new EventStatusChangedEvent(false)); @@ -70,7 +62,6 @@ if (plugin.getConfig().getBoolean("firsttimerstart")) { SaveWorldUtils.saveWorld(plugin.getFirstEditor().getUniqueId().toString(), true); } - plugin.setWaitingForShutdown(true); Bukkit.getScheduler().scheduleSyncDelayedTask(plugin, Bukkit::shutdown, 60); } else if (plugin.getCurrentEditor() != null) { @@ -83,4 +74,23 @@ } return true; } + + public void setSeedInServerProperties(@Nullable String seed) { + try { + BufferedReader in = new BufferedReader(new FileReader("server.properties")); + Properties props = new Properties(); + props.load(in); + in.close(); + if (seed != null) { + props.setProperty("level-seed", seed); + } else { + props.setProperty("level-seed", ""); + } + FileOutputStream out = new FileOutputStream("server.properties"); + props.store(out, null); + out.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } } diff --git a/src/main/java/de/fanta/challenges/guis/ResetGui.java b/src/main/java/de/fanta/challenges/guis/ResetGui.java index f68da50..1389758 100644 --- a/src/main/java/de/fanta/challenges/guis/ResetGui.java +++ b/src/main/java/de/fanta/challenges/guis/ResetGui.java @@ -19,17 +19,12 @@ private static final Challenges plugin = Challenges.getPlugin(); private static final int RESET_INDEX = 2; - private static final int SEED_INDEX = 4; - public static final int INVENTORY_SIZE = 5; public static final Inventory RESET_GUI = Bukkit.createInventory(null, InventoryType.HOPPER, plugin.getGUIPREFIX() + " >> Reset"); - public static String seed = ""; - public static void createResetGUI(Player p) { RESET_GUI.setItem(RESET_INDEX, GUIUtils.createGuiItem(Material.REPEATING_COMMAND_BLOCK, ChatColor.DARK_RED + "Server resetten", ChatUtil.RED + "Wenn du denn Server resettest wird", ChatUtil.RED + "der Server komplett zurückgesetzt", ChatUtil.RED + "und du musst von vorne beginnen!")); - RESET_GUI.setItem(SEED_INDEX, GUIUtils.createGuiItem(Material.FILLED_MAP, ChatUtil.GREEN + "Seed: " + seed)); for (int i = 0; i < INVENTORY_SIZE; i++) { ItemStack item = RESET_GUI.getItem(i); if (item == null || item.getType() == Material.AIR) { @@ -44,7 +39,7 @@ int slot = e.getRawSlot(); if (RESET_GUI.equals(e.getClickedInventory())) { if (slot == RESET_INDEX) { - Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "reset confirm " + plugin.getConfig().getBoolean("1-18-datapack") + " " + seed); + Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "reset confirm"); } e.setCancelled(true); } diff --git a/src/main/java/de/fanta/challenges/listeners/QuitJoinListener.java b/src/main/java/de/fanta/challenges/listeners/QuitJoinListener.java index 72b7a5d..381c0e8 100644 --- a/src/main/java/de/fanta/challenges/listeners/QuitJoinListener.java +++ b/src/main/java/de/fanta/challenges/listeners/QuitJoinListener.java @@ -108,7 +108,9 @@ plugin.startResetTask(); Challenges.LOGGER.info("Player Reset Task " + (Bukkit.getServer().getOnlinePlayers().size())); } else { - Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "reset confirm"); + if (!plugin.isWaitingForShutdown()) { + Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "reset confirm"); + } } }