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); }