public void loadRestrictions() {
		// Clear res.
		restrictions.clear();

		List<String> items = plugin.getConfigHandler().getRestrictedItems();

		int count = 0;

		// For every name included in the config, do some things
		for (String item : items) {
			Restriction r = new Restriction();

			int itemID = plugin.getConfigHandler().getItemID(item);
			int dataValue = plugin.getConfigHandler().getDataValue(item);

			if (itemID < 0) {
				continue;
			}

			@SuppressWarnings("deprecation")
			ItemStack itemStack = new ItemStack(itemID, 1, (short) dataValue);

			// Set item id
			r.setItemID(itemID);

			// For every action, store their requirements.
			for (actionType action : actionType.values()) {

				List<RequirementType> reqTypes = plugin.getConfigHandler().getRequirementStrings(item, action);

				List<Requirement> requirements = new ArrayList<Requirement>();

				// Get all requirements
				for (RequirementType reqType : reqTypes) {
					Requirement requirement = plugin.getRequirementManager().createRequirement(reqType);

					if (requirement != null) {

						// Set the description of the requirement (from the
						// restrictions.yml)
						requirement.setDescription(plugin.getConfigHandler().getDescription(item, action, reqType));

						// Setup this requirement with the proper options.
						boolean result = requirement
								.setOptions(plugin.getConfigHandler().getRequirementValues(itemStack, action, reqType));

						if (!result) {
							plugin.logMessage(ChatColor.RED + "The requirement value of '" + reqType.toString()
									+ "' for the item '" + item + "' is not valid!");
							continue; // Skip this requirement.
						}

						requirements.add(requirement);
					} else {
						plugin.logMessage(ChatColor.RED + "Requirement '" + reqType + "' for item '" + item + "' is not valid!");
					}
				}

				r.setRequirements(action, requirements);
			}

			if (dataValue >= 0) {
				r.setDataValue(dataValue);
			}

			List<String> disabledWorlds = plugin.getConfigHandler().getDisabledWorlds(itemStack);

			// Add disabled worlds
			for (String world : disabledWorlds) {
				r.addDisabledWorld(world);
			}

			// Save this restriction
			restrictions.add(r);

			count++;
		}

		plugin.debugMessage("Loaded " + count + " restrictions!");
	}