Move permission check together

This commit is contained in:
SGKoishi 2022-11-28 00:56:02 -08:00
parent ac7ee7e706
commit 49921cb7ed
No known key found for this signature in database
GPG key ID: 8FFC399070653828

View file

@ -1729,17 +1729,52 @@ namespace TShockAPI
args.Handled = true; args.Handled = true;
} }
if (type == LiquidType.Lava && !(selectedItemType == ItemID.LavaBucket || selectedItemType == ItemID.EmptyBucket || selectedItemType == ItemID.LavaAbsorbantSponge || selectedItemType == ItemID.BottomlessLavaBucket || selectedItemType == ItemID.UltraAbsorbantSponge)) if (TShock.ItemBans.DataModel.ItemIsBanned(EnglishLanguage.GetItemNameById(selectedItemType), args.Player))
{ {
Reject(GetString("Spreading lava without holding a lava bucket")); Reject(GetString("Using banned {0} to manipulate liquid", Lang.GetItemNameValue(selectedItemType)));
return; return;
} }
if (type == LiquidType.Lava && TShock.ItemBans.DataModel.ItemIsBanned("Lava Bucket", args.Player)) switch (type)
{
case LiquidType.Water:
if (TShock.ItemBans.DataModel.ItemIsBanned(EnglishLanguage.GetItemNameById(ItemID.WaterBucket), args.Player))
{
Reject(GetString("Using banned water bucket without permissions"));
return;
}
break;
case LiquidType.Lava:
if (TShock.ItemBans.DataModel.ItemIsBanned(EnglishLanguage.GetItemNameById(ItemID.LavaBucket), args.Player))
{ {
Reject(GetString("Using banned lava bucket without permissions")); Reject(GetString("Using banned lava bucket without permissions"));
return; return;
} }
break;
case LiquidType.Honey:
if (TShock.ItemBans.DataModel.ItemIsBanned(EnglishLanguage.GetItemNameById(ItemID.HoneyBucket), args.Player))
{
Reject(GetString("Using banned honey bucket without permissions"));
return;
}
break;
case LiquidType.Shimmer:
if (TShock.ItemBans.DataModel.ItemIsBanned(EnglishLanguage.GetItemNameById(ItemID.BottomlessShimmerBucket), args.Player))
{
Reject(GetString("Using banned shimmering water bucket without permissions"));
return;
}
break;
default:
Reject(GetString("Manipulating unknown liquid type"));
return;
}
if (type == LiquidType.Lava && !(selectedItemType == ItemID.LavaBucket || selectedItemType == ItemID.EmptyBucket || selectedItemType == ItemID.LavaAbsorbantSponge || selectedItemType == ItemID.BottomlessLavaBucket || selectedItemType == ItemID.UltraAbsorbantSponge))
{
Reject(GetString("Spreading lava without holding a lava bucket"));
return;
}
if (type == LiquidType.Water && !(selectedItemType == ItemID.WaterBucket || selectedItemType == ItemID.EmptyBucket || selectedItemType == ItemID.BottomlessBucket || selectedItemType == ItemID.UltraAbsorbantSponge || selectedItemType == ItemID.SuperAbsorbantSponge)) if (type == LiquidType.Water && !(selectedItemType == ItemID.WaterBucket || selectedItemType == ItemID.EmptyBucket || selectedItemType == ItemID.BottomlessBucket || selectedItemType == ItemID.UltraAbsorbantSponge || selectedItemType == ItemID.SuperAbsorbantSponge))
{ {
@ -1747,36 +1782,17 @@ namespace TShockAPI
return; return;
} }
if (type == LiquidType.Water && TShock.ItemBans.DataModel.ItemIsBanned("Water Bucket", args.Player))
{
Reject(GetString("Using banned water bucket without permissions"));
return;
}
if (type == LiquidType.Honey && !(selectedItemType == ItemID.HoneyBucket || selectedItemType == ItemID.EmptyBucket || selectedItemType == ItemID.BottomlessHoneyBucket || selectedItemType == ItemID.HoneyAbsorbantSponge || selectedItemType == ItemID.UltraAbsorbantSponge)) if (type == LiquidType.Honey && !(selectedItemType == ItemID.HoneyBucket || selectedItemType == ItemID.EmptyBucket || selectedItemType == ItemID.BottomlessHoneyBucket || selectedItemType == ItemID.HoneyAbsorbantSponge || selectedItemType == ItemID.UltraAbsorbantSponge))
{ {
Reject(GetString("Spreading honey without holding a honey bucket")); Reject(GetString("Spreading honey without holding a honey bucket"));
return; return;
} }
if (type == LiquidType.Honey && TShock.ItemBans.DataModel.ItemIsBanned("Honey Bucket", args.Player))
{
Reject(GetString("Using banned honey bucket without permissions"));
return;
}
if (type == LiquidType.Shimmer && !(selectedItemType == ItemID.BottomlessShimmerBucket || selectedItemType == ItemID.UltraAbsorbantSponge || selectedItemType == ItemID.SuperAbsorbantSponge)) if (type == LiquidType.Shimmer && !(selectedItemType == ItemID.BottomlessShimmerBucket || selectedItemType == ItemID.UltraAbsorbantSponge || selectedItemType == ItemID.SuperAbsorbantSponge))
{ {
Reject(GetString("Spreading shimmer without holding a shimmer bucket")); Reject(GetString("Spreading shimmer without holding a shimmer bucket"));
return; return;
} }
if (type == LiquidType.Shimmer &&
TShock.ItemBans.DataModel.ItemIsBanned("Bottomless Shimmer Bucket", args.Player))
{
Reject(GetString("Using banned bottomless shimmer bucket without permissions"));
return;
}
} }
if (!args.Player.HasBuildPermission(tileX, tileY)) if (!args.Player.HasBuildPermission(tileX, tileY))