Scoreboard not working?

Discussion in 'Plugin Development' started by Krafty, Mar 1, 2016.

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

    Krafty

    Hey! I am trying to get the scoreboard to give the prefix [AFK] when /afk is typed, but it is not working. Any Ideas why?
    Code:
    package com.kraftykaleb.cakeessentials.commands;
    
    import org.bukkit.Bukkit;
    import org.bukkit.command.Command;
    import org.bukkit.command.CommandExecutor;
    import org.bukkit.command.CommandSender;
    import org.bukkit.entity.Player;
    import org.bukkit.scoreboard.Scoreboard;
    import org.bukkit.scoreboard.ScoreboardManager;
    import org.bukkit.scoreboard.Team;
    
    public class Afk implements CommandExecutor {
    
        public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
           
            if (label.equalsIgnoreCase("afk")) {
                Player p = (Player) sender;
                ScoreboardManager manager = Bukkit.getScoreboardManager();
                Scoreboard board = manager.getNewScoreboard();
                Team teamadmin = board.getTeam("AFK");
                teamadmin.setPrefix("§c[AFK] ");
                teamadmin.addEntry(p.getName());
            }
           
            return true;
        }
    
    }
    
     
  2. Offline

    AppleBabies

    @Krafty You never actually send the scoreboard.
    Code:
    p.setScoreboard(board);
     
  3. Offline

    Krafty

    Code:
    package com.kraftykaleb.cakeessentials.commands;
    
    import org.bukkit.Bukkit;
    import org.bukkit.command.Command;
    import org.bukkit.command.CommandExecutor;
    import org.bukkit.command.CommandSender;
    import org.bukkit.entity.Player;
    import org.bukkit.scoreboard.Scoreboard;
    import org.bukkit.scoreboard.ScoreboardManager;
    import org.bukkit.scoreboard.Team;
    
    public class Afk implements CommandExecutor {
    
        public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
           
            if (label.equalsIgnoreCase("afk")) {
                Player p = (Player) sender;
                ScoreboardManager manager = Bukkit.getScoreboardManager();
                if (manager.getMainScoreboard() != null) {
                    Scoreboard board = manager.getMainScoreboard();
                    if (board.getTeam("AFK") != null) {
                        Team teamadmin = board.getTeam("AFK");
                        teamadmin.setPrefix("§c[AFK] ");
                        teamadmin.addEntry(p.getName());
                        p.setScoreboard(board);
                        for(Player online : Bukkit.getOnlinePlayers()){
                              online.setScoreboard(board);
                        }
                    } else {
                        board.registerNewTeam("AFK");
                        Team teamadmin = board.getTeam("AFK");
                        teamadmin.setPrefix("§c[AFK] ");
                        teamadmin.addEntry(p.getName());
                        p.setScoreboard(board);
                        for(Player online : Bukkit.getOnlinePlayers()){
                              online.setScoreboard(board);
                        }
                    }
                } else {
                    Scoreboard board = manager.getNewScoreboard();
                    if (board.getTeam("AFK") != null) {
                        Team teamadmin = board.getTeam("AFK");
                        teamadmin.setPrefix("§c[AFK] ");
                        teamadmin.addEntry(p.getName());
                        p.setScoreboard(board);
                        for(Player online : Bukkit.getOnlinePlayers()){
                              online.setScoreboard(board);
                        }
                    } else {
                        board.registerNewTeam("AFK");
                        Team teamadmin = board.getTeam("AFK");
                        teamadmin.setPrefix("§c[AFK] ");
                        teamadmin.addEntry(p.getName());
                        p.setScoreboard(board);
                        for(Player online : Bukkit.getOnlinePlayers()){
                              online.setScoreboard(board);
                        }
                    }
                }           
               
            }
           
            return true;
        }
    
    }
     
  4. Offline

    AppleBabies

    @Krafty That's really messy, I'd try to clean it up a bit. Also, start small. Before you add a bunch of things try to at least get the basic scoreboard working. A stack trace if there is any would also be helpful.
     
Thread Status:
Not open for further replies.

Share This Page