Les nouvelles fonction Bedrock
Les fonctions permettent aux joueurs d'exécuter des listes de commandes en utilisant des fichiers texte avec pour extension .mcfunction
.
Utilisation[]
Les fonctions sont des fichiers texte créés par des joueurs contenant des commandes. Pour utiliser les fonctions sur votre monde, vous devez placer vos fichiers dans le dossier data/functions
de votre monde. Il existe actuellement trois façons d'exécuter des fonctions. Pour chacune d'entre elles, la fonction à exécuter doit être spécifiée en utilisant namespace:chemin/vers/la/fonction
.
Par exemple custom:example/test
fait référence à la fonction située dans data/functions/custom/example/test.mcfunction
.
Une fonction doit obligatoirement être placée dans un sous-dossier, par exemple, si le chemin est data/functions/test.mcfunction
, elle ne sera pas chargée par le jeu, en revanche data/functions/custom/test.mcfunction
. Il faut aussi que les fichiers de fonctions utilisent l'extension .mcfunction
.
Utiliser les fonctions présente de nombreux avantages.
- Vous pouvez réduire la taille de vos systèmes de blocs de commande en créant des fonctions contenant un tas de commandes dépendantes les unes des autres et potentiellement utilisables dans plusieurs systèmes.
- Simplifier la création de vos systèmes, vous pouvez déplacer, supprimer, ajouter et même commenter (avec
# commentaire
) des commandes au milieu de votre système sans devoir faire la même chose avec les blocs de commande, ce qui peut vite devenir un véritable casse-tête. - Pour un même système fait avec des blocs de commande ou une fonction, l’exécution de la fonction sera plus optimisée et générera moins de lags que les blocs de commande.
- Les fonctions peuvent vous permettre de créer des commandes personnalisables à l'aide de la commande
/function
. - L'utilisation de récursivité (invoquer des fonctions en boucle) est possible et ne génère normalement ni crash ni lag.
- Vous pouvez dorénavant colorer vos commandes (exemple: noms personnalisés, nom de scoreboard, etc...) en utilisant le système de codes de mise en forme du jeu directement dans les fichiers
.mcfunction
. Avant, il n'y avait pas d'autre choix que d'utiliser des programmes externes comme MCEdit et autres.
En revanche, les fonctions manquent d'une fonctionnalité pouvant être importante pour certains systèmes, le principe de bloc de commande conditionnel. Il peut néanmoins être reproduit à l'aide de tableau de score et de la commande /stats
mais cela devient plus complexe à mettre en place et à utiliser.
/function
[]
La commande /function
permet au joueur d’exécuter la fonction une seule fois. Les commandes dans la fonction sont exécutées en tant qu'entité ou bloc de commande qui a exécuté la commande /function
.
/function <namespace:chemin/vers/la/fonction>
Récompenses des progrès[]
Les progrès peuvent exécuter une fonction en tant que récompense lorsque les conditions sont respectées. Les commandes de la fonction sont exécutées par le joueur ayant complété le progrès.
{ "rewards": { "function": "namespace:chemin/vers/la/fonction" } }
Tags[]
C'est un fichier regroupant plusieurs fonctions pouvant s’exécuter dans un ordre précis. Il existe 2 noms de tags de fonctions spécifique pouvant être utilisés:
minecraft:tick
: S’exécute à chaque ticks de jeu (comme l'ancienne/gamerule gameLoopFunction
).minecraft:load
: S’exécute à chaque chargement d'une partie ou après chaque/reload
.
Notes diverses[]
- Dans votre fichier de fonction, chaque commande doit être écrite sur une ligne (une ligne vierge ou ne contenant qu'un commentaire sera ignorée) et ne doit pas être précédée par un "/" (slash).
Historique[]
Version Java | |||||
---|---|---|---|---|---|
1.12 | 1.12-pre1 | Ajout des fonctions. | |||
1.12-pre3 | Les fichiers utilisent désormais l'extension .mcfunction .
Les commandes ne doivent pas commencer par un / (slash). | ||||
Les commentaires ne peuvent plus commencer par // . | |||||
L'usage de récursivité est possible. | |||||
1.13 | 17w43a | Les fonctions personnalisées ont été déplacées dans les packs de données. | |||
17w45a | Les fonctions sont maintenant complètement analysées et mises en cache lors du chargement. | ||||
17w49b | Une fonction peut désormais être étiquetée. | ||||
Les fonctions étiquetées dans minecraft:tick sont exécutées chaque tick au début du tick. |
Données |
|
---|---|
Autre |