ServerLite/src/main/java/de/npid7/serverlite/TabCompleters/D7Completer.java
tobid7 befce5d7d0
All checks were successful
Build Plugin / build-test (push) Successful in 43s
# Changes:
- Add D7 Command (Admin interface)
- Add remove func to status
- Add Color table to Status custom
- Add wordlist
2024-11-24 12:03:15 +01:00

63 lines
1.9 KiB
Java

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<String> onTabComplete(
CommandSender sender, Command command, String alias, String[] args) {
List<String> 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;
}
}