diff --git a/TShockAPI/GetDataHandlers.cs b/TShockAPI/GetDataHandlers.cs index 6870483d..6652060a 100644 --- a/TShockAPI/GetDataHandlers.cs +++ b/TShockAPI/GetDataHandlers.cs @@ -499,7 +499,7 @@ namespace TShockAPI { for (int j = num3; j < num4; j++) { - if (Main.tile[i, j] != null && Main.tile[i, j].active() && Main.tileSolid[(int)Main.tile[i, j].type] && !Main.tileSolidTop[(int)Main.tile[i, j].type] &&(((int)Main.tile[i,j].type !=53) && ((int)Main.tile[i,j].type !=112) && ((int)Main.tile[i,j].type !=116) && ((int)Main.tile[i,j].type !=123)) && !Main.tile[i,j].lava() && ((Main.tile[i,j].tileHeader2 & 16) != 16) && ((Main.tile[i,j].tileHeader2 & 32) != 32) && ((Main.tile[i,j].tileHeader & 32) != 32) && !Main.tile[i,j].honey() && Main.tileSolid[(int)Main.tile[i+1, j].type] && Main.tileSolid[(int)Main.tile[i - 1, j].type] && Main.tileSolid[(int)Main.tile[i, j +1 ].type] && Main.tileSolid[(int)Main.tile[i, j - 1].type] && Main.tileSolid[(int)Main.tile[i - 1, j - 1].type] && Main.tileSolid[(int)Main.tile[i - 1, j +1].type] && Main.tileSolid[(int)Main.tile[i + 1, j -1 ].type] && Main.tileSolid[(int)Main.tile[i + 1, j +2].type]) + if (Main.tile[i, j] != null && Main.tile[i, j].active() && Main.tileSolid[(int)Main.tile[i, j].type] && !Main.tileSolidTop[(int)Main.tile[i, j].type] &&(((int)Main.tile[i,j].type !=53) && ((int)Main.tile[i,j].type !=112) && ((int)Main.tile[i,j].type !=116) && ((int)Main.tile[i,j].type !=123)) && !Main.tile[i,j].lava() && ((Main.tile[i,j].tileHeader2 & 16) != 16) && ((Main.tile[i,j].tileHeader2 & 32) != 32) && ((Main.tile[i,j].tileHeader & 32) != 32) && !Main.tile[i,j].honey() && Main.tileSolid[(int)Main.tile[i+1, j].type] && Main.tileSolid[(int)Main.tile[i - 1, j].type] && Main.tileSolid[(int)Main.tile[i, j +1 ].type] && Main.tileSolid[(int)Main.tile[i, j - 1].type] && Main.tileSolid[(int)Main.tile[i - 1, j - 1].type] && Main.tileSolid[(int)Main.tile[i - 1, j +1].type] && Main.tileSolid[(int)Main.tile[i + 1, j -1 ].type] && Main.tileSolid[(int)Main.tile[i + 1, j + 1].type]) { Vector2 vector; vector.X = (float)(i * 16); diff --git a/TShockAPI/Net/NetTile.cs b/TShockAPI/Net/NetTile.cs index e3cc30f4..01a3b8fc 100644 --- a/TShockAPI/Net/NetTile.cs +++ b/TShockAPI/Net/NetTile.cs @@ -31,9 +31,13 @@ namespace TShockAPI.Net public short FrameY { get; set; } public byte Wall { get; set; } public byte Liquid { get; set; } - public bool Lava { get; set; } + public byte LiquidType { get; set; } public bool Wire { get; set; } - + public byte HalfBrick { get; set; } + public byte Actuator { get; set; } + public bool Inactive { get; set; } + public bool IsHalf { get; set; } + public bool IsActuator { get; set; } public bool HasWall { get { return Wall > 0; } @@ -57,8 +61,10 @@ namespace TShockAPI.Net FrameY = -1; Wall = 0; Liquid = 0; - Lava = false; Wire = false; + HalfBrick = 0; + Actuator = 0; + Inactive = false; } public NetTile(Stream stream) @@ -71,7 +77,7 @@ namespace TShockAPI.Net { var flags = TileFlags.None; - if (Active) + if ((Active) && (!Inactive)) flags |= TileFlags.Active; if (HasWall) @@ -82,6 +88,17 @@ namespace TShockAPI.Net if (Wire) flags |= TileFlags.Wire; + + if (IsHalf) + flags |= TileFlags.HalfBrick; + + if (IsActuator) + flags |= TileFlags.Actuator; + + if (Inactive) + { + flags |= TileFlags.Inactive; + } stream.WriteInt8((byte) flags); @@ -101,7 +118,7 @@ namespace TShockAPI.Net if (HasLiquid) { stream.WriteInt8(Liquid); - stream.WriteBoolean(Lava); + stream.WriteInt8(LiquidType); } } @@ -128,11 +145,23 @@ namespace TShockAPI.Net if (flags.HasFlag(TileFlags.Liquid)) { Liquid = stream.ReadInt8(); - Lava = stream.ReadBoolean(); + LiquidType = stream.ReadInt8(); } if (flags.HasFlag(TileFlags.Wire)) Wire = true; + + if (flags.HasFlag(TileFlags.HalfBrick)) + IsHalf = true; + + if (flags.HasFlag(TileFlags.Actuator)) + IsActuator = true; + + if (flags.HasFlag(TileFlags.Inactive)) + { + Inactive = true; + Active = false; + } } } @@ -144,6 +173,9 @@ namespace TShockAPI.Net Lighted = 2, Wall = 4, Liquid = 8, - Wire = 16 + Wire = 16, + HalfBrick = 32, + Actuator = 64, + Inactive = 128 } -} \ No newline at end of file +}