> For the complete documentation index, see [llms.txt](https://doc-werewolfapi.ph1lou.fr/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc-werewolfapi.ph1lou.fr/creer-un-timer.md).

# Créer un Timer

### Enregistrement d'un Timer

Un timer peut être enregistré directement au niveau d'un rôle, d'un scénario, d'un événement aléatoire ou d'une configuration à partir de son annotation.

```java
@Role(key = "addon_key.role.trucmuche",
        timers = {
        @Timer (key = "addon_key.will_o_timer_bidule1", defaultValue = 45, meetUpValue = 45),
                @Timer(key = "addon_key.will_o_timer_bidule2", defaultValue = 10*60, meetUpValue = 5*60),
                @Timer(key = "addon_key.will_o_timer_bidule3", defaultValue = 10*60, meetUpValue = 5*60)
        }
)
```

Il peut être également enregistré à part, il doit étendre de ListenerWerewolf et être annoté par @Timer.

```java
@Timer(key = "addon_key.role.trucmuche",
        defaultValue = 60 * 60,
        meetUpValue = 30 * 60,
        decrement = true,
        onZero = BorderStartEvent.class)
public class BorderBegin extends ListenerWerewolf {

    public BorderBegin(WereWolfAPI main) {
        super(main);
    }
}
```

{% hint style="warning" %}
Un Timer décroit automatiquement si le boolean decrement est Vrai. Il se décrémente après l'annonce des rôles si le boolean decrementAfterRole est Vrai et après un autre timer si une clef est spécifiée dans decrementAfterTimer.
{% endhint %}

###

{% hint style="warning" %}
Le texte associé à la clef du timer doit contenir le placeholder \&timer& pour afficher sa valeur
{% endhint %}
