private ItemStack createStack(Objective o, QuestProgress qd)
	{
		Material m = Material.getMaterial(o.getItemIconId());
		if(m == null || m == Material.AIR)m = Material.getMaterial(o.getType().getItemIcon());
		if(m == null || m == Material.AIR)m = Material.WRITTEN_BOOK;
		ItemStack ostack = new ItemStack(m);
		ItemMeta im = player.getServer().getItemFactory().getItemMeta(m);
		boolean complete = qd.isComplete(o.getID());
		ArrayList<String>lore = new ArrayList<String>();
		String[] desc = o.getDescription();
		for(String s:desc)lore.add(s);
		if(o.isOptional())
		{
			if(desc.length > 0)lore.add("");
			lore.add(ChatColor.GOLD + "" + ChatColor.ITALIC + "Optional");
		}
		if(complete)
		{
			String ps = o.getType().getProgressString(o.getTarget(), o.getTarget());
			im.setDisplayName(ChatColor.GREEN + o.getName() + " " + ps);
			lore.add(ChatColor.YELLOW + "" + ChatColor.ITALIC + "Completed");
		}
		else
		{
			String ps = o.getType().getProgressString(o.getTarget(), qd.getProgress(o.getID()));
			im.setDisplayName(ChatColor.YELLOW + o.getName() + " " + ps);
		}
		im.setLore(lore);
		ostack.setItemMeta(im);
		return ostack;
	}