From 39e13f74d6abe8b2228ee7961a093975490a1150 Mon Sep 17 00:00:00 2001 From: Chris <2648373+QuiCM@users.noreply.github.com> Date: Fri, 13 Nov 2020 19:22:10 +1030 Subject: [PATCH] Remove TShock.Itembans in favour of TShock.ItemBans --- TShockAPI/Bouncer.cs | 8 ++++---- TShockAPI/Commands.cs | 14 +++++++------- TShockAPI/ItemBans.cs | 4 ++-- TShockAPI/TSPlayer.cs | 6 +++--- TShockAPI/TShock.cs | 5 +---- TShockAPI/Utils.cs | 2 +- 6 files changed, 18 insertions(+), 21 deletions(-) diff --git a/TShockAPI/Bouncer.cs b/TShockAPI/Bouncer.cs index 94413bef..5aca3613 100644 --- a/TShockAPI/Bouncer.cs +++ b/TShockAPI/Bouncer.cs @@ -710,7 +710,7 @@ namespace TShockAPI Item item = new Item(); item.netDefaults(type); - if ((stacks > item.maxStack || stacks <= 0) || (TShock.Itembans.ItemIsBanned(EnglishLanguage.GetItemNameById(item.type), args.Player) && !args.Player.HasPermission(Permissions.allowdroppingbanneditems))) + if ((stacks > item.maxStack || stacks <= 0) || (TShock.ItemBans.DataModel.ItemIsBanned(EnglishLanguage.GetItemNameById(item.type), args.Player) && !args.Player.HasPermission(Permissions.allowdroppingbanneditems))) { TShock.Log.ConsoleDebug("Bouncer / OnItemDrop rejected from drop item ban check / max stack check / min stack check from {0}", args.Player.Name); args.Player.SendData(PacketTypes.ItemDrop, "", id); @@ -1311,7 +1311,7 @@ namespace TShockAPI return; } - if (!wasThereABombNearby && type == LiquidType.Lava && TShock.Itembans.ItemIsBanned("Lava Bucket", args.Player)) + if (!wasThereABombNearby && type == LiquidType.Lava && TShock.ItemBans.DataModel.ItemIsBanned("Lava Bucket", args.Player)) { TShock.Log.ConsoleDebug("Bouncer / OnLiquidSet rejected lava bucket from {0}", args.Player.Name); args.Player.SendErrorMessage("You do not have permission to perform this action."); @@ -1331,7 +1331,7 @@ namespace TShockAPI return; } - if (!wasThereABombNearby && type == LiquidType.Water && TShock.Itembans.ItemIsBanned("Water Bucket", args.Player)) + if (!wasThereABombNearby && type == LiquidType.Water && TShock.ItemBans.DataModel.ItemIsBanned("Water Bucket", args.Player)) { TShock.Log.ConsoleDebug("Bouncer / OnLiquidSet rejected bucket check 3 from {0}", args.Player.Name); args.Player.SendErrorMessage("You do not have permission to perform this action."); @@ -1351,7 +1351,7 @@ namespace TShockAPI return; } - if (!wasThereABombNearby && type == LiquidType.Honey && TShock.Itembans.ItemIsBanned("Honey Bucket", args.Player)) + if (!wasThereABombNearby && type == LiquidType.Honey && TShock.ItemBans.DataModel.ItemIsBanned("Honey Bucket", args.Player)) { TShock.Log.ConsoleDebug("Bouncer / OnLiquidSet rejected bucket check 5 from {0}", args.Player.Name); args.Player.SendErrorMessage("You do not have permission to perform this action."); diff --git a/TShockAPI/Commands.cs b/TShockAPI/Commands.cs index 5cf3cbdb..5a6ade28 100644 --- a/TShockAPI/Commands.cs +++ b/TShockAPI/Commands.cs @@ -3563,7 +3563,7 @@ namespace TShockAPI // Yes this is required because of localization // User may have passed in localized name but itembans works on English names string englishNameForStorage = EnglishLanguage.GetItemNameById(items[0].type); - TShock.Itembans.AddNewBan(englishNameForStorage); + TShock.ItemBans.DataModel.AddNewBan(englishNameForStorage); // It was decided in Telegram that we would continue to ban // projectiles based on whether or not their associated item was @@ -3617,7 +3617,7 @@ namespace TShockAPI return; } - ItemBan ban = TShock.Itembans.GetItemBanByName(EnglishLanguage.GetItemNameById(items[0].type)); + ItemBan ban = TShock.ItemBans.DataModel.GetItemBanByName(EnglishLanguage.GetItemNameById(items[0].type)); if (ban == null) { args.Player.SendErrorMessage("{0} is not banned.", items[0].Name); @@ -3625,7 +3625,7 @@ namespace TShockAPI } if (!ban.AllowedGroups.Contains(args.Parameters[2])) { - TShock.Itembans.AllowGroup(EnglishLanguage.GetItemNameById(items[0].type), args.Parameters[2]); + TShock.ItemBans.DataModel.AllowGroup(EnglishLanguage.GetItemNameById(items[0].type), args.Parameters[2]); args.Player.SendSuccessMessage("{0} has been allowed to use {1}.", args.Parameters[2], items[0].Name); } else @@ -3656,7 +3656,7 @@ namespace TShockAPI } else { - TShock.Itembans.RemoveBan(EnglishLanguage.GetItemNameById(items[0].type)); + TShock.ItemBans.DataModel.RemoveBan(EnglishLanguage.GetItemNameById(items[0].type)); args.Player.SendSuccessMessage("Unbanned " + items[0].Name + "."); } } @@ -3688,7 +3688,7 @@ namespace TShockAPI return; } - ItemBan ban = TShock.Itembans.GetItemBanByName(EnglishLanguage.GetItemNameById(items[0].type)); + ItemBan ban = TShock.ItemBans.DataModel.GetItemBanByName(EnglishLanguage.GetItemNameById(items[0].type)); if (ban == null) { args.Player.SendErrorMessage("{0} is not banned.", items[0].Name); @@ -3696,7 +3696,7 @@ namespace TShockAPI } if (ban.AllowedGroups.Contains(args.Parameters[2])) { - TShock.Itembans.RemoveGroup(EnglishLanguage.GetItemNameById(items[0].type), args.Parameters[2]); + TShock.ItemBans.DataModel.RemoveGroup(EnglishLanguage.GetItemNameById(items[0].type), args.Parameters[2]); args.Player.SendSuccessMessage("{0} has been disallowed to use {1}.", args.Parameters[2], items[0].Name); } else @@ -3739,7 +3739,7 @@ namespace TShockAPI int pageNumber; if (!PaginationTools.TryParsePageNumber(args.Parameters, 1, args.Player, out pageNumber)) return; - IEnumerable itemNames = from itemBan in TShock.Itembans.ItemBans + IEnumerable itemNames = from itemBan in TShock.ItemBans.DataModel.ItemBans select itemBan.Name; PaginationTools.SendPage(args.Player, pageNumber, PaginationTools.BuildLinesFromTerms(itemNames), new PaginationTools.Settings diff --git a/TShockAPI/ItemBans.cs b/TShockAPI/ItemBans.cs index b4fed4ba..343e20b4 100644 --- a/TShockAPI/ItemBans.cs +++ b/TShockAPI/ItemBans.cs @@ -35,11 +35,11 @@ using System.Data; namespace TShockAPI { /// The TShock item ban subsystem. It handles keeping things out of people's inventories. - internal sealed class ItemBans + public sealed class ItemBans { /// The database connection layer to for the item ban subsystem. - private ItemManager DataModel; + public ItemManager DataModel; /// The last time the second update process was run. Used to throttle task execution. private DateTime LastTimelyRun = DateTime.UtcNow; diff --git a/TShockAPI/TSPlayer.cs b/TShockAPI/TSPlayer.cs index d728597b..97fdebcb 100644 --- a/TShockAPI/TSPlayer.cs +++ b/TShockAPI/TSPlayer.cs @@ -1312,8 +1312,8 @@ namespace TShockAPI /// True or false, depending if the item passed the check or not. public bool GiveItemCheck(int type, string name, int stack, int prefix = 0) { - if ((TShock.Itembans.ItemIsBanned(name) && TShock.Config.PreventBannedItemSpawn) && - (TShock.Itembans.ItemIsBanned(name, this) || !TShock.Config.AllowAllowedGroupsToSpawnBannedItems)) + if ((TShock.ItemBans.DataModel.ItemIsBanned(name) && TShock.Config.PreventBannedItemSpawn) && + (TShock.ItemBans.DataModel.ItemIsBanned(name, this) || !TShock.Config.AllowAllowedGroupsToSpawnBannedItems)) return false; GiveItem(type, stack, prefix); @@ -1803,7 +1803,7 @@ namespace TShockAPI /// True if the player has permission to use the banned item. public bool HasPermission(ItemBan bannedItem) { - return TShock.Itembans.ItemIsBanned(bannedItem.Name, this); + return TShock.ItemBans.DataModel.ItemIsBanned(bannedItem.Name, this); } /// diff --git a/TShockAPI/TShock.cs b/TShockAPI/TShock.cs index 74e35636..0c584f46 100644 --- a/TShockAPI/TShock.cs +++ b/TShockAPI/TShock.cs @@ -90,8 +90,6 @@ namespace TShockAPI public static GroupManager Groups; /// Users - Static reference to the user manager for accessing the user database system. public static UserAccountManager UserAccounts; - /// Itembans - Static reference to the item ban system. - public static ItemManager Itembans; /// ProjectileBans - Static reference to the projectile ban system. public static ProjectileManagager ProjectileBans; /// TileBans - Static reference to the tile ban system. @@ -137,7 +135,7 @@ namespace TShockAPI internal Bouncer Bouncer; /// The TShock item ban system. - internal ItemBans ItemBans; + public static ItemBans ItemBans; /// /// TShock's Region subsystem. @@ -321,7 +319,6 @@ namespace TShockAPI Regions = new RegionManager(DB); UserAccounts = new UserAccountManager(DB); Groups = new GroupManager(DB); - Itembans = new ItemManager(DB); ProjectileBans = new ProjectileManagager(DB); TileBans = new TileManager(DB); RememberedPos = new RememberedPosManager(DB); diff --git a/TShockAPI/Utils.cs b/TShockAPI/Utils.cs index 41eecf36..8a6503c6 100644 --- a/TShockAPI/Utils.cs +++ b/TShockAPI/Utils.cs @@ -483,7 +483,7 @@ namespace TShockAPI TShock.HandleCommandLinePostConfigLoad(Environment.GetCommandLineArgs()); TShock.Groups.LoadPermisions(); TShock.Regions.Reload(); - TShock.Itembans.UpdateItemBans(); + TShock.ItemBans.DataModel.UpdateItemBans(); TShock.ProjectileBans.UpdateBans(); TShock.TileBans.UpdateBans(); }