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

Обращение в ЛС по щелчку на ник в чате

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

Метки:
Статус темы:
Закрыта.
  1. Dymeth

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

    Баллы:
    98
    Имя в Minecraft:
    Dymeth
    ТС, а на эти слова ты вообще забил?
    Я думаю, тут зарыто решение твоего вопроса
     
  2. AbstractCoder

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

    Баллы:
    76
    Имя в Minecraft:
    AbstractCoder
    Ну так серв запустить в режиме дебага не?)
     
  3. Автор темы
    Lentiscus

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

    Баллы:
    61
    Имя в Minecraft:
    Lentiscus
    upload_2019-2-15_12-29-54.png
    Заменил. Расставил sout'ы. Не работает.
    Код:
    public class MyListener implements Listener {
        @EventHandler
        public void onPlayerChat(AsyncPlayerChatEvent event) {
            Bukkit.getServer().broadcastMessage(ChatColor.GREEN+"One");
            if (event.getMessage().contains(event.getPlayer().getName())) {
                TextComponent message = new TextComponent(event.getPlayer().getName());
            Bukkit.getServer().broadcastMessage(ChatColor.GREEN+"Two");  
                message.setClickEvent(new ClickEvent(ClickEvent.Action.SUGGEST_COMMAND, "/w " + event.getPlayer().getName()));
            Bukkit.getServer().broadcastMessage(ChatColor.GREEN+"Three");
                message.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, new ComponentBuilder("Click to private message.").create()));
            Bukkit.getServer().broadcastMessage(ChatColor.GREEN+"Four");        
                //message.addExtra(ChatColor.WHITE + " > " + event.getMessage());
                for (Player players : event.getRecipients()) { players.spigot().sendMessage(message); }  
            Bukkit.getServer().broadcastMessage(ChatColor.GREEN+"Five");
            }
        }
    }
     
  4. Exception_Prototype

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

    Баллы:
    96
    Вот я ему сейчас буду сидеть и расписывать как им пользоваться?)
     
  5. Автор темы
    Lentiscus

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

    Баллы:
    61
    Имя в Minecraft:
    Lentiscus
    Всем чмоки в этом чате! Давайте к нашим баранам. :(
     
  6. MurlikMurlik

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

    Баллы:
    96
    Ну правильно, ты пытаешься найти ник игрока в сообщении, которое должен отправить игрок..
    Бери getFormat()
    Возвращает все что перед текстом который должен отправиться.
     
  7. alexandrage

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

    Баллы:
    173
    Ифка не проходит вот тут. Напиши свой ник в чате и все.
    if (event.getMessage().contains(event.getPlayer().getName())) {
     
  8. AbstractCoder

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

    Баллы:
    76
    Имя в Minecraft:
    AbstractCoder
    Нет, ты ему сказал использовать дебаг, он пошел гуглить, там всего то пару брекпоинтов натыкать, с чего ты решил, что тебе нужно ему это объяснять?
     
  9. Автор темы
    Lentiscus

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

    Баллы:
    61
    Имя в Minecraft:
    Lentiscus
    Код:
            if (event.getFormat().contains(event.getPlayer().getName())) {
                TextComponent message = new TextComponent(event.getPlayer().getName());
            Bukkit.getServer().broadcastMessage(ChatColor.GREEN+"Two");   
                message.setClickEvent(new ClickEvent(ClickEvent.Action.SUGGEST_COMMAND, "/w " + event.getPlayer().getName()));
            Bukkit.getServer().broadcastMessage(ChatColor.GREEN+"Three");
                message.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, new ComponentBuilder("Click to private message.").create()));
            Bukkit.getServer().broadcastMessage(ChatColor.GREEN+"Four");         
                //message.addExtra(ChatColor.WHITE + " > " + event.getMessage());
                for (Player players : event.getRecipients()) { players.spigot().sendMessage(message); }   
            Bukkit.getServer().broadcastMessage(ChatColor.GREEN+"Five");
            }
    upload_2019-2-15_19-19-38.png
     
  10. alexandrage

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

    Баллы:
    173
    Какой же ты тупой все таки :D.
    Код:
        @EventHandler
        public void onPlayerChat(AsyncPlayerChatEvent event) {
            event.getPlayer().sendMessage("ИдиотДетектед - > "+event.getMessage());
            event.getPlayer().sendMessage("ИдиотДетектед - > "+event.getFormat());
        }
     
  11. Автор темы
    Lentiscus

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

    Баллы:
    61
    Имя в Minecraft:
    Lentiscus
    Спасибо за оценку! Ваш отзыв очень важен для нас.
     
  12. MurlikMurlik

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

    Баллы:
    96
    Код:
    @EventHandler
    public void onAsyncPlayerChatEvent(AsyncPlayerChatEvent e) {
    Player pl = e.getPlayer();
    e.setCancelled(true);
    TextComponent message = new TextComponent(pl.getName());
    message.setClickEvent(new ClickEvent(ClickEvent.Action.SUGGEST_COMMAND, "/w " + pl.getName()));
    message.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, new ComponentBuilder("Click to private message.").create()));
    message.addExtra(ChatColor.WHITE + " > " + e.getMessage());
    for (Player pla : Bukkit.getOnlinePlayers()) {
       pla.spigot().sendMessage(message);
    }
    }
    Жуй
     
  13. Автор темы
    Lentiscus

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

    Баллы:
    61
    Имя в Minecraft:
    Lentiscus
    Хаваю! Спасибо. Однажды интеллектуально отомщу за унижения, но знал на что шёл. Предыдущий вариант кода тоже успел захавать, такой вот я прожорливый.
     
  14. Автор темы
    Lentiscus

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

    Баллы:
    61
    Имя в Minecraft:
    Lentiscus
    Всем спасибо! Всё работает, тему закрываю. В особенности выражаю благодарность @MurlikMurlik , за то что воссоздал и положил в рот. :З
    upload_2019-2-16_2-29-25.png
     
Статус темы:
Закрыта.

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