@EventHandler
	public void onWandClose(InventoryCloseEvent e) {
		if (opening.contains(e.getPlayer().getUniqueId())) {
			Player p = (Player) e.getPlayer();
			ItemStack wand = p.getItemInHand();
			List<Infusion> infusions = new ArrayList<Infusion>();
			
			for (ItemStack item: e.getInventory().getContents()) {
				if (item != null) {
					if (item.getType() == Material.FLINT && item.getDurability() > 16) {
						infusions.add(Infusion.valueOf(ChatColor.stripColor(item.getItemMeta().getDisplayName().replace("Meteor Shard - ", "").toUpperCase())));
					}
					else if (item.getType() != Material.AIR) {
						e.getPlayer().getWorld().playEffect(e.getPlayer().getLocation(), Effect.SMOKE, 1);
						e.getPlayer().getWorld().playSound(e.getPlayer().getLocation(), Sound.FIZZ, 1, 1);
						p.sendMessage(plugin.getTranslation("fail.wrongItems"));
						return;
					}
				}
			}
			
			String infused = "";
			
			for (int i = 0; i < infusions.size(); i++) {
				if (i > 0) infused = infused + " &7& " + infusions.get(i).getDisplayName();
				else infused = infusions.get(i).getDisplayName();
			}
			
			if (!infused.equalsIgnoreCase("")) {
				ItemMeta im = wand.getItemMeta();
				List<String> lore = im.getLore();
				lore.set(5, ChatColor.GRAY + "Infused with: " + ChatColor.translateAlternateColorCodes('&', infused));
				im.setLore(lore);
				wand.setItemMeta(im);
				p.setItemInHand(wand);
				
				e.getPlayer().getWorld().playEffect(e.getPlayer().getLocation(), Effect.ENDER_SIGNAL, 1);
				e.getPlayer().getWorld().playEffect(e.getPlayer().getLocation(), Effect.MOBSPAWNER_FLAMES, 1);
				e.getPlayer().getWorld().playSound(e.getPlayer().getLocation(), Sound.LEVEL_UP, 1, 1);
				p.sendMessage(plugin.getTranslation("wand.success"));
			}
			
			opening.remove(e.getPlayer().getUniqueId());
		}
	}