From fd7c1bbd779612584beebebc9357368cccadd1a7 Mon Sep 17 00:00:00 2001 From: fatpigsarefat Date: Sat, 21 Apr 2018 10:08:36 +0100 Subject: option to hide locked quests in gui --- src/config.yml | 2 ++ src/me/fatpigsarefat/quests/obj/Options.java | 1 + src/me/fatpigsarefat/quests/obj/misc/QMenuQuest.java | 7 +++++++ src/plugin.yml | 2 +- 4 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/config.yml b/src/config.yml index 3e56f33d..281b1153 100644 --- a/src/config.yml +++ b/src/config.yml @@ -823,6 +823,8 @@ options: titles-enabled: true # Players cannot start any more quests than this at a single time quest-started-limit: 2 + # Hide locked quests, quests on cooldown and completed (but not repeatable) quests + gui-hide-locked: false # Titles for the GUIs guinames: quests-category: "Quests Categories" diff --git a/src/me/fatpigsarefat/quests/obj/Options.java b/src/me/fatpigsarefat/quests/obj/Options.java index 7cd17f70..56d4e7e3 100644 --- a/src/me/fatpigsarefat/quests/obj/Options.java +++ b/src/me/fatpigsarefat/quests/obj/Options.java @@ -12,6 +12,7 @@ public enum Options { TRIM_GUI_SIZE("options.trim-gui-size"), QUESTS_START_LIMIT("options.quest-started-limit"), TITLES_ENABLED("options.titles-enabled"), + GUI_HIDE_LOCKED("options.gui-hide-locked"), GUITITLE_QUESTS_CATEGORY("options.guinames.quests-category"), GUITITLE_QUESTS("options.guinames.quests-menu"), GUITITLE_DAILY_QUESTS("options.guinames.daily-quests"); diff --git a/src/me/fatpigsarefat/quests/obj/misc/QMenuQuest.java b/src/me/fatpigsarefat/quests/obj/misc/QMenuQuest.java index 7200357e..50e264e7 100644 --- a/src/me/fatpigsarefat/quests/obj/misc/QMenuQuest.java +++ b/src/me/fatpigsarefat/quests/obj/misc/QMenuQuest.java @@ -39,6 +39,13 @@ public class QMenuQuest implements QMenu { public void populate(List quests) { int slot = 0; for (Quest quest : quests) { + if (Options.GUI_HIDE_LOCKED.getBooleanValue()) { + QuestProgress questProgress = owner.getQuestProgressFile().getQuestProgress(quest); + long cooldown = owner.getQuestProgressFile().getCooldownFor(quest); + if (!owner.getQuestProgressFile().hasMetRequirements(quest) || (!quest.isRepeatable() && questProgress.isCompletedBefore()) || cooldown > 0) { + continue; + } + } slotsToQuestIds.put(slot, quest.getId()); slot++; } diff --git a/src/plugin.yml b/src/plugin.yml index 502fb4e6..e5092c0b 100644 --- a/src/plugin.yml +++ b/src/plugin.yml @@ -1,5 +1,5 @@ name: Quests -version: 2.0.1-beta +version: 2.0.2-beta main: me.fatpigsarefat.quests.Quests author: fatpigsarefat softdepend: [ASkyBlock, uSkyBlock] -- cgit v1.2.3-70-g09d2