当我在游戏中使用命令/ heal时,它将在游戏聊天中返回/ heal。我完全不明白为什么会这样。
这是我的代码(全部在一个类中):

public boolean onCommand(CommandSender sender, Command cmd, String label, Strings [] args) {

    Player player = (Player) sender;

    if (cmd.getName().equalsIgnoreCase("heal")) {
        if (sender.hasPermission("city.heal")) {
            player.setHealth(20);
            player.setFoodLevel(20);
            sender.sendMessage("§fYou have been §bhealed §fand §bsated§f.");
            return true;
        }

        if (!sender.hasPermission("city.heal")) {
            sender.sendMessage("§cNo permission.");
            return true;
        }
    }
    return true;
}


这是我的plugin.yml:

main: me.rarfiles.code.Code
name: Test
author: rarfiles
version: 1.0

commands:
  heal:
    usage: /<command>

最佳答案

确保在onEnable方法中注册CommandExecutor。
通过执行getCommand("heal").setExecutor(Instance of CommandExecutor);

您还需要通过执行以下操作来确保检查发件人是否是玩家
if(sender instanceof Player)

10-04 22:43