Skip to main content

QuestKeeper

A Paper Minecraft plugin that generates a new daily quest for your server every day, delivered through a Citizens NPC. Quests are automatically generated and validated across many types — delivering items, herding mobs, exploring biomes, discovering structures, fighting mobs, crafting, trading with villagers, and biome-specific gathering — with optional timed BossBar challenges. Players earn points and build streaks with no manual quest writing required.

note

QuestKeeper is currently in development. Configuration keys and behavior described here target version 0.1.0-SNAPSHOT.


Why QuestKeeper

  • One shared goal per day — a single active quest for the whole server; every player can complete it once.
  • No manual quest writing — quests are generated and validated automatically from curated internal pools.
  • Delivered through an NPC — players interact with a Citizens NPC to view and turn in their quest.
  • Modular quest-type framework — a registry pattern means new quest types don't require touching core generation logic.
  • Points & streaks — completing quests builds a daily streak that resets if a day is missed.

Feature Summary

TypeCompletionDescription
ITEM_DELIVERYNPC turn-inCollect a set number of an item and right-click the NPC. Items are removed on success.
MOB_DELIVERYNPC turn-inBring passive mobs within 6 blocks of the NPC. Mobs are removed on success.
EXPLORATIONAutomaticVisit a target biome (e.g. Desert, Jungle). Completes the instant you arrive.
STRUCTURE_DISCOVERYAutomaticFind a generated structure (Village, Stronghold, Monument…) located via Paper structure APIs.
COMBATAutomaticKill N of a mob. Only direct player kills count.
CRAFTINGAutomaticCraft N of an item. Only items crafted after the quest started count.
VILLAGER_TRADINGAutomaticComplete N villager trades.
BIOME_COLLECTIONAutomaticCollect items from their natural biome. Player-placed blocks never count.
ESCORT(roadmap)Experimental escort framework — architecture only, disabled by default.

See Quest Types for full detail on pools, tiers, and timed quests.


Requirements

DependencyVersion
Paper1.21.4+
Citizens2.x
Java21+

Optional integrations

PluginEffect
ConsentPvPSoft dependency. When installed, a player can only be teleported to (via /tscroll player) if they have consented. When absent, teleport consent checks are skipped.

Where to Next

  • Player Guide — a quick reference for players: what to do, commands, and the shop.
  • Installation — requirements, install steps, and building from source.
  • Commands — every command and what it does.
  • Permissions — the full permission node list.
  • Configuration — annotated config.yml reference.
  • Quest Types — every quest type, its pool, and timed quests.
  • Quest Shop — spending Quest Points on scrolls, shields, and effects.
  • Data Filesquest.yml, players.yml, and stats.yml.
  • Troubleshooting & FAQ — common questions and fixes.