From 183db017c0e465c5c14804dff8159325561799e9 Mon Sep 17 00:00:00 2001 From: EpicKnarvik97 Date: Tue, 1 Nov 2022 12:52:13 +0100 Subject: [PATCH] Adds reward info to quest markers, and improves marker description --- .../trait/quests/QuestsHandler.java | 57 +++++++++++++++++-- 1 file changed, 53 insertions(+), 4 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 fd232d7..89973f4 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.Rewards; import net.citizensnpcs.api.CitizensAPI; import net.citizensnpcs.api.npc.NPC; import net.citizensnpcs.api.npc.NPCRegistry; @@ -116,17 +117,19 @@ public class QuestsHandler extends AbstractTraitHandler { List questDeliveries = info.getQuestDeliveries(); StringBuilder markerDescription = new StringBuilder(); - markerDescription.append("Quest NPC Name: ").append(registry.getByUniqueId(npcId).getName()); + markerDescription.append("

").append(registry.getByUniqueId(npcId).getName()).append("

"); if (!questStarts.isEmpty()) { markerDescription.append("

Quests offered:

"); } + //TODO: Get information about requirements + //TODO: Get information about the planner (repeatable and/or limited) if (!questKills.isEmpty()) { markerDescription.append("

Kill target for quests:

"); @@ -147,6 +150,42 @@ public class QuestsHandler extends AbstractTraitHandler { } } + /** + * Gets information about all rewards for the given quest + * + * @param quest

The quest to get reward information for

+ * @return

Information about the quest's rewards

+ */ + private String getQuestRewardsInfo(IQuest quest) { + Rewards reward = quest.getRewards(); + StringBuilder rewardInfo = new StringBuilder(); + rewardInfo.append("
Rewards:"); + return rewardInfo.toString(); + } + /** * Gets a comma-separated list of the given quests' names * @@ -292,6 +331,16 @@ public class QuestsHandler extends AbstractTraitHandler { return normalizeName(itemStack.getType().name()) + " X " + itemStack.getAmount(); } + /** + * Makes the first character in a string uppercase + * + * @param string

The string to run on

+ * @return

The same string, with the first character converted to uppercase

+ */ + private String uppercaseFirst(String string) { + return string.substring(0, 1).toUpperCase() + string.substring(1); + } + /** * Normalizes an internal name to make it human-readable *