Creating a Category
Creating a quest category is relatively simple once you understand the configuration.
This is a full example quest category configuration file:
name: Weekly
refreshTime: 604800
questsAmount: 1
quests:
'1':
type: BLOCK_BREAK
weight: 1.0
condition: "'%block%' == 'COBBLESTONE'"
goal: 10
rewards:
- '[Message] text=<green>Completed the quest!'
item:
material: COBBLESTONE
name: '<red><bold>Break 10 Cobblestone'
lore:
- '<gray>Progress: <yellow>%current%/%goal%'
completeItem:
material: COBBLESTONE
name: '<green><bold>Break 10 Cobblestone'
lore:
- '<gray>Progress: <yellow>Complete!'
inventorySettings:
rows: 3
title: '<green>Weekly Quests'
questSlots:
- 13
customItems:
'1':
material: PAPER
name: '<green><bold>Custom Item'
lore:
- '<gray>Test Item'
slot:
- 4
actions:
- '[Message] text=<green>Test!'
- name: This parameter defines the internal name of your category. This must be unique across all categories.
- refreshTime: The amount of time in seconds between refreshes. This is preserved across server restarts.
- questsAmount: The amount of quests to load for this category. Make sure you have at least the amount of quests you're specifying here, otherwise the plugin will not load properly.
- quests:
- type: The quest type. There's built-in ones and you can add more through expansions.
- weight: The weight of this quest when it is being picked for the rotation.
- condition: The condition to evaluate when the action is performed. This can be removed, and all events will count. You can compare strings and numbers. For comparing strings, make sure you encapsulate them around quotes.
- goal: The amount of times the action has to be performed to complete the quest.
- item & completeItem: These are the items used when the quest is incomplete and complete, respectively.
- Both of these support custom model data and skull textures. Example:
-
item: material: PLAYER_HEAD headTexture: 'example' name: '<green><bold>Example Quest' lore: - '<gray>Break 100 cobblestone blocks!'
- Model data example:
-
item: material: PAPER modelData: 10000 name: '<green><bold>Example Quest' lore: - '<gray>Break 100 cobblestone blocks!'
- type: The quest type. There's built-in ones and you can add more through expansions.
- inventorySettings:
- rows: The amount of rows this category inventory has.
- title: The title of this inventory.
- questSlots: Defines where the quest items will be located.
- customItems:
- You can define custom items here. You need to define material, name, lore, slot(s), and actions to execute.
- rows: The amount of rows this category inventory has.
If you need more help creating your quest categories, feel free to reach out on Discord!