Fix spaghetti one liner

This commit is contained in:
Arthri 2021-08-28 10:42:19 +08:00
parent 335c1ddb50
commit d1459bb1ba

View file

@ -451,9 +451,20 @@ namespace TShockAPI
if (requestedPlaceStyle != actualItemPlaceStyle) if (requestedPlaceStyle != actualItemPlaceStyle)
{ {
var tplayer = args.Player.TPlayer; var tplayer = args.Player.TPlayer;
var correctedPlaceStyle = actualItemPlaceStyle; // Search for an extraneous tile corrector
if (!PlaceStyleCorrectors.TryGetValue(actualTileToBeCreated, out PlaceStyleCorrector corrector) // If none found then it can't be a false positive so deny the action
|| requestedPlaceStyle != (correctedPlaceStyle = corrector(tplayer, requestedPlaceStyle, actualItemPlaceStyle))) if (!PlaceStyleCorrectors.TryGetValue(actualTileToBeCreated, out PlaceStyleCorrector corrector))
{
TShock.Log.ConsoleError("Bouncer / OnTileEdit rejected from (placestyle) {0} {1} {2} placeStyle: {3} expectedStyle: {4}",
args.Player.Name, action, editData, requestedPlaceStyle, actualItemPlaceStyle);
args.Player.SendTileSquare(tileX, tileY, 1);
args.Handled = true;
return;
}
// See if the corrector's expected style matches
var correctedPlaceStyle = corrector(tplayer, requestedPlaceStyle, actualItemPlaceStyle);
if (requestedPlaceStyle != correctedPlaceStyle)
{ {
TShock.Log.ConsoleError("Bouncer / OnTileEdit rejected from (placestyle) {0} {1} {2} placeStyle: {3} expectedStyle: {4}", TShock.Log.ConsoleError("Bouncer / OnTileEdit rejected from (placestyle) {0} {1} {2} placeStyle: {3} expectedStyle: {4}",
args.Player.Name, action, editData, requestedPlaceStyle, correctedPlaceStyle); args.Player.Name, action, editData, requestedPlaceStyle, correctedPlaceStyle);