← Все вопросы

Как работает команда /execute в Minecraft? Объясните as/at/if

Задан 31 месяц назад1.2к просмотров2 ответа
8

Команда /execute выглядит как заклинание: execute as @a at @s if block .... Я вообще не понимаю, что тут происходит. Можете разобрать по частям, что такое as, at, if?

2 ответа

14
✓ Принятый ответ — помог автору

/execute — самая мощная команда. Она настраивает контекст, а в конце выполняет какую-то команду. Читай слева направо как цепочку условий:

  • as @a — «от имени кого» выполнять (меняет, кто такой @s). Для каждого игрока отдельно.
  • at @s — «в каком месте» выполнять (меняет точку отсчёта ~ ~ ~).
  • if block ~ ~-1 ~ water — условие: «если блок под ногами — вода». Если ложь, команда не выполнится.
  • run ... — собственно команда в конце.

Пример: дать урон всем, кто стоит в воде:

/execute as @a at @s if block ~ ~-1 ~ water run damage @s 1

Читается так: «для каждого игрока, в его позиции, если под ним вода — нанести ему 1 урона». По сути это for + if на языке Minecraft.

5

Полезно держать в голове аналогию с кодом:

for s in all_players:        # as @a
    at(s.position):          # at @s
        if block_below(s) == water:  # if block
            damage(s, 1)     # run

Когда видишь это так, длинные /execute перестают пугать. Ещё бывает unless (это «если НЕ») и store (сохранить результат в scoreboard).

Ваш ответ

Войдите, чтобы ответить на вопрос.