public bool CanPlaceBlock(int x, int y, int z, BlockType block)
{
bool Overlaps = false;
bool InRange = InBounds(x, y);
if (z == Tile.ForegroundIndex && block.ID != BlockType.Empty.ID)
{
Overlaps = Players.Any(p => (int)(p.SimulationState.Position.X / Tile.Width) == x &&
(int)(p.SimulationState.Position.Y / Tile.Height) == y);
}
return (!Overlaps && InRange);
}