From 7f0d71e25c866d24221fed1520015e253e790690 Mon Sep 17 00:00:00 2001 From: Tastybento Date: Mon, 19 Feb 2018 07:55:57 -0800 Subject: [PATCH] Added support for player heads in PanelItemBuilder API --- .../api/panels/builders/PanelItemBuilder.java | 30 +++++++++++++++++-- 1 file changed, 27 insertions(+), 3 deletions(-) diff --git a/src/main/java/us/tastybento/bskyblock/api/panels/builders/PanelItemBuilder.java b/src/main/java/us/tastybento/bskyblock/api/panels/builders/PanelItemBuilder.java index 8b2be6ce0..2452686a2 100644 --- a/src/main/java/us/tastybento/bskyblock/api/panels/builders/PanelItemBuilder.java +++ b/src/main/java/us/tastybento/bskyblock/api/panels/builders/PanelItemBuilder.java @@ -3,10 +3,12 @@ package us.tastybento.bskyblock.api.panels.builders; import java.util.ArrayList; import java.util.Collections; import java.util.List; +import java.util.UUID; import org.bukkit.Bukkit; import org.bukkit.Material; import org.bukkit.inventory.ItemStack; +import org.bukkit.inventory.meta.SkullMeta; import us.tastybento.bskyblock.api.panels.PanelItem; import us.tastybento.bskyblock.api.panels.PanelItem.ClickHandler; @@ -27,6 +29,31 @@ public class PanelItemBuilder { this.icon = icon; return this; } + + /** + * Set icon to player's head + * @param playerUUID - player's UUID + * @return PanelItemBuilder + */ + public PanelItemBuilder icon(UUID playerUUID) { + return icon(Bukkit.getOfflinePlayer(playerUUID).getName()); + } + + /** + * Set icon to player's head + * @param playerName - player's name + * @return PanelItemBuilder + */ + @SuppressWarnings("deprecation") + public PanelItemBuilder icon(String playerName) { + ItemStack item = new ItemStack(Material.SKULL_ITEM,1,(short)3); + SkullMeta meta = (SkullMeta)item.getItemMeta(); + // This is deprecated, but apparently the only way to make it work right now + meta.setOwner(playerName); + item.setItemMeta( meta ); + this.icon = item; + return this; + } public PanelItemBuilder name(String name) { this.name = name; @@ -59,9 +86,6 @@ public class PanelItemBuilder { } public PanelItem build() { - if (icon == null) { - Bukkit.getLogger().info("DEBUG: icon is null"); - } return new PanelItem(icon, name, description, glow, clickHandler); }