How can I give a nickname or items to an NPC in vanilla Minecraft?
Using commands (cheats) you can get a name above the villager doing the following:
- Get a Villager Spawn Egg (
/gamemode 1and locate to the Miscellaneous section.)
- Rename the spawn egg using an anvil and some experience.
Now just spawn the villager using the egg.
You'll only see the name when you look at the mob.
Now if you don't get the Villager you want, just keep trying until you get the villager you want, while killing the extras off.
If you wait until 1.6, you can do this without cheating by using the Name Tag for other creatures other than the villager. They can be crafted and by using an Anvil, you can rename the tag. Then find a mob and build-click on it. Now you have a name above the mob. The downside is you cannot name villagers with this item, however that appears to be a snapshot bug (reported as a bug #MC-14525 on Mojira).
To answer the other part of your question, you can't give villagers any items, you can only trade with them.
You can give a nameplate to mobs by using Sethbling's ChangeMobs filter: select a mob, type the desired name into
Name and select
You can give custom drops to mobs by using Sethbling's CreateGearedMobs filter: put items that you want the mob to drop in a chest, run the filter on the chest and select which mob you would like.