From addea02fb70be2d5035dfddde78e8f700bbf8845 Mon Sep 17 00:00:00 2001 From: Lucas Nicodemus Date: Sat, 31 Dec 2011 22:11:09 -0700 Subject: [PATCH] Sign hook --- TShockAPI/GetDataHandlers.cs | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/TShockAPI/GetDataHandlers.cs b/TShockAPI/GetDataHandlers.cs index da99fe5a..e9b46390 100644 --- a/TShockAPI/GetDataHandlers.cs +++ b/TShockAPI/GetDataHandlers.cs @@ -449,6 +449,29 @@ namespace TShockAPI return args.Handled; } + public class SignEventArgs : HandledEventArgs + { + public short ID { get; set; } + public int X { get; set; } + public int Y { get; set; } + } + public static HandlerList Sign; + + private static bool OnSignEvent(short id, int x, int y) + { + if (Sign == null) + return false; + + var args = new SignEventArgs + { + ID = id, + X = x, + Y = y, + }; + Sign.Invoke(null, args); + return args.Handled; + } + #endregion public static void InitGetDataHandler() { @@ -1664,6 +1687,9 @@ namespace TShockAPI var x = args.Data.ReadInt32(); var y = args.Data.ReadInt32(); + if (OnSignEvent(id, x, y)) + return true; + if (TShock.CheckTilePermission(args.Player, x, y)) { args.Player.SendData(PacketTypes.SignNew, "", id);