Compass and Journal refresh shortly after login, fixes #1347

This commit is contained in:
PikaMug 2020-07-18 03:28:52 -04:00
parent e53832cd40
commit 527cedd60c
2 changed files with 14 additions and 7 deletions

View File

@ -3799,7 +3799,7 @@ public class Quester {
* Will set to Quester's spawn location if bed spawn does not exist
*/
public void resetCompass() {
Player player = getPlayer();
final Player player = getPlayer();
if (player == null) {
return;
}

View File

@ -783,11 +783,8 @@ public class PlayerListener implements Listener {
LinkedList<Quester> temp = plugin.getQuesters();
temp.add(quester);
plugin.setQuesters(temp);
if (evt.getPlayer().hasPermission("quests.compass")) {
quester.resetCompass();
}
for (String s : quester.getCompletedQuests()) {
Quest q = plugin.getQuest(s);
final Quest q = plugin.getQuest(s);
if (q != null) {
if (quester.getCompletedTimes().containsKey(q.getName()) == false
&& q.getPlanner().getCooldown() > -1) {
@ -804,8 +801,18 @@ public class PlayerListener implements Listener {
quester.startStageTimer(quest);
}
}
if (quester.hasJournal)
quester.updateJournal();
plugin.getServer().getScheduler().scheduleSyncDelayedTask(plugin, new Runnable() {
@Override
public void run() {
if (quester.hasJournal) {
quester.updateJournal();
}
if (evt.getPlayer().hasPermission("quests.compass")) {
quester.resetCompass();
}
}
}, 40L);
}
}