package com.leontg77.uhc.cmds; import java.util.ArrayList; import java.util.Collections; import org.bukkit.Bukkit; import org.bukkit.ChatColor; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import org.bukkit.scoreboard.Team; import com.leontg77.uhc.Main; import com.leontg77.uhc.Teams; import com.leontg77.uhc.utils.PlayerUtils; /** * Random command class. * * @author LeonTG77 */ public class RandomCommand implements CommandExecutor { @Override public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { if (!sender.hasPermission("uhc.random")) { sender.sendMessage(Main.NO_PERM_MSG); return true; } if (args.length == 0) { sender.sendMessage(Main.PREFIX + "Usage: /random <size> [playersnotplaying...]"); return true; } int size = 1; try { size = Integer.parseInt(args[0]); } catch (Exception e) { sender.sendMessage(ChatColor.RED + args[0] + " is not a vaild teamsize."); return true; } ArrayList<Player> list = new ArrayList<Player>(); for (Player online : PlayerUtils.getPlayers()) { if (online.getScoreboard().getEntryTeam(online.getName()) == null) { list.add(online); } } Collections.shuffle(list); if (args.length > 1) { for (int i = 1; i < args.length; i++) { Player target = Bukkit.getServer().getPlayer(args[i]); if (target != null) { if (list.contains(target)) { list.remove(target); } } } } Teams teams = Teams.getInstance(); Team team = teams.findAvailableTeam(); if (team == null) { sender.sendMessage(ChatColor.RED + "No more available teams."); return true; } try { for (int i = 0; i < size; i++) { if (list.size() < i) { sender.sendMessage(ChatColor.RED + "Could not add a player to team " + team.getName() + "."); continue; } Player p = list.get(i); team.addEntry(p.getName()); p.sendMessage(Main.PREFIX + "You were added to team " + team.getName()); } } catch (Exception e) { sender.sendMessage(ChatColor.RED + "Not enough players for this team."); } if (team.getSize() > 0) { sender.sendMessage(Main.PREFIX + "Created a team of " + size + " using team " + team.getName() + "."); teams.sendMessage(team, Main.PREFIX + "You were added to �6" + team.getName() + "�7."); teams.sendMessage(team, Main.PREFIX + "Your teammates:"); for (String entry : team.getEntries()) { teams.sendMessage(team, Main.PREFIX + "�a" + entry); } } return true; } }