public NLIData readCache(String playername) {
		final File file = new File(plugin.getDataFolder() + "/cache/" + playername + ".cache");

		ArrayList<ItemStack> stacki = new ArrayList<ItemStack>();
		ArrayList<ItemStack> stacka = new ArrayList<ItemStack>();

		if (!file.exists()) {
			NLIData nli = (this.plugin).new NLIData(stacki.toArray(new ItemStack[0]), stacka.toArray(new ItemStack[0]));
			return nli;
		}

		Scanner reader = null;
		try {
			reader = new Scanner(file);

			while (reader.hasNextLine()) {
				final String line = reader.nextLine();

				if (!line.contains(":")) {
					continue;
				}

				final String[] in = line.split(":");

				if (in.length != 4) {
					continue;
				}
				if (!in[0].equals("i") && !in[0].equals("w")) {
					continue;
				}

				if (in[0].equals("i")) {
					stacki.add(new ItemStack(Integer.parseInt(in[1]),
							Integer.parseInt(in[2]), Short.parseShort((in[3]))));
				} else {
					stacka.add(new ItemStack(Integer.parseInt(in[1]),
							Integer.parseInt(in[2]), Short.parseShort((in[3]))));
				}

			}
		} catch (final Exception e) {
            e.printStackTrace();
		} finally {
			if (reader != null) {
				reader.close();
			}
		}
		NLIData nli = (this.plugin).new NLIData(stacki.toArray(new ItemStack[0]), stacka.toArray(new ItemStack[0]));
		return nli;
	}