if (args[0].equalsIgnoreCase("add")) { List<String> completions = new ArrayList<String>(); for (OfflinePlayer player : Bukkit.getOfflinePlayers()) { String name = player.getName(); if (StringUtil.startsWithIgnoreCase(name, args[1]) && !player.isWhitelisted()) {
public static void forEachOffline(Consumer<OfflinePlayer> consumer) { for (OfflinePlayer player : Bukkit.getOfflinePlayers()) { consumer.accept(player); } }
public static void forEachOffline(Consumer<OfflinePlayer> consumer) { for (OfflinePlayer player : Bukkit.getOfflinePlayers()) { consumer.accept(player); } }
public static Collection<OfflinePlayer> allOffline() { return ImmutableList.copyOf(Bukkit.getOfflinePlayers()); }
public static Stream<OfflinePlayer> streamOffline() { return Arrays.stream(Bukkit.getOfflinePlayers()); }
public static Stream<OfflinePlayer> streamOffline() { return Arrays.stream(Bukkit.getOfflinePlayers()); }
public static Collection<OfflinePlayer> allOffline() { return ImmutableList.copyOf(Bukkit.getOfflinePlayers()); }
@Override public List<UserImportData> getUserImportData() { List<UserImportData> dataList = new ArrayList<>(); Set<OfflinePlayer> operators = Bukkit.getOperators(); Set<OfflinePlayer> banned = Bukkit.getBannedPlayers(); Arrays.stream(Bukkit.getOfflinePlayers()).parallel().forEach(player -> { UserImportData.UserImportDataBuilder builder = UserImportData.builder(serverUUID.get()); builder.name(player.getName()) .uuid(player.getUniqueId()) .registered(player.getFirstPlayed()); if (operators.contains(player)) { builder.op(); } if (banned.contains(player)) { builder.banned(); } dataList.add(builder.build()); }); return dataList; } }
@Override public AccountHolder getAccountHolder(String uuidOrName) { if (uuidOrName == null) { return null; } OfflinePlayer player; try { UUID playerId = UUID.fromString(uuidOrName); player = Bukkit.getOfflinePlayer(playerId); } catch (IllegalArgumentException ignored) { // don't use getOfflinePlayer(String) because that will do a blocking web request // rather iterate this array, should be quick enough for (OfflinePlayer p : Bukkit.getOfflinePlayers()) { if (uuidOrName.equals(p.getName())) return new PlayerAccountHolder(p); } return null; } // if this player has ever played on the server, they are a legit account holder if (player.isOnline() || player.hasPlayedBefore()) { return new PlayerAccountHolder(player); } else { return null; } }