From d7f9b602c761f608f4a3cb81e4e2882de39cf4f0 Mon Sep 17 00:00:00 2001 From: DNx5 Date: Sat, 21 Nov 2015 19:56:03 +0700 Subject: [PATCH 01/13] update some Utils method --- .../xephi/authme/listener/AuthMePlayerListener.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/main/java/fr/xephi/authme/listener/AuthMePlayerListener.java b/src/main/java/fr/xephi/authme/listener/AuthMePlayerListener.java index aa0e24a6..6d8c68f5 100644 --- a/src/main/java/fr/xephi/authme/listener/AuthMePlayerListener.java +++ b/src/main/java/fr/xephi/authme/listener/AuthMePlayerListener.java @@ -162,8 +162,11 @@ public class AuthMePlayerListener implements Listener { * * @param event PlayerMoveEvent */ - @EventHandler(ignoreCancelled = true, priority = EventPriority.MONITOR) + @EventHandler(priority = EventPriority.MONITOR) public void onPlayerMove(PlayerMoveEvent event) { + if (event.isCancelled()) + return; + int radius = Settings.getMovementRadius; boolean allowMove = Settings.isMovementAllowed; if (Settings.noTeleport) { @@ -187,12 +190,12 @@ public class AuthMePlayerListener implements Listener { Location spawn = plugin.getSpawnLocation(player); if (spawn != null && spawn.getWorld() != null) { - if (!event.getPlayer().getWorld().equals(spawn.getWorld())) { - event.getPlayer().teleport(spawn); + if (!player.getWorld().equals(spawn.getWorld())) { + player.teleport(spawn); return; } if ((spawn.distance(player.getLocation()) > radius)) { - event.getPlayer().teleport(spawn); + player.teleport(spawn); } } } From b4b92e5a93c9afa5609b3c8dff2b6d95928dc197 Mon Sep 17 00:00:00 2001 From: DNx5 Date: Tue, 24 Nov 2015 05:46:28 +0700 Subject: [PATCH 02/13] reordering local variable scope in captcha command --- .../executable/captcha/CaptchaCommand.java | 31 ++++++++----------- .../fr/xephi/authme/process/Management.java | 1 - 2 files changed, 13 insertions(+), 19 deletions(-) diff --git a/src/main/java/fr/xephi/authme/command/executable/captcha/CaptchaCommand.java b/src/main/java/fr/xephi/authme/command/executable/captcha/CaptchaCommand.java index ce8874db..900fd3e7 100644 --- a/src/main/java/fr/xephi/authme/command/executable/captcha/CaptchaCommand.java +++ b/src/main/java/fr/xephi/authme/command/executable/captcha/CaptchaCommand.java @@ -25,18 +25,6 @@ public class CaptchaCommand extends ExecutableCommand { */ @Override public boolean executeCommand(CommandSender sender, CommandParts commandReference, CommandParts commandArguments) { - // AuthMe plugin instance - final AuthMe plugin = AuthMe.getInstance(); - - // Messages instance - final Messages m = Messages.getInstance(); - - // Random string instance, for captcha generation (I think) -- timvisee - RandomString randStr = new RandomString(Settings.captchaLength); - - // Get the parameter values - String captcha = commandArguments.get(0); - // Make sure the current command executor is a player if (!(sender instanceof Player)) { return true; @@ -46,6 +34,12 @@ public class CaptchaCommand extends ExecutableCommand { final Player player = (Player) sender; final String playerNameLowerCase = player.getName().toLowerCase(); + // Get the parameter values + String captcha = commandArguments.get(0); + + // Messages instance + final Messages m = Messages.getInstance(); + // Command logic if (PlayerCache.getInstance().isAuthenticated(playerNameLowerCase)) { m.send(player, "logged_in"); @@ -57,6 +51,9 @@ public class CaptchaCommand extends ExecutableCommand { return true; } + // AuthMe plugin instance + final AuthMe plugin = AuthMe.getInstance(); + if (!plugin.cap.containsKey(playerNameLowerCase)) { m.send(player, "usage_log"); return true; @@ -64,18 +61,16 @@ public class CaptchaCommand extends ExecutableCommand { if (Settings.useCaptcha && !captcha.equals(plugin.cap.get(playerNameLowerCase))) { plugin.cap.remove(playerNameLowerCase); - plugin.cap.put(playerNameLowerCase, randStr.nextString()); + String randStr = new RandomString(Settings.captchaLength).nextString(); + plugin.cap.put(playerNameLowerCase, randStr); for (String s : m.send("wrong_captcha")) { player.sendMessage(s.replace("THE_CAPTCHA", plugin.cap.get(playerNameLowerCase))); } return true; } - try { - plugin.captcha.remove(playerNameLowerCase); - plugin.cap.remove(playerNameLowerCase); - } catch (NullPointerException ignored) { - } + plugin.captcha.remove(playerNameLowerCase); + plugin.cap.remove(playerNameLowerCase); // Show a status message m.send(player, "valid_captcha"); diff --git a/src/main/java/fr/xephi/authme/process/Management.java b/src/main/java/fr/xephi/authme/process/Management.java index 9fa86b69..1ac2425e 100644 --- a/src/main/java/fr/xephi/authme/process/Management.java +++ b/src/main/java/fr/xephi/authme/process/Management.java @@ -19,7 +19,6 @@ import org.bukkit.scheduler.BukkitScheduler; */ public class Management { - public static RandomString rdm = new RandomString(Settings.captchaLength); private final AuthMe plugin; private final BukkitScheduler sched; From 8e9bfc6299c4b53dd9d8307dfb8caca8633251a7 Mon Sep 17 00:00:00 2001 From: DNx5 Date: Tue, 24 Nov 2015 07:15:58 +0700 Subject: [PATCH 03/13] update playerloginevent and some listener. i hope it will fix the lag issues. --- .idea/codeStyleSettings.xml | 1 + .../executable/login/LoginCommand.java | 4 +- .../authme/listener/AuthMePlayerListener.java | 129 ++++++++---------- .../fr/xephi/authme/settings/Settings.java | 22 ++- src/main/java/fr/xephi/authme/util/Utils.java | 18 +-- 5 files changed, 69 insertions(+), 105 deletions(-) diff --git a/.idea/codeStyleSettings.xml b/.idea/codeStyleSettings.xml index d6c338fe..38354352 100644 --- a/.idea/codeStyleSettings.xml +++ b/.idea/codeStyleSettings.xml @@ -12,5 +12,6 @@