---
title: "Creating NPCs With Citizens: A Setup Guide | ZCraft Studios"
description: "A shopkeeper that stands still, a quest-giver with dialogue, a cosmetic character at spawn: Citizens is the plugin behind almost all of them."
url: "https://www.zcraftstudios.com/blog/citizens-npc-setup-guide"
updated: "2026-10-20T07:15:13.005688+00:00"
source: "ZCraft Studios"
---

> Site index for AI agents: https://www.zcraftstudios.com/llms.txt (full reference: https://www.zcraftstudios.com/llms-full.txt). Every page is available as Markdown by adding `.md` to its URL or sending `Accept: text/markdown`.

1. [Home](https://www.zcraftstudios.com/)
2. [Blog](https://www.zcraftstudios.com/blog)
3. Creating NPCs With Citizens: A Setup Guide

[ All posts](https://www.zcraftstudios.com/blog)

# Creating NPCs With Citizens: A Setup Guide

ZCraft StudiosOct 3, 2026Updated Oct 20, 2026

A shopkeeper that stands still, a quest-giver with dialogue, a cosmetic character at spawn: Citizens is the plugin behind almost all of them.

## In this guide

- [Install Citizens](#install-citizens)
- [Creating Your First NPC](#creating-your-first-npc)
- [Changing the NPC's Skin](#changing-the-npcs-skin)
- [Making an NPC a Different Entity Type](#making-an-npc-a-different-entity-type)
- [Setting NPC Behavior](#setting-npc-behavior)
- [Setting a Patrol Path](#setting-a-patrol-path)
- [Removing an NPC](#removing-an-npc)
- [Listing All NPCs](#listing-all-npcs)
- [A Few Things Worth Knowing](#a-few-things-worth-knowing)
- [NPC interaction testing](#npc-interaction-testing)
- [Troubleshooting: NPC disappears or does nothing](#troubleshooting-npc-disappears-or-does-nothing)
- [Official documentation and links](#official-documentation-and-links)
- [An operational test worth running](#an-operational-test-worth-running)

## 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

[CitizensCreate NPCs and connect them to compatible server gameplay plugins.On Official site ](https://citizensnpcs.co/)

Download Citizens from the project linked above. Check the supported Minecraft version, server platform, Java requirement and dependencies for the selected release.

1. Back up the server files and any plugin database.
2. Stop the server before changing JAR files. Put the compatible plugin build and its required dependencies in the correct plugin folder.
3. Start the server and read the startup log. Resolve missing dependencies or version errors before editing the generated configuration.
4. Stop the server, make one small configuration change, then restart and test it with a non-operator account.

Confirm Citizens loads after a clean restart. Test the feature you need with an ordinary player account before adding optional integrations.

## Creating Your First NPC

```
/npc create Shopkeeper
```

spawns a basic player-skin NPC at your current location, named "Shopkeeper." By default it has no behavior and just stands there.

## Changing the NPC's Skin

```
/npc skin <playername>
```

sets the NPC's appearance to match any Minecraft player's skin, which is useful for giving NPCs a distinct, non-generic look.

## Making an NPC a Different Entity Type

```
/npc create GuardDog --type wolf
```

creates 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 lookclose
```

toggles 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 moveto
```

near a specific location, combined with waypoint commands, can give an NPC a path to patrol rather than staying fixed in one spot. This is useful for ambient, cosmetic NPCs wandering a town or spawn area.

## Removing an NPC

```
/npc select <id or name>
/npc remove
```

selects a specific NPC, then removes it permanently.

## Listing All NPCs

```
/npc list
```

shows every NPC currently on the server, with IDs. That helps 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, so they don't need to be recreated each time the server starts.
- A player-skin NPC uses a real Mojang username for its skin, but it doesn't need to be an actual player who has ever joined the server.

## NPC interaction testing

Create one test NPC before placing many around the hub. Check its spawn location after a restart, interaction behavior for non-operator players, and whether its commands execute with the intended permissions. Avoid giving user-controlled NPC interactions privileged console execution without carefully checking the plugin documentation.

## Troubleshooting: NPC disappears or does nothing

Check whether the NPC is assigned to the intended world and whether the chunk or world is loaded. Confirm the NPC persists after a clean restart. If an interaction does nothing, inspect the action's configured command, permissions and server logs.

### How to verify the fix

Test all NPC interactions as a normal player. Do not configure publicly clickable NPCs to execute unrestricted administrator commands.

## Official documentation and links

- [Official project repository](https://github.com/CitizensDev/Citizens2)
- [Building a New Player Onboarding Flow](https://www.zcraftstudios.com/blog/new-player-onboarding-tutorial-setup)

## An operational test worth running

Check NPC persistence through a restart and confirm each click action runs with intended permissions. NPCs that trigger commands should never accidentally grant staff-only capabilities to ordinary visitors. Test chunk unloading, multiple players interacting at once and how NPCs behave when their destination world is temporarily unavailable.

[ Previous guide Setting Up GriefPrevention for Player Land Claims](https://www.zcraftstudios.com/blog/griefprevention-claims-setup)[ Next guide Setting Up ViaVersion for Cross-Version Compatibility](https://www.zcraftstudios.com/blog/viaversion-cross-version-setup)
