Basic support for minecraft 1.19 (#2084)

* merge commit from milutinke
* chat signature & encrypted login
* Bug fix :EncryptionResponse format error below 1.18.2
* Implemented chat command signature
* Chat message parsing and verification for 1.19
* Add signature settings
* Update Simplified Chinese Translation
* Clear up comments
* Fix wrong variable naming
* Bug fix: SignatureV2 Processing
This commit is contained in:
BruceChen 2022-08-15 23:55:44 +08:00 committed by GitHub
parent d9f1a77ac2
commit a8bbb1ac76
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
55 changed files with 5218 additions and 1174 deletions

View file

@ -97,6 +97,7 @@ namespace MinecraftClient
public static bool InventoryHandling = false;
public static string PrivateMsgsCmdName = "tell";
public static CacheType SessionCaching = CacheType.Disk;
public static CacheType ProfileKeyCaching = CacheType.Disk;
public static bool ResolveSrvRecords = true;
public static bool ResolveSrvRecordsShortTimeout = true;
public static bool EntityHandling = false;
@ -104,6 +105,17 @@ namespace MinecraftClient
public static bool MinecraftRealmsEnabled = true;
public static bool MoveHeadWhileWalking = true;
// Signature
public static bool LoginWithSecureProfile = true;
public static bool SignChat = true;
public static bool SignMessageInCommand = true;
public static bool MarkLegallySignedMsg = false;
public static bool MarkModifiedMsg = true;
public static bool MarkIllegallySignedMsg = true;
public static bool MarkSystemMessage = false;
public static bool ShowModifiedChat = true;
public static bool ShowIllegalSignedChat = true;
// Logging
public enum FilterModeEnum { Blacklist, Whitelist }
public static bool DebugMessages = false;
@ -220,7 +232,7 @@ namespace MinecraftClient
private static string ServerAliasTemp = null;
//Mapping for settings sections in the INI file
private enum Section { Default, Main, AppVars, Proxy, MCSettings, AntiAFK, Hangman, Alerts, ChatLog, AutoRelog, ScriptScheduler, RemoteControl, ChatFormat, AutoRespond, AutoAttack, AutoFishing, AutoEat, AutoCraft, AutoDrop, Mailer, ReplayMod, Logging };
private enum Section { Default, Main, AppVars, Proxy, MCSettings, AntiAFK, Hangman, Alerts, ChatLog, AutoRelog, ScriptScheduler, RemoteControl, ChatFormat, AutoRespond, AutoAttack, AutoFishing, AutoEat, AutoCraft, AutoDrop, Mailer, ReplayMod, Logging, Signature };
/// <summary>
/// Get settings section from name
@ -398,6 +410,12 @@ namespace MinecraftClient
else if (argValue == "disk") { SessionCaching = CacheType.Disk; }
return true;
case "profilekeycache":
if (argValue == "none") { ProfileKeyCaching = CacheType.None; }
else if (argValue == "memory") { ProfileKeyCaching = CacheType.Memory; }
else if (argValue == "disk") { ProfileKeyCaching = CacheType.Disk; }
return true;
case "accountlist":
if (File.Exists(argValue))
{
@ -485,6 +503,21 @@ namespace MinecraftClient
}
break;
case Section.Signature:
switch (argName.ToLower())
{
case "login_with_secure_profile": LoginWithSecureProfile = str2bool(argValue); return true;
case "sign_chat": SignChat = str2bool(argValue); return true;
case "sign_message_in_command": SignMessageInCommand = str2bool(argValue); return true;
case "mark_legally_signed_msg": MarkLegallySignedMsg = str2bool(argValue); return true;
case "mark_modified_msg": MarkModifiedMsg = str2bool(argValue); return true;
case "mark_illegally_signed_msg": MarkIllegallySignedMsg = str2bool(argValue); return true;
case "mark_system_message": MarkSystemMessage = str2bool(argValue); return true;
case "show_modified_chat": ShowModifiedChat = str2bool(argValue); return true;
case "show_illegal_signed_chat": ShowIllegalSignedChat = str2bool(argValue); return true;
}
break;
case Section.Logging:
switch (argName.ToLower())
{