package tv.mineinthebox.essentials.commands;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import tv.mineinthebox.essentials.xEssentials;
import tv.mineinthebox.essentials.enums.PermissionKey;
import tv.mineinthebox.essentials.interfaces.CommandTemplate;
import tv.mineinthebox.essentials.interfaces.XPlayer;
public class CmdList extends CommandTemplate {
private final xEssentials pl;
public CmdList(xEssentials pl, Command cmd, CommandSender sender) {
super(pl, cmd, sender);
this.pl = pl;
}
public boolean execute(CommandSender sender, Command cmd, String[] args) {
if(cmd.getName().equalsIgnoreCase("list")) {
if(sender.hasPermission(PermissionKey.CMD_LIST.getPermission())) {
if(sender.hasPermission(PermissionKey.IS_ADMIN.getPermission())) {
List<String> players = new ArrayList<String>();
for(XPlayer xp : pl.getManagers().getPlayerManager().getPlayers()) {
if(xp.isPotato()) {
players.add(ChatColor.GREEN + "(Potato)"+ChatColor.GRAY + xp.getName());
} else if(xp.isVanished()) {
players.add(ChatColor.GREEN + "(Vanished)"+ChatColor.GRAY + xp.getName());
} else if(xp.isAfk()) {
players.add(ChatColor.DARK_GRAY + "(AFK)" + ChatColor.GRAY + xp.getName());
} else {
players.add(ChatColor.GRAY + xp.getName());
}
}
if(!players.isEmpty()) {
String[] onlines = players.toArray(new String[players.size()]);
sender.sendMessage(ChatColor.GOLD + ".oO___[player list]___Oo.");
sender.sendMessage(ChatColor.GREEN + "online: " + ChatColor.GRAY + (players.size()) + "/"+Bukkit.getMaxPlayers());
sender.sendMessage(ChatColor.GRAY + Arrays.toString(onlines).replace("[", "").replace("]", ""));
players.clear();
} else {
sender.sendMessage(ChatColor.GOLD + ".oO___[player list]___Oo.");
sender.sendMessage(ChatColor.RED + "currently there are no players online!");
}
return false;
}
List<String> players = new ArrayList<String>();
for(XPlayer xp : pl.getManagers().getPlayerManager().getPlayers()) {
if(xp.isPotato()) {
players.add(ChatColor.GREEN + "(Potato)" + ChatColor.GRAY + xp.getName());
} else if(xp.isAfk()) {
players.add(ChatColor.DARK_GRAY + "(AFK)" + ChatColor.GRAY + xp.getName());
} else if(!xp.isVanished()) {
players.add(ChatColor.GRAY + xp.getName());
}
}
if(!players.isEmpty()) {
String[] onlines = players.toArray(new String[players.size()]);
sender.sendMessage(ChatColor.GOLD + ".oO___[player list]___Oo.");
sender.sendMessage(ChatColor.GREEN + "online: " + ChatColor.GRAY + (players.size()) + "/"+Bukkit.getMaxPlayers());
sender.sendMessage(ChatColor.GRAY + Arrays.toString(onlines).replace("[", "").replace("]", ""));
players.clear();
} else {
sender.sendMessage(ChatColor.GOLD + ".oO___[player list]___Oo.");
sender.sendMessage(ChatColor.RED + "currently there are no players online!");
}
} else {
getWarning(WarningType.NO_PERMISSION);
}
}
return false;
}
}