← Все вопросы
Как работает команда /execute в Minecraft? Объясните as/at/if
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).
Ваш ответ
Войдите, чтобы ответить на вопрос.