Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

Помогите Отправить сообщение игроку json

Метки:
Теги Теги
json

loredmaxed3

Новичок
Пользователь
Баллы
6
Имя в Minecraft
loredmaxed3
Как отправить игроку сообщение с кнопкой? У меня есть код json для неё, но при отправке выводится сам код, должна быть кнопка. В sendMessage просит конвертить к формату String, но я так понимаю из-за этого у меня в чате строка кода, вместо нужного результата. Крч как это сделать? Мой старый код без json:
TextComponent message = new TextComponent("Нажми меня");
ClickEvent clickEvent = new ClickEvent(ClickEvent.Action.RUN_COMMAND, "/bizmenu");
message.setClickEvent(clickEvent);
sender.sendMessage(Sting.valueOf(message));
 
Adventure:
sender.sendMessage(GsonComponentSerializer.gson().deserialize(json));

md_5:
sender.sendMessage(ComponentSerializer.parse(json));
 
Adventure:
sender.sendMessage(GsonComponentSerializer.gson().deserialize(json));

md_5:
sender.sendMessage(ComponentSerializer.parse(json));

Все равно выводит это:
[17:05:14 INFO]: [TextComponent{text=[Взаимодействие], BaseComponent(color=, font=null, bold=null, italic=null, underlined=null, strikethrough=null, obfuscated=null, insertion=null, extra=null, clickEvent=ClickEvent(action=RUN_COMMAND, value=/bizmenu), hoverEvent=null)}]

Сможешь сделать практический пример? Пожалуйста.
 
Все равно выводит это:
[17:05:14 INFO]: [TextComponent{text=[Взаимодействие], BaseComponent(color=, font=null, bold=null, italic=null, underlined=null, strikethrough=null, obfuscated=null, insertion=null, extra=null, clickEvent=ClickEvent(action=RUN_COMMAND, value=/bizmenu), hoverEvent=null)}]

Сможешь сделать практический пример? Пожалуйста.
ХЗ, что у тебя могло не получиться. Я сразу же привёл готовый код.
Ну, попробуй прям весь метод скопировать:
PHP:
@EventHandler
private void onBlockPlace(BlockPlaceEvent event) {
    String json = "{\"text\":\"Click\",\"underlined\":true,\"clickEvent\":{\"action\":\"run_command\",\"value\":\"/say Clicked!\"}}";
    CommandSender sender = event.getPlayer();
    sender.sendMessage(ComponentSerializer.parse(json));
}

upload_2023-2-10_19-44-16.png
 
А не sender.spigot().sendMessage(json) случайно?
 

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

Назад
Верх