config.yml reference¶
config.yml controls the Quest Board, global storage, cosmetics, reset-time formatting, command messages, and debug output.
Top-level sections¶
| Path | Type | Bundled value | Use |
|---|---|---|---|
debug |
Boolean | true |
Add BDQ diagnostic messages |
quest-board |
Section | Six-row daily, weekly, and monthly layout | Configure the built-in player board |
database |
Section | SQLite setup | Choose and configure storage |
cosmetics |
Section | Enabled task and quest messages | Global display fallback |
time_format |
Section | Short English units | Format reset time |
messages.commands |
Section | English messages | Change command replies |
If debug is missing, Bukkit reads it as false. The bundled file currently sets it to true.
Database¶
| Path | Type | Requirement |
|---|---|---|
database.type |
Text | SQLITE or MARIADB |
database.mariadb.host |
Text | MariaDB host |
database.mariadb.port |
Integer | Bundled value 3306 |
database.mariadb.database |
Text | Existing database name |
database.mariadb.username |
Text | Database user |
database.mariadb.password |
Text | Database password |
Changing storage requires a full server restart and does not move player data. See Configure storage and backups.
Cosmetics¶
Event sections are task_increment, task_done, and quest_done.
| Child path | Type | Default when missing |
|---|---|---|
action_bar.enabled |
Boolean | false |
action_bar.message |
Text | No text |
titles.enabled |
Boolean | false |
titles.title |
Text | No text |
titles.subtitle |
Text | No text |
titles.fade-in |
Integer ticks | 10 |
titles.stay |
Integer ticks | 20 |
titles.fade-out |
Integer ticks | 10 |
Reset-time format¶
| Path | Bundled value |
|---|---|
time_format.days |
d |
time_format.hours |
h |
time_format.minutes |
m |
time_format.seconds |
s |
time_format.format |
%days%%hours%%minutes%%seconds% |
Supported tokens are %days%, %hours%, %minutes%, and %seconds%.
Quest Board¶
bdq quests opens the command sender's board. Group layouts are rendered in configuration order; assignments use case-insensitive Quest ID order. Completed assignments stay visible until the group refresh removes them.
The bundled layout reserves five daily slots, three weekly slots, and one monthly slot. The matching group files assign the same maximum counts, so a fresh installation cannot hide assignments through insufficient board capacity.
| Path | Type | Use |
|---|---|---|
quest-board.title |
Text, at most 32 characters | Inventory title |
quest-board.rows |
Integer from 1 to 6 |
Inventory size |
quest-board.filler-item |
Item section | Fill unused inventory slots |
quest-board.status.waiting |
Text | Waiting assignment label |
quest-board.status.started |
Text | Started assignment label |
quest-board.status.completed |
Text | Completed assignment label |
quest-board.status.unavailable |
Text | Missing quest-content label |
quest-board.groups.<group>.slots |
Integer list | Ordered slots reserved for the group |
quest-board.groups.<group>.quest-item |
Item section | Assignment item |
quest-board.groups.<group>.empty-item |
Item section | Unused group slot item |
Each item section has an XSeries material and name. quest-item also has a lore list. Existing quest, assignment, task, and PlaceholderAPI values work in item names and lore. Two exact lore markers expand into multiple lines:
%quest_description%inserts the quest'sdescriptionlist.%task_descriptions%inserts nonblanktask_descriptionvalues in numeric Task ID order.
%quest_status% is board-only. The board never displays executable quest or task reward actions.
Every loaded Quest Group needs a layout. Rows, title length, current-server materials, slot bounds, repeated or overlapping slots, and group coverage are checked on startup and bdq reload. An invalid startup layout disables only the board and logs each error. During bdq reload, any layout error rejects the reload and keeps the previous runtime active. A board also refuses to open instead of hiding assignments when any group has more assignments than slots.
Command messages¶
All keys start with messages.commands..
| Key | Placeholders |
|---|---|
reload_success |
None |
reload_failure |
None |
player_not_loaded |
None |
quest_not_found |
None |
quest_already_has |
None |
quest_unavailable |
%quest_id% |
quest_already_completed |
None |
quest_already_started |
None |
max_rerolls_reached |
None |
no_quest_available |
None |
specify_player_for_reroll |
None |
give_success |
%quest_id%, %player% |
clear_success |
%quest_id%, %player% |
reset_success |
%quest_id%, %player% |
start_success_others |
%quest_id%, %player% |
start_success_self |
%quest_id% |
reroll_success_others |
%quest_id%, %player% |
reroll_success_self |
%quest_id% |
complete_success |
%quest_id%, %player% |
quest_board_unavailable |
None |
quest_board_start_denied |
None |
Keep the messages section present. Missing command keys use built-in English fallback messages.