public static void AddWater(Func <Int32, Int32, ITile> TileRefs, ISandbox sandbox, int x, int y) { if (TileRefs == null) { TileRefs = TileCollection.ITileAt; } if (TileRefs(x, y).CheckingLiquid || (x >= Main.maxTilesX - 5 || y >= Main.maxTilesY - 5) || (x < 5 || y < 5) || TileRefs(x, y).Liquid == 0) { return; } if (Liquid.numLiquid >= Liquid.maxLiquid - 1) { LiquidBuffer.AddBuffer(TileRefs, x, y); return; } TileRefs(x, y).SetCheckingLiquid(true); Main.liquid[Liquid.numLiquid].kill = 0; Main.liquid[Liquid.numLiquid].x = x; Main.liquid[Liquid.numLiquid].y = y; Main.liquid[Liquid.numLiquid].delay = 0; TileRefs(x, y).SetSkipLiquid(false); Liquid.numLiquid++; if (Liquid.numLiquid < Liquid.maxLiquid / 3) { NetMessage.SendWater(x, y); } if (TileRefs(x, y).Active&& (Main.tileWaterDeath[(int)TileRefs(x, y).Type] || (TileRefs(x, y).Lava&& Main.tileLavaDeath[(int)TileRefs(x, y).Type]))) { if (TileRefs(x, y).Type == 4 && TileRefs(x, y).FrameY == 176) { return; } if (WorldModify.gen) { TileRefs(x, y).SetActive(false); return; } WorldModify.KillTile(TileRefs, sandbox, x, y); NetMessage.SendData(17, -1, -1, "", 0, (float)x, (float)y); } }
public static void AddWater(int x, int y) { if (Main.tile.At(x, y).CheckingLiquid) { return; } if (x >= Main.maxTilesX - 5 || y >= Main.maxTilesY - 5) { return; } if (x < 5 || y < 5) { return; } if (Main.tile.At(x, y).Liquid == 0) { return; } if (Liquid.numLiquid >= Liquid.maxLiquid - 1) { LiquidBuffer.AddBuffer(x, y); return; } Main.tile.At(x, y).SetCheckingLiquid(true); Main.liquid[Liquid.numLiquid].kill = 0; Main.liquid[Liquid.numLiquid].x = x; Main.liquid[Liquid.numLiquid].y = y; Main.liquid[Liquid.numLiquid].delay = 0; Main.tile.At(x, y).SetSkipLiquid(false); Liquid.numLiquid++; NetMessage.SendWater(x, y); if (Main.tile.At(x, y).Active&& (Main.tileWaterDeath[(int)Main.tile.At(x, y).Type] || (Main.tile.At(x, y).Lava&& Main.tileLavaDeath[(int)Main.tile.At(x, y).Type]))) { if (WorldModify.gen) { Main.tile.At(x, y).SetActive(false); return; } WorldModify.KillTile(x, y, false, false, false); NetMessage.SendData(17, -1, -1, "", 0, (float)x, (float)y); } }