# Game Configuration Files

### Default Options

These options are found in all files. Below are comments on each of the options and what they do.

```yaml
# Set whether the game is visible in the game menu and can be played.
Enabled: <Boolean>

# Set what item should represent the game mode in the main menu.
MenuItem:
  Material: <Material>
  Name: <String>
  Lore:
  - <StringList>
  Slot: <Integer>
  Page: <Integer> #WIP

# The scoreboard that is shown during the game.
Scoreboard:
  Enabled: <Boolean>
  # A scoreboard line can be a maximum of 32 characters including formatting.
  # Placeholders are translated before they're displayed e.g.
  #   " &eLines Sent On This Side: &a%LinesLeft%" is 41 characters, but only 31-32 once translated.
  #
  # Longer lines are cut off to avoid unexpected behavior/bugs.
  Title: <String>
  Lines:
  - <StringList>
  
# The title that is displayed once the game finishes.
GameOverTitle:
  FadeIn: <Integer>
  Stay: <Integer>
  FadeOut: <Integer>
  Title: <String>
  Subtitle: <String>

# There are two default game settings.
GameSettings:
  # This is the duration in seconds the game lasts. Set to -1 for infinite.
  GameDuration: <Integer>
  # This is the speed the tetrominoe moves. Fastest is 1 i.e. 1 move per tick.
  TetrominoeSpeed: <Integer>
```

### Placeholders

| Placeholder     | Description                                   | Usage                      |
| --------------- | --------------------------------------------- | -------------------------- |
| %PlayerLeft%    | Name of Player1                               | Scoreboard & GameOverTitle |
| %ScoreLeft%     | Player1's score                               | Scoreboard & GameOverTitle |
| %LinesLeft%     | The number of lines Player1 has sent          | Scoreboard & GameOverTitle |
| %KOsLeft%       | The number of times Player1 has KO'ed Player2 | Scoreboard & GameOverTitle |
| %PlayerRight%   | Name of Player2                               | Scoreboard & GameOverTitle |
| %ScoreRight%    | Player2's score                               | Scoreboard & GameOverTitle |
| %LinesRight%    | The number of lines Player2 has sent          | Scoreboard & GameOverTitle |
| %KOsRight%      | The number of times Player2 has KO'ed Player1 | Scoreboard & GameOverTitle |
| %Winner%        | The winner of the multiplayer game            | GameOverTitle              |
| %TimeRemaining% | Seconds until the game is over                | Scoreboard                 |
| %TimeElapsed%   | The number of elapsed seconds                 | Scoreboard                 |

### Custom Options

Some game modes have more game settings. These are specified below:

{% tabs %}
{% tab title="Marathon" %}

| Placeholder | Description                                                                                                                                           | Usage      |
| ----------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | ---------- |
| %level%     | Shows the level the player has reached during this game. The level reflects how fast the tetrominoes drop. The higher the level the faster they drop. | Scoreboard |

```yaml
GameSettings:
  # Every x lines sent the game will get harder.
  LinesPerLevel: <Integer>
```

{% endtab %}
{% endtabs %}
