Skip to content

Commit afc3e36

Browse files
authored
Optimise player name tab completion (#13)
2 parents 3a3823e + 749ad91 commit afc3e36

File tree

1 file changed

+5
-7
lines changed

1 file changed

+5
-7
lines changed

src/main/java/pro/cloudnode/smp/cloudnodemsg/command/MessageCommand.java

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import org.bukkit.command.CommandSender;
44
import org.bukkit.entity.Player;
55
import org.jetbrains.annotations.NotNull;
6+
import org.jetbrains.annotations.Nullable;
67
import pro.cloudnode.smp.cloudnodemsg.CloudnodeMSG;
78
import pro.cloudnode.smp.cloudnodemsg.Permission;
89
import pro.cloudnode.smp.cloudnodemsg.error.InvalidPlayerError;
@@ -42,13 +43,10 @@ public boolean onCommand(final @NotNull CommandSender sender, final @NotNull org
4243
}
4344

4445
@Override
45-
public @NotNull List<@NotNull String> onTabComplete(final @NotNull CommandSender sender, final @NotNull org.bukkit.command.Command command, final @NotNull String label, final @NotNull String @NotNull [] args) {
46+
public @Nullable List<@NotNull String> onTabComplete(final @NotNull CommandSender sender, final @NotNull org.bukkit.command.Command command, final @NotNull String label, final @NotNull String @NotNull [] args) {
4647
if (!sender.hasPermission(Permission.USE)) return new ArrayList<>();
47-
final @NotNull List<@NotNull String> completions = new ArrayList<>();
48-
if (args.length == 1) completions.addAll(CloudnodeMSG.getInstance().getServer().getOnlinePlayers().stream()
49-
.map(Player::getName)
50-
.filter(n -> n.toLowerCase().startsWith(args[0].toLowerCase()))
51-
.toList());
52-
return completions;
48+
// `null` works for list of players
49+
if (args.length == 1) return null;
50+
return new ArrayList<>();
5351
}
5452
}

0 commit comments

Comments
 (0)