From b3866359ff12c6846734444dffdecc77d562f4f0 Mon Sep 17 00:00:00 2001 From: Toxi Woxi <75816946+ToxiWoxi@users.noreply.github.com> Date: Wed, 22 Nov 2023 01:19:36 -0500 Subject: [PATCH] Fix player autocompletes not filtering --- .../world/command/CommandRegistry.java | 35 ++++++++----------- 1 file changed, 15 insertions(+), 20 deletions(-) diff --git a/src/main/java/de/butzlabben/world/command/CommandRegistry.java b/src/main/java/de/butzlabben/world/command/CommandRegistry.java index 7049bc4..7483c55 100644 --- a/src/main/java/de/butzlabben/world/command/CommandRegistry.java +++ b/src/main/java/de/butzlabben/world/command/CommandRegistry.java @@ -114,31 +114,26 @@ public class CommandRegistry implements TabExecutor { List subCommands = new ArrayList<>(Arrays.asList("get", "home", "sethome", "gui", "tp", "addmember", "delmember", "leave", "tnt", "fire", "togglegm", "togglebuild", "toggletp", "togglewe", "info", "reset")); if (sender.hasPermission("ws.delete")) subCommands.add("delete"); List playerCompletions = Arrays.asList("addmember", "delmember", "tp","togglegm", "togglebuild", "toggletp", "togglewe", "delete"); - List completions = null; + List completions = new ArrayList<>(); + List playerNames = new ArrayList<>(); + for (Player p : Bukkit.getOnlinePlayers()) { + playerNames.add(p.getName()); + } - for(String s : subCommands) { - if (args.length == 1) { - if (s.startsWith(args[0].toLowerCase())) { - if (completions == null) { - completions = new ArrayList(); - } - - completions.add(s); - } - } - if (args.length == 2) { - completions = new ArrayList(); - if (playerCompletions.contains(args[0].toLowerCase())) { - for (Player p : Bukkit.getOnlinePlayers()) { - completions.add(p.getName()); - } - } + if (args.length == 1) { + for(String s : subCommands) { + if (s.startsWith(args[0].toLowerCase())) completions.add(s); } } - if (completions != null) { - Collections.sort(completions); + + if (args.length == 2 && playerCompletions.contains(args[0].toLowerCase())) { + for(String s : playerNames) { + if (s.toLowerCase().startsWith(args[1].toLowerCase())) completions.add(s); + } } + Collections.sort(completions); + return completions; } }