From 2c96d1af99cbf821f34f20dd0d36d7e1aa15363d Mon Sep 17 00:00:00 2001 From: sejlaadilovic Date: Fri, 12 Jan 2024 00:57:42 +0100 Subject: Add PlaceholderAPI support in GUI titles --- .../quests/bukkit/menu/CancelQMenu.java | 5 +++++ .../quests/bukkit/menu/PaginatedQMenu.java | 19 +++++++++++++++++-- bukkit/src/main/resources/resources/bukkit/config.yml | 2 +- 3 files changed, 23 insertions(+), 3 deletions(-) (limited to 'bukkit') diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/CancelQMenu.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/CancelQMenu.java index 3e6ea0b6..5cc19b6b 100644 --- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/CancelQMenu.java +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/CancelQMenu.java @@ -55,6 +55,11 @@ public class CancelQMenu extends QMenu { @Override public Inventory draw() { String title = Chat.legacyColor(config.getString("options.guinames.quest-cancel")); + + if (config.getBoolean("options.gui-use-placeholderapi")) { + title = plugin.getPlaceholderAPIProcessor().apply(Bukkit.getPlayer(owner.getPlayerUUID()), title); + } + Inventory inventory = Bukkit.createInventory(null, 27, title); for (int pointer = 0; pointer < 27; pointer++) { diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/PaginatedQMenu.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/PaginatedQMenu.java index d4494734..8f0f9b27 100644 --- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/PaginatedQMenu.java +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/PaginatedQMenu.java @@ -23,9 +23,9 @@ import java.util.List; public abstract class PaginatedQMenu extends QMenu { - protected final String title; protected final boolean trim; private final BukkitQuestsPlugin plugin; + protected String title; protected int currentPage; protected int pageSize; protected int minPage; @@ -33,15 +33,23 @@ public abstract class PaginatedQMenu extends QMenu { public PaginatedQMenu(QPlayer owner, String title, boolean trim, int pageSize, BukkitQuestsPlugin plugin) { super(owner); - this.title = title; this.trim = trim; this.plugin = plugin; + this.title = title; this.pageSize = pageSize; this.currentPage = 1; this.minPage = 1; this.maxPage = 1; } + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + public int getCurrentPage() { return currentPage; } @@ -182,6 +190,13 @@ public abstract class PaginatedQMenu extends QMenu { int pageMin = pageSize * (currentPage - 1); int pageMax = pageSize * currentPage; + BukkitQuestsConfig config = (BukkitQuestsConfig) plugin.getQuestsConfig(); + + if (config.getBoolean("options.gui-use-placeholderapi")) { + Player player = Bukkit.getPlayer(owner.getPlayerUUID()); + title = plugin.getPlaceholderAPIProcessor().apply(player, title); + } + Inventory inventory = Bukkit.createInventory(null, 54, title); int highestOnPage = 0; diff --git a/bukkit/src/main/resources/resources/bukkit/config.yml b/bukkit/src/main/resources/resources/bukkit/config.yml index 97a4bef2..5bf689da 100644 --- a/bukkit/src/main/resources/resources/bukkit/config.yml +++ b/bukkit/src/main/resources/resources/bukkit/config.yml @@ -89,7 +89,7 @@ options: gui-hide-quests-nopermission: false # Hide categories which a player cannot open due to permissions. gui-hide-categories-nopermission: false - # Replace placeholders from PlaceholderAPI in Quests GUI items + # Replace placeholders from PlaceholderAPI in Quests GUI items and titles gui-use-placeholderapi: false # Truncate quest requirements when there are multiple requirements to prevent enormous display items gui-truncate-requirements: true -- cgit v1.2.3-70-g09d2