diff options
| author | LMBishop <13875753+LMBishop@users.noreply.github.com> | 2019-07-11 22:46:01 +0100 |
|---|---|---|
| committer | LMBishop <13875753+LMBishop@users.noreply.github.com> | 2019-07-11 22:48:03 +0100 |
| commit | 71f118f233bdd24b4fdadfa6f2f38ff2e6d6b246 (patch) | |
| tree | 3241b6e119b892825effbdb6479b507bfbbdc296 /src/main/resources | |
| parent | 14d76fa399a45387c8fd9755d69cb2045b5e78b2 (diff) | |
Config split up
- Quests will now be in their own files
- New 'QuestsConfigLoader' class to handle this with error messages
- General refactorings
Diffstat (limited to 'src/main/resources')
| -rw-r--r-- | src/main/resources/config.yml | 1070 | ||||
| -rw-r--r-- | src/main/resources/quests/README.txt | 30 | ||||
| -rw-r--r-- | src/main/resources/quests/example1.yml | 55 | ||||
| -rw-r--r-- | src/main/resources/quests/example2.yml | 42 | ||||
| -rw-r--r-- | src/main/resources/quests/example3.yml | 45 | ||||
| -rw-r--r-- | src/main/resources/quests/example4.yml | 39 | ||||
| -rw-r--r-- | src/main/resources/quests/example5.yml | 34 | ||||
| -rw-r--r-- | src/main/resources/quests/example6.yml | 30 |
8 files changed, 276 insertions, 1069 deletions
diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml index ab931615..b5a5273e 100644 --- a/src/main/resources/config.yml +++ b/src/main/resources/config.yml @@ -2,7 +2,7 @@ # | Thank you for downloading and trying out my plugin: | # | Quests | # | https://www.spigotmc.org/resources/23696/ | -# | Created by lmbishop | +# | https://github.com/LMBishop/Quests/ | # | | # | =x= | # | | @@ -17,1050 +17,6 @@ # | https://www.discord.gg/8amrJnX | # | =================================================== | -# !! READ ME !! -# -# A quest is a series of tasks which players must complete for a reward and may require a previous quest to start. -# A task is an objective such as breaking blocks or obtaining items. -# A reward is a command executed by the SERVER. Use {player} to get the players name. -# -# A quest can have a 'rewardstring' (this is optional). They will be sent to the player when they complete the quest. -# An example of the rewardstring in use can be seen in the quest example4. -# -# Each quest will have ONE "display" item, this is the item shown to the player in the GUI. -# The display item will have a "name", a "type" and TWO lores. -# The name is the name of the item, the type is the material and the lore is the text underneath the item (when mouse-over-ing). -# The first lore you must give is called 'lore-normal'. This is the lore seen if the player has not started the quest. -# The second lore you must give is 'lore-started'. This will be appended to the first lore IF the player has started the quest - useful for putting progression. -# Within the lores you can get the players" progress for each task. Use {TASKID:progress} (replace TASKID with the ID of the task). -# You can also get if a task is complete. Use {TASKID:complete} (replace TASKID with the ID of the task). -# -# Quests can be put inside a category. When a player does /quests they will first see a menu of categories. They can click one and another menu of quests -# under that category will show up. Categories can be disabled. -# -# !! READ ME !! - -# Everything inside of this section is a quest -quests: - # This is the quest ID ("example"). This MUST be unique against all other quest IDs. - example1: - # Everything inside of this section defines tasks the player must complete to progress. - tasks: - # This is the task ID ("mining"). This can share the same name as the quest ID but MUST be unique with all other task IDs in the same quest. - mining: - # This defines what type of task this is. In this instance, it is "blockbreak" (breaking blocks) - # NOTE: guides to set up each type of task is on the plugin page! - type: "blockbreak" - # This defines the amount of blocks which need to be broken - amount: 30 - # You can have multiple tasks for each quest (example further down). - # Everything inside of this section defines the display item. - display: - # This is the name of the item. This allows color codes. - name: "&cExample I (Single Task)" - # This is the lore of the item if the player has not started the quest. This allows color codes and task/player placeholders. - lore-normal: - - "&cThis category is designed to show you the different" - - "&cattributes a quest can have." - - "" - - "&7This quest requires you to:" - - "&7 - Break 30 blocks." - - "" - - "&7Rewards:" - - "&7 - 10 diamonds." - # This lore will be appended to the bottom of the above lore when the player starts their quest. - # To get the players progress through a task, use {TASKID:progress} and replace TASKID with the ID of the task. - lore-started: - - "" - - "&7Your current progression:" - - "&7 - {mining:progress}/30 blocks broken." - # This is the material of the item. It is recommended to stick to bukkit names. - type: "WOOD_PICKAXE" - # List all commands to be executed by the server when the player completes the quest. Use {player} to get the players name. - rewards: - - "give {player} diamond 10" - # Everything inside this section define quest-specific options - options: - # This is the category for the quest, it will appear under the "examples" category. Categories can be disabled. - category: "examples" - # Set the quest IDs of required quests here, leave empty if none. - requires: - - "" - # Set if the quest can be repeated after being completed for the first time. - repeatable: false - # Define the cooldown on quests. The above (repeatable) must be true for this to take effect. - cooldown: - # If true, players will have to wait between repeating quests. - enabled: true - # Time (in minutes) - time: 1440 - - # This is a quest which requires the previous quest to be complete to start. - example2: - tasks: - # Unlike the previous quest, this quest has multiple tasks. - mining: - type: "blockbreak" - amount: 100 - building: - type: "blockplace" - amount: 100 - display: - name: "&cExample II (Multiple Tasks)" - lore-normal: - - "&cThis category is designed to show you the different" - - "&cattributes a quest can have. This quest requires" - - "&cmultiple things to be done, unlike the previous one." - - "" - - "&7This quest requires you to:" - - "&7 - Break 100 blocks." - - "&7 - Place 100 blocks." - - "" - - "&7Rewards:" - - "&7 - 15 diamonds." - - "&7 - $50 added to your in-game balance." - lore-started: - - "" - - "&7Your current progression:" - - "&7 - {mining:progress}/100 blocks broken." - - "&7 - {building:progress}/100 blocks placed." - type: "GRASS" - rewards: - - "give {player} diamond 15" - - "eco give {player} 50" - options: - category: "examples" - # Unlike the previous quest, this quest has "example1" as a required quest. You cannot start this quest without "example1" quest complete. - requires: - - "example1" - repeatable: false - cooldown: - enabled: true - time: 1440 - - # This is a quest which requires the previous quest to be complete to start. - # Unlike the previous quest, this one can be re-done but it has a 10 minute cooldown. - example3: - tasks: - # Unlike the previous two quests, this quest specifies a specific block to be broken. - mining: - type: "blockbreakcertain" - amount: 81 - block: 14 # (gold ore) - building: - type: "blockplacecertain" - amount: 9 - block: 41 # (gold blocks) - display: - name: "&cExample III (Repeatable, 10 minute cooldown)" - lore-normal: - - "&cThis category is designed to show you the different" - - "&cattributes a quest can have. This quest can be replayed" - - "&cafter a cooldown, unlike the previous one." - - "" - - "&7This quest requires you to:" - - "&7 - Break 81 gold ore." - - "&7 - Place 9 gold blocks." - - "" - - "&7Rewards:" - - "&7 - 30 diamonds." - - "&7 - $10 added to your in-game balance." - lore-started: - - "" - - "&7Your current progression:" - - "&7 - {mining:progress}/81 gold ore broken." - - "&7 - {building:progress}/9 gold blocks placed." - type: "GOLD_ORE" - rewards: - - "give {player} diamond 30" - - "eco give {player} 10" - options: - category: "examples" - requires: - - "example2" - # This quest is repeatable, it has cooldowns enabled (meaning the player must wait before repeating it) and the time set to 10 (minutes). - repeatable: true - cooldown: - enabled: true - time: 10 - - # This is a quest which requires the previous quest to be complete to start. - # Unlike the previous quests, this quest has a reward string. - example4: - tasks: - mobkilling: - type: "mobkilling" - amount: 3 - display: - name: "&cExample IV (Reward String)" - lore-normal: - - "&cThis category is designed to show you the different" - - "&cattributes a quest can have. This quest has a 'reward string'" - - "&c(a series of messages sent when a quest is complete)," - - "&cunlike the previous one." - - "" - - "&7This quest requires you to:" - - "&7 - Kill 3 mobs." - - "" - - "&7Rewards:" - - "&7 - $50 added to your in-game balance." - lore-started: - - "" - - "&7Your current progression:" - - "&7 - {mobkilling:progress}/3 mobs killed." - type: "STRING" - rewards: - - "eco give {player} 50" - # Here you can list messages which will be sent to the player (if they are online) upon completion. - rewardstring: - - " &8* &c$10 &7was added to your in-game balance." - - " &8* &c30 diamonds &7was added to your inventory." - options: - category: "examples" - requires: - - "example3" - repeatable: true - cooldown: - enabled: true - time: 10 - - example5: - tasks: - building: - type: "blockplace" - amount: 10 - display: - name: "&cExample V (Permission)" - lore-normal: - - "&cThis category is designed to show you the different" - - "&cattributes a quest can have. This quest requires" - - "&ccertain permissions." - - "" - - "&7This quest requires you to:" - - "&7 - Place 10 blocks." - - "" - - "&7Rewards:" - - "&7 - $10 added to your in-game balance." - lore-started: - - "" - - "&7Your current progression:" - - "&7 - {building:progress}/10 blocks placed." - type: "GRASS" - rewards: - - "eco give {player} 10" - options: - category: "examples" - requires: - - "example4" - # Unlike the previous quests, this one requires you to have the permission "quests.quest.example5" to start. - # The permission for other quests is: "quests.quest.<id>". - permission-required: true - repeatable: false - cooldown: - enabled: true - time: 1440 - - example6: - tasks: - building: - type: "blockplace" - amount: 10 - display: - name: "&cExample VI (Different category, permissions)" - lore-normal: - - "&cThis category is designed to show you the different" - - "&cattributes a quest can have. This quest requires" - - "&ccertain permissions." - - "" - - "&7This quest requires you to:" - - "&7 - Place 10 blocks." - - "" - - "&7Rewards:" - - "&7 - $10 added to your in-game balance." - lore-started: - - "" - - "&7Your current progression:" - - "&7 - {building:progress}/10 blocks placed." - type: "GRASS" - rewards: - - "eco give {player} 10" - options: - category: "permissionexample" - # This quest has no specific permission, however its category does. The permission for the category is "quests.category.permissionexample" - repeatable: false - cooldown: - enabled: true - time: 1440 - - # This is the end of the config example quests. - # Hopefully you should be able to understand the quest config from this. - # -------------------------------------------------------------------------------------- - # Below are some basic quests. You should be able to understand what to do from reading these. - # These quests show off the other task types this plugin has to offer by default. - # Developers can add their own (look at the wiki on GitHub for details). - - mining1: - tasks: - mining: - type: "blockbreak" - amount: 100 - display: - name: "&cNovice Miner" - lore-normal: - - "&7This quest requires you to:" - - "&7 - Break 100 blocks." - - "" - - "&7Rewards:" - - "&7 - $50 added to your in-game balance." - lore-started: - - "" - - "&7Your current progression:" - - "&7 - {mining:progress}/100 blocks broken." - type: "WOOD_PICKAXE" - rewards: - - "eco give {player} 50" - options: - category: "easy" - requires: - - "" - repeatable: true - cooldown: - enabled: true - time: 1440 - - building1: - tasks: - building: - type: "blockplace" - amount: 100 - display: - name: "&cNovice Builder" - lore-normal: - - "&7This quest requires you to:" - - "&7 - Place 100 blocks." - - "" - - "&7Rewards:" - - "&7 - $50 added to your in-game balance." - lore-started: - - "" - - "&7Your current progression:" - - "&7 - {building:progress}/100 blocks placed." - type: "STONE" - rewards: - - "eco give {player} 50" - options: - category: "easy" - requires: - - "" - repeatable: true - cooldown: - enabled: true - time: 1440 - - youmonster: - tasks: - mobkilling: - type: "mobkilling" - amount: 10 - hostile: false - display: - name: "&cYou Monster" - lore-normal: - - "&7This quest requires you to:" - - "&7 - Kill 10 non-hostile animals." - - "" - - "&7Rewards:" - - "&7 - $1 added to your in-game balance." - lore-started: - - "" - - "&7Your current progression:" - - "&7 - {mobkilling:progress}/10 non-hostile animals." - type: "PORK" - rewards: - - "eco give {player} 1" - options: - category: "easy" - requires: - - "" - repeatable: true - cooldown: - enabled: true - time: 1440 - - mobkiller: - tasks: - mobkilling: - type: "mobkilling" - amount: 10 - hostile: true - display: - name: "&cMonster Slayer" - lore-normal: - - "&7This quest requires you to:" - - "&7 - Kill 10 hostile monsters." - - "" - - "&7Rewards:" - - "&7 - $50 added to your in-game balance." - lore-started: - - "" - - "&7Your current progression:" - - "&7 - {mobkilling:progress}/10 hostile monsters killed." - type: "WOOD_SWORD" - rewards: - - "eco give {player} 50" - options: - category: "easy" - requires: - - "" - repeatable: true - cooldown: - enabled: true - time: 1440 - - walking1: - tasks: - walking: - type: "walking" - distance: 1000 - display: - name: "&cAdventurer" - lore-normal: - - "&7This quest requires you to:" - - "&7 - Walk 1km." - - "" - - "&7Rewards:" - - "&7 - $50 added to your in-game balance." - lore-started: - - "" - - "&7Your current progression:" - - "&7 - {walking:progress}m/1000m walked." - type: "LEATHER_BOOTS" - rewards: - - "eco give {player} 50" - options: - category: "easy" - requires: - - "" - repeatable: true - cooldown: - enabled: true - time: 1440 - - inventory1: - tasks: - beef: - type: "inventory" - item: RAW_BEEF - amount: 8 - remove-items-when-complete: false - chicken: - type: "inventory" - item: RAW_CHICKEN - amount: 8 - remove-items-when-complete: false - pork: - type: "inventory" - item: PORK - amount: 8 - remove-items-when-complete: false - display: - name: "&cMeat Eater" - lore-normal: - - "&7This quest requires you to:" - - "&7 - Collect 8 raw beef, pork & chicken." - - "" - - "&7Rewards:" - - "&7 - $50 added to your in-game balance." - lore-started: - - "" - - "&7Your current progression:" - - "&7 - 8 raw beef collected: {beef:complete}." - - "&7 - 8 chicken collected: {chicken:complete}." - - "&7 - 8 pork collected: {pork:complete}." - type: "PORK" - rewards: - - "eco give {player} 50" - options: - category: "easy" - requires: - - "" - repeatable: true - cooldown: - enabled: true - time: 1440 - - playtime: - tasks: - playtime: - type: "playtime" - minutes: 10 - display: - name: "&cPlay Time" - lore-normal: - - "&7This quest requires you to:" - - "&7 - Play for 10 minutes." - - "" - - "&7Rewards:" - - "&7 - $50 added to your in-game balance." - lore-started: - - "" - - "&7Your current progression:" - - "&7 - {playtime:progress} minutes/10 minutes." - type: "WATCH" - rewards: - - "eco give {player} 50" - options: - category: "easy" - requires: - - "" - repeatable: true - cooldown: - enabled: true - time: 1440 - - playerkiller: - tasks: - playerkilling: - type: "playerkilling" - amount: 10 - display: - name: "&cMurderer" - lore-normal: - - "&7This quest requires you to:" - - "&7 - Kill 10 players." - - "" - - "&7Rewards:" - - "&7 - $10 added to your in-game balance." - lore-started: - - "" - - "&7Your current progression:" - - "&7 - {playerkilling:progress}/10 players killed." - type: "IRON_SWORD" - rewards: - - "eco give {player} 50" - options: - category: "medium" - requires: - - "" - repeatable: true - cooldown: - enabled: true - time: 1440 - - fisher: - tasks: - fishing: - type: "fishing" - amount: 10 - display: - name: "&cProfessional Fisher" - lore-normal: - - "&7This quest requires you to:" - - "&7 - Catch 10 items from the sea." - - "" - - "&7Rewards:" - - "&7 - $30 added to your in-game balance." - lore-started: - - "" - - "&7Your current progression:" - - "&7 - {fishing:progress}/10 items caught." - type: "FISHING_ROD" - rewards: - - "eco give {player} 30" - options: - category: "medium" - requires: - - "" - repeatable: true - cooldown: - enabled: true - time: 1440 - - breeding1: - tasks: - breeding: - type: "breeding" - amount: 5 - display: - name: "&cBreeder" - lore-normal: - - "&7This quest requires you to:" - - "&7 - Breed 5 animals" - - "" - - "&7Rewards:" - - "&7 - $30 added to your in-game balance." - lore-started: - - "" - - "&7Your current progression:" - - "&7 - Animals bred: {breeding:progress}" - type: "WHEAT" - rewards: - - "eco give {player} 30" - options: - category: "medium" - requires: - - "" - repeatable: true - cooldown: - enabled: true - time: 1440 - - expearn1: - tasks: - expearn: - type: "expearn" - amount: 10 - display: - name: "&cExperience Earner" - lore-normal: - - "&7This quest requires you to:" - - "&7 - Gain 10 XP" - - "" - - "&7Rewards:" - - "&7 - $30 added to your in-game balance." - lore-started: - - "" - - "&7Your current progression:" - - "&7 - XP earned: {expearn:progress}" - type: "EXP_BOTTLE" - rewards: - - "eco give {player} 30" - options: - category: "medium" - requires: - - "" - repeatable: true - cooldown: - enabled: true - time: 1440 - - dealdamage1: - tasks: - dealdamage: - type: "dealdamage" - amount: 100 - display: - name: "&cPain Giver" - lore-normal: - - "&7This quest requires you to:" - - "&7 - Deal 100 HP damage" - - "" - - "&7Rewards:" - - "&7 - $100 added to your in-game balance." - lore-started: - - "" - - "&7Your current progression:" - - "&7 - Damage dealt: {dealdamage:progress} HP" - type: "REDSTONE" - rewards: - - "eco give {player} 100" - options: - category: "medium" - requires: - - "" - repeatable: true - cooldown: - enabled: true - time: 1440 - - enchanting1: - tasks: - enchanting: - type: "enchanting" - amount: 5 - display: - name: "&cEnchanter" - lore-normal: - - "&7This quest requires you to:" - - "&7 - Enchant 5 items" - - "" - - "&7Rewards:" - - "&7 - $100 added to your in-game balance." - lore-started: - - "" - - "&7Your current progression:" - - "&7 - Items enchanted: {enchanting:progress}" - type: "REDSTONE" - rewards: - - "eco give {player} 100" - options: - category: "medium" - requires: - - "" - repeatable: true - cooldown: - enabled: true - time: 1440 - - animals1: - tasks: - milking: - type: "milking" - amount: 10 - shearing: - type: "shearing" - amount: 10 - taming: - type: "taming" - amount: 3 - display: - name: "&cAnimal Keeper" - lore-normal: - - "&7This quest requires you to:" - - "&7 - Milk 10 cows." - - "&7 - Shear 10 sheep." - - "&7 - Tame 3 animals as pets." - - "" - - "&7Rewards:" - - "&7 - $50 added to your in-game balance." - lore-started: - - "" - - "&7Your current progression:" - - "&7 - {milking:progress}/10 cows milked." - - "&7 - {shearing:progress}/10 sheep sheared." - - "&7 - {taming:progress}/3 animals tamed." - type: "MILK_BUCKET" - rewards: - - "eco give {player} 50" - options: - category: "medium" - requires: - - "" - repeatable: true - cooldown: - enabled: true - time: 1440 - - position1: - tasks: - position: - type: "position" - x: 0 - y: 0 - z: 0 - world: "world" - display: - name: "&cOrigin Point" - lore-normal: - - "&7This quest requires you to:" - - "&7 - Reach position: 0, 0, 0 in world world." - - "" - - "&7Rewards:" - - "&7 - $100 added to your in-game balance." - lore-started: - - "" - - "&7Your current progression:" - - "&7 - Position reached: {position:complete}." - type: "GOLD_BOOTS" - rewards: - - "eco give {player} 100" - options: - category: "medium" - requires: - - "" - repeatable: true - cooldown: - enabled: true - time: 1440 - - distancefrom1: - tasks: - distancefrom: - type: "distancefrom" - x: 0 - y: 0 - z: 0 - world: "world" - distance: 10000 - display: - name: "&cExplorer" - lore-normal: - - "&7This quest requires you to:" - - "&7 - Walk 10km away from the coords 0,0." - - "" - - "&7Rewards:" - - "&7 - $500 added to your in-game balance." - lore-started: - - "" - - "&7Your current progression:" - - "&7 - {distancefrom:progress}m/10000m walked." - type: "STICK" - rewards: - - "eco give {player} 100" - options: - category: "medium" - requires: - - "" - repeatable: true - cooldown: - enabled: true - time: 1440 - - mining2: - tasks: - mining: - type: "blockbreak" - amount: 350 - ironmining: - type: "blockbreakcertain" - block: IRON_ORE - amount: 20 - display: - name: "&cSkilled Miner" - lore-normal: - - "&7This quest requires you to:" - - "&7 - Break 350 blocks." - - "&7 - Break 20 iron ore." - - "" - - "&7Rewards:" - - "&7 - $150 added to your in-game balance." - lore-started: - - "" - - "&7Your current progression:" - - "&7 - {mining:progress}/350 blocks broken." - - "&7 - {ironmining:progress}/20 iron ore broken." - type: "IRON_PICKAXE" - rewards: - - "eco give {player} 150" - options: - category: "medium" - requires: - - "mining1" - repeatable: true - cooldown: - enabled: true - time: 1440 - - building2: - tasks: - building: - type: "blockplace" - amount: 350 - woodbuilding: - type: "blockplacecertain" - block: 5 - amount: 20 - bricksbuilding: - type: "blockplacecertain" - block: 45 - amount: 20 - redwoolbuilding: - type: "blockplacecertain" - block: 35 - amount: 20 - data: 14 - display: - name: "&cVariety Builder" - lore-normal: - - "&7This quest requires you to:" - - "&7 - Place 350 blocks." - - "&7 - Place 20 oak wood." - - "&7 - Place 20 bricks." - - "&7 - Place 20 red wool." - - "" - - "&7Rewards:" - - "&7 - $150 added to your in-game balance." - lore-started: - - "" - - "&7Your current progression:" - - "&7 - {building:progress}/350 blocks placed." - - "&7 - {woodbuilding:progress}/20 oak wood placed." - - "&7 - {bricksbuilding:progress}/20 bricks placed." - - "&7 - {redwoolbuilding:progress}/20 red wool placed." - type: "WOOL" - rewards: - - "eco give {player} 150" - options: - category: "medium" - requires: - - "building1" - repeatable: true - cooldown: - enabled: true - time: 1440 - - walking2: - tasks: - walking: - type: "walking" - distance: 10000 - display: - name: "&cMountaineer" - lore-normal: - - "&7This quest requires you to:" - - "&7 - Walk 10km." - - "" - - "&7Rewards:" - - "&7 - $500 added to your in-game balance." - lore-started: - - "" - - "&7Your current progression:" - - "&7 - {walking:progress}m/10000m walked." - type: "LEATHER_BOOTS" - rewards: - - "eco give {player} 500" - options: - category: "medium" - requires: - - "walking1" - repeatable: true - cooldown: - enabled: true - time: 1440 - - brewing: - tasks: - brewing: - type: "brewing" - amount: 10 - display: - name: "&cBrewer" - lore-normal: - - "&7This quest requires you to:" - - "&7 - Brew 10 potions." - - "" - - "&7Rewards:" - - "&7 - $500 added to your in-game balance." - lore-started: - - "" - - "&7Your current progression:" - - "&7 - {brewing:progress}/10 potions brewed." - type: "BREWING_STAND_ITEM" - rewards: - - "eco give {player} 500" - options: - category: "medium" - repeatable: true - cooldown: - enabled: true - time: 1440 - - askyblock: - tasks: - islandlevel: - type: "askyblock_level" - level: 50 - display: - name: "&cIslander (ASkyBlock)" - lore-normal: - - "&7This quest requires you to:" - - "&7 - Reach island level 50" - - "" - - "&7Rewards:" - - "&7 - $30 added to your in-game balance." - - "" - - "&cRequires plugin ASkyBlock!" - lore-started: - - "" - - "&7Your current progression:" - - "&7 - {islandlevel:progress}/50 island level." - type: "GRASS" - rewards: - - "eco give {player} 30" - options: - category: "dependent" - requires: - - "" - repeatable: false - cooldown: - enabled: true - time: 1440 - - uskyblock: - tasks: - islandlevel: - type: "uskyblock_level" - level: 50 - display: - name: "&cIslander (uSkyBlock)" - lore-normal: - - "&7This quest requires you to:" - - "&7 - Reach island level 50" - - "" - - "&7Rewards:" - - "&7 - $30 added to your in-game balance." - - "" - - "&cRequires plugin uSkyBlock!" - lore-started: - - "" - - "&7Your current progression:" - - "&7 - {islandlevel:progress}/50 island level." - type: "GRASS" - rewards: - - "eco give {player} 30" - options: - category: "dependent" - requires: - - "" - repeatable: false - cooldown: - enabled: true - time: 1440 - - citizensdeliver: - tasks: - deliver: - type: "citizens_deliver" - item: IRON_BLOCK - amount: 1 - npc-name: "Gerald" - remove-items-when-complete: true - display: - name: "&cDeliverer (Citizens)" - lore-normal: - - "&7This quest requires you to:" - - "&7 - Deliver 1 iron block to a NPC named Gerald" - - "" - - "&7Rewards:" - - "&7 - $30 added to your in-game balance." - - "" - - "&cRequires plugin Citizens!" - lore-started: - - "" - - "&7Your current progression:" - - "&7 - Iron block delivered: {deliver:complete}." - type: "MILK_BUCKET" - rewards: - - "eco give {player} 30" - options: - category: "dependent" - requires: - - "" - repeatable: false - cooldown: - enabled: true - time: 1440 - - citizensinteract: - tasks: - talker: - type: "citizens_interact" - npc-name: "Krystina" - display: - name: "&cTalker (Citizens)" - lore-normal: - - "&7This quest requires you to:" - - "&7 - Deliver 1 iron block to a NPC named Krystina" - - "" - - "&7Rewards:" - - "&7 - $30 added to your in-game balance." - - "" - - "&cRequires plugin Citizens!" - lore-started: - - "" - - "&7Your current progression:" - - "&7 - Citizen talked to: {deliver:complete}." - type: "PAPER" - rewards: - - "eco give {player} 30" - options: - category: "dependent" - requires: - - "" - repeatable: false - cooldown: - enabled: true - time: 1440 - # Categories are a way of grouping up quests. # When a player uses /quests, a menu of categories will be presented to them. # When a player clicks ona category, a list of quests under that category will show. @@ -1095,30 +51,6 @@ categories: # This category needs the permission "quests.category.permissionexample", because the category ID is 'permissionexample'. # The permission for other categories is: "quests.category.<id>". permission-required: true - easy: - display: - name: "&cEasy Difficulty Quests" - lore: - - "&7This category contains easy quests." - - "&7They do not require you to do much but" - - "&7rewards are low." - type: "260" - medium: - display: - name: "&cIntermediate Difficulty Quests" - lore: - - "&7This category contains intermediate quests." - - "&7These quests are more challenging than the" - - "&7previous with greater rewards." - type: "264" - dependent: - display: - name: "&cDependent Quests" - lore: - - "&7This category contains quests which are dependent" - - "&7on other plugins being installed such as &cASkyBlock," - - "&cuSkyBlock &7and &cCitizens&7." - type: "GRASS" # The items listed below are placeholder items for quests which the player cannot start. gui: diff --git a/src/main/resources/quests/README.txt b/src/main/resources/quests/README.txt new file mode 100644 index 00000000..fa0f0186 --- /dev/null +++ b/src/main/resources/quests/README.txt @@ -0,0 +1,30 @@ +# !! READ ME - IT WILL NOT TAKE LONG !! +# +# Each file ín the 'quests' folder defines a single quest. +# The name of the file is the quest ID. These must be alphanumeric and unique. +# Quest files must be in the .yml format. +# +# A quest is a series of tasks which players must complete for a reward and may require a previous quest to start. +# A task is an objective such as breaking blocks or obtaining items. +# A reward is a command executed by the SERVER. Use {player} to get the players name. +# +# A quest can have a 'rewardstring' (this is optional). They will be sent to the player when they complete the quest. +# An example of the rewardstring in use can be seen in the quest example4. +# +# Each quest will have ONE "display" item, this is the item shown to the player in the GUI. +# The display item will have a "name", a "type" and TWO lores. +# The name is the name of the item, the type is the material and the lore is the text underneath the item (when mouse-over-ing). +# The first lore you must give is called 'lore-normal'. This is the lore seen if the player has not started the quest. +# The second lore you must give is 'lore-started'. This will be appended to the first lore IF the player has started the quest - useful for putting progression. +# Within the lores you can get the players" progress for each task. Use {TASKID:progress} (replace TASKID with the ID of the task). +# You can also get if a task is complete. Use {TASKID:complete} (replace TASKID with the ID of the task). +# +# Quests can be put inside a category. When a player does /quests they will first see a menu of categories. They can click one and another menu of quests +# under that category will show up. Categories can be disabled. +# +# =============================================================== +# +# You can see other task types here: +# https://github.com/LMBishop/Quests/wiki/Task-Types +# +# ===============================================================
\ No newline at end of file diff --git a/src/main/resources/quests/example1.yml b/src/main/resources/quests/example1.yml new file mode 100644 index 00000000..7e38f01f --- /dev/null +++ b/src/main/resources/quests/example1.yml @@ -0,0 +1,55 @@ +# The name of this file is the quest ID. It must be alphanumeric and unique. + +# Everything inside of this section defines tasks the player must complete to progress. +tasks: + # This is the task ID ("mining"). This can share the same name as the quest ID but MUST be unique with all other task IDs in the same quest. + mining: + # This defines what type of task this is. In this instance, it is "blockbreak" (breaking blocks) + # NOTE: guides to set up each type of task is on the plugin page! + type: "blockbreak" + # This defines the amount of blocks which need to be broken + amount: 30 + # You can have multiple tasks for each quest (example further down). + +# Everything inside of this section defines the display item. +display: + # This is the name of the item. This allows color codes. + name: "&cExample I (Single Task)" + # This is the lore of the item if the player has not started the quest. This allows color codes and task/player placeholders. + lore-normal: + - "&cThis category is designed to show you the different" + - "&cattributes a quest can have." + - "" + - "&7This quest requires you to:" + - "&7 - Break 30 blocks." + - "" + - "&7Rewards:" + - "&7 - 10 diamonds." + # This lore will be appended to the bottom of the above lore when the player starts their quest. + # To get the players progress through a task, use {TASKID:progress} and replace TASKID with the ID of the task. + lore-started: + - "" + - "&7Your current progression:" + - "&7 - {mining:progress}/30 blocks broken." + # This is the material of the item. It is recommended to stick to bukkit names. + type: "WOOD_PICKAXE" + +# List all commands to be executed by the server when the player completes the quest. Use {player} to get the players name. +rewards: + - "give {player} diamond 10" + +# Everything inside this section define quest-specific options +options: + # This is the category for the quest, it will appear under the "examples" category. Categories can be disabled. + category: "examples" + # Set the quest IDs of required quests here, leave empty if none. + requires: + - "" + # Set if the quest can be repeated after being completed for the first time. + repeatable: false + # Define the cooldown on quests. The above (repeatable) must be true for this to take effect. + cooldown: + # If true, players will have to wait between repeating quests. + enabled: true + # Time (in minutes) + time: 1440
\ No newline at end of file diff --git a/src/main/resources/quests/example2.yml b/src/main/resources/quests/example2.yml new file mode 100644 index 00000000..8a3a367f --- /dev/null +++ b/src/main/resources/quests/example2.yml @@ -0,0 +1,42 @@ +# This is a quest which requires the previous quest to be complete to start. + +tasks: + # Unlike the previous quest, this quest has multiple tasks. + mining: + type: "blockbreak" + amount: 100 + building: + type: "blockplace" + amount: 100 +display: + name: "&cExample II (Multiple Tasks)" + lore-normal: + - "&cThis category is designed to show you the different" + - "&cattributes a quest can have. This quest requires" + - "&cmultiple things to be done, unlike the previous one." + - "" + - "&7This quest requires you to:" + - "&7 - Break 100 blocks." + - "&7 - Place 100 blocks." + - "" + - "&7Rewards:" + - "&7 - 15 diamonds." + - "&7 - $50 added to your in-game balance." + lore-started: + - "" + - "&7Your current progression:" + - "&7 - {mining:progress}/100 blocks broken." + - "&7 - {building:progress}/100 blocks placed." + type: "GRASS" +rewards: + - "give {player} diamond 15" + - "eco give {player} 50" +options: + category: "examples" + # Unlike the previous quest, this quest has "example1" as a required quest. You cannot start this quest without "example1" quest complete. + requires: + - "example1" + repeatable: false + cooldown: + enabled: true + time: 1440
\ No newline at end of file diff --git a/src/main/resources/quests/example3.yml b/src/main/resources/quests/example3.yml new file mode 100644 index 00000000..598b94d1 --- /dev/null +++ b/src/main/resources/quests/example3.yml @@ -0,0 +1,45 @@ +# This is a quest which requires the previous quest to be complete to start. +# Unlike the previous quest, this one can be re-done but it has a 10 minute cooldown. + +tasks: + # Unlike the previous two quests, this quest specifies a specific block to be broken. + mining: + type: "blockbreakcertain" + amount: 81 + block: 14 # (gold ore) + building: + type: "blockplacecertain" + amount: 9 + block: 41 # (gold blocks) +display: + name: "&cExample III (Repeatable, 10 minute cooldown)" + lore-normal: + - "&cThis category is designed to show you the different" + - "&cattributes a quest can have. This quest can be replayed" + - "&cafter a cooldown, unlike the previous one." + - "" + - "&7This quest requires you to:" + - "&7 - Break 81 gold ore." + - "&7 - Place 9 gold blocks." + - "" + - "&7Rewards:" + - "&7 - 30 diamonds." + - "&7 - $10 added to your in-game balance." + lore-started: + - "" + - "&7Your current progression:" + - "&7 - {mining:progress}/81 gold ore broken." + - "&7 - {building:progress}/9 gold blocks placed." + type: "GOLD_ORE" +rewards: + - "give {player} diamond 30" + - "eco give {player} 10" +options: + category: "examples" + requires: + - "example2" + # This quest is repeatable, it has cooldowns enabled (meaning the player must wait before repeating it) and the time set to 10 (minutes). + repeatable: true + cooldown: + enabled: true + time: 10
\ No newline at end of file diff --git a/src/main/resources/quests/example4.yml b/src/main/resources/quests/example4.yml new file mode 100644 index 00000000..37744eee --- /dev/null +++ b/src/main/resources/quests/example4.yml @@ -0,0 +1,39 @@ +# This is a quest which requires the previous quest to be complete to start. +# Unlike the previous quests, this quest has a reward string. + +tasks: + mobkilling: + type: "mobkilling" + amount: 3 +display: + name: "&cExample IV (Reward String)" + lore-normal: + - "&cThis category is designed to show you the different" + - "&cattributes a quest can have. This quest has a 'reward string'" + - "&c(a series of messages sent when a quest is complete)," + - "&cunlike the previous one." + - "" + - "&7This quest requires you to:" + - "&7 - Kill 3 mobs." + - "" + - "&7Rewards:" + - "&7 - $50 added to your in-game balance." + lore-started: + - "" + - "&7Your current progression:" + - "&7 - {mobkilling:progress}/3 mobs killed." + type: "STRING" +rewards: + - "eco give {player} 50" +# Here you can list messages which will be sent to the player (if they are online) upon completion. +rewardstring: + - " &8* &c$10 &7was added to your in-game balance." + - " &8* &c30 diamonds &7was added to your inventory." +options: + category: "examples" + requires: + - "example3" + repeatable: true + cooldown: + enabled: true + time: 10
\ No newline at end of file diff --git a/src/main/resources/quests/example5.yml b/src/main/resources/quests/example5.yml new file mode 100644 index 00000000..38e9e601 --- /dev/null +++ b/src/main/resources/quests/example5.yml @@ -0,0 +1,34 @@ +tasks: + building: + type: "blockplace" + amount: 10 +display: + name: "&cExample V (Permission)" + lore-normal: + - "&cThis category is designed to show you the different" + - "&cattributes a quest can have. This quest requires" + - "&ccertain permissions." + - "" + - "&7This quest requires you to:" + - "&7 - Place 10 blocks." + - "" + - "&7Rewards:" + - "&7 - $10 added to your in-game balance." + lore-started: + - "" + - "&7Your current progression:" + - "&7 - {building:progress}/10 blocks placed." + type: "GRASS" +rewards: + - "eco give {player} 10" +options: + category: "examples" + requires: + - "example4" + # Unlike the previous quests, this one requires you to have the permission "quests.quest.example5" to start. + # The permission for other quests is: "quests.quest.<id>". + permission-required: true + repeatable: false + cooldown: + enabled: true + time: 1440
\ No newline at end of file diff --git a/src/main/resources/quests/example6.yml b/src/main/resources/quests/example6.yml new file mode 100644 index 00000000..3262b1a8 --- /dev/null +++ b/src/main/resources/quests/example6.yml @@ -0,0 +1,30 @@ +tasks: + building: + type: "blockplace" + amount: 10 +display: + name: "&cExample VI (Different category, permissions)" + lore-normal: + - "&cThis category is designed to show you the different" + - "&cattributes a quest can have. This quest requires" + - "&ccertain permissions." + - "" + - "&7This quest requires you to:" + - "&7 - Place 10 blocks." + - "" + - "&7Rewards:" + - "&7 - $10 added to your in-game balance." + lore-started: + - "" + - "&7Your current progression:" + - "&7 - {building:progress}/10 blocks placed." + type: "GRASS" +rewards: + - "eco give {player} 10" +options: + category: "permissionexample" + # This quest has no specific permission, however its category does. The permission for the category is "quests.category.permissionexample" + repeatable: false + cooldown: + enabled: true + time: 1440
\ No newline at end of file |
