From 972c0f079f8dbbf97422326d48ca1291c9987a51 Mon Sep 17 00:00:00 2001 From: Dries007 Date: Sat, 11 Oct 2014 15:16:06 +0200 Subject: [PATCH] fixed another part of #2 (forge version list) --- .../doubledoordev/backend/server/Server.java | 4 +-- .../doubledoordev/backend/util/Runnables.java | 26 ++++++++++++------- 2 files changed, 19 insertions(+), 11 deletions(-) diff --git a/src/main/java/net/doubledoordev/backend/server/Server.java b/src/main/java/net/doubledoordev/backend/server/Server.java index a1b49b7..e3cacbe 100644 --- a/src/main/java/net/doubledoordev/backend/server/Server.java +++ b/src/main/java/net/doubledoordev/backend/server/Server.java @@ -852,16 +852,16 @@ public boolean stopServer() throws ServerOnlineException if (!getOnline()) return false; try { - getRCon().stop(); printLine("----=====##### STOPPING SERVER WITH RCON #####=====-----"); + getRCon().stop(); return true; } catch (Exception e) { + printLine("----=====##### STOPPING SERVER VIA STREAM #####=====-----"); PrintWriter printWriter = new PrintWriter(process.getOutputStream()); printWriter.println("stop"); printWriter.flush(); - printLine("----=====##### STOPPING SERVER VIA STREAM #####=====-----"); return false; } } diff --git a/src/main/java/net/doubledoordev/backend/util/Runnables.java b/src/main/java/net/doubledoordev/backend/util/Runnables.java index 78f5362..790bf29 100644 --- a/src/main/java/net/doubledoordev/backend/util/Runnables.java +++ b/src/main/java/net/doubledoordev/backend/util/Runnables.java @@ -82,21 +82,29 @@ public void run() JsonObject latest = versionList.getAsJsonObject("promos"); HashSet buildsWithoutInstaller = new HashSet<>(); - nameBuildMap.put("~~==## \\/ Recommended Versions \\/ ##==~~", null); for (Map.Entry element : latest.entrySet()) { nameBuildMap.put(String.format("%s (build %d)", element.getKey(), element.getValue().getAsInt()), element.getValue().getAsInt()); } - nameBuildMap.put("~~==## \\/ Specific Versions \\/ ##==~~", null); - for (Map.Entry entry : versionList.getAsJsonObject("number").entrySet()) + String lastMc = ""; + ArrayList> entries = new ArrayList<>(versionList.getAsJsonObject("number").entrySet()); + for (int i = entries.size() - 1; i > 0; i--) { - JsonObject object = entry.getValue().getAsJsonObject(); + JsonObject object = entries.get(i).getValue().getAsJsonObject(); + String mc = object.get("mcversion").getAsString(); + String version = object.get("version").getAsString(); + int build = object.get("build").getAsInt(); - nameBuildMap.put(String.format("%s (MC %s)", object.get("version").getAsString(), object.get("mcversion").getAsString()), object.get("build").getAsInt()); - buildVersionMap.put(object.get("build").getAsInt(), String.format("%s-%s", object.get("mcversion").getAsString(), object.get("version").getAsString())); + if (!lastMc.equals(mc) && hasInstaller(object)) + { + nameBuildMap.put(String.format("~~~~~~~~~~========== %s ==========~~~~~~~~~~", mc), 0); + lastMc = mc; + } - if (!hasInstaller(object)) buildsWithoutInstaller.add(object.get("build").getAsInt()); + nameBuildMap.put(String.format("%s (MC %s)", version, mc), build); + buildVersionMap.put(build, String.format("%s-%s", mc, version)); + if (!hasInstaller(object)) buildsWithoutInstaller.add(build); } synchronized (NAME_VERSION_MAP) { @@ -115,8 +123,8 @@ public void run() } }; - static long lastMCVersions = 0L; - static final Runnable MC_VERSIONS_DOWNLOADER = new Runnable() + static long lastMCVersions = 0L; + static final Runnable MC_VERSIONS_DOWNLOADER = new Runnable() { @Override public void run()