1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Помогите Scoreboard не отображается

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

  1. Автор темы
    ktotoa

    ktotoa Новичок Пользователь

    Баллы:
    6
    Шалом!
    Снова одна проблема. Сделал одну таблицу но она не отображается. Идея в том что бы она показывала температуру тела (для начала это просто статичное число 36,6). Написал под JoinListener что бы она сразу приписывалась игроку. Можете кто нибудь подсказать что не так?
    Код:
    package siberia.plugin.listeners;
    
    import org.bukkit.Bukkit;
    import org.bukkit.ChatColor;
    import org.bukkit.entity.Player;
    import org.bukkit.event.EventHandler;
    import org.bukkit.event.Listener;
    import org.bukkit.event.player.PlayerJoinEvent;
    import org.bukkit.scoreboard.DisplaySlot;
    import org.bukkit.scoreboard.Objective;
    import org.bukkit.scoreboard.Scoreboard;
    import siberia.siberia.main;
    
    import java.util.Objects;
    
    public class JoinListener implements Listener {
    
        @EventHandler
        public void onJoin(PlayerJoinEvent event){
            Player player = event.getPlayer();
            player.sendMessage(main.getPrefix() + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA");
            event.setJoinMessage(main.getPrefix() + ChatColor.RED + player.getName() + ChatColor.YELLOW + " suck my dick");
    
    
            //Körpertemperature=============================================================
            float bodyTemp = (float) 36.6;
            //bodyTemp im Spiel zeigen
            Scoreboard body = Objects.requireNonNull(Bukkit.getScoreboardManager()).getNewScoreboard();
            Objective objective = body.registerNewObjective("bodyTemp", "abcd", "YA EBAL");
            objective.setDisplaySlot(DisplaySlot.PLAYER_LIST);
            objective.setDisplayName(ChatColor.YELLOW + "Körpertemperature: " + ChatColor.BLUE + bodyTemp);
            objective.getScore("Körpertemperature:" + bodyTemp).setScore(1);
            player.setScoreboard(body);
    
        }
    }
    PS: мне надо что бы таблица выглядила так как на картинке. Да, там их три и я это знаю. Кто шарит может ещё сказать как такое сделать?
    IMG_20201214_164518_292.jpg
     
  2. Witenin

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

    Баллы:
    76
    Имя в Minecraft:
    Witenin
    Я не доганяю или он несёт пургу? Это же экшен бар, или даже мод.
     
  3. Автор темы
    ktotoa

    ktotoa Новичок Пользователь

    Баллы:
    6
    На картинке это датапак, но я хотел сделать подобное в своём плагине.
     
  4. SaMEC

    SaMEC Старожил Пользователь

    Баллы:
    173
    Skype:
    support.meedway
    Имя в Minecraft:
    Nick
    ты записываешь вообще в другое место
    objective.setDisplaySlot(DisplaySlot.PLAYER_LIST);
    а нужен
    objective.setDisplaySlot(DisplaySlot.SIDEBAR);
    А вообще в инете просто куча примеров по созданию борда
     
  5. Автор темы
    ktotoa

    ktotoa Новичок Пользователь

    Баллы:
    6
    Спасибо, заработало. Я искал уже в интернете но ничего не нашел. Может быть ты знаешь как сместить таблицу в низ как на картинке?
     
  6. SaMEC

    SaMEC Старожил Пользователь

    Баллы:
    173
    Skype:
    support.meedway
    Имя в Minecraft:
    Nick
    На картинке не таблица, а экшен бар. Это разные вещи.
     

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