Im trying to make a plugin that lists online staff and how many players online out of the max player slot. I got the staff list working but I cant get the 'how many players' online part working. http://prntscr.com/7o2ysn Code: package me.WPM.OnlineStaff; import java.util.ArrayList; import java.util.List; import java.util.logging.Logger; import org.bukkit.Bukkit; import org.bukkit.ChatColor; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import org.bukkit.plugin.java.JavaPlugin; public class main extends JavaPlugin{ public main plugin; public final Logger logger = Bukkit.getServer().getLogger(); @Override public void onEnable(){ } @Override public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args){ Player p = (Player) sender; if(!(sender instanceof Player)){ return true; } if(cmd.getName().equalsIgnoreCase("list")){ p.sendMessage(ChatColor.AQUA + "§4§l-§c§l-§4§l-§c§l-§4§l-§c§l-§4§l-§c§l-§4§l-§c§l-§4§l-§c§l-§4§l-§c§l-Server name here§4§l-§c§l-§4§l-§c§l-§4§l-§c§l-§4§l-§c§l-§4§l-§c§l-§4§l-§c§l-§4§l-§c§l-"); for(Player player : Bukkit.getServer().getOnlinePlayers()){ if( player.isOp() || player.hasPermission("list.list")){ List<String> staff = new ArrayList<>(); staff.add(player.getName()); for(String name: staff){ p.sendMessage(ChatColor.WHITE + "§lStaff online " + ChatColor.GOLD + "⇢ ⇢ ⇢ " + ChatColor.GREEN + ChatColor.BOLD + "§c§l*" + name + "§c§l*"); p.sendMessage(ChatColor.AQUA + "§4§l-§c§l-§4§l-§c§l-§4§l-§c§l-§4§l-§c§l-§4§l-§c§l-§4§l-§c§l-§4§l-§c§l-Server name here§4§l-§c§l-§4§l-§c§l-§4§l-§c§l-§4§l-§c§l-§4§l-§c§l-§4§l-§c§l-§4§l-§c§l-"); p.sendMessage("§f§lPlayers online §6§l⇢ ⇢ ⇢ " + Bukkit.getServer().getOnlinePlayers() + " out of " + Bukkit.getMaxPlayers() + " Are online"); } } } } return false; } } The part that says "Bukkit.getServer().getOnlinePlayers()' is what makes it say Craftbukkit{Player=WPM thingy when I want it to say the amount of players online (Im new to coding plugins)
@WPM getOnlinePlayers() returns an array of players. To return the amount of players online, you'd need to do: Code: Bukkit.getOnlinePlayers().size(); That way, it returns an int.
@WPM Bukkit.getOnlinePlayers() returns an array of players. To get the amount of online players get use: Code: int size = Bukkit.OnlinePlayers().size(); @CodePlaysMinecraft Ah ninja'd
@Ruptur @CodePlaysMC It returns a Collection if you use Bukkit which you should when programming unless using NMS and even then you should have it and have it prioritized.