private String buildItemString(ItemStack[] items) {
		StringBuilder sbItems = new StringBuilder();
		StringBuilder sbAmount = new StringBuilder();
		StringBuilder sbDurability = new StringBuilder();
		StringBuilder sbEnchants = new StringBuilder();

		for (ItemStack item : items) {
			int itemId = 0;
			int amount = 0;
			short durability = 0;
			Map<Enchantment, Integer> enchants = null;

			if (item != null) {
				itemId = item.getTypeId();
				amount = item.getAmount();
				durability = item.getDurability();
				enchants = item.getEnchantments();

				if (!enchants.keySet().isEmpty()) {
					for (Enchantment enchant : enchants.keySet()) {
						int id = enchant.getId();
						int level = enchants.get(enchant);
						sbEnchants.append(id + ":" + level + "-");				
					}

					sbEnchants.deleteCharAt(sbEnchants.lastIndexOf("-"));
				}
			}

			sbItems.append(itemId).append(",");
			sbAmount.append(amount).append(",");
			sbDurability.append(durability).append(",");
			sbEnchants.append(",");
		}

		sbItems.deleteCharAt(sbItems.lastIndexOf(","));
		sbAmount.deleteCharAt(sbAmount.lastIndexOf(","));
		sbDurability.deleteCharAt(sbDurability.lastIndexOf(","));
		sbEnchants.deleteCharAt(sbEnchants.lastIndexOf(","));
		return sbItems.append(";").append(sbAmount).append(";").append(sbDurability).append(";").append(sbEnchants).toString();
	}