We report the development of a pattern recognition scheme that takes into account both fcc and hcp adsorption sites in performing self-learning kinetic Monte Carlo (SLKMC-II) simulations on the fcc(111) surface. In this scheme, the local environment of every under-coordinated atom in an island is uniquely identified by grouping fcc sites, hcp sites and top-layer substrate atoms around it into hexagonal rings. As the simulation progresses, all possible processes, including those such as shearing, reptation and concerted gliding, which may involve fcc-fcc, hcp-hcp and fcc-hcp moves are automatically found, and their energetics calculated on the fly. In this article we present the results of applying this new pattern recognition scheme to the self-diffusion of 9-atom islands (M(9)) on M(111), where M = Cu, Ag or Ni.