
SP Quests
/spadmin → SP Quests → Add quest opens the shared native editor. IDs are assigned on successful Save (quest_000001, quest_000002, …), skipping catalog and saved history IDs. Existing IDs stay unchanged; editing cannot rename them. The Category dropdown offers existing categories and + Add category…. A new category is a draft until Apply; Cancel writes nothing. Objectives and Rewards open list editors with Add/Remove, previous/next entry navigation and type dropdowns. Each quest has 1–16 objectives and 1–16 rewards. All objectives must be completed before the entire reward batch can be claimed once.

Objective types: KILL, MINE, SUBMIT. Rewards: COINS, ITEM, and experience. With RPG installed, select RPG_XP; without RPG, select XP for vanilla Minecraft experience. These are distinct currencies. Minecraft MMORPG disables vanilla XP, so XP rewards are refused when it is installed. RPG_XP requires MMORPG 0.5.6+ and Core 0.3.0+. Economy integration is optional. Item/XP-only rewards need no economy mod. Monetary rewards use the registered Core economy provider; SP Economy 1.3.0+ supplies one automatically. Without a compatible provider, the entire monetary reward batch remains ready for retry. Core stores no second balance.
/quests opens on Active, showing only your accepted, unclaimed missions, with ready-to-finish entries first. Successful claims and abandonment remove them from Active. Choose another category to browse and accept new missions. The journal has category tabs, missions on the right and individual objective progress plus rewards on the left. Accept starts a mission; Submit items delivers matching items; Finish quest appears when all tasks are done. Long details and lists scroll independently; rewards and categories can be paged. The server sends 16 missions per page and filters the entire catalog/history by category. Admin catalog and own-progress tables also send 16 rows per page.


Installation and commands
Install matching Quests 0.5.2 and Core 0.3.1 on server and clients, plus Loader 0.19.5+ and Fabric API 0.160.0+26.2. Replace old Quests JARs. SP Economy and Shop are optional for Quests. Other installed modules may still require Economy. If MMORPG is installed, update it to 0.5.6 and retain its VitalView dependency. Quests and Core retain their IDs sp_quests and sp_core. No catalog/progress migration is needed for 0.5.2.
/quests: journal;/quests list: chat listing with all tasks and rewards./quests accept <id>: freeze the accepted definition and rewards./quests submit <id>: deliver available plain items for all pending SUBMIT tasks./quests claim <id>: claim the complete reward batch once./quests abandon <id>: abandon only an unfinished quest./quests reload: game-master permission reloads validated catalog rules.
Actions require a living Survival/Adventure player. Creative/Spectator kills and mining do not count. Player/PvP kills never count. Kill credit follows the owning player, including projectiles. Mining requires a successful block break and the correct tool where required. Player-placed blocks can count. Submissions use the main 36 inventory slots and match plain registry-item components; customized items do not count. Multiple delivery tasks may be partially submitted, then retried. Duplicate objective type/target pairs are refused; combine their required amount.
Install matching Quests 0.5.2 on clients and server: the journal protocol is now v3. Older journal clients receive a matching-version/chat fallback.
Ten starter quests
A new installation creates these examples automatically, with no economy required:
| Quest | Objectives | Item rewards |
|---|---|---|
| Cattle supplies | Kill 10 cows | 5 leather + 5 raw beef |
| A bed for the night | Kill 10 sheep | 1 white bed |
| Your first furnace | Submit 8 cobblestone + 5 coal | 1 furnace |
| Stone worker | Mine 24 stone | 1 stone pickaxe |
| Light the way | Mine 8 regular coal ore | 32 torches |
| Timber delivery | Submit 16 oak logs | 64 oak planks |
| Night patrol | Kill 10 zombies + 5 skeletons | 1 iron sword + 1 shield |
| Bread for the village | Submit 24 wheat | 12 bread |
| A hunter's bow | Kill 5 spiders + submit 8 string | 1 bow + 16 arrows |
| An iron upgrade | Mine 8 regular iron ore + submit 8 raw iron | 1 iron pickaxe |
Categories: Hunting, Mining, Supplies. Delivery objectives consume the materials. All objectives must be done before collecting the entire reward batch once. Normal mob drops remain separate from quest rewards. Regular and deepslate ores are distinct registry targets; the mining descriptions identify the target.
Existing catalogs are preserved. To add these examples, use /spadmin → SP Quests → Settings → Add starter quests → Apply. Cancel writes nothing. Existing and disabled IDs, plus IDs retained in accepted player history, are skipped. Repeating the import does not duplicate missions or change accepted definitions/progress.
Searchable quest targets
Objective targets and item rewards now provide autocomplete in the shared editor. Start typing a display name or registry ID; the dropdown updates as you type. KILL searches entities, MINE searches blocks, and SUBMIT / ITEM rewards search items. Installed mods' registered entries are included. Select with the mouse or Up/Down and Enter/Tab; Escape closes suggestions. The selected value is saved as its registry ID and the server still validates it. Unknown IDs remain rejected.

Personal quest HUD
Accepting a mission does not automatically display it. Open /quests, select an accepted mission, and choose Track to show it on the HUD; Untrack removes it. You can have ten active missions and display only the two you choose. All active missions keep progressing whether tracked or not. Ready missions show Ready to finish; claimed or abandoned missions disappear from the HUD.
The tracker uses a compact gold quest-title list with individual objective counts. /questshud opens personal settings: Show HUD, background, completed-objective visibility, scale, opacity, width, visible mission count, and X/Y position. Move HUD opens a drag preview. Save commits the draft; Cancel/Escape discards it. Preview uses sample missions when none are tracked. F1 and other screens hide the normal gameplay HUD; the position editor explicitly previews it.
Selection is saved per player UUID and world in sp-quests-tracking.json, with up to 16 selected missions. Personal appearance settings are saved locally in config/sp-quests/hud.json and shared across worlds in that client installation. The server validates selections and sends only the player's tracked definitions and progress, independently of the journal's current page. Disconnect clears the previous world's HUD; selected missions return when that world is reopened.


Optional economy
SP Quests does not require SP Economy or link to its implementation classes. It automatically consumes the single economy provider registered with Core. /spadmin → SP Quests → Settings shows the detected provider or Unavailable. A third-party economy needs an adapter implementing Core EconomyService; simply installing an arbitrary economy mod does not make its API compatible. No third-party adapter or multi-provider selection is bundled in this release.
With SP Economy, reward amounts remain SPCoins. Other compatible providers use a generic currency label and gold-nugget icon. Amounts retain their existing integer units; there is no automatic conversion, balance migration or wallet creation. All positive COINS entries are paid through the selected provider's existing wallet. Zero-value COINS entries and item/XP-only batches do not access an economy service.
If a quest includes money and no provider exists, all of its rewards stay unclaimed; items and XP are not paid separately. Install a compatible provider and restart to retry. Existing accepted quests keep their frozen rewards. Fresh installations include ten item-only starter quests. Existing catalogs are preserved; use Settings → Add starter quests to add the examples. Changing economy providers does not copy balances or convert accepted reward units.
Data and migration
Catalog: config/sp-quests/quests.json, format 2 with nextQuestNumber, categories, quests and optional disabled. Maximum 128 missions and 64 categories (32 characters each). Names are at most 80 characters; descriptions 1000. Objectives contain type, target, count (1–100000). Rewards contain type, item, amount: coins 0–10^12, items 1–4096 per entry, XP/RPG_XP 1–1000000 combined per type. Registry IDs are validated. Non-item rewards use an empty item value. The ID counter is saved only with a valid successful quest save. Catalog reload/edit/disable affects future acceptance only.
World data: <world>/sp-quests.json, format 2, per-player UUID, up to 1024 retained quest IDs. Each state contains its frozen definition, progressByObjective, aggregate progress, and claimed. Every successful mutation saves through temp-file replacement. Invalid/future files stop loading instead of resetting data.
Format-1 catalogs and progress load automatically. Missing arrays become the old single objective/coin reward; IDs, accepted rules, partial progress and claim history are preserved. First format-2 write backs up the original file once as quests.json.pre-v2 (catalog) or sp-quests.json.pre-v2 (world). Existing backups are never overwritten. Old scalar quest fields remain compatibility adapters. Do not load format-2 data with old binaries; restore a complete backup for a downgrade.
Rewards preflight the entire inventory and XP/wallet limits. A full inventory refuses the batch without dropping items. Normal wallet/quest/effect write failures restore coins, inventory, XP and claim eligibility. Separate wallet, quest, Minecraft player and RPG character files are not crash-atomic: back up the complete world. An abrupt process crash is not an exactly-once transaction guarantee.
Daily/Weekly/Monthly are categories without automatic resets. Quest chains, party credit, NPCs and admin progress resets are not implemented. Already accepted missions remain available even if their catalog definition is disabled or removed.


