Skip to content

2 ‐ Configuration

PikaMug edited this page Mar 9, 2021 · 36 revisions

When Quests is first run, configuration files will be created in the /plugins/Quests directory. If this is your first time using Quests, just make sure the settings in config.yml are to your liking. Don't worry about any of the other files or folders for the time being.

Pro-tip: Opening a .yml file that contains non-English characters on an English computer may not display those characters correctly. In the case of Windows, this is because Windows in English uses the ANSI character set, while the preferred format is UTF-8. Unfortunately, Windows makes this difficult to change, so we recommend an editing program that supports UTF-8. Notepad++ is a free and popular choice.

config.yml

This file contains all settings relating to how Quests should perform once loaded. As such, changes made to this file must be configured and saved before the server is started.

Click here to view the default config.yml file.

Key Data Type Description
accept-timeout number How long (in seconds) a player should be able to accept/deny a quest before the prompt cancels automatically.
allow-command-questing true/false Whether or not players are allowed to accept and manage quests via command (e.g. /quests take SomeQuest).
allow-command-quests-with-npcs true/false Whether players can accept/manage NPC quests via command (e.g. /quests take SomeQuest).
allow-pranks true/false Whether or not to permit clicking Portals with the Quests Journal.
allow-quitting true/false Whether or not to permit quitting of taken quests
ask-confirmation true/false Whether or not players must type Yes/No to accept/deny a quest.
console-logging number 0 = disabled, 1 = track editing, 2 = and start/quit quests, 3 = and rewards, 4 = and debug information.
disable-command-feedback true/false Whether or not to disable Minecraft's sendCommandFeedback gamerule at startup.
generate-files-on-join true/false Either generate a player data file when that player first joins the server or only when they first use Quests.
ignore-locked-quests true/false Ignore locked quests when checking if a player has a quest.
kill-delay number How long (in seconds) a player should have to wait after they kill a player for a quest before they can kill that player again.
language string Which file from the /lang/ folder will be used. For example, a value of "FR-fr" will result in "/lang/FR-fr/strings.yml" being loaded.
max-quests number Maximum number of quests a given player can have at any time.
npc-effects.enabled true/false Whether to enable particle effects. Note that the client must have particles enabled.
npc-effects.new-quest string The particle effect to be played for a new quest (ex. note, enchant, crit, spell, portal).
npc-effects.redo-quest string The particle effect to be played for a repeatable quest (ex. note, enchant, crit, spell, portal).
show-requirements true/false Allow players to see requirements in /quest [quest]
show-titles true/false Display titles to players when accepting/completing quests.
strict-player-movement number Seconds between advanced player movement tracking.
storage-data.address string The IP address for optional storage
storage-data.database string The table name for optional storage
storage-data.username string The login username for optional storage
storage-data.password string The login password for optional storage
storage-data.pool-settings.max-pool-size number Advanced HikariCP setting
storage-data.pool-settings.min-idle number Advanced HikariCP setting
storage-data.pool-settings.max-lifetime number Advanced HikariCP setting
storage-data.pool-settings.connection-timeout number Advanced HikariCP setting
storage-method.player-data string yaml = file storage, mysql = remote storage, custom = developer storage
top-limit number Maximum number of quests that can be displayed by /quests top [number]
translate-names true/false Translate item name to client's game language.
translate-subcommands true/false Translate subcommands to server's plugin language.

actions.yml

This file holds custom actions which execute certain tasks and effects. Except for the included examples, actions are created prior to use in a Quest. This is best accomplished with the /quests actions command.

Click here to view the default actions.yml file.

Click here to see the advanced breakdown.
Key Data Type Description
message string Chat message to send to the player.
items itemstack Give item to player.
hunger number Set player hunger to specified level.
saturation number Set player hunger saturation to specified level.
health number Set player health to specified level.
teleport-location string Teleport player to specified location.
potion-effect-types list Type of Potion that will be applied.
potion-effect-durations list How long each potion will last in seconds.
potion-effect-amplifiers list Level at which each potion will be amplified.
commands list Run commands for the player.
timer number Number of seconds until quest is failed.
cancel-timer true/false Whether completing quest cancels the timer.
effects string Play a (sound) effect at listed locations.
explosions list Cause an explosion at listed locations.
storm-world string World to cause a rainstorm in.
storm-duration number How many seconds the rainstorm should last.
thunder-world list World to cause a thunderstorm in.
thunder-duration number How many seconds the thunderstorm should last.
lightning-strikes list Locations to cause lightning at.
denizen-script string Denizens script to run.
fail-quest true/false Whether this action forces the player to quit the quest.

conditions.yml

This file holds custom conditions which are checked during gameplay. Except for the included examples, conditions are created prior to use in a Quest. This is best accomplished with the /quests conditions command.

Click here to view the default conditions.yml file.

Click here to see the advanced breakdown.
Key Data Type Description
ride-entity list Must continue riding a listed entity.
ride-npc list Must continue riding a listed Citizens NPC.
permission list Permission that player must own during gameplay.
hold-main-hand itemstack Must play while holding item in main hand.
stay-within-biome list Must remain within the listed biomes.
stay-within-world list Must remain within the listed worlds.
stay-within-region list Must remain within the listed WorldGuard regions.
check-placeholder-id list Checked against its corresponding PlaceholderAPI value.
check-placeholder-value list Checked against its corresponding PlaceholderAPI identifier.
fail-quest true/false Whether failing condition forces the player to quit the quest.

quests.yml

This file consists of every single quest available. Although this file can be edited manually, it is recommended to use the /quests editor command. Regardless, changes will not appear on the server until a /questadmin reload is input.

Click here to view the default quests.yml file.

Click here to see the advanced breakdown.
Key Data Type Description
name string A name for the quest. This is what the player will see.
ask-message string Prompt sent to the player when he/she attempts to take the quest.
finish-message string A message sent to the player upon completing the quest.
npc-giver-id number The ID of the Citizens NPC that will hand out this quest.
redo-delay number Time (in seconds) that a player must wait before taking the quest again.
gui-display itemstack Item to be displayed as the quest's GUI item. Will show the ask-message as lore if no lore is set.
block-start location A block that the player can right-click on to take the quest. Format is "worldName x y z".
region string Name of a WorldGuard region that a player must be inside in order to accept the quest (via command).
requirements list Items and such required to being the quest. See "Requirements" below.
stages ordered list Data for each stage including items to deliver, string messages, et al. See "Stages" below.
rewards list Money, items, quest points, and other prizes to give the player upon completing the quest. See "Rewards" below.

Requirements

Key Data Type Description
items itemstack Items required to begin the quest.
remove-items true/false Whether the required items should be removed from the quester's inventory.
money number Amount of currency required to start the quest.
quest-points number Amount of Quest Points required to start the quest.
permissions list Permissions needed to be able to begin the quest. May not work with SuperPerms.
quests list Quests that must have been already completed to take the quest.
quest-blocks list Quests that, once completed, disable the player's ability to take the quest.
mcmmo-skills list Requires mcMMO Classic. List of mcMMO skills to check in order to launch the quest.
mcmmo-amounts number Requires mcMMO Classic. Amount of levels required.
heroes-primary-class string Requires Heroes. Primary Heroes class needed to accept the quest.
heroes-secondary-class string Requires Heroes. Secondary Heroes class needed to accept the quest.
fail-requirement-message string Message to send to the player if the requirements are not met. This is necessary if a quest has any requirements.

Planner

Key Data Type Description
start date/time Begin time formatted DD:MM:YYYY:HH:mm:SS:TimeZone
end date/time Finish time formatted DD:MM:YYYY:HH:mm:SS:TimeZone
repeat number Seconds since start time to for quest to become available again
cooldown number Seconds player must wait after completion to retake quest
override true/false Whether to ignore player cooldown upon quest repeat

Stages

Key Data Type Description
break-block-names list Material names of blocks for the quester to break.
break-block-amounts list Amounts of blocks that need to be broken.
break-block-durability list Durability of blocks that need to be broken.
damage-block-names list Material named of blocks for the quester to damage.
damage-block-amounts list Amounts of blocks that need to be damaged.
damage-block-durability list Durability of blocks that need to be damaged.
place-block-names list Material names of blocks for the quester to place.
place-block-amounts list Amounts of blocks that need to be placed.
place-block-durability list Durability of blocks that need to be placed.
use-block-names list Material names of blocks for the quester to use. For example, levers and doors.
use-block-amounts list Amounts of blocks that need to be used.
use-block-durability list Durability of blocks that need to be used.
cut-block-names list Material names of blocks for the quester to cut by right-clicking with shears.
cut-block-amounts list Amounts of blocks that need to be cut.
cut-block-durability list Durability of blocks that need to be cut.
fish-to-catch number Number of fish for the quester to catch via Fishing Rod.
players-to-kill number Number of players that need to be killed.
enchantments string Names of enchantments for the quester to enchant.
enchantment-item-names list Material names that the enchantments need to be applied to.
enchantment-amounts list Number of times the enchantments need to be enchanted on the items.
items-to-deliver itemstack Requires Citizens 2. Items for the quester to deliver to an NPC.
npc-delivery-ids list Requires Citizens 2. IDs of NPCs for whom the items must be delivered to.
delivery-messages string Requires Citizens 2. List of random messages to send to the player when they deliver a required item(s) to the NPC.
npc-ids-to-talk-to list Requires Citizens 2. IDs of NPCs that the quester must interact with by right-clicking.
npc-ids-to-kill list Requires Citizens 2. IDs of NPCs that need to be killed.
npc-kill-amounts number Requires Citizens 2. Number of times the NPCs need to be killed.
mobs-to-kill list Names of mobs that the quester must kill.
mob-amounts number Amounts of mobs that need to be killed.
locations-to-kill list World and coordinates that the mobs need to be killed at. Format is "worldName x y z".
kill-location-radii number The radius from which mobs can be killed. For example, a value of '10' would be 10 blocks around the location. Required if 'locations-to-kill' is present.
kill-location-names list Names of the locations (e.g. Cave). Required if 'locations-to-kill' is present.
locations-to-reach list Locations for the quester to reach, following this format. Format is "worldName x y z".
reach-location-radii number The redius from which the player can walk in and be considered at the location to reach. or example, a value of '10' would be 10 blocks around the location.
reach-location-names list Names of locations (e.g. Cave). Required if 'locations-to-reach' is present.
mobs-to-tame list Names of mobs for the quester to tame.
mob-tame-amounts number Amounts of mobs that need to be tamed.
sheep-to-shear list Colors of sheep for the quester to shear. Available colors can be found here.
sheep-amounts number Amounts of sheep that need to be sheared.
password-displays list List of questions to ask the player that they must answer.
password-phrases list List of answers that the player must type in chat.
script-to-run string Requires Denizen. Name of Denizen task script to be executed after the Stage is completed.
objective-override string This will be shown to the player as their current objective, rather than what the objectives would normally show.
start-event string Name of Event to fire when the Stage has begun.
finish-event string Name of Event to fire when the Stage is completed.
disconnect-event string Name of Event to fire when the player disconnects while on the Stage.
death-event string Name of Event to fire when the player dies while on the Stage.
chat-events list List of Events to fire when the player types respective chat triggers.
chat-event-triggers list List of chat messages that fire respective events when the player types them in.
delay number Amount of time (in seconds) that the player must wait after completing this Stage, before advancing to the next quest.
delay-message string Message sent to the player when the delay begins. This is not required to configure a delay.
start-message string Message displayed at start of a Stage.
finish-message string Message displayed at the completion of a Stage.

Rewards

Key Data Type Description
items list Item rewards for completing the quest.
money number Economy currency given as a reward to the player.
exp number Experience given as a reward to the player.
quest-points number Quest Points given as a reward to the player.
commands list List of commands to be executed by the server (You may use "<player>" to refer to the player who completed the quest; e.g. "money give <player> 20")
permissions list List of permissions to be given to the player. The server must have a permissions plugin installed - SuperPerms will NOT work.
phat-loots list Requires PhatLoots. Names of PhatLoots that the quester must loot.
mcmmo-skills list Requires mcMMO Classic. List of mcMMO skills to level up. For example, "Acrobatics", "Mining", or "All" to level all skills.
mcmmo-levels number Requires mcMMO Classic. Amount of levels to level up.

Options

TODO