From a35fd9696136f20a80c510ee7ff773f43385add0 Mon Sep 17 00:00:00 2001 From: Krakenied Date: Wed, 21 May 2025 13:53:21 +0200 Subject: Add option to set per category quest menu title Closes https://github.com/LMBishop/Quests/issues/622 --- .../leonardobishop/quests/bukkit/config/BukkitQuestsLoader.java | 3 ++- .../java/com/leonardobishop/quests/bukkit/menu/CategoryQMenu.java | 2 +- .../java/com/leonardobishop/quests/bukkit/menu/QuestQMenu.java | 8 +++++--- .../java/com/leonardobishop/quests/bukkit/util/MenuUtils.java | 2 +- 4 files changed, 9 insertions(+), 6 deletions(-) (limited to 'bukkit/src/main') 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 215d4b8b..ec0142b2 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 @@ -122,10 +122,11 @@ public class BukkitQuestsLoader implements QuestsLoader { for (String id : categories.getKeys(false)) { ItemStack displayItem = plugin.getConfiguredItemStack(id + ".display", categories); + String guiName = categories.getString(id + ".gui-name"); boolean permissionRequired = categories.getBoolean(id + ".permission-required", false); boolean hidden = categories.getBoolean(id + ".hidden", false); - Category category = new Category(id, permissionRequired, hidden); + Category category = new Category(id, guiName, permissionRequired, hidden); questManager.registerCategory(category); qItemStackRegistry.register(category, displayItem); } diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/CategoryQMenu.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/CategoryQMenu.java index 9223bc19..387ab192 100644 --- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/CategoryQMenu.java +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/CategoryQMenu.java @@ -44,7 +44,7 @@ public class CategoryQMenu extends PaginatedQMenu { } } Collections.sort(quests); - QuestQMenu questQMenu = new QuestQMenu(plugin, owner, quests, category.getId(), this); + QuestQMenu questQMenu = new QuestQMenu(plugin, owner, quests, category, this); MenuElement menuElement = new CategoryMenuElement(plugin, owner.getPlayerUUID(), category, questQMenu); categoryMenuElements.add(menuElement); } diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/QuestQMenu.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/QuestQMenu.java index 13963466..074282c9 100644 --- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/QuestQMenu.java +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/QuestQMenu.java @@ -8,11 +8,13 @@ import com.leonardobishop.quests.bukkit.menu.element.QuestMenuElement; import com.leonardobishop.quests.bukkit.util.chat.Chat; import com.leonardobishop.quests.common.player.QPlayer; import com.leonardobishop.quests.common.player.questprogressfile.QuestProgress; +import com.leonardobishop.quests.common.quest.Category; import com.leonardobishop.quests.common.quest.Quest; import org.bukkit.Bukkit; import java.util.ArrayList; import java.util.List; +import java.util.Objects; /** * Represents a menu for a specified category (or all if they are disabled), @@ -22,12 +24,12 @@ public class QuestQMenu extends PaginatedQMenu { private final String categoryName; - public QuestQMenu(BukkitQuestsPlugin plugin, QPlayer owner, List quests, String categoryName, CategoryQMenu categoryQMenu) { - super(owner, Chat.legacyColor(plugin.getQuestsConfig().getString("options.guinames.quests-menu")), + public QuestQMenu(BukkitQuestsPlugin plugin, QPlayer owner, List quests, Category category, CategoryQMenu categoryQMenu) { + super(owner, Chat.legacyColor(Objects.requireNonNullElseGet(category.getGUIName(), () -> plugin.getQuestsConfig().getString("options.guinames.quests-menu"))), plugin.getQuestsConfig().getBoolean("options.trim-gui-size.quests-menu"), 54, plugin); BukkitQuestsConfig config = (BukkitQuestsConfig) plugin.getQuestsConfig(); - this.categoryName = categoryName; + this.categoryName = category.getId(); BackMenuElement backMenuElement = categoryQMenu != null ? new BackMenuElement(plugin, owner.getPlayerUUID(), plugin.getMenuController(), categoryQMenu) diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/util/MenuUtils.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/util/MenuUtils.java index 00a10ef0..7baa4dcc 100644 --- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/util/MenuUtils.java +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/util/MenuUtils.java @@ -103,7 +103,7 @@ public class MenuUtils { } } Collections.sort(quests); - QuestQMenu questQMenu = new QuestQMenu(plugin, qPlayer, quests, category.getId(), superMenu); + QuestQMenu questQMenu = new QuestQMenu(plugin, qPlayer, quests, category, superMenu); plugin.getMenuController().openMenu(player, questQMenu); } -- cgit v1.2.3-70-g09d2