【问题标题】:My Scoreboard is not stoppping when i do the command当我执行命令时,我的记分牌没有停止
【发布时间】:2020-11-08 00:10:31
【问题描述】:

你好,谁正在阅读这篇文章, 我正在开发一个插件,它可以让你添加一个包含死亡的记分牌,但对于我的一生,我无法弄清楚如何从玩家身上删除记分牌,我正在尝试 player.setScoreboard(null);但这似乎不起作用,有没有人可以告诉我如何删除记分牌这就是我所拥有的

    List<String> pop = new ArrayList<String>();
    
    
    public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
        if (label.equalsIgnoreCase("scorecount")) {
            if (!(sender instanceof Player)) {
                sender.sendMessage("You cannot do that console!");
                return true;
            }
            if (sender.hasPermission("scorecount.use")) {
                if (args.length == 3) {
                    this.sendInvalid(sender);
                    Player pvp = Bukkit.getPlayer((String)args[1]);
                    if (pvp == null) {
                        sender.sendMessage((Object)ChatColor.RED + "Player " + args[1] + " is not online.");
                        return true;
                    }
                    if (args[0].equalsIgnoreCase("add")) {
                        if (pop.contains(pvp.getName())) {
                            sender.sendMessage((Object)ChatColor.RED + pvp.getName() + " Already has a ScoreList!");
                            return true;
                        }
                        pop.add(pvp.getName());
                        sender.sendMessage((Object)ChatColor.GREEN + pvp.getName() + " Now has the ScoreList!");
                        ScoreboardManager manager = Bukkit.getScoreboardManager();
                        Scoreboard board = (Scoreboard) manager.getNewScoreboard();
                        Objective obj = board.registerNewObjective("pvpScoreboard", "dummy", ChatColor.translateAlternateColorCodes('&', "&a&l<< &2&lPvP &a&l>>"));
                        obj.setDisplaySlot(DisplaySlot.SIDEBAR);
                        Score score = obj.getScore("____________");
                        score.setScore(3);
                        Score score2 = obj.getScore(ChatColor.AQUA + "Online Players: " + ChatColor.DARK_AQUA + Bukkit.getOnlinePlayers().size());
                        score2.setScore(2);
                        Score score3 = obj.getScore(ChatColor.AQUA + "Total Kills(mobs): " + ChatColor.DARK_AQUA + pvp.getStatistic(Statistic.MOB_KILLS));
                        score3.setScore(3);
                        pvp.setScoreboard(board);
                        pop.add(pvp.getName());
                        return true;
                    }
                } else if (args.length == 2) {
                    Player player = Bukkit.getPlayer((String)args[1]);
                    if (player == null) {
                        sender.sendMessage((Object)ChatColor.RED + "Player " + args[1] + " is not online.");
                        return true;
                    }
                    if (args[0].equalsIgnoreCase("remove")) {
                         sender.sendMessage("Help");
                        Player pvp = Bukkit.getPlayer((String)args[1]);
                        pvp.setScoreboard(null);
                         pop.remove(pvp.getName());
                            sender.sendMessage((Object)ChatColor.GREEN + pvp.getName()  + " no Longer has a Socrecount!");
                            pvp.setScoreboard(null);
                            pop.remove(pvp.getName());
                        return true;
                    }
                    }
                
                }
            }
        return false;
        }
        private void sendInvalid(CommandSender sender) {
            sender.sendMessage((Object)ChatColor.RED + "Invalid usage. Please use:");
            sender.sendMessage((Object)ChatColor.RED + "/scorecount add <player>");
            sender.sendMessage((Object)ChatColor.RED + "/scorecount remove <player>");
    }
}
}```

【问题讨论】:

    标签: java server command minecraft bukkit


    【解决方案1】:

    我之前没有使用过 Bukkit,也找不到 API 文档,但 this 教程建议您需要执行以下操作来“删除”玩家的记分牌:

    pvp.setScoreboard(Bukkit.getScoreboardManager().getNewScoreboard());
    

    【讨论】:

    • 天哪,你是我爱你的最好的人
    猜你喜欢
    • 1970-01-01
    • 2013-03-09
    • 1970-01-01
    • 2020-11-15
    • 1970-01-01
    • 2015-08-02
    • 2016-11-03
    • 2021-10-29
    • 1970-01-01
    相关资源
    最近更新 更多