• 【MineBBS社区发展意见征集】

    欢迎参与MineBBS社区调查,助力打造更好Minecraft社区!完成问卷可获赠200金粒,优质回答可额外获得200金粒(限5名),快来参与吧!【点击参与】

问题 AsyncPlayerChatEvent如何做到拥有悬浮窗和点击事件

xiaoyangcc

【Lv:2】

正式会员
注册
2024/04/05
消息
1
金粒
630金粒
@EventHandler
public void ChatListener(AsyncPlayerChatEvent event){
}
实现这种效果:
String message = player.getDisplayName() + ChatColor.WHITE + ": " + msg;
TextComponent component = new TextComponent(message);
component.setClickEvent(new ClickEvent(ClickEvent.Action.RUN_COMMAND, "/aaaa "+event.getPlayer().getName()));
component.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT,
new ComponentBuilder(ChatColor.YELLOW + "点击。。。。玩家!").create()));

要是硬取消原来的聊天,就会出现三条重复消息:
Snipaste_2024-04-05_19-10-14.pngSnipaste_2024-04-05_18-24-12.png硬放的后果
 
尝试把你事件的优先级设置为最高,正常取消后你自己重新发送此消息是不会出现多次的,可能在触发你这个事件注册之前被其他的聊天相关插件提前处理了。
 

在线会员

  • 若萌
  • Boc
  • 亦会堕落
  • NetK
  • Sh1roCu
  • 石叶尾猫
  • linghun91
  • qwe503600533
  • CarlBobi
  • hhbsbb
  • zikq5en
  • sutang998
  • chai0821
  • RetroStudio
后退
顶部 底部