diff --git a/src/main/java/com/gmail/nossr50/listeners/PlayerListener.java b/src/main/java/com/gmail/nossr50/listeners/PlayerListener.java index 2f810f3db..521910e5b 100644 --- a/src/main/java/com/gmail/nossr50/listeners/PlayerListener.java +++ b/src/main/java/com/gmail/nossr50/listeners/PlayerListener.java @@ -17,6 +17,8 @@ import org.bukkit.event.player.PlayerDropItemEvent; import org.bukkit.event.player.PlayerFishEvent; import org.bukkit.event.player.PlayerInteractEvent; import org.bukkit.event.player.PlayerJoinEvent; +import org.bukkit.event.player.PlayerLoginEvent; +import org.bukkit.event.player.PlayerLoginEvent.Result; import org.bukkit.event.player.PlayerPickupItemEvent; import org.bukkit.event.player.PlayerQuitEvent; import org.bukkit.event.player.PlayerRespawnEvent; @@ -113,6 +115,25 @@ public class PlayerListener implements Listener { } } + /** + * Monitor PlayerLogin events. + * + * @param event The event to watch + */ + @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) + public void onPlayerLoginEvent(PlayerLoginEvent event) { + if (event.getResult() == Result.ALLOWED) { + Player player = event.getPlayer(); + + /* We can't use the other check here because a profile hasn't been created yet.*/ + if (player == null || player.hasMetadata("NPC")) { + return; + } + + Users.addUser(player).getProfile().actualizeRespawnATS(); + } + } + /** * Handle PlayerDropItem events that involve modifying the event. * @@ -209,13 +230,6 @@ public class PlayerListener implements Listener { public void onPlayerJoin(PlayerJoinEvent event) { Player player = event.getPlayer(); - /* We can't use the other check here because a profile hasn't been created yet.*/ - if (player == null || player.hasMetadata("NPC")) { - return; - } - - Users.addUser(player).getProfile().actualizeRespawnATS(); - if (Config.getInstance().getMOTDEnabled() && Permissions.motd(player)) { Motd.displayAll(player); }