package org.arkham.cs.gui; import java.util.ArrayList; import java.util.List; import org.bukkit.ChatColor; import org.bukkit.Material; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.ItemMeta; public class ItemFactory { public static ItemStack create(Material mat, String displayName, int amount, byte data, String... lore){ ItemStack item = new ItemStack(mat, amount, data); ItemMeta meta = item.getItemMeta(); displayName = ChatColor.translateAlternateColorCodes('&', displayName); meta.setDisplayName(displayName); List<String> lore1 = new ArrayList<>(); if(lore[0].equalsIgnoreCase("noLore")){ item.setItemMeta(meta); return item; } for(String s : lore){ lore1.add(ChatColor.translateAlternateColorCodes('&', s)); } meta.setLore(lore1); item.setItemMeta(meta); return item; } public static ItemStack create(Material mat, String displayName){ return create(mat, displayName, 1, (byte) 0, "noLore"); } public static ItemStack create(Material mat, String displayName, String... lore){ return create(mat, displayName, 1, (byte) 0, lore); } public static ItemStack create(Material mat, String displayName, List<String> lore){ return create(mat, displayName, 1, (byte) 0, (String[]) lore.toArray()); } public static String getBaseName(Material item){ String displayName = item.name(); StringBuilder builder = new StringBuilder(); builder.append(ChatColor.GOLD + ChatColor.BOLD.toString()); if(displayName.contains("_")){ String[] str = displayName.split("_"); for(int i = 0; i < str.length; i++){ String name = str[i]; builder.append(name.substring(0, 1).toUpperCase()); builder.append(name.substring(1).toLowerCase()); builder.append(" "); } } else { builder.append(displayName.substring(0, 1).toUpperCase()); builder.append(displayName.substring(1).toLowerCase()); } return builder.toString(); } }