aboutsummaryrefslogtreecommitdiffstats
path: root/bukkit/src/main/java/com
diff options
context:
space:
mode:
authorKrakenied <krakenied1@gmail.com>2025-07-24 14:33:44 +0200
committerKrakenied <46192742+Krakenied@users.noreply.github.com>2025-07-29 00:06:46 +0200
commitf2f172e7adca99c5eab9884de80a6fdcfe7ce66f (patch)
treed8c2185b99758be7ae206dd8c00e526153120d42 /bukkit/src/main/java/com
parent80e4381b4c7729c8e43af23386876906edd23ac5 (diff)
Fix menu NPE when categories are disabled
Diffstat (limited to 'bukkit/src/main/java/com')
-rw-r--r--bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/QuestQMenu.java19
1 files changed, 15 insertions, 4 deletions
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 074282c9..b61a957d 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
@@ -11,10 +11,10 @@ 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 org.jspecify.annotations.Nullable;
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),
@@ -24,12 +24,12 @@ public class QuestQMenu extends PaginatedQMenu {
private final String categoryName;
- public QuestQMenu(BukkitQuestsPlugin plugin, QPlayer owner, List<Quest> quests, Category category, CategoryQMenu categoryQMenu) {
- super(owner, Chat.legacyColor(Objects.requireNonNullElseGet(category.getGUIName(), () -> plugin.getQuestsConfig().getString("options.guinames.quests-menu"))),
+ public QuestQMenu(BukkitQuestsPlugin plugin, QPlayer owner, List<Quest> quests, @Nullable Category category, CategoryQMenu categoryQMenu) {
+ super(owner, Chat.legacyColor(guiName(plugin, category)),
plugin.getQuestsConfig().getBoolean("options.trim-gui-size.quests-menu"), 54, plugin);
BukkitQuestsConfig config = (BukkitQuestsConfig) plugin.getQuestsConfig();
- this.categoryName = category.getId();
+ this.categoryName = category != null ? category.getId() : null;
BackMenuElement backMenuElement = categoryQMenu != null
? new BackMenuElement(plugin, owner.getPlayerUUID(), plugin.getMenuController(), categoryQMenu)
@@ -65,4 +65,15 @@ public class QuestQMenu extends PaginatedQMenu {
return categoryName;
}
+ private static String guiName(final BukkitQuestsPlugin plugin, final @Nullable Category category) {
+ if (category != null) {
+ final String guiName = category.getGUIName();
+
+ if (guiName != null) {
+ return guiName;
+ }
+ }
+
+ return plugin.getQuestsConfig().getString("options.guinames.quests-menu");
+ }
}