From 5bc5b47bf80e8c3ce736b98d1d51b55ad3ad8c78 Mon Sep 17 00:00:00 2001 From: Auxilor Date: Wed, 16 Mar 2022 13:22:05 +0000 Subject: [PATCH] Added Menu#refresh --- .../src/main/java/com/willfp/eco/core/gui/menu/Menu.java | 7 +++++++ .../kotlin/com/willfp/eco/internal/gui/menu/EcoMenu.kt | 9 +++++++-- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/eco-api/src/main/java/com/willfp/eco/core/gui/menu/Menu.java b/eco-api/src/main/java/com/willfp/eco/core/gui/menu/Menu.java index 68bdc1f8..62a3e5cc 100644 --- a/eco-api/src/main/java/com/willfp/eco/core/gui/menu/Menu.java +++ b/eco-api/src/main/java/com/willfp/eco/core/gui/menu/Menu.java @@ -96,6 +96,13 @@ public interface Menu { */ Set getKeys(@NotNull Player player); + /** + * Re-render the menu for a player. + * + * @param player The player. + */ + void refresh(@NotNull Player player); + /** * Create a builder with a given amount of rows. * diff --git a/eco-core/core-backend/src/main/kotlin/com/willfp/eco/internal/gui/menu/EcoMenu.kt b/eco-core/core-backend/src/main/kotlin/com/willfp/eco/internal/gui/menu/EcoMenu.kt index 762e4e60..1fc7bb5d 100644 --- a/eco-core/core-backend/src/main/kotlin/com/willfp/eco/internal/gui/menu/EcoMenu.kt +++ b/eco-core/core-backend/src/main/kotlin/com/willfp/eco/internal/gui/menu/EcoMenu.kt @@ -19,7 +19,7 @@ class EcoMenu( val slots: List>, private val title: String, private val onClose: CloseHandler -): Menu { +) : Menu { override fun getSlot(row: Int, column: Int): Slot { if (row < 1 || row > this.rows) { return slots[0][0] @@ -46,7 +46,7 @@ class EcoMenu( if (meta != null) { val lore = meta.lore if (lore != null) { - lore.replaceAll{ s -> StringUtils.format(s, player) } + lore.replaceAll { s -> StringUtils.format(s, player) } meta.lore = lore } slotItem.itemMeta = meta @@ -103,4 +103,9 @@ class EcoMenu( inventory ?: return HashSet() return inventory.data.keys } + + override fun refresh(player: Player) { + val inventory = MenuHandler.getExtendedInventory(player.openInventory.topInventory) ?: return + inventory.refresh(player) + } } \ No newline at end of file