mirror of
https://github.com/StarWishsama/Slimefun4.git
synced 2024-09-20 03:35:51 +00:00
Smart tab completion
This commit is contained in:
parent
ed6ba8ca67
commit
9a288debd6
@ -15,11 +15,11 @@ public class SlimefunTabCompleter implements TabCompleter {
|
||||
@Override
|
||||
public List<String> onTabComplete(CommandSender sender, Command cmd, String label, String[] args) {
|
||||
if (args.length == 1) {
|
||||
return SlimefunCommand.tabs;
|
||||
return createReturnList(SlimefunCommand.tabs, args[0]);
|
||||
}
|
||||
else if (args.length == 3) {
|
||||
if (args[0].equalsIgnoreCase("give")) {
|
||||
return Slimefun.listIDs();
|
||||
return createReturnList(Slimefun.listIDs(), args[2]);
|
||||
}
|
||||
else if (args[0].equalsIgnoreCase("research")) {
|
||||
List<String> researches = new ArrayList<String>();
|
||||
@ -27,7 +27,7 @@ public class SlimefunTabCompleter implements TabCompleter {
|
||||
researches.add(res.getName().toUpperCase().replace(" ", "_"));
|
||||
}
|
||||
researches.add("all");
|
||||
return researches;
|
||||
return createReturnList(researches, args[2]);
|
||||
}
|
||||
else {
|
||||
return null;
|
||||
@ -38,4 +38,22 @@ public class SlimefunTabCompleter implements TabCompleter {
|
||||
}
|
||||
}
|
||||
|
||||
/***
|
||||
* Returns a sublist from a given list containing items that start with the given string if string is not empty
|
||||
* @param list The list to process
|
||||
* @param string The typed string
|
||||
* @return Sublist if string is not empty
|
||||
*/
|
||||
|
||||
private List<String> createReturnList(List<String> list, String string) {
|
||||
if (string.equals("")) return list;
|
||||
|
||||
List<String> returnList = new ArrayList<>();
|
||||
for (String item : list) {
|
||||
if (item.toLowerCase().startsWith(string.toLowerCase())) {
|
||||
returnList.add(item);
|
||||
}
|
||||
}
|
||||
return returnList;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user