@Override public List<String> getTabCompletions(MinecraftServer server, ICommandSender sender, String[] args, @Nullable BlockPos targetPos) { if (args.length == 1) { return getListOfStringsMatchingLastWord(args, subCommands.values().stream().map(ISubCommand::getName).toArray(String[]::new)); } return super.getTabCompletions(server, sender, args, targetPos); } }
@Override public @Nonnull List<String> getTabCompletions(@Nonnull MinecraftServer server, @Nonnull ICommandSender sender, @Nonnull String[] args, @Nullable BlockPos pos) { if (args.length >= 1) { @Nonnull String[] avail = NullHelper.notnullJ(validModIDs.toArray(new String[validModIDs.size()]), "List.toArray()"); for (int i = 0; i < args.length - 1; i++) { avail = ArrayUtils.removeElement(avail, args[i]); } return getListOfStringsMatchingLastWord(args, avail); } return super.getTabCompletions(server, sender, args, pos); }
@Override public List<String> getTabCompletions(MinecraftServer server, ICommandSender sender, String[] args, @Nullable BlockPos pos) { if (args.length == 1) { return getListOfStringsMatchingLastWord(args, commands); } else if(args.length > 1) { for(CommandBase cmd : subcommands) { if (cmd.getName().equalsIgnoreCase(args[0]) && cmd.checkPermission(server, sender)) { String[] remaining = Arrays.copyOfRange(args, 1, args.length); return cmd.getTabCompletions(server, sender, remaining, pos); } } } return super.getTabCompletions(server, sender, args, pos); } }
@Override public @Nonnull List<String> getTabCompletions(@Nonnull MinecraftServer server, @Nonnull ICommandSender sender, @Nonnull String[] args, @Nullable BlockPos pos) { if (args.length == 1) { List<String> boards = new ArrayList<String>(); for (ScoreObjective obj : sender.getEntityWorld().getScoreboard().getScoreObjectives()) { boards.add(obj.getName()); } return getListOfStringsMatchingLastWord(args, boards); } if (args.length == 2) { List<String> players = new ArrayList<String>(); for (EntityPlayer p : sender.getEntityWorld().playerEntities) { players.add(p.getDisplayNameString()); } return getListOfStringsMatchingLastWord(args, players); } return super.getTabCompletions(server, sender, args, pos); }
@Nonnull @Override public List<String> getTabCompletions(MinecraftServer server, ICommandSender par1ICommandSender, String[] par2ArrayOfStr, BlockPos pos) { if(par2ArrayOfStr.length == 1) return getListOfStringsMatchingLastWord(par2ArrayOfStr, searchModes); else if(par2ArrayOfStr.length == 2) { if(par2ArrayOfStr[0].equals(searchModes[0])||par2ArrayOfStr[0].equals(searchModes[1])) return getListOfStringsMatchingLastWord(par2ArrayOfStr, getNames(WeaponRegistry.Wield.values(), true)); else if(par2ArrayOfStr[0].equals(searchModes[2]))//sensitivity return getListOfStringsMatchingLastWord(par2ArrayOfStr, operations); } else if(par2ArrayOfStr.length == 3) { if (par2ArrayOfStr[0].equals(searchModes[0]))//current return getListOfStringsMatchingLastWord(par2ArrayOfStr, server.getOnlinePlayerNames()); else if(par2ArrayOfStr[0].equals(searchModes[1]))//name return getListOfStringsMatchingLastWord(par2ArrayOfStr, GameData.getItemRegistry().getKeys()); else if (par2ArrayOfStr[0].equals(searchModes[2])) {//sensitivity if(par2ArrayOfStr[1].equals(operations[0]))//add return getListOfStringsMatchingLastWord(par2ArrayOfStr, Sets.difference(ImmutableSet.copyOf(getNames(WeaponRegistry.Sensitivity.values(), false)), sensitivities)); else if(par2ArrayOfStr[1].equals(operations[1])) {//remove return getListOfStringsMatchingLastWord(par2ArrayOfStr, sensitivities); } } } else if(par2ArrayOfStr.length == 4) { return getListOfStringsMatchingLastWord(par2ArrayOfStr, "true", "1", "false", "0"); } return super.getTabCompletions(server, par1ICommandSender, par2ArrayOfStr, pos); }