π§ NPC Quest Givers
Letting players run /q take <quest> is fine, but it's way more immersive when they walk up to a villager, right-click them, and get handed a quest. That's what quest givers are for.
NotQuests supports three kinds of quest givers out of the box:
| Backend | Reference format | ID type |
|---|---|---|
| Citizens | citizens:<id> | a number (e.g. 5 ) |
| FancyNPCs | fancynpcs:<id> | a text id |
| Armor stands | β (right-click them) | built right into vanilla |
You don't need a separate NPC plugin for armor stands β they work on any server.
Attaching a quest to a Citizens / FancyNPCs NPCβ
Grab your NPC's id, then:
/qa edit TheVirus npcs add citizens:5
β¦or for a FancyNPC:
/qa edit TheVirus npcs add fancynpcs:myNpcId
That's it β now players can right-click that NPC to preview and take the quest.
Instead of an id, type rightClickSelect and then right-click the NPC you want:
/qa edit TheVirus npcs add rightClickSelect
No need to look anything up. This also works for armor stands.
Hiding a quest on an NPCβ
Sometimes you want a quest attached to an NPC without it showing up in that NPC's "available quests" list β for example a delivery target, or the NPC you talk to in order to finish a quest. Add the --hideInNPC flag:
/qa edit TheVirus npcs add citizens:5 --hideInNPC
Managing a quest's NPCsβ
- /qa edit TheVirus npcs list - shows every NPC this quest is attached to (and whether it's shown or hidden).
- /qa edit TheVirus npcs clear - detaches the quest from all NPCs.
Armor stand quest giversβ
No NPC plugin? No problem. Any armor stand can be a quest giver.
/qa edit TheVirus armorstands add
This hands you a special item (a ghast tear). Right-click the armor stand with it, and the quest gets attached. Use the --hideInArmorStand flag if you want it attached but not listed.
A couple of companion commands, each of which gives you an item to click an armor stand with:
- /qa edit TheVirus armorstands remove - removes the quest from an armor stand you click.
- /qa edit TheVirus armorstands check - shows you which quests are on an armor stand you click.
By default, armor stands with quests attached are protected from accidental edits, and they get a little floating particle so players can spot them. Both are configurable under visual.armorstands in general.yml.
Using NPCs inside objectivesβ
The same NPC reference works for objectives that point at an NPC β like TalkToNPC , delivering items to an NPC, or finishing a quest by talking to one. Whenever an objective asks for an NPC, you give it the same citizens:<id> / fancynpcs:<id> reference (or rightClickSelect ).
Giving an NPC a conversationβ
Quest givers get a lot more lively when they actually talk. You can bind a conversation to an NPC so right-clicking them starts a dialogue:
/qa conversations edit myConversation npcs add citizens:5
rightClickSelect works here too. For the full dialogue system β branching options, conditions, in-line actions β head over to the Conversations guide.
Quick recapβ
- Attach: /qa edit <quest> npcs add <citizens:id | fancynpcs:id | rightClickSelect>
- Hide on the NPC: add --hideInNPC
- Armor stands: /qa edit <quest> armorstands add , then right-click the stand
- Conversations: /qa conversations edit <conversation> npcs add <npc>
Now go populate your world with quest givers. π