From f8d9862a8b1e0edcb9da91315463d9a6a87e59b7 Mon Sep 17 00:00:00 2001 From: montlikadani Date: Tue, 3 Mar 2020 19:47:53 +0100 Subject: [PATCH] Fix NPE when getting quest --- src/main/java/com/gamingmesh/jobs/container/Job.java | 5 +++++ src/main/java/com/gamingmesh/jobs/container/Quest.java | 4 ++-- .../com/gamingmesh/jobs/container/QuestProgression.java | 6 +++++- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/gamingmesh/jobs/container/Job.java b/src/main/java/com/gamingmesh/jobs/container/Job.java index 33e74288..dcfa159f 100644 --- a/src/main/java/com/gamingmesh/jobs/container/Job.java +++ b/src/main/java/com/gamingmesh/jobs/container/Job.java @@ -446,10 +446,15 @@ public class Job { } public Quest getQuest(String name) { + if (name == null || name.trim().isEmpty()) { + return null; + } + for (Quest one : quests) { if (one.getConfigName().equalsIgnoreCase(name)) return one; } + return null; } diff --git a/src/main/java/com/gamingmesh/jobs/container/Quest.java b/src/main/java/com/gamingmesh/jobs/container/Quest.java index 7970007a..ada999b6 100644 --- a/src/main/java/com/gamingmesh/jobs/container/Quest.java +++ b/src/main/java/com/gamingmesh/jobs/container/Quest.java @@ -12,8 +12,8 @@ import com.gamingmesh.jobs.Jobs; public class Quest { - private String configName; - private String questName; + private String configName = ""; + private String questName = ""; private Job job; private Long validUntil = 0L; diff --git a/src/main/java/com/gamingmesh/jobs/container/QuestProgression.java b/src/main/java/com/gamingmesh/jobs/container/QuestProgression.java index 5039b694..e6dca148 100644 --- a/src/main/java/com/gamingmesh/jobs/container/QuestProgression.java +++ b/src/main/java/com/gamingmesh/jobs/container/QuestProgression.java @@ -11,17 +11,21 @@ import com.gamingmesh.jobs.Jobs; public class QuestProgression { private Quest quest; + private long validUntil; private boolean givenReward = false; + private HashMap done = new HashMap<>(); public QuestProgression(Quest quest) { this.quest = quest; + validUntil = quest.getValidUntil(); } public Quest getQuest() { - return quest == null ? null : quest.getJob().getQuest(quest.getConfigName()); + Quest q = quest == null ? null : (quest.getJob() == null ? null : quest.getJob().getQuest(quest.getConfigName())); + return q; } public void setQuest(Quest quest) {