BasicQuests 0.2

Randomly generated basic Quests with rewards for players.

  1. Tonnanto
    Native Minecraft Version:
    1.16
    Tested Minecraft Versions:
    • 1.16
    Source Code:
    https://github.com/Tonnanto/BasicQuests
    BasicQuests
    Randomly generated basic quests with rewards for players.

    This plugin is currently under development and I would be very happy about any feedback, recommendations and new ideas!
    I'd love to visit a server using this plugin. Leave a message if you would like to welcome me :)


    How it works
    Every player is given a set amount of quests initially (default: 3).
    You can view your active quests by using /quests or /quests detail.
    When a player completes a quest the reward can be received by clicking the "Collect Reward" button in the chat or by using /getreward.
    As soon as a quests reward is collected it disappears from the list of quests, and a newly generated quest will be added to the list.
    By default, a player is allowed to skip one quest every 24h by using /skipquest.
    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.


    Quests
    Quests are randomly generated in Basic Quests. You can find examples in the "Example Quests" section.
    Currently available quest types are listed below:

    • Break Block
    • Mine Block
    • Harvest Block
    • Kill Entity
    • Enchant Item
    • Find Structure
    • Reach Level
    • Gain Level

    Quest ideas I am thinking about implementing in the near future:
    • Trade with Villager
    • Fish Item
    • 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 difficulty of the quest and is multiplied by the reward-factor which can also be adjusted in the config.yml.
    The difficulty 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, Diamond, Netherite) (Maybe enchanted)
    • Armor (Chainmail, Iron, Diamond, Netherite) (Maybe enchanted)
    • 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, ...)


    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.

    Chop 224 Logs
    Reward:
    - $336

    Harvest 64 Beetroot
    Reward:
    - 1 Iron Chestplate
    - 16 Coal

    Enchant Diamond Boots with Protection III+
    Reward:
    - 737 XP

    Mine 48 Nether Gold Ore
    Reward:
    - 1 Enchanted Book: Looting III

    Find a Swamp Hut
    Reward:
    - 1 Enchanted Book: Mending

    Enchant 10 Books
    Reward:
    - 64 Iron Ingot

    Find a Ruined Portal
    Reward:
    - $480

    Mine 192 Iron Ore
    Reward:
    - 1 Enchanted Book: Thorns II
    - 1 Jukebox

    Harvest 16 Sugar Cane
    Reward:
    - 1 Iron Boots
    - 1 Iron Pickaxe

    Find a Shipwreck
    Reward:
    - 1 Enchanted Golden Apple
    - 1 Bow

    Level up 35 times
    Reward:
    - 840 XP

    Find a Fortress
    Reward:
    - 864 XP

    Kill 2 Wither Skeletons
    Reward:
    - 52 Cooked Porkchop

    Kill 20 Pigs
    Reward:
    - $160

    Enchant 12 Books
    Reward:
    - 3 Diamond

    Find an Ocean Ruin
    Reward:
    - 1 Enchanted Book: Protection IV
    - 2 Splash Potion: Regeneration +

    Enchant a Diamond Pickaxe with Fortune II+
    Reward:
    - $1,536

    Break 104 Glowstone
    Reward:
    - 64 Gold Ingot
    - 1 Enchanted Book: Silk Touch


    The following quests were generated with a quantity-factor of 3.0 instead of 1.0


    Kill 140 Sheep

    Reward:
    - 672 XP

    Find a Fortress
    Reward:
    - $1,440

    Mine 1856 Coal Ore
    Reward:
    - 1 Netherite Pickaxe: Efficiency V

    Kill 60 Phantoms
    Reward:
    - 12 Golden Apple

    Harvest 144 Carrot
    Reward:
    - 276 XP

    Kill 108 Wither Skeletons
    Reward:
    - 64 Diamond
    - 1 Netherite Sword: Unbreaking III
    - 1 Enchanted Book: Fire Aspect II
    - 1 Bow: Power V

    Level up 110 times
    Reward:
    - 1 Netherite Shovel: Mending
    - 1 Enchanted Book: Respiration III

    Kill 330 Creepers
    Reward:
    - 1 Netherite Chestplate
    - 64 Gold Ingot


    config.yml
    Code (YAML):
    # This is the config file for BasicQuests.
    # This config was generated for version 0.2


    # GENERAL

    # amount of quests a player holds at a time
    # recommended values: min = 3, max = 6
    quest-amount
    : 3

    # times a player is allowed to skip a quest. (resets every day)
    skips-per-day
    : 1

    # broadcasts a message to everyone if a player completes a quest
    broadcast-on-quest-complete
    : true



    # QUEST GENERATION

    # factor for the value of rewards
    reward-factor
    : 1.0

    # factor for the quantities in a quest - eg. the amounts 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
    : 60

    # 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 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

    # enable items as rewards
    item-rewards
    : true

    # enable xp as a reward
    xp-rewards
    : false

    # enable money as a reward (requires an economy plugin to be hooked up via Vault)
    money-rewards
    : false



    # ECONOMY

    # factor for money rewards
    # adjust this to the value of money on your server.
    money-factor
    : 1.0
     

    Permissions

    quests.reset:
    Default: op
    Description: Allows a player to use /resetquests.​

    quests.reset.forothers:

    Default: op
    Description: Allows a player to reset other players quests with /resetquests <Playername>.​

    quests.complete:
    Default: op
    Description: Allows a player to use /completequest.​

    quests.complete.forothers:
    Default: op
    Description: Allows a player to complete other players quests with /completequest <Playername>.​

    quests.skip:

    Default: op
    Description: Allows a player to use /skipquest as often as he wants to.​

    quests.skip.forothers:
    Default: op
    Description: Allows a player to skip other players quests with /skipquest <Playername>.​



    License
    Copyright (C) 2020 Anton Stamme [email protected]

    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/>.
    soylucien likes this.

Recent Reviews

  1. Noiverre
    Noiverre
    5/5,
    Version: 0.2
    The defaults for generated quests are balanced and doesn't break the player's gameplay pace, the quests might sometimes give too much reward but it's worth the efforts