diff --git a/TShockAPI/TShock.cs b/TShockAPI/TShock.cs index d534d67e..c88fc247 100644 --- a/TShockAPI/TShock.cs +++ b/TShockAPI/TShock.cs @@ -886,8 +886,6 @@ namespace TShockAPI Utils.ComputeMaxStyles(); Utils.FixChestStacks(); - Utils.UpgradeMotD(); - if (Config.UseServerName) { Main.worldName = Config.ServerName; diff --git a/TShockAPI/Utils.cs b/TShockAPI/Utils.cs index 82791065..6809710b 100644 --- a/TShockAPI/Utils.cs +++ b/TShockAPI/Utils.cs @@ -52,12 +52,6 @@ namespace TShockAPI /// instance - an instance of the utils class private static readonly Utils instance = new Utils(); - /// This regex will look for the old MotD format for colors and replace them with the new chat format. - private Regex motdColorRegex = new Regex(@"\%\s*(?\d{1,3})\s*,\s*(?\d{1,3})\s*,\s*(?\d{1,3})\s*\%(?((?!(\%\s*\d{1,3}\s*,\s*\d{1,3}\s*,\s*\d{1,3}\s*\%)|(\[[a-zA-Z]/[^:]+:[^\]]*\])).)*)"); - - /// Matches the start of a line with our legacy color format - private Regex startOfLineColorRegex = new Regex(@"^\%\s*(?\d{1,3})\s*,\s*(?\d{1,3})\s*,\s*(?\d{1,3})\s*\%"); - /// Utils - Creates a utilities object. private Utils() {} @@ -715,98 +709,11 @@ namespace TShockAPI foo = foo.Replace("%map%", (TShock.Config.UseServerName ? TShock.Config.ServerName : Main.worldName)); foo = foo.Replace("%players%", String.Join(",", GetPlayers(false))); - var legacyColorMatch = startOfLineColorRegex.Match(foo); - if (legacyColorMatch.Success) - { - lineColor = new Color(Int32.Parse(legacyColorMatch.Groups["r"].Value), - Int32.Parse(legacyColorMatch.Groups["g"].Value), - Int32.Parse(legacyColorMatch.Groups["b"].Value)); - foo = foo.Replace(legacyColorMatch.Groups[0].Value, ""); - } - - bool upgraded = false; - string newFoo = ReplaceDeprecatedColorCodes(foo, out upgraded); - if (upgraded && !containsOldFormat) - { - TShock.Log.ConsoleInfo($"You are using an old color format in file {file}."); - TShock.Log.ConsoleInfo("To send coloured text please use Terraria's inbuilt format of: [c/#hex:text]."); - TShock.Log.ConsoleInfo("For example: [c/ff00aa:This is a message!]."); - containsOldFormat = true; - } - foo = newFoo; - player.SendMessage(foo, lineColor); } } } - /// - /// Returns a string with deprecated %###,###,###% formats replaced with the new chat format colors. - /// - /// The input string - /// An out parameter that denotes if this line of text was upgraded. - /// A replaced version of the input with the new chat color format. - private string ReplaceDeprecatedColorCodes(string input, out bool upgradedFormat) - { - String tempString = input; - Match match = null; - bool uFormat = false; - - while ((match = motdColorRegex.Match(tempString)).Success) - { - uFormat = true; - tempString = tempString.Replace(match.Groups[0].Value, String.Format("[c/{0:X2}{1:X2}{2:X2}:{3}]", Int32.Parse(match.Groups["r"].Value), Int32.Parse(match.Groups["g"].Value), Int32.Parse(match.Groups["b"].Value), match.Groups["text"])); - } - - upgradedFormat = uFormat; - return tempString; - } - - /// - /// Upgrades a legacy MotD file to the new terraria chat tags version. - /// - public void UpgradeMotD() - { - string foo = ""; - StringBuilder motd = new StringBuilder(); - bool informedOwner = false; - using (var tr = new StreamReader(FileTools.MotdPath)) - { - Color lineColor; - while ((foo = tr.ReadLine()) != null) - { - lineColor = Color.White; - var legacyColorMatch = startOfLineColorRegex.Match(foo); - if (legacyColorMatch.Success) - { - lineColor = new Color(Int32.Parse(legacyColorMatch.Groups["r"].Value), - Int32.Parse(legacyColorMatch.Groups["g"].Value), - Int32.Parse(legacyColorMatch.Groups["b"].Value)); - foo = foo.Replace(legacyColorMatch.Groups[0].Value, ""); - } - - bool upgraded = false; - string newFoo = ReplaceDeprecatedColorCodes(foo, out upgraded); - if (!informedOwner && upgraded) - { - informedOwner = true; - TShock.Log.ConsoleInfo("We have upgraded your MotD to the new format. A backup has been created."); - } - - if (lineColor != Color.White) - motd.Append(String.Format("%{0:d3},{1:d3},{2:d3}%", lineColor.R, lineColor.G, lineColor.B)); - - motd.AppendLine(newFoo); - } - } - - if (informedOwner) - { - File.Copy(FileTools.MotdPath, String.Format("{0}_{1}.backup", FileTools.MotdPath, DateTime.Now.ToString("ddMMMyy_hhmmss"))); - File.WriteAllText(FileTools.MotdPath, motd.ToString()); - } - } - /// /// Returns a Group from the name of the group ///