BasicQuests
Randomly generated basic quests with rewards for players.
No initial configuration needed!
I would be very happy about any feedback, recommendations and new ideas. Reviews are very much appreciated!
Info for Users
1. Let me visit:
I'd love to visit a server using this plugin. If you have a public server using BasicQuests, please leave a message if you would like to welcome me
2. Compatibility
For compatibility with Minecraft versions 1.20 and below, please use BasicQuests version 0.5!
3. Upgrading
If you encounter issues while upgrading, you may need to delete the userdata folder and restart your server. This will regenerate quests for all players.
How it works
Every player receives an initial number of quests (default: 3). You can view your active quests by using /quests list or /quests list rewards. When a player completes a quest, the reward can be received by clicking the reward button in the chat or by using /quests reward. As soon as a quest's reward has been collected, the quest disappears from the list, and a newly generated quest will be added.
By default, a player is allowed to skip one quest every 24h by using /quests skip. Some quests require the player to complete an advancement before they can be generated. Quests in the nether, for example, require the player to have completed the "Diamonds!" advancement.
Also, newly generated quests will increase in their quantities proportional to the players' playtime on the server: While a new player might receive a quest like "Mine 32 Iron Ore" a player with lots of playtime on the server would rather receive a quest like this "Mine 512 Iron Ore". This feature can be precisely adjusted in the config.yml or be turned off entirely.
Some quests are incredibly rare but promise very high rewards once completed. Each quest is assigned a number of stars (⭐) based on its difficulty. Collect stars by completing quests and compete with others on the leaderboard which can be viewed using /quests leaderboard.
Quests
Quests are randomly generated in Basic Quests. Currently available quest types along with some examples are listed below:
Rewards
Possible Rewards are either Items, Money or XP. You can enable or disable each of these reward types in the config.yml. By default, only item-rewards are enabled. In order to use money-rewards you need to have an economy plugin connected via Vault. If multiple reward types are enabled one will be chosen at random when a new quest is generated - at least one reward type must be enabled or BasicQuests will not work.
The value of a reward is proportional to the value of the quest and is multiplied by the reward-factor which can also be adjusted in the config.yml. The value of a given quest is determined by a number of factors along its generation process.
While money and xp-rewards are self-explanatory I'll list some examples for item-rewards below:
Quest Generation Customization
BasicQuest allows admins to fine-tune the quest generation on their servers using a bunch of yaml files in the quest_generation directory.
This allows for:
Example Quests
You now know what type of Quests and Rewards are available. Here are some examples of randomly generated Quests along with their Rewards.
Remember that there are a lot of possibilities to tweak the Quest and Reward generation in the config.yml and in the quest_generation files.
Placeholder
Any ideas and suggestions about new placeholders are very welcome!
Currently BasicQuests supports the following placeholders:
%bquests%
A (multiline) list of the players quests (same output as /quests command)
%bquests_detail%
A (multiline) list of the players quests and rewards (same output as /quests detail command)
%bquests_count%
The amount of active quests the player has
%bquests_completed%
The amount of quests the player has completed
%bquests_top_<index>%
The leaderboard of players with most completed quests (line by line)
%bquests_<index>%
The players quest at the given index
%bquests_<index>_title%
The title of the players quest at the given index
%bquests_<index>_progress%
The progress of the players quest at the given index: "1/16" or "Completed!"
%bquests_<index>_left%
The amount left of the players quest at the given index: "15 left"
%bquests_<index>_<linenumber>%
The title of a given quest split into 4 lines that fit on a sign. (linenumber can be 1 - 4, Check the example below)
%bquests_<index>_reward_<linenumber>%
The reward of a given quest split into 2 lines. Handy for Scoreboards. (linenumber can be 1 - 2, Check the example below)
Placeholder Examples
config.yml
# This is the config file for BasicQuests.
# This config was generated for version 0.7
# You can delete this file to regenerate the default config on server reload.
# GENERAL
# amount of quests a player holds at a time
# recommended values: min = 3, max = 6
quest-amount : 3
# maximum number of quests a player is allowed to complete per day.
# resets once a day as configured below (default: midnight)
# -1 => no limit
quests-per-day : -1
# times a player is allowed to skip a quest.
# resets once a day as configured below (default: midnight)
skips-per-day : 1
# time of day when quests and skips reset.
# allowed values: min = 0, max = 23
reset-hour : 0
# allowed values: min = 0, max = 59
reset-minute : 0
# broadcasts a message to everyone if a player completes a quest
broadcast-on-quest-complete : true
# plays a sound when a quest has been completed (only for the player)
sound-on-quest-complete : true
# disable the inbuilt scoreboard (/quests scoreboard)
# should only be set to true if the scoreboard does not work correctly because of another plugin using it.
# quests can always be displayed on custom scoreboards using the PlaceholderAPI.
disable-scoreboard : false
# show the scoreboard per default for new players
show-scoreboard-per-default : true
# set the locale for the plugin.
# contact me if you would like to have your language supported. you might need to help with translations.
# available locales:
# en: English, de: German, es: Spanish, fr: French, ru: Russian
locale : en
# whether new updates should be announced to admins and in the console.
# updating to the newest version is always recommended unless the new version is not compatible with your server.
check-for-updates : true
# save interval for player data in minutes
# the saving process can cause lag on large servers. Increase this parameter to make savings less frequent.
# recommended values: min = 10
save-interval : 10
# edit the following list to prevent quest progress in worlds with the given names.
# watch out to not mess up the list's format.
banned-worlds :
- world_creative
- world_without_quest_progress
# an alternative character the plugin should use to display stars earned by quests
# replaces the default character. should be a valid unicode character.
# uncomment the following line to enable alternative character.
# star-character: "*"
# only relevant if you use the EssentialsX Discord Plugin!
# whether BasicQuests should connect to EssentialsX Discord when available.
# this will send a message with the type "quest-completed" to your discord server when a player completes a quest.
use-essentialsx-discord : true
# QUEST GENERATION
# factor for the value of rewards
# recommended values: min = 0.5, max = 3.0
reward-factor : 1.0
# factor for the quantities in a quest - e.g., the numbers of zombies to kill
# recommended values: min = 0.5, max = 3.0
quantity-factor : 1.0
# Increase the quantities in quests according to a players play time.
increase-quantity-by-playtime : true
# factor when a player joins the game
start-factor : 0.4
# factor when a player reaches <max-amount-hours> hours of playtime
max-factor : 3.0
# hours of play time at which a player receives quests with max quantities
max-amount-hours : 100
# chance of duplicate quests [0.0 - 1.0]
# 0.0: no duplicate quests will appear (not recommended when quest-amount is above 4)
# 1.0: players active quests have no influence on the generation of new quests
duplicate-quest-chance : 0.3
# REWARDS
# choose what type of reward you would like to be generated for quests.
# if multiple types are set to true, new quests will have a reward type chosen randomly.
# the weight of each reward type determines the likelihood of it being chosen compared to the weights of other enabled reward types.
# enable items as rewards
item-rewards : true
item-rewards-weight : 1
# enable xp as a reward
xp-rewards : false
xp-rewards-weight : 1
# enable money as a reward (requires an economy plugin to be hooked up via Vault)
money-rewards : false
money-rewards-weight : 1
# ECONOMY
# factor for money rewards
# adjusts this to the value of money on your server.
money-factor : 1.0
Permissions
basicquests.use.help:
default: true
description: Lets players view the help menu
basicquests.use.list:
default: true
description: Lets players view their quests
basicquests.use.scoreboard:
default: true
description: Lets players use the scoreboard to display quests
basicquests.use.reward:
default: true
description: Lets players receive their rewards
basicquests.use.skip:
default: true
description: Lets players skip a limited number of quests per day. Number can be configured in config.yml
basicquests.use.leaderboard:
default: true
description: Lets players view the leaderboard
basicquests.admin.list:
default: op
description: Lets players list quests of others
basicquests.admin.receive.unlimited:
default: op
description: Lets players receive unlimited quests per day
basicquests.admin.skip.unlimited:
default: op
description: Lets players skip unlimited quests
basicquests.admin.skip.others:
default: op
description: Lets players skip quests for other players
basicquests.admin.reset:
default: op
description: Lets players reset quests
basicquests.admin.reset.others:
default: op
description: Lets players reset quests for others
basicquests.admin.reset.global:
default: op
description: Lets players reset quests for all players at once
basicquests.admin.complete:
default: op
description: Lets players complete quests via command
basicquests.admin.complete.others:
default: op
description: Lets players complete quests for others true
basicquests.admin.update:
default: op
description: Lets players or the console to check for BasicQuests updates
basicquests.admin.reload:
default: op description: Lets players use the reload command
License
Copyright (C) 2020-2026 Anton Stamme
BasicQuests is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
BasicQuests is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with BasicQuests. If not, see < https://www.gnu.org/licenses/>.
Randomly generated basic quests with rewards for players.
No initial configuration needed!
I would be very happy about any feedback, recommendations and new ideas. Reviews are very much appreciated!
Info for Users
1. Let me visit:
I'd love to visit a server using this plugin. If you have a public server using BasicQuests, please leave a message if you would like to welcome me

2. Compatibility
For compatibility with Minecraft versions 1.20 and below, please use BasicQuests version 0.5!
3. Upgrading
If you encounter issues while upgrading, you may need to delete the userdata folder and restart your server. This will regenerate quests for all players.
How it works
Every player receives an initial number of quests (default: 3). You can view your active quests by using /quests list or /quests list rewards. When a player completes a quest, the reward can be received by clicking the reward button in the chat or by using /quests reward. As soon as a quest's reward has been collected, the quest disappears from the list, and a newly generated quest will be added.
By default, a player is allowed to skip one quest every 24h by using /quests skip. Some quests require the player to complete an advancement before they can be generated. Quests in the nether, for example, require the player to have completed the "Diamonds!" advancement.
Also, newly generated quests will increase in their quantities proportional to the players' playtime on the server: While a new player might receive a quest like "Mine 32 Iron Ore" a player with lots of playtime on the server would rather receive a quest like this "Mine 512 Iron Ore". This feature can be precisely adjusted in the config.yml or be turned off entirely.
Some quests are incredibly rare but promise very high rewards once completed. Each quest is assigned a number of stars (⭐) based on its difficulty. Collect stars by completing quests and compete with others on the leaderboard which can be viewed using /quests leaderboard.
Quests
Quests are randomly generated in Basic Quests. Currently available quest types along with some examples are listed below:
- Mine Block
- Kill Entity
- Harvest Block
- Chop Wood
- Enchant Item
- Find Structure
- Trade with Villager
- Gain Level
- Reach Level
- Break Block
- Fish Item
- Increase Stat
- Pick Flower (new)
- Breed Animal
- Tame Animal
- Smelt Item
- Brew Potion
Rewards
Possible Rewards are either Items, Money or XP. You can enable or disable each of these reward types in the config.yml. By default, only item-rewards are enabled. In order to use money-rewards you need to have an economy plugin connected via Vault. If multiple reward types are enabled one will be chosen at random when a new quest is generated - at least one reward type must be enabled or BasicQuests will not work.
The value of a reward is proportional to the value of the quest and is multiplied by the reward-factor which can also be adjusted in the config.yml. The value of a given quest is determined by a number of factors along its generation process.
While money and xp-rewards are self-explanatory I'll list some examples for item-rewards below:
- Tools (Iron - Netherite) (Maybe enchanted)
- Armor (Chainmail - Netherite) (Maybe enchanted)
- Smithing Templates
- Enchanted Books
- Potions (Only positive effects - extended (+) and upgraded (II) variants)
- Food
- Resources (Most of the valuable things you can find underground - From Flint to Netherite)
- Rare Items (Enchanted Golden Apple, Music Disks, Saddle, ...)
Quest Generation Customization
BasicQuest allows admins to fine-tune the quest generation on their servers using a bunch of yaml files in the quest_generation directory.
This allows for:
- adjusting or removing the probability of quest types
- adjusting or removing the probability of specific quests within a quest type
- making certain quests more or less valuable. This will be reflected in the value of the reward.
- adjusting the amounts that appear in quests.
Example Quests
You now know what type of Quests and Rewards are available. Here are some examples of randomly generated Quests along with their Rewards.
Remember that there are a lot of possibilities to tweak the Quest and Reward generation in the config.yml and in the quest_generation files.
Spoiler: Show Quests
Mine 144 Coal Ore (⭐⭐)
Drive 5,5km in a Minecart (⭐⭐⭐⭐⭐)
- 184 XP
- 4 Copper Ingot
- 1 Iron Hoe
- $ 228.00
- 4 Book
- 1 Iron Pickaxe: Efficiency IV
- 36 Emerald
- 1 Jukebox
- $ 96.00
- 30 XP
- $ 4,608.00
- 1 Trident: Unbreaking I
- 1 Enchanted Book: Infinity
- $ 120.00
- 1 Iron Boots: Unbreaking III
- 4 Splash Potion: Regeneration +
- 1 Iron Sword: Looting I
- 10 Diamond
- 1 Netherite Sword: Sweeping III
- $ 352.00
- 6 Sea Lantern
- 48 Cooked Porkchop
- 3 Splash Potion: Water Breathing
- 1 Enchanted Book: Protection IV
- 1 Enchanted Book: Sweeping III
- 1 Fishing Rod: Luck Of The Sea I
- $ 3,000.00
- 1 Enchanted Book: Power V
- 12 Amethyst Shard
- $ 228.00
- 8 Ender Pearl
- 921 XP
- $ 840.00
- 40 Quartz
- 1 Diamond Axe
- $ 480.00
- 2 Diamond
- 1260 XP
- 1 Iron Leggings
- 1 Potion: Instant Health II
- 1 Iron Sword
- $ 320.00
- 1200 XP
- 614 XP
- 64 Arrow
- 1 Diamond Sword: Fire Aspect I
- 345 XP
- 1 Enchanted Book: Unbreaking III
- $ 5,628.00
- 1 Diamond Axe
- 6 Potion: Instant Health II
- $ 1,260.00
- $ 960.00
- 204 XP
- 32 Arrow
- 247 XP
- 230 XP
- 1 Enchanted Book: Respiration III
- 1 Chainmail Chestplate: Projectile Protection II
- 5 Emerald
- 756 XP
- 1 Diamond Hoe
- $ 832.00
- $ 640.00
- 1 Netherite Sword: Looting II
- 1 Enchanted Book: Fire Protection IV
- 1 Iron Shovel: Efficiency IV
- 1 Music Disc Pigstep
- 61 XP
- 12 Amethyst Shard
- 1 Snout Armor Trim Smithing Template
- 1 Dune Armor Trim Smithing Template
- 420 XP
- 8 Blaze Rod
- 4 Copper Ingot
- 1 Iron Pickaxe
- 24 Flint
- 115 XP
- 504 XP
- $ 192.00
- 1 Enchanted Book: Protection IV
- 40 Coal
Drive 5,5km in a Minecart (⭐⭐⭐⭐⭐)
- $ 5,250.00
- 11250 XP
- $ 4,704.00
- $ 2,688.00
- $ 186.00
- 52 Golden Carrot
- 576 Arrow
- 18 Splash Potion: Instant Health II
- 837 XP
- 664 XP
- 645 XP
- 3 Diamond
- $ 10,560.00
- 548 XP
- 614 XP
- 1 Diamond
Placeholder
Any ideas and suggestions about new placeholders are very welcome!
Currently BasicQuests supports the following placeholders:
%bquests%
A (multiline) list of the players quests (same output as /quests command)
%bquests_detail%
A (multiline) list of the players quests and rewards (same output as /quests detail command)
%bquests_count%
The amount of active quests the player has
%bquests_completed%
The amount of quests the player has completed
%bquests_top_<index>%
The leaderboard of players with most completed quests (line by line)
%bquests_<index>%
The players quest at the given index
%bquests_<index>_title%
The title of the players quest at the given index
%bquests_<index>_progress%
The progress of the players quest at the given index: "1/16" or "Completed!"
%bquests_<index>_left%
The amount left of the players quest at the given index: "15 left"
%bquests_<index>_<linenumber>%
The title of a given quest split into 4 lines that fit on a sign. (linenumber can be 1 - 4, Check the example below)
%bquests_<index>_reward_<linenumber>%
The reward of a given quest split into 2 lines. Handy for Scoreboards. (linenumber can be 1 - 2, Check the example below)
Placeholder Examples
Spoiler: Show Placeholder Examples
Signs
The PlaceholderSIGN plugin can be used to display quests on signs like so.
You can see which placeholders have been used on the right. (Leave away the dot after the first %)
Scoreboards
Scoreboard plugins like AnimatedScoreboard can be used to display quests on a custom scoreboard.
Two examples along with the used placeholders are shown below.
Quests with rewards:
Quests:
%bquests_1%
%bquests_1_reward_1%
%bquests_1_reward_2%
%bquests_2%
%bquests_2_reward_1%
%bquests_2_reward_2%
%bquests_3%
%bquests_3_reward_1%
%bquests_3_reward_2%
![[IMG]](//proxy.spigotmc.org/721d6960dfbc549e2b811fc7f869511caafc887e/68747470733a2f2f6769746875622e636f6d2f546f6e6e616e746f2f42617369635175657374732f626c6f622f6d61696e2f73637265656e73686f74732f627175657374735f706c616365686f6c646572735f73636f7265626f6172645f312e706e67)
![[IMG]](//proxy.spigotmc.org/5fa97bcf0a51cae5957572aae48a83820783e14f/68747470733a2f2f7261772e67697468756275736572636f6e74656e742e636f6d2f546f6e6e616e746f2f42617369635175657374732f6d61696e2f73637265656e73686f74732f627175657374735f706c616365686f6c646572735f73636f7265626f6172645f312e706e67)
Quests next to other plugins:
Quests:
%bquests_1%
%bquests_2%
%bquests_3%
Jobs:
...
The PlaceholderSIGN plugin can be used to display quests on signs like so.
You can see which placeholders have been used on the right. (Leave away the dot after the first %)
Scoreboards
Scoreboard plugins like AnimatedScoreboard can be used to display quests on a custom scoreboard.
Two examples along with the used placeholders are shown below.
Quests with rewards:
Quests:
%bquests_1%
%bquests_1_reward_1%
%bquests_1_reward_2%
%bquests_2%
%bquests_2_reward_1%
%bquests_2_reward_2%
%bquests_3%
%bquests_3_reward_1%
%bquests_3_reward_2%
Quests next to other plugins:
Quests:
%bquests_1%
%bquests_2%
%bquests_3%
Jobs:
...
config.yml
Code (YAML):
# This is the config file for BasicQuests.
# This config was generated for version 0.7
# You can delete this file to regenerate the default config on server reload.
# GENERAL
# amount of quests a player holds at a time
# recommended values: min = 3, max = 6
quest-amount : 3
# maximum number of quests a player is allowed to complete per day.
# resets once a day as configured below (default: midnight)
# -1 => no limit
quests-per-day : -1
# times a player is allowed to skip a quest.
# resets once a day as configured below (default: midnight)
skips-per-day : 1
# time of day when quests and skips reset.
# allowed values: min = 0, max = 23
reset-hour : 0
# allowed values: min = 0, max = 59
reset-minute : 0
# broadcasts a message to everyone if a player completes a quest
broadcast-on-quest-complete : true
# plays a sound when a quest has been completed (only for the player)
sound-on-quest-complete : true
# disable the inbuilt scoreboard (/quests scoreboard)
# should only be set to true if the scoreboard does not work correctly because of another plugin using it.
# quests can always be displayed on custom scoreboards using the PlaceholderAPI.
disable-scoreboard : false
# show the scoreboard per default for new players
show-scoreboard-per-default : true
# set the locale for the plugin.
# contact me if you would like to have your language supported. you might need to help with translations.
# available locales:
# en: English, de: German, es: Spanish, fr: French, ru: Russian
locale : en
# whether new updates should be announced to admins and in the console.
# updating to the newest version is always recommended unless the new version is not compatible with your server.
check-for-updates : true
# save interval for player data in minutes
# the saving process can cause lag on large servers. Increase this parameter to make savings less frequent.
# recommended values: min = 10
save-interval : 10
# edit the following list to prevent quest progress in worlds with the given names.
# watch out to not mess up the list's format.
banned-worlds :
- world_creative
- world_without_quest_progress
# an alternative character the plugin should use to display stars earned by quests
# replaces the default character. should be a valid unicode character.
# uncomment the following line to enable alternative character.
# star-character: "*"
# only relevant if you use the EssentialsX Discord Plugin!
# whether BasicQuests should connect to EssentialsX Discord when available.
# this will send a message with the type "quest-completed" to your discord server when a player completes a quest.
use-essentialsx-discord : true
# QUEST GENERATION
# factor for the value of rewards
# recommended values: min = 0.5, max = 3.0
reward-factor : 1.0
# factor for the quantities in a quest - e.g., the numbers of zombies to kill
# recommended values: min = 0.5, max = 3.0
quantity-factor : 1.0
# Increase the quantities in quests according to a players play time.
increase-quantity-by-playtime : true
# factor when a player joins the game
start-factor : 0.4
# factor when a player reaches <max-amount-hours> hours of playtime
max-factor : 3.0
# hours of play time at which a player receives quests with max quantities
max-amount-hours : 100
# chance of duplicate quests [0.0 - 1.0]
# 0.0: no duplicate quests will appear (not recommended when quest-amount is above 4)
# 1.0: players active quests have no influence on the generation of new quests
duplicate-quest-chance : 0.3
# REWARDS
# choose what type of reward you would like to be generated for quests.
# if multiple types are set to true, new quests will have a reward type chosen randomly.
# the weight of each reward type determines the likelihood of it being chosen compared to the weights of other enabled reward types.
# enable items as rewards
item-rewards : true
item-rewards-weight : 1
# enable xp as a reward
xp-rewards : false
xp-rewards-weight : 1
# enable money as a reward (requires an economy plugin to be hooked up via Vault)
money-rewards : false
money-rewards-weight : 1
# ECONOMY
# factor for money rewards
# adjusts this to the value of money on your server.
money-factor : 1.0
Permissions
basicquests.use.help:
default: true
description: Lets players view the help menu
basicquests.use.list:
default: true
description: Lets players view their quests
basicquests.use.scoreboard:
default: true
description: Lets players use the scoreboard to display quests
basicquests.use.reward:
default: true
description: Lets players receive their rewards
basicquests.use.skip:
default: true
description: Lets players skip a limited number of quests per day. Number can be configured in config.yml
basicquests.use.leaderboard:
default: true
description: Lets players view the leaderboard
basicquests.admin.list:
default: op
description: Lets players list quests of others
basicquests.admin.receive.unlimited:
default: op
description: Lets players receive unlimited quests per day
basicquests.admin.skip.unlimited:
default: op
description: Lets players skip unlimited quests
basicquests.admin.skip.others:
default: op
description: Lets players skip quests for other players
basicquests.admin.reset:
default: op
description: Lets players reset quests
basicquests.admin.reset.others:
default: op
description: Lets players reset quests for others
basicquests.admin.reset.global:
default: op
description: Lets players reset quests for all players at once
basicquests.admin.complete:
default: op
description: Lets players complete quests via command
basicquests.admin.complete.others:
default: op
description: Lets players complete quests for others true
basicquests.admin.update:
default: op
description: Lets players or the console to check for BasicQuests updates
basicquests.admin.reload:
default: op description: Lets players use the reload command
License
Copyright (C) 2020-2026 Anton Stamme
BasicQuests is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
BasicQuests is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with BasicQuests. If not, see < https://www.gnu.org/licenses/>.
Quick facts
- Edition: Minecraft Java
- File type: .jar
- Minecraft version listed: 1.21
- How to install: Install the matching mod loader (Forge, Fabric or NeoForge) for your Minecraft version. → Download the .jar. → Put it in the .minecraft/mods folder and launch that loader profile.
- Where to get it: Opens on Spigot — not every file is mirrored on our own servers.
Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.
BasicQuests is a free Minecraft Java mod. Compatible with Minecraft 1.21. Downloaded 2,774 times (via Spigot). Download it and open it directly in the game.