From 035182fcda8acf77d3727ce21993e9bb57c90077 Mon Sep 17 00:00:00 2001 From: md_5 Date: Sat, 12 Jul 2014 16:03:36 +1000 Subject: Optimize player / user iteration. * Add a method for backwards compatability with unmapped code. * Convert all getOnlinePlayers() calls to use this method, part of the IEssentials interface * Add a new method getOnlineUsers() Ljava/lang/Iterable; * Convert appropriate calls to use this method * Update Bukkit to #1945 * Update CraftBukkit to #3103 --- .../essentials/commands/EssentialsLoopCommand.java | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) (limited to 'Essentials/src/com/earth2me/essentials/commands/EssentialsLoopCommand.java') diff --git a/Essentials/src/com/earth2me/essentials/commands/EssentialsLoopCommand.java b/Essentials/src/com/earth2me/essentials/commands/EssentialsLoopCommand.java index 7dfa594fc..ccb297f14 100644 --- a/Essentials/src/com/earth2me/essentials/commands/EssentialsLoopCommand.java +++ b/Essentials/src/com/earth2me/essentials/commands/EssentialsLoopCommand.java @@ -38,10 +38,9 @@ public abstract class EssentialsLoopCommand extends EssentialsCommand else if (matchWildcards && searchTerm.contentEquals("*")) { boolean skipHidden = sender.isPlayer() && !ess.getUser(sender.getPlayer()).canInteractVanished(); - for (Player onlinePlayer : server.getOnlinePlayers()) + for (User onlineUser : ess.getOnlineUsers()) { - final User onlineUser = ess.getUser(onlinePlayer); - if (skipHidden && onlineUser.isHidden(sender.getPlayer()) && !sender.getPlayer().canSee(onlinePlayer)) + if (skipHidden && onlineUser.isHidden(sender.getPlayer()) && !sender.getPlayer().canSee(onlineUser.getBase())) { continue; } @@ -85,10 +84,9 @@ public abstract class EssentialsLoopCommand extends EssentialsCommand if (matchWildcards && (searchTerm.contentEquals("**") || searchTerm.contentEquals("*"))) { - for (Player onlinePlayer : server.getOnlinePlayers()) + for (User onlineUser : ess.getOnlineUsers()) { - final User onlineUser = ess.getUser(onlinePlayer); - if (skipHidden && onlineUser.isHidden(sender.getPlayer()) && !sender.getPlayer().canSee(onlinePlayer)) + if (skipHidden && onlineUser.isHidden(sender.getPlayer()) && !sender.getPlayer().canSee(onlineUser.getBase())) { continue; } @@ -107,10 +105,9 @@ public abstract class EssentialsLoopCommand extends EssentialsCommand if (matchedPlayers.isEmpty()) { final String matchText = searchTerm.toLowerCase(Locale.ENGLISH); - for (Player onlinePlayer : server.getOnlinePlayers()) + for (User player : ess.getOnlineUsers()) { - final User player = ess.getUser(onlinePlayer); - if (skipHidden && player.isHidden(sender.getPlayer()) && !sender.getPlayer().canSee(onlinePlayer)) + if (skipHidden && player.isHidden(sender.getPlayer()) && !sender.getPlayer().canSee(player.getBase())) { continue; } -- cgit v1.2.3