diff --git a/.vs/MinecraftClient/v14/.suo b/.vs/MinecraftClient/v14/.suo new file mode 100644 index 00000000..9b02a863 Binary files /dev/null and b/.vs/MinecraftClient/v14/.suo differ diff --git a/MinecraftClient/ChatBot.cs b/MinecraftClient/ChatBot.cs index 4c0a5c09..27459bf9 100644 --- a/MinecraftClient/ChatBot.cs +++ b/MinecraftClient/ChatBot.cs @@ -197,6 +197,17 @@ namespace MinecraftClient return IsValidName(sender); } + //Detect Modified server messages. /m + //[Someone @ me] message + else if (text[0] == '[' && tmp.Length > 3 && tmp[1] == "@" + && (tmp[2] == "me]" || tmp[2] == "moi]")) //'me' is replaced by 'moi' in french servers + { + message = text.Substring(tmp[0].Length + 4 + tmp[2].Length + 0); + sender = tmp[0].Substring(1); + if (sender[0] == '~') { sender = sender.Substring(1); } + return IsValidName(sender); + } + //Detect Essentials (Bukkit) /me messages with some custom prefix //[Prefix] [Someone -> me] message //[Prefix] [~Someone -> me] message @@ -231,6 +242,17 @@ namespace MinecraftClient return IsValidName(sender); } + //Detect HeroChat Messages + //[Channel] [Rank] User: Message + else if (text.StartsWith("[") && text.Contains(':') && tmp.Length > 2 && Settings.Hero_Chat_Messages_Enabled.Equals(true)) + { + int name_end = text.IndexOf(':'); + int name_start = text.Substring(0, name_end).LastIndexOf(']') + 2; + sender = text.Substring(name_start, name_end - name_start); + message = text.Substring(name_end + 2); + return IsValidName(sender); + } + else return false; } catch (IndexOutOfRangeException) { return false; } diff --git a/MinecraftClient/Settings.cs b/MinecraftClient/Settings.cs index 40a51cb1..d09a5912 100644 --- a/MinecraftClient/Settings.cs +++ b/MinecraftClient/Settings.cs @@ -89,6 +89,7 @@ namespace MinecraftClient public static bool RemoteCtrl_Enabled = false; public static bool RemoteCtrl_AutoTpaccept = true; public static bool RemoteCtrl_AutoTpaccept_Everyone = false; + public static bool Hero_Chat_Messages_Enabled = false; //Auto Respond public static bool AutoRespond_Enabled = false; @@ -282,6 +283,7 @@ namespace MinecraftClient case "enabled": RemoteCtrl_Enabled = str2bool(argValue); break; case "autotpaccept": RemoteCtrl_AutoTpaccept = str2bool(argValue); break; case "tpaccepteveryone": RemoteCtrl_AutoTpaccept_Everyone = str2bool(argValue); break; + case "herochatmessagesenabled": Hero_Chat_Messages_Enabled = str2bool(argValue); break; } break; @@ -422,6 +424,7 @@ namespace MinecraftClient + "enabled=false\r\n" + "autotpaccept=true\r\n" + "tpaccepteveryone=false\r\n" + + "herochatmessagesenabled=false\r\n" + "\r\n" + "[AutoRespond]\r\n" + "enabled=false\r\n"