Frequently Asked Questions

From Citizens Wiki

Revision as of 16:11, 13 August 2020 by Mcmonkey (talk | contribs)

This page contains frequently asked questions regarding the Citizens project. You should always check here before submitting an issue, asking on Discord, or posting on the forum thread. Your queries could very well have already been answered here.

Why isn't Citizens working on my server?

Citizens is an advanced plugin and requires a current build of Spigot to work.

If you are getting NoClassDefFound, ClassNotFoundException, or FieldNotFound errors, ensure that you have the correct sub-version of Spigot. (That is the latest version, within a minecraft version, like 1.15.2 instead of 1.15 or 1.15.1). And that you have a relatively recent primary version of Spigot/Minecraft (that is, a version that came out within the past few years).

Otherwise, ask on Discord here, or submit an issue here.

Can I change what skin an NPC has, separately from its name?

Yes, via /npc skin. For a detailed explanation, see the Skins page.

Why can't my users hear my NPCs?

Make sure you give them the proper permissions. Users will need citizens.npc.talk to hear NPCs by clicking or talk-close. See Permissions.

I can't right-click to select an NPC

By default you must be holding a stick to right-click-select a NPC. The item can be changed in the Configuration. Use '*' to not require any item.

How do I make an NPC run a command when a player clicks it?

Via /npc command Refer to NPC_Commands for details.

There's a "0 health" line below my NPC's names

This is a "below_name" scoreboard. It was not created by Citizens.

It was most likely created by another plugin (such as "TAB"). Contact that plugin's support for details on how to avoid this problem (if the plugin is "TAB", there is a config option under "belowname"->"enabled" which you can set to "false" to disable this feature of that plugin).

These scoreboards are also sometimes created by staff using vanilla /scoreboard commands. If so, simply remove the below_name scoreboard using that command.

Why are NPCs showing up in the tablist?

When Minecraft 1.7 added UUIDs and a new skin system, some servers used it to dynamically customize player skins. Mojang was unhappy about this, and so in 1.7.6 made very strict player entity validation requirements. One of these requirements is that any player entity that spawns must be in the tablist at the time it's spawned. Unfortunately, this means Citizens NPCs must appear momentarily in the tablist when they spawn into view. For the sake of not having constant tablist space-waste, we've made the NPCs disappear again from the tablist as quickly as possible (a fraction of a second).

If you wish to avoid that flashing, the only viable way is to simply fill the tab-list so completely that NPCs would be past the edge of it and thus not visible. Some tab-list plugins fill the screen with blank slots and/or information messages wherever space isn't used by real players. Any tab list like that should in theory automatically avoid the flicker effect.

If you're not interesting in running such a plugin, the only other option is to simply ignore the flashing. It's not actually particularly noticeable to players - in addition to of course just being a very short brief flash, seeing that flash at all requires you be actively moving at the edge of render-distance from an NPC with the Tab key held down, which isn't something most players do very often.

I have a free server (Aternos, Minehut, ...) but there's problems

Free servers won't work well. They generally restrict servers so heavily that bugs occur and cannot be resolved.

Please either get a legitimate server (a VPS or Dedicated Server from a reputable server company like "OVH"), or if you cannot afford that, instead simply homehost.

"Homehosting" is when you run the Spigot server on your home PC (desktop or laptop). Not only is this possible, it is actually *better* than free hosts in most cases, as it gives you the freedom and control you need to run a problem-free minecraft server, and the only real limitation is that you have to keep your home PC running for the minecraft server to stay up.

Historical

How Do I Add Multiple Lines To An NPC's Name?

An entity name in minecraft only has one line. You can, however, just spawn multiple entities to form the name.

The easiest way to do this is to just download any holograms plugin, and place holograms above the NPC to make those 'additional lines'.

If you don't want to download a new plugin for that, just spawn armor stands entities with gravity=false, marker=true, visible=false, and the name set to the additional line.

In modern builds you can now just use <c>/npc hologram</c> for this.


NPC names are capped at only 16 characters! Or, '/npc name' won't work!

One of the most common plugin conflicts with Citizens is caused by scoreboard plugins.

This can cause problems such as: NPC names being capped at 16 characters (rather than the normal 48), /npc name not toggling nameplate visibility properly, or other scoreboard-related functionality failing.

This can by caused by any form of scoreboard-related plugin, such as those that add a sidebar (like Featherboard does), edit player nametags, add custom below_name lines, or similar.

This is not an unavoidable problem, it's instead caused by a mistake many scoreboard plugins make. If interested, you can read the technical details of this mistake at Plugin_Conflict.

The fix for users, however, is simple: Either report the issue to the developer of your scoreboard plugin, or switch to a non-broken scoreboard plugin (if you want a sidebar, consider the Magic Sidebar script).

This was fixed in a recent version.

How do I upgrade from old versions to Citizens 2.0?

See the Installation page.

How do I get more NPC types?

NPC types are now called "traits". These are no longer built-in JARs that you place in the /plugins/Citizens/types directory. You must download each individual character and place it in the /plugins folder.

You can find out more about traits on the Characters page, or learn how to make your own on the API page.

See Also

Configuration
Commands
Permissions