---
title: Global configurations
parent: Configuration
nav_order: 4
---
# Global configurations
**Global configurations** are intended to be used in place of
**quest-specific configurations**. This helps reduce repetition across
your configuration as you copy common elements from quest to quest, and
also allows you to quickly propagate edits across quests.
## Global task configuration
A global task configuration will add configuration values to all tasks
of a specified type.
For example (in `config.yml`),
``` yaml
...
global-task-configuration:
types:
inventory:
update-progress: true
...
```
This will add to *all* tasks configurations with `type: inventory`
across *all* quests the following: `update-progress: true`.
{: .note }
Any errors which arise from global task configurations will appear as
if they are coming from individual quests.
Quest-level configurations will override anything set here. To change
this behaviour, modify the [global task configuration
override](basic-options#global-task-configuration-override).
## Global quest display configuration
A global quest display configuration adds text to the display items of
items in the GUI.
By default, this is already configured:
``` yaml
global-quest-display:
lore:
append-not-started:
- ""
- "&eLeft Click &7to start this quest."
append-started:
- ""
- "&aYou have started this quest."
- "&eMiddle Click &7to track this quest."
- "&eRight Click &7to cancel this quest."
append-tracked:
- ""
- "&aYou are &etracking &athis quest."
- "&eMiddle Click &7to stop tracking this quest."
- "&eRight Click &7to cancel this quest."
```
If you do not want this, simply remove the section.
## Global macros
Global macros help you reduce repetition across your configuration
files by centralizing values in your config.yml. Think of them as your
own variables/placeholders which you can use in your quest files.
You can define macros in your `config.yml`, under the `global-macros`
section:
global-macros:
# ...
# :
top-bar: "&6---&7---&6---"
To use these in your quests, reference it by using
`<$m name-of-macro $m>`. Macro names **cannot have spaces**.
For example, to use the `top-bar` macro in `example-quest.yml`:
``` yaml
tasks:
# ...
display:
# ...
lore-normal:
- "<$m top-bar $>"
- "..."
# ...
```
{: .caution }
Macros are replaced by a pre-processor before a configuration is
parsed. This means they have the ability to cause syntax errors in
ways you do not expect if you are not careful.