



📜 ScrollQuest
A physical quest system with randomized missions, 5 rarity tiers, and custom rewards
Made with ❤ by zArrowTan, part of the Modern Plugin Series.
📋 Overview
ScrollQuest reinvents the quest system by handing players physical paper scrolls that hold randomized missions. Each quest is a real, tradeable item with its own objective, rarity, and rewards. Players collect them, track progress in real time, and right-click to claim, making quests feel tangible and valuable instead of buried in a menu. No database, no setup, just drop it in.
▶ Showcase
📜 Physical Quest System
- Paper Items: quests are real items players can hold, trade, and collect
- Custom Lore: mission type, progress, rarity, and rewards shown directly in the item lore
- Right-Click Progress: check progress and claim completed quests instantly
- Unique UUIDs: every quest has a unique identifier that prevents duplication
- Auto Cleanup: orphaned and dropped quests are removed automatically
✨ 5 Rarity Tiers
- Common white, 10-50 progress, basic rewards
- Uncommon green, 25-100 progress, decent rewards
- Rare blue with glow, 50-150 progress
- Epic purple with glow, 100-250 progress
- Legendary gold with glow, 200-500 progress
⚔️ 12 Mission Types
- Walk Blocks: walk any distance
- Chop Trees: chop any tree logs
- Chop Specific Tree: specific wood types (Oak, Spruce, Birch, Crimson, Warped, and more)
- Harvest Crops: harvest any crops
- Harvest Specific Crop: specific crops (Wheat, Carrots, Chorus, Kelp, Sweet Berries, and more)
- Mine Ores: mine any ore blocks
- Mine Specific Ore: specific ores (Coal, Iron, Diamond, Ancient Debris, and more)
- Place Blocks: place any blocks
- Catch Fish: fish in any water body
- Catch Specific Fish: specific fish (Cod, Salmon, Pufferfish, Tropical Fish)
- Kill Mobs: kill any hostile mobs
- Kill Specific Mob: specific entities (Zombies, Skeletons, Creepers, Endermen, Wither Skeletons, and more)
💰 Flexible Reward System
- Money: economy integration through Vault
- XP: award experience points or levels
- Commands: run console commands with the %player% placeholder
- Chance-Based Drops: set a 0-100% chance per reward, with the percentage shown in lore
- Max Rewards Cap: limit how many rewards roll per claim, configurable per mission or rarity
- Multiple Rewards: stack several reward types on a single quest
📊 Progress Tracking
- ActionBar Display: real-time quest name, progress bar, and percentage
- Title Notifications: big title announcements on completion
- Live Lore Updates: the quest item lore updates automatically
- Visual Progress Bar: color-coded bars showing completion status
- Stack Mode: choose whether identical missions progress together or one-by-one
- 9 PlaceholderAPI Placeholders: for scoreboards, tab lists, and chat formats
- Per-Player Stats: completion stats are tracked and persisted, perfect for leaderboards
🌐 Full Localization
- 15+ configurable lore strings: type labels, progress text, reward formats, bar characters, and claim instructions
- All 12 mission type names are translatable to any language
- Mission type icons: customize the emojis or symbols per type
- Rarity display names: rename Common to "Commun", Legendary to "Mythique", anything goes, with full color support
- Ideal for non-English communities or themed servers
🛡 Anti-Exploit Protection
- Player-Placed Block Tracking: breaking a block you placed yourself gives zero progress
- Fully Grown Crops Only: harvest missions require fully grown crops by default, no breaking baby wheat for free progress
- Enabled by default, fully configurable in
config.yml
⏳ Quest Expiration System
- Per-Rarity Durations: short timers for Commons, longer ones for Legendaries
- Flexible Units: hours (
12h), days (7d), or months (1mo) - Expiration On Lore: players always see when their scrolls expire
- Countdown: incomplete quests show clean countdowns like
3d 5hor< 1mon right-click - Timezone-Aware: configure your server timezone and a custom date format
- Fully optional, disabled by default
🎨 Resource Pack Support
- CustomModelData: assign custom textures per rarity via
config.yml - Dynamic Textures: separate models for in-progress vs completed quests, swapped automatically
- Fully optional, set to 0 to use the vanilla item texture
⚙ Advanced Configuration
- Rarity Customization: set min/max progress per tier
- Custom Sounds: sounds for completion, claims, and failures
- Title Timings: adjust title and subtitle display durations
- Hex Color Support: full hex color codes in every message
- Cleanup Intervals: configurable automatic quest cleanup
- ActionBar Format: customize the display with placeholders
⌨️ Commands & Permissions
Commands
/quest give <player> <rarity> [amount]
Give a random quest of a specific rarity/quest givemission <player> <mission> [amount]
Give a specific mission quest/quests reload
Reload all configurations
Aliases
/quest, /quests, /mission, /missions, /scroll, /scrollsPermissions
scrollquest.admin(Default: OP)
Access to all admin commandsscrollquest.use(Default: True)
Use and complete quests
🎯 How It Works
For Players
- Receive a quest scroll from an admin or reward system
- Read the details in the item lore (mission type, rarity, rewards)
- Complete the objectives as you play
- Watch your progress in the ActionBar while holding the quest
- Right-click the completed quest to claim your rewards
For Admins
- Use
/quest giveto distribute random quests by rarity - Use
/quest givemissionto give specific mission types - Customize missions, rewards, and rarities in
missions.yml - Configure behavior in
config.yml - Edit messages and colors in
messages.yml
📦 Example Missions (53 included)
- Common: Explorer's Journey, Novice Farmer, Apprentice Builder
- Uncommon: Wanderer's Path, Forester's Duty, Expert Miner
- Rare: Oak Master, Wheat Harvester, Iron Extractor, Marathon Runner
- Epic: Legendary Traveler, Diamond Hunter, Titan Builder, Crimson Harvester
- Legendary: Ancient Relic Hunter (1000 Ancient Debris), Chorus Picker
⭐ Why Choose ScrollQuest?
- Unique Physical System: tangible, tradeable quest items instead of database entries
- Randomized Content: no two quests feel the same within a rarity range
- Zero Database Setup: no MySQL, SQLite, or file storage, everything is stored via NBT
- Anti-Exploit Built In: player-placed block tracking and fully-grown crop checks stop progress farming
- PlaceholderAPI Ready: 9 placeholders for scoreboards, tab lists, and leaderboards
- Beautiful Feedback: progress bars, hex colors, glow effects, and title animations
- Highly Configurable: three config files with extensive options
- Performance Optimized: async processing and automatic cleanup
- Easy to Extend: simple YAML structure for adding custom missions
🧪 Requirements
- Minecraft: 1.16 to 1.21.11 (Paper or Spigot, Spigot 26.1)
- Java: 17 or higher (runs fine on a Java 25 JVM)
- Dependencies: none (Vault optional for economy, PlaceholderAPI optional)
- Storage: none required, uses NBT data
🖼 Screenshots
Spoiler: In-Game Screenshots

Help menu

Giving a random quest by rarity

Giving a specific mission

Quest scroll lore overview
📈 Metrics
This plugin uses bStats to collect anonymous usage stats. You can opt out anytime in
plugins/bStats/config.yml.💬 Support
Need help, found a bug, or want to suggest a feature? Join the Discord for support, setup help, and update announcements.
Latest Reviews 1 review · 1 from BuiltByBit
Excellent support, Simple plugin, works as intended. zArrowTan replies to discord tickets quickly and is very active.
ScrollQuest | Paper Mission Quests
zArrowTan
A lightweight quest plugin using paper scrolls - right-click to track and claim missions.
$5.39
Digital product, delivered instantly, no refunds · Terms
No versions available
Share and earn
How referrals work
- Your link is remembered for 30 days.
- 10% of each sale, paid to you as points.
- Yours to spend 30 days later.
- Ask your buyer to turn a VPN off, or the sale will not count.
Read the full rules
Earn on every sale you send here
10%
162 pts / sale