From 9ee78bdaec91950cb19575f2d87d008c2a5c4434 Mon Sep 17 00:00:00 2001 From: KHobbits Date: Sun, 29 Jan 2012 03:09:59 +0000 Subject: [PATCH] Switch /near priority to check for int first. Test #1269 --- .../essentials/commands/Commandnear.java | 47 +++++++++---------- 1 file changed, 21 insertions(+), 26 deletions(-) diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandnear.java b/Essentials/src/com/earth2me/essentials/commands/Commandnear.java index 0afcf1650..c13c1489d 100644 --- a/Essentials/src/com/earth2me/essentials/commands/Commandnear.java +++ b/Essentials/src/com/earth2me/essentials/commands/Commandnear.java @@ -15,40 +15,40 @@ public class Commandnear extends EssentialsCommand { super("near"); } - + @Override protected void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception { long radius = 200; User otherUser = null; - + if (args.length > 0) { try { - otherUser = getPlayer(server, args, 0); + radius = Long.parseLong(args[0]); } - catch (Exception ex) + catch (NumberFormatException e) { try { - radius = Long.parseLong(args[0]); + otherUser = getPlayer(server, args, 0); + } + catch (Exception ex) + { + } + } + if (args.length > 1 && otherUser != null) + { + try + { + radius = Long.parseLong(args[1]); } catch (NumberFormatException e) { } } } - if (args.length > 1 && otherUser != null) - { - try - { - radius = Long.parseLong(args[1]); - } - catch (NumberFormatException e) - { - } - } if (otherUser == null || user.isAuthorized("essentials.near.others")) { user.sendMessage(_("nearbyPlayers", getLocal(server, otherUser == null ? user : otherUser, radius))); @@ -58,20 +58,15 @@ public class Commandnear extends EssentialsCommand user.sendMessage(_("noAccessCommand")); } } - + @Override protected void run(final Server server, final CommandSender sender, final String commandLabel, final String[] args) throws Exception { - - User otherUser = null; - if (args.length > 0) - { - otherUser = getPlayer(server, args, 0); - } - else + if (args.length == 0) { throw new NotEnoughArgumentsException(); } + final User otherUser = getPlayer(server, args, 0); long radius = 200; if (args.length > 1) { @@ -85,14 +80,14 @@ public class Commandnear extends EssentialsCommand } sender.sendMessage(_("nearbyPlayers", getLocal(server, otherUser, radius))); } - + private String getLocal(final Server server, final User user, final long radius) { final Location loc = user.getLocation(); final World world = loc.getWorld(); final StringBuilder output = new StringBuilder(); final long radiusSquared = radius * radius; - + for (Player onlinePlayer : server.getOnlinePlayers()) { final User player = ess.getUser(onlinePlayer); @@ -103,7 +98,7 @@ public class Commandnear extends EssentialsCommand { continue; } - + final long delta = (long)playerLoc.distanceSquared(loc); if (delta < radiusSquared) {