3340721752
我尝试了PlayerChatEvent,AsyncPlayerChatEvent都不起作用,其中PlayerChatEvent被划了一条直线,请问是否是我的代码问题?我的游戏版本是1.17.1,使用的IDE是IDEA,以下是我的代码:
PlayerChatEvent:
  1.     public void onch(PlayerChatEvent e){
  2.         if(e.getMessage().equals("messagek")){
  3.             e.getPlayer().sendMessage("hi!");
  4.         }
  5.     }
复制代码


AsyncPlayerChatEvent:
  1.     public void onoh(AsyncPlayerChatEvent e){
  2.         if(e.getMessage().equals("jsdajkf")){
  3.             e.getPlayer().sendMessage("23@");
  4.         }
  5.     }
复制代码

洞穴夜莺
划横线表示API过时
印象中PlayerChatEvent貌似在很多服务端上都不触发了
另外我想看你的完整代码

3340721752
洞穴夜莺 发表于 2021-8-5 17:33
划横线表示API过时
印象中PlayerChatEvent貌似在很多服务端上都不触发了
另外我想看你的完整代码 ...
  1. package cn.code.listeners;

  2. import org.bukkit.event.Listener;
  3. import org.bukkit.event.player.*;

  4. public class Listen implements Listener {
  5. <pre style="background-color:#ffffff;color:#080808;font-family:'JetBrains Mono',monospace;font-size:9.8pt;"><span style="color:#9e880d;">@EventHandler</span></pre>    public void onch(PlayerChatEvent e){
  6.         if(e.getMessage().equals("messagek")){
  7.             e.getPlayer().sendMessage("hi!");
  8.         }
  9.     }

  10.     public void onoh(AsyncPlayerChatEvent e){
  11.         if(e.getMessage().equals("jsdajkf")){
  12.             e.getPlayer().sendMessage("23@");
  13.         }
  14.     }
  15. }
复制代码

顺带一提,既然PLAYERCHATEVENT不能出发,那ASYNC怎么也不触发呢,我该怎么判断玩家发言呢现在的版本

洞穴夜莺
3340721752 发表于 2021-8-5 17:39
顺带一提,既然PLAYERCHATEVENT不能出发,那ASYNC怎么也不触发呢,我该怎么判断玩家发言呢现在的版本 ...
public void onoh(AsyncPlayerChatEvent e){
上面加一行
@EventHandler
试试

ABlueCat
你依赖的服务端核心是什么?

3340721752
dengyu 发表于 2021-8-5 17:43
你依赖的服务端核心是什么?

spigot1.17.1网上找的

3340721752

加了也没有用

洞穴夜莺

建议发整个插件

南柯郡守
在你继承了JavaPlugin的类里面调用Bukkit注册你的监听器
监听器要implements Listener
同时监听器里面的具体方法上面要添加注解@EventHandler

3340721752
南柯郡守 发表于 2021-8-5 19:37
在你继承了JavaPlugin的类里面调用Bukkit注册你的监听器
监听器要implements Listener
同时监听器里面的具 ...

成功了,成功了

杨宇
明白了,感谢分享

严志陈
我觉得可以

Sky_God_
一般可以用AsyncPlayerChatEvent这个事件比较好,如果用PlayerChatEvent似乎不太好,感觉这个是过时的。

第一页 上一页 下一页 最后一页