public void setProperty(final String path, final ItemStack stack) {
   final Map<String, Object> map = new HashMap<String, Object>();
   map.put("type", stack.getType().toString());
   map.put("amount", stack.getAmount());
   map.put("damage", stack.getDurability());
   Map<Enchantment, Integer> enchantments = stack.getEnchantments();
   if (!enchantments.isEmpty()) {
     Map<String, Integer> enchant = new HashMap<String, Integer>();
     for (Map.Entry<Enchantment, Integer> entry : enchantments.entrySet()) {
       enchant.put(entry.getKey().getName().toLowerCase(Locale.ENGLISH), entry.getValue());
     }
     map.put("enchant", enchant);
   }
   // getData().getData() is broken
   // map.put("data", stack.getDurability());
   set(path, map);
 }