CustomHeadCreator.java 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. package me.lethunderhawk.fluxapi.util;
  2. import com.destroystokyo.paper.profile.PlayerProfile;
  3. import com.destroystokyo.paper.profile.ProfileProperty;
  4. import net.kyori.adventure.text.Component;
  5. import org.bukkit.Bukkit;
  6. import org.bukkit.Material;
  7. import org.bukkit.entity.Player;
  8. import org.bukkit.inventory.ItemStack;
  9. import org.bukkit.inventory.meta.SkullMeta;
  10. import java.util.List;
  11. import java.util.UUID;
  12. public class CustomHeadCreator {
  13. public static ItemStack createCustomHead(String textureValue, Component displayName, Component loreText) {
  14. ItemStack playerHead = createCustomHead(textureValue);
  15. SkullMeta meta = (SkullMeta) playerHead.getItemMeta();
  16. meta.displayName(displayName);
  17. meta.lore(List.of(loreText));
  18. playerHead.setItemMeta(meta);
  19. return playerHead;
  20. }
  21. public static ItemStack createCustomHead(String textureValue, Component displayName, List<Component> loreText) {
  22. ItemStack playerHead = createCustomHead(textureValue);
  23. SkullMeta meta = (SkullMeta) playerHead.getItemMeta();
  24. meta.displayName(displayName);
  25. meta.lore(loreText);
  26. playerHead.setItemMeta(meta);
  27. return playerHead;
  28. }
  29. public static ItemStack createCustomHead(Player player, Component displayName, List<Component> loreText) {
  30. ItemStack playerHead = new ItemStack(Material.PLAYER_HEAD);
  31. SkullMeta meta = (SkullMeta) playerHead.getItemMeta();
  32. meta.setOwningPlayer(player);
  33. meta.displayName(displayName);
  34. meta.lore(loreText);
  35. playerHead.setItemMeta(UnItalic.removeItalicFromMeta(meta));
  36. return playerHead;
  37. }
  38. public static ItemStack createCustomHead(String textureValue) {
  39. ItemStack head = new ItemStack(Material.PLAYER_HEAD);
  40. SkullMeta meta = (SkullMeta) head.getItemMeta();
  41. if (meta != null) {
  42. PlayerProfile profile = Bukkit.createProfile(UUID.randomUUID(), null);
  43. profile.setProperty(new ProfileProperty("textures", textureValue));
  44. meta.setPlayerProfile(profile);
  45. head.setItemMeta(meta);
  46. }
  47. return head;
  48. }
  49. }