From 6239acb08a43d6bfef51f6abc8b7cc65687c51c7 Mon Sep 17 00:00:00 2001 From: Tyler Murphy Date: Sat, 25 Dec 2021 08:16:03 -0600 Subject: 1.3.3 beta 2 --- .../tylermurphy/hideAndSeek/util/TabCompleter.java | 41 ++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 src/main/java/net/tylermurphy/hideAndSeek/util/TabCompleter.java (limited to 'src/main/java/net/tylermurphy/hideAndSeek/util/TabCompleter.java') diff --git a/src/main/java/net/tylermurphy/hideAndSeek/util/TabCompleter.java b/src/main/java/net/tylermurphy/hideAndSeek/util/TabCompleter.java new file mode 100644 index 0000000..667f597 --- /dev/null +++ b/src/main/java/net/tylermurphy/hideAndSeek/util/TabCompleter.java @@ -0,0 +1,41 @@ +package net.tylermurphy.hideAndSeek.util; + +import java.util.ArrayList; +import java.util.List; +import java.util.Locale; +import java.util.stream.Collectors; + +import org.bukkit.command.Command; +import org.bukkit.command.CommandSender; + +public class TabCompleter{ + + public static List handleTabComplete(CommandSender sender, Command command, String label, String[] args) { + if(args.length == 1) { + return new ArrayList(CommandHandler.COMMAND_REGISTER.keySet()) + .stream() + .filter(handle -> sender.hasPermission("hideandseek."+handle.toLowerCase()) && handle.toLowerCase().startsWith(args[0].toLowerCase(Locale.ROOT))) + .collect(Collectors.toList()); + } else if(args.length > 1) { + if(!CommandHandler.COMMAND_REGISTER.containsKey(args[0].toLowerCase())) { + return null; + } else { + String[] usage = CommandHandler.COMMAND_REGISTER.get(args[0].toLowerCase()).getUsage().split(" "); + if(args.length - 2 < usage.length) { + String parameter = usage[args.length-2]; + if(parameter.equals("")) { + return null; + } else { + List temp = new ArrayList(); + temp.add(parameter.replace("<", "").replace(">", "")); + return temp; + } + } else { + return null; + } + } + } + return null; + } + +} -- cgit v1.2.3-freya