aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--bukkit/src/main/java/com/leonardobishop/quests/bukkit/config/BukkitQuestsLoader.java3
-rw-r--r--bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/MenuController.java4
-rw-r--r--common/src/main/java/com/leonardobishop/quests/common/quest/Category.java14
3 files changed, 20 insertions, 1 deletions
diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/config/BukkitQuestsLoader.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/config/BukkitQuestsLoader.java
index 029c2110..e4015530 100644
--- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/config/BukkitQuestsLoader.java
+++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/config/BukkitQuestsLoader.java
@@ -102,8 +102,9 @@ public class BukkitQuestsLoader implements QuestsLoader {
for (String id : categories.getKeys(false)) {
ItemStack displayItem = plugin.getConfiguredItemStack(id + ".display", categories);
boolean permissionRequired = categories.getBoolean(id + ".permission-required", false);
+ boolean hidden = categories.getBoolean(id + ".hidden", false);
- Category category = new Category(id, permissionRequired);
+ Category category = new Category(id, permissionRequired, hidden);
questManager.registerCategory(category);
qItemStackRegistry.register(category, displayItem);
}
diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/MenuController.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/MenuController.java
index 59da8322..fa361014 100644
--- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/MenuController.java
+++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/MenuController.java
@@ -122,6 +122,10 @@ public class MenuController implements Listener {
CategoryQMenu categoryQMenu = new CategoryQMenu(plugin, qPlayer);
List<QuestQMenu> questMenus = new ArrayList<>();
for (Category category : plugin.getQuestManager().getCategories()) {
+ if (category.isHidden()) {
+ continue;
+ }
+
QuestQMenu questQMenu = new QuestQMenu(plugin, qPlayer, category.getId(), categoryQMenu);
List<Quest> quests = new ArrayList<>();
for (String questid : category.getRegisteredQuestIds()) {
diff --git a/common/src/main/java/com/leonardobishop/quests/common/quest/Category.java b/common/src/main/java/com/leonardobishop/quests/common/quest/Category.java
index 25abcef0..0531af5b 100644
--- a/common/src/main/java/com/leonardobishop/quests/common/quest/Category.java
+++ b/common/src/main/java/com/leonardobishop/quests/common/quest/Category.java
@@ -12,10 +12,16 @@ public class Category {
private final String id;
private final boolean permissionRequired;
private final List<String> registeredQuestIds = new ArrayList<>();
+ private final boolean hidden;
public Category(String id, boolean permissionRequired) {
+ this(id, permissionRequired, false);
+ }
+
+ public Category(String id, boolean permissionRequired, boolean hidden) {
this.id = id;
this.permissionRequired = permissionRequired;
+ this.hidden = hidden;
}
/**
@@ -56,4 +62,12 @@ public class Category {
return Collections.unmodifiableList(registeredQuestIds);
}
+ /**
+ * Get if this category is hidden
+ *
+ * @return true if hidden
+ */
+ public boolean isHidden() {
+ return hidden;
+ }
}