45 lines
1.1 KiB
Java
45 lines
1.1 KiB
Java
package wtf.beatrice.nounspicker.objects;
|
|
|
|
import org.bukkit.command.Command;
|
|
import org.bukkit.command.CommandSender;
|
|
import org.bukkit.util.StringUtil;
|
|
import wtf.beatrice.nounspicker.utils.Cache;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.List;
|
|
|
|
public class TabCompletion implements org.bukkit.command.TabCompleter
|
|
{
|
|
|
|
private final List<String> mainSubCommands = new ArrayList<>(){{
|
|
add("set");
|
|
add("list");
|
|
add("create");
|
|
add("delete");
|
|
add("update");
|
|
}};
|
|
|
|
@Override
|
|
public List<String> onTabComplete(CommandSender sender, Command command, String label, String[] args) {
|
|
List<String> completions = new ArrayList<>();
|
|
|
|
if(args.length == 0) return null;
|
|
|
|
String mainArg = args[0].toLowerCase();
|
|
if(args.length == 1)
|
|
{
|
|
StringUtil.copyPartialMatches(mainArg, mainSubCommands, completions);
|
|
} else if(args.length <= 3)
|
|
{
|
|
if(args[0].equalsIgnoreCase("set")) {
|
|
StringUtil.copyPartialMatches(args[args.length - 1].toLowerCase(), Cache.pronouns, completions);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
return completions;
|
|
}
|
|
|
|
}
|