Hi! In this article we will learn how to install, configure and use Citizens.
Citizens is a plugin that will allow you to create NPCs for your server, and it will give you too many tools to get the most out of them.

Installing Citizens

You can download Citizens from the following links:
Premium Version
Free Version

After downloading the file, shutdown your server, put the file in the plugins folder, and start your server again!
If you have any questions about how to install plugins, read this article!

Configuring Citizens

The configuration of this plugin is really simple, here we will explain the most important or useful settings! (Go to the config.yml file)

always-use-name-holograms: Will set if npcs should always use holograms in their names, you can toggle this value between true and false

enabled: Sets whether npcs should say something when approaching them
range: It will set the approach distance in meters so the npc can say something

disable: It will set if your npcs should appear in the tab list, supported values ​​are true and false

always-keep-loaded: It will set whether or not your npcs should always load the chunks from their location, this could affect the performance of your server if you have many npcs

cost: Set a value to the creation of an npc

Commands and Permissions

Now we will name the most important commands and their respective permissions, complemented with a brief description and the optional arguments (These will be inside a ()) and the mandatory arguments (These will be inside a [])
We will divide this section of the article into parts according to the type of command

Admin Commands

Permission: citizens.admin
Description: Show basic plugin information

/citizens reload
Permission: citizens.admin
Description: Reload Citizens

/citizens save
Permission: citizens.admin
Description: Save NPCs and configuration

NPC Commands

/npc create
Permission: citizens.npc.create
Arguments: [name] ((-b,u) --at [x:y:z:world] --type [type] --trait ['trait1, trait2...'] --b [behaviours])
Description: Create a new NPC

/npc copy
Permission: citizens.npc.copy
Arguments: (--name newname)
Description: Copies an NPC

/npc despawn
Permission: citizens.npc.despawn
Arguments: (id)
Description: Despawn a NPC

/npc age
Permission: citizens.npc.age
Arguments: [age] (-l)
Description: Set the age of a NPC

/npc behaviour
Permission: citizens.npc.behaviour
Description: It will set a behaviour for your npc, you will need to use the citizens API, which can be found here

/npc spawn
Permission: citizens.npc.spawn
Arguments: (id/name) -l(oad chunks)
Description: Spawn an existing NPC

/npc command
Permission: OP
Arguments: (add [command] / remove [id] / permissions [permissions] / sequential) (-l[eft]/-r[ight]) (-p[layer] -o[p]), --cooldown [seconds] --delay [ticks] --permissions [perms] --n [max # of uses]
Description: Controls commands which will be run when clicking on an NPC

/npc gamemode
Permission: citizens.npc.gamemode
Arguments: [gamemode]
Description: Changes the gamemode

/npc inventory
Permission: citizens.npc.edit.equip
Arguments: None
Description: Show's an NPC's inventory

/npc name
Permission: citizens.npc.name
Arguments: None
Description: Toggle nameplate visibility

/npc owner
Permission: citizens.npc.owner
Arguments: [name]
Description: Set the owner of an NPC

/npc passive
Permission: OP
Arguments: (--set [true/false])
Description: Sets whether an NPC damages other entities or not

/npc rename
Permission: citizens.npc.rename
Arguments: [name]
Description: Rename a NPC

/npc tp
Permission: citizens.npc.tp
Arguments: None
Description: Teleport to a NPC

/npc tphere
Permission: citizens.npc.tphere
Arguments: None
Description: Teleport a NPC to your location

/npc tpto
Permission: citizens.npc.tpto
Arguments: [player name/npc id] [player name/npc id]
Description: Teleport an NPC or player to another NPC or player

/npc vulnerable
Permission: citizens.npc.vulnerable
Arguments: (-t)
Description: Toggles an NPC's vulnerability

/npc help
Permission: citizens.npc.help
Arguments: None
Description: Show NPC help menu

To manage the necessary permissions, you must use a plugin that has this function, we recommend LuckPerms for this, you can download it here

If you have any questions or problems using this plugin, feel free to contact us through our live chat, or ask in the #community-help channel on our Discord Server

Article written by MrObo#0001 ( ID 840187649800142878 ) with improvements from MrRazamataz.
Was this article helpful?
Thank you!