@EventHandler
	public void oreGinInteraction(PlayerInteractEvent event) throws IOException
	{
		Block clicked = event.getClickedBlock();
		Player creator = event.getPlayer();
		
		if (event.getAction().equals(Action.LEFT_CLICK_BLOCK))
		{
			if (clicked.getState() instanceof Dispenser)
			{
				//Create and/or upgrade OreGin
				if (creator.getItemInHand().getType().equals(MachineFactoryPlugin.OREGIN_UPGRADE_WAND))
				{
					
					if (oreGinMan.machineExistsAt(clicked.getLocation()))
					{
						OreGin oreGin = (OreGin) oreGinMan.getMachine(clicked.getLocation());
						
						//Send player success/failure message
						InteractionResponse.messagePlayerResult(creator, oreGin.upgrade());
					}
					else
					{
						//Send player success/failure message
						InteractionResponse.messagePlayerResult(creator, 
								oreGinMan.createMachine(clicked.getLocation()));
					}
				} //Activate or de-activate OreGin
				else if (creator.getItemInHand().getType().equals(MachineFactoryPlugin.OREGIN_ACTIVATION_WAND))
				{
					if (oreGinMan.machineExistsAt(clicked.getLocation()))
					{
						OreGin oreGin = (OreGin) oreGinMan.getMachine(clicked.getLocation());
						
						//Send player success/failure message
						InteractionResponse.messagePlayerResult(creator, oreGin.togglePower());
					}
				} //Repair OreGin
				else if (creator.getItemInHand().getType().equals(MachineFactoryPlugin.OREGIN_REPAIR_WAND))
				{
					if (oreGinMan.machineExistsAt(clicked.getLocation()))
					{
						OreGin oreGin = (OreGin) oreGinMan.getMachine(clicked.getLocation());
						
						//Send player success/failure message
						InteractionResponse.messagePlayerResult(creator, oreGin.repair());
					}
				}
			}
		}
		

	}