Add & move OnPlaceItemFrame to Bouncer

This commit is contained in:
Lucas Nicodemus 2017-12-15 23:15:43 -07:00
parent 748d7f7fab
commit 9f7c3ead09
3 changed files with 79 additions and 14 deletions

View file

@ -29,6 +29,7 @@ using static TShockAPI.GetDataHandlers;
using TerrariaApi.Server;
using Terraria.ObjectData;
using Terraria.DataStructures;
using Terraria.Localization;
namespace TShockAPI
{
@ -41,6 +42,7 @@ namespace TShockAPI
{
// Setup hooks
GetDataHandlers.PlaceItemFrame.Register(OnPlaceItemFrame);
GetDataHandlers.GemLockToggle.Register(OnGemLockToggle);
GetDataHandlers.PlaceTileEntity.Register(OnPlaceTileEntity);
GetDataHandlers.PlayerAnimation.Register(OnPlayerAnimation);
@ -62,6 +64,33 @@ namespace TShockAPI
GetDataHandlers.TileEdit.Register(OnTileEdit);
}
/// <summary>Fired when an item frame is placed for anti-cheat detection.</summary>
/// <param name="sender">The object that triggered the event.</param>
/// <param name="args">The packet arguments that the event has.</param>
internal void OnPlaceItemFrame(object sender, GetDataHandlers.PlaceItemFrameEventArgs args)
{
if (TShock.CheckIgnores(args.Player))
{
NetMessage.SendData((int)PacketTypes.UpdateTileEntity, -1, -1, NetworkText.Empty, args.ItemFrame.ID, 0, 1);
args.Handled = true;
return;
}
if (TShock.CheckTilePermission(args.Player, args.X, args.Y))
{
NetMessage.SendData((int)PacketTypes.UpdateTileEntity, -1, -1, NetworkText.Empty, args.ItemFrame.ID, 0, 1);
args.Handled = true;
return;
}
if (TShock.CheckRangePermission(args.Player, args.X, args.Y))
{
NetMessage.SendData((int)PacketTypes.UpdateTileEntity, -1, -1, NetworkText.Empty, args.ItemFrame.ID, 0, 1);
args.Handled = true;
return;
}
}
/// <summary>Handles the anti-cheat components of gem lock toggles.</summary>
/// <param name="sender">The object that triggered the event.</param>
/// <param name="args">The packet arguments that the event has.</param>