Java Bukkit:在运行另一个插件的另一个命令时清除inv

Java Bukkit:在运行另一个插件的另一个命令时清除inv,java,minecraft,bukkit,Java,Minecraft,Bukkit,我需要知道,当玩家从另一个插件运行命令时,是否有办法清除玩家清单。我想你可以使用PlayerCommandPrepreprecEvent,但我自己还没有拿到。我想得到一些帮助来解决我的问题。谢谢:您的思路正确-为PlayerCommandPreprocessEvent创建一个侦听器,检查命令是否符合您的要求,然后清除播放器的资源清册: public class PlayerCommandPreprocessListener implements Listener { @EventHand

我需要知道,当玩家从另一个插件运行命令时,是否有办法清除玩家清单。我想你可以使用PlayerCommandPrepreprecEvent,但我自己还没有拿到。我想得到一些帮助来解决我的问题。谢谢:

您的思路正确-为PlayerCommandPreprocessEvent创建一个侦听器,检查命令是否符合您的要求,然后清除播放器的资源清册:

public class PlayerCommandPreprocessListener implements Listener {
    @EventHandler
    public void onPlayerCommandPreprocess(PlayerCommandPreprocessEvent event) {
        if (event.getMessage().toLowerCase().startsWith("/otherplugincommand")) {
            event.getPlayer().getInventory().clear();
        }
    }
}
记住在比较消息上的call toUpperCase或toLowerCase之前要将大小写标准化,因为Bukkit的命令处理不区分大小写

使用startsWith而不是equals会忽略以下任何参数-如果需要检查参数是否完全匹配,请使用equals调用

除此之外,实际上清除玩家的库存是微不足道的,并且可以在一行程序中完成