private boolean canBuild(Player player, Block block) {
        if (player.hasPermission(STPermission.ADMIN.getPermission())) {
            return true;
        }

        final Town town = plugin.getTown(block.getChunk());
        if (town == null) {
            if (block.getLocation().getBlockY() <= new TownUtils(plugin).getMineRoofY()) {
                return player.hasPermission(STPermission.BUILD_MINES.getPermission());
            } else {
                return player.hasPermission(STPermission.BUILD_WILDERNESS.getPermission());
            }
        } else {
            return town.hasMember(player.getName()) && player.hasPermission(STPermission.BUILD_TOWNS.getPermission());
        }
    }