Getting Online Players To ArrayList nullpointerexception error

Discussion in 'Plugin Development' started by Hammergold, Sep 4, 2013.

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

    Hammergold

    How do i fix this? I want to get playernames from Bukkit.getOnlinePlayers() and put it into an ArrayList, but it isnt working as I get a nullpointerexception everytime. Here is code:

    Code:
    public static ArrayList<String> ingame = new ArrayList<String>();
        public static ArrayList<String> lobby = new ArrayList<String>();
     
    for(Player online : Bukkit.getServer().getOnlinePlayers()) {
                        Player p = online.getPlayer();
                        String s = online.getName();
                        Main.ingame.add(s);
                        }
                    Main.lobby.clear();
    
     
  2. Offline

    jayfella

    post the stack trace, and for the love of god, stop making everything public static.
     
  3. Offline

    Chinwe

    Why are you doing online.getPlayer()? online is already a player, so you can simply do:
    Code:
    for(Player online : Bukkit.getServer().getOnlinePlayers())
        Main.ingame.add(online.getName());
     
  4. Offline

    Hammergold

    Chinwe
    I was trying to see if getPlayer()would help, but it didn't. Ive already tried that and didn't work.
    jayfella
    Here is stacktrace:
    Code:
    17:47:02 [WARNING] [Perilous Pyramid] Task #2 for Perilous Pyramid v1.0 generated an exception
    java.lang.NullPointerException
        at minigame.hammergold.files.GameLoop.run(GameLoop.java:45)
        at org.bukkit.craftbukkit.v1_6_R2.scheduler.CraftTask.run(CraftTask.java:53)
        at org.bukkit.craftbukkit.v1_6_R2.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:345)
        at net.minecraft.server.v1_6_R2.MinecraftServer.t(MinecraftServer.java:522)
        at net.minecraft.server.v1_6_R2.DedicatedServer.t(DedicatedServer.java:226)
        at net.minecraft.server.v1_6_R2.MinecraftServer.s(MinecraftServer.java:486)
        at net.minecraft.server.v1_6_R2.MinecraftServer.run(MinecraftServer.java:419)
        at net.minecraft.server.v1_6_R2.ThreadServerApplication.run(SourceFile:582)
    
    jayfella
    I have made them non-static, but I dont completely get what is wrong with static. If someone could please explain and/or answer my initial question that would be great!

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Jun 4, 2016
  5. Offline

    mydeblob

    Hammergold
    You are getting a NPE at line 45. Can you post this code?
    Code:
    minigame.hammergold.files.GameLoop.run(GameLoop.java:45)
     
  6. Offline

    Rocoty

    use Bukkit.getOnlinePlayers() rather than Bukkit.getServer().getOnlinePlayers();
     
  7. Just remember that the list returned is returned as a "Player[]" list, remember the brackets.
    like so:
    Player[] list = this.getServer().getOnlinePlayers();
    for(Player player : list){
    do stuff
    }
     
  8. Offline

    Hammergold

    mydeblob
    this is line 45:

    Main.ingame.add(s);
     
  9. Offline

    WhatAaCow

    @Hammergold try:
    Code:
    public static List<String> ingame = new ArrayList<String>();
     
  10. Offline

    Hammergold

    ok, will do
     
  11. Offline

    DrMedia

    Code:java
    1. StringBuilder sb = new StringBuilder();
    2. for(Player online : Bukkit.getServer().getOnlinePlayers()) {
    3. sb.append(online.getName() + ", ");
    4. }
    5. String playerList = sb.toString();
    6. Pattern pattern = Pattern.compile(", $");
    7. Matcher matcher = pattern.matcher(playerList);
    8. playerList = matcher.replaceAll("");
    9. player.sendMessage(ChatColor.AQUA + "Players Online: " + playerList + ChatColor.AQUA + ".");
     
  12. Offline

    Hammergold

    DrMedia
    There are some errors in the code, for example: the method compile(String) is undefined for the type pattern
     
  13. Offline

    DrMedia

  14. Offline

    Hammergold

    DrMedia
    What source are you using? Im using source 5.0, because otherwise my EventHandler will not work...
     
Thread Status:
Not open for further replies.

Share This Page