Bukkit / Spigot。当我输入命令时,它只返回命令

问题描述 投票:0回答:1

[当我在游戏中使用/ 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>
java bukkit
1个回答
0
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.