public static void LavaCheck(Func <Int32, Int32, ITile> TileRefs, ISandbox sandbox, int x, int y)
        {
            if (TileRefs == null)
            {
                TileRefs = TileCollection.ITileAt;
            }

            if ((TileRefs(x - 1, y).Liquid > 0 && !TileRefs(x - 1, y).Lava) || (TileRefs(x + 1, y).Liquid > 0 && !TileRefs(x + 1, y).Lava) || (TileRefs(x, y - 1).Liquid > 0 && !TileRefs(x, y - 1).Lava))
            {
                int liq = 0;
                if (!TileRefs(x - 1, y).Lava)
                {
                    liq += (int)TileRefs(x - 1, y).Liquid;
                    TileRefs(x - 1, y).SetLiquid(0);
                }
                if (!TileRefs(x + 1, y).Lava)
                {
                    liq += (int)TileRefs(x + 1, y).Liquid;
                    TileRefs(x + 1, y).SetLiquid(0);
                }
                if (!TileRefs(x, y - 1).Lava)
                {
                    liq += (int)TileRefs(x, y - 1).Liquid;
                    TileRefs(x, y - 1).SetLiquid(0);
                }
                if (liq >= 32 && !TileRefs(x, y).Active)
                {
                    TileRefs(x, y).SetLiquid(0);
                    TileRefs(x, y).SetLava(false);
                    WorldModify.PlaceTile(TileRefs, sandbox, x, y, 56, true, true, -1, 0);
                    WorldModify.SquareTileFrame(TileRefs, sandbox, x, y, true);

                    NetMessage.SendTileSquare(-1, x - 1, y - 1, 3);
                    return;
                }
            }
            else if (TileRefs(x, y + 1).Liquid > 0 && !TileRefs(x, y + 1).Lava&& !TileRefs(x, y + 1).Active)
            {
                TileRefs(x, y).SetLiquid(0);
                TileRefs(x, y).SetLava(false);
                TileRefs(x, y + 1).SetLiquid(0);
                WorldModify.PlaceTile(TileRefs, sandbox, x, y + 1, 56, true, true, -1, 0);
                WorldModify.SquareTileFrame(TileRefs, sandbox, x, y + 1, true);
                NetMessage.SendTileSquare(-1, x - 1, y, 3);
            }
        }
        public static void LavaCheck(int x, int y)
        {
            if ((Main.tile.At(x - 1, y).Liquid > 0 && !Main.tile.At(x - 1, y).Lava) || (Main.tile.At(x + 1, y).Liquid > 0 && !Main.tile.At(x + 1, y).Lava) || (Main.tile.At(x, y - 1).Liquid > 0 && !Main.tile.At(x, y - 1).Lava))
            {
                int num = 0;

                if (!Main.tile.At(x - 1, y).Lava)
                {
                    num += (int)Main.tile.At(x - 1, y).Liquid;
                    Main.tile.At(x - 1, y).SetLiquid(0);
                }

                if (!Main.tile.At(x + 1, y).Lava)
                {
                    num += (int)Main.tile.At(x + 1, y).Liquid;
                    Main.tile.At(x + 1, y).SetLiquid(0);
                }

                if (!Main.tile.At(x, y - 1).Lava)
                {
                    num += (int)Main.tile.At(x, y - 1).Liquid;
                    Main.tile.At(x, y - 1).SetLiquid(0);
                }

                if (num >= 128 && !Main.tile.At(x, y).Active)
                {
                    ClearLava(x, y);
                    WorldModify.PlaceTile(x, y, 56, true, true, -1, 0);
                    WorldModify.SquareTileFrame(x, y, true);

                    NetMessage.SendTileSquare(-1, x - 1, y - 1, 3);
                    return;
                }
            }
            else if (Main.tile.At(x, y + 1).Liquid > 0 && !Main.tile.At(x, y + 1).Lava&& !Main.tile.At(x, y + 1).Active)
            {
                ClearLava(x, y);
                WorldModify.PlaceTile(x, y + 1, 56, true, true, -1, 0);
                WorldModify.SquareTileFrame(x, y + 1, true);

                NetMessage.SendTileSquare(-1, x - 1, y, 3);
            }
        }