Il est possible de le faire avec des command blocks, grâce à des scoreboard ou un système matériel (redstone).
L'idée est qu'à l'approche d'un joueur (@a[r=la_distance]) les effets désirés se déclenche (plusieurs /summon)
Concernant le contrôle du depop, même avec un plugin, ça risque d'être compliqué à manipuler.
En général, une entité agressive (Zombie, Squelette...) disparait automatiquement quand le joueur s'éloigne suffisamment. Ce comportement est déjà actif dans le jeu d'origine.
Si tu veux le forcer, toujours avec des command blocks, ben je vois que deux solutions.
- Soit trouver un moyen de délimiter une zone et d'éliminer toutes les entités de types "mob" en passant par un scoreboard
- Soit mettre un test de distance de joueur central encore plus élevé, qui quand il n'est pas résolu, déclenche un /kill sur toutes les entités de types particulier (ex: @e[type=!Player]) sur cette même distance. Et si vraiment tu veux jouer la sécurité et l'efficacité, tu détermine un tag pour les mobs qui popent dans une région défini (genre un scoreboard), et tu élimines toutes les entités possédant ce tag si la condition de la distance n'est pas respectée. Du coup, seulement les mobs qui sont apparus via l'évènement que tu as placé seront éliminés, les autres survivront.