package de.npid7.serverlite.TabCompleters; import de.npid7.serverlite.D7ServerLite; import java.util.ArrayList; import java.util.List; import org.bukkit.Bukkit; import org.bukkit.ChatColor; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.command.TabCompleter; import org.bukkit.entity.Player; public class D7Completer implements TabCompleter { @Override public List onTabComplete( CommandSender sender, Command command, String alias, String[] args) { List completions = new ArrayList<>(); if (command.getName().equals("d7")) { if (!sender.hasPermission("d7.d7")) { return completions; } if (args.length == 1) { completions.add("config"); completions.add("status"); completions.add("wordlist"); } else if (args.length == 2) { if (args[0].equals("config")) { completions.add("reload"); completions.add("save"); } else if (args[0].equals("status")) { for (Player pl : Bukkit.getOnlinePlayers()) { completions.add(pl.getName()); } } else if (args[0].equals("wordlist")) { completions.add("add"); completions.add("remove"); } } else if (args.length == 3) { if (args[0].equals("status")) { completions.add("remove"); completions.add("set"); } else if (args[0].equals("wordlist")) { if (args[1].equals("remove")) { for (String s : D7ServerLite.getInst().getPluginConfig().getWordBlacklist().getList()) { completions.add(s); } } } } else if (args.length == 5) { if (args[2].equals("set")) { for (ChatColor c : ChatColor.values()) { if (c.isColor()) { completions.add(c.name()); } } } } } return completions; } }