@EventHandler (priority = EventPriority.NORMAL)
	public void onInventoryInteract(InventoryClickEvent event){
		boolean eventDebug = false;
		
		if(event.getWhoClicked() instanceof Player){
			Player p = (Player) event.getWhoClicked();
			Material mat = event.getCurrentItem().getType();
			
			if(event.getClick().isShiftClick()){
				// Detect adding of armor OR adding to furnace
				if(mat != null && !mat.equals(Material.AIR)){
					if(eventDebug) plugin.log.info("Material is not air.");
					if(!RPSystem.permission.has(p, plugin.config.getString("block-restriction.override-permission")) && !p.isOp()){
						if(eventDebug) plugin.log.info("Player does not have restriction override.");
						if(plugin.itemConfig.getStringList("restricted-items").contains(mat.toString())){
							if(eventDebug) plugin.log.info("Item is permission-restricted.");
							// If the item is a restricted item...
							
							if(!RPSystem.permission.has(p, plugin.itemConfig.getString(mat.toString() + ".interact-permission")) && !p.isOp()){
								if(eventDebug) plugin.log.info("Player does not have permission to interact with item.");
								p.sendMessage(ChatConstants.err("Permission to interact with " + mat.toString() + " denied."));
								p.sendMessage(ChatConstants.err("You do not have permission: " + ChatColor.DARK_RED + plugin.itemConfig.getString(mat + ".interact-permission") + ChatColor.RED));
								event.setCancelled(true);
							}
						}
					}
				}
			}
			if(event.getSlotType().equals(SlotType.ARMOR)){
				// Detect adding of armor OR adding to furnace
				if(mat != null && !mat.equals(Material.AIR)){
					if(eventDebug) plugin.log.info("Material is not air.");
					if(!RPSystem.permission.has(p, plugin.config.getString("block-restriction.override-permission")) && !p.isOp()){
						if(eventDebug) plugin.log.info("Player does not have restriction override.");
						if(plugin.itemConfig.getStringList("restricted-items").contains(mat.toString())){
							if(eventDebug) plugin.log.info("Item is permission-restricted.");
							// If the item is a restricted item...
							
							if(!RPSystem.permission.has(p, plugin.itemConfig.getString(mat.toString() + ".equip-permission")) && !p.isOp()){
								if(eventDebug) plugin.log.info("Player does not have permission to interact with item.");
								p.sendMessage(ChatConstants.err("Permission to interact with " + mat.toString() + " denied."));
								p.sendMessage(ChatConstants.err("You do not have permission: " + ChatColor.DARK_RED + plugin.itemConfig.getString(mat + ".interact-permission") + ChatColor.RED));
								event.setCancelled(true);
							}
						}
					}
				}
			}
			if(event.getSlotType().equals(SlotType.CRAFTING)){
				// Detect adding of armor OR adding to furnace
				if(mat != null && !mat.equals(Material.AIR)){
					if(eventDebug) plugin.log.info("Material is not air.");
					if(!RPSystem.permission.has(p, plugin.config.getString("block-restriction.override-permission")) && !p.isOp()){
						if(eventDebug) plugin.log.info("Player does not have restriction override.");
						if(plugin.itemConfig.getStringList("restricted-items").contains(mat.toString())){
							if(eventDebug) plugin.log.info("Item is permission-restricted.");
							// If the item is a restricted item...
							
							if(!RPSystem.permission.has(p, plugin.itemConfig.getString(mat.toString() + ".craft-permission")) && !p.isOp()){
								if(eventDebug) plugin.log.info("Player does not have permission to interact with item.");
								p.sendMessage(ChatConstants.err("Permission to interact with " + mat.toString() + " denied."));
								p.sendMessage(ChatConstants.err("You do not have permission: " + ChatColor.DARK_RED + plugin.itemConfig.getString(mat + ".interact-permission") + ChatColor.RED));
								event.setCancelled(true);
							}
						}
					}
				}
			}
			if(event.getSlotType().equals(SlotType.FUEL)){
				// Detect adding of armor OR adding to furnace
				if(mat != null && !mat.equals(Material.AIR)){
					if(eventDebug) plugin.log.info("Material is not air.");
					if(!RPSystem.permission.has(p, plugin.config.getString("block-restriction.override-permission")) && !p.isOp()){
						if(eventDebug) plugin.log.info("Player does not have restriction override.");
						if(plugin.itemConfig.getStringList("restricted-items").contains(mat.toString())){
							if(eventDebug) plugin.log.info("Item is permission-restricted.");
							// If the item is a restricted item...
							
							if(!RPSystem.permission.has(p, plugin.itemConfig.getString(mat.toString() + ".interact-permission")) && !p.isOp()){
								if(eventDebug) plugin.log.info("Player does not have permission to interact with item.");
								p.sendMessage(ChatConstants.err("Permission to interact with " + mat.toString() + " denied."));
								p.sendMessage(ChatConstants.err("You do not have permission: " + ChatColor.DARK_RED + plugin.itemConfig.getString(mat + ".interact-permission") + ChatColor.RED));
								event.setCancelled(true);
							}
						}
					}
				}
			}
		}
	}