# Severity levels

In the configuration file we defined severity levels. These can be as many as you want but you must have at least one. We define a `name`,`score` Optionally we can define `expiresAfter` , `reason` and `reasonOverwriteEnabled` property. The score determines how serious an offence the player has committed. Every warning must have a severity level. An example configuration could be:

```yaml
severity-levels:
  - name: STEALING
    score: 1
    expiresAfter: 1 WEEK
    reason: No you don't do that
    reasonOverwriteEnabled: true
  - name: GRIEFING
    score: 3
  - name: BULLYING
    score: 6
```

As you can see in the above config, griefing is a more serious offence than stealing. And bullying is the most serious offence.&#x20;

{% hint style="warning" %}
Severity levels cannot contain **spaces.** I suggest using simple alphanumeric names.
{% endhint %}

#### reason & reasonOverwriteEnabled

We can define a default reason for severity levels. This means that whenever a staff members issues a warning with this severity level he does not need or cannot specify a reason. \
This means that when a default reason is set the following is a valid command:\
\
&#x20;    `/warn STEALING aPlayerName`

Another configuration option, `reasonOverwriteEnabled` , can be set to enable a staff member to specify a custom reason if he wants to. If both `reason` and `reasonOverwriteEnabled: true` are set a staff member can either issue a warning this way:\
\
&#x20;    `/warn STEALING aPlayerName`

Or this way:

&#x20;    `/warn STEALING aPlayerName My custom reason`

#### Expiration

The **expiresAfter** property is optional and defines when a warning gets expired. Expired warnings still show up in the infractions GUI but are not taken into account when doing threshold calculations. \
Specified by \[amount] \[unit].

Amount must be a positive number > 0 and unit must be one of the following:

* SECOND
* MINUTE
* HOUR
* DAY
* WEEK
* MONTH
* YEAR
