diff options
Diffstat (limited to 'wiki')
| -rw-r--r-- | wiki/Task-configuration-layout.md | 662 |
1 files changed, 662 insertions, 0 deletions
diff --git a/wiki/Task-configuration-layout.md b/wiki/Task-configuration-layout.md new file mode 100644 index 00000000..79eb1775 --- /dev/null +++ b/wiki/Task-configuration-layout.md @@ -0,0 +1,662 @@ +This shows you how to lay out the [task types](https://github.com/LMBishop/Quests/wiki/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](https://github.com/LMBishop/Quests/wiki/Task-Types) to see the task types which come with the plugin. +## `blockplace` +Place a set amount of blocks. +```yaml +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. +```yaml +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](https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/Material.html) (1.13+) or [this list](https://helpch.at/docs/1.12.2/org/bukkit/Material.html) (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. +```yaml +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. +```yaml +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. +```yaml +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](https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/Material.html) (1.13+) or [this list](https://helpch.at/docs/1.12.2/org/bukkit/Material.html) (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. +```yaml +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. +```yaml +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. +```yaml +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](https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/entity/EntityType.html). + +**Alternative layout** + +The alternative layout allows multiple names to be specified, which all count towards the progress. +```yaml +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. +```yaml +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. +```yaml +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. +```yaml +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](https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/Material.html) (1.13+) or [this list](https://helpch.at/docs/1.12.2/org/bukkit/Material.html) (1.8-1.12) for item names. +## `playerkilling` +Kill a set amount of players. +```yaml +playerkilling: + type: "playerkilling" + amount: 10 # amount of players killed + worlds: # (OPTIONAL) restrict to certain worlds + - "world" +``` +## `walking` +Walk a set distance. +```yaml +walking: + type: "walking" + distance: 1000 # distance in blocks travelled + worlds: # (OPTIONAL) restrict to certain worlds + - "world" +``` +## `inventory` +Obtain a set of items. +```yaml +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](https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/Material.html) (1.13+) or [this list](https://helpch.at/docs/1.12.2/org/bukkit/Material.html) (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. +```yaml +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](https://github.com/LMBishop/Quests/wiki/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](Defining-items#quest-items). +```yaml +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](Defining-items#quest-items) for more information on using quest items. +## `crafting` +Craft a specific item. +```yaml +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](https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/Material.html) (1.13+) or [this list](https://helpch.at/docs/1.12.2/org/bukkit/Material.html) (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. +```yaml +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](https://github.com/LMBishop/Quests/wiki/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](Defining-items#quest-items). +```yaml +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](Defining-items#quest-items) for more information on using quest items. + +## `consume` +Consume a specific item. +```yaml +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](https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/Material.html) (1.13+) or [this list](https://helpch.at/docs/1.12.2/org/bukkit/Material.html) (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. +```yaml +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](https://github.com/LMBishop/Quests/wiki/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](Defining-items#quest-items). +```yaml +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](Defining-items#quest-items) for more information on using quest items. + + +## `bucketfill` +Fill a bucket a certain amount of times. +```yaml +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. +```yaml +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. +```yaml +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. +```yaml +expearn: + type: "expearn" + amount: 20 # amount of experience earned + worlds: # (OPTIONAL) restrict to certain worlds + - "world" +``` +## `position` +Reach a set of co-ordinates. +```yaml +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. +```yaml +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. +```yaml +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. +```yaml +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](#blockbreakcertain) with data codes. +```yaml +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](#blockbreakcertain) with data codes. +```yaml +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](https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/Material.html) (1.13+) for item names. + +**Alternative layout** + +The alternative layout allows multiple blocks to be specified, which all count towards the progress. +```yaml +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. +```yaml +brewing: + type: "brewing" + amount: 10 # amount of potions brewed + worlds: # (OPTIONAL) restrict to certain worlds + - "world" +``` +## `milking` +Milk a set amount of cows. +```yaml +milking: + type: "milking" + amount: 10 # amount of cows milked + worlds: # (OPTIONAL) restrict to certain worlds + - "world" +``` +## `shearing` +Shear a set amount of sheep. +```yaml +shearing: + type: "shearing" + amount: 10 # amount of sheep sheared + worlds: # (OPTIONAL) restrict to certain worlds + - "world" +``` +## `taming` +Tame a set amount of animals. +```yaml +taming: + type: "taming" + amount: 10 # amount of mobs tamed + worlds: # (OPTIONAL) restrict to certain worlds + - "world" +``` +## `permission` +Test if a player has a permission. +```yaml +permission: + type: "permission" + permission: "some.permission.name" # permission required to be marked as complete +``` +## `command` +Execute a specific command. +```yaml +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. +```yaml +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](https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/Material.html) (1.13+) or [this list](https://helpch.at/docs/1.12.2/org/bukkit/Material.html) (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. +```yaml +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](https://github.com/LMBishop/Quests/wiki/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](Defining-items#quest-items). +```yaml +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](Defining-items#quest-items) for more information on using quest items. +## `citizens_interact` +Interact with (right-click) an NPC. +```yaml +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. +```yaml +askyblock: + type: "askyblock_level" + level: 10 # island level needed +``` +## `uskyblock_level` +Reach a certain island level using uSkyBlock. +```yaml +uskyblock: + type: "uskyblock_level" + level: 10 # island level needed +``` +## `mythicmobs_killing` +Kill a set amount of a MythicMobs entity. +```yaml +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. +```yaml +bentobox: + type: "bentobox_level" + level: 20 # minimum island level needed +``` +## `iridiumskyblock_value` +Reach a certain island value for IridiumSkyblock. +```yaml +iridiumskyblock: + type: "iridiumskyblock_value" + value: 20 # minimum island value needed +``` +## `placeholderapi_evaluate` +Parse any placeholder and evaluate its result. +```yaml +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. +```yaml +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. +```yaml +essentialsbalance: + type: "essentials_balance" + amount: 1000 # amount of money to reach +``` +## `essentials_moneyearn` +Earn a certain amount of money. +```yaml +essentialsbalance: + type: "essentials_moneyearn" + amount: 1000 # amount of money to earn +``` +## `shopguiplus_buycertain` +Buy something from a ShopGUI+ shop. +```yaml +shopguiplusbuy: + type: "shopguiplus_buycertain" + id: "item_id" # shopgui+ id of item to buy + amount: 1000 # amount of thing to buy +``` +## `shopguiplus_sellcertain` +Sell something to a ShopGUI+ shop. +```yaml +shopguiplussell: + type: "shopguiplus_sellcertain" + 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. +```yaml +fabledskyblock: + type: "fabledskyblock_level" + level: 20 # minimum island level needed +``` +## `superiorskyblock_level` +Reach a certain island level for SuperiorSkyblock. +```yaml +superiorskyblock: + type: "superiorskyblock_level" + level: 20 # minimum island level needed +``` +## `superiorskyblock_worth` +Reach a certain island worth for SuperiorSkyblock. +```yaml +superiorskyblock: + type: "superiorskyblock_worth" + worth: 20000 # minimum island worth needed +``` +## `votingplugin_vote` +Vote a certain amount of times. +```yaml +votingplugin: + type: "votingplugin_vote" + amount: 5 # minimum votes needed +```
\ No newline at end of file |
