From eabcffe878c22a5d1f7d22623d791b24d68b014b Mon Sep 17 00:00:00 2001 From: EpicKnarvik97 Date: Tue, 1 Nov 2022 14:44:32 +0100 Subject: [PATCH] Adds information about requirements to quest markers --- .../trait/quests/QuestsHandler.java | 69 ++++++++++++++++++- 1 file changed, 67 insertions(+), 2 deletions(-) diff --git a/src/main/java/net/knarcraft/dynmapcitizens/trait/quests/QuestsHandler.java b/src/main/java/net/knarcraft/dynmapcitizens/trait/quests/QuestsHandler.java index 89973f4..5a70e75 100644 --- a/src/main/java/net/knarcraft/dynmapcitizens/trait/quests/QuestsHandler.java +++ b/src/main/java/net/knarcraft/dynmapcitizens/trait/quests/QuestsHandler.java @@ -3,6 +3,7 @@ package net.knarcraft.dynmapcitizens.trait.quests; import me.blackvein.quests.QuestsAPI; import me.blackvein.quests.quests.IQuest; import me.blackvein.quests.quests.IStage; +import me.blackvein.quests.quests.Requirements; import me.blackvein.quests.quests.Rewards; import net.citizensnpcs.api.CitizensAPI; import net.citizensnpcs.api.npc.NPC; @@ -124,11 +125,10 @@ public class QuestsHandler extends AbstractTraitHandler { for (IQuest quest : questStarts) { markerDescription.append("
  • ").append(quest.getName()).append("

    - "); markerDescription.append(quest.getDescription()).append("
    ").append(getQuestStagesInfo(quest)); - markerDescription.append(getQuestRewardsInfo(quest)).append("
  • "); + markerDescription.append(getQuestRewardsInfo(quest)).append(getQuestRequirementsInfo(quest)).append(""); } markerDescription.append(""); } - //TODO: Get information about requirements //TODO: Get information about the planner (repeatable and/or limited) if (!questKills.isEmpty()) { @@ -150,6 +150,71 @@ public class QuestsHandler extends AbstractTraitHandler { } } + /** + * Gets information about all requirements for the given quest + * + * @param quest

    The quest to get requirements for

    + * @return

    Information about the quest's requirements

    + */ + private String getQuestRequirementsInfo(IQuest quest) { + Requirements requirements = quest.getRequirements(); + StringBuilder requirementInfo = new StringBuilder(); + if (!requirements.hasRequirement()) { + return requirementInfo.toString(); + } + + requirementInfo.append("
    Requirements: "); + return requirementInfo.toString(); + } + /** * Gets information about all rewards for the given quest *