From 1fc6cdd40bdb945021b1c7e27a696cb298c880f3 Mon Sep 17 00:00:00 2001 From: Xephi Date: Sun, 14 Sep 2014 23:18:05 +0200 Subject: [PATCH] Fix some exception/errors --- .../authme/datasource/FlatFileThread.java | 4 +-- .../authme/listener/AuthMePlayerListener.java | 25 ++++++++++++++----- 2 files changed, 21 insertions(+), 8 deletions(-) diff --git a/src/main/java/fr/xephi/authme/datasource/FlatFileThread.java b/src/main/java/fr/xephi/authme/datasource/FlatFileThread.java index 950e32a5d..34d666aed 100644 --- a/src/main/java/fr/xephi/authme/datasource/FlatFileThread.java +++ b/src/main/java/fr/xephi/authme/datasource/FlatFileThread.java @@ -171,7 +171,7 @@ public class FlatFileThread extends Thread implements DataSource { String line = ""; while ((line = br.readLine()) != null) { String[] args = line.split(":"); - if (args[0].equals(auth.getNickname())) { + if (args[0].equalsIgnoreCase(auth.getNickname())) { switch (args.length) { case 4: { newAuth = new PlayerAuth(args[0], args[1], auth.getIp(), auth.getLastLogin(), 0, 0, 0, "world", "your@email.com"); @@ -228,7 +228,7 @@ public class FlatFileThread extends Thread implements DataSource { String line = ""; while ((line = br.readLine()) != null) { String[] args = line.split(":"); - if (args[0].equals(auth.getNickname())) { + if (args[0].equalsIgnoreCase(auth.getNickname())) { newAuth = new PlayerAuth(args[0], args[1], args[2], Long.parseLong(args[3]), auth.getQuitLocX(), auth.getQuitLocY(), auth.getQuitLocZ(), auth.getWorld(), auth.getEmail()); break; } diff --git a/src/main/java/fr/xephi/authme/listener/AuthMePlayerListener.java b/src/main/java/fr/xephi/authme/listener/AuthMePlayerListener.java index 8db906136..5988a5de7 100644 --- a/src/main/java/fr/xephi/authme/listener/AuthMePlayerListener.java +++ b/src/main/java/fr/xephi/authme/listener/AuthMePlayerListener.java @@ -264,7 +264,7 @@ public class AuthMePlayerListener implements Listener { } @EventHandler(priority = EventPriority.LOWEST) - public void onPlayerEarlyChat(AsyncPlayerChatEvent event) { + public void onPlayerEarlyChat(final AsyncPlayerChatEvent event) { if (event.isCancelled() || event.getPlayer() == null) return; @@ -275,11 +275,24 @@ public class AuthMePlayerListener implements Listener { return; if (PlayerCache.getInstance().isAuthenticated(name)) { - if (!Settings.isChatAllowed) - for (Player p : event.getRecipients()) { - if (!PlayerCache.getInstance().isAuthenticated(p.getName())) - event.getRecipients().remove(p); - } + if (!event.isAsynchronous()) { + if (!Settings.isChatAllowed) + for (Player p : event.getRecipients()) { + if (!PlayerCache.getInstance().isAuthenticated(p.getName())) + event.getRecipients().remove(p); + } + } else { + plugin.getServer().getScheduler().scheduleSyncDelayedTask(plugin, new Runnable(){ + @Override + public void run() { + if (!Settings.isChatAllowed) + for (Player p : event.getRecipients()) { + if (!PlayerCache.getInstance().isAuthenticated(p.getName())) + event.getRecipients().remove(p); + } + } + }); + } return; }