Scoreboard cannot be null

Discussion in 'Plugin Development' started by AppleMen, Jan 18, 2014.

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

    AppleMen

    Hello all,

    I've made a ScoreBoard class. It looks all good to me, but when I join the server, it gives me the following error:
    Code:
    [21:02:46 ERROR]: Could not pass event PlayerJoinEvent to DwarvenLockup v1.0
    org.bukkit.event.EventException
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:320) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.2-3-g530fcb7-b2982jnks]
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.2-3-g530fcb7-b2982jnks]
        at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:481) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-3-g530fcb7-b2982jnks]
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:466) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-3-g530fcb7-b2982jnks]
        at net.minecraft.server.v1_7_R1.PlayerList.c(PlayerList.java:225) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-3-g530fcb7-b2982jnks]
        at net.minecraft.server.v1_7_R1.PlayerList.a(PlayerList.java:116) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-3-g530fcb7-b2982jnks]
        at net.minecraft.server.v1_7_R1.LoginListener.c(LoginListener.java:78) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-3-g530fcb7-b2982jnks]
        at net.minecraft.server.v1_7_R1.LoginListener.a(LoginListener.java:42) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-3-g530fcb7-b2982jnks]
        at net.minecraft.server.v1_7_R1.NetworkManager.a(NetworkManager.java:149) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-3-g530fcb7-b2982jnks]
        at net.minecraft.server.v1_7_R1.ServerConnection.c(SourceFile:134) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-3-g530fcb7-b2982jnks]
        at net.minecraft.server.v1_7_R1.MinecraftServer.u(MinecraftServer.java:655) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-3-g530fcb7-b2982jnks]
        at net.minecraft.server.v1_7_R1.DedicatedServer.u(DedicatedServer.java:250) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-3-g530fcb7-b2982jnks]
        at net.minecraft.server.v1_7_R1.MinecraftServer.t(MinecraftServer.java:545) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-3-g530fcb7-b2982jnks]
        at net.minecraft.server.v1_7_R1.MinecraftServer.run(MinecraftServer.java:457) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-3-g530fcb7-b2982jnks]
        at net.minecraft.server.v1_7_R1.ThreadServerApplication.run(SourceFile:617) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-3-g530fcb7-b2982jnks]
    Caused by: java.lang.IllegalArgumentException: Scoreboard cannot be null
        at org.apache.commons.lang.Validate.notNull(Validate.java:203) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.2-3-g530fcb7-b2982jnks]
        at org.bukkit.craftbukkit.v1_7_R1.entity.CraftPlayer.setScoreboard(CraftPlayer.java:1057) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.2-3-g530fcb7-b2982jnks]
        at me.matthijs110.DwarvenLockup.ScoreBoard.onPlayerJoin(ScoreBoard.java:74) ~[?:?]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.7.0_10]
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[?:1.7.0_10]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.7.0_10]
        at java.lang.reflect.Method.invoke(Method.java:601) ~[?:1.7.0_10]
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:318) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.2-3-g530fcb7-b2982jnks]
        ... 14 more
    Code:java
    1. @EventHandler
    2. public void onPlayerJoin(PlayerJoinEvent e) {
    3. e.getPlayer().setScoreboard(Global.defaultScoreboard); // Error says that the problem is here
    4. }


    I have a separate Main class. So my setup is a bit different then as it should be.

    Here is my Main & ScoreBoard class


    What did I wrong?
     
  2. Offline

    furt

    board has not been initialized
     
  3. Offline

    AppleMen

    How do I do that? Never had to do that before.. I got the issue since I use multiple classes.
     
  4. Offline

    furt

    Make your scoreboard method return board then in the event use
    p.setScoreboard(scoreboard(p));
     
  5. Offline

    AppleMen

    Okay, done that, but this is the next error I get:
    Code:
    [22:04:21 ERROR]: Could not pass event PlayerJoinEvent to DwarvenLockup v1.0
    org.bukkit.event.EventException
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:320) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.2-3-g530fcb7-b2982jnks]
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.2-3-g530fcb7-b2982jnks]
        at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:481) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-3-g530fcb7-b2982jnks]
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:466) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-3-g530fcb7-b2982jnks]
        at net.minecraft.server.v1_7_R1.PlayerList.c(PlayerList.java:225) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-3-g530fcb7-b2982jnks]
        at net.minecraft.server.v1_7_R1.PlayerList.a(PlayerList.java:116) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-3-g530fcb7-b2982jnks]
        at net.minecraft.server.v1_7_R1.LoginListener.c(LoginListener.java:78) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-3-g530fcb7-b2982jnks]
        at net.minecraft.server.v1_7_R1.LoginListener.a(LoginListener.java:42) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-3-g530fcb7-b2982jnks]
        at net.minecraft.server.v1_7_R1.NetworkManager.a(NetworkManager.java:149) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-3-g530fcb7-b2982jnks]
        at net.minecraft.server.v1_7_R1.ServerConnection.c(SourceFile:134) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-3-g530fcb7-b2982jnks]
        at net.minecraft.server.v1_7_R1.MinecraftServer.u(MinecraftServer.java:655) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-3-g530fcb7-b2982jnks]
        at net.minecraft.server.v1_7_R1.DedicatedServer.u(DedicatedServer.java:250) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-3-g530fcb7-b2982jnks]
        at net.minecraft.server.v1_7_R1.MinecraftServer.t(MinecraftServer.java:545) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-3-g530fcb7-b2982jnks]
        at net.minecraft.server.v1_7_R1.MinecraftServer.run(MinecraftServer.java:457) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-3-g530fcb7-b2982jnks]
        at net.minecraft.server.v1_7_R1.ThreadServerApplication.run(SourceFile:617) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-3-g530fcb7-b2982jnks]
    Caused by: java.lang.NullPointerException
        at me.matthijs110.DwarvenLockup.ScoreBoard.scoreboard(ScoreBoard.java:36) ~[?:?]
        at me.matthijs110.DwarvenLockup.ScoreBoard.onPlayerJoin(ScoreBoard.java:72) ~[?:?]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.7.0_10]
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[?:1.7.0_10]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.7.0_10]
        at java.lang.reflect.Method.invoke(Method.java:601) ~[?:1.7.0_10]
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:318) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.2-3-g530fcb7-b2982jnks]
        ... 14 more
    >
    
    Code:java
    1. @EventHandler
    2. public void onPlayerJoin(PlayerJoinEvent e) {
    3. Player p = e.getPlayer();
    4. p.setScoreboard(scoreboard(p));
    5. }
     
  6. Offline

    SacredWaste

    AppleMen Seems like your setting the player's scoreboard with a player setting scoreboard function. Simply try
    scoreboard(p);
     
  7. Offline

    AppleMen

    Okay, so that is working now. But I got 2 more questions.

    1. I've use the player money score before, but now it just gives me this error on Join:
    Code:
    [22:39:10 ERROR]: Could not pass event PlayerJoinEvent to DwarvenLockup v1.0
    org.bukkit.event.EventException
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:320) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.2-3-g530fcb7-b2982jnks]
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.2-3-g530fcb7-b2982jnks]
        at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:481) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-3-g530fcb7-b2982jnks]
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:466) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-3-g530fcb7-b2982jnks]
        at net.minecraft.server.v1_7_R1.PlayerList.c(PlayerList.java:225) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-3-g530fcb7-b2982jnks]
        at net.minecraft.server.v1_7_R1.PlayerList.a(PlayerList.java:116) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-3-g530fcb7-b2982jnks]
        at net.minecraft.server.v1_7_R1.LoginListener.c(LoginListener.java:78) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-3-g530fcb7-b2982jnks]
        at net.minecraft.server.v1_7_R1.LoginListener.a(LoginListener.java:42) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-3-g530fcb7-b2982jnks]
        at net.minecraft.server.v1_7_R1.NetworkManager.a(NetworkManager.java:149) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-3-g530fcb7-b2982jnks]
        at net.minecraft.server.v1_7_R1.ServerConnection.c(SourceFile:134) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-3-g530fcb7-b2982jnks]
        at net.minecraft.server.v1_7_R1.MinecraftServer.u(MinecraftServer.java:655) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-3-g530fcb7-b2982jnks]
        at net.minecraft.server.v1_7_R1.DedicatedServer.u(DedicatedServer.java:250) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-3-g530fcb7-b2982jnks]
        at net.minecraft.server.v1_7_R1.MinecraftServer.t(MinecraftServer.java:545) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-3-g530fcb7-b2982jnks]
        at net.minecraft.server.v1_7_R1.MinecraftServer.run(MinecraftServer.java:457) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-3-g530fcb7-b2982jnks]
        at net.minecraft.server.v1_7_R1.ThreadServerApplication.run(SourceFile:617) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-3-g530fcb7-b2982jnks]
    Caused by: java.lang.NullPointerException
        at me.matthijs110.DwarvenLockup.ScoreBoard.scoreboard(ScoreBoard.java:29) ~[?:?]
        at me.matthijs110.DwarvenLockup.ScoreBoard.onPlayerJoin(ScoreBoard.java:65) ~[?:?]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.7.0_10]
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[?:1.7.0_10]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.7.0_10]
        at java.lang.reflect.Method.invoke(Method.java:601) ~[?:1.7.0_10]
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:318) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.2-3-g530fcb7-b2982jnks]
        ... 14 more
    >
    
    Line 29:
    Code:java
    1. int PlayerMoney = (int) Main.eco.getBalance(player.getName());

    Line 65:
    Code:java
    1. scoreboard(p);


    2. How can I refresh the scoreboard when the money changes and if a player joins and leaves?
     
  8. Offline

    SacredWaste

    AppleMen The scoreboard is refreshed every time it is assigned. Arrange it in a way that it's assigned when change's are made, or better yet, under a scheduler.
     
  9. Offline

    AppleMen

    Where is it getting refreshed every time then? Scoreboard(p) is in the PlayerJoinEvent.
     
  10. Offline

    SacredWaste

    AppleMen When the player joins, it is refreshed (and set). Do the same thing to "refresh" the scoreboard. It does not automatically change, but needs to be "refreshed", or basically overriding the scoreboard instance with a new one.
     
Thread Status:
Not open for further replies.

Share This Page