java - 如何将 2 个命令注册为 1 个

标签 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 个命令“impersonate”和“imp”(作为别名;简称)。我在游戏中输入/impersonate 就可以了。但是当我键入/imp 时,它不起作用。

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

最佳答案

对在 plugin.yml 文件中注册的命令使用别名部分允许任意数量的命令触发相同的命令执行器。格式如下

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

关于java - 如何将 2 个命令注册为 1 个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41558319/

相关文章:

java - 动态地将属性文件值替换为另一个值 - Spring maven

java - 日期之间的天数 Java(作业)

Java 和 Heroku

java - ByteBuddy : java. lang.IllegalArgumentException:无法附加 undefined variable :V

java - 如何将数组列表的内容写入文本文件?

plugins - Jekyll 插件不工作

android - 适用于 Android 的 Phonegap 插件无法正常工作。为什么?

css - 应用自定义样式后,增强型图像插件无法正常工作

php - iOS 的自动续订订阅 : How to get Server-side receipt validation?

python - 托管两个不同的 django 项目