QuestPath
PluginLicenseRef-QuestPath-Plugin-License

QuestPath

Guide your players with custom main and side quests

32
Downloads
1
Followers
3 months ago
Updated
📦
3
Versions

📖About QuestPath

Overview
QuestPath lets you create a main quest line and optional side quests entirely through config.yml. Players track their progress through a simple GUI, while you stay in full control of the quest content and rewards.

Features
Main quest path
Linear progression: each quest unlocks the next.

Supports a custom number of steps; you design the whole path.
Side quests
Randomly assigned from a configurable pool.

/getsidequest to get or reroll a side quest.
Quest types (out of the box)
Mine blocks (with support for ANY_LOG)

Craft items

Kill entities

Visit dimensions (Overworld / Nether / End)

Obtain items (pickup, crafting, furnace extract)

Travel distance (blocks walked)
GUI-based interface
/quest opens a clean menu.

View current main quest.

View current side quest.

Paginated list of completed main quests.
Economy integration (optional)
Vault support for money rewards.

Global default rewards in config.yml.

Per-quest reward-money overrides for fine-tuned payouts.
Admin tools
/questreset to wipe a player’s quest progress.

Player data stored in a simple players.yml file.

Example quests are provided but fully commented out, so servers start with a blank slate and can design their own quests from scratch.
Commands & Permissions
/quest
Opens the quest GUI.

Permission: none (default: everyone).
/getsidequest
Assigns or rerolls a side quest.

Permission: none (configurable via your permissions plugin).
/questreset
Resets a player’s quest progress.

Permission: questpath.admin.
Supported Versions
Minecraft:
Designed and tested for 1.20.x and 1.21.x (latest Paper/Spigot).
Server software:
Paper and Spigot (and forks that are API compatible).
Java:
Java 21+ (recommended for modern server versions).
Configuration
On first start, QuestPath generates a minimal config.yml:

economy section for enabling/disabling money rewards and default amounts.

quests.main and quests.side start empty.

A fully commented example quest section is included at the bottom as a template; server owners can copy and adapt these examples to build their own quest lines.
Each quest supports:

id – unique identifier.

type – quest type (e.g., MINE_BLOCK, KILL_ENTITY, TRAVEL_DISTANCE, etc.).

display / description – shown in the GUI and messages.

Target fields depending on type (target-block, target-item, target-entity, target-world).

amount – required progress to complete.

reward-money – optional per-quest reward; falls back to global defaults if omitted.

For “any log”, use target-block: ANY_LOG.

For a specific block, use its Bukkit material name, for example:
target-block: OAK_LOG, target-block: DIAMOND_ORE, etc.