Mise à jour :

Lancer une fonction dans cinq secondes

/schedule function mypack:explode 5s

mypack:explode est la fonction située dans data/mypack/function/explode.mcfunction (le dossier s'appelait functions avant la 1.21).

Unités de temps

ÉcritureSignification
20t ou 2020 ticks (1 seconde)
5s5 secondes (100 ticks)
1dUn jour du jeu (24000 ticks, environ 20 minutes)

Une boucle

# data/mypack/function/loop.mcfunction
effect give @a minecraft:regeneration 3 0 true
schedule function mypack:loop 10s

La fonction se replanifie elle-même à la fin. Lancez /function mypack:loop une fois et elle se répète toutes les 10 secondes, ce qui est plus léger que d'exécuter quelque chose à chaque tick.

Annuler une planification

/schedule clear mypack:loop

Les planifications sont enregistrées avec le monde, donc elles continuent après un rechargement tant que vous ne les annulez pas.

replace et append

CommandeSi la fonction est déjà planifiée
/schedule function mypack:a 5s replaceRemplace l'ancienne planification (par défaut)
/schedule function mypack:a 5s appendGarde l'ancienne et en ajoute une autre

Qui exécute la fonction

Une fonction planifiée s'exécute en tant que serveur, au point d'apparition du monde, et non en tant que joueur qui l'a planifiée. @s et ~ ~ ~ ne désignent donc pas un joueur. Utilisez execute as @a at @s run … dans la fonction pour agir sur chaque joueur.

Un compte à rebours 3-2-1

# data/mypack/function/start.mcfunction
title @a title "3"
schedule function mypack:count2 1s
# data/mypack/function/count2.mcfunction
title @a title "2"
schedule function mypack:count1 1s
# data/mypack/function/count1.mcfunction
title @a title "1"
schedule function mypack:go 1s
# data/mypack/function/go.mcfunction
title @a title {"text":"PARTEZ !","color":"green"}

Chaque fonction affiche un nombre et planifie la suivante une seconde plus tard. Pour lancer la manche, il suffit de /function mypack:start.

Retarder une action pour un seul joueur

Comme la fonction planifiée ne sait pas qui l'a lancée, marquez d'abord le joueur avec un tag :

# quand le joueur marche sur le piège
tag @s add trapped
schedule function mypack:release 5s
# data/mypack/function/release.mcfunction
tp @a[tag=trapped] 0 64 0
tag @a remove trapped

Si un deuxième joueur le déclenche dans les cinq secondes, le replace par défaut relance le minuteur et les deux joueurs sont libérés ensemble. Pour un minuteur séparé par joueur, comptez plutôt les ticks dans un scoreboard.

Édition Bedrock

Bedrock a /function et /schedule, mais son /schedule fonctionne autrement (il sert à lancer des fonctions quand une zone se charge) et n'accepte pas la syntaxe de cette page. Compter les ticks avec un scoreboard est la méthode fiable pour retarder des actions sur Bedrock.

Problèmes courants

Vérifiez votre commande

Le Command Error Doctor (en anglais) vérifie dans votre navigateur les erreurs de syntaxe les plus courantes.