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

Помогите Нужно сделать плагин вывода сообщений над головой игрока

Тема в разделе "Разработка плагинов для новичков", создана пользователем Bo4ka_meda, 24 июл 2019.

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

    Bo4ka_meda Новичок

    Баллы:
    6
    Я хочу. чтобы при отправке сообщения в чат, сообщение отображалось над головой игрока, который ввел сообщение, и через несколько секунд пропал.
    Мои вопросы:
    1. Какой Event отвечает за отправку сообщений
    2. Как сделать вывод чего-нибудь над головой игрока
    Буду благодарен за ответы.
     
  2. Energy warrior

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

    Баллы:
    76
    Код:
    @org.bukkit.event.EventHandler
        public void onChat(org.bukkit.event.player.AsyncPlayerChatEvent e) {
            Player player = e.getPlayer();
            org.bukkit.entity.ArmorStand text = player.getWorld().spawn(player.getLocation(),ArmorStand.class);
            text.setVisible(false);
            text.setGravity(false);
            text.setCustomName(e.getMessage());
            text.setCustomNameVisible(true);
            Bukkit.getScheduler().runTaskLater(plugin, ()->{
                text.remove();
            }, delay);
        }
    Вот мой набросок из говнокода! Модифицируй как тебе надо. Анимации добавь, оптимизацию!
     
  3. Автор темы
    Bo4ka_meda

    Bo4ka_meda Новичок

    Баллы:
    6
    Спавн арморстенда не работает
     
  4. Energy warrior

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

    Баллы:
    76
    Почему? Чего ты решил что он не работает?
     
  5. Автор темы
    Bo4ka_meda

    Bo4ka_meda Новичок

    Баллы:
    6
    Я проверил, он не спавнит арморстенд, а выдает кучу ошибок (версия 1.13.2)
     
  6. Dymeth

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

    Баллы:
    98
    Имя в Minecraft:
    Dymeth
    Ну так показывай ошибки
     
  7. alexandrage

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

    Баллы:
    173
    Кидать тут нечего. Нельзя спавнить в асинсе.
     
  8. Dymeth

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

    Баллы:
    98
    Имя в Minecraft:
    Dymeth
    Это да.
    Поправил:
    Код:
        @EventHandler
        private void on(AsyncPlayerChatEvent e) {
            Player player = e.getPlayer();
            Bukkit.getScheduler().runTask(plugin, () -> {
                ArmorStand text = player.getWorld().spawn(player.getLocation(), ArmorStand.class);
                text.setVisible(false);
                text.setGravity(false);
                text.setCustomName(e.getMessage());
                text.setCustomNameVisible(true);
                Bukkit.getScheduler().runTaskLater(plugin, text::remove, 20L);
            });
        }
     
    Последнее редактирование: 26 июл 2019
  9. Автор темы
    Bo4ka_meda

    Bo4ka_meda Новичок

    Баллы:
    6
    RPGSessionCore.getSession()
    Что это?
     
  10. Dymeth

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

    Баллы:
    98
    Имя в Minecraft:
    Dymeth
    Объект твоего плагина
     

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