From 1aa49f17b57768c68ddfe4be0a7ec9f86d0facbc Mon Sep 17 00:00:00 2001 From: md_5 Date: Tue, 22 Jul 2014 21:01:32 +1000 Subject: [PATCH] Fix slow tab complete for some commands. Use online players instead of offline players, which is very slow. diff --git a/src/main/java/org/bukkit/command/defaults/DeopCommand.java b/src/main/java/org/bukkit/command/defaults/DeopCommand.java index 1b71d49..8a571e8 100644 --- a/src/main/java/org/bukkit/command/defaults/DeopCommand.java +++ b/src/main/java/org/bukkit/command/defaults/DeopCommand.java @@ -49,7 +49,7 @@ public class DeopCommand extends VanillaCommand { if (args.length == 1) { List completions = new ArrayList(); - for (OfflinePlayer player : Bukkit.getOfflinePlayers()) { + for (OfflinePlayer player : Bukkit.getOnlinePlayers()) { // Spigot - offline players is slow String playerName = player.getName(); if (player.isOp() && StringUtil.startsWithIgnoreCase(playerName, args[0])) { completions.add(playerName); diff --git a/src/main/java/org/bukkit/command/defaults/WhitelistCommand.java b/src/main/java/org/bukkit/command/defaults/WhitelistCommand.java index b3fa4f8..fd81ee3 100644 --- a/src/main/java/org/bukkit/command/defaults/WhitelistCommand.java +++ b/src/main/java/org/bukkit/command/defaults/WhitelistCommand.java @@ -104,7 +104,7 @@ public class WhitelistCommand extends VanillaCommand { } else if (args.length == 2) { if (args[0].equalsIgnoreCase("add")) { List completions = new ArrayList(); - for (OfflinePlayer player : Bukkit.getOfflinePlayers()) { + for (OfflinePlayer player : Bukkit.getOnlinePlayers()) { // Spigot - offline players is slow String name = player.getName(); if (StringUtil.startsWithIgnoreCase(name, args[1]) && !player.isWhitelisted()) { completions.add(name); -- 1.9.1