Помогите Не работает scoreboard

  • Автор темы Автор темы Kurumi
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

Kurumi

Активный участник
Пользователь
Баллы
76
Имя в Minecraft
Kurumi
Всем привет. Я сделал тестовый scoreboard, при входе справа должен появится сам скореборд и там должна отображаться просто привилегия из permissionsEx, но ничего не появляется. В чем причина?
Говнокод:
PHP:
@EventHandler
    public void PlayerJoin(PlayerJoinEvent e)
    {
        Player p = e.getPlayer();
        PermissionUser user = PermissionsEx.getUser(p);
        String prefix = user.getPrefix();
        prefix = prefix.replace("&", "\u00a7");
        
        Scoreboard board;
        Objective obj;
        
        board = Bukkit.getScoreboardManager().getNewScoreboard();
        obj = board.registerNewObjective("prefixofuser", "dummy");
        
        obj.setDisplayName(ChatColor.GREEN + "Ты: " + prefix);
        obj.setDisplaySlot(DisplaySlot.SIDEBAR);
        e.getPlayer().setScoreboard(board);
        for(Player op : Bukkit.getOnlinePlayers())
        {
            op.setScoreboard(board);
        }
        
    }
 
Подправил код.
PHP:
Scoreboard board;
Objective obj;

//Добавь в onEnable или конструктор
//board = Bukkit.getScoreboardManager().getNewScoreboard();
//obj = board.registerNewObjective("prefixofuser", "dummy");
@EventHandler
    public void PlayerJoin(PlayerJoinEvent e)
    {
        Player p = e.getPlayer();
        PermissionUser user = PermissionsEx.getUser(p);
        String prefix = user.getPrefix();
        prefix = ChatColor.translateAlternateColorCodes('§', prefix);
       
        obj.setDisplayName(ChatColor.GREEN + "Ты: " + prefix);
        obj.setDisplaySlot(DisplaySlot.SIDEBAR);
        p.setScoreboard(board);
/*
Для чего эта часть?
        for(Player op : Bukkit.getOnlinePlayers())
        {
            op.setScoreboard(board);
        }
        */
    }
Во-вторых, кажется надо добавить хоть один элемент, чтобы скорборд отображался.
 
Подправил код.
PHP:
Scoreboard board;
Objective obj;

//Добавь в onEnable или конструктор
//board = Bukkit.getScoreboardManager().getNewScoreboard();
//obj = board.registerNewObjective("prefixofuser", "dummy");
@EventHandler
    public void PlayerJoin(PlayerJoinEvent e)
    {
        Player p = e.getPlayer();
        PermissionUser user = PermissionsEx.getUser(p);
        String prefix = user.getPrefix();
        prefix = ChatColor.translateAlternateColorCodes('§', prefix);
      
        obj.setDisplayName(ChatColor.GREEN + "Ты: " + prefix);
        obj.setDisplaySlot(DisplaySlot.SIDEBAR);
        p.setScoreboard(board);
/*
Для чего эта часть?
        for(Player op : Bukkit.getOnlinePlayers())
        {
            op.setScoreboard(board);
        }
        */
    }
Во-вторых, кажется надо добавить хоть один элемент, чтобы скорборд отображался.
Последняя часть для перебора всех игроков, чтобы каждому присваивался скореборд.
Сейчас попробую...
 
Подправил код.
PHP:
Scoreboard board;
Objective obj;

//Добавь в onEnable или конструктор
//board = Bukkit.getScoreboardManager().getNewScoreboard();
//obj = board.registerNewObjective("prefixofuser", "dummy");
@EventHandler
    public void PlayerJoin(PlayerJoinEvent e)
    {
        Player p = e.getPlayer();
        PermissionUser user = PermissionsEx.getUser(p);
        String prefix = user.getPrefix();
        prefix = ChatColor.translateAlternateColorCodes('§', prefix);
      
        obj.setDisplayName(ChatColor.GREEN + "Ты: " + prefix);
        obj.setDisplaySlot(DisplaySlot.SIDEBAR);
        p.setScoreboard(board);
/*
Для чего эта часть?
        for(Player op : Bukkit.getOnlinePlayers())
        {
            op.setScoreboard(board);
        }
        */
    }
Во-вторых, кажется надо добавить хоть один элемент, чтобы скорборд отображался.
Я немного не понял про элемент... объяснишь?
 
Я немного не понял про элемент... объяснишь?
При заходе игрока оно просто меняет текст на скорборде и отправляет игроку (Должно, если в нём есть элементы), вместо создания ещё одного объекта Scoreboard
 
При заходе игрока оно просто меняет текст на скорборде и отправляет игроку (Должно, если в нём есть элементы), вместо создания ещё одного объекта Scoreboard
И как добавить элемент?
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх