Scoreboard won't update on re-log

Discussion in 'Plugin Help/Development/Requests' started by sgavster, Apr 1, 2015.

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

    sgavster

    Hello!

    I just discovered a problem on my server - When I relog my scoreboard goes away, and does not come back. If I try to turn my scoreboard on, it gives me an error, Player name can not be null (I clear the objectives..) Here is the scoreBoard class..


    PHP:
    package me.sgavster.qmc.func;

    import me.sgavster.qmc.util.MSG;

    import org.bukkit.Bukkit;
    import org.bukkit.OfflinePlayer;
    import org.bukkit.entity.Player;
    import org.bukkit.event.EventHandler;
    import org.bukkit.event.Listener;
    import org.bukkit.event.player.PlayerJoinEvent;
    import org.bukkit.scoreboard.DisplaySlot;
    import org.bukkit.scoreboard.Objective;
    import org.bukkit.scoreboard.Score;
    import org.bukkit.scoreboard.Scoreboard;
    import org.bukkit.scoreboard.ScoreboardManager;

    public class 
    scoreBoard implements Listener {

        public static 
    ScoreboardManager man Bukkit.getScoreboardManager();
        public static 
    Scoreboard sameBoard;

        public static 
    void setNewBoard(Player p) {

            if (
    sameBoard == null) {
                
    Scoreboard b man.getNewScoreboard();
                
    Objective o b.registerNewObjective("QuadularMC""dummy");
                
    o.setDisplaySlot(DisplaySlot.SIDEBAR);

                
    Score votes o
                        
    .getScore(loginHandler.getThings(p).getInt("votes") == "§2None. /vote"
                                
    "§2" loginHandler.getThings(p).getInt("votes"));
                
    votes.setScore(1);

                
    Score votez o.getScore("§bVotes:");
                
    votez.setScore(2);

                
    Score deaths o.getScore(loginHandler.getThings(p)
                        .
    getInt("deaths") == "§2None!" "§2"
                        
    loginHandler.getThings(p).getInt("deaths"));
                
    deaths.setScore(3);

                
    Score deathz o.getScore("§bDeaths:");
                
    deathz.setScore(4);

                
    p.setScoreboard(b);

                
    sameBoard p.getScoreboard();

                
    updateBoard(p);
            }
        }

        @
    SuppressWarnings("deprecation")
        public static 
    void updateBoard(Player p) {
            
    sameBoard p.getScoreboard();

            if (
    sameBoard != null) {

                if (
    loginHandler.getThings(p).getString("settings.scoreboard")
                        .
    equalsIgnoreCase("yes")) {

                    if (
    sameBoard.getPlayers() != null) {
                        for (
    OfflinePlayer players sameBoard.getPlayers()) {
                            
    sameBoard.resetScores(players.getName());
                        }
                    }

                    
    setNewBoard(p);
                    
    Objective oldO sameBoard.getObjective("QuadularMC");
                    
    oldO.setDisplayName(MSG.quadularmc);
                    
    Score votes oldO.getScore(loginHandler.getThings(p).getInt(
                            
    "votes") == "§2None. /vote" "§2"
                            
    loginHandler.getThings(p).getInt("votes"));
                    
    votes.setScore(1);

                    
    Score votez oldO.getScore("§bVotes:");
                    
    votez.setScore(2);

                    
    Score deaths oldO.getScore(loginHandler.getThings(p).getInt(
                            
    "deaths") == "§2None!" "§2"
                            
    loginHandler.getThings(p).getInt("deaths"));
                    
    deaths.setScore(3);

                    
    Score deathz oldO.getScore("§bDeaths:");
                    
    deathz.setScore(4);

                    
    p.setScoreboard(sameBoard);
                    
    oldO.setDisplaySlot(DisplaySlot.SIDEBAR);
                } else {
                    
    setNewBoard(p);
                    
    p.getScoreboard().clearSlot(DisplaySlot.SIDEBAR);
                }
            }
        }

        @
    EventHandler
        
    public void onJoin(PlayerJoinEvent e) {
            
    Player p e.getPlayer();
            
    setNewBoard(p);
        }
    }
    I have no idea why this happens.. Thanks for any help!

    **Note, when I reload, or restart the server and I log on, it shows..

    EDIT: Anytime I call the updateBoard method when I have relogged I get an error. I really need this fixed.. Thanks.
    This is the code I would use for updating the scoreboard:

    PHP:
    scoreBoard.updateBoard(p);
     
    Last edited: Apr 1, 2015
  2. Offline

    mine-care

    Please follow java naming conventions,
    Don't abuse static
    Can we see the stacktrace?
    From what I understand player variable turns to null for some reason. A little debug will help you
     
  3. Offline

    sgavster

    @mine-care I was using static to acess it from another class...

    Here is the stacktrace:
    Code:
    13:50:08] [Server thread/ERROR]: Could not pass event PlayerDeathEvent to QuadularMC v1.1
    org.bukkit.event.EventException
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:305) ~[craftbukkit.jar:git-Spigot-c3c767f-33d5de3]
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[craftbukkit.jar:git-Spigot-c3c767f-33d5de3]
        at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:502) [craftbukkit.jar:git-Spigot-c3c767f-33d5de3]
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:487) [craftbukkit.jar:git-Spigot-c3c767f-33d5de3]
        at org.bukkit.craftbukkit.v1_8_R1.event.CraftEventFactory.callPlayerDeathEvent(CraftEventFactory.java:381) [craftbukkit.jar:git-Spigot-c3c767f-33d5de3]
        at net.minecraft.server.v1_8_R1.EntityPlayer.die(EntityPlayer.java:407) [craftbukkit.jar:git-Spigot-c3c767f-33d5de3]
        at net.minecraft.server.v1_8_R1.EntityLiving.damageEntity(EntityLiving.java:806) [craftbukkit.jar:git-Spigot-c3c767f-33d5de3]
        at net.minecraft.server.v1_8_R1.EntityHuman.damageEntity(EntityHuman.java:801) [craftbukkit.jar:git-Spigot-c3c767f-33d5de3]
        at net.minecraft.server.v1_8_R1.EntityPlayer.damageEntity(EntityPlayer.java:486) [craftbukkit.jar:git-Spigot-c3c767f-33d5de3]
        at net.minecraft.server.v1_8_R1.EntityLiving.e(EntityLiving.java:933) [craftbukkit.jar:git-Spigot-c3c767f-33d5de3]
        at net.minecraft.server.v1_8_R1.EntityHuman.e(EntityHuman.java:1441) [craftbukkit.jar:git-Spigot-c3c767f-33d5de3]
        at net.minecraft.server.v1_8_R1.Block.a(Block.java:595) [craftbukkit.jar:git-Spigot-c3c767f-33d5de3]
        at net.minecraft.server.v1_8_R1.Entity.a(Entity.java:810) [craftbukkit.jar:git-Spigot-c3c767f-33d5de3]
        at net.minecraft.server.v1_8_R1.EntityLiving.a(EntityLiving.java:158) [craftbukkit.jar:git-Spigot-c3c767f-33d5de3]
        at net.minecraft.server.v1_8_R1.EntityPlayer.a(EntityPlayer.java:612) [craftbukkit.jar:git-Spigot-c3c767f-33d5de3]
        at net.minecraft.server.v1_8_R1.PlayerConnection.a(PlayerConnection.java:444) [craftbukkit.jar:git-Spigot-c3c767f-33d5de3]
        at net.minecraft.server.v1_8_R1.PacketPlayInFlying.a(SourceFile:126) [craftbukkit.jar:git-Spigot-c3c767f-33d5de3]
        at net.minecraft.server.v1_8_R1.PacketPlayInPositionLook.a(SourceFile:18) [craftbukkit.jar:git-Spigot-c3c767f-33d5de3]
        at net.minecraft.server.v1_8_R1.PacketHandleTask.run(SourceFile:13) [craftbukkit.jar:git-Spigot-c3c767f-33d5de3]
        at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.8.0_31]
        at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_31]
        at net.minecraft.server.v1_8_R1.MinecraftServer.z(MinecraftServer.java:696) [craftbukkit.jar:git-Spigot-c3c767f-33d5de3]
        at net.minecraft.server.v1_8_R1.DedicatedServer.z(DedicatedServer.java:316) [craftbukkit.jar:git-Spigot-c3c767f-33d5de3]
        at net.minecraft.server.v1_8_R1.MinecraftServer.y(MinecraftServer.java:634) [craftbukkit.jar:git-Spigot-c3c767f-33d5de3]
        at net.minecraft.server.v1_8_R1.MinecraftServer.run(MinecraftServer.java:537) [craftbukkit.jar:git-Spigot-c3c767f-33d5de3]
        at java.lang.Thread.run(Unknown Source) [?:1.8.0_31]
    Caused by: java.lang.IllegalArgumentException: Name cannot be blank
        at com.google.common.base.Preconditions.checkArgument(Preconditions.java:125) ~[craftbukkit.jar:git-Spigot-c3c767f-33d5de3]
        at org.bukkit.craftbukkit.v1_8_R1.CraftServer.getOfflinePlayer(CraftServer.java:1281) ~[craftbukkit.jar:git-Spigot-c3c767f-33d5de3]
        at org.bukkit.Bukkit.getOfflinePlayer(Bukkit.java:741) ~[craftbukkit.jar:git-Spigot-c3c767f-33d5de3]
        at org.bukkit.craftbukkit.v1_8_R1.scoreboard.CraftScoreboard.getPlayers(CraftScoreboard.java:141) ~[craftbukkit.jar:git-Spigot-c3c767f-33d5de3]
        at org.bukkit.craftbukkit.v1_8_R1.scoreboard.CraftScoreboard.getPlayers(CraftScoreboard.java:1) ~[craftbukkit.jar:git-Spigot-c3c767f-33d5de3]
        at me.sgavster.qmc.func.scoreBoard.updateBoard(scoreBoard.java:62) ~[?:?]
        at me.sgavster.qmc.func.AutoRespawn.onPlayerDeath(AutoRespawn.java:48) ~[?:?]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_31]
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_31]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_31]
        at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_31]
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:301) ~[craftbukkit.jar:git-Spigot-c3c767f-33d5de3]
        ... 25 more
    [13:51:20] [Server thread/INFO]: [0;36;22m[[0;33;22mQuadular[0;31;22mMC[0;36;22m] [0;36;1mWant more items? /vote can get you tons! With crates and money, who knows...[m
    [13:53:01] [Server thread/INFO]: [0;36;22m[[0;33;22mQuadular[0;31;22mMC[0;36;22m] [0;31;1mWarning Ground items will be removed in [0;32;22m60 [0;31;1mseconds![m
    [13:53:15] [Server thread/INFO]: sgavster issued server command: /follow sgavster villager hello
    [13:53:39] [Server thread/INFO]: sgavster issued server command: /follow sgavster villager 10
    [13:53:42] [Server thread/INFO]: [0;36;22m[[0;33;22mQuadular[0;31;22mMC[0;36;22m] [0;31;1mWarning Ground items will be removed in [0;32;22m20 [0;31;1mseconds![m
    [13:53:55] [Server thread/INFO]: sgavster issued server command: /kit custom
    [13:53:58] [Server thread/INFO]: sgavster issued server command: /qkit custom
    [13:54:02] [Server thread/INFO]: [0;36;22m[[0;33;22mQuadular[0;31;22mMC[0;36;22m] [0;32;22mRemoved [0;31;22m11 [0;32;22mEntities[0;31;22m![m
    [13:54:34] [Server thread/INFO]: sgavster issued server command: /i log 2
    [13:54:37] [Server thread/INFO]: sgavster issued server command: /i log2
    [13:55:06] [Server thread/INFO]: sgavster issued server command: /top
    [13:55:07] [Server thread/INFO]: sgavster issued server command: /gm 1
    [13:56:26] [Server thread/INFO]: [0;36;22m[[0;33;22mQuadular[0;31;22mMC[0;36;22m] [0;36;1mYou can go to prison for doing illegal things, it is not a fun place in there.[m
    [13:56:57] [Async Chat Thread - #0/INFO]: [0;36;22m<[0;33;22m[0;32;22mWilderness [0;36;22m[[0;33;22mOwner[0;36;22m] [0;33;22msgavster[0;36;22m>[0;33;22m fuck my life[m
    [13:57:08] [Server thread/INFO]: sgavster issued server command: /gm 0
    [13:57:11] [Server thread/ERROR]: Could not pass event PlayerDeathEvent to QuadularMC v1.1
    org.bukkit.event.EventException
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:305) ~[craftbukkit.jar:git-Spigot-c3c767f-33d5de3]
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[craftbukkit.jar:git-Spigot-c3c767f-33d5de3]
        at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:502) [craftbukkit.jar:git-Spigot-c3c767f-33d5de3]
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:487) [craftbukkit.jar:git-Spigot-c3c767f-33d5de3]
        at org.bukkit.craftbukkit.v1_8_R1.event.CraftEventFactory.callPlayerDeathEvent(CraftEventFactory.java:381) [craftbukkit.jar:git-Spigot-c3c767f-33d5de3]
        at net.minecraft.server.v1_8_R1.EntityPlayer.die(EntityPlayer.java:407) [craftbukkit.jar:git-Spigot-c3c767f-33d5de3]
        at net.minecraft.server.v1_8_R1.EntityLiving.damageEntity(EntityLiving.java:806) [craftbukkit.jar:git-Spigot-c3c767f-33d5de3]
        at net.minecraft.server.v1_8_R1.EntityHuman.damageEntity(EntityHuman.java:801) [craftbukkit.jar:git-Spigot-c3c767f-33d5de3]
        at net.minecraft.server.v1_8_R1.EntityPlayer.damageEntity(EntityPlayer.java:486) [craftbukkit.jar:git-Spigot-c3c767f-33d5de3]
        at net.minecraft.server.v1_8_R1.EntityLiving.e(EntityLiving.java:933) [craftbukkit.jar:git-Spigot-c3c767f-33d5de3]
        at net.minecraft.server.v1_8_R1.EntityHuman.e(EntityHuman.java:1441) [craftbukkit.jar:git-Spigot-c3c767f-33d5de3]
        at net.minecraft.server.v1_8_R1.Block.a(Block.java:595) [craftbukkit.jar:git-Spigot-c3c767f-33d5de3]
        at net.minecraft.server.v1_8_R1.Entity.a(Entity.java:810) [craftbukkit.jar:git-Spigot-c3c767f-33d5de3]
        at net.minecraft.server.v1_8_R1.EntityLiving.a(EntityLiving.java:158) [craftbukkit.jar:git-Spigot-c3c767f-33d5de3]
        at net.minecraft.server.v1_8_R1.EntityPlayer.a(EntityPlayer.java:612) [craftbukkit.jar:git-Spigot-c3c767f-33d5de3]
        at net.minecraft.server.v1_8_R1.PlayerConnection.a(PlayerConnection.java:444) [craftbukkit.jar:git-Spigot-c3c767f-33d5de3]
        at net.minecraft.server.v1_8_R1.PacketPlayInFlying.a(SourceFile:126) [craftbukkit.jar:git-Spigot-c3c767f-33d5de3]
        at net.minecraft.server.v1_8_R1.PacketPlayInPosition.a(SourceFile:57) [craftbukkit.jar:git-Spigot-c3c767f-33d5de3]
        at net.minecraft.server.v1_8_R1.PacketHandleTask.run(SourceFile:13) [craftbukkit.jar:git-Spigot-c3c767f-33d5de3]
        at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.8.0_31]
        at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_31]
        at net.minecraft.server.v1_8_R1.MinecraftServer.z(MinecraftServer.java:696) [craftbukkit.jar:git-Spigot-c3c767f-33d5de3]
        at net.minecraft.server.v1_8_R1.DedicatedServer.z(DedicatedServer.java:316) [craftbukkit.jar:git-Spigot-c3c767f-33d5de3]
        at net.minecraft.server.v1_8_R1.MinecraftServer.y(MinecraftServer.java:634) [craftbukkit.jar:git-Spigot-c3c767f-33d5de3]
        at net.minecraft.server.v1_8_R1.MinecraftServer.run(MinecraftServer.java:537) [craftbukkit.jar:git-Spigot-c3c767f-33d5de3]
        at java.lang.Thread.run(Unknown Source) [?:1.8.0_31]
    Caused by: java.lang.IllegalArgumentException: Name cannot be blank
        at com.google.common.base.Preconditions.checkArgument(Preconditions.java:125) ~[craftbukkit.jar:git-Spigot-c3c767f-33d5de3]
        at org.bukkit.craftbukkit.v1_8_R1.CraftServer.getOfflinePlayer(CraftServer.java:1281) ~[craftbukkit.jar:git-Spigot-c3c767f-33d5de3]
        at org.bukkit.Bukkit.getOfflinePlayer(Bukkit.java:741) ~[craftbukkit.jar:git-Spigot-c3c767f-33d5de3]
        at org.bukkit.craftbukkit.v1_8_R1.scoreboard.CraftScoreboard.getPlayers(CraftScoreboard.java:141) ~[craftbukkit.jar:git-Spigot-c3c767f-33d5de3]
        at org.bukkit.craftbukkit.v1_8_R1.scoreboard.CraftScoreboard.getPlayers(CraftScoreboard.java:1) ~[craftbukkit.jar:git-Spigot-c3c767f-33d5de3]
        at me.sgavster.qmc.func.scoreBoard.updateBoard(scoreBoard.java:62) ~[?:?]
        at me.sgavster.qmc.func.AutoRespawn.onPlayerDeath(AutoRespawn.java:48) ~[?:?]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_31]
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_31]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_31]
        at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_31]
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:301) ~[craftbukkit.jar:git-Spigot-c3c767f-33d5de3]
        ... 25 more
    [14:00:53] [Server thread/INFO]: [0;36;22m[[0;33;22mQuadular[0;31;22mMC[0;36;22m] [0;31;1mWarning Ground items will be removed in [0;32;22m60 [0;31;1mseconds![m
    [14:01:33] [Server thread/INFO]: [0;36;22m[[0;33;22mQuadular[0;31;22mMC[0;36;22m] [0;31;1mWarning Ground items will be removed in [0;32;22m20 [0;31;1mseconds![m
    I have done debugging, still can't figure it out.
     
Thread Status:
Not open for further replies.

Share This Page