Перейти к содержанию

Селекторы и их аргументы(@a,@p,@s)


Рекомендуемые сообщения

В теме 41 сообщение

Селекторы

@r - показывает случайного игрока(аналог @a[sort=random,limit=1])

@p - показывает ближайшего от исполнителя команды игрока(аналог @a[sort=nearest,limit=1])

@a - показывает всех игроков

@e - показывает всех сущностей

@s - показывает исполнителя команды

Аргументы

@<variable>[<argument>=<value>,<argument>=<value>,...]
Где <variable> - селектор, <argument> - аргумент, <value> - значение аргумента

Операторы:
".." - в начале, в конце или между значениями показывают диапозон; 
"!" - перед знач., равен "не", инвертирует значение аргумента; 
Например: effect give @e[type=!minecraft:player, distance=..10] glowing 30 1 - выдаст всем сущностям, кроме игрока, эффект свечения на растоянии 10 блоков от исполнителя

  • x, y, z - показывает относительные координаты поиска цели. 
  • distance - показывает дистанцию до цели, можно указывать диапазон, так @a[distance=..4] ищет цель в радиусе 4 блоков от исполнителя. При этом если добавить относительные координаты (@a[distance=..4,x=2,y=5,z=9]) то будет искать от координат XYZ 2, 4, 9 в радиусе 4 блоков. (distance=4.. - игнорирует всех в радиусе 4 блоков, но далее ищет; distance=2..4 - ищет всех от 2 радиуса до 4)
  • dx, dy, dz - объем координат, т.е. если указать [y=1,dy=6], то от точки y=1 будет подниматься вверх на 6 и там искать цели. Так же можно указывать отрицательные значения
  • scores - ищет цели с определенным значением в скорборде, пример: @a[scores={new_score=13}] будет искать игроков со значением 13 в скорборде "new_score". Так же можно указывать диапазон чисел и отрицательные числа
  • tag - ищет цель с тегом, хранящимся в nbt теге {Tags:[]} и изменяемый командой /tag. Может  применять "!" в начале тега тогда будет искать цель без этого тега
  • team - ищет цель в команде(/team)
  • limit - лимит целей, ограничивает количество выбираемых целей.
  • sort - сортировка сущностей, значения агрумента: nearest - самый ближний, furthest - самый дальний, random - случайный, arbitrary - по времени создания
  • level - уровень цели-игрока
  • gamemode - режим игры у цели-игрока
  • name - имя цели, применяет имя в строку в кавычках, не работает с json
  • x_rotation, y_rotation - угол поворота цели
  • type - тип сущности, тобишь его id или список-тег
  • nbt - нбт тег цели
  • advancements - достижение у цели игрока, [advancements={<resource location>=<bool>}] - <resource location> - место нахождение достижения, <bool> - переменная типа bool (true or false)
  • predicate - передикаты в датапаке

Чтобы эта тема не здохла устрою мини-игру, пишите сюда свои примеры команд с селекторами

Ссылка на комментарий
Поделиться на другие сайты

12 часов назад, Shomen сказал:

гди актив?

kill @e[type=minecraft:zombie] - убивает всех зомби

tp @e[type=skeleton] 3 10 3 - телепортирует всех скелетов в одну точку

Ссылка на комментарий
Поделиться на другие сайты

  • 2 недели спустя...
  • 2 недели спустя...

Хах, ладно. /execute @a if block ~ ~-1 ~ #minecraft:red_concrete run kill @a Убивает всех игроков когда встают на красный бетон, так работает на версии 1 16 5, а то мало ли, команду в 1 18 изменили

Ссылка на комментарий
Поделиться на другие сайты

  • 3 недели спустя...
  • 5 недель спустя...

execute at @a[nbt={Inventory:[{id:"minecraft:warped_fungus_on_a_stick",tag:{display:{Tags:["свой тег"]}}}]}] run tag @a[nbt={Inventory:[{id:"minecraft:warped_fungus_on_a_stick",tag:{display:{Tags:["свой тег"]}}}]}] add Inv -выдает тег игроку у которого в инвентаре имеется этот предмет

execute at @a unless entity @a[nbt={Inventory:[{id:"minecraft:warped_fungus_on_a_stick",tag:{display:{Tags:["свой тег"]}}}]}] run tag @a remove Inv - это удаляет тег у игрока которого нет это предмета

Это для тех у кого нбт теги предмета, очень длинные. Просто указываешь тег который выдает команда, в моем случае это Inv.

И я просто указываю тег"Inv" в командном блоке где мне нужно указать что у игрока есть предмет в инвентаре, и если у игрока есть тег"Inv" то команда выполняется.

Ссылка на комментарий
Поделиться на другие сайты

8 часов назад, DarkRed139 сказал:

execute at @a[nbt={Inventory:[{id:"minecraft:warped_fungus_on_a_stick",tag:{display:{Tags:["свой тег"]}}}]}] run tag @a[nbt={Inventory:[{id:"minecraft:warped_fungus_on_a_stick",tag:{display:{Tags:["свой тег"]}}}]}] add Inv -выдает тег игроку у которого в инвентаре имеется этот предмет

execute at @a unless entity @a[nbt={Inventory:[{id:"minecraft:warped_fungus_on_a_stick",tag:{display:{Tags:["свой тег"]}}}]}] run tag @a remove Inv - это удаляет тег у игрока которого нет это предмета

Это для тех у кого нбт теги предмета, очень длинные. Просто указываешь тег который выдает команда, в моем случае это Inv.

И я просто указываю тег"Inv" в командном блоке где мне нужно указать что у игрока есть предмет в инвентаре, и если у игрока есть тег"Inv" то команда выполняется.

Вариант получше:
tag @a[nbt={Inventory:[{id:"minecraft:warped_fungus_on_a_stick",tag:{Tags:["свой тег"]}}]}] add Inv - выдаёт тег игроку у которого в инвентаре имеется этот предмет
execute as @a[tag=Inv] unless entity @s[nbt={Inventory:[{id:"minecraft:warped_fungus_on_a_stick",tag:{Tags:["свой тег"]}}]}] run tag @s remove Inv - удаляет тег у игрока которого нет этого предмета

Ссылка на комментарий
Поделиться на другие сайты

  • 6 месяцев спустя...
  • 6 месяцев спустя...
В 19.03.2022 в 11:34, diryx сказал:

Хах, ладно. /execute @a if block ~ ~-1 ~ #minecraft:red_concrete run kill @a Убивает всех игроков когда встают на красный бетон, так работает на версии 1 16 5, а то мало ли, команду в 1 18 изменили

А как изменили в 1 18?

Ссылка на комментарий
Поделиться на другие сайты

  • 3 недели спустя...
3 часа назад, Temonfors сказал:

Как сделать так что бы игроков в определенных координатах телелепортировало?

/tp @a[x=1.5,y=2.5,z=3.5,distance=..1] 4 5 6
  x=1.5,y=2.5,z=3.5 - кординаты, с которых находим игроков
  ..1 - дистанция, в которой засекаем игроков от первых кординат
 4 5 6 - кординаты, кода телепортируем

Ссылка на комментарий
Поделиться на другие сайты

  • 6 месяцев спустя...
3 часа назад, kemukek сказал:

""!" - перед знач., равен "не""
где именно? мне нужен пример использования чтобы понять

effect give @e[type=!minecraft:player] glowing 30 1 - выдаст всем сущностям кроме игрока эффект свечения

Ссылка на комментарий
Поделиться на другие сайты

  • 5 месяцев спустя...

Как сделать чтобы после того как оставался 1 игрок, тепало на спавн?

(Я хочу сделать чтобы победителя раунда возвращало на спавн)

Ссылка на комментарий
Поделиться на другие сайты

12 часов назад, yoshi сказал:

Как сделать чтобы после того как оставался 1 игрок, тепало на спавн?

(Я хочу сделать чтобы победителя раунда возвращало на спавн)

делаешь счётчик игроков

execute store result score target objective if entity @a

в задаче objective у target хранится количество игроков

Ссылка на комментарий
Поделиться на другие сайты

В 20.02.2022 в 19:58, Shomen сказал:

гди актив?

kill @e[type=minecraft:zombie] - убивает всех зомби

Спасибо. 
Появился вопрос, мб знаешь. 
Не работает /spectate, хочу сделать так чтоб отслеживало стойку для брони, т.е. /spectate @e[type=armor_stand,name=mob] @a 
Все из-за @e, так как команда для одного моба. Хоть бы проверило что-ли, такой моб то один.

Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...