I would be wary about changing the unlocalised name, not a great idea. I would recommend using getItemStackDisplayName - also uses an itemstack as the parameter and only changes the on screen name that the player sees. The "identity" of the item changes with the unlocalised name and you may not want that. Also if you change the display name and still want to keep it localized (which is good) you need to manually set up the localization.