当我在游戏中使用/ 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>
答案 0 :(得分:0)
确保在onEnable方法中注册CommandExecutor。
通过执行getCommand("heal").setExecutor(Instance of CommandExecutor);
您还需要通过执行以下操作来确保检查发件人是否是玩家
if(sender instanceof Player)
答案 1 :(得分:0)
请确保您导入的是 org.bukkit.Command ,而不是 com.mojang.brigadier.Command
希望这对您有帮助