public static void openEnchantmentTable(Player player) {
		//has to have the use permission
		if (!permission.has(player.getWorld(), player.getName(), "portables.enchant.use")) {
			return;
		}
		//has to be holding the material
		if (permission.has(player.getWorld(), player.getName(), "portables.enchant.has")) {
			//Doesn't have it
			if (!hasMaterial(Material.ENCHANTMENT_TABLE, player.getInventory().getContents())) {
				return;
			}
		}
		//has to pay for it
		if (PortablesPlugin.getCached().useEconomy() && permission.has(player.getWorld(), player.getName(), "portables.enchant.cost")) {
			if (!econ.has(player.getName(), PortablesPlugin.getCached().getWorkbenchCost())) {
				player.sendMessage(ChatColor.GREEN + "[Portables] " + ChatColor.RED + " Insufficient Funds to open requested item.");
				return;
			}
			double cost = PortablesPlugin.getCached().getEnchantCost();
			econ.withdrawPlayer(player.getName(), cost);
			player.sendMessage(ChatColor.GREEN + "[Portables] " + ChatColor.WHITE + " Account deducted: " + econ.format(cost) + ".");
		}
		player.openEnchanting(null, true);
	}