Помогите Обновление Score в Scoreboard

HaloSpartan

Активный участник
Пользователь
Баллы
66
Здравствуйте, первый раз использую Bukkit API для создания Scoreboard и у меня появился вопрос, как обновить строку счёта в борде? И в общем какие есть советы по использованию стандартного API для scoreboard?
public void onEnable()
{
Bukkit.getPluginManager().registerEvents(this, this);
}

@EventHandler
public void test(PlayerJoinEvent e)
{
Player p = e.getPlayer();
ScoreboardManager m = Bukkit.getScoreboardManager();
Scoreboard b = m.getNewScoreboard();

Objective o = b.registerNewObjective("Board", "");
o.setDisplaySlot(DisplaySlot.SIDEBAR);
o.setDisplayName("Name board");

Score s = o.getScore("string");
s.setScore(1);
p.setScoreboard(b);
}

}
 
Код:
for(String entry : scoreboard.getEntries()){
      scoreboard.resetScores(entry);
} //после этого, заного добавляешь строки в Scoreboard
 
Вот мой класс немигающего борда. Там все есть.
Код:
public class Board {
    private ScoreboardManager manager;
    private Scoreboard board;
    private Objective objective;

    public Board(String displayName) {
        this.manager = Bukkit.getScoreboardManager();
        this.board = manager.getNewScoreboard();
        this.objective = board.registerNewObjective("test", "dummy", displayName);
        this.objective.setDisplaySlot(DisplaySlot.SIDEBAR);
    }

    public Scoreboard getScoreboard() {
        return this.board;
    }

    public void setDisplayName(String name) {
        this.objective.setDisplayName(name);
    }

    public void setScore(String name, int index) {
        String string = build(index);
        Team team = this.board.getTeam(string);
        if (team == null) {
            team = this.board.registerNewTeam(string);
            team.addEntry(string);
            Score score = objective.getScore(string);
            score.setScore(index);
        }
        team.setPrefix(name);
    }

    public void resetScores(int index) {
        String string = build(index);
        this.board.getTeam(string).unregister();
        this.board.resetScores(string);
    }
 
    public String build(int index) {
        String hex = Integer.toHexString(index);
        StringBuilder sb = new StringBuilder();
        for (char c : hex.toCharArray()) {
            sb.append("§" + c);
        }
        return sb.toString();
    }
}
 
Назад
Верх