Pan$brother
本帖最后由 Pan$brother 于 2022-5-22 12:02 编辑

求助,如何检测到玩家输入了其他插件的指令
如果有大佬帮帮,感激不尽




632b781af97903
PlayerCommandPreprocessEvent
.getMessage()
获取所发送的命令的所有字符串.

Pan$brother
632b781af97903 发表于 2022-5-20 21:15
PlayerCommandPreprocessEvent


大佬我改了好久还是没有成功

结冰的离季
本帖最后由 结冰的离季 于 2022-5-20 22:12 编辑

PlayerCommandPreprocessEvent 的 getMessage() 返回的是完整的命令 比如玩家输入/spawn 返回的也是/spawn
而且你在控制台测试是没用的,这个事件只对玩家有效
要监听后台请用 ServerCommandEvent


Pan$brother
结冰的离季 发表于 2022-5-20 22:08
PlayerCommandPreprocessEvent 的 getMessage() 返回的是完整的命令 比如玩家输入/spawn 返回的也是/spawn
...

是检测玩家,我进客户端测试输入pp除了弹出未知命令就没有给出提示了





结冰的离季
Pan$brother 发表于 2022-5-20 22:20
是检测玩家,我进客户端测试输入pp除了弹出未知命令就没有给出提示了

只有输入的内容是一条可用的命令,才会触发这个事件,不存在的命令不会触发这个事件,如果你想自定义命令请用正常的方法

632b781af97903
Pan$brother 发表于 2022-5-20 22:20
是检测玩家,我进客户端测试输入pp除了弹出未知命令就没有给出提示了



  1.    @EventHandler
  2.                         public void event(PlayerCommandPreprocessEvent e) {
  3.                                 Player p = e.getPlayer();
  4.                                 String cmd = e.getMessage();
  5.                                 p.sendMessage(cmd);
  6.                                 p.sendMessage("" + (cmd == "/pp"));
  7.                                 p.sendMessage("" + (cmd.equals("/pp")));
  8.                                 p.sendMessage("" + (cmd.toLowerCase().startsWith("/pp")));
  9.                         }
复制代码



Pan$brother

可以了,今天晚上谢谢大佬们指点,谢谢

woshihanmu
sasdsdsddd