Creating NPCs With Citizens: A Setup Guide
A shopkeeper that stands still, a quest-giver with dialogue, a cosmetic character at spawn — Citizens is the plugin behind almost all of them.
Creating NPCs With Citizens: A Setup Guide
The shopkeeper standing at spawn isn't a player — it's an NPC, and Citizens is almost certainly what's running it.
Citizens creates and manages non-player characters (NPCs) that can look like players or mobs, hold a fixed position or patrol a path, and serve as the foundation for shops, quest-givers, or purely cosmetic characters.
Install Citizens
Drop Citizens.jar into plugins/ and restart. No initial configuration is required to start creating NPCs.
Creating Your First NPC
/npc create Shopkeeperspawns a basic player-skin NPC at your current location, named "Shopkeeper." By default it has no behavior — it just stands there.
Changing the NPC's Skin
/npc skin <playername>sets the NPC's appearance to match any Minecraft player's skin — useful for giving NPCs a distinct, non-generic look.
Making an NPC a Different Entity Type
/npc create GuardDog --type wolfcreates an NPC using a mob model instead of the default player skin — most vanilla entity types are supported.
Setting NPC Behavior
Citizens on its own mostly handles the NPC's existence and appearance — actual behavior (shops, dialogue, quests) usually comes from a Citizens-compatible plugin built on top of it, such as a quest plugin or a GUI shop plugin that spawns a Citizens NPC as its visual front-end.
Basic built-in behavior does exist though:
/npc lookclosetoggles whether the NPC turns to face nearby players — a small touch that makes a static NPC feel noticeably less robotic.
Setting a Patrol Path
/npc movetonear a specific location, combined with waypoint commands, can give an NPC a path to patrol rather than staying fixed in one spot — useful for ambient, cosmetic NPCs wandering a town or spawn area.
Removing an NPC
/npc select <id or name>
/npc removeselects a specific NPC, then removes it permanently.
Listing All NPCs
/npc listshows every NPC currently on the server, with IDs — useful once a server has more than a handful and individual names get harder to track.
A Few Things Worth Knowing
- Citizens NPCs don't have real AI by default — "lookclose" and pathing are the extent of built-in behavior; anything more complex comes from an add-on plugin.
- NPCs persist across restarts automatically — they don't need to be recreated each time the server starts.
- A player-skin NPC uses a real Mojang username for its skin — it doesn't need to be an actual player who has ever joined the server.