From b8c3e9bef239dfddc6ca25c6edd93353761ccab5 Mon Sep 17 00:00:00 2001 From: Kam Date: Wed, 17 May 2023 12:21:38 -0400 Subject: [PATCH] QuestData Null check for QuestKill --- .../java/noppes/npcs/quests/QuestKill.java | 23 +++++++++++-------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/main/java/noppes/npcs/quests/QuestKill.java b/src/main/java/noppes/npcs/quests/QuestKill.java index ed47df5d8..69e03cedf 100644 --- a/src/main/java/noppes/npcs/quests/QuestKill.java +++ b/src/main/java/noppes/npcs/quests/QuestKill.java @@ -146,8 +146,11 @@ public class QuestKill extends QuestInterface implements IQuestKill { PlayerData data = PlayerDataController.instance.getPlayerData(player); PlayerQuestData playerdata = data.questData; QuestData questdata = (QuestData)playerdata.activeQuests.get(this.parent.questId); - HashMap killed = this.parent.getKilled(questdata); - return !killed.containsKey(this.entity) ? 0 : (Integer)killed.get(this.entity); + if(questdata != null){ + HashMap killed = this.parent.getKilled(questdata); + return !killed.containsKey(this.entity) ? 0 : (Integer)killed.get(this.entity); + } + return 0; } public void setProgress(int progress) { @@ -155,13 +158,15 @@ public class QuestKill extends QuestInterface implements IQuestKill { PlayerData data = PlayerDataController.instance.getPlayerData(player); PlayerQuestData playerdata = data.questData; QuestData questdata = (QuestData)playerdata.activeQuests.get(this.parent.questId); - HashMap killed = this.parent.getKilled(questdata); - if (!killed.containsKey(this.entity) || (Integer)killed.get(this.entity) != progress) { - killed.put(this.entity, progress); - this.parent.setKilled(questdata, killed); - data.questData.checkQuestCompletion(data, EnumQuestType.values()[2]); - data.questData.checkQuestCompletion(data, EnumQuestType.values()[4]); - data.save(); + if(questdata != null){ + HashMap killed = this.parent.getKilled(questdata); + if (!killed.containsKey(this.entity) || (Integer)killed.get(this.entity) != progress) { + killed.put(this.entity, progress); + this.parent.setKilled(questdata, killed); + data.questData.checkQuestCompletion(data, EnumQuestType.values()[2]); + data.questData.checkQuestCompletion(data, EnumQuestType.values()[4]); + data.save(); + } } } else { throw new CustomNPCsException("Progress has to be between 0 and " + this.amount, new Object[0]);