▶ Quests ◀ | Set up goals for players! 1.12

Allow your players to do quests with a GUI selector

  1. fatpigsarefat
    Tested Minecraft Versions:
    • 1.8
    • 1.9
    • 1.10
    • 1.11
    • 1.12
    Source Code:
    https://github.com/fatpigsarefat/Quests
    [​IMG]
    [​IMG]
    [​IMG]
    [​IMG]
    Features
    • Many types of quests
    • A GUI selector
    • Able to make Quests random and daily.
    • Staged quests/quest requirements
    • Quest cooldowns
    • Titles (1.8+)
    • GUI designer
    • Many configurable options
    • Categories (guide coming soon as it was only released 18th October)
    Commands
    • /quest [/q] - Opens Quest GUI
    • /questguidesigner [qgui, qdesigner, qguidesigner] - Opens Quest GUI Designer
    Permissions
    • quest.command - /quest [/q]
    • quest.admin - /questguidesigner [qgui, qdesigner, qguidesigner]
    Setup/Configuration
    GitHub

    >>> GitHub <<< (https://github.com/fatpigsarefat/Quests)

    Code (YAML):
    quests:
     #Quest identifier
      'blockbreak1'
    :

        #No longer used (name)
        name
    : 'Block Break I'

        #Quest type
        type
    : MINING

        #What does this quest require to be done to be started? REMOVE IF NO REQUIREMENT!
        requires
    : 'blockplace1'

        #Can the quest be re-done? (Not required)
        redoable
    : false

        #Cooldown (note: set redoable to true to enable)
        cooldown
    :
         #Enable/disable the cooldown
          enabled
    : true
          #Cooldown time in minutes
          minutes
    : 30

        #Value needed to complete quest
        value
    : 10

        display
    :
         #Display item in /quest or /q
          item
    : 'WOOD_PICKAXE'
          #Display name in /quest or /q
          name
    : '&9Block Break I'
          #Display lore in /quest or /q
          lore
    :
          - '&7To complete this quest you must:'
           - '&7Mine 10 of any block'
           - ''
           - '&7Rewards:'
           - '&7$500'
           - ''
           - '&7Progress
    : %progress%/10 blocks'

        #Rewarded to the player upon completing the quest
        rewards
    :
        - 'type:command, value:[eco give %player% 500]'
    Allowed types:
    MINING (Breaking blocks)
    MININGCERTAIN (Breaking a certain type of block)
    BUILDING (Placing blocks)
    BUILDINGCERTAIN (Placing a certain type of block)
    MOBKILLING (Killing animals & monsters)
    MOBKILLINGCERTAIN (Killing a certain type of entity)
    PLAYERKILLING (Killing players)
    INVENTORY (Have a certain block/amount of that block for quest to complete)
    ASKYBLOCK (Reach a certain island level)
    USKYBLOCK (Reach a certain island level)
    TIMEPLAYED (Amount of time played)
    EXP (Experience levels gained)
    TOTALEXP (Total experience points gained)
    WALKING (Distance walked in meters/blocks)
    CUSTOM (Developers can make their own quest types, see GitHub for more info)

    Placeholders (variables):
    Lore: %progress% - replaces with quest progress
    Rewards: %player% - player's name

    Adding Titles:
    At the bottom of your config.yml, you may want to add:
    Code (Text):
    title:
      enabled: 'true'
      mainmessage: '&eQuest Completed'
      submessage: '%quest%'
    You may now customise the title message.

    [type]CERTAIN quests:
    Code (YAML):
    type: BUILDINGCERTAIN:79
    #The first part (BUILDINGCERTAIN) is the TYPE of quest
    #The second part is the BLOCK ID!
    INVENTORY quests:
    Code (YAML):
    type: INVENTORY
    value
    : '[PORK:40, RAW_BEEF:40]' #[ITEM_1_NAME:AMOUNT, ITEM_2_NAME:AMOUNT, etc]
    Random daily quests:
    Code (YAML):
    quest-settings:
      all
    :
        quest-selector-method
    : RANDOM #this is what changes it to random daily quests mode
        random-method-refresh-rate
    : 1440 #time to do the quests
        expire-string
    : '&cExpires: %time%'

    Code (YAML):

    quests
    :
      'blockbreak1'
    :
        type
    : MINING
        redoable
    : true
        cooldown
    :
          enabled
    : true
          minutes
    : 30
        value
    : 10
        display
    :
          item
    : 'WOOD_PICKAXE'
          name
    : '&9Block Break I'
          lore
    :
          - '&7To complete this quest you must:'
           - '&7Mine 10 of any block'
           - ''
           - '&7Rewards:'
           - '&7$500'
           - ''
           - '&7Progress
    : %progress%/10 blocks'
        rewards
    :
        - 'type:command, value:[eco give %player% 500]'
        rewardstring
    :
        - '&a$500 added to your in-game balance.'
      'blockbreak2'
    :
        type
    : MINING
        redoable
    : true
        cooldown
    :
          enabled
    : true
          minutes
    : 30
        requires
    : 'blockbreak1'
        value
    : 100
        display
    :
          item
    : 'STONE_PICKAXE'
          name
    : '&9Block Break II'
          lore
    :
          - '&7To complete this quest you must:'
           - '&7Mine 100 of any block'
           - ''
           - '&7Rewards:'
           - '&7$5000'
           - ''
           - '&7Progress
    : %progress%/100 blocks'
        rewards
    :
        - 'type:command, value:[eco give %player% 5000]'
        rewardstring
    :
        - '&a$5,000 added to your in-game balance.'
      'blockplace1'
    :
        type
    : BUILDING
        redoable
    : true
        cooldown
    :
          enabled
    : true
          minutes
    : 30
        value
    : 10
        display
    :
          item
    : 'STONE'
          name
    : '&9Block Place I'
          lore
    :
          - '&7To complete this quest you must:'
           - '&7Place 10 of any block'
           - ''
           - '&7Rewards:'
           - '&7$500'
           - ''
           - '&7Progress
    : %progress%/10 blocks'
        rewards
    :
        - 'type:command, value:[eco give %player% 500]'
        rewardstring
    :
        - '&a$500 added to your in-game balance.'
      'blockplace2'
    :
        type
    : BUILDING
        redoable
    : true
        cooldown
    :
          enabled
    : true
          minutes
    : 30
        requires
    : 'blockplace1'
        value
    : 100
        display
    :
          item
    : 'IRON_BLOCK'
          name
    : '&9Block Place II'
          lore
    :
          - '&7To complete this quest you must:'
           - '&7Place 100 of any block'
           - ''
           - '&7Rewards:'
           - '&7$5000'
           - ''
           - '&7Progress
    : %progress%/100 blocks'
        rewards
    :
        - 'type:command, value:[eco give %player% 5000]'
        rewardstring
    :
        - '&a$5,000 added to your in-game balance.'
      'coalminer1'
    :
        type
    : MININGCERTAIN:16
        redoable
    : true
        cooldown
    :
          enabled
    : true
          minutes
    : 30
        value
    : 10
        display
    :
          item
    : 'COAL_ORE'
          name
    : '&9Coal Miner I'
          lore
    :
          - '&7To complete this quest you must:'
           - '&7Mine 10 of COAL ORE [16]'
           - ''
           - '&7Rewards:'
           - '&7$5000'
           - ''
           - '&7Progress
    : %progress%/10 blocks'
        rewards
    :
        - 'type:command, value:[eco give %player% 5000]'
        rewardstring
    :
        - '&a$5,000 added to your in-game balance.'
      'iceskater1'
    :
        type
    : BUILDINGCERTAIN:79
        redoable
    : true
        cooldown
    :
          enabled
    : true
          minutes
    : 30
        value
    : 10
        display
    :
          item
    : 'ICE'
          name
    : '&9Ice Skater I'
          lore
    :
          - '&7To complete this quest you must:'
           - '&7Place 10 of ICE [79]'
           - ''
           - '&7Rewards:'
           - '&7$5000'
           - ''
           - '&7Progress
    : %progress%/10 blocks'
        rewards
    :
        - 'type:command, value:[eco give %player% 5000]'
        rewardstring
    :
        - '&a$5,000 added to your in-game balance.'
      'mobkill1'
    :
        type
    : MOBKILLING
        redoable
    : true
        cooldown
    :
          enabled
    : true
          minutes
    : 30
        value
    : 10
        requires
    : 'blockbreak1'
        display
    :
          item
    : 'LEATHER_CHESTPLATE'
          name
    : '&9Mob Kill I'
          lore
    :
          - '&7To complete this quest you must:'
           - '&7Kill 10 of any mob'
           - ''
           - '&7Rewards:'
           - '&7$800'
           - ''
           - '&7Progress
    : %progress%/10 mobs killed'
        rewards
    :
        - 'type:command, value:[eco give %player% 800]'
        rewardstring
    :
        - '&a$800 added to your in-game balance.'
      'flesheater1'
    :
        type
    : MOBKILLINGCERTAIN:ZOMBIE
        redoable
    : true
        cooldown
    :
          enabled
    : true
          minutes
    : 30
        value
    : 10
        requires
    : 'blockbreak1'
        display
    :
          item
    : 'ROTTEN_FLESH'
          name
    : '&9Flesh Eater I'
          lore
    :
          - '&7To complete this quest you must:'
           - '&7Kill 10 zombies.'
           - ''
           - '&7Rewards:'
           - '&7$800'
           - ''
           - '&7Progress
    : %progress%/10 zombies killed'
        rewards
    :
        - 'type:command, value:[eco give %player% 800]'
        rewardstring
    :
        - '&a$800 added to your in-game balance.'
      'playerkill1'
    :
        type
    : PLAYERKILLING
        redoable
    : false
        cooldown
    :
          enabled
    : true
          minutes
    : 30
        value
    : 10
        requires
    : 'mobkill1'
        display
    :
          item
    : 'WOOD_SWORD'
          name
    : '&9Slayer I'
          lore
    :
          - '&7To complete this quest you must:'
           - '&7Kill 10 players'
           - ''
           - '&7Rewards:'
           - '&7$2000'
           - ''
           - '&7Progress
    : %progress%/10 players killed'
           - ''
           - '&7This quest cannot be re-done.'
        rewards
    :
        - 'type:command, value:[eco give %player% 2000]'
        rewardstring
    :
        - '&a$2,000 added to your in-game balance.'
      'playerkill2'
    :
        type
    : PLAYERKILLING
        value
    : 25
        redoable
    : true
        cooldown
    :
          enabled
    : true
          minutes
    : 30
        requires
    : 'playerkill1'
        display
    :
          item
    : 'STONE_SWORD'
          name
    : '&9Slayer II'
          lore
    :
          - '&7To complete this quest you must:'
           - '&7Kill 25 players'
           - ''
           - '&7Rewards:'
           - '&7$5000'
           - ''
           - '&7Progress
    : %progress%/25 players killed'
        rewards
    :
        - 'type:command, value:[eco give %player% 5000]'
        rewardstring
    :
        - '&a$5,000 added to your in-game balance.'
      'items1'
    :
        type
    : INVENTORY
        value
    : '[PORK:40, RAW_BEEF:40]'
        redoable
    : true
        cooldown
    :
          enabled
    : true
          minutes
    : 30
        display
    :
          item
    : 'PORK'
          name
    : '&9Meat-Eater'
          lore
    :
          - '&7Mmmm...'
           - '&7To complete this quest you must:'
           - '&7Obtain 40 pork & raw beef.'
           - ''
           - '&7Rewards:'
           - '&7$500'
           - ''
           - '&7Note
    : You must have these items in your inventory'
           - '&7for the quest to complete.'
        rewards
    :
        - 'type:command, value:[eco give %player% 500]'
        rewardstring
    :
        - '&a$500 added to your in-game balance.'
      'askyblock1'
    :
        type
    : ASKYBLOCK
        value
    : '10'
        redoable
    : false
        cooldown
    :
          enabled
    : true
          minutes
    : 30
        display
    :
          item
    : 'GRASS'
          name
    : '&9Reach island level 10 (ASkyBlock)'
          lore
    :
          - '&7Reach island level 10.'
           - ''
           - '&7Rewards:'
           - '&7$500'
           - ''
           - '&7Note
    : This is for Tastybento''s ASkyBlock'
           - '&7plugin only. Quests will poll skyblock plugins'
           - '&7every 10 seconds so please wait a short while'
           - '&7after checking your island level.'
           - ''
           - '&7This quest cannot be re-done.'
        rewards
    :
        - 'type:command, value:[eco give %player% 500]'
        rewardstring
    :
        - '&a$500 added to your in-game balance.'
      'uskyblock1'
    :
        type
    : USKYBLOCK
        value
    : '10'
        redoable
    : false
        cooldown
    :
          enabled
    : true
          minutes
    : 30
        display
    :
          item
    : 'GRASS'
          name
    : '&9Reach island level 10 (uSkyBlock)'
          lore
    :
          - '&7Reach island level 10.'
           - ''
           - '&7Rewards:'
           - '&7$500'
           - ''
           - '&7Note
    : This is for R4zorax''s uSkyBlock'
           - '&7plugin only. Quests will poll skyblock plugins'
           - '&7every 10 seconds so please wait a short while'
           - '&7after checking your island level.'
           - ''
           - '&7This quest cannot be re-done.'
        rewards
    :
        - 'type:command, value:[eco give %player% 500]'
        rewardstring
    :
        - '&a$500 added to your in-game balance.'
      'logminer1'
    :
        type
    : MININGCERTAIN:17
        value
    : '10'
        redoable
    : false
        cooldown
    :
          enabled
    : true
          minutes
    : 30
        worlds
    :
          restricted
    : true
          allowed-worlds
    :
          - 'world'
        display
    :
          item
    : 'DIAMOND_AXE'
          name
    : '&9Log Miner (world-restricted)'
          lore
    :
          - '&7Mine 10 logs.'
           - ''
           - '&7Rewards:'
           - '&7$500'
           - ''
           - '&7Progress
    : %progress%/10'
           - ''
           - '&cThis quest can only be done in a world called ''world''.'
        rewards
    :
        - 'type:command, value:[eco give %player% 500]'
        rewardstring
    :
        - '&a$500 added to your in-game balance.'
      'timeplayed1'
    :
        type
    : TIMEPLAYED
        value
    : '60'
        redoable
    : false
        cooldown
    :
          enabled
    : true
          minutes
    : 30
        display
    :
          item
    : 'WATCH'
          name
    : '&9Time Played I'
          lore
    :
          - '&7Play for 1 hour.'
           - ''
           - '&7Rewards:'
           - '&7$500'
           - ''
           - '&7Progress
    : %progress%'
           - ''
           - '&7Note
    : Sync your time played with the one listed'
           - '&7in Pause > Statistics by using ''/quest synctime''.'
           - '&7Requires permission ''quest.synctime'''
        rewards
    :
        - 'type:command, value:[eco give %player% 500]'
        rewardstring
    :
        - '&a$500 added to your in-game balance.'
      'experience1'
    :
        type
    : EXP
        value
    : '30'
        redoable
    : false
        cooldown
    :
          enabled
    : true
          minutes
    : 30
        display
    :
          item
    : 'EXP_BOTTLE'
          name
    : '&9Experience Levels'
          lore
    :
          - '&7Gain 30 experience levels.'
           - ''
           - '&7Rewards:'
           - '&764 Exp Bottles'
           - ''
           - '&7%progress%/30 levels'
        rewards
    :
        - 'type:command, value:[give %player% exp_bottle 64]'
        rewardstring
    :
        - '&a64 Bottle o'' Enchanting.'
      'totalexperience1'
    :
        type
    : TOTALEXP
        value
    : '1000'
        redoable
    : false
        cooldown
    :
          enabled
    : true
          minutes
    : 30
        display
    :
          item
    : 'EXP_BOTTLE'
          name
    : '&9Total Experience'
          lore
    :
          - '&7Acquire 1000 total experience.'
           - ''
           - '&7Rewards:'
           - '&764 Exp Bottles'
           - ''
           - '&7%progress%/1000 experience'
        rewards
    :
        - 'type:command, value:[give %player% exp_bottle 64]'
        rewardstring
    :
        - '&a64 Bottle o'' Enchanting.'
      'walking1'
    :
        type
    : WALKING
        value
    : '500'
        redoable
    : false
        cooldown
    :
          enabled
    : true
          minutes
    : 30
        display
    :
          item
    : 'LEATHER_BOOTS'
          name
    : '&9Walking I'
          lore
    :
          - '&7Walk 500 meters.'
           - ''
           - '&7Rewards:'
           - '&75 Swiftness II potions'
           - ''
           - '&7%progress%/500 meters'
        rewards
    :
        - 'type:command, value:[give %player% 373:8226 5]'
        rewardstring
    :
        - '&a5 Swiftness II potions.'
      'walking2'
    :
        type
    : WALKING
        value
    : '500'
        redoable
    : false
        cooldown
    :
          enabled
    : true
          minutes
    : 30
        requires
    : 'walking1'
        display
    :
          item
    : 'IRON_BOOTS'
          name
    : '&9Walking II'
          lore
    :
          - '&7Walk 2000 meters.'
           - ''
           - '&7Rewards:'
           - '&720 Swiftness II potions'
           - ''
           - '&7%progress%/2000 meters'
        rewards
    :
        - 'type:command, value:[give %player% 373:8226 20]'
        rewardstring
    :
        - '&a20 Swiftness II potions.'
    quest-settings
    :
      all
    :
        quest-selector-method
    : ALL
        random-method-refresh-rate
    : 1440
        expire-string
    : '&cExpires: %time%'
      mining
    :
        exclude-non=solid-blocks
    : false
      building
    :
        exclude-non=solid-blocks
    : false
    blacklisted-worlds
    :
    - ''
    show-rewardstring
    : true
    title
    :
      enabled
    : 'true'
      mainmessage
    : '&eQuest Completed'
      submessage
    : '%quest%'
    gui
    :
      title
    : '&9Quests'
      completed
    :
        item
    : 'STAINED_GLASS_PANE:5'
        name
    : '&2&lCompleted'
        lore
    :
        - '&7This quest has been completed and is not redoable.'
      cooldown
    :
        item
    : 'STAINED_GLASS_PANE:1'
        name
    : '&6&lCooldown'
        lore
    :
        - '&7This quest has been completed.'
         - '&7Cooldown
    : %cooldown%'
      locked
    :
        item
    : 'STAINED_GLASS_PANE:14'
        name
    : '&c&lLocked'
        lore
    :
        - '&7This quest is locked.'
         - '&7Please complete previous quests to unlock this quest.'
      slots
    : 54
      mini-slots
    : 27
    requires-permission
    : true
    messages
    :
      started-quest
    : '&aStarted quest: %quest%'
      complete-quest
    : '&aSuccessfully completed %quest%'
      rewards
    : '&aYour rewards:'
      reward-string-format
    : '&8 * %rewardstring%'
      sync-playtime
    : '&aTo CONFIRM that you want to sync your play time FROM &2%playtimebefore%&a TO &2%playtimeafter%&a, please repeat command &2%command%&a. Request will automatically time out in 15 seconds.'
      sync-timeout
    : '&aSync request timed out.'
      sync-success
    : '&aSync successful.'
      quests-refresh
    : '&aYour quests have refreshed.'
     

    To-Do
    Fishing quest

    Screenshots
    [​IMG]
    [​IMG]
    [​IMG]
    [​IMG]

    [​IMG]
    Kiriios, ProttyIX, Nahid and 4 others like this.

Recent Reviews

  1. Janosko
    Janosko
    5/5,
    Version: 1.12
    Great___________________________________________________________________________The best quest plugin
  2. ToastedCoconut
    ToastedCoconut
    5/5,
    Version: 1.12
    Plugin is doing what it is supposed to, the developer is very helpfull! I've encountered a couple problems and questions now and he always replied fast
  3. mamaie
    mamaie
    5/5,
    Version: 1.12
    Hello bro , your plugin it s amazing but you can add mysql ? I really need it :D
  4. Praya
    Praya
    5/5,
    Version: 1.12
    ~
    very good plugin
  5. DDigital
    DDigital
    5/5,
    Version: 1.11.3
    Great plugin, I especially like how easy it is to use and setup! My only suggestion is to allow different topics/menus like daily, weekly, and monthly quests.
    1. fatpigsarefat
      Author's Response
      Categories and pagination is being worked on ;)
  6. tuminh6396
    tuminh6396
    5/5,
    Version: 1.11.3
    Adding support for Mysql will increase the performance of this plugin, please add it as soon as possible
  7. jQuery
    jQuery
    5/5,
    Version: 1.11.3
    Awesome. Does what it says, and it's easy to create quests. Is it possible to have multiple pages?
  8. Dominik2912
    Dominik2912
    5/5,
    Version: 1.11.3
    Nice Plugin :D
    Can you add Mysql Support? :D
  9. ExoticPlayz10
    ExoticPlayz10
    5/5,
    Version: 1.6.3
    Amazing Plugin! I use this plugin with no errors or problem on my server: AtomicNations.Org
    I would highly suggest this plugin to everyone. Only thing my players would like is if you can make it so we can have quests for specific mob killing and add faction quests like overclaiming land and creating factions as objectives or something. But overall GREAT JOB! 100000/10
  10. EgeN7
    EgeN7
    5/5,
    Version: 1.6.2
    15/10

    Perfect quests plugin! Easy to understand, easy to do everything!

    Also, Author helped to fix a bug, and I'm sure about there will be more coming. One of the best Quests plugin on Spigot.