diff --git a/Essentials/src/main/java/com/earth2me/essentials/RandomTeleport.java b/Essentials/src/main/java/com/earth2me/essentials/RandomTeleport.java index b1c1cb417..f020a2cca 100644 --- a/Essentials/src/main/java/com/earth2me/essentials/RandomTeleport.java +++ b/Essentials/src/main/java/com/earth2me/essentials/RandomTeleport.java @@ -206,4 +206,8 @@ public class RandomTeleport implements IConf { private boolean isValidRandomLocation(final Location location) { return location.getBlockY() > ess.getWorldInfoProvider().getMinHeight(location.getWorld()) && !this.getExcludedBiomes().contains(location.getBlock().getBiome()); } + + public File getFile() { + return config.getFile(); + } } diff --git a/Essentials/src/main/java/com/earth2me/essentials/Worth.java b/Essentials/src/main/java/com/earth2me/essentials/Worth.java index dc9e64058..f8c4af03b 100644 --- a/Essentials/src/main/java/com/earth2me/essentials/Worth.java +++ b/Essentials/src/main/java/com/earth2me/essentials/Worth.java @@ -149,6 +149,10 @@ public class Worth implements IConf { config.save(); } + public File getFile() { + return config.getFile(); + } + @Override public void reloadConfig() { config.load(); diff --git a/Essentials/src/main/java/com/earth2me/essentials/commands/Commandessentials.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandessentials.java index d5c556894..9dd3fdd60 100644 --- a/Essentials/src/main/java/com/earth2me/essentials/commands/Commandessentials.java +++ b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandessentials.java @@ -258,6 +258,7 @@ public class Commandessentials extends EssentialsCommand { files.add(new PasteUtil.PasteFile("dump.json", dump.toString())); final Plugin essDiscord = Bukkit.getPluginManager().getPlugin("EssentialsDiscord"); + final Plugin essSpawn = Bukkit.getPluginManager().getPlugin("EssentialsSpawn"); // Further operations will be heavy IO ess.runTaskAsynchronously(() -> { @@ -265,12 +266,18 @@ public class Commandessentials extends EssentialsCommand { boolean discord = false; boolean kits = false; boolean log = false; + boolean worth = false; + boolean tpr = false; + boolean spawns = false; for (final String arg : args) { if (arg.equals("*") || arg.equalsIgnoreCase("all")) { config = true; discord = true; kits = true; log = true; + worth = true; + tpr = true; + spawns = true; break; } else if (arg.equalsIgnoreCase("config")) { config = true; @@ -280,6 +287,12 @@ public class Commandessentials extends EssentialsCommand { kits = true; } else if (arg.equalsIgnoreCase("log")) { log = true; + } else if (arg.equalsIgnoreCase("worth")) { + worth = true; + } else if (arg.equalsIgnoreCase("tpr")) { + tpr = true; + } else if (arg.equalsIgnoreCase("spawns")) { + spawns = true; } } @@ -319,6 +332,30 @@ public class Commandessentials extends EssentialsCommand { } } + if (worth) { + try { + files.add(new PasteUtil.PasteFile("worth.yml", new String(Files.readAllBytes(ess.getWorth().getFile().toPath()), StandardCharsets.UTF_8))); + } catch (IOException e) { + sender.sendMessage(tl("dumpErrorUpload", "worth.yml", e.getMessage())); + } + } + + if (tpr) { + try { + files.add(new PasteUtil.PasteFile("tpr.yml", new String(Files.readAllBytes(ess.getRandomTeleport().getFile().toPath()), StandardCharsets.UTF_8))); + } catch (IOException e) { + sender.sendMessage(tl("dumpErrorUpload", "tpr.yml", e.getMessage())); + } + } + + if (spawns && essSpawn != null) { + try { + files.add(new PasteUtil.PasteFile("spawn.yml", new String(Files.readAllBytes(ess.getDataFolder().toPath().resolve("spawn.yml")), StandardCharsets.UTF_8))); + } catch (IOException e) { + sender.sendMessage(tl("dumpErrorUpload", "spawn.yml", e.getMessage())); + } + } + final CompletableFuture future = PasteUtil.createPaste(files); future.thenAccept(result -> { if (result != null) { @@ -719,7 +756,7 @@ public class Commandessentials extends EssentialsCommand { } break; case "dump": - final List list = Lists.newArrayList("config", "kits", "log", "discord", "all"); + final List list = Lists.newArrayList("config", "kits", "log", "discord", "worth", "tpr", "spawns", "all"); for (String arg : args) { if (arg.equals("*") || arg.equalsIgnoreCase("all")) { list.clear();