Add range checks to chest openings and sign edits.

This commit is contained in:
Deathmax 2011-08-13 21:08:38 +08:00
parent 0392149afa
commit 2ed25e57a5

View file

@ -111,6 +111,8 @@ namespace TShockAPI
{PacketTypes.LiquidSet, HandleLiquidSet},
{PacketTypes.PlayerSpawn, HandleSpawn},
{PacketTypes.SyncPlayers, HandleSync},
{PacketTypes.ChestGetContents, HandleChest},
{PacketTypes.SignNew, HandleSign}
};
}
@ -571,7 +573,7 @@ namespace TShockAPI
{
Log.Debug(string.Format("Liquid(PlyXY:{0}_{1}, TileXY:{2}_{3}, Result:{4}_{5}, Amount:{6})",
plyX, plyY, tileX, tileY, Math.Abs(plyX - tileX), Math.Abs(plyY - tileY), liquid));
return Tools.HandleGriefer(args.Player, TShock.Config.LiquidAbuseReason); ;
return Tools.HandleGriefer(args.Player, TShock.Config.LiquidAbuseReason);
}
if (TShock.Config.SpawnProtection)
@ -709,5 +711,28 @@ namespace TShockAPI
return false;
}
private static bool HandleChest(GetDataHandlerArgs args)
{
var x = args.Data.ReadInt32();
var y = args.Data.ReadInt32();
if (TShock.Config.RangeChecks && ((Math.Abs(args.Player.TileX - x) > 32) || (Math.Abs(args.Player.TileY - y) > 32)))
{
return Tools.HandleGriefer(args.Player, TShock.Config.RangeCheckBanReason);
}
return false;
}
private static bool HandleSign(GetDataHandlerArgs args)
{
var id = args.Data.ReadInt16();
var x = args.Data.ReadInt32();
var y = args.Data.ReadInt32();
if (TShock.Config.RangeChecks && ((Math.Abs(args.Player.TileX - x) > 32) || (Math.Abs(args.Player.TileY - y) > 32)))
{
return Tools.HandleGriefer(args.Player, TShock.Config.RangeCheckBanReason);
}
return false;
}
}
}