Je peux te proposé une solution qui nécessite plusieurs command block, si tu veux en utilisé qu'un seul je t'invite à te penché sur les datapacks et fonctions (je pourrai t'aider
)
toute les commnd block doivent être à la même hauteur et cette fois ci l'ordre à un importance (il ne faut pas mélanger les /summon et les /tag) :
Code (cpp):
/execute at @a[type=player,dy=0,distance=50..70,tag=check] run summon <mob 1> ~ ~15 ~ {<nbt mob 1>}
/execute at @a[type=player,dy=0,distance=50..70,tag=check] run summon <mob 2> ~ ~15 ~ {<nbt mob 2>}
...
/execute at @a[type=player,dy=0,distance=50..70,tag=check] run summon <mob N> ~ ~15 ~ {<nbt mob N>}
/tag @a[tag=!check,dy=<dy_crtl>] add check
/tag @a[tag=check,dy=0] remove check
dy_crtl correspond à la différence de hauteur à partir de laquelle les joueurs pourront refaire spawn les mobs
vu que les command block ne peuvent se super posé il est possible qu'en bordure des rayons de contrôle tout les mobs ne spawn pas (si c'est vraiment dérangeant je te redirige vers les datapacks)