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

Помогите Как сделать сообщение в чате кликабельным?

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

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

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

    Баллы:
    46
    Qq all!
    Как сделать сообщение в чате кликабельным, то есть выводится сообщение, при клике на него игрока тпхает на определённую локацию.Спасибо всем заранее!
     
  2. LuckyZeeRo

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

    Баллы:
    96
    Имя в Minecraft:
    i0xHeX
    Надо отправлять его пакетом в формате JSON.
    Примерно так:
    Код:
    String json = "{text:\"Hello there!\",hoverEvent:{action:show_text,value:\"You found an easteregg :3\"}}";
    Packet packet = new PacketPlayOutChat(ChatSerializer.a(json), true);
    ((CraftPlayer) p).getHandle().playerConnection.sendPacket(packet);
    Освоить json сложновато поначалу, можешь юзать вот этот генератор текста:
    https://www.minecraftjson.com/
     
  3. DonDays

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

    Баллы:
    96
    Имя в Minecraft:
    DonDays
    player.spigot().sendMessage(new ComponentBuilder(). ... .create());
     
  4. LuckyZeeRo

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

    Баллы:
    96
    Имя в Minecraft:
    i0xHeX
    Можно и так. Ток если с конфига читать, то парсить все равно придется.
     
  5. Nikolai_Faint

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

    Баллы:
    96
  6. DonDays

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

    Баллы:
    96
    Имя в Minecraft:
    DonDays
    Тогда лучше протоколом
     
  7. Nikolai_Faint

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

    Баллы:
    96
    На какую локацию?
     
  8. Nikolai_Faint

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

    Баллы:
    96
    Код:
          TextComponent message = new TextComponent( "На пвп" );
            message.setClickEvent( new ClickEvent( ClickEvent.Action.RUN_COMMAND, "/warp pvp"  ));
            message.setHoverEvent( new HoverEvent( HoverEvent.Action.SHOW_TEXT, new ComponentBuilder("*Жмяк*").create() ) );
            player.spigot().sendMessage( message ); 
     
  9. DonDays

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

    Баллы:
    96
    Имя в Minecraft:
    DonDays
    Код:
            player.spigot().sendMessage(new ComponentBuilder("На пвп")
                    .event(new ClickEvent(ClickEvent.Action.RUN_COMMAND, "/warp pvp"))
                    .event(new HoverEvent(HoverEvent.Action.SHOW_TEXT, TextComponent.fromLegacyText("*Жмяк*")))
                    .create());
     
  10. Nikolai_Faint

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

    Баллы:
    96
    *лайк*
     
  11. Автор темы
    bristol

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

    Баллы:
    46
    Спасибо всем, вопрос решён, тему закрываю!
     
Статус темы:
Закрыта.

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