The quest to generate information about
+ * @param questsAPIThe API to use for getting quest information
+ * @param questThe quest to generate information about
*/ - public QuestRequirementsInfoGenerator(IQuest quest) { + public QuestRequirementsInfoGenerator(QuestsAPI questsAPI, IQuest quest) { + this.questsAPI = questsAPI; this.quest = quest; formatter = DynmapCitizens.getFormatter(); } @@ -68,14 +72,14 @@ public class QuestRequirementsInfoGenerator { QUESTS_REQUIREMENTS_EXP, "{exp}", String.valueOf(requirements.getExp())) : ""); //Add info about blocking quests - replacer.add("{requirementBlockedByQuests}", !requirements.getBlockQuests().isEmpty() ? - getRequirementList(getQuestNames(requirements.getBlockQuests()), + replacer.add("{requirementBlockedByQuests}", !requirements.getBlockQuestIds().isEmpty() ? + getRequirementList(getQuestNames(requirements.getBlockQuestIds()), QUESTS_REQUIREMENTS_BLOCKED_BY_QUEST_FORMAT, "{blockingQuests}", QUESTS_REQUIREMENTS_BLOCKED_BY_QUEST_ITEM, "{questName}") : ""); //Add info about required quests - replacer.add("{requirementRequiredQuests}", !requirements.getNeededQuests().isEmpty() ? - getRequirementList(getQuestNames(requirements.getNeededQuests()), + replacer.add("{requirementRequiredQuests}", !requirements.getBlockQuestIds().isEmpty() ? + getRequirementList(getQuestNames(requirements.getBlockQuestIds()), QUESTS_REQUIREMENTS_REQUIRED_QUEST_FORMAT, "{requiredQuests}", QUESTS_REQUIREMENTS_REQUIRED_QUEST_ITEM, "{questName}") : ""); @@ -138,17 +142,35 @@ public class QuestRequirementsInfoGenerator { /** * Gets a list of the quest names for the given quests * - * @param questsThe quests to get names for
+ * @param questIdsThe quests to get names for
* @returnA list of quest names
*/ - private ListThe id of the quest to get
+ * @returnThe quest, or null if not found
+ */ + private IQuest getQuest(String questId) { + for (IQuest quest : questsAPI.getLoadedQuests()) { + if (quest.getId().equals(questId)) { + return quest; + } + } + return null; + } + /** * Gets a string for the given list of requirements * diff --git a/src/main/java/net/knarcraft/dynmapcitizens/handler/trait/quests/QuestsHandler.java b/src/main/java/net/knarcraft/dynmapcitizens/handler/trait/quests/QuestsHandler.java index 3b928a0..b68cf7c 100644 --- a/src/main/java/net/knarcraft/dynmapcitizens/handler/trait/quests/QuestsHandler.java +++ b/src/main/java/net/knarcraft/dynmapcitizens/handler/trait/quests/QuestsHandler.java @@ -163,7 +163,7 @@ public class QuestsHandler extends AbstractTraitHandler { stringBuilder.append(new QuestRewardsInfoGenerator(quest).getQuestRewardsInfo()); } if (settings.displayRequirementInfo()) { - stringBuilder.append(new QuestRequirementsInfoGenerator(quest).getQuestRequirementsInfo()); + stringBuilder.append(new QuestRequirementsInfoGenerator(questsAPI, quest).getQuestRequirementsInfo()); } if (settings.displayPlannerInfo()) { stringBuilder.append(new QuestPlannerInfoGenerator(quest).getQuestPlannerInfo());