diff --git a/CHANGELOG.md b/CHANGELOG.md index 5fdfb994..f428630c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -77,6 +77,7 @@ This is the rolling changelog for TShock for Terraria. Use past tense when addin * Removed `Utils.GetPlayers()`. Iterate over the TSPlayers on the server and make your own list. * Removed `Utils.HasBanExpired()` and replaced with `Bans.RemoveBanIfExpired()`. (@hakusaro) * Removed `Utils.SendFileToUser()` and replaced with `TSPlayer.SendFileTextAsMessage()`. (@hakusaro) +* Removed `Utils.GetGroup()` also have you seen `Groups.GetGroupByName()`? (@hakusaro) ## TShock 4.3.25 * Fixed a critical exploit in the Terraria protocol that could cause massive unpreventable world corruption as well as a number of other problems. Thanks to @bartico6 for reporting. Fixed by the efforts of @QuiCM, @hakusaro, and tips in the right directioon from @bartico6. diff --git a/TShockAPI/Commands.cs b/TShockAPI/Commands.cs index e6b7feca..2faa71bc 100644 --- a/TShockAPI/Commands.cs +++ b/TShockAPI/Commands.cs @@ -842,7 +842,7 @@ namespace TShockAPI { args.Player.PlayerData = TShock.CharacterDB.GetPlayerData(args.Player, account.ID); - var group = TShock.Utils.GetGroup(account.Group); + var group = TShock.Groups.GetGroupByName(account.Group); args.Player.Group = group; args.Player.tempGroup = null; @@ -1810,7 +1810,7 @@ namespace TShockAPI ply[0].tempGroupTimer.Start(); } - Group g = TShock.Utils.GetGroup(args.Parameters[1]); + Group g = TShock.Groups.GetGroupByName(args.Parameters[1]); ply[0].tempGroup = g; @@ -3225,7 +3225,7 @@ namespace TShockAPI args.Player.SendErrorMessage("Invalid group."); return; } - Group grp = TShock.Utils.GetGroup(args.Parameters[1]); + Group grp = TShock.Groups.GetGroupByName(args.Parameters[1]); List permissions = grp.TotalPermissions; PaginationTools.SendPage(args.Player, pageNumber, PaginationTools.BuildLinesFromTerms(permissions), diff --git a/TShockAPI/DB/GroupManager.cs b/TShockAPI/DB/GroupManager.cs index 11f1cc06..9b399dd1 100644 --- a/TShockAPI/DB/GroupManager.cs +++ b/TShockAPI/DB/GroupManager.cs @@ -434,7 +434,7 @@ namespace TShockAPI.DB if (database.Query("DELETE FROM GroupList WHERE GroupName=@0", name) == 1) { - groups.Remove(TShock.Utils.GetGroup(name)); + groups.Remove(TShock.Groups.GetGroupByName(name)); return "Group " + name + " has been deleted successfully."; } @@ -454,7 +454,7 @@ namespace TShockAPI.DB if (!GroupExists(name)) return "Error: Group doesn't exist."; - var group = TShock.Utils.GetGroup(name); + var group = TShock.Groups.GetGroupByName(name); var oldperms = group.Permissions; // Store old permissions in case of error permissions.ForEach(p => group.AddPermission(p)); @@ -477,7 +477,7 @@ namespace TShockAPI.DB if (!GroupExists(name)) return "Error: Group doesn't exist."; - var group = TShock.Utils.GetGroup(name); + var group = TShock.Groups.GetGroupByName(name); var oldperms = group.Permissions; // Store old permissions in case of error permissions.ForEach(p => group.RemovePermission(p)); diff --git a/TShockAPI/GetDataHandlers.cs b/TShockAPI/GetDataHandlers.cs index 9de92643..5150e598 100644 --- a/TShockAPI/GetDataHandlers.cs +++ b/TShockAPI/GetDataHandlers.cs @@ -1725,7 +1725,7 @@ namespace TShockAPI args.Player.PlayerData = TShock.CharacterDB.GetPlayerData(args.Player, account.ID); - var group = TShock.Utils.GetGroup(account.Group); + var group = TShock.Groups.GetGroupByName(account.Group); args.Player.Group = group; args.Player.tempGroup = null; @@ -1797,7 +1797,7 @@ namespace TShockAPI args.Player.State = 2; NetMessage.SendData((int)PacketTypes.WorldInfo, args.Player.Index); - var group = TShock.Utils.GetGroup(account.Group); + var group = TShock.Groups.GetGroupByName(account.Group); args.Player.Group = group; args.Player.tempGroup = null; diff --git a/TShockAPI/Rest/RestManager.cs b/TShockAPI/Rest/RestManager.cs index 5174b560..073d7fb8 100644 --- a/TShockAPI/Rest/RestManager.cs +++ b/TShockAPI/Rest/RestManager.cs @@ -411,7 +411,7 @@ namespace TShockAPI var players = new ArrayList(); foreach (TSPlayer tsPlayer in TShock.Players.Where(p => null != p)) { - var p = PlayerFilter(tsPlayer, args.Parameters, ((args.TokenData.UserGroupName) != "" && TShock.Utils.GetGroup(args.TokenData.UserGroupName).HasPermission(RestPermissions.viewips))); + var p = PlayerFilter(tsPlayer, args.Parameters, ((args.TokenData.UserGroupName) != "" && TShock.Groups.GetGroupByName(args.TokenData.UserGroupName).HasPermission(RestPermissions.viewips))); if (null != p) players.Add(p); } diff --git a/TShockAPI/Rest/SecureRest.cs b/TShockAPI/Rest/SecureRest.cs index 4000efab..fb6a395d 100644 --- a/TShockAPI/Rest/SecureRest.cs +++ b/TShockAPI/Rest/SecureRest.cs @@ -144,7 +144,7 @@ namespace Rests return new RestObject("403") { Error = "Username or password may be incorrect or this account may not have sufficient privileges." }; } - Group userGroup = TShock.Utils.GetGroup(userAccount.Group); + Group userGroup = TShock.Groups.GetGroupByName(userAccount.Group); if (!userGroup.HasPermission(RestPermissions.restapi) && userAccount.Group != "superadmin") { AddTokenToBucket(context.RemoteEndPoint.Address.ToString()); diff --git a/TShockAPI/Utils.cs b/TShockAPI/Utils.cs index 2907abb8..6c2f427d 100644 --- a/TShockAPI/Utils.cs +++ b/TShockAPI/Utils.cs @@ -479,23 +479,6 @@ namespace TShockAPI TShock.TileBans.UpdateBans(); } - /// - /// Returns a Group from the name of the group - /// - /// string groupName - public Group GetGroup(string groupName) - { - //first attempt on cached groups - for (int i = 0; i < TShock.Groups.groups.Count; i++) - { - if (TShock.Groups.groups[i].Name.Equals(groupName)) - { - return TShock.Groups.groups[i]; - } - } - return Group.DefaultGroup; - } - /// /// Returns an IPv4 address from a DNS query ///