πQuests
Configuration
This section explains each element of the quest configuration, providing a detailed understanding of how to set up quests in your Minecraft server.
quests:
- type: BLOCK_BREAK # The type of the quest
actions:
- material: STONE
- material: COBBLESTONE
name: "block-break-1" # The name must be unique and must never change
display-name: "Stone Breaker" # The name of the quest to be displayed in-game
description: "Break 500 stone blocks" # The description of the quest
thumbnail: STONE # The material to be displayed in-game
goal: 500 # The goal to be achieved
auto-accept: true # If the quest should start automatically
use-global-rewards: true # Allows you to use global rewards
favorite: false # Allows to bookmark the quest when it starts
can-change-favorite: true # Allows you to define whether the player can activate or not the favorites on the quest
unique: false # Allows you to define if a quest is unique
custom-model-id: 0 # Allows to define the custom model id for the placeholder %quest-model-id% for the ZQUEST_HISTORY button
rewards: # The rewards
- type: message # Sending a message
messages:
- "&fYou have broken &7500 stone&f blocks!"
- type: console_command # Executing a command
commands:
- "give %player% diamond 5"type
typeSpecifies the type of the quest. It determines the main objective and how progress is tracked.
Required: Yes
Default: None. You must specify one of the quest types listed below.
Example:
actions
actionsDefines the specific actions required to complete the quest. It can include one or more materials, entities, or tags that the player must interact with.
Required: Depends on the quest type; omit or leave empty if not needed.
Default: Empty list.
Notes: Each entry may use keys such as
material,entity, ortagdepending on the quest type.
Example:
name
nameA unique identifier for the quest. It must be unique across all quests and should never change once set.
Required: Yes
Default: None.
Notes: Player progress is stored using this value, so changing it can reset or corrupt quest data.
Example:
Be careful, the name of the quest must be unique!
display-name
display-nameThe name of the quest as displayed in-game. This name is visible to the players and can be descriptive.
Required: No
Default: Uses the value of
nameif not provided.Notes: Supports Minecraft color codes.
Example:
description
descriptionProvides a description of the quest that players can read to understand what is required to complete it.
Required: No
Default:
no description
Example:
placeholder-description
placeholder-descriptionAllows you to display the description using placeholders. This can be used with the placeholder configuration system.
Required: No
Default: Uses
descriptionif not set.
Example:
thumbnail
thumbnailDefines the material that will be displayed as the thumbnail icon for the quest in the quest menu.
Required: No
Default: None.
Notes: Uses Bukkit material names.
Example:
goal
goalThe number of times the action must be performed to complete the quest. This could be the number of blocks broken, items crafted, etc.
Required: Yes
Default: 1
Example:
auto-accept
auto-acceptDetermines whether the quest should be automatically accepted when available to the player.
Required: No
Default: false
Example:
use-global-rewards
use-global-rewardsSets whether global rewards defined in the main configuration will be given when the quest is completed.
Required: No
Default: true
Notes: Set to
falseif you only want the rewards listed in the quest to be granted.
Example:
favorite
favoriteAllows you to define if a quest will be in favorites when it starts. The player can manage favorite quests with the ZQUESTS_HISTORY button.
Required: No
Default: false
Example:
can-change-favorite
can-change-favoriteSets whether the player can change a quest to favorite or not.
Required: No
Default: true
Example:
unique
uniqueAllows you to define if when advancing this quest, it prevents the progression of other quests. You can use this for quests with citizens for example.
Required: No
Default: false
Notes: When enabled, progress for other quests of the same type will be ignored.
Example:
hidden
hiddenAllows you to define if a quest is invisible in the ZQUESTS_HISTORY button.
Required: No
Default: false
Example:
custom-model-id
custom-model-idAllows you to define the custom model id of the quest that will be used in various placeholders.
Required: No
Default: Uses the group's default custom model id or
0if unspecified.
Example:
rewards
rewardsDefines the rewards given to the player upon completing the quest. Multiple types of rewards can be specified.
Default: Empty list.
Example:
start-actions
start-actionsAllows to define the actions to be performed when the quest will start.
Default: Empty list.
Example:
permissible-rewards
permissible-rewardsRewards that are only executed if specified requirements are met. Useful for giving extra rewards to players with specific permissions or conditions.
Default: Empty list.
Notes: Uses zMenu's requirement system for the
requirementssection.
Example:
action-requirements
action-requirementsRequirements that must be met for the quest to register progress. If the player does not satisfy these conditions, the quest will not advance.
Default: Empty list.
Notes: Uses zMenu's requirement syntax.
Example:
hologram
hologramDisplays one or more holograms when the quest is active. See Waypoints & Holograms for complete configuration options. You can reference a global hologram defined in holograms.yml by name or specify the configuration inline.
Default: No hologram.
Notes: Requires a compatible hologram system such as zEssentials.
Global reference example:
Inline example:
waypoint
waypointCreates a waypoint guiding the player to a location. See Waypoints & Holograms for full configuration options. Like holograms, this can reference a global configuration from waypoints.yml or define its own location and appearance.
Default: No waypoint.
Notes: The
colorfield accepts common color names or hex codes.
Global reference example:
Inline example:
Quests type
BLOCK_BREAK
BLOCK_BREAKThis quest requires the player to break a certain number of specific blocks. It can be used to encourage players to mine or destroy blocks in a specific area.
In actions you can use a material or tag.
Example usage:
BLOCK_PLACE
BLOCK_PLACEThis quest requires the player to place a certain number of specific blocks. It can be used to build specific structures or buildings.
Example usage:
ENTITY_KILL
ENTITY_KILLThis quest involves killing a given number of entities (mobs). It is commonly used to encourage combat against monsters.
Example usage:
FARMING
FARMINGThe Farming quest requires players to harvest crops. It is ideal for servers with a focus on agriculture and resource management.
Example usage:
FISHING
FISHINGThis quest involves fishing a certain number of fish. It can encourage players to spend time near water and explore aquatic environments.
Example usage:
TAME
TAMEThis quest involves taming an animal. It is perfect for players who enjoy interacting with the game's wildlife.
Example usage:
ENCHANT
ENCHANTThe player must enchant an item with a specific enchantment. This encourages players to use enchantment tables and improve their gear.
Example usage:
For enchantment quests, you need to specify the following details:
enchantment: Indicate the specific enchantment you want to apply (e.g., SHARPNESS, FORTUNE).material: Specify the material on which the enchantment can be applied, such as books, tools, or weapons.minimum-level: Determine the minimum level required to perform the enchantment.minimum-cost: The minimum experience points cost required to proceed with the enchantment.
These elements are used in the configuration file to precisely define the challenge and the resources needed to complete the enchantment quest.
BREW
BREWThis quest involves brewing potions. It is ideal for players who enjoy experimenting with potion recipes.
Example usage:
For BREW quests, you must also include the following specific details regarding the potion:
potion-type: The type of potion to be brewed (e.g., SWIFTNESS).potion-material: Specifies the material type, eitherPOTIONorSPLASH_POTION.ingredient: The material used as an ingredient in the potion recipe.
SMELT
SMELTThis quest requires the player to smelt items in a furnace. It is often used for tasks involving resource refinement.
Example usage:
CRAFT
CRAFTThe player must craft a specific item using a crafting table. This encourages players to gather resources and transform them.
Example usage:
VOTE
VOTEThis quest rewards players for voting for the server on ranking sites. This helps promote the server.
For now, you must use the /quest add-progress <player> <quest> <amount> command to increase this quest
Example usage:
SELL
SELLThe player must sell items via a trading system. This encourages players to participate in the server economy.
Example usage:
You must use zShop !
PURCHASE
PURCHASEAllows tracking items bought through a shop. Works only with the zShop plugin.
Example usage:
You must use zShop !
ENTITY_DAMAGE
ENTITY_DAMAGEThis quest involves dealing a certain amount of damage to entities. It is ideal for combat quests without the necessity to kill. You do not need to specify the type of entity, here the objective is to make degats.
Example usage:
EXPERIENCE_GAIN
EXPERIENCE_GAINThe player must gain a certain amount of experience. This can be earned by mining, breeding, crafting, etc.
Example usage:
HATCHING
HATCHINGThis quest involves hatching eggs, such as turtle eggs. It encourages players to take care of animals in the game.
Example usage:
ITEM_BREAK
ITEM_BREAKThis quest requires the player to break an item (e.g., breaking a pickaxe by using it). It can be used to encourage players to fully utilize their tools.
Example usage:
ITEM_MENDING
ITEM_MENDINGThe player must repair an item, either with the Mending enchantment or using an anvil. This encourages players to take care of their equipment.
Example usage:
ITEM_CONSUME
ITEM_CONSUMEThis quest checks when a player eats an item.
Example usage:
RESURRECT
RESURRECTThis quest involves resurrecting an animal or a player, often using a Totem of Undying.
Example usage:
JOB_LEVEL
JOB_LEVELThe player must reach a certain level in a job.
Example usage:
You must use zJobs !
JOB_PRESTIGE
JOB_PRESTIGEThe player must reach a certain prestige in a job. Only with zJobs for the moment
Example usage:
Y must use zJobs !
SMITHING
SMITHINGThe player must craft an item at the smithing table.
Example usage:
ISLAND
ISLANDThe player must create or own an island, which only works with the SuperiorSkyBlock2 plugin.
Example usage:
You must use SuperiorSkyBlock !
COMMAND
COMMANDThe player must execute a command.
Example usage:
CUBOID
CUBOIDAllows checking if the player is present within a cuboid.
Example usage:
The cuboid is composed of the world name, a first set of coordinates (x, y, z), and a second set of coordinates (x2, y2, z2).
CUSTOM
CUSTOMAllows checking for a specific element related to your plugins. For example, you can verify if a player is interacting with a villager. You must use the API. The custom type will take a string data input and verify if the data is correct.
Example usage:
API example:
In this example, we will verify the CUSTOM type quest using the citizen's name as a parameter. We then retrieve the number of times a quest has been updated. For instance, if your player clicks on a villager and activates a quest, no action should be taken.
INVENTORY_OPEN
INVENTORY_OPENCheck the inventories opened by the player. Works only with zMenu.
Example usage:
INVENTORY_CONTENT
INVENTORY_CONTENTAllows checking the contents of the player's inventory and removing items. You can use a material or a material tag. You must also specify the name of the citizen the player needs to interact with. You must either use the API to execute this action or use the command /q progress-inventory <player> <citizen name>.
Example usage:
API example:
LOOK_AT_BLOCK
LOOK_AT_BLOCKThe player must look at a block located inside a defined cuboid. The maximum detection distance is controlled by look-at-distance-block in config.yml.
Example usage:
LOOK_AT_ENTITY
LOOK_AT_ENTITYTracks when the player looks at an entity inside the specified cuboid. The look-at-distance-entity value in config.yml defines how far the player can be.
Example usage:
SHEAR
SHEARAllows checking when a player shears an entity.
Example usage:
Last updated