Через плагин, но все же. как варик - создать таймер, который будет срабатывать условно раз в секунду. Все твои зоны хранятся в конфиге плагина, каждая зона это просто точка в мире и её радиус. Каждую секунду этот таймер берёт всех игроков на сервере и проверяет для каждого, не находится ли он внутри какой-нибудь из твоих зон. Чтобы понять, что игрок именно вошел или вышел, а не просто находится внутри, плагин хранит в памяти информацию о том, кто в какой зоне был во время прошлой проверки, на счет оптимизации - хз, но удобнее тем, что пользоваться в разы проще, чем /execute at.. блаблабла, командные блоки и все остальное