diff --git a/TShockAPI/Bouncer.cs b/TShockAPI/Bouncer.cs index 6e9bdbf1..30268f41 100644 --- a/TShockAPI/Bouncer.cs +++ b/TShockAPI/Bouncer.cs @@ -42,6 +42,7 @@ namespace TShockAPI { // Setup hooks + GetDataHandlers.ChestOpen.Register(OnChestOpen); GetDataHandlers.PlaceChest.Register(OnPlaceChest); GetDataHandlers.LiquidSet.Register(OnLiquidSet); GetDataHandlers.ProjectileKill.Register(OnProjectileKill); @@ -54,6 +55,31 @@ namespace TShockAPI GetDataHandlers.TileEdit.Register(OnTileEdit); } + internal void OnChestOpen(object sender, GetDataHandlers.ChestOpenEventArgs args) + { + + if (TShock.CheckIgnores(args.Player)) + { + args.Handled = true; + return; + } + + if (TShock.CheckRangePermission(args.Player, args.X, args.Y)) + { + args.Handled = true; + return; + } + + if (TShock.CheckTilePermission(args.Player, args.X, args.Y) && TShock.Config.RegionProtectChests) + { + args.Handled = true; + return; + } + + int id = Chest.FindChest(args.X, args.Y); + args.Player.ActiveChest = id; + } + /// The place chest event that Bouncer hooks to prevent accidental damage. /// The object that triggered the event. /// The packet arguments that the event has. diff --git a/TShockAPI/GetDataHandlers.cs b/TShockAPI/GetDataHandlers.cs index da75b529..5606c50b 100644 --- a/TShockAPI/GetDataHandlers.cs +++ b/TShockAPI/GetDataHandlers.cs @@ -2413,24 +2413,6 @@ namespace TShockAPI if (OnChestOpen(x, y, args.Player)) return true; - if (TShock.CheckIgnores(args.Player)) - { - return true; - } - - if (TShock.CheckRangePermission(args.Player, x, y)) - { - return true; - } - - if (TShock.CheckTilePermission(args.Player, x, y) && TShock.Config.RegionProtectChests) - { - return true; - } - - int id = Chest.FindChest(x, y); - args.Player.ActiveChest = id; - return false; }