Quest Format
Quest definitions live in plugins/FioCommunityQuests/quests/. Bundled examples are stored under src/main/resources/quests/.
Base structure
quest:
name: "<gold>Mine x120,000 Stone</gold>"
material: "STONE"
priority: 1
mode: coop
description:
- "<dark_gray>Community Quest</dark_gray>"
objectives:
duration: "1d"
type: "BLOCK_BREAK"
goal: 120000
required:
- STONE
- DEEPSLATE:2
Quest id
The file name is used as the quest id unless quest.id is set. For example:
quests/daily_miner.yml
becomes:
daily_miner
Modes
| Mode | Meaning |
|---|---|
coop | Players work together toward one shared community goal. |
comp | Players compete through contribution ranking while the quest is active. |
Duration
Supported time units include:
ymowdhms
Examples:
duration: "1d"
duration: "1d,1h"
duration: "2h,30m"
Required target points
Simple format:
required:
- STONE
Custom points per matching action:
required:
- DEEPSLATE:2
Special formats are used by some objective types, such as:
IRON_GOLEM;1000for entity damage goalsEMERALD;FLETCHERfor villager tradingSPEED;1for potion tierSHARPNESS:1for enchant level
Event sections
Each quest can configure feedback for:
settings.whenStartedsettings.whenOnProgresssettings.whenCompletedsettings.whenFailed
Supported feedback includes bossbars, actionbars, messages, sounds, and command actions.
Rewards
Quest rewards can include:
rewards.customrewards.top_contributionsrewards.player_participated
Action examples:
[MESSAGE] <message>[CONSOLE] eco give %player_name% 5000[ITEM] DIAMOND 12[EXP_LEVELS] +5[EXP_POINTS] +1000[CUSTOM:1]
For a full explanation of each objective action such as BLOCK_BREAK, TRADING, PLACEHOLDERAPI, and MANUAL, see Objective Actions.
Page note
This page is source-backed from bundled quest YAML files and Quest.java.