package regalowl.hyperconomy; import java.util.ArrayList; import org.bukkit.ChatColor; import org.bukkit.Material; import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.EnchantmentStorageMeta; import org.bukkit.inventory.meta.FireworkMeta; import regalowl.databukkit.CommonFunctions; public class Iteminfo { @SuppressWarnings("deprecation") Iteminfo(String args[], Player player) { HyperConomy hc = HyperConomy.hc; LanguageFile L = hc.getLanguageFile(); EconomyManager em = hc.getEconomyManager(); try { HyperPlayer hp = em.getHyperPlayer(player.getName()); HyperEconomy he = hp.getHyperEconomy(); if (args.length == 0) { String mat = player.getItemInHand().getType().toString(); HyperItem ho = he.getHyperItem(player.getItemInHand()); String displayName = ""; if (ho == null) { displayName = "Item not in database."; } else { displayName = ho.getDisplayName(); } String enchantments = ""; ItemStack inhand = player.getItemInHand(); CommonFunctions cf = hc.gCF(); if (inhand.getType().equals(Material.ENCHANTED_BOOK)) { EnchantmentStorageMeta emeta = (EnchantmentStorageMeta) inhand.getItemMeta(); ArrayList<String> enchants = new HyperItemStack(player.getItemInHand()).convertEnchantmentMapToNames(emeta.getStoredEnchants()); if (enchants.size() == 0) { enchantments = "None"; } else { enchantments = cf.implode(enchants, ","); } } else { if (new HyperItemStack(inhand).hasenchants()) { ArrayList<String> enchants = new HyperItemStack(player.getItemInHand()).convertEnchantmentMapToNames(inhand.getEnchantments()); enchantments = cf.implode(enchants, ""); } else { enchantments = "None"; } } if (player.getItemInHand().getType().equals(Material.FIREWORK)) { FireworkMeta meta = (FireworkMeta) inhand.getItemMeta(); meta.getEffects(); meta.getPower(); meta.getEffectsSize(); } double dura = player.getItemInHand().getDurability(); double maxdura = player.getItemInHand().getType().getMaxDurability(); double durp = 100; if (ho != null && ho instanceof HyperItem) { HyperItem hi = (HyperItem) ho; if (hi.isDurable()) { durp = (1 - dura / maxdura) * 100; durp = (long) Math.floor(durp + .5); } } player.sendMessage(L.get("LINE_BREAK")); player.sendMessage(ChatColor.BLUE + "Name: " + ChatColor.AQUA + "" + displayName); player.sendMessage(ChatColor.BLUE + "Material: " + ChatColor.AQUA + "" + mat); player.sendMessage(ChatColor.BLUE + "ID: " + ChatColor.AQUA + "" + player.getItemInHand().getTypeId()); player.sendMessage(ChatColor.BLUE + "Damage Value: " + ChatColor.GREEN + "" + player.getItemInHand().getData().getData()); player.sendMessage(ChatColor.BLUE + "Durability: " + ChatColor.GREEN + "" + (int) dura); player.sendMessage(ChatColor.BLUE + "Durability Percent: " + ChatColor.GREEN + "" + durp + "%"); player.sendMessage(ChatColor.BLUE + "Enchantments: " + ChatColor.AQUA + "" + enchantments); player.sendMessage(L.get("LINE_BREAK")); return; } else { HyperObject ho = he.getHyperObject(args[0]); if (ho == null) { player.sendMessage(ChatColor.BLUE + "Object not found."); return; } player.sendMessage(L.get("LINE_BREAK")); player.sendMessage(ChatColor.BLUE + "Name: " + ChatColor.AQUA + "" + ho.getDisplayName()); if (ho != null && ho instanceof HyperItem) { HyperItem hi = (HyperItem) ho; player.sendMessage(ChatColor.BLUE + "Material: " + ChatColor.AQUA + "" + hi.getMaterial()); player.sendMessage(ChatColor.BLUE + "Damage Value: " + ChatColor.GREEN + "" + hi.getData()); player.sendMessage(ChatColor.BLUE + "Durability: " + ChatColor.GREEN + "" + hi.getDurability()); } player.sendMessage(L.get("LINE_BREAK")); return; } } catch (Exception e) { player.sendMessage(ChatColor.DARK_RED + "Invalid item or parameters. Hold an item and use /iteminfo (name)"); } } }