Табуляция в командах

Версия Minecraft
1.12.2

will0376

Токсичная личность
2,059
55
573
Добра всем. Каким образом добавить возможность использования таба в свои команды? у меня есть класс Command расширяющий CommandBase, а в нём переопределение
Java:
    @Override
    public void execute(MinecraftServer server, ICommandSender sender, String[] args) throws CommandException {
        if(args.length != 0) {
            if (args[0].equa("reload")) {
            бла-бла-бла
            }
            бла-бла-бла х2
            else if (args[0].equalsIgnoreCase("closeAll")) {
                Main.network.sendToAll(new Message("close"));
            }
            else sender.sendMessage(new TextComponentString(usage));
            }
        
        else{sender.sendMessage(new TextComponentString(usage));
      }
    }
 
Решение
Java:
public List addTabCompletionOptions(ICommandSender sender, String[] args){
    return args.length == 1 ? getListOfStringsMatchingLastWord(args, getPlayers()) : (args.length == 2 ? getListOfStringsFromIterableMatchingLastWord(args, Item.itemRegistry.getKeys()) : null);
}
Пример из команды give.

tox1cozZ

aka Agravaine
8,454
598
2,890
Java:
public List addTabCompletionOptions(ICommandSender sender, String[] args){
    return args.length == 1 ? getListOfStringsMatchingLastWord(args, getPlayers()) : (args.length == 2 ? getListOfStringsFromIterableMatchingLastWord(args, Item.itemRegistry.getKeys()) : null);
}
Пример из команды give.
 

will0376

Токсичная личность
2,059
55
573
Взял из gamemode:
Java:
public List getTabCompletions(MinecraftServer server, ICommandSender sender, String[] args, @Nullable BlockPos targetPos){
        if (args.length == 1)
        {
            return getListOfStringsMatchingLastWord(args, new String[] {Команды});
        }
        else
        {
            return args.length == 2 ? getListOfStringsMatchingLastWord(args, server.getOnlinePlayerNames()) : Collections.emptyList();
        }
    }
 
Сверху