From a9788f45767aecb0b889c2b4949469eb28191232 Mon Sep 17 00:00:00 2001 From: MarioE Date: Wed, 10 Jul 2013 20:12:28 -0400 Subject: [PATCH] Removed deprecation messages. This is a new version already. --- TShockAPI/Commands.cs | 440 ++++++++++++++++++++---------------------- 1 file changed, 204 insertions(+), 236 deletions(-) diff --git a/TShockAPI/Commands.cs b/TShockAPI/Commands.cs index 7ea5139f..68ac1b7e 100644 --- a/TShockAPI/Commands.cs +++ b/TShockAPI/Commands.cs @@ -16,15 +16,15 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ using System; -using System.Collections.Generic; -using System.Collections.ObjectModel; +using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Diagnostics; using System.Diagnostics.CodeAnalysis; using System.IO; using System.Linq; using System.Net; using System.Text; -using System.Threading; +using System.Threading; using TShockAPI.PluginUpdater; using Terraria; using TShockAPI.DB; @@ -71,16 +71,16 @@ namespace TShockAPI public List Permissions { get; protected set; } private CommandDelegate commandDelegate; - public CommandDelegate CommandDelegate - { - get { return commandDelegate; } - set - { - if (value == null) - throw new ArgumentNullException(); - - commandDelegate = value; - } + public CommandDelegate CommandDelegate + { + get { return commandDelegate; } + set + { + if (value == null) + throw new ArgumentNullException(); + + commandDelegate = value; + } } public Command(List permissionsneeded, CommandDelegate cmd, params string[] names) @@ -154,10 +154,10 @@ namespace TShockAPI public static void InitCommands() { List tshockCommands = new List(100); - Action add2 = (cmd) => - { - tshockCommands.Add(cmd); - ChatCommands.Add(cmd); + Action add2 = (cmd) => + { + tshockCommands.Add(cmd); + ChatCommands.Add(cmd); }; AddChatCommand add = (p, c, n) => add2(new Command(p, c, n)); @@ -177,7 +177,6 @@ namespace TShockAPI add2(new Command(Permissions.tphere, TPHere, "tphere") { AllowServer = false }); add2(new Command(Permissions.tpallow, TPAllow, "tpallow") { AllowServer = false }); add(Permissions.kick, Kick, "kick"); - add(Permissions.ban, DeprecateBans, "banip", "listbans", "unban", "unbanip", "clearbans"); add(Permissions.ban, Ban, "ban"); add(Permissions.whitelist, Whitelist, "whitelist"); add(Permissions.maintenance, Off, "off", "exit"); @@ -201,8 +200,6 @@ namespace TShockAPI add(Permissions.spawnboss, Hardcore, "hardcore"); add(Permissions.spawnmob, SpawnMob, "spawnmob", "sm"); add(Permissions.warp, Warp, "warp"); - add(Permissions.managewarp, DeprecateWarp, "setwarp", "delwarp", "hidewarp"); - add(Permissions.tphere, DeprecateWarp, "sendwarp", "sw"); add(Permissions.managegroup, AddGroup, "addgroup"); add(Permissions.managegroup, DeleteGroup, "delgroup"); add(Permissions.managegroup, ModifyGroup, "modgroup"); @@ -859,21 +856,10 @@ namespace TShockAPI } } - private static void DeprecateBans(CommandArgs args) - { - args.Player.SendInfoMessage("All ban commands were merged into one in TShock 4.0."); - args.Player.SendInfoMessage("Syntax: /ban [option] [arguments]"); - args.Player.SendInfoMessage("Options: list, listip, clear, add, addip, del, delip"); - args.Player.SendInfoMessage("Arguments: list, listip, clear [code], add [name], addip [ip], del [name], delip [name]"); - args.Player.SendInfoMessage("In addition, a reason may be provided for all new bans after the arguments."); - return; - } - private static void Ban(CommandArgs args) { if (args.Parameters.Count == 0 || args.Parameters[0].ToLower() == "help") { - args.Player.SendInfoMessage("All ban commands were merged into one in TShock 4.0."); args.Player.SendInfoMessage("Syntax: /ban [option] [arguments]"); args.Player.SendInfoMessage("Options: list, listip, clear, add, addip, del, delip"); args.Player.SendInfoMessage("Arguments: list, listip, clear [code], add [name], addip [ip], del [name], delip [name]"); @@ -1181,10 +1167,10 @@ namespace TShockAPI public static void OverrideSSI( CommandArgs args ) { - if (!TShock.Config.ServerSideInventory) - { - args.Player.SendErrorMessage("Server Side Inventory is disabled."); - return; + if (!TShock.Config.ServerSideInventory) + { + args.Player.SendErrorMessage("Server Side Inventory is disabled."); + return; } if( args.Parameters.Count < 1 ) { @@ -1206,20 +1192,20 @@ namespace TShockAPI } TSPlayer matchedPlayer = matchedPlayers[0]; - if (matchedPlayer.IsLoggedIn) - { - args.Player.SendErrorMessage("Player \"{0}\" is already logged in.", matchedPlayer.Name); - return; + if (matchedPlayer.IsLoggedIn) + { + args.Player.SendErrorMessage("Player \"{0}\" is already logged in.", matchedPlayer.Name); + return; } - if (!matchedPlayer.LoginFailsBySsi) - { - args.Player.SendErrorMessage("Player \"{0}\" has to perform a /login attempt first.", matchedPlayer.Name); - return; + if (!matchedPlayer.LoginFailsBySsi) + { + args.Player.SendErrorMessage("Player \"{0}\" has to perform a /login attempt first.", matchedPlayer.Name); + return; } - if (matchedPlayer.IgnoreActionsForClearingTrashCan) - { - args.Player.SendErrorMessage("Player \"{0}\" has to reconnect first.", matchedPlayer.Name); - return; + if (matchedPlayer.IgnoreActionsForClearingTrashCan) + { + args.Player.SendErrorMessage("Player \"{0}\" has to reconnect first.", matchedPlayer.Name); + return; } TShock.InventoryDB.InsertPlayerData(matchedPlayer); @@ -1784,17 +1770,6 @@ namespace TShockAPI args.Player.TPAllow = !args.Player.TPAllow; } - private static void DeprecateWarp(CommandArgs args) - { - args.Player.SendInfoMessage("All warp commands were merged into one in TShock 4.0."); - args.Player.SendInfoMessage("Previous warps with spaces should be wrapped in single quotes."); - args.Player.SendInfoMessage("Invalid syntax. Syntax: /warp [command] [arguments]"); - args.Player.SendInfoMessage("Commands: add, del, hide, list, send, [warpname]"); - args.Player.SendInfoMessage("Arguments: add [warp name], del [warp name], list [page]"); - args.Player.SendInfoMessage("Arguments: send [player] [warp name], hide [warp name] [Enable(true/false)]"); - args.Player.SendInfoMessage("Examples: /warp add foobar, /warp hide foobar true, /warp foobar"); - } - private static void Warp(CommandArgs args) { bool hasManageWarpPermission = args.Player.Group.HasPermission(Permissions.managewarp); @@ -1802,8 +1777,6 @@ namespace TShockAPI { if (hasManageWarpPermission) { - args.Player.SendInfoMessage("All warp commands were merged into one in TShock 4.0."); - args.Player.SendInfoMessage("Previous warps with spaces should be wrapped in single quotes."); args.Player.SendInfoMessage("Invalid syntax. Syntax: /warp [command] [arguments]"); args.Player.SendInfoMessage("Commands: add, del, hide, list, send, [warpname]"); args.Player.SendInfoMessage("Arguments: add [warp name], del [warp name], list [page]"); @@ -1814,8 +1787,6 @@ namespace TShockAPI else { args.Player.SendErrorMessage("Invalid syntax. Syntax: /warp [name] or /warp list "); - args.Player.SendErrorMessage("Previous warps with spaces should be wrapped in single quotes."); - return; } } @@ -1896,7 +1867,6 @@ namespace TShockAPI else args.Player.SendErrorMessage("Invalid syntax! Proper syntax: /warp add [name]"); #endregion - } else if (args.Parameters[0].ToLower() == "del" && hasManageWarpPermission) { @@ -1912,7 +1882,6 @@ namespace TShockAPI else args.Player.SendErrorMessage("Invalid syntax! Proper syntax: /warp del [name]"); #endregion - } else if (args.Parameters[0].ToLower() == "hide" && hasManageWarpPermission) { @@ -1976,7 +1945,6 @@ namespace TShockAPI args.Player.SendErrorMessage("Specified warp not found."); } #endregion - } else { @@ -2830,12 +2798,12 @@ namespace TShockAPI ); PaginationTools.SendPage( - args.Player, pageNumber, PaginationTools.BuildLinesFromTerms(regionNames), - new PaginationTools.Settings - { - HeaderFormat = "List of Regions ({0}/{1})", - FooterFormat = "Type /region list {0} for more.", - NothingToDisplayString = "There are currently no regions defined." + args.Player, pageNumber, PaginationTools.BuildLinesFromTerms(regionNames), + new PaginationTools.Settings + { + HeaderFormat = "List of Regions ({0}/{1})", + FooterFormat = "Type /region list {0} for more.", + NothingToDisplayString = "There are currently no regions defined." } ); @@ -2843,10 +2811,10 @@ namespace TShockAPI } case "info": { - if (args.Parameters.Count == 1 || args.Parameters.Count > 4) - { - args.Player.SendErrorMessage("Invalid syntax! Proper syntax: /region info [-d] [page]"); - break; + if (args.Parameters.Count == 1 || args.Parameters.Count > 4) + { + args.Player.SendErrorMessage("Invalid syntax! Proper syntax: /region info [-d] [page]"); + break; } string regionName = args.Parameters[1]; @@ -2866,87 +2834,87 @@ namespace TShockAPI if (!PaginationTools.TryParsePageNumber(args.Parameters, pageNumberIndex, args.Player, out pageNumber)) break; - List lines = new List - { - string.Format("X: {0}; Y: {1}; W: {2}; H: {3}, Z: {4}", region.Area.X, region.Area.Y, region.Area.Width, region.Area.Height, region.Z), - string.Concat("Owner: ", region.Owner), - string.Concat("Protected: ", region.DisableBuild.ToString()), + List lines = new List + { + string.Format("X: {0}; Y: {1}; W: {2}; H: {3}, Z: {4}", region.Area.X, region.Area.Y, region.Area.Width, region.Area.Height, region.Z), + string.Concat("Owner: ", region.Owner), + string.Concat("Protected: ", region.DisableBuild.ToString()), }; - if (region.AllowedIDs.Count > 0) - { - IEnumerable sharedUsersSelector = region.AllowedIDs.Select(userId => - { + if (region.AllowedIDs.Count > 0) + { + IEnumerable sharedUsersSelector = region.AllowedIDs.Select(userId => + { User user = TShock.Users.GetUserByID(userId); if (user != null) return user.Name; else - return string.Concat("{ID: ", userId, "}"); - }); - List extraLines = PaginationTools.BuildLinesFromTerms(sharedUsersSelector.Distinct()); - extraLines[0] = "Shared with: " + extraLines[0]; - lines.AddRange(extraLines); + return string.Concat("{ID: ", userId, "}"); + }); + List extraLines = PaginationTools.BuildLinesFromTerms(sharedUsersSelector.Distinct()); + extraLines[0] = "Shared with: " + extraLines[0]; + lines.AddRange(extraLines); } - else - { - lines.Add("Region is not shared with any users."); + else + { + lines.Add("Region is not shared with any users."); } - if (region.AllowedGroups.Count > 0) - { - List extraLines = PaginationTools.BuildLinesFromTerms(region.AllowedGroups.Distinct()); - extraLines[0] = "Shared with groups: " + extraLines[0]; - lines.AddRange(extraLines); - } - else - { - lines.Add("Region is not shared with any groups."); + if (region.AllowedGroups.Count > 0) + { + List extraLines = PaginationTools.BuildLinesFromTerms(region.AllowedGroups.Distinct()); + extraLines[0] = "Shared with groups: " + extraLines[0]; + lines.AddRange(extraLines); + } + else + { + lines.Add("Region is not shared with any groups."); } - PaginationTools.SendPage( - args.Player, pageNumber, lines, new PaginationTools.Settings - { - HeaderFormat = string.Format("Information About Region \"{0}\" ({{0}}/{{1}}):", region.Name), - FooterFormat = "Type /region info {0} for more information." + PaginationTools.SendPage( + args.Player, pageNumber, lines, new PaginationTools.Settings + { + HeaderFormat = string.Format("Information About Region \"{0}\" ({{0}}/{{1}}):", region.Name), + FooterFormat = "Type /region info {0} for more information." } ); - if (displayBoundaries) - { - Rectangle regionArea = region.Area; - foreach (Point boundaryPoint in Utils.Instance.EnumerateRegionBoundaries(regionArea)) - { - // Preferring dotted lines as those should easily be distinguishable from actual wires. - if ((boundaryPoint.X + boundaryPoint.Y & 1) == 0) - { - // Could be improved by sending raw tile data to the client instead but not really - // worth the effort as chances are very low that overwriting the wire for a few - // nanoseconds will cause much trouble. - Tile tile = Main.tile[boundaryPoint.X, boundaryPoint.Y]; - bool oldWireState = tile.wire; - tile.wire = true; - - try { - args.Player.SendTileSquare(boundaryPoint.X, boundaryPoint.Y, 1); - } finally { - tile.wire = oldWireState; - } - } - } - - Timer boundaryHideTimer = null; - boundaryHideTimer = new Timer((state) => { - foreach (Point boundaryPoint in Utils.Instance.EnumerateRegionBoundaries(regionArea)) - if ((boundaryPoint.X + boundaryPoint.Y & 1) == 0) - args.Player.SendTileSquare(boundaryPoint.X, boundaryPoint.Y, 1); - - // ReSharper disable AccessToModifiedClosure - Debug.Assert(boundaryHideTimer != null); - boundaryHideTimer.Dispose(); - // ReSharper restore AccessToModifiedClosure - }, - null, 5000, Timeout.Infinite - ); + if (displayBoundaries) + { + Rectangle regionArea = region.Area; + foreach (Point boundaryPoint in Utils.Instance.EnumerateRegionBoundaries(regionArea)) + { + // Preferring dotted lines as those should easily be distinguishable from actual wires. + if ((boundaryPoint.X + boundaryPoint.Y & 1) == 0) + { + // Could be improved by sending raw tile data to the client instead but not really + // worth the effort as chances are very low that overwriting the wire for a few + // nanoseconds will cause much trouble. + Tile tile = Main.tile[boundaryPoint.X, boundaryPoint.Y]; + bool oldWireState = tile.wire; + tile.wire = true; + + try { + args.Player.SendTileSquare(boundaryPoint.X, boundaryPoint.Y, 1); + } finally { + tile.wire = oldWireState; + } + } + } + + Timer boundaryHideTimer = null; + boundaryHideTimer = new Timer((state) => { + foreach (Point boundaryPoint in Utils.Instance.EnumerateRegionBoundaries(regionArea)) + if ((boundaryPoint.X + boundaryPoint.Y & 1) == 0) + args.Player.SendTileSquare(boundaryPoint.X, boundaryPoint.Y, 1); + + // ReSharper disable AccessToModifiedClosure + Debug.Assert(boundaryHideTimer != null); + boundaryHideTimer.Dispose(); + // ReSharper restore AccessToModifiedClosure + }, + null, 5000, Timeout.Infinite + ); } break; @@ -3031,67 +2999,67 @@ namespace TShockAPI } case "tp": { - if (!args.Player.Group.HasPermission(Permissions.tp)) - { - args.Player.SendErrorMessage("You don't have the necessary permission to do that."); - break; + if (!args.Player.Group.HasPermission(Permissions.tp)) + { + args.Player.SendErrorMessage("You don't have the necessary permission to do that."); + break; } - if (args.Parameters.Count <= 1) - { - args.Player.SendErrorMessage("Invalid syntax! Proper syntax: /region tp ."); - break; + if (args.Parameters.Count <= 1) + { + args.Player.SendErrorMessage("Invalid syntax! Proper syntax: /region tp ."); + break; } string regionName = string.Join(" ", args.Parameters.Skip(1)); Region region = TShock.Regions.GetRegionByName(regionName); - if (region == null) - { - args.Player.SendErrorMessage("Region \"{0}\" does not exist.", regionName); - break; + if (region == null) + { + args.Player.SendErrorMessage("Region \"{0}\" does not exist.", regionName); + break; } args.Player.Teleport(region.Area.Center.X, region.Area.Center.Y + 3); break; } - case "help": - default: - { - int pageNumber; - int pageParamIndex = 0; - if (args.Parameters.Count > 1) - pageParamIndex = 1; - if (!PaginationTools.TryParsePageNumber(args.Parameters, pageParamIndex, args.Player, out pageNumber)) - return; - - List lines = new List { - "set <1/2> - Sets the temporary region points.", - "clear - Clears the temporary region points.", - "define - Defines the region with the given name.", - "delete - Deletes the given region.", - "name [-u][-z][-p] - Shows the name of the region at the given point.", - "list - Lists all regions.", - "resize - Resizes a region.", - "allow - Allows a user to a region.", - "remove - Removes a user from a region.", - "allowg - Allows a user group to a region.", - "removeg - Removes a user group from a region.", - "info [-d] - Displays several information about the given region.", - "protect - Sets whether the tiles inside the region are protected or not.", - "z <#> - Sets the z-order of the region.", - }; - if (args.Player.Group.HasPermission(Permissions.tp)) - lines.Add("tp - Teleports you to the given region's center."); - - PaginationTools.SendPage( - args.Player, pageNumber, lines, - new PaginationTools.Settings - { - HeaderFormat = "Available Region Sub-Commands ({0}/{1}):", - FooterFormat = "Type /region {0} for more sub-commands." - } - ); - break; + case "help": + default: + { + int pageNumber; + int pageParamIndex = 0; + if (args.Parameters.Count > 1) + pageParamIndex = 1; + if (!PaginationTools.TryParsePageNumber(args.Parameters, pageParamIndex, args.Player, out pageNumber)) + return; + + List lines = new List { + "set <1/2> - Sets the temporary region points.", + "clear - Clears the temporary region points.", + "define - Defines the region with the given name.", + "delete - Deletes the given region.", + "name [-u][-z][-p] - Shows the name of the region at the given point.", + "list - Lists all regions.", + "resize - Resizes a region.", + "allow - Allows a user to a region.", + "remove - Removes a user from a region.", + "allowg - Allows a user group to a region.", + "removeg - Removes a user group from a region.", + "info [-d] - Displays several information about the given region.", + "protect - Sets whether the tiles inside the region are protected or not.", + "z <#> - Sets the z-order of the region.", + }; + if (args.Player.Group.HasPermission(Permissions.tp)) + lines.Add("tp - Teleports you to the given region's center."); + + PaginationTools.SendPage( + args.Player, pageNumber, lines, + new PaginationTools.Settings + { + HeaderFormat = "Available Region Sub-Commands ({0}/{1}):", + FooterFormat = "Type /region {0} for more sub-commands." + } + ); + break; } } } @@ -3495,22 +3463,22 @@ namespace TShockAPI int amountParamIndex = -1; int itemAmount = 0; - for (int i = 1; i < args.Parameters.Count; i++) - { - if (int.TryParse(args.Parameters[i], out itemAmount)) - { - amountParamIndex = i; - break; - } + for (int i = 1; i < args.Parameters.Count; i++) + { + if (int.TryParse(args.Parameters[i], out itemAmount)) + { + amountParamIndex = i; + break; + } } string itemNameOrId; - if (amountParamIndex == -1) - itemNameOrId = string.Join(" ", args.Parameters); - else - itemNameOrId = string.Join(" ", args.Parameters.Take(amountParamIndex)); - - Item item; + if (amountParamIndex == -1) + itemNameOrId = string.Join(" ", args.Parameters); + else + itemNameOrId = string.Join(" ", args.Parameters.Take(amountParamIndex)); + + Item item; List matchedItems = TShock.Utils.GetItemByIdOrName(itemNameOrId); if (matchedItems.Count == 0) { @@ -3522,37 +3490,37 @@ namespace TShockAPI args.Player.SendErrorMessage("More than one item matched:"); args.Player.SendErrorMessage(string.Join(", ", matchedItems.Select(i => i.name))); return; - } - else - { - item = matchedItems[0]; - } - if (item.type < 1 && item.type >= Main.maxItemTypes) - { - args.Player.SendErrorMessage("The item type {0} is invalid.", itemNameOrId); - return; - } - - int prefixId = 0; - if (amountParamIndex != -1 && args.Parameters.Count > amountParamIndex + 1) - { - string prefixidOrName = args.Parameters[amountParamIndex + 1]; - List matchedPrefixIds = TShock.Utils.GetPrefixByIdOrName(prefixidOrName); - if (matchedPrefixIds.Count > 1) - { - args.Player.SendErrorMessage("More than one ({0}) prefixes matched \"{1}\".", matchedPrefixIds.Count, prefixidOrName); - return; - } - else if (matchedPrefixIds.Count == 0) - { - args.Player.SendErrorMessage("No prefix matched \"{0}\".", prefixidOrName); - return; - } - else - { - prefixId = matchedPrefixIds[0]; - } - } + } + else + { + item = matchedItems[0]; + } + if (item.type < 1 && item.type >= Main.maxItemTypes) + { + args.Player.SendErrorMessage("The item type {0} is invalid.", itemNameOrId); + return; + } + + int prefixId = 0; + if (amountParamIndex != -1 && args.Parameters.Count > amountParamIndex + 1) + { + string prefixidOrName = args.Parameters[amountParamIndex + 1]; + List matchedPrefixIds = TShock.Utils.GetPrefixByIdOrName(prefixidOrName); + if (matchedPrefixIds.Count > 1) + { + args.Player.SendErrorMessage("More than one ({0}) prefixes matched \"{1}\".", matchedPrefixIds.Count, prefixidOrName); + return; + } + else if (matchedPrefixIds.Count == 0) + { + args.Player.SendErrorMessage("No prefix matched \"{0}\".", prefixidOrName); + return; + } + else + { + prefixId = matchedPrefixIds[0]; + } + } if (args.Player.InventorySlotAvailable || item.name.Contains("Coin")) {