From 144383769c0c73d5abb08711f6217d212030705e Mon Sep 17 00:00:00 2001 From: Len <40720638+destro174@users.noreply.github.com> Date: Sat, 10 Feb 2024 23:03:36 +0100 Subject: [PATCH] Add some info to GUIInventory.java menubars --- .../alttd/cometskyblock/gui/GUIInventory.java | 27 ++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/plugin/src/main/java/com/alttd/cometskyblock/gui/GUIInventory.java b/plugin/src/main/java/com/alttd/cometskyblock/gui/GUIInventory.java index ffdeb66..8063f9f 100644 --- a/plugin/src/main/java/com/alttd/cometskyblock/gui/GUIInventory.java +++ b/plugin/src/main/java/com/alttd/cometskyblock/gui/GUIInventory.java @@ -106,7 +106,7 @@ public abstract class GUIInventory implements GUI, InventoryHolder { for (int i = 0; i < 9; ++i) { addButton(i, createMenuButton(Material.BLACK_STAINED_GLASS_PANE, "", new ArrayList<>(), event -> {})); } - addButton(5, createPlayerHeadMenuButton(island.owner(), event -> {})); + addButton(5, createIslandMenuButton(island.owner(), event -> {})); } public void open(Player player) { @@ -162,4 +162,29 @@ public abstract class GUIInventory implements GUI, InventoryHolder { return skull; } + protected GUIButton createIslandMenuButton(UUID uuid, Consumer eventConsumer) { + return new GUIButton() + .creator(player -> { + ItemStack skull = new ItemStack(Material.PLAYER_HEAD); + + OfflinePlayer offlinePlayer = Bukkit.getOfflinePlayer(uuid); + if (!offlinePlayer.hasPlayedBefore()) + return skull; + + SkullMeta meta = (SkullMeta) skull.getItemMeta(); + meta.setPlayerProfile(offlinePlayer.getPlayerProfile()); + + List metaLore = new ArrayList<>(); + for (String loreString : List.of("Island Level : ", "Members: ", "")) { + metaLore.add(MiniMessage.miniMessage().deserialize(loreString)); + } + + meta.lore(metaLore); + skull.setItemMeta(meta); + + return skull; + }) + .consumer(eventConsumer); + } + }