diff --git a/HMCLServer/src/main/java/org.jackhuang.hellominecraft.launcher/servers/ServerPlugin.java b/HMCLServer/src/main/java/org.jackhuang.hellominecraft.launcher/servers/ServerPlugin.java index fa372f07a..d18008d19 100755 --- a/HMCLServer/src/main/java/org.jackhuang.hellominecraft.launcher/servers/ServerPlugin.java +++ b/HMCLServer/src/main/java/org.jackhuang.hellominecraft.launcher/servers/ServerPlugin.java @@ -52,15 +52,20 @@ public class ServerPlugin implements IPlugin { public void onRegisterAuthenticators(Consumer apply) { String clientToken = Settings.getInstance().getClientToken(); MFCRAFT_LOGIN = new MFCraftAuthenticator(clientToken); + MFCRAFT_LOGIN.onLoadSettings(Settings.getInstance().getAuthenticatorConfig(MFCRAFT_LOGIN.id())); YGGDRASIL_LOGIN = new YggdrasilAuthenticator(clientToken); - YGGDRASIL_LOGIN.onLoadSettings(Settings.getInstance().getYggdrasilConfig()); + YGGDRASIL_LOGIN.onLoadSettings(Settings.getInstance().getAuthenticatorConfig(YGGDRASIL_LOGIN.id())); + Runtime.getRuntime().addShutdownHook(new Thread(() -> { + Settings.getInstance().setAuthenticatorConfig(MFCRAFT_LOGIN.id(), MFCRAFT_LOGIN.onSaveSettings()); + Settings.getInstance().setAuthenticatorConfig(YGGDRASIL_LOGIN.id(), YGGDRASIL_LOGIN.onSaveSettings()); + })); apply.accept(MFCRAFT_LOGIN); apply.accept(YGGDRASIL_LOGIN); } @Override public void showUI() { - MainFrame.showMainFrame(Settings.isFirstLoading()); + MainFrame.showMainFrame(); } public static ServerInfo lastServerInfo; diff --git a/HMCLServer/src/main/java/org.jackhuang.hellominecraft.launcher/servers/mfcraft/MFCraftAuthenticator.java b/HMCLServer/src/main/java/org.jackhuang.hellominecraft.launcher/servers/mfcraft/MFCraftAuthenticator.java index 070514c44..9fa5b8b47 100755 --- a/HMCLServer/src/main/java/org.jackhuang.hellominecraft.launcher/servers/mfcraft/MFCraftAuthenticator.java +++ b/HMCLServer/src/main/java/org.jackhuang.hellominecraft.launcher/servers/mfcraft/MFCraftAuthenticator.java @@ -59,6 +59,11 @@ public class MFCraftAuthenticator extends IAuthenticator { } + @Override + public String id() { + return "mfcraft"; + } + @Override public String getName() { return "MFCraft";