如何将2个命令注册到1中

时间:2017-01-09 22:51:00

标签: java plugins server minecraft bukkit

public class commandImp extends JavaPlugin {
    @Override
    public void onEnable() {
        this.getCommand("impersonate").setExecutor(new commandImp());
        this.getCommand("imp").setExecutor(new commandImp());
    }
    @Override
    public boolean onCommand(CommandSender sender, Command command, String alias, String[] args) {
        Player player = (Player) sender;
        if (sender instanceof Player) {
            if (player.hasPermission("gate.imp")) {
                if (alias.equalsIgnoreCase("imp") || alias.equalsIgnoreCase("impersonate")) {
                    if (args.length == 0) {
                        player.sendMessage(ChatColor.GRAY + "----- " + ChatColor.DARK_GREEN + "/impersonate" + ChatColor.GRAY + " -----");
...

我的类文件名为commandImp.class。此命令工作正常,但正如您在方法onEnable()下看到的那样。我已经注册了2个命令"模仿"和" imp" (作为别名;缩短)。我在游戏中输入/模仿,它的工作原理。但是当我键入/ imp时,它不起作用。

我怎样才能使它们都起作用?

1 个答案:

答案 0 :(得分:4)

对plugin.yml文件中注册的命令使用别名部分允许尽可能多的命令触发相同的命令执行程序。其格式如下

commands:
    myCommand:
        aliases: [command, aliases, here]