Basic options

Quests allows you to configure basic options for the plugin. These can all be located in the config.yml.

Each option is laid out with its path underneath the title. A dot in the path means an extra level of indentation, for example options.categories-enabled represents:

options:
  categories-enabled: [value]

You should have a working knowledge of how to format YAML files before configuring this plugin.

Table of contents

  1. Categories enabled
  2. Trim gui size
  3. Titles enabled
  4. Bossbar
  5. Actionbar
  6. Quest started limit
  7. Quest limit
  8. Allow quest cancel
  9. Allow quest track
  10. Task type exclusions
  11. Guinames
  12. Sounds
  13. GUI hide locked
  14. GUI confirm cancel
  15. GUI hide quests if no permission
  16. GUI hide categories if no permission
  17. GUI use PlaceholderAPI
  18. GUI truncate requirements
  19. GUI actions
  20. Quest autostart
  21. Quest autotrack
  22. Verbose logging level
  23. Quests use PlaceholderAPI
  24. Progress use PlaceholderAPI
  25. Use progress as fallback
  26. PlayerBlockTracker class name
  27. PlaceholderAPI global refresh ticks
  28. Verify quest exists on load
  29. Performance tweaking
  30. Tab completion
  31. Error checking
  32. Placeholder cache time
  33. Global task configuration override
  34. Global quest display configuration override
  35. Storage
  36. Number formats

Categories enabled

options.categories-enabled

Choose whether or not quests will be sorted into categories. If this is disabled, quests will be put into one big GUI instead, with categories only helping determine the order they are sorted.

options:
  # ...
  categories-enabled: true

Trim gui size

options.trim-gui-size

Choose whether or not the quests GUI will scale down (reduce the number of rows) so that there are not any empty rows.

options:
  # ...
  trim-gui-size:
    quests-category-menu: true
    quests-menu: true
    quests-started-menu: true

Titles enabled

options.titles-enabled

Choose whether or not titles will appear when starting / finishing quests.

options:
  # ...
  titles-enabled: true

Bossbar

options.bossbar

This configures a temporary bossbar which will appear when a player makes progress on a task, or completes a task. The bar itself represents the percentage done for a task.

The text displayed will be the progress placeholder for the task. In the future, there will also be a method to automatically generate this text.

options:
  # ...
  bossbar:
    # Enable bossbar for task progress
    progress: false
    # Enable bossbar for task completions
    complete: false
    # Time in seconds to display bossbar
    time: 5
    # See https://hub.spigotmc.org/javadocs/spigot/org/bukkit/boss/BarColor.html
    color:
      '0.0': BLUE # for 0.0 and higher progress values (progress is always between 0.0 and 1.0)
    # See https://hub.spigotmc.org/javadocs/spigot/org/bukkit/boss/BarStyle.html
    style:
      '0.0': SOLID # for 0.0 and higher progress values (progress is always between 0.0 and 1.0)
    # Max amount of active task progress boss bars at once
    limit: -1
    # Whether new boss bar should be added and make another (the least progress one - if exists) disappear
    replace-on-limit: true

Actionbar

options.actionbar

This configures a temporary action bar which will appear when a player makes progress on a task, or completes a task.

The text displayed will be the progress placeholder for the task. In the future, there will also be a method to automatically generate this text.

options:
  # ...
  actionbar:
    # Enable actionbar for task progress
    progress: false
    # Enable actionbar for task completions
    complete: false

Quest started limit

options.quest-started-limit

This option has been removed in version 3.8 and this wiki entry is subject to removal. Please see quest limit instead.

Choose the number of quests players can start at one time. This will include quests which have quest-specific autostart enabled, however this value will be ignored if global quest-autostart is enabled.

options:
  # ...
  quest-started-limit: 2

Quest limit

options.quest-limit

Choose the number of quests players can start at one time. This will include quests which have quest-specific autostart enabled, however this value will be ignored if global quest-autostart is enabled.

Each key is called a limit group (sometimes referred to as a quest rank), and players can start the set number of quests depending on their limit group. The group named default must be defined and is available to everybody, however the rest can be granted through the permission quests.limit.<limit group>.

options:
  # ...
  quest-limit: 
    default: 2
    group1: 5
    group2: 10
    # ...

Group permissions are also documented in Commands and permissions § Permissions.

Allow quest cancel

options.allow-quest-cancel

Choose whether or not players can cancel quests themselves via command or by right-clicking in the GUI. If this is set to false, consider removing the right-click cancel instruction from the global quest display configuration.

options:
  # ...
  allow-quest-cancel: true

Allow quest track

options.allow-quest-track

Choose whether or not players can track quests themselves via command or by middle-clicking in the GUI. If this is set to false, consider removing the middle-click track instruction from the global quest display configuration.

options:
  # ...
  allow-quest-track: true

Task type exclusions

options.task-type-exclusions

Prevent Quests from allowing specific task type registrations from those bearing a specific name. This can be used if you have an incompatible plugin which causes a dependent task type to activate, thus potentially leading to errors.

options:
  # ...
  task-type-exclusions: []

Example

options:
  # ...
  task-type-exclusions:
   - "blockbreak"
   - "blockbreakcertain"

Guinames

options.guinames

Change and define specific GUI names for localization.

options:
  # ...
  guinames:
    quests-category: "Quests Categories"
    quests-menu: "Quests"
    quests-started-menu: "Started Quests"
    daily-quests: "Daily Quests"
    quest-cancel: "Cancel Quest"

Sounds

options.sounds

Choose which sounds play at certain events.

options:
  # ...
  sounds:
    quest-start: "ENTITY_PLAYER_LEVELUP:2:3"
    quest-cancel: "UI_TOAST_OUT:2:3"
    quest-complete: "UI_TOAST_CHALLENGE_COMPLETE:1.25:3"
    gui:
      open: "ITEM_BOOK_PAGE_TURN:1:3"
      interact: "ITEM_BOOK_PAGE_TURN1:3"

To define a sound, choose one from this list (1.9+) or this list (1.8).

An alternative syntax is available for namespaced sound names:

options:
  # ...
  sounds:
    quest-start: "(minecraft:entity.player.levelup):2:3"
    # ...

To not have a sound play, you can leave the string blank (i.e. ""), for example:

options:
  # ...
  sounds:
    quest-start: ""

You can choose a specific pitch and volume by including them in the following format SOUND:PITCH:VOLUME. Note that the pitch is any float between 0.5 and 2 (inclusively), and the volume must be greater than 0. The volume only changes how far out the sound can be heard by the player, not the actual volume played back on the client.

Example (1.9+): ENTITY_PLAYER_LEVELUP:2:3 -> sound ENTITY_PLAYER_LEVELUP at pitch 2 with a volume of 3.

Example (namespaced sound): (minecraft:entity.player.levelup):2:3 -> sound minecraft:entity.player.levelup at pitch 2 with a volume of 3.

GUI hide locked

options.gui-hide-locked

Choose whether quests which cannot be started is visible to the player or not.

options:
  # ...
  gui-hide-locked: false

GUI confirm cancel

options.gui-confirm-cancel

Choose whether or not there is a confirmation screen when right clicking to cancel a quest. Cancelling by command does not prompt a confirmation screen.

options:
  # ...
  gui-confirm-cancel: true

GUI hide quests if no permission

options.gui-hide-quests-nopermission

Choose whether or not quests are hidden to the player if they do not have permission for the quest.

options:
  # ...
  gui-hide-quests-nopermission: false

GUI hide categories if no permission

options.gui-hide-categories-nopermission

Choose whether or not categories are hidden to the player if they do not have permission for the category.

options:
  # ...
  gui-hide-categories-nopermission: false

GUI use PlaceholderAPI

options.gui-use-placeholderapi

Choose whether or not the quest GUI is parsed with PlaceholderAPI. This is disabled by default for performance reasons.

options:
  # ...
  gui-use-placeholderapi: false

GUI truncate requirements

options.gui-truncate-requirements

Choose whether or not the displayed quest requirements for specific quests should be cut short. The plugin will show “Quest 1 +X more” as the requirement, rather than listing each quest “Quest 1, Quest 2, Quest 3, …” to stop lores overflowing off the screen.

options:
  # ...
  gui-truncate-requirements: true

GUI actions

options.gui-actions

Set the click actions for the UI. For a list of click types, check the ClickType javadoc page.

options:
  # ...
  gui-actions:
    start-quest: "LEFT"
    track-quest: "MIDDLE"
    cancel-quest: "RIGHT"

Quest autostart

options.quest-autostart

Choose whether or not players need to start quests themselves. This will ignore the configured quest started limit, and is different from the autostart option.

options:
  # ...
  quest-autostart: false

Quest autotrack

options.quest-autotrack

Choose whether or not players need to track quests themselves. This will automatically track quests when they are started, and will attempt to track the next available started quests when the player finishes a quest.

options:
  # ...
  quest-autotrack: true

Verbose logging level

options.verbose-logging-level

Choose how much quests will log to the console. This will filter the output based on the following options: 0 = errors only, 1 = warnings, 2 = info, 3 = debug

options:
  # ...
  verbose-logging-level: 2

Quests use PlaceholderAPI

options.quests-use-placeholderapi

Replace placeholders from PlaceholderAPI in rewards, rewardstrings and start strings.

options:
  # ...
  quests-use-placeholderapi: false

Progress use PlaceholderAPI

options.progress-use-placeholderapi

Replace placeholders from PlaceholderAPI in boss bar and action bar progress strings

options:
  # ...
  progress-use-placeholderapi: false

Use progress as fallback

options.use-progress-as-fallback

If true, the progress string from the placeholders section in quests will be used as a fallback in the boss bar and action bar if the progress-placeholders option is not set.

options:
  # ...
  use-progress-as-fallback: true

PlayerBlockTracker class name

options.playerblocktracker-class-name

The name of the PlayerBlockTracker class to use for the hook.

options:
  # ...
  playerblocktracker-class-name: "com.gestankbratwurst.playerblocktracker.PlayerBlockTracker"

PlaceholderAPI global refresh ticks

options.placeholderapi-global-refresh-ticks

How frequently placeholderapi_evaluate task placeholders will refresh.

options:
  # ...
  placeholderapi-global-refresh-ticks: 30

Verify quest exists on load

options.verify-quest-exists-on-load

Verify quests exist when a player’s data is loaded - inconsistencies may arise when players progress on specific quests and those quests are later removed. Their progress is still retained in the quest progress file, which may lead to issues such as players reaching a quest started limit when the quests they had active no longer exist - having this option enabled prevents non-existent quests from loading as quest progress.

options:
  # ...
  verify-quest-exists-on-load: true

Performance tweaking

options.performance-tweaking

Set some specific options within the internals of Quests.

The queue executor interval relates to how frequently players are checked for completed quests. Not every player is checked at once for performance purposes, and players are only submitted to the queue upon completion of a task. The interval defines how frequently players are polled from the queue.

The autosave interval refers to how frequently all online players data is saved. Data is saved at autosave intervals to prevent data loss should the server crash.

These options are measured in ticks, 1 second = 20 ticks.

options:
  # ...
  performance-tweaking: 
    quest-queue-executor-interval: 1
    quest-autosave-interval: 12000

Tab completion

options.tab-completion

Choose whether or not commands can be tab completed. Quests will never offer tab completions which players cannot run, regardless of this setting. (In other words, players who are not admins will not see tab completions for /quests admin if they do not have the admin permission.)

options:
  # ...
  tab-completion:
    enabled: true

Error checking

options.error-checking

Configure how Quests handles errors in your configuration. By default, Quests will not allow quests to be loaded if they contain an error, since this could lead to undefined behaviour. The option override-errors will ignore this behaviour and forcibly allow the quest to be registered.

options:
  # ...
  error-checking:
    override-errors: false

Placeholder cache time

options.placeholder-cache-time

Set how long Quests will retain parsed PlaceholderAPI strings in the cache, in seconds. See PlaceholderAPI § Caching placeholders for more information.

options:
  # ...
  placeholder-cache-time: 10

Global task configuration override

options.global-task-configuration-override

Choose whether or not options set in the global task configuration will override per-quest specific options.

options:
  # ...
  global-task-configuration-override: false

Global quest display configuration override

options.global-quest-display-configuration-override

Choose whether or not the global quest display configuration will override per-quest specific options.

options:
  # ...
  global-quest-display-configuration-override: false

Storage

options.storage

Configure how Quests will store playerdata. See storage providers for more info.

options:
  # ...
  storage:
    provider: "yaml"
    synchronisation:
      delay-loading: 0
    database-settings:
      network:
        database: "minecraft"
        username: "root"
        password: ""
        address: "localhost:3306"
      connection-pool-settings:
        maximum-pool-size: 8
        minimum-idle: 8
        maximum-lifetime: 1800000
        connection-timeout: 5000
      table-prefix: "quests_"

Number formats

number-formats

Configure how Quests will display different types of numbers used in placeholders. Most common locales are:

  • de-DE: 1.234,56
  • en-US: 1,234.56
  • fr-ch: 1'234,56

Java docs for internals used to handle number formats:

number-formats:
  # decimal format used for processing float, double and BigDecimal placeholders
  floating:
    format: '#,##0.00'
    locale: 'en-US'
  # decimal format used for processing int, long and BigInteger placeholders
  integral:
    format: '#,##0'
    locale: 'en-US'

Back to top

This wiki serves as a manual for Quests however there is no guarantee that the information is up-to-date or complete. As per the license, this software provides absolutely no warranty, nor are the maintainers liable for any damages. Please see the license text for more information.