From 33050b13062b4b6ff199a1510896c6aff2167851 Mon Sep 17 00:00:00 2001 From: Zack Piispanen Date: Wed, 28 Aug 2013 00:42:45 -0400 Subject: [PATCH] Fixed(?) lava and water liquid sets. Not sure if its even possible to get this far into the process, but if it was possible to bypass the item in hand checks in OnSecondUpdate() and OnPlayerUpdate() then they would successfully place lava/water. This should now be fixed, and if the right bucket isn't in their hand we ignore. --- TShockAPI/GetDataHandlers.cs | 38 ++++++++++++++++++++++++++---------- 1 file changed, 28 insertions(+), 10 deletions(-) diff --git a/TShockAPI/GetDataHandlers.cs b/TShockAPI/GetDataHandlers.cs index 939cc52c..d84818a6 100644 --- a/TShockAPI/GetDataHandlers.cs +++ b/TShockAPI/GetDataHandlers.cs @@ -2333,18 +2333,36 @@ namespace TShockAPI bucket = 2; } - if (lava && bucket != 2 && !args.Player.Group.HasPermission(Permissions.usebanneditem) && - TShock.Itembans.ItemIsBanned("Lava Bucket", args.Player)) - { - args.Player.Disable("Using banned lava bucket without permissions."); - args.Player.SendTileSquare(tileX, tileY); - return true; - } + if(lava && bucket != 2) + { + args.Player.SendErrorMessage("You do not have permission to perform this action."); + args.Player.Disable("Spreading lava without holding a lava bucket"); + args.Player.SendTileSquare(tileX, tileY); + return true; + } + + if(lava && (!args.Player.Group.HasPermission(Permissions.usebanneditem) && + TShock.Itembans.ItemIsBanned("Lava Bucket", args.Player))) + { + args.Player.SendErrorMessage("You do not have permission to perform this action."); + args.Player.Disable("Using banned lava bucket without permissions"); + args.Player.SendTileSquare(tileX, tileY); + return true; + } - if (!lava && bucket != 1 && !args.Player.Group.HasPermission(Permissions.usebanneditem) && - TShock.Itembans.ItemIsBanned("Water Bucket", args.Player)) + if (!lava && bucket != 1) + { + args.Player.SendErrorMessage("You do not have permission to perform this action."); + args.Player.Disable("Spreading water without holding a water bucket"); + args.Player.SendTileSquare(tileX, tileY); + return true; + } + + if (!lava && (!args.Player.Group.HasPermission(Permissions.usebanneditem) && + TShock.Itembans.ItemIsBanned("Water Bucket", args.Player))) { - args.Player.Disable("Using banned water bucket without permissions."); + args.Player.SendErrorMessage("You do not have permission to perform this action."); + args.Player.Disable("Using banned water bucket without permissions"); args.Player.SendTileSquare(tileX, tileY); return true; }