Наверняка многие Майнкрафтеры помнят те времена, когда в игре был только один командный блок.
С версии 1.9 появились новые виды командных блоков, и теперь уже их было три:
- Цикличный - выполняет команду по циклу, если условие истина
- Цепной - выполняет команду без условия (то есть, всегда) или по условию (то есть, если стрелочно соединенный прошлый командный блок сработал)
- Импульсный - выполняет команду один раз при подаче сигнала редстоуна или при выставлении на "всегда активен"
Вместе с появлением новых видов командных блоков начал меняться и их синтаксис. Например, раньше мы использовали команду /testfor для проверок, но с версии Майнкрафт 1.13 данная команда перестала использоваться и стала развиваться /execute, о которой я и расскажу сегодня!
Начать стоит с того, что команда /execute имеет, так называемые, субкоманды, которые пишутся после неё. Рассмотрим подробнее:
- align - используется для проверок по осям и применяется крайне редко в создании карт. Например:
/execute align xz при координатах -1.6, 2.5, 5.6 по X,Y,Z соответственно позиция изменится на -2, 2.5, 5. Проще говоря, данная команда округляет значения осей.
- anchored - используется для проверки направлений. Для примера можно рассмотреть код, который активируется если игрок смотрит на сущность с тегом "enemy":
/execute as @p at @s anchored eyes facing entity @e[tag=enemy] eyes anchored feet positioned ^ ^ ^1 rotated as @s positioned ^ ^ ^-1 if entity @s[distance=..0.1]
написав execute as @p at @s, мы будем активировать команду в точке, где находится игрок. После чего проверяем направлены ли глаза на сущность с тегом "enemy", которая расположена и развёрнута командой rotated на определённом расстоянии, если дистанция ..0.1 (в данном случае, это разброс видимости. Чем он выше, тем больше радиус активации команды). Ну, а команда facing позволяет проверить направление взгляда на сущность с тегом "enemy"
- at - используется для определения сущности, в позиции которой будет запущена команда.
- in - используется для проверки измерения, где находится сущность. Чаще всего, здесь проверяются только игроки.
- on (эксклюзивно для Java Edition) - используется для проверки разных действий. Например, последней сущности, которая атаковала игрока.
- if / unless - используется для условий. С if мы проверяем истинность условия, а с unless - ложность.
- data - используется для проверки даты конкретной сущности или блока.
- score - используется для проверки значений команды scoreboard.
В своём блоге я уже делал подробный разбор последних команд, так что примеры к ним можете посмотреть в видео:
Если и после просмотра видео у вас остались вопросы по команде /execute, задавайте их в комментариях!