Remove TShock.Itembans in favour of TShock.ItemBans

This commit is contained in:
Chris 2020-11-13 19:22:10 +10:30
parent 4802ebed91
commit 39e13f74d6
6 changed files with 18 additions and 21 deletions

View file

@ -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.");

View file

@ -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<string> itemNames = from itemBan in TShock.Itembans.ItemBans
IEnumerable<string> itemNames = from itemBan in TShock.ItemBans.DataModel.ItemBans
select itemBan.Name;
PaginationTools.SendPage(args.Player, pageNumber, PaginationTools.BuildLinesFromTerms(itemNames),
new PaginationTools.Settings

View file

@ -35,11 +35,11 @@ using System.Data;
namespace TShockAPI
{
/// <summary>The TShock item ban subsystem. It handles keeping things out of people's inventories.</summary>
internal sealed class ItemBans
public sealed class ItemBans
{
/// <summary>The database connection layer to for the item ban subsystem.</summary>
private ItemManager DataModel;
public ItemManager DataModel;
/// <summary>The last time the second update process was run. Used to throttle task execution.</summary>
private DateTime LastTimelyRun = DateTime.UtcNow;

View file

@ -1312,8 +1312,8 @@ namespace TShockAPI
/// <returns>True or false, depending if the item passed the check or not.</returns>
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
/// <returns>True if the player has permission to use the banned item.</returns>
public bool HasPermission(ItemBan bannedItem)
{
return TShock.Itembans.ItemIsBanned(bannedItem.Name, this);
return TShock.ItemBans.DataModel.ItemIsBanned(bannedItem.Name, this);
}
/// <summary>

View file

@ -90,8 +90,6 @@ namespace TShockAPI
public static GroupManager Groups;
/// <summary>Users - Static reference to the user manager for accessing the user database system.</summary>
public static UserAccountManager UserAccounts;
/// <summary>Itembans - Static reference to the item ban system.</summary>
public static ItemManager Itembans;
/// <summary>ProjectileBans - Static reference to the projectile ban system.</summary>
public static ProjectileManagager ProjectileBans;
/// <summary>TileBans - Static reference to the tile ban system.</summary>
@ -137,7 +135,7 @@ namespace TShockAPI
internal Bouncer Bouncer;
/// <summary>The TShock item ban system.</summary>
internal ItemBans ItemBans;
public static ItemBans ItemBans;
/// <summary>
/// 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);

View file

@ -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();
}