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/