Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

(Решено)Prefix

Тема в разделе "Разработка плагинов для новичков", создана пользователем Forest_SD, 25 мар 2017.

Статус темы:
Закрыта.
  1. Автор темы
    Forest_SD

    Forest_SD Участник Пользователь

    Баллы:
    36
    Имя в Minecraft:
    Forest_SD
    Привет всем, столкнулся с проблемой в виде нуля в tabList, как будто указал SideBar, но нет просто не понимаю я указываю в критерий dummy (не должно же там ничего быть), но почему ноль то?Я хочу его как-то убрать уже 2 час, но в пустую, подскажите как быть?версия 1.11.2, чуть ниже скрин и код.
    Код:
    Scoreboard scoreboard = Bukkit.getScoreboardManager().getMainScoreboard();
                        Objective obj = scoreboard.getObjective(DisplaySlot.PLAYER_LIST);
                        if(obj == null){
                            obj = scoreboard.registerNewObjective("player_list","dummy");
                        }
                        Team prefix = scoreboard.getTeam("prefix");
                        if(prefix == null){
                            prefix =  scoreboard.registerNewTeam("prefix");
                        }
                        prefix.setPrefix(Message.lol.getValue());
                        obj.setDisplayName(player.getName());
                        obj.setDisplaySlot(DisplaySlot.PLAYER_LIST);
                        prefix.addEntry(player.getName());
     

    Вложения:

    • 0.png
      0.png
      Размер файла:
      1,7 КБ
      Просмотров:
      14
    Последнее редактирование: 25 мар 2017
  2. Хостинг MineCraft
    <
  3. XjCyan1de

    XjCyan1de Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    XjCyan1de
    Ну дык ты зарегал обджектив и поставил его сразу в таб лист, так и должно быть. У игрока то 0 очков в этом обджективе
     
  4. Автор темы
    Forest_SD

    Forest_SD Участник Пользователь

    Баллы:
    36
    Имя в Minecraft:
    Forest_SD
    А как по другому то?)Есть еще конечно костыльный метод, префикс в имя совать, тогда это уже не префикс будет, а наркомания какая-то
     
  5. XjCyan1de

    XjCyan1de Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    XjCyan1de
    + Зачем ты каждый раз инцилизируешь Scoreboard? 1 раз при запуске делай и всё, то же самое с регистрацией тим, и зачем ты обджективу ставишь имя игрока?[DOUBLEPOST=1490453375,1490453317][/DOUBLEPOST]
    Это в ваниле так заложено, попробуй сделать на командных блоках так же будет - если у игрока 0 очков то и будет отображаться 0 очков. Чтобы не показывались очки, то и нужно убрать с таб листа обджектив
     
  6. Автор темы
    Forest_SD

    Forest_SD Участник Пользователь

    Баллы:
    36
    Имя в Minecraft:
    Forest_SD
    Но ведь если его убрать то будет NPE
     
  7. XjCyan1de

    XjCyan1de Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    XjCyan1de
    А для чего тебе вообще обджектив нужен?
     
  8. Автор темы
    Forest_SD

    Forest_SD Участник Пользователь

    Баллы:
    36
    Имя в Minecraft:
    Forest_SD
    Ну как же, DisplaySlot достать. Или я чего-то не догоняю?
     
  9. XjCyan1de

    XjCyan1de Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    XjCyan1de
    А зачем тебе DisplaySlot? Вообще что тебе от кода нужно?
     
  10. Автор темы
    Forest_SD

    Forest_SD Участник Пользователь

    Баллы:
    36
    Имя в Minecraft:
    Forest_SD
    Мне нужно чтобы он поставил игроку префикс, который я укажу, и все. А DisplaySlot чтобы от туда достать Player_List
     
  11. XjCyan1de

    XjCyan1de Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    XjCyan1de
    Почитай на досуге что такое Scoreboard и с чем его едят. Решение твоей проблемы: [​IMG][DOUBLEPOST=1490453844,1490453813][/DOUBLEPOST]Или еще проще:
    player.setPlayerListName("твой префикс"+player.getName());
     
  12. Автор темы
    Forest_SD

    Forest_SD Участник Пользователь

    Баллы:
    36
    Имя в Minecraft:
    Forest_SD
    лул...ну я и поц, спасибо что прояснил)
     
Статус темы:
Закрыта.

Поделиться этой страницей