package me.lethunderhawk.fluxapi.util; import com.destroystokyo.paper.profile.PlayerProfile; import com.destroystokyo.paper.profile.ProfileProperty; import net.kyori.adventure.text.Component; import org.bukkit.Bukkit; import org.bukkit.Material; import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.SkullMeta; import java.util.List; import java.util.UUID; public class CustomHeadCreator { public static ItemStack createCustomHead(String textureValue, Component displayName, Component loreText) { ItemStack playerHead = createCustomHead(textureValue); SkullMeta meta = (SkullMeta) playerHead.getItemMeta(); meta.displayName(displayName); meta.lore(List.of(loreText)); playerHead.setItemMeta(meta); return playerHead; } public static ItemStack createCustomHead(String textureValue, Component displayName, List loreText) { ItemStack playerHead = createCustomHead(textureValue); SkullMeta meta = (SkullMeta) playerHead.getItemMeta(); meta.displayName(displayName); meta.lore(loreText); playerHead.setItemMeta(meta); return playerHead; } public static ItemStack createCustomHead(Player player, Component displayName, List loreText) { ItemStack playerHead = new ItemStack(Material.PLAYER_HEAD); SkullMeta meta = (SkullMeta) playerHead.getItemMeta(); meta.setOwningPlayer(player); meta.displayName(displayName); meta.lore(loreText); playerHead.setItemMeta(UnItalic.removeItalicFromMeta(meta)); return playerHead; } public static ItemStack createCustomHead(String textureValue) { ItemStack head = new ItemStack(Material.PLAYER_HEAD); SkullMeta meta = (SkullMeta) head.getItemMeta(); if (meta != null) { PlayerProfile profile = Bukkit.createProfile(UUID.randomUUID(), null); profile.setProperty(new ProfileProperty("textures", textureValue)); meta.setPlayerProfile(profile); head.setItemMeta(meta); } return head; } }