diff --git a/core/src/main/java/me/blackvein/quests/listeners/PlayerListener.java b/core/src/main/java/me/blackvein/quests/listeners/PlayerListener.java index b202817e2..1deee98cd 100644 --- a/core/src/main/java/me/blackvein/quests/listeners/PlayerListener.java +++ b/core/src/main/java/me/blackvein/quests/listeners/PlayerListener.java @@ -57,7 +57,6 @@ import org.bukkit.event.player.PlayerFishEvent.State; import org.bukkit.event.player.PlayerInteractEntityEvent; import org.bukkit.event.player.PlayerInteractEvent; import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.event.player.PlayerLoginEvent; import org.bukkit.event.player.PlayerMoveEvent; import org.bukkit.event.player.PlayerQuitEvent; import org.bukkit.event.player.PlayerRespawnEvent; @@ -853,51 +852,6 @@ public class PlayerListener implements Listener { } } - @EventHandler - public void onPlayerLogin(final PlayerLoginEvent evt) { - final Player player = evt.getPlayer(); - // Cannot check Quests#canUseQuests until PlayerJoinEvent - final IQuester noobCheck = new Quester(plugin, player.getUniqueId()); - if (plugin.getSettings().canGenFilesOnJoin() && !noobCheck.hasData()) { - noobCheck.saveData(); - } - - plugin.getServer().getScheduler().runTaskAsynchronously(plugin, () -> { - final CompletableFuture cf = plugin.getStorage().loadQuester(player.getUniqueId()); - try { - final IQuester quester = cf.get(); - if (quester == null) { - return; - } - for (final IQuest q : quester.getCompletedQuestsTemp()) { - if (q != null) { - if (!quester.getCompletedTimes().containsKey(q) && q.getPlanner().getCooldown() > -1) { - quester.getCompletedTimes().put(q, System.currentTimeMillis()); - } - } - } - for (final IQuest quest : quester.getCurrentQuestsTemp().keySet()) { - quester.checkQuest(quest); - } - for (final IQuest quest : quester.getCurrentQuestsTemp().keySet()) { - if (quester.getCurrentStage(quest).getDelay() > -1) { - quester.startStageTimer(quest); - } - } - plugin.getServer().getScheduler().scheduleSyncDelayedTask(plugin, () -> { - if (quester.hasJournal()) { - quester.updateJournal(); - } - if (quester.canUseCompass()) { - quester.findCompassTarget(); - } - }, 40L); - } catch (final Exception e) { - e.printStackTrace(); - } - }); - } - @EventHandler public void onPlayerJoin(final PlayerJoinEvent evt) { final Player player = evt.getPlayer(); @@ -911,6 +865,47 @@ public class PlayerListener implements Listener { } }); } + if (plugin.canUseQuests(player.getUniqueId())) { + final IQuester noobCheck = new Quester(plugin, player.getUniqueId()); + if (plugin.getSettings().canGenFilesOnJoin() && !noobCheck.hasData()) { + noobCheck.saveData(); + } + + plugin.getServer().getScheduler().runTaskLaterAsynchronously(plugin, () -> { + final CompletableFuture cf = plugin.getStorage().loadQuester(player.getUniqueId()); + try { + final IQuester quester = cf.get(); + if (quester == null) { + return; + } + for (final IQuest q : quester.getCompletedQuestsTemp()) { + if (q != null) { + if (!quester.getCompletedTimes().containsKey(q) && q.getPlanner().getCooldown() > -1) { + quester.getCompletedTimes().put(q, System.currentTimeMillis()); + } + } + } + for (final IQuest quest : quester.getCurrentQuestsTemp().keySet()) { + quester.checkQuest(quest); + } + for (final IQuest quest : quester.getCurrentQuestsTemp().keySet()) { + if (quester.getCurrentStage(quest).getDelay() > -1) { + quester.startStageTimer(quest); + } + } + plugin.getServer().getScheduler().scheduleSyncDelayedTask(plugin, () -> { + if (quester.hasJournal()) { + quester.updateJournal(); + } + if (quester.canUseCompass()) { + quester.findCompassTarget(); + } + }, 40L); + } catch (final Exception e) { + e.printStackTrace(); + } + }, 20L); + } } @EventHandler diff --git a/pom.xml b/pom.xml index f317073a8..ecf0c8a53 100644 --- a/pom.xml +++ b/pom.xml @@ -27,7 +27,7 @@ v1_8_R3 core dist - bungee +