Minecraft Plugin Documentation
MythicMobs RequiredAPI 1.21+

Quest System

File: plugins/MythicDropRefactored/quests.yml

The quest system lets players track kill goals and earn rewards on completion. Players open /mquests to see a GUI with all available quests.

How Quests Work

1
Define a quest
Set target mob, required kills, and rewards in quests.yml
2
Player opens /mquests
They see a visual GUI with quest icons and their progress
3
Player kills the mob
Progress counter goes up automatically
4
Quest completes
Rewards run, completion message is sent, quest is marked done
5
Progress saved
Even after relogging or server restart, progress is kept

Basic Quest Structure

quests.yml
1quests:
2  my_first_quest:               # Unique quest ID (no spaces, use _ instead)
3    mob-name: "SkeletonKing"    # MythicMobs internal mob name (exact, case-sensitive)
4    message: "&aQuest complete! You slayed the Skeleton King!"
5
6    quest-item:
7      material: SKELETON_SKULL  # Item shown in the GUI
8      ModelData: 0              # Custom model data (0 = default)
9      displayname: "&fSkeleton King Slayer"
10      lore:
11        - "&7Defeat the Skeleton King."
12        - "&7Required kills: &f5"
13
14    conditions:
15      kill: 5                   # Number of kills required
16      slot: 10                  # Position in the GUI grid (0-44)
17
18    reward:
19      drops:
20        default:
21          guaranteed-rewards: 1
22          reward1:
23            command: "give %player% diamond 5"
24            chance: 1.0
25            message: "&b+5 Diamonds!"

Quest Fields

mob-name

The internal MythicMobs name of the mob to track. Must match exactly (case-sensitive).

message

The chat message sent to the player when they complete the quest. Supports & color codes.

quest-item — GUI Display

yaml
1quest-item:
2  material: SPIDER_EYE       # Any Minecraft material name (uppercase)
3  ModelData: 0               # Custom model data for resource packs. Use 0 if unsure.
4  displayname: "&2Cave Spider Slayer"
5  lore:
6    - "&7Defeat cave spiders."
7    - "&7Required kills: &f10"

conditions — Slot Grid

The slot controls where the quest appears in the GUI. Slots go from 0 (top-left) to 44 (bottom-right). The bottom row is reserved for filter buttons.

GUI Slot Layout (5 usable rows)
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
All Quests
In Progress
Completed
↑ Bottom row is reserved — do not use slots 45-53

guaranteed-rewards

The first N rewards always run, regardless of their chance value. Rewards after that position roll their individual chance.

yaml
1default:
2  guaranteed-rewards: 1  # reward1 always runs; reward2 rolls chance
3  reward1:
4    command: "give %player% diamond 5"
5    chance: 1.0          # This chance is ignored (it's guaranteed)
6    message: "+5 Diamonds"
7  reward2:
8    command: "give %player% emerald 3"
9    chance: 0.5          # 50% chance — only rolled since it's outside the guaranteed count

Full Example with Multiple Quests

quests.yml
1quests:
2
3  cave_spider_slayer:
4    mob-name: "CaveSpider"
5    message: "&aQuest Complete! You defeated 10 cave spiders!"
6
7    quest-item:
8      material: SPIDER_EYE
9      ModelData: 0
10      displayname: "&cCave Spider Slayer"
11      lore:
12        - "&7Defeat cave spiders in the mines."
13        - "&7Required: &f10 kills"
14
15    conditions:
16      kill: 10
17      slot: 10
18
19    reward:
20      drops:
21        default:
22          guaranteed-rewards: 1
23          base_reward:
24            command: "give %player% string 8"
25            chance: 1.0
26            message: "&7+8 String"
27          bonus_reward:
28            command: "give %player% spider_eye 2"
29            chance: 0.4
30            message: "&cBonus! +2 Spider Eyes"
31        vip:
32          guaranteed-rewards: 2
33          base_reward:
34            command: "give %player% string 16"
35            chance: 1.0
36            message: "&7[VIP] +16 String"
37          bonus_reward:
38            command: "give %player% spider_eye 5"
39            chance: 1.0
40            message: "&c[VIP] +5 Spider Eyes"
41
42  skeleton_king_slayer:
43    mob-name: "SkeletonKing"
44    message: "&6Quest Complete! You are a true Skeleton King Slayer!"
45
46    quest-item:
47      material: SKELETON_SKULL
48      ModelData: 0
49      displayname: "&fSkeleton King Slayer"
50      lore:
51        - "&7Defeat the mighty Skeleton King."
52        - "&7Required: &f5 kills"
53
54    conditions:
55      kill: 5
56      slot: 11
57
58    reward:
59      drops:
60        default:
61          guaranteed-rewards: 1
62          money:
63            command: "eco give %player% 1000"
64            chance: 1.0
65            message: "&a+$1,000!"
66          diamond_reward:
67            command: "give %player% diamond 10"
68            chance: 0.5
69            message: "&b50% bonus: +10 Diamonds!"
70        vip:
71          guaranteed-rewards: 2
72          money:
73            command: "eco give %player% 2500"
74            chance: 1.0
75            message: "&a[VIP] +$2,500!"
76          diamond_reward:
77            command: "give %player% diamond 25"
78            chance: 1.0
79            message: "&b[VIP] +25 Diamonds!"
⚠️ Warning
Run /mythicdrop reload after editing quests.yml.

Common Mistakes

ProblemSolution
Quest not tracking killsCheck mob-name exactly matches the MythicMobs internal name
Quest item not showingCheck slot is between 0 and 44; no two quests share the same slot
Quest GUI is emptyCheck for YAML syntax errors in the console after /mythicdrop reload
Progress lost after restartShouldn't happen — check if quest_data.yml is being written correctly