public void loadItems()
	{
		items.clear();
		// load items from config
		for (final String entry : config.getKeys(false))
		{
			try
			{
				// Attempt to parse non data value nodes
				int key = Integer.parseInt(entry);
				if (key <= 0)
				{
					plugin.getLogger().warning(
							AmazoCreative.TAG
									+ " Zero or negative item id for entry: "
									+ entry);
				}
				else
				{
					items.put(new Item(key, Byte.parseByte("" + 0), (short) 0),
							parseInfo(entry));
				}
			}
			catch (final NumberFormatException ex)
			{
				// Potential data value entry
				if (entry.contains("&"))
				{
					try
					{
						final String[] split = entry.split("&");
						final int item = Integer.parseInt(split[0]);
						final int data = Integer.parseInt(split[1]);
						if (item <= 0)
						{
							plugin.getLogger()
									.warning(
											AmazoCreative.TAG
													+ " Zero or negative item id for entry: "
													+ entry);
						}
						else
						{
							if (item != 373)
							{
								items.put(
										new Item(item, Byte
												.parseByte("" + data),
												(short) data), parseInfo(entry));
							}
							else
							{
								items.put(new Item(item,
										Byte.parseByte("" + 0), (short) data),
										parseInfo(entry));
							}
						}
					}
					catch (ArrayIndexOutOfBoundsException a)
					{
						plugin.getLogger()
								.warning(
										AmazoCreative.TAG
												+ " Wrong format for "
												+ entry
												+ ". Must follow '<itemid>&<datavalue>:' entry.");
					}
					catch (NumberFormatException exa)
					{
						plugin.getLogger().warning(
								AmazoCreative.TAG + " Non-integer number for "
										+ entry);
					}
				}
				else
				{
					plugin.getLogger().warning(
							AmazoCreative.TAG + " Invalid entry for " + entry);
				}
			}
		}
		if (items.isEmpty())
		{
			plugin.getLogger().warning(
					AmazoCreative.TAG + " No items specified to limit!");
		}
	}