From 655e14b36e8b90eebd498c0d7b99a4e6ff1a8aae Mon Sep 17 00:00:00 2001 From: Myles Date: Fri, 30 Sep 2016 16:30:28 +0100 Subject: [PATCH] Make dumping pretty print + add Bungee dumping --- .../{Bungee.java => BungeePlugin.java} | 18 ++++++++++++++++-- bungee/src/main/resources/bungee.yml | 4 ++-- .../commands/defaultsubs/DumpSubCmd.java | 2 +- 3 files changed, 19 insertions(+), 5 deletions(-) rename bungee/src/main/java/us/myles/ViaVersion/{Bungee.java => BungeePlugin.java} (84%) diff --git a/bungee/src/main/java/us/myles/ViaVersion/Bungee.java b/bungee/src/main/java/us/myles/ViaVersion/BungeePlugin.java similarity index 84% rename from bungee/src/main/java/us/myles/ViaVersion/Bungee.java rename to bungee/src/main/java/us/myles/ViaVersion/BungeePlugin.java index f60c51d9c..425a158db 100644 --- a/bungee/src/main/java/us/myles/ViaVersion/Bungee.java +++ b/bungee/src/main/java/us/myles/ViaVersion/BungeePlugin.java @@ -19,11 +19,16 @@ import us.myles.ViaVersion.bungee.commands.BungeeCommand; import us.myles.ViaVersion.bungee.commands.BungeeCommandHandler; import us.myles.ViaVersion.bungee.commands.BungeeCommandSender; import us.myles.ViaVersion.bungee.platform.*; +import us.myles.ViaVersion.dump.PluginInfo; +import us.myles.ViaVersion.util.GsonUtil; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; import java.util.UUID; import java.util.concurrent.TimeUnit; -public class Bungee extends Plugin implements ViaPlatform, Listener { +public class BungeePlugin extends Plugin implements ViaPlatform, Listener { private BungeeViaAPI api; private BungeeConfigAPI config; @@ -137,7 +142,16 @@ public class Bungee extends Plugin implements ViaPlatform, Listener { @Override public JsonObject getDump() { - return new JsonObject(); + JsonObject platformSpecific = new JsonObject(); + + List plugins = new ArrayList<>(); + for (Plugin p : ProxyServer.getInstance().getPluginManager().getPlugins()) + plugins.add(new PluginInfo(true, p.getDescription().getName(), p.getDescription().getVersion(), p.getDescription().getMain(), Arrays.asList(p.getDescription().getAuthor()))); + + platformSpecific.add("plugins", GsonUtil.getGson().toJsonTree(plugins)); + // TODO more? ProtocolLib things etc? + + return platformSpecific; } @EventHandler diff --git a/bungee/src/main/resources/bungee.yml b/bungee/src/main/resources/bungee.yml index 216d2e7cf..37b6dc108 100644 --- a/bungee/src/main/resources/bungee.yml +++ b/bungee/src/main/resources/bungee.yml @@ -1,4 +1,4 @@ name: ViaVersion -main: us.myles.ViaVersion.Bungee -author: _MylesC +main: us.myles.ViaVersion.BungeePlugin +author: _MylesC, Matsv version: ${project.version} \ No newline at end of file diff --git a/common/src/main/java/us/myles/ViaVersion/commands/defaultsubs/DumpSubCmd.java b/common/src/main/java/us/myles/ViaVersion/commands/defaultsubs/DumpSubCmd.java index afe0ac19f..6c99ee559 100644 --- a/common/src/main/java/us/myles/ViaVersion/commands/defaultsubs/DumpSubCmd.java +++ b/common/src/main/java/us/myles/ViaVersion/commands/defaultsubs/DumpSubCmd.java @@ -57,7 +57,7 @@ public class DumpSubCmd extends ViaSubCommand { con.setDoOutput(true); OutputStream out = con.getOutputStream(); - out.write(GsonUtil.getGson().toJson(template).getBytes(Charset.forName("UTF-8"))); + out.write(GsonUtil.getGsonBuilder().setPrettyPrinting().create().toJson(template).getBytes(Charset.forName("UTF-8"))); out.close(); JsonObject output = GsonUtil.getGson().fromJson(new InputStreamReader(con.getInputStream()), JsonObject.class);