From 2f2af829b020fa618d7bea66e86102b61fcdc65e Mon Sep 17 00:00:00 2001 From: Gabriele C Date: Sun, 7 Feb 2016 15:35:02 +0100 Subject: [PATCH] Fix event listener priorities --- .../authme/listener/AuthMePlayerListener.java | 39 ++++++++++++------- .../listener/AuthMePlayerListener16.java | 2 +- .../settings/properties/SecuritySettings.java | 1 - .../authme/command/CommandServiceTest.java | 1 - 4 files changed, 25 insertions(+), 18 deletions(-) diff --git a/src/main/java/fr/xephi/authme/listener/AuthMePlayerListener.java b/src/main/java/fr/xephi/authme/listener/AuthMePlayerListener.java index bae29ab7..1a55556e 100644 --- a/src/main/java/fr/xephi/authme/listener/AuthMePlayerListener.java +++ b/src/main/java/fr/xephi/authme/listener/AuthMePlayerListener.java @@ -188,7 +188,25 @@ public class AuthMePlayerListener implements Listener { } } - @EventHandler(priority = EventPriority.LOWEST) + @EventHandler(priority = EventPriority.HIGHEST) + public void onJoinMessage(PlayerJoinEvent event) { + final Player player = event.getPlayer(); + if (player == null || !Settings.delayJoinLeaveMessages) { + return; + } + + String name = player.getName().toLowerCase(); + String joinMsg = event.getJoinMessage(); + + // Remove the join message while the player isn't logging in + if (joinMsg == null) { + return; + } + event.setJoinMessage(null); + joinMessage.put(name, joinMsg); + } + + @EventHandler(priority = EventPriority.LOW) public void onPlayerJoin(PlayerJoinEvent event) { final Player player = event.getPlayer(); if (player == null) { @@ -200,15 +218,6 @@ public class AuthMePlayerListener implements Listener { player.setGameMode(GameMode.SURVIVAL); } - String name = player.getName().toLowerCase(); - String joinMsg = event.getJoinMessage(); - - // Remove the join message while the player isn't logging in - if (Settings.delayJoinLeaveMessages && joinMsg != null) { - event.setJoinMessage(null); - joinMessage.put(name, joinMsg); - } - // Shedule login task so works after the prelogin // (Fix found by Koolaid5000) Bukkit.getScheduler().runTask(plugin, new Runnable() { @@ -378,7 +387,7 @@ public class AuthMePlayerListener implements Listener { * <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< */ - @EventHandler(ignoreCancelled = true, priority = EventPriority.HIGHEST) + @EventHandler(ignoreCancelled = true, priority = EventPriority.LOWEST) public void onPlayerPickupItem(PlayerPickupItemEvent event) { if (shouldCancelEvent(event)) { event.setCancelled(true); @@ -392,14 +401,14 @@ public class AuthMePlayerListener implements Listener { } } - @EventHandler(ignoreCancelled = true, priority = EventPriority.NORMAL) + @EventHandler(ignoreCancelled = true, priority = EventPriority.LOWEST) public void onPlayerConsumeItem(PlayerItemConsumeEvent event) { if (shouldCancelEvent(event)) { event.setCancelled(true); } } - @EventHandler(ignoreCancelled = true, priority = EventPriority.HIGHEST) + @EventHandler(ignoreCancelled = true, priority = EventPriority.LOWEST) public void onPlayerInventoryOpen(InventoryOpenEvent event) { final Player player = (Player) event.getPlayer(); @@ -491,14 +500,14 @@ public class AuthMePlayerListener implements Listener { } } - @EventHandler(ignoreCancelled = true, priority = EventPriority.NORMAL) + @EventHandler(ignoreCancelled = true, priority = EventPriority.LOWEST) public void onPlayerShear(PlayerShearEntityEvent event) { if (shouldCancelEvent(event)) { event.setCancelled(true); } } - @EventHandler(ignoreCancelled = true, priority = EventPriority.NORMAL) + @EventHandler(ignoreCancelled = true, priority = EventPriority.LOWEST) public void onPlayerFish(PlayerFishEvent event) { if (shouldCancelEvent(event)) { event.setCancelled(true); diff --git a/src/main/java/fr/xephi/authme/listener/AuthMePlayerListener16.java b/src/main/java/fr/xephi/authme/listener/AuthMePlayerListener16.java index cdb4e82a..ee0e581c 100644 --- a/src/main/java/fr/xephi/authme/listener/AuthMePlayerListener16.java +++ b/src/main/java/fr/xephi/authme/listener/AuthMePlayerListener16.java @@ -10,7 +10,7 @@ import org.bukkit.event.player.PlayerEditBookEvent; */ public class AuthMePlayerListener16 implements Listener { - @EventHandler(ignoreCancelled = true, priority = EventPriority.NORMAL) + @EventHandler(ignoreCancelled = true, priority = EventPriority.LOWEST) public void onPlayerEditBook(PlayerEditBookEvent event) { if (ListenerService.shouldCancelEvent(event)) { event.setCancelled(true); diff --git a/src/main/java/fr/xephi/authme/settings/properties/SecuritySettings.java b/src/main/java/fr/xephi/authme/settings/properties/SecuritySettings.java index 0cd8a734..6a2ace71 100644 --- a/src/main/java/fr/xephi/authme/settings/properties/SecuritySettings.java +++ b/src/main/java/fr/xephi/authme/settings/properties/SecuritySettings.java @@ -9,7 +9,6 @@ import java.util.List; import static fr.xephi.authme.settings.domain.Property.newProperty; import static fr.xephi.authme.settings.domain.PropertyType.STRING_LIST; -import static fr.xephi.authme.settings.domain.Property.newProperty; public class SecuritySettings implements SettingsClass { diff --git a/src/test/java/fr/xephi/authme/command/CommandServiceTest.java b/src/test/java/fr/xephi/authme/command/CommandServiceTest.java index 4ebd4c8a..929fd26a 100644 --- a/src/test/java/fr/xephi/authme/command/CommandServiceTest.java +++ b/src/test/java/fr/xephi/authme/command/CommandServiceTest.java @@ -14,7 +14,6 @@ import fr.xephi.authme.settings.domain.Property; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import org.junit.Before; -import org.junit.Ignore; import org.junit.Test; import org.mockito.ArgumentCaptor;