From 1df123d2bec3a5031f7021c3ad05c54d00e844a6 Mon Sep 17 00:00:00 2001 From: James Puleo Date: Mon, 10 Oct 2022 19:00:43 -0400 Subject: [PATCH] Make Bouncer reject Shimmer placement without bucket or whilst banned --- TShockAPI/Bouncer.cs | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/TShockAPI/Bouncer.cs b/TShockAPI/Bouncer.cs index 8a77de2d..a4c01f02 100644 --- a/TShockAPI/Bouncer.cs +++ b/TShockAPI/Bouncer.cs @@ -1548,6 +1548,10 @@ namespace TShockAPI { bucket = 7; } + else if (selectedItemType == ItemID.BottomlessShimmerBucket) + { + bucket = 8; + } if (!wasThereABombNearby && type == LiquidType.Lava && !(bucket == 2 || bucket == 0 || bucket == 5 || bucket == 6)) { @@ -1608,6 +1612,27 @@ namespace TShockAPI args.Handled = true; return; } + + if (!wasThereABombNearby && type == LiquidType.Shimmer && bucket != 8) + { + TShock.Log.ConsoleDebug("Bouncer / OnLiquidSet rejected bucket check 6 from {0}", args.Player.Name); + args.Player.SendErrorMessage("You do not have permission to perform this action."); + args.Player.Disable("Spreading shimmer without holding a honey bucket", DisableFlags.WriteToLogAndConsole); + args.Player.SendTileSquareCentered(tileX, tileY, 1); + args.Handled = true; + return; + } + + if (!wasThereABombNearby && type == LiquidType.Shimmer && + TShock.ItemBans.DataModel.ItemIsBanned("Bottomless Shimmer Bucket", args.Player)) + { + TShock.Log.ConsoleDebug("Bouncer / OnLiquidSet rejected bucket check 7 from {0}", args.Player.Name); + args.Player.SendErrorMessage("You do not have permission to perform this action."); + args.Player.Disable("Using banned bottomless shimmer bucket without permissions", DisableFlags.WriteToLogAndConsole); + args.Player.SendTileSquareCentered(tileX, tileY, 1); + args.Handled = true; + return; + } } if (!args.Player.HasBuildPermission(tileX, tileY))