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 eb98d59..a112d5d 100644
--- a/src/main/java/net/knarcraft/dynmapcitizens/trait/quests/QuestsHandler.java
+++ b/src/main/java/net/knarcraft/dynmapcitizens/trait/quests/QuestsHandler.java
@@ -22,7 +22,6 @@ import org.dynmap.markers.GenericMarker;
import org.dynmap.markers.MarkerIcon;
import org.dynmap.markers.MarkerSet;
-import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.HashSet;
@@ -131,19 +130,20 @@ public class QuestsHandler extends AbstractTraitHandler {
}
//TODO: Get information about the planner (repeatable and/or limited)
- if (!questKills.isEmpty()) {
- markerDescription.append("
Kill target for quests:
");
- markerDescription.append(getQuestListString(questKills));
- }
+ if (!questKills.isEmpty() || !questInteractions.isEmpty() || !questDeliveries.isEmpty()) {
+ markerDescription.append("Involved in quests:
");
- if (!questInteractions.isEmpty()) {
- markerDescription.append("Interaction target for quests:
");
- markerDescription.append(getQuestListString(questInteractions));
- }
+ for (IQuest quest : new HashSet<>(questKills)) {
+ markerDescription.append("- Killed in: ").append(quest.getName()).append("
");
+ }
+ for (IQuest quest : new HashSet<>(questDeliveries)) {
+ markerDescription.append("- Delivery target in: ").append(quest.getName()).append("
");
+ }
+ for (IQuest quest : new HashSet<>(questInteractions)) {
+ markerDescription.append("- Interacted with in quest: ").append(quest.getName()).append("
");
+ }
- if (!questDeliveries.isEmpty()) {
- markerDescription.append("Delivery target for quests:
");
- markerDescription.append(getQuestListString(questDeliveries));
+ markerDescription.append("
");
}
addNPCMarker(npcId, getMarkerTitle(info.getQuestNPCType()), markerDescription.toString(), icon, questMarkerSet);
@@ -267,21 +267,6 @@ public class QuestsHandler extends AbstractTraitHandler {
return rewardInfo.toString();
}
- /**
- * Gets a comma-separated list of the given quests' names
- *
- * @param quests The quests to get a list string for
- * @return The names of the given quests
- */
- private String getQuestListString(List quests) {
- List questNames = new ArrayList<>();
- //Note: The list is cast to a set to remove duplicates
- for (IQuest quest : new HashSet<>(quests)) {
- questNames.add(quest.getName());
- }
- return String.join(", ", questNames);
- }
-
/**
* Gets the marker title to use for the given quest NPC type
*