Je joue à Minecraft 1.13 et je veux faire apparaître aléatoirement des Shulkers sur les îles de l'End extérieures, tout en respectant le mobcap. Mon idée pour y parvenir était de convertir des Endermen aléatoires en Shulkers, en utilisant une forme de chance et de randomisation. Après chaque cycle, tous les Endermen recevraient une balise, indiquant qu'ils ont déjà été traités par les commandes, de sorte que tous les Endermen ne finissent pas en Shulkers.
La première étape pour cela serait de trouver tous les Endermen sur les îles de l'End extérieures. C'est là que les choses se compliquent (déjà).
Ma première constatation a été que les blocs de commande dans l'Overworld ne peuvent pas cibler les entités dans l'End. Pour résoudre ce problème, j'ai transformé ma commande en une fonction et abonné ma fonction à la règle de jeu GameLoopFunction
. Dans cette fonction, j'ai pu cibler tous les Endermen dans l'End en utilisant la commande suivante :
execute as @e[type=enderman,nbt={Dimension:1}] run say @s
Maintenant, pour ne cibler que les Endermen sur les îles extérieures, je dois exécuter ma commande à l'emplacement 0 0 0, puis cibler tous les Endermen qui se trouvent à plus de 256 blocs de ce point. J'ai exécuté la commande suivante pour tester si ma commande fonctionnait toujours avec ce décalage :
execute offset 0 0 0 as @e[type=enderman,nbt={Dimension:1}] run say @s
Cela fonctionnait également bien. Pour terminer la commande, j'ai ajouté un paramètre de distance au sélecteur de cible comme ceci :
execute offset 0 0 0 as @e[type=enderman,nbt={Dimension:1},distance=256..] run say @s
Malheureusement, aucun Enderman n'a été ciblé du tout. Je m'attendais à ne rien obtenir sur l'île principale, mais je m'attendais à ce que mon chat soit bombardé dès mon arrivée sur les îles de l'End extérieures. Le chat est resté vide.
REMARQUE : Toutes les commandes précédentes ont été exécutées alors que j'étais sur les îles de l'End extérieures.
Pour m'assurer que le paramètre distance
fonctionnait, j'ai fait un test dans l'Overworld :
/execute offset 0 0 0 as @e[distance=256..] run say @s
Cette commande devrait afficher mon nom dans le chat si je suis à 256 blocs de 0 0, ce qu'elle a fait, donc le paramètre de distance fonctionnait très bien. La question est : comment cibler les Endermen sur les îles de l'End extérieures ?