Fix issues

This commit is contained in:
Arthri 2021-07-19 15:01:49 +08:00
parent b63b50bb3e
commit 871f6babcc

View file

@ -308,18 +308,42 @@ namespace TShockAPI
return; return;
} }
var correctedPlaceStyle = args.Player.TPlayer.UsingBiomeTorches var createTile = selectedItem.createTile;
? args.Player.TPlayer.BiomeTorchPlaceStyle(0) // using non-0 returns that number var placeStyle = selectedItem.placeStyle;
: editData == TileID.MinecartTrack && style == 2 && args.Player.TPlayer.direction == 1 // Booster Right Track if (placeStyle != style)
? 3
: selectedItem.placeStyle;
if (correctedPlaceStyle != style)
{ {
TShock.Log.ConsoleError("Bouncer / OnTileEdit rejected from (placestyle) {0} {1} {2} placeStyle: {3} expectedStyle: {4}", var tplayer = args.Player.TPlayer;
args.Player.Name, action, editData, style, correctedPlaceStyle); if (createTile == TileID.Torches && placeStyle == TorchID.Torch && tplayer.unlockedBiomeTorches)
args.Player.SendTileSquare(tileX, tileY, 1); {
args.Handled = true; // BiomeTorchPlaceStyle checks if the player has biome torches activated
return; // but biome torches activation isn't broadcasted when it's toggled
var usingBiomeTorches = tplayer.UsingBiomeTorches;
if (!usingBiomeTorches)
{
tplayer.UsingBiomeTorches = true;
}
var biomeTorchStyle = tplayer.BiomeTorchPlaceStyle(placeStyle);
if (!usingBiomeTorches)
{
tplayer.UsingBiomeTorches = usingBiomeTorches;
}
if (style != biomeTorchStyle)
{
TShock.Log.ConsoleError("Bouncer / OnTileEdit rejected from (placestyle) {0} {1} {2} placeStyle: {3} expectedStyle: 0 or {4}",
args.Player.Name, action, editData, style, biomeTorchStyle);
args.Player.SendTileSquare(tileX, tileY, 1);
args.Handled = true;
return;
}
}
else if (createTile != TileID.MinecartTrack || placeStyle != 2 || args.Player.TPlayer.direction != 1 || style != 3)
{
TShock.Log.ConsoleError("Bouncer / OnTileEdit rejected from (placestyle) {0} {1} {2} placeStyle: {3} expectedStyle: {4}",
args.Player.Name, action, editData, style, placeStyle);
args.Player.SendTileSquare(tileX, tileY, 1);
args.Handled = true;
return;
}
} }
} }