

Build everything from simple quests
to complete RPG progression systems.
Features
⭐ 75 Objective Types
⚙ 4 Unique Quest Engines
(Default, Chains, Rotations, Global)
📚 70+ Built-in Quests across 6 Categories
Ready to use out of the box!
Supported Integrations
📦 ItemsAdder
👤 Citizens
🎭 FancyNpcs
🔠 PlaceholderAPI
Compatibility
✅ Supports Spigot, Paper, and Folia
Supported Minecraft Versions
1.16 - 26.2
Ченджлог
1.8.1Релиз26.1.1, 26.1.2, 26.2 · 5 июля 2026 г.
🔧 New Features:
- Added a new setting for automatic global quest data saving intervals:
auto-save: global-interval-seconds: 900 # Auto-save interval for global quests in seconds (15 mins) - Added a new setting to log all player interactions with quests:
logs: enabled: false # Enable/disable gameplay events logging to logs/YYYY-MM-DD.log
🛠 Fixes & Changes:
- Global quest progress is now saved to the main configured database instead of a separate
.ymlfile (old data will automatically migrate!). - Fixed an issue where automatic saving for global quests was not working correctly; auto-saving is now fully functional and logs properly.
- Fixed a bug where a global quest could be activated in a restricted game mode (preventing it from tracking progress) if game mode settings were changed mid-quest.
- Fixed incorrect translation strings in most language files, adapted for the new localization keys.
- Optimized plugin size by removing unnecessary translation files for dependencies.
1.8.0Релиз26.1.1, 26.1.2, 26.2 · 5 июля 2026 г.
⚠️ WARNING: Please make a backup of your plugin folder before installing this update!
🔧 New Features:
- New Quest Engine: GLOBAL
- This is a new type of quest that the entire server completes together.
- To complete such a quest, every participating player contributes to the overall progress.
- Added the ability to configure step-by-step rewards for every N units of progress a player contributes to the global quest.
- You can set a personal contribution limit for players to prevent one person from completing the entire quest alone.
- After reaching the personal contribution limit, the player will have to wait for the quest to be completed by other players to receive the final reward.
- Upon completion of a global quest, statistics will be displayed in the chat: top contributors, time spent, and total number of participants.
- Added server-wide sound playback upon completion of a global quest.
- Added new visual delays in
config.yml:stage-complete,quest-complete, andauto-activate-next. - Added support for Spigot and Folia server platforms.
🛠 Fixes & Changes:
- Completely removed the following quest objectives:
DELIVER_ITEM,COLLECT_ITEM,FISHING_BOBBER_HOOK. - Changed the progress tracking logic for
OPEN_CONTAINER- now only unique opened containers are counted. This restriction can be bypassed using thequestborn.antiabuse.bypasspermission. - Optimized quest handlers for better performance.
- Improved database operations.
Enjoy using the update!
1.7.0Релиз26.1.1, 26.1.2, 26.2 · 28 июня 2026 г.
⚠️ WARNING: Please make a backup of your plugin folder before installing this update!
New Features:
- Added official support for versions 26.1, 26.2
- Added support for custom and exact world names in
CHANGE_DIMENSIONquest (without false triggers from similar names). - Added
worldssection toconfig.ymlto translate names of any dimensions (e.g.world_nether-> Nether).
Bug Fixes:
- Item delivery progress now shows the exact total amount (e.g.
0/32), rather than0/1. - Fixed a bug where the ActionBar message disappeared in a millisecond.
- The successful item delivery message now always shows BEFORE the quest completion message.
- Removed unnecessary
Vault economy provider not foundconsole spam when Vault is disabled. - Cleaned up quest GUI menus: removed the duplicate item delivery message from the main description.
- Edited terminology and completely fixed encoding bugs across all 10 language files.
Enjoy using the update!
1.6.0Релиз1.21.9, 1.21.10, 1.21.11 · 9 апреля 2026 г.
Changes in Quest Objectives:
INTERACT_BLOCK- Now counts only 1 time per block. If it's the same block that was already counted - it simply won't count, unless the player has thequestborn.antiabuse.bypasspermission to bypass this.HARVEST_CROP- Now correctly counts the harvesting of nether wart.STRIP_LOG- Fixed false progress counting when a shield is in the off-hand and an axe in the main hand.FILL_FUEL- Now counts the amount of item deposited as progress, not the number of times.TRAVEL_DISTANCE- Now does not count the distance traveled along the Y-axis.SPRINT_DISTANCE- Now does not count the distance traveled along the Y-axis.CONDUIT_ACTIVATE- Fixed constant progress counting when the player activated it only 1 time.REACH_LOCATION- Now functional (previously it was not working at all).ENTER_REGION- Now functional (previously it was not working at all).LEAVE_REGION- Now functional (previously it was not working at all).
New Quest Objectives:
BURN_FUEL- Counts progress when the player burns the specified items in different furnaces.VILLAGER_BUY_ITEM- Counts progress when the player buys the specified item from a Villager.VILLAGER_SELL_ITEM- Counts progress when the player sells the specified item to a Villager.REACH_BIOME- Counts progress when the player visits the specified biome.
Removed Quest Objectives:
TELEPORT- Fully removed. (If you need the player to teleport to a specified world, useCHANGE_DIMENSION).TRADE_WITH_VILLAGER- Fully removed. (Replaced by 2 new types:VILLAGER_BUY_ITEMandVILLAGER_SELL_ITEM).
menus.yml Update: Actions are now supported when clicking on an item. Example:
menus:
main:
items:
close_btn:
slot: 44
material: IRON_DOOR
name: "<#ff8888>✖ Close Menu"
lore:
- "<#cccccc>Click to exit"
- "<#cccccc>main menu"
actions:
- "[close]"
website_btn:
slot: 36
material: COMPASS
name: "<#aaffaa>🌐 Our Website"
lore:
- "<#cccccc>Discover news and"
- "<#cccccc>updates on our site!"
- ""
- "<#ffffff>» Click to open"
actions:
- "[close]"
- "[player] website"
Other Minor Updates:
- The progress bar in ActionBar / BossBar / Scoreboard will momentarily fill completely when the player receives the final progress, before the specified effects are played.
- When typing commands, commands starting with
questborn:will no longer be highlighted. - Fixed an issue where the number of pages in the GUI could sometimes show more than there actually were.
Localization Update:
- Added key
gui.details.objective.villager-sell-item - Added key
gui.details.objective.villager-buy-item - Added key
gui.details.objective.reach-biome - Added key
quest.icons.villager-sell-item - Added key
quest.icons.villager-buy-item - Added key
quest.icons.reach-biome - Removed key
quest.icons.teleport - Removed key
quest.icons.trade-with-villager - Removed key
gui.details.objective.trade-with-villager - Removed key
gui.details.objective.teleport - Removed keys
gui.details.objective.cause.*
Enjoy using the update!
1.5.0Релиз1.21.9, 1.21.10, 1.21.11 · 12 марта 2026 г.
🚨 Make a full backup of the Questborn plugin folder (especially player data and configs) before updating!
The New ROTATION Engine Introducing the completely new ROTATION engine! It is perfect for creating daily, weekly, or other cyclical quests:
- Quest Pools: Automatic and randomized quest generation from pre-configured pools.
- Reset Timers: Flexible configuration for progress resets (daily, every few days, or at a specific time).
- Individual Generation: You can now configure it so every player gets their own unique set of quests from a pool, or keep it the same for everyone.
- GUI Display: Full support for configuring specific slots where selected quests will appear for each type (rotation-slots).
- Built-in Quests Updated: The default daily and weekly quests have been completely rewritten to utilize the new ROTATION engine features!
This is how it looks now (daily.yml):
# Unique identifier for this quest type
id: daily
# Directory where quests of this type are stored
folder: quests/daily
# Display name in the GUI
display-name: "<#fffb99>☀ Daily Quests"
# Optional: Overrides the default GUI title for this quest type.
# gui-type-title: "<#fffb99>☀ Daily Quests &8| &f{page}/{total}"
# Optional: Overrides the default quest details GUI title.
# gui-quest-title: "<#fffb99>☀ Daily - {quest}"
# Optional: Overrides the default item transfer GUI title.
# gui-transfer-title: "<#fffb99>☀ Transfer - {quest}"
# Lore displayed in the GUI
lore:
- "<#cccccc>Fresh tasks available every day."
- "<#cccccc>Complete them to earn"
- "<#cccccc>useful rewards."
- ""
- "<#fffb99>Today's Progress:"
- " <#a7ff99>✔ <#ffffff>{cooldown}/{total} <#cccccc>completed"
- ""
- "<#7dd3ff>Click to open"
# Icon material in the GUI
material: CREEPER_SPAWN_EGG
# Slot position in the Main Menu GUI
slot: 20
# Quest engine operation mode
# Choose how quests in this category behave:
# - DEFAULT: All quests are always available, handled individually.
# - CHAIN: Players unlock the next quest only after finishing the previous one.
# - ROTATION: Players get N random quests that reset periodically.
engine: ROTATION
# Number of quests from each pool to include in the rotation
# If not specified, a 'default' pool is created matching the number of rotation-slots
rotation-pools:
common: 3
rare: 2
# GUI slots where assigned quests will appear
rotation-slots:
- 20
- 21
- 22
- 23
- 24
# Reset every 1 day
reset-period: "1d"
# Optional: Set a specific time of day for global reset
reset-time: "00:00"
# Optional: 1=Mon, 2=Tue...7=Sun. Anchor day for global reset.
# reset-anchor-day: 1
# Optional: Requirements to unlock this quest type
# requirements:
# permission: "questborn.type.daily"
# quest-completed: "starter_chain_01_wood_call"
# type-completed: "starter_chain"
# Optional: Description of requirements displayed in GUI when locked
# requirements-lore:
# - "<#ff5555>Requires completion of:"
# - " <#ff5555>• <#ffffff>Starter Chain"
# Set to false to completely disable this quest type (it won't be loaded by the plugin)
enabled: true
Global Database Update The progress storage system has been written entirely from scratch to provide better performance and stability.
- Supported Databases: The plugin now supports H2, SQLite, MySQL, PostgreSQL, MongoDB, and YAML.
- New Standard: The default database type is now H2. This guarantees much faster, more stable, and reliable saves compared to regular
.ymlfiles. - Automatic Migration: Don't worry about your old data! On the first launch of version 1.5.0, your old
playerdata.ymlfile will be automatically recognized, and all player data will be seamlessly migrated to the new H2 format.
This is how it looks now (config.yml):
# ------------------------------
# STORAGE
# ------------------------------
storage:
# Storage backend to use for player data.
# Options:
# H2 - H2 file-based database (fast alternative to SQLite, recommended default)
# YAML - Individual YAML files per player (legacy)
# MYSQL - MySQL / MariaDB database (recommended for networks with multiple servers)
# POSTGRESQL - PostgreSQL database (alternative to MySQL)
# SQLITE - SQLite file-based database (good middle-ground for single servers)
# MONGODB - MongoDB via official driver (requires internet or local server)
type: H2
# MySQL / MariaDB settings (used only when type: mysql)
mysql:
host: localhost
port: 3306
database: questborn
username: root
password: ""
# Connection pool size
pool-size: 5
# Connection timeout in milliseconds
connection-timeout: 30000
# Use SSL for connection
use-ssl: false
# PostgreSQL settings (used only when type: postgresql)
postgresql:
host: localhost
port: 5432
database: questborn
username: postgres
password: ""
# Connection pool size
pool-size: 5
# Use SSL for connection
use-ssl: false
# MongoDB settings (used only when type: mongodb)
mongodb:
uri: "mongodb://localhost:27017"
database: questborn
collection: player_data
# Timeouts in milliseconds
connect-timeout: 5000
read-timeout: 5000
# SQLite settings (used only when type: sqlite)
# The database file is located in the plugin's data folder.
sqlite:
file: questborn.db
Enjoy using the update!
1.4.0Релиз1.21.9, 1.21.10, 1.21.11 · 22 февраля 2026 г.
IMPORTANT - BEFORE UPDATING:
- Make a full backup of the Questborn plugin folder (especially configs, player progress data, and player files) before updating!
- After the update, delete the old config.yml file — the plugin will automatically create a new one with all the latest settings.
- The old top.yml file is no longer used and can be completely deleted — everything has been moved to the new menus.yml.
New features and changes:
📦 New integration with ItemsAdder Added the ability to use custom ItemsAdder items in quests. Usage example:
objectives: type: ITEM_FISH amount: 6 target-materials: - "itemsadder:iasurvival:blue_parrotfish"
🔗 Full integration with PlaceholderAPI Added complete PlaceholderAPI support. Now you can display quest information in holograms, chat, tab list, Scoreboard, etc. Available placeholders:
%questborn_quests_completed% - total number of quests completed by the player %questborn_status_% - quest status (ACTIVE, COMPLETED, COOLDOWN, AVAILABLE, UNAVAILABLE) %questborn_cooldown_% - remaining cooldown time for a specific quest %questborn_active_id% - ID of the current active quest %questborn_active_name% - name of the current active quest %questborn_active_description% - description of the current active quest %questborn_active_stage_current% - current stage %questborn_active_stage_total% - total number of stages %questborn_active_progress_current% - current stage objective progress %questborn_active_progress_target% - target stage objective progress %questborn_active_progressbar% - graphical progress bar %questborn_active_objective% - current objective text (first line) %questborn_active_objective-% - specific line (e.g. -0, -1, etc.)
🎯 Quest display (Scoreboard & BossBar) Added convenient display of the current quest on screen via Scoreboard and BossBar. Fully configurable in config.yml. Configuration example:
bossbar: enabled: true title: "&e{quest_name} &7[{progress}/{target}]" color: AUTO mode: "STATIC" style: SOLID scoreboard: enabled: true lines: - "&fQuest:" - "{quest_name}" - "{objective_details}"
https://i.ibb.co/27hCNJ4h/Scoreboard-1.png https://i.ibb.co/DD6qf4FZ/Boss-Bar-1.png
🎨 New menu configuration system (menus.yml) The old top.yml file has been merged into a single menus.yml. Now you can freely customize the GUI size and exact element placement in each menu. Example for Top menu:
menus: top: rows: 5 slots: players: - "10-16" - "19-25" - "28-34" mask: - "0-9" - "17, 18, 26, 27, 35, 36" - "36-44" rank-styles: 1: prefix: "<#FFAA00>♛ " footer: "<#FFAA00>🏆 TOP 1 LEADER 🏆"
👤 Integration with SkinsRestorer Added small integration to improve skin display in the player leaderboard.
⚙️ Technical improvements
- Updated and optimized configuration structure
- Minor code refactoring and performance optimization
Enjoy using the update!
1.3.1Релиз1.21.9, 1.21.10, 1.21.11 · 16 февраля 2026 г.
Updated library that caused ActionBar to not work on version 1.21.11
1.3.0Релиз1.21.9, 1.21.10, 1.21.11 · 16 февраля 2026 г.
!!! IMPORTANT NOTE !!! Before using this version of the plugin, make a backup of your plugin data. Also, delete the existing configuration file, localization files, and effect presets so the plugin can generate fresh, updated versions of these files.
Update Log
New NPC Integration (Citizens & FancyNPCs)
Added full support for NPCs from the Citizens and FancyNPCs plugins!
- Players can now accept and complete quests by interacting with NPCs.
- An indicator above the NPC's head displays the status of available quests.
New supported versions
- 1.16
- 1.17
- 1.18
- 1.19
- 1.20
New settings in config.yml
Integration
integration:
enabled: false # Enable or disable NPC integration
npc-plugin: FANCYNPCS # Choose plugin: CITIZENS or FANCYNPCS
mode: MIXED # Modes:
# MIXED – both commands and NPCs work
# NPC_ONLY – only NPCs (commands disabled)
# MENU_ONLY – only commands (NPCs disabled)
interaction-button: RIGHT # Button used to interact with NPC (LEFT / RIGHT)
Indicators above NPC head
npc-indicators:
enabled: true
view-distance: 20.0
offset-y: 0.6
icons:
available: "&6&l!"
in-progress: "&a&l▣"
completed: "<#00ff94>&l✔"
cooldown: "&b⏳"
locked: "&c&l"
reward-available: "<#00ff66>&l"
Other new settings
gameplay:
allowed-gamemodes: # Game modes allowed for quest progression
- SURVIVAL
- ADVENTURE
chat:
show-details: true # Show detailed info (objectives + clickable link) in activation/stage messages
rewards:
# If true, rewards are automatically given upon quest completion (bypassing NPC claim).
# If false, player must claim rewards (via NPC interaction or GUI).
auto-claim: false
New commands
/quest npc link – link a quest type to an NPC Examples: • FancyNPCs: /quest npc link daily joe • Citizens: /quest npc link daily 1
/quest npc unlink – unlink a quest type from an NPC Examples: • FancyNPCs: /quest npc unlink daily joe • Citizens: /quest npc unlink daily 1
/quest details – open detailed view of the currently active quest
Note: Before linking an NPC, create it in Citizens or FancyNPCs and note its ID (for Citizens – numeric ID, for FancyNPCs – name).
Improved quest details menu The quest details interface has been completely redesigned – all elements are now arranged conveniently, beautifully, and informatively.
Updated documentation Documentation has been updated to reflect the current plugin version: https://questborn.gitbook.io/docs/
Thank you for using QuestBorn!
Комментарии
Загружаем…