Une boucle permet de traiter un groupe d'éléments l'un après l'autre. La structure ressemble à ceci :
loop :
	
	<effect(s)>

Une boucle peut traiter l'ensemble des éléments d'une expression donnée (ex : all players, worlds, items, etc.). Les conditions et effets à l'intérieur de cette boucle seront appliqués à chacun de ces éléments. Pour se référer à l'un d'entre-eux, on utilise cette syntaxe " loop-<valeur> " (ex : send "hello" to loop-player). Quand une condition n'est pas remplie, la boucle passe automatiquement à l'élément suivant. Cependant, il est possible de sortir de celle-ci avec l'effet " stop loop " afin de poursuivre l'execution de votre code.

Certaines boucles peuvent être remplacées par une condition ou un effet en utilisant le terme " all " afin de considérer un ensemble d'éléments (ex : give a torch to all players).

Valeurs bouclables

Toutes les expressions représentant plus d'une valeur (ex : all players, worlds, etc.) ainsi que les variables liste. Vous pouvez également boucler une liste d'expressions (ex : loop the victim and the attacker).

Variables liste

Dans une variable liste (ex : {var::*}), vous pouvez vous référez à deux valeurs :

  • loop-index (symbolisé par l'astérix (*) dans la variable liste) représente l'index courant de la boucle. Il sert à pointer une valeur.
  • loop-value représente la valeur courante de la boucle.
L'exemple suivant augmentera toutes les valeurs de la la variable liste de 1 :
loop {var::*}:
	set {var::%loop-index%} to loop-value + 1

 Boucles while

Depuis la version 2.0 de Skript, vous pouvez utiliser les boucles while. Ce type de boucle se répète tant qu'une condition est remplie. La structure ressemble à ceci :

while <condition>:
	<code>

Faites attention avec ce type de boucle car elle pourrait se répéter à l'infini si jamais votre condition est toujours remplie.