Solved Online players

Discussion in 'Plugin Development' started by WPM, Jul 2, 2015.

Thread Status:
Not open for further replies.
  1. Offline

    WPM

    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)
     
    Last edited: Jul 2, 2015
  2. @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.
     
  3. Offline

    WPM

    Thank you. So helpful ;)
     
  4. Offline

    Ruptur

    @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
     
  5. @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.
     
  6. Offline

    _Error

    If these method(s) above worked, Please mark this as solved
     
  7. Offline

    WPM

    idk how to :3

    nvm got it
     
    Last edited by a moderator: Jul 2, 2015
Thread Status:
Not open for further replies.

Share This Page