All guides
Survival

DailyQuests

Random daily and weekly quests for every player: mining, placing, killing, fishing, crafting, smelting, breeding, eating and walking. A menu with progress bars, money (Vault), item, XP or command rewards, a bonus for finishing them all and automatic resets at the hour you choose.

Buy a license Paper, Spigot, Bukkit 1.20 – 1.21 · Java 17+

Installation

  1. Download the file from the customer area and copy it into your server's plugins folder.
  2. Start the server once: the plugin folder with config.yml is created.
  3. Paste your license under license: and restart the server.

Commands

Aliases: /missions, /dq

CommandPermissionDescription
/questsdailyquests.useOpens the quests menu (click = claim the reward)
/dailyquests reloaddailyquests.adminReloads config, quests and languages
/dailyquests reset <player> [all|daily|weekly]dailyquests.adminGives a player new quests

Permissions

PermissionDefaultDescription
dailyquests.usetrueOpen the menu and make progress
dailyquests.adminopReload the plugin and reset quests

Writing quests

Quests live in quests.yml, split into daily and weekly. Each quest has a type (BREAK, PLACE, KILL, FISH, CRAFT, SMELT, BREED, EAT, WALK), a target (block, item or mob name, a list, "any", or *_ore / oak_* for groups), a fixed amount or {min, max} and the rewards. After editing use /dailyquests reload.

Rewards

money needs Vault with an economy plugin (e.g. EssentialsX); without it money is neither shown nor given. items uses "item:amount", commands run from the console with {player}. Under bonus put the extra reward for finishing all quests of the day or week.

Anti-abuse

By default blocks the player placed, spawner mobs and players in creative don't count. You can also exclude worlds with disabled-worlds.

Configuration files

config.yml
# Your license key (you received it privately from our Discord bot).
license: "PASTE-YOUR-LICENSE-HERE"

# Message language: "en" (English) or "it" (Italiano). Files are in /lang and can be edited freely.
language: en
# When true, each player sees the messages in their own game language (when a file for it exists).
use-client-language: true

reset:
  # Timezone used for the resets, for example "Europe/Rome". "default" = the timezone of the server machine.
  timezone: default
  # Hour of the day (0-23) when new daily quests arrive. 0 = midnight.
  hour: 0
  # Day of the week when new weekly quests arrive (MONDAY, TUESDAY, ... SUNDAY).
  weekly-day: MONDAY

quests:
  # How many quests each player gets (max 7 each). The quests themselves are in quests.yml.
  daily-count: 3
  weekly-count: 2
  # true = everybody gets the same quests on the same day. false = each player gets their own random quests.
  same-for-everyone: false
  # true = the reward is given as soon as the quest is done. false = the player clicks the quest in /quests to claim it.
  auto-claim: true
  # Show the progress above the hotbar while the player works on a quest.
  progress-action-bar: true
  # Tell the player when new quests are available.
  announce-new-quests: true

anti-abuse:
  # Breaking blocks that a player placed does not count (no place/break farming).
  ignore-placed-blocks: true
  # Mobs from spawners do not count for kill quests.
  ignore-spawner-mobs: true
  # Players in creative mode make no progress.
  count-in-creative: false
  # Worlds where quests make no progress.
  disabled-worlds: []

# Sound names from https://minecraft.wiki/w/Sounds.json  ->  "name:volume:pitch"  ("none" = no sound)
sounds:
  complete: "ui.toast.challenge_complete:0.6:1"
  claim: "entity.player.levelup:1:1.2"
  new-quests: "block.note_block.pling:1:1.5"
quests.yml
daily:
  miner:
    type: BREAK
    target: [stone, cobblestone, deepslate, cobbled_deepslate, andesite, diorite, granite, tuff]
    amount: {min: 64, max: 128}
    name: "Mine {amount} stone blocks"
    names:
      it: "Mina {amount} blocchi di pietra"
    icon: iron_pickaxe
    rewards:
      money: 150
      xp: 40
  ore-hunter:
    type: BREAK
    target: ["*_ore"]
    amount: {min: 10, max: 20}
    name: "Mine {amount} ores"
    names:
      it: "Mina {amount} minerali"
    icon: iron_ore
    rewards:
      money: 250
      xp: 60
  lumberjack:
    type: BREAK
    target: ["*_log", "*_stem"]
    amount: {min: 32, max: 64}
    name: "Chop {amount} logs"
    names:
      it: "Taglia {amount} tronchi"
    icon: iron_axe
    rewards:
      money: 120
      items: ["apple:8"]
  farmer:
    type: BREAK
    target: [wheat, carrots, potatoes, beetroots, nether_wart, melon, pumpkin, sugar_cane]
    amount: {min: 32, max: 64}
    name: "Harvest {amount} crops"
    names:
      it: "Raccogli {amount} coltivazioni"
    icon: wheat
    rewards:
      money: 120
      items: ["bone_meal:16"]
  zombie-slayer:
    type: KILL
    target: [zombie, husk, drowned, zombie_villager]
    amount: {min: 10, max: 20}
    name: "Kill {amount} zombies"
    names:
      it: "Uccidi {amount} zombie"
    icon: rotten_flesh
    rewards:
      money: 200
      xp: 50
  skeleton-slayer:
    type: KILL
    target: [skeleton, stray, bogged]
    amount: {min: 8, max: 15}
    name: "Kill {amount} skeletons"
    names:
      it: "Uccidi {amount} scheletri"
    icon: bone
    rewards:
      money: 200
      items: ["arrow:32"]
  monster-hunter:
    type: KILL
    target: [zombie, skeleton, spider, creeper, enderman, witch, slime, husk, stray, drowned, cave_spider]
    amount: {min: 15, max: 30}
    name: "Kill {amount} monsters"
    names:
      it: "Uccidi {amount} mostri"
    icon: iron_sword
    rewards:
      money: 250
      xp: 80
  fisher:
    type: FISH
    target: any
    amount: {min: 5, max: 12}
    name: "Catch {amount} fish"
    names:
      it: "Pesca {amount} pesci"
    icon: fishing_rod
    rewards:
      money: 150
      items: ["cooked_cod:8"]
  builder:
    type: PLACE
    target: any
    amount: {min: 64, max: 128}
    name: "Place {amount} blocks"
    names:
      it: "Piazza {amount} blocchi"
    icon: bricks
    rewards:
      money: 120
      xp: 30
  smelter:
    type: SMELT
    target: any
    amount: {min: 16, max: 32}
    name: "Smelt {amount} items"
    names:
      it: "Cuoci {amount} oggetti nella fornace"
    icon: furnace
    rewards:
      money: 120
      items: ["coal:8"]
  walker:
    type: WALK
    amount: {min: 1000, max: 2000}
    name: "Walk {amount} blocks"
    names:
      it: "Cammina per {amount} blocchi"
    icon: leather_boots
    rewards:
      money: 100
      xp: 30
  breeder:
    type: BREED
    target: any
    amount: {min: 5, max: 10}
    name: "Breed {amount} animals"
    names:
      it: "Fai riprodurre {amount} animali"
    icon: wheat
    weight: 6
    rewards:
      money: 120
      items: ["wheat:16"]
  hungry:
    type: EAT
    target: any
    amount: {min: 5, max: 10}
    name: "Eat {amount} times"
    names:
      it: "Mangia {amount} volte"
    icon: cooked_beef
    weight: 5
    rewards:
      money: 80
      items: ["golden_carrot:4"]

weekly:
  deep-miner:
    type: BREAK
    target: [diamond_ore, deepslate_diamond_ore]
    amount: {min: 8, max: 16}
    name: "Mine {amount} diamond ores"
    names:
      it: "Mina {amount} minerali di diamante"
    icon: diamond_pickaxe
    rewards:
      money: 1500
      xp: 300
  warrior:
    type: KILL
    target: [zombie, skeleton, spider, creeper, enderman, witch, slime, husk, stray, drowned, cave_spider, blaze, wither_skeleton, piglin_brute, phantom]
    amount: {min: 100, max: 150}
    name: "Kill {amount} monsters"
    names:
      it: "Uccidi {amount} mostri"
    icon: diamond_sword
    rewards:
      money: 1500
      items: ["golden_apple:3"]
  master-builder:
    type: PLACE
    target: any
    amount: {min: 1000, max: 1500}
    name: "Place {amount} blocks"
    names:
      it: "Piazza {amount} blocchi"
    icon: bricks
    rewards:
      money: 1000
      xp: 200
  explorer:
    type: WALK
    amount: {min: 10000, max: 15000}
    name: "Walk {amount} blocks"
    names:
      it: "Cammina per {amount} blocchi"
    icon: compass
    rewards:
      money: 1000
      items: ["ender_pearl:8"]
  master-fisher:
    type: FISH
    target: any
    amount: {min: 50, max: 80}
    name: "Catch {amount} fish"
    names:
      it: "Pesca {amount} pesci"
    icon: fishing_rod
    rewards:
      money: 1200
      items: ["name_tag:2"]
  crafter:
    type: CRAFT
    target: any
    amount: {min: 200, max: 300}
    name: "Craft {amount} items"
    names:
      it: "Crafta {amount} oggetti"
    icon: crafting_table
    rewards:
      money: 1000
      xp: 200

# Extra reward when a player finishes ALL their quests of the day / of the week.
bonus:
  all-daily:
    money: 300
    items: ["diamond:1"]
  all-weekly:
    money: 2500
    items: ["diamond:5"]