diff --git a/TShockAPI/GetDataHandlers.cs b/TShockAPI/GetDataHandlers.cs index cead709a..0a11d898 100644 --- a/TShockAPI/GetDataHandlers.cs +++ b/TShockAPI/GetDataHandlers.cs @@ -1940,6 +1940,14 @@ namespace TShockAPI { ProjectileID.CrimsandBallGun, TileID.Crimsand }, }; + private static Dictionary ropeCoilPlacements = new Dictionary + { + {ItemID.RopeCoil, TileID.Rope}, + {ItemID.SilkRopeCoil, TileID.SilkRope}, + {ItemID.VineRopeCoil, TileID.VineRope}, + {ItemID.WebRopeCoil, TileID.WebRope} + }; + /// /// Extra place style limits for strange hardcoded values in Terraria /// @@ -2115,7 +2123,8 @@ namespace TShockAPI // If they aren't selecting the item which creates the tile or wall, they're hacking. if (!(selectedItem.netID == ItemID.IceRod && editData == TileID.MagicalIceBlock) && - editData != (action == EditAction.PlaceTile ? selectedItem.createTile : selectedItem.createWall)) + (editData != (action == EditAction.PlaceTile ? selectedItem.createTile : selectedItem.createWall) && + !(ropeCoilPlacements.ContainsKey(selectedItem.netID) && editData == ropeCoilPlacements[selectedItem.netID]))) { args.Player.SendTileSquare(tileX, tileY, 4); return true;