public ArrayList<String> getDescFromItem(ItemStack item) {

        ArrayList<String> result = new ArrayList<String>();

        String material = item.getType().toString();
        
        @SuppressWarnings("deprecation")
        int itemID = item.getTypeId();
        int amount = item.getAmount();
        short durability = item.getDurability();
        String color = null;
        if ( 298 <= itemID && itemID <= 301 ) {
            LeatherArmorMeta lam = (LeatherArmorMeta)item.getItemMeta();
            Color colorTemp = lam.getColor();
            if ( colorTemp != null ) {
                color = convertColorToString(colorTemp);
            }
        }

        StringBuffer message = new StringBuffer();
        message.append( String.format("&8|&f   %s  ", material) );
        if ( durability > 1 ) {
            message.append("data:" + durability + " ");
        }
        if ( color != null ) {
            message.append("color:" + color + " ");
        }
        if ( amount > 1 ) {
            message.append("amount:" + amount + " ");
        }
        result.add(message.toString());

        Map<Enchantment, Integer> enchants = item.getEnchantments();
        Set<Enchantment> enchantKeys = enchants.keySet();
        for ( Enchantment e : enchantKeys ) {
            result.add(String.format(
                    "&7|&f     %s - level %d",
                    e.getName(), enchants.get(e)));
        }

        return result;
    }