From 7efa6d1b781f396ace0f55ff951cd3185216eaa3 Mon Sep 17 00:00:00 2001 From: KingRainbow44 Date: Sat, 29 Apr 2023 01:59:45 -0400 Subject: [PATCH] Fix potential NPE this can occur if the player disconnects before logging in --- .../emu/grasscutter/game/quest/QuestManager.java | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/main/java/emu/grasscutter/game/quest/QuestManager.java b/src/main/java/emu/grasscutter/game/quest/QuestManager.java index 53d67c69e..cb31904bb 100644 --- a/src/main/java/emu/grasscutter/game/quest/QuestManager.java +++ b/src/main/java/emu/grasscutter/game/quest/QuestManager.java @@ -137,6 +137,8 @@ public class QuestManager extends BasePlayerManager { } private void checkTimeVars() { + if (this.player.getWorld() == null) return; + val currentDays = player.getWorld().getTotalGameTimeDays(); val currentHours = player.getWorld().getTotalGameTimeHours(); boolean checkDays = currentDays != lastDayCheck; @@ -150,13 +152,13 @@ public class QuestManager extends BasePlayerManager { this.lastHourCheck = currentHours; player.getActiveQuestTimers().forEach(mainQuestId -> { - if(checkHours) { - queueEvent(QuestCond.QUEST_COND_TIME_VAR_GT_EQ, mainQuestId); - queueEvent(QuestContent.QUEST_CONTENT_TIME_VAR_GT_EQ, mainQuestId); + if (checkHours) { + this.queueEvent(QuestCond.QUEST_COND_TIME_VAR_GT_EQ, mainQuestId); + this.queueEvent(QuestContent.QUEST_CONTENT_TIME_VAR_GT_EQ, mainQuestId); } - if(checkDays) { - queueEvent(QuestCond.QUEST_COND_TIME_VAR_PASS_DAY, mainQuestId); - queueEvent(QuestContent.QUEST_CONTENT_TIME_VAR_PASS_DAY, mainQuestId); + if (checkDays) { + this.queueEvent(QuestCond.QUEST_COND_TIME_VAR_PASS_DAY, mainQuestId); + this.queueEvent(QuestContent.QUEST_CONTENT_TIME_VAR_PASS_DAY, mainQuestId); } }); }