diff --git a/TShockAPI/GetDataHandlers.cs b/TShockAPI/GetDataHandlers.cs index cd398d9c..146bea59 100755 --- a/TShockAPI/GetDataHandlers.cs +++ b/TShockAPI/GetDataHandlers.cs @@ -2045,6 +2045,14 @@ namespace TShockAPI args.Player.SendTileSquare(tileX, tileY, 4); return true; } + + // Using the actuation accessory can lead to actuator hacking + if (TShock.Itembans.ItemIsBanned("Actuator", args.Player) && args.Player.TPlayer.autoActuator) + { + args.Player.SendTileSquare(tileX, tileY, 1); + args.Player.SendErrorMessage("You do not have permission to place actuators."); + return true; + } if (TShock.Itembans.ItemIsBanned(selectedItem.name, args.Player) || editData >= (action == EditAction.PlaceTile ? Main.maxTileSets : Main.maxWallTypes)) { args.Player.SendTileSquare(tileX, tileY, 4); @@ -2101,8 +2109,8 @@ namespace TShockAPI } else if (action == EditAction.PlaceActuator) { - // If they aren't selecting the actuator, they're hacking. - if (selectedItem.type != ItemID.Actuator) + // If they aren't selecting the actuator and don't have the Presserator equipped, they're hacking. + if (selectedItem.type != ItemID.Actuator && !args.Player.TPlayer.autoActuator) { args.Player.SendTileSquare(tileX, tileY, 1); return true; diff --git a/TShockAPI/TShock.cs b/TShockAPI/TShock.cs index 88e236d5..0b49203a 100755 --- a/TShockAPI/TShock.cs +++ b/TShockAPI/TShock.cs @@ -1341,7 +1341,7 @@ namespace TShockAPI } catch (Exception ex) { - Log.ConsoleError("An exeption occurred executing a command."); + Log.ConsoleError("An exception occurred executing a command."); Log.Error(ex.ToString()); } }