Task Configuration Layout - LMBishop/Quests Wiki

Original URL: https://github.com/LMBishop/Quests/wiki/Task-Configuration-Layout

This shows you how to lay out the task types in the config. This should be under the tasks section in the quest. Make sure indentation is correct with the YAML file!

Note: This list will not contain task types which were written by someone else. Click here to see the task types which come with the plugin.

blockplace

Place a set amount of blocks.

building:
  type: "blockplace"
  amount: 10                            # amount of blocks to be placed
  worlds:                               # (OPTIONAL) restrict to certain worlds
   - "world"

blockplacecertain

Place a set amount of a specific block.

buildingstone:
  type: "blockplacecertain"
  amount: 10                            # amount of blocks to be placed
  block: STONE                          # name of block (minecraft name)
  data: 1                               # (OPTIONAL) data code
  reverse-if-broken: false              # (OPTIONAL) if true, blocks of same type broken will reverse progression (prevents silk-touch exploit)
  worlds:                               # (OPTIONAL) restrict to certain worlds
   - "world"

The data field may not work on newer Spigot versions. Please see this list (1.13+) or this list (1.8-1.12) for item names.

The reverse-if-broken field will subtract from the progress if the block of the same type is broken, rather than placed, which prevents players from breaking then placing the blocks.

Alternative layout

The alternative layout allows multiple blocks to be specified, which all count towards the progress.

buildingmultiple:
  type: "blockplacecertain"
  amount: 10                            # amount of blocks to be placed
  blocks:                               # name of blocks which will count towards progress
   - STONE
   - GOLD_ORE                           
  reverse-if-broken: false              # (OPTIONAL) if true, blocks of same type broken will reverse progression (prevents silk-touch exploit)
  worlds:                               # (OPTIONAL) restrict to certain worlds
   - "world"

blockbreak

Break a set amount of blocks.

mining:
  type: "blockbreak"
  amount: 10                            # amount of blocks to be broken
  worlds:                               # (OPTIONAL) restrict to certain worlds
   - "world"

blockbreakcertain

Break a set amount of a specific block.

miningstone:
  type: "blockbreakcertain"
  amount: 10                            # amount of blocks to be brkoen
  block: STONE                          # name of block (can be id or minecraft name)
  data: 1                               # (OPTIONAL) data code 
  reverse-if-placed: false              # (OPTIONAL) if true, blocks of same type placed will reverse progression (prevents silk-touch exploit)
  check-coreprotect: false              # (OPTIONAL) if true and CoreProtect is present, the plugin will check its logs for player placed blocks
  check-coreprotect-time: 3600          # (OPTIONAL) time in seconds for the maximum logging period to check
  worlds:                               # (OPTIONAL) restrict to certain worlds
   - "world"

The data field may not work on newer Spigot versions. Please see this list (1.13+) or this list (1.8-1.12) for item names.

The reverse-if-broken field will subtract from the progress if the block of the same type is broken, rather than placed, which prevents players from breaking then placing the blocks.

Using check-coreprotect requires the CoreProtect plugin installed, and requires check-coreprotect-time to also be specified. Quests will query CoreProtect when a block is broken to see if any other player has placed a block there. There is a short delay when a player places a block and when it is recorded in CoreProtect, so this may not function as expected in creative mode, where block breaking is instant.

Alternative layout

The alternative layout allows multiple blocks to be specified, which all count towards the progress.

miningmultiple:
  type: "blockbreakcertain"
  amount: 10                            # amount of blocks to be placed
  blocks:                               # name of blocks which will count towards progress
   - STONE
   - GOLD_ORE                           
  reverse-if-broken: false              # (OPTIONAL) if true, blocks of same type broken will reverse progression (prevents silk-touch exploit)
  check-coreprotect: false              # (OPTIONAL) if true and CoreProtect is present, the plugin will check its logs for player placed blocks
  check-coreprotect-time: 3600          # (OPTIONAL) time in seconds for the maximum logging period to check
  worlds:                               # (OPTIONAL) restrict to certain worlds
   - "world"

mobkilling

Kill a set amount of entities.

mobkilling:
  type: "mobkilling"
  amount: 10                            # amount of mobs to be killed
  hostile: true                         # (OPTIONAL) whether or not the mob is hostile - default: both
  worlds:                               # (OPTIONAL) restrict to certain worlds
   - "world"

Not specifying the hostile field will result in both hostile and non-hostile mobs counting towards progress.

mobkillingcertain

Kill a set amount of a specific entity type.

mobkillingblaze:
  type: "mobkillingcertain"
  amount: 10                            # amount of mobs to be killed
  mob: BLAZE                            # name of mob
  name: &cInferno                       # (OPTIONAL) this only allows blazes called "&cInferno" - default: any name
  worlds:                               # (OPTIONAL) restrict to certain worlds
   - "world"

Ensure any colour codes in the name of the entity are specified, otherwise the match will not work. For a list of entities, click here.

Alternative layout

The alternative layout allows multiple names to be specified, which all count towards the progress.

mobkillingblazemultiple:
  type: "mobkillingcertain"
  amount: 10                            # amount of mobs to be killed
  mob: BLAZE                            # name of mob
  names:                                # (OPTIONAL) this only allows blazes called "&cInferno" OR "&6Furnace" - default: any name
   - "&cInferno"
   - "&6Furnace"
  worlds:                               # (OPTIONAL) restrict to certain worlds
   - "world"

dealdamage

Deal a certain amount of damage.

dealdamage:
  type: "dealdamage"
  amount: 100                           # amount of damage inflicted (HP)
  worlds:                               # (OPTIONAL) restrict to certain worlds
   - "world"

Damage is measured in HP, 1 heart = 2 HP. A player has 20 HP by default, with no status effects applied.

fishing

Catch a set amount of items from the sea.

fishing:
  type: "fishing"
  amount: 10                            # amount of fish caught
  worlds:                               # (OPTIONAL) restrict to certain worlds
   - "world"

fishingcertain

Catch a set amount of a specific item from the sea.

fishingcertain:
  type: "fishingcertain"
  item: PUFFERFISH                      # type of item caught
  amount: 10                            # amount of item caught
  data: 3                               # (OPTIONAL) data code of item caught
  worlds:                               # (OPTIONAL) restrict to certain worlds
   - "world"

Please see this list (1.13+) or this list (1.8-1.12) for item names.

playerkilling

Kill a set amount of players.

playerkilling:
  type: "playerkilling"
  amount: 10                            # amount of players killed
  worlds:                               # (OPTIONAL) restrict to certain worlds
   - "world"

walking

Walk a set distance.

walking:
  type: "walking"
  distance: 1000                        # distance in blocks travelled
  worlds:                               # (OPTIONAL) restrict to certain worlds
   - "world"

inventory

Obtain a set of items.

beef:
  type: "inventory"
  item: RAW_BEEF                        # name of item (can be id or minecraft name)
  amount: 8                             # amount of item needed
  data: 0                               # (OPTIONAL) data code
  remove-items-when-complete: false     # (OPTIONAL) take the items away from the player on completion - default: false
  worlds:                               # (OPTIONAL) restrict to certain worlds
   - "world"

The data field may not work on newer Spigot versions. Please see this list (1.13+) or this list (1.8-1.12) for item names.

First alternative layout

This alternative layout allows for more exact item specification, with a certain name, lore, enchantments etc.

beef:
  type: "inventory"
  item:                                 # SPECIFIC item with name and lore
    name: "&cSpecial Beef"
    type: "RAW_BEEF"
    lore:
     - "&7This is a special type of beef"
  amount: 8                             # amount of item needed
  remove-items-when-complete: false     # (OPTIONAL) take the items away from the player on completion - default: false
  worlds:                               # (OPTIONAL) restrict to certain worlds
   - "world"

Please see Defining items for more information on specifying items within Quests, and for instructions on how to add different attributes such as unbreakable or hidden enchantments.

Second alternative layout

This alternative layout allows for referencing quest items.

beef:
  type: "inventory"
  item:                                 # USING quest-item
    quest-item: "specialbeef"
  amount: 8                             # amount of item needed
  remove-items-when-complete: false     # (OPTIONAL) take the items away from the player on completion - default: false
  worlds:                               # (OPTIONAL) restrict to certain worlds
   - "world"

Please see Defining items § Quest items for more information on using quest items.

crafting

Craft a specific item.

compass:
  type: "crafting"
  item: COMPASS                         # name of item (can be id or minecraft name)
  amount: 5                             # amount of item needed
  data: 0                               # (OPTIONAL) data code
  worlds:                               # (OPTIONAL) restrict to certain worlds
   - "world"

The data field may not work on newer Spigot versions. Please see this list (1.13+) or this list (1.8-1.12) for item names.

First alternative layout

The alternative layout allows for more exact item specification, with a certain name, lore, enchantments etc.

compass:
  type: "crafting"
  item:                                 # SPECIFIC item with name and lore
    name: "&cSuper Compass"
    type: "COMPASS"
    lore:
     - "&7This is special compass with a fancy name"
  amount: 5                             # amount of item needed
  worlds:                               # (OPTIONAL) restrict to certain worlds
   - "world"

Please see Defining items for more information on specifying items within Quests, and for instructions on how to add different attributes such as unbreakable or hidden enchantments.

Second alternative layout

This alternative layout allows for referencing quest items.

beef:
  type: "crafting"
  item:                                 # USING quest-item
    quest-item: "supercompass"
  amount: 5                             # amount of item needed
  worlds:                               # (OPTIONAL) restrict to certain worlds
   - "world"

Please see Defining items § Quest items for more information on using quest items.

consume

Consume a specific item.

beef:
  type: "consume"
  item: RAW_BEEF                        # name of item (can be id or minecraft name)
  amount: 8                             # amount of item consumed
  data: 0                               # (OPTIONAL) data code
  worlds:                               # (OPTIONAL) restrict to certain worlds
   - "world"

The data field may not work on newer Spigot versions. Please see this list (1.13+) or this list (1.8-1.12) for item names.

First alternative layout

This alternative layout allows for more exact item specification, with a certain name, lore, enchantments etc.

beef:
  type: "consume"
  item:                                 # SPECIFIC item with name and lore
    name: "&cSpecial Beef"
    type: "RAW_BEEF"
    lore:
     - "&7This is a special type of beef"
  amount: 8                             # amount of item consumed
  worlds:                               # (OPTIONAL) restrict to certain worlds
   - "world"

Please see Defining items for more information on specifying items within Quests, and for instructions on how to add different attributes such as unbreakable or hidden enchantments.

Second alternative layout

This alternative layout allows for referencing quest items.

beef:
  type: "inventory"
  item:                                 # USING quest-item
    quest-item: "specialbeef"
  amount: 8                             # amount of item needed
  remove-items-when-complete: false     # (OPTIONAL) take the items away from the player on completion - default: false
  worlds:                               # (OPTIONAL) restrict to certain worlds
   - "world"

Please see Defining items § Quest items for more information on using quest items.

bucketfill

Fill a bucket a certain amount of times.

bucketfill:
  type: "bucketfill"
  bucket: LAVA_BUCKET                   # bucket to fill
  amount: 8                             # amount of times to fill
  worlds:                               # (OPTIONAL) restrict to certain worlds
   - "world"

bucketempty

Empty a bucket a certain amount of times.

bucketempty:
  type: "bucketempty"
  bucket: LAVA_BUCKET                   # bucket to empty
  amount: 8                             # amount of times to empty
  worlds:                               # (OPTIONAL) restrict to certain worlds
   - "world"

enchanting

Enchant a certain amount of items.

enchanting:
  type: "enchanting"
  amount: 5                             # amount of items enchanted
  worlds:                               # (OPTIONAL) restrict to certain worlds
   - "world"

expearn

Earn a set amount of exp after starting the quest.

expearn:
  type: "expearn"
  amount: 20                            # amount of experience earned
  worlds:                               # (OPTIONAL) restrict to certain worlds
   - "world"

position

Reach a set of co-ordinates.

position:
  type: "position"
  x: 0                                  # x position
  y: 0                                  # y position
  z: 0                                  # z position
  world: world                          # name of world
  distance-padding: 10                  # (OPTIONAL) padding zone in meters/blocks - this will allow within 10 blocks of 0, 0, 0 - default = 0

The distance-padding option allows players to not have to stand in the exact position. It is recommended to have it set to at least 1.

distancefrom

Be a set distance away from certain co-ordinates.

distancefrom:
  type: "distancefrom"
  x: 0                                  # x position
  y: 0                                  # y position
  z: 0                                  # z position
  world: world                          # name of world
  distance: 10                          # required distance from coordinates

The distance is measured in a circle around the co-ordinates.

playtime

Play for a certain amount of time.

playtime:
  type: "playtime"
  minutes: 10                           # amount of minutes played
  ignore-afk: false                     # (OPTIONAL) ignore players marked as AFK by essentials

breeding

Breed a set amount of animals.

breeding:
  type: "breeding"
  amount: 5                             # amount of animals bred
  worlds:                               # (OPTIONAL) restrict to certain worlds
   - "world"

farming

Requires 1.13+
Farm a set amount of any crop. For versions under 1.13, use blockbreakcertain with data codes.

farming:
  type: "farming"
  amount: 10                            # amount of blocks to be broken
  worlds:                               # (OPTIONAL) restrict to certain worlds
   - "world"

farmingcertain

Requires 1.13+
Farm a set amount of a specific crop. For versions under 1.13, use blockbreakcertain with data codes.

farming:
  type: "farmingcertain"
  amount: 10                            # amount of blocks to be brkoen
  block: WHEAT                          # name of block (can be id or minecraft name)
  worlds:                               # (OPTIONAL) restrict to certain worlds
   - "world"

Please see this list (1.13+) for item names.

Alternative layout

The alternative layout allows multiple blocks to be specified, which all count towards the progress.

farmingmultiple:
  type: "farmingcertain"
  amount: 10                            # amount of blocks to be placed
  blocks:                               # name of blocks which will count towards progress
   - WHEAT
   - BEETROOT                           
  worlds:                               # (OPTIONAL) restrict to certain worlds
   - "world"

brewing

Brew a set amount of potions.

brewing:
  type: "brewing"
  amount: 10                            # amount of potions brewed
  worlds:                               # (OPTIONAL) restrict to certain worlds
   - "world"

milking

Milk a set amount of cows.

milking:
  type: "milking"
  amount: 10                            # amount of cows milked
  worlds:                               # (OPTIONAL) restrict to certain worlds
   - "world"

shearing

Shear a set amount of sheep.

shearing:
  type: "shearing"
  amount: 10                            # amount of sheep sheared
  worlds:                               # (OPTIONAL) restrict to certain worlds
   - "world"

taming

Tame a set amount of animals.

taming:
  type: "taming"
  amount: 10                            # amount of mobs tamed
  worlds:                               # (OPTIONAL) restrict to certain worlds
   - "world"

permission

Test if a player has a permission.

permission:
  type: "permission"
  permission: "some.permission.name"    # permission required to be marked as complete

command

Execute a specific command.

command:
  type: "command"
  command: "help"                       # command to execute
  ignore-case: true                     # (OPTIONAL) ignore capitalisation  - default: false
  worlds:                               # (OPTIONAL) restrict to certain worlds
   - "world"

This task may not work for commands not registered (i.e commands made with plugins like DeluxeMenu).

citizens_deliver

Deliver a set of items to a NPC.

citizensdeliver:
  type: "citizens_deliver"
  npc-name: "Gerald"                    # name of NPC
  item: RAW_BEEF                        # name of item (can be id or minecraft name)
  amount: 8                             # amount of item needed
  data: 0                               # (OPTIONAL) data code
  remove-items-when-complete: false     # (OPTIONAL) take the items away from the player on completion - default: false
  worlds:                               # (OPTIONAL) restrict to certain worlds
   - "world"

The data field may not work on newer Spigot versions. Please see this list (1.13+) or this list (1.8-1.12) for item names.

First alternative layout

The alternative layout allows for more exact item specification, with a certain name, lore, enchantments etc.

beef:
  type: "citizens_deliver"
  npc-name: "Gerald"                    # name of NPC
  item:                                 # SPECIFIC item with name and lore
    name: "&cSpecial Beef"
    type: "RAW_BEEF"
    lore:
     - "&7This is a special type of beef"
  amount: 8                             # amount of item needed
  remove-items-when-complete: false     # (OPTIONAL) take the items away from the player on completion - default: false
  worlds:                               # (OPTIONAL) restrict to certain worlds
   - "world"

Please see Defining items for more information on specifying items within Quests, and for instructions on how to add different attributes such as unbreakable or hidden enchantments.

Second alternative layout

This alternative layout allows for referencing quest items.

beef:
  type: "citizens_deliver"
  npc-name: "Gerald"                    # name of NPC
  item:                                 # USING quest-item
    quest-item: "specialbeef"
  amount: 8                             # amount of item needed
  remove-items-when-complete: false     # (OPTIONAL) take the items away from the player on completion - default: false
  worlds:                               # (OPTIONAL) restrict to certain worlds
   - "world"

Please see Defining items § Quest items for more information on using quest items.

citizens_interact

Interact with (right-click) an NPC.

citizensinteract:
  type: "citizens_interact"
  npc-name: "Gerald"                    # name of NPC
  worlds:                               # (OPTIONAL) restrict to certain worlds
   - "world"

askyblock_level

Reach a certain island level using ASkyBlock.

askyblock:
  type: "askyblock_level"
  level: 10                             # island level needed

uskyblock_level

Reach a certain island level using uSkyBlock.

uskyblock:
  type: "uskyblock_level"
  level: 10                             # island level needed

mythicmobs_killing

Kill a set amount of a MythicMobs entity.

mythicmobs:
  type: "mythicmobs_killing"
  amount: 1                             # amount of mobs to be killed
  name: "SkeletalKnight"                # internal name of mob (name in config - NOT display name)
  level: 1                              # (OPTIONAL) the exact level the mob must be for it to count
  min-level: 1                          # (OPTIONAL) the minimum level the mob must be for it to count
  worlds:                               # (OPTIONAL) restrict to certain worlds
   - "world"

The level and min-level fields should not be specified together. The name field is the name of the mob in the configuration (i.e the name you use to spawn the mob).

bentobox_level

Reach a certain island level in the level addon for BentoBox.

bentobox:
  type: "bentobox_level"
  level: 20                             # minimum island level needed

iridiumskyblock_value

Reach a certain island value for IridiumSkyblock.

iridiumskyblock:
  type: "iridiumskyblock_value"
  value: 20                             # minimum island value needed

placeholderapi_evaluate

Parse any placeholder and evaluate its result.

papieval:
  type: "placeholderapi_evaluate"
  placeholder: "%player_name%"          # placeholder string
  evaluates: "fatpigsarefat"            # what it should evaluate as to be marked as complete
  worlds:                               # (OPTIONAL) restrict to certain worlds
   - "world"

Alternative layout

The alternative layout allows mathematical comparisons to be done on the placeholder result.

papieval:
  type: "placeholderapi_evaluate"
  placeholder: "%player_empty_slots%"   # placeholder string
  evaluates: "20"                       # number to compare to
  operator: "GREATER_THAN"              # (OPTIONAL) numerical operator, "evaluates" MUST be an integer
  worlds:                               # (OPTIONAL) restrict to certain worlds
   - "world"

The following values for operator are allowed: GREATER_THAN (>), LESS_THAN (<), GREATER_THAN_OR_EQUAL_TO (>=), LESS_THAN_OR_EQUAL_TO (<=). Ensure the outcome of placeholder is an integer.

essentials_balance

Reach a certain balance.

essentialsbalance:
  type: "essentials_balance"
  amount: 1000                          # amount of money to reach

essentials_moneyearn

Earn a certain amount of money.

essentialsbalance:
  type: "essentials_moneyearn"
  amount: 1000                          # amount of money to earn

shopguiplus_buycertain

Buy something from a ShopGUI+ shop.

shopguiplusbuy:
  type: "shopguiplus_buycertain"
  shop-id: "shop_id"                    # shopgui+ id of the shop that contains the item.
  item-id: "item_id"                         # shopgui+ id of item to buy
  amount: 1000                          # amount of thing to buy

shopguiplus_sellcertain

Sell something to a ShopGUI+ shop.

shopguiplussell:
  type: "shopguiplus_sellcertain"
  shop-id: "shop_id"                    # shopgui+ id of the shop that contains the item.
  item-id: "item_id"                         # shopgui+ id of item to sell
  amount: 1000                          # amount of thing to sell

fabledskyblock_level

Reach a certain island level for FabledSkyblock.

fabledskyblock:
  type: "fabledskyblock_level"
  level: 20                             # minimum island level needed

superiorskyblock_level

Reach a certain island level for SuperiorSkyblock.

superiorskyblock:
  type: "superiorskyblock_level"
  level: 20                             # minimum island level needed

superiorskyblock_worth

Reach a certain island worth for SuperiorSkyblock.

superiorskyblock:
  type: "superiorskyblock_worth"
  worth: 20000                          # minimum island worth needed

votingplugin_vote

Vote a certain amount of times.

votingplugin:
  type: "votingplugin_vote"
  amount: 5                             # minimum votes needed
⚠️ **GitHub.com Fallback** ⚠️