Quest boards, NPC village quests, party-shared objectives, rewards, journals, and point shops for Paper servers.
StormQuests
Adds quest boards, NPC village quests, party-shared objectives, quest journals, rewards, quest points, and a point shop.
StormQuests is a quest system for Paper servers built around accepted quests, visible progress, NPC-driven village work, party sharing, reward scaling, and optional integration objectives from the wider Storm plugin ecosystem.
It is designed for survival, RPG, and village-focused servers where quests should feel like live world activity instead of a static checklist.
Features
- Public quest board through
/quests. - GUI quest board through
/questboard. - Accepted quest tracking and progress through
/quest. - Action-bar quest tracking with
/quest track <id>and/quest track off. - Quest reward previews through
/quest rewards [id]. - Quest chain previews through
/quest chain [id]. - Quest points and a quest point shop.
- Quest journals with readable objective text and generated location hints.
- Solo quests and party-shared quests.
- Repeatable quests with cooldowns.
- Completed-quest prerequisites for progression chains.
- StormMMO skill requirements for higher-level quests when StormMMO is installed.
- Player-aware reward previews using StormMMO power-level scaling.
- Quest accept and completion cutscenes with titles, subtitles, sounds, and delays.
- In-game admin quest editor.
- Admin create, clone, delete, toggle, validate, objective, and command-reward tools.
- Built-in bundled quest seeding.
- New-player starter quest flow with intro presentation.
- Runtime-generated quest locations, tagged containers, quest items, hostile packs, and escort NPCs.
- Automatic cleanup of generated quest runtime data on completion, abandon, reset, or NPC purge.
- NPC village quest roles with deterministic names, gear, glow highlighting, protection, local patrols, and role-specific dialogue.
- Village trader offers that unlock as village quest chains are completed.
- Village favour display and role gates for generated village-specific quests.
- Safe village quest NPC placement that searches for standable ground and avoids managed court, jail, reconstruction, and scene worlds.
- Coalesced async save queue for normal gameplay progress.
- SQLite storage by default, with YAML, MySQL, and MariaDB support.
- Bukkit service API for managed external quests and progress credit.
- Bukkit events for quest progression and shop purchase integrations.
- Paper and StormServer-compatible build support from the shared codebase.
Quest Objectives
StormQuests supports many objective types, including:
kill_entitymine_blockplace_blockcraft_itemcollect_itemdeliver_itemtravel_distancevisit_biomevisit_worldvisit_locationsearch_containerquest_itemnpc_interactnpc_escortnpc_deliver_itemstormmmo_xp_gainstormmmo_level_reachstormeconomy_actionstormdisguises_actionstormfactions_actionblockledger_actionstormcontracts_actionthreatmeter_level_reachcommandfoundry_actionteamwork_cooperationlifesaver_protectionlifesaver_savealignment_actionexternal_progress
Objective text is rendered in player-friendly form in /quest info, /quest progress, quest tracking, and quest journals.
Village Quest NPCs
StormQuests requires NPCs and uses linked NPCs for village quest characters.
When VillageGrowth is available, occupied villages with completed or detected houses can receive role-based quest NPCs around safe village anchors. VillageMemory can provide village names, parts, and resource hooks for richer village-specific work.
Village NPC roles include:
- Administrator
- Farmer
- Warrior
- Cook
- Archer
- Builder
- Trader
- Healer
These NPCs can offer local work, referral chains, role-specific deliveries, village favour progression, and unlocked trader stock. If VillageGrowth is unavailable, automatic village quest NPC spawning pauses and /stormquests npcs status reports the reason.
Bundled Quests
StormQuests ships with bundled quest content for early progression, village support, travel, recovery, combat, delivery, escorting, faction work, investigation, contract noticeboards, danger checks, disguise practice, home setup, and report-back objectives.
Examples include:
newcomers-first-stepslost-villager-escortvillage-suppliessmiths-restockcommunity-lanternswatch-at-the-gatetrusted-handsdanger-at-the-crossingcoin-for-the-coffermask-at-the-hedgerowcharter-at-the-crossroadshomeward-boundsupply-the-bannerledger-at-the-gatenoticeboard-bounty
Bundled quests use prerequisites to form a simple progression path from the starter quest into village work, artisan tasks, faction support, investigation, utility goals, and higher-risk adventure branches.
Rewards
Quest rewards can include:
- Quest points.
- StormEconomy money.
- StormMMO XP.
- Alignments actions.
- Safe command rewards.
StormMMO reward scaling can increase money and MMO XP rewards based on player power level. Reward previews use the same scaling path as actual reward delivery, so players see what they will actually receive.
Reward commands are security-sensitive. StormQuests includes a blocked-command list for authentication and account-sensitive commands, and managed external quests cannot bypass validation.
Quest Points And Shop
Players earn quest points from completed quests.
Quest point shop rewards can include:
- Point costs.
- Cooldowns.
- Purchase limits.
- Permission requirements.
- Command rewards.
Commands:
/quest points/questshop [page]/questshop buy <reward>
Commands
Player commands:
/quests [page]/quest info <id>/quest accept <id>/quest abandon <id>/quest progress [id]/quest rewards [id]/quest chain [id]/quest complete <id>/quest track <id>/quest track off/quest points [player]/questboard/questshop [page]/questshop buy <reward>
Admin commands:
/stormquests editor/stormquests status/stormquests audit/stormquests storage/stormquests save/stormquests backup/stormquests reload/stormquests reset <player> [quest]/stormquests points <grant|revoke|set> <player> <amount>/stormquests npcs status/stormquests npcs purge/stormquests npcs spawnnow/stormquests premadenpcs/stormquests create <id> [display name]/stormquests delete <id>/stormquests clone <source> <new-id>/stormquests toggle <id>/stormquests validate <id>/stormquests addobjective <quest> <type> <target> <amount>/stormquests addcommand <quest> <command>
/stormquests premadenpcs is kept as a compatibility alias for the quest NPC cleanup and eligible-village refresh flow.
Permissions
Normal player access is granted by default through stormquests.defaults.
Player permissions:
stormquests.questsstormquests.queststormquests.shopstormquests.points.others
Admin permissions:
stormquests.adminstormquests.admin.commandstormquests.admin.editorstormquests.admin.auditstormquests.admin.storagestormquests.admin.savestormquests.admin.backupstormquests.admin.reloadstormquests.admin.resetstormquests.admin.pointsstormquests.admin.premadestormquests.admin.npcs
Storage
StormQuests supports:
- SQLite
- YAML
- MySQL
- MariaDB
SQLite is the default:
plugins/StormQuests/stormquests.db
Stored data includes quest definitions, objectives, prerequisites, rewards, cutscenes, shop rewards, player progress, completed quests, cooldowns, quest points, tracked quests, runtime metadata, generated quest data, and audit records.
Integrations
StormQuests requires:
- NPCs for linked quest NPCs, visible village roles, patrol behaviour, protection, trader offers, escorts, and NPC interaction objectives.
Optional integrations include:
- VillageGrowth for eligible village discovery, village centres, completed-building counts, and village quest NPC spawning.
- VillageMemory for village names, village parts, and bounded village resource benefits.
- StormParty for nearby party-shared quest progress.
- StormEconomy for money rewards and economy-action objectives.
- StormDisguises for disguise apply and clear objectives.
- StormMMO for XP rewards, skill requirements, level objectives, and power-based reward scaling.
- Teamwork for cooperation objectives.
- Lifesaver for protection and save objectives.
- Alignments for action objectives and quest-completion alignment rewards.
- StormFactions for faction creation, claims, bank, member, and power objectives.
- BlockLedger for case-work objectives.
- StormContracts for contract post, track, progress, claim, and payout objectives.
- ThreatMeter for danger-level objectives.
- CommandFoundry for home, kit, and teleport utility objectives.
- ThunderPerms for permission checks when available.
Optional integrations stay inert when their plugin is missing or disabled. The relevant objectives simply wait for the matching integration signal instead of breaking the quest system.
External Quest API
StormQuests exposes a Bukkit service API for other plugins.
The API can:
- Inspect quests and shop rewards.
- Inspect active quest progress.
- Inspect the tracked quest.
- Inspect and modify quest points.
- Accept, complete, and abandon quests.
- Buy shop rewards.
- Register owner-prefixed managed external quests.
- Credit
EXTERNAL_PROGRESSobjectives. - Remove external quests.
- Check storage health.
This lets other plugins safely add managed quest hooks without directly mutating StormQuests storage.
Notes
StormQuests is built for servers that want questing to be part of normal survival play. Players can find villages, speak with NPCs, follow chains, track objectives, share progress with nearby party members, earn rewards, spend quest points, and unlock more work over time.
The plugin focuses on safe integration behaviour, readable player-facing objective text, recoverable generated runtime content, and admin tools for maintaining custom quests on live servers.