From 981a11d98b746f6153d6d9933bb5572269d8ac1b Mon Sep 17 00:00:00 2001 From: huanghongxun Date: Thu, 27 Aug 2015 13:02:55 +0800 Subject: [PATCH] Fix Minecraft crashing when in offline & multiplayer mode. --- HMCL/HMCLauncher.exe | Bin 16896 -> 40960 bytes HMCL/build.gradle | 2 +- .../hellominecraft/launcher/Main.java | 2 +- .../utils/auth/OfflineAuthenticator.java | 6 +++--- .../version/MinecraftVersionManager.java | 14 ++++++-------- .../jackhuang/hellominecraft/utils/Utils.java | 7 ------- 6 files changed, 11 insertions(+), 20 deletions(-) diff --git a/HMCL/HMCLauncher.exe b/HMCL/HMCLauncher.exe index 29bf5127b9fcffca71e2bc0f97f91d3216d23b6e..bfe3e45c372a77df5776155b7fd27da1795f4085 100644 GIT binary patch literal 40960 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 RLOU7_GyDu|;Q#L$_+LuntoQ%` delta 12207 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

}*;stK(zy4|?`Y&vO5DYV-?0tOj*l*WEpc@! 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 versions = new TreeMap(); - private final Gson gson = Utils.getDefaultGsonBuilder().create(); /** * @@ -122,14 +120,14 @@ public final class MinecraftVersionManager extends IMinecraftProvider { } MinecraftVersion mcVersion; try { - mcVersion = gson.fromJson(FileUtils.readFileToString(jsonFile), MinecraftVersion.class); + mcVersion = C.gson.fromJson(FileUtils.readFileToString(jsonFile), MinecraftVersion.class); if (mcVersion == null) throw new RuntimeException("Wrong json format, got null."); } catch (IOException | RuntimeException e) { HMCLog.warn("Found wrong format json, try to fix it.", e); if (MessageBox.Show(C.i18n("launcher.versions_json_not_formatted", id), MessageBox.YES_NO_OPTION) == MessageBox.YES_OPTION) { refreshJson(id); try { - mcVersion = gson.fromJson(FileUtils.readFileToString(jsonFile), MinecraftVersion.class); + mcVersion = C.gson.fromJson(FileUtils.readFileToString(jsonFile), MinecraftVersion.class); if (mcVersion == null) throw new RuntimeException("Wrong json format, got null."); } catch (IOException | RuntimeException ex) { HMCLog.err("Retried but still failed."); @@ -142,7 +140,7 @@ public final class MinecraftVersionManager extends IMinecraftProvider { if (!id.equals(mcVersion.id)) { HMCLog.warn("Found: " + dir + ", it contains id: " + mcVersion.id + ", expected: " + id + ", the launcher will fix this problem."); mcVersion.id = id; - FileUtils.writeQuietly(jsonFile, gson.toJson(mcVersion)); + FileUtils.writeQuietly(jsonFile, C.gsonPrettyPrinting.toJson(mcVersion)); } if (mcVersion.libraries != null) @@ -150,7 +148,7 @@ public final class MinecraftVersionManager extends IMinecraftProvider { ml.init(); versions.put(id, mcVersion); } catch (Exception e) { - HMCLog.warn("Ignoring: " + dir + ", the json of this Minecraft is malformed."); + HMCLog.warn("Ignoring: " + dir + ", the json of this Minecraft is malformed.", e); } } } @@ -168,9 +166,9 @@ public final class MinecraftVersionManager extends IMinecraftProvider { public boolean renameVersion(String from, String to) { try { File fromJson = new File(baseFolder, "versions/" + from + "/" + from + ".json"); - MinecraftVersion mcVersion = gson.fromJson(FileUtils.readFileToString(fromJson), MinecraftVersion.class); + MinecraftVersion mcVersion = C.gson.fromJson(FileUtils.readFileToString(fromJson), MinecraftVersion.class); mcVersion.id = to; - FileUtils.writeQuietly(fromJson, gson.toJson(mcVersion)); + FileUtils.writeQuietly(fromJson, C.gsonPrettyPrinting.toJson(mcVersion)); File toDir = new File(baseFolder, "versions/" + to); new File(baseFolder, "versions/" + from).renameTo(toDir); File toJson = new File(toDir, to + ".json"); diff --git a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/Utils.java b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/Utils.java index e16363323..3923fba08 100644 --- a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/Utils.java +++ b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/Utils.java @@ -17,7 +17,6 @@ package org.jackhuang.hellominecraft.utils; import org.jackhuang.hellominecraft.utils.system.MessageBox; -import com.google.gson.GsonBuilder; import com.sun.management.OperatingSystemMXBean; import java.awt.Desktop; import java.awt.Image; @@ -45,12 +44,6 @@ import org.jackhuang.hellominecraft.HMCLog; */ public final class Utils { - private static final GsonBuilder gsonBuilder = new GsonBuilder().setPrettyPrinting(); - - public static GsonBuilder getDefaultGsonBuilder() { - return gsonBuilder; - } - public static String[] getURL() { URL[] urls = ((URLClassLoader) Utils.class.getClassLoader()).getURLs(); String[] urlStrings = new String[urls.length];