From efe23eb1f95a94ea87aa857688c14bc24b0cbdec Mon Sep 17 00:00:00 2001 From: a08381 <632785425@163.com> Date: Sun, 11 Aug 2024 01:43:46 +0800 Subject: [PATCH] add Yggdrasil authlib multi-user selection. --- MinecraftClient/Protocol/ProtocolHandler.cs | 19 +++++++++++++++++-- .../ConfigComments/ConfigComments.Designer.cs | 9 +++++++++ .../ConfigComments/ConfigComments.resx | 3 +++ MinecraftClient/Settings.cs | 3 +++ 4 files changed, 32 insertions(+), 2 deletions(-) diff --git a/MinecraftClient/Protocol/ProtocolHandler.cs b/MinecraftClient/Protocol/ProtocolHandler.cs index cbf1b1cd..dab73249 100644 --- a/MinecraftClient/Protocol/ProtocolHandler.cs +++ b/MinecraftClient/Protocol/ProtocolHandler.cs @@ -637,9 +637,24 @@ namespace MinecraftClient.Protocol ConsoleIO.WriteLine(Translations.mcc_avaliable_profiles + availableProfiles); - ConsoleIO.WriteLine(Translations.mcc_select_profile); - string selectedProfileName = ConsoleIO.ReadLine(); + string selectedProfileName; + + if (Config.Main.General.AuthUser == "") + { + ConsoleIO.WriteLine(Translations.mcc_select_profile); + selectedProfileName = ConsoleIO.ReadLine(); + } + else + { + selectedProfileName = Config.Main.General.AuthUser; + + } + ConsoleIO.WriteLine(Translations.mcc_selected_profile + " " + selectedProfileName); + + // ConsoleIO.WriteLine(Translations.mcc_select_profile); + // string selectedProfileName = ConsoleIO.ReadLine(); + // ConsoleIO.WriteLine(Translations.mcc_selected_profile + " " + selectedProfileName); Json.JSONData? selectedProfile = null; foreach (Json.JSONData profile in loginResponse.Properties["availableProfiles"] .DataArray) diff --git a/MinecraftClient/Resources/ConfigComments/ConfigComments.Designer.cs b/MinecraftClient/Resources/ConfigComments/ConfigComments.Designer.cs index 65bb9a0b..4dcf11cd 100644 --- a/MinecraftClient/Resources/ConfigComments/ConfigComments.Designer.cs +++ b/MinecraftClient/Resources/ConfigComments/ConfigComments.Designer.cs @@ -1748,6 +1748,15 @@ namespace MinecraftClient { } } + /// + /// Looks up a localized string similar to Yggdrasil authlib multi-user selection.. + /// + internal static string Main_General_AuthlibUser { + get { + return ResourceManager.GetString("Main.General.AuthlibUser", resourceCulture); + } + } + /// /// Looks up a localized string similar to The address of the game server, "Host" can be filled in with domain name or IP address. (The "Port" field can be deleted, it will be resolved automatically). /// diff --git a/MinecraftClient/Resources/ConfigComments/ConfigComments.resx b/MinecraftClient/Resources/ConfigComments/ConfigComments.resx index ca440314..5908d88c 100644 --- a/MinecraftClient/Resources/ConfigComments/ConfigComments.resx +++ b/MinecraftClient/Resources/ConfigComments/ConfigComments.resx @@ -855,4 +855,7 @@ If the connection to the Minecraft game server is blocked by the firewall, set E Set to false to opt-out of Sentry error logging. + + Yggdrasil authlib multi-user selection. + \ No newline at end of file diff --git a/MinecraftClient/Settings.cs b/MinecraftClient/Settings.cs index d8d564c9..1461413a 100644 --- a/MinecraftClient/Settings.cs +++ b/MinecraftClient/Settings.cs @@ -496,6 +496,9 @@ namespace MinecraftClient public LoginMethod Method = LoginMethod.mcc; [TomlInlineComment("$Main.General.AuthlibServer$")] public AuthlibServer AuthServer = new(string.Empty); + + [TomlInlineComment("$Main.General.AuthlibUser$")] + public string AuthUser = ""; public enum LoginType { mojang, microsoft,yggdrasil };