diff --git a/core/src/main/java/me/pikamug/quests/convo/quests/requirements/QuestRequirementsPrompt.java b/core/src/main/java/me/pikamug/quests/convo/quests/requirements/QuestRequirementsPrompt.java index 428e3db52..433271b87 100644 --- a/core/src/main/java/me/pikamug/quests/convo/quests/requirements/QuestRequirementsPrompt.java +++ b/core/src/main/java/me/pikamug/quests/convo/quests/requirements/QuestRequirementsPrompt.java @@ -174,8 +174,7 @@ public class QuestRequirementsPrompt extends QuestsEditorNumericPrompt { return ChatColor.GRAY + "(" + BukkitLang.get("noneSet") + ")"; } else { return ChatColor.GRAY + "(" + ChatColor.AQUA + moneyReq + " " - + (moneyReq > 1 ? plugin.getDependencies().getVaultEconomy().currencyNamePlural() - : plugin.getDependencies().getVaultEconomy().currencyNameSingular() + ChatColor.GRAY + ")"); + + plugin.getDependencies().getVaultEconomy().format(moneyReq) + ChatColor.GRAY + ")"; } } else { return ChatColor.GRAY + "(" + BukkitLang.get("notInstalled") + ")"; diff --git a/core/src/main/java/me/pikamug/quests/player/BukkitQuester.java b/core/src/main/java/me/pikamug/quests/player/BukkitQuester.java index 74e31df0a..a7a255c4a 100644 --- a/core/src/main/java/me/pikamug/quests/player/BukkitQuester.java +++ b/core/src/main/java/me/pikamug/quests/player/BukkitQuester.java @@ -424,6 +424,7 @@ public class BukkitQuester implements Quester { /** * Get quest progress for given quest, or default values if not found + * * @param quest The quest to check * @return Existing or current progress, or default */ @@ -432,12 +433,6 @@ public class BukkitQuester implements Quester { if (questProgress.get(quest) != null) { return questProgress.get(quest); } - // TODO - the above should suffice since Quest extends Comparable, but test it - /*for (final Quest q : questData.keySet()) { - if (q.getId().equals(quest.getId())) { - return questData.get(q); - } - }*/ if (currentQuests.get(quest) != null) { addEmptiesFor(quest, currentQuests.get(quest)); } @@ -4350,6 +4345,9 @@ public class BukkitQuester implements Quester { */ public void hardQuit(final Quest quest) { try { + if (compassTargetQuestId.equals(quest.getId())) { + compassTargetQuestId = null; + } currentQuests.remove(quest); questProgress.remove(quest); if (!timers.isEmpty()) { @@ -4441,11 +4439,11 @@ public class BukkitQuester implements Quester { * Will set to Quester's spawn location if bed spawn does not exist */ public void resetCompass() { + compassTargetQuestId = null; final Player player = getPlayer(); if (player == null) { return; } - compassTargetQuestId = null; if (!canUseCompass()) { return; } @@ -4485,7 +4483,8 @@ public class BukkitQuester implements Quester { * @param notify Whether to notify this quester of result */ public void findNextCompassTarget(final boolean notify) { - if (!canUseCompass()) { + // Here we apply this method to OPs by not checking #canUseCompass + if (getPlayer() == null || !getPlayer().hasPermission("quests.compass")) { return; } Bukkit.getScheduler().runTaskAsynchronously(plugin, () -> { diff --git a/core/src/main/java/me/pikamug/quests/quests/BukkitQuest.java b/core/src/main/java/me/pikamug/quests/quests/BukkitQuest.java index 54485c4eb..33812e730 100644 --- a/core/src/main/java/me/pikamug/quests/quests/BukkitQuest.java +++ b/core/src/main/java/me/pikamug/quests/quests/BukkitQuest.java @@ -43,7 +43,6 @@ import me.pikamug.quests.quests.components.Planner; import me.pikamug.quests.quests.components.Requirements; import me.pikamug.quests.quests.components.Rewards; import me.pikamug.quests.quests.components.Stage; -import me.pikamug.quests.tasks.BukkitStageTimer; import me.pikamug.quests.util.BukkitConfigUtil; import me.pikamug.quests.util.BukkitInventoryUtil; import me.pikamug.quests.util.BukkitItemUtil; @@ -280,10 +279,6 @@ public class BukkitQuest implements Quest { this, quester.getPlayer())); } } - if (quester.getPlayer().hasPermission("quests.compass")) { - quester.resetCompass(); - quester.findCompassTarget(); - } if (currentStage.getDelay() < 0) { doNextStage(quester, allowSharedProgress); } else {