Top.Mail.Ru
Ответы

Как выделить игроков на определенной высоте относительно исполнителя (Майнкрафт) (Командный блок) (КБ) ?

В общем ситуация следующая:
Если делать банально -
execute as @a[tag=S4] positioned as @s at @s run tag @e[tag=!S4,distance=0..10] add NS4
тогда выделяются все В РАДИУСЕ 10 блоков. Казалось бы, в чём проблема?
Выделяются игроки ещё и по высоте... То есть по X на +-10 по Z на +-10 и по Y на +-10
Как мне выделить игроков по X на +-10 по Z на +-10 НО по Y на +-2 или любое другое значение.

Говорю сразу: Если делать: ...run tag @e[tag=!S4,x=-10,dx=20,z=-10,dz=20,y=-2,dy=4] add NS4
Если делать так, то выделяются игроки по КООРДИНАТАМ, НЕЗАВИСИМО ОТ ИСПОЛНИТЕЛЯ.
Не, ну есть костыль........

Цепной условный всегда активный КБ: execute as @a[tag=S4] positioned as @s positioned ~ ~10 ~ run tag @e[tag=!S4,distance=0..5] remove NS4

Цепной условный всегда активный КБ: execute as @a[tag=S4] positioned as @s positioned ~ ~-10 ~ run tag @e[tag=!S4,distance=0..5] remove NS4

Но это такой костыль!!!!!! Есть более адекватное решение? Буду очень признателен за помощь. В любом случае спасибо что прочитали. Хорошего вам дня!

По дате
По рейтингу
Аватар пользователя
Мастер

Вы можете использовать команду execute с параметром if entity, чтобы отфильтровать игроков по высоте. Добавьте следующую команду в свой командный блок:

Базовая команда:

1
 execute as @a[tag=S4] at @s run tp @e[tag=!S4,distance=0..10] ~ ~ ~  

Используйте параметр if entity для фильтрации по высоте:

Цепной условный всегда активный КБ:

1
 execute as @a[tag=S4] at @s if entity @e[tag=!S4,distance=0..10,dy=-2] run tag @e[tag=!S4,distance=0..10,dy=-2] add NS4  

Цепной условный всегда активный КБ:

1
 execute as @a[tag=S4] at @s if entity @e[tag=!S4,distance=0..10,dy=2] run tag @e[tag=!S4,distance=0..10,dy=2] add NS4  

Эти команды проверят наличие игроков на определенной высоте относительно исполнителя и добавят им соответствующий тег. Значения dy=-2 и dy=2 указывают на допустимый диапазон по оси Y. Вы можете изменить эти значения в зависимости от ваших требований.