Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 调试证明某些东西不是';t空,但问题仍然存在[地雷船]_Java_Null_Minecraft - Fatal编程技术网

Java 调试证明某些东西不是';t空,但问题仍然存在[地雷船]

Java 调试证明某些东西不是';t空,但问题仍然存在[地雷船],java,null,minecraft,Java,Null,Minecraft,我试图使我的插件监视器杀死和hp的一个球员,但我目前得到的健康和杀死与相同的错误问题。 我甚至尝试使用空选择来检查它是否为空,而不使用它,但这不起作用,因为我需要显示信息。 我基本上需要将玩家的hp和name设置为计分板,将杀戮设置为分数。(提前谢谢你)。 这将设置玩家在加入时杀死: @EventHandler public void onPlayerLogin(PlayerJoinEvent e) { String player = e.getPlayer().getName();

我试图使我的插件监视器杀死和hp的一个球员,但我目前得到的健康和杀死与相同的错误问题。 我甚至尝试使用空选择来检查它是否为空,而不使用它,但这不起作用,因为我需要显示信息。 我基本上需要将玩家的hp和name设置为计分板,将杀戮设置为分数。(提前谢谢你)。 这将设置玩家在加入时杀死:

@EventHandler
public void onPlayerLogin(PlayerJoinEvent e) {

    String player = e.getPlayer().getName();
                        if(!PlayerHandler.GPlayed.containsKey(player)){
                            PlayerHandler.GPlayed.put(player, 0);
                        }
                        if(!PlayerHandler.kills.containsKey(player)){
                            PlayerHandler.kills.put(player, 0);
                        }
                        if(!PlayerHandler.HRound.containsKey(player)){
                            PlayerHandler.HRound.put(player, 0);
                        }

}
这是我尝试创建的一个调试,但是在相关检查都正确的情况下仍然会出现相同的错误

   @SuppressWarnings("deprecation")
public void run(String arena){
    for(String key : Handler.playerMap.keySet()){
        if (Handler.playerMap.get(key).contains(arena)){
            Player pt = Bukkit.getPlayer("Nubzz");
            String p = pt.getDisplayName();
            Player nubzz = Bukkit.getPlayer("Nubzz");
            nubzz.sendMessage(key);
            nubzz.sendMessage(pt + "");
            nubzz.sendMessage(p);
            ScoreboardManager manager = Bukkit.getScoreboardManager();
            Scoreboard board = manager.getNewScoreboard();
            Objective objective = board.registerNewObjective("test", "dummy");
            objective.setDisplaySlot(DisplaySlot.SIDEBAR);
            objective.setDisplayName(ChatColor.AQUA + "Wave: " );
            Score score = objective.getScore(ChatColor.GREEN + "" + pt.getHealth() + ChatColor.WHITE + p + ChatColor.AQUA);
            int kills = PlayerHandler.kills.get(p);
            score.setScore(kills);
            int pcheck = 0;
这显示调试正在工作,并显示播放机已终止(可能我正在检查错误的变量值):

错误发生在哪里?stacktrace是什么?你知道如果
kills.get(p)
is
null
你也会得到一个NPE吗?很抱歉回复得太晚了@credenson