package me.fromgate.reactions.util.playerselector; import org.bukkit.Bukkit; import org.bukkit.entity.Player; import java.util.HashSet; import java.util.Set; @SelectorDefine(key = "player") public class Players extends PlayerSelector { @Override public Set<Player> selectPlayers(String param) { Set<Player> players = new HashSet<>(); if (param.isEmpty()) return players; if (param.equalsIgnoreCase("null")) { players.add(null); } else if (param.equalsIgnoreCase("all")) { players.addAll(Bukkit.getOnlinePlayers()); } else { String[] arrPlayers = param.split(",\\s*"); for (String playerName : arrPlayers) { @SuppressWarnings("deprecation") Player targetPlayer = Bukkit.getPlayerExact(playerName); if ((targetPlayer != null) && (targetPlayer.isOnline())) players.add(targetPlayer); } } return players; } }