我尝试了PlayerChatEvent,AsyncPlayerChatEvent都不起作用,其中PlayerChatEvent被划了一条直线,请问是否是我的代码问题?我的游戏版本是1.17.1,使用的IDE是IDEA,以下是我的代码:
PlayerChatEvent:
复制代码
AsyncPlayerChatEvent:
复制代码
PlayerChatEvent:
- public void onch(PlayerChatEvent e){
- if(e.getMessage().equals("messagek")){
- e.getPlayer().sendMessage("hi!");
- }
- }
AsyncPlayerChatEvent:
- public void onoh(AsyncPlayerChatEvent e){
- if(e.getMessage().equals("jsdajkf")){
- e.getPlayer().sendMessage("23@");
- }
- }
划横线表示API过时
印象中PlayerChatEvent貌似在很多服务端上都不触发了
另外我想看你的完整代码
印象中PlayerChatEvent貌似在很多服务端上都不触发了
另外我想看你的完整代码
洞穴夜莺 发表于 2021-8-5 17:33
划横线表示API过时
印象中PlayerChatEvent貌似在很多服务端上都不触发了
另外我想看你的完整代码 ...
- package cn.code.listeners;
- import org.bukkit.event.Listener;
- import org.bukkit.event.player.*;
- public class Listen implements Listener {
- <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){
- if(e.getMessage().equals("messagek")){
- e.getPlayer().sendMessage("hi!");
- }
- }
- public void onoh(AsyncPlayerChatEvent e){
- if(e.getMessage().equals("jsdajkf")){
- e.getPlayer().sendMessage("23@");
- }
- }
- }
顺带一提,既然PLAYERCHATEVENT不能出发,那ASYNC怎么也不触发呢,我该怎么判断玩家发言呢现在的版本
3340721752 发表于 2021-8-5 17:39
顺带一提,既然PLAYERCHATEVENT不能出发,那ASYNC怎么也不触发呢,我该怎么判断玩家发言呢现在的版本 ...
public void onoh(AsyncPlayerChatEvent e){
@EventHandler
你依赖的服务端核心是什么?
dengyu 发表于 2021-8-5 17:43
你依赖的服务端核心是什么?
spigot1.17.1网上找的
洞穴夜莺 发表于 2021-8-5 17:41
上面加一行试试
加了也没有用
建议发整个插件
在你继承了JavaPlugin的类里面调用Bukkit注册你的监听器
监听器要implements Listener
同时监听器里面的具体方法上面要添加注解@EventHandler
监听器要implements Listener
同时监听器里面的具体方法上面要添加注解@EventHandler
南柯郡守 发表于 2021-8-5 19:37
在你继承了JavaPlugin的类里面调用Bukkit注册你的监听器
监听器要implements Listener
同时监听器里面的具 ...
成功了,成功了
明白了,感谢分享
我觉得可以
一般可以用AsyncPlayerChatEvent这个事件比较好,如果用PlayerChatEvent似乎不太好,感觉这个是过时的。