'''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 that any errors coming from here will appear as if they are coming from individual quests.''
Quest-level configurations will override anything set here. To change this behaviour, modify the [[Basic options#Global task configuration override|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."
```
[[https://i.imgur.com/l0FI5Ma.png]]
If you do not want this, simply remove the section.
== Global macros ==
Global macros are designed to 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.
To explain this feature, an example is more appropriate.
In your config.yml, you can add a macro under the global-macros section:
```
global-macros:
...
# :
top-bar: "&6---&7---&6---"
```
To use these in your quests, simply 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 $>"
- "..."
...
```