Add some info to GUIInventory.java menubars

This commit is contained in:
Len 2024-02-10 23:03:36 +01:00
parent 17d0cb4c5f
commit 144383769c

View File

@ -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<InventoryClickEvent> 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<Component> metaLore = new ArrayList<>();
for (String loreString : List.of("Island Level : <islandlevel>", "Members: <islandmembers>", "")) {
metaLore.add(MiniMessage.miniMessage().deserialize(loreString));
}
meta.lore(metaLore);
skull.setItemMeta(meta);
return skull;
})
.consumer(eventConsumer);
}
}