Командные консоли/execute

С момента создания команда /execute разделена на подкоманды. Подкоманды делятся на три категории:

Модификатор: подкоманды, которые позволяют изменить способ выполнения команды. Например, изменить исполнителя и место исполнения команды.

Условие: подкоманды, которые могут препятствовать выполнению команды. Например, команда выполнится, если существует определённая сущность.

Запись: подкоманды, которые сохраняют результат или успешность исполнения команды.

Команда /execute может содержать неограниченное число подкоманд, кроме подкоманды run <команда>. Эта подкоманда может быть записана лишь один раз в конце всей цепочки подкоманд. Обратите внимание, что нельзя использовать / в начале команды, записанной с run.

Модификатор

Использование

Команда

/execute align <оси>

Подстраивает координаты места выполнения команды под сетку блоков (то есть происходит их округление).

Примеры:

/execute positioned -1.8 2.3 5.9 align x run particle flame: создаёт частицу пламени на координатах (−2, 2.3, 5.9)

/execute positioned 2.4 -1.1 3.8 align xyz run particle flame: создаёт частицу пламени на координатах (2, −2, 3)

/execute at @p anchored eyes run setblock ^ ^ ^4 diamond_block: ставит алмазный блок в 4 блоках впереди от уровня глаз ближайшего игрока.

/execute as <цели>

Изменяет исполнителя команды (само место выполнения не изменяется). Если целей несколько, команда выполнится по разу с каждым исполнителем.

Пример:

/execute as @a run say Привет!: выполняется так, будто каждый игрок выполнил команду say Привет! с правами оператора.

/execute at <цели>

Изменяет измерение, позицию и поворот выполнения команды на такие же, что у целей (сам исполнитель не изменяется). Если целей несколько, команда выполнится по разу с каждым местом выполнения.

Примеры:

/execute at @p run setblock ^ ^ ^2 diamond_block: ставит алмазный блок впереди ближайшего игрока.

/execute as @a at @p run tp @s ^ ^ ^2: телепортирует всех игроков в точку перед ближайшим игроком.

/execute facing entity <цели> (eyes|feet)

Выполняет команду так, будто взгляд исполнителя направлен на указанную точку привязки целей. Если целей несколько, команда выполнится по разу с каждым поворотом исполнителя.

Пример:

/execute as @p at @s anchored eyes facing entity @e[type=cow,limit=1,sort=nearest] eyes run setblock ^ ^ ^5 diamond_block: ставит алмазный блок между «глазами» ближайшего игрока и «глазами» ближайшей к нему коровой в 5 блоках от этого игрока.

/execute facing <позиция>

Выполняет команду так, будто взгляд исполнителя направлен на указанную позицию.

Пример:

/execute as @p at @s facing 0 0 0 run setblock ^ ^ ^5 diamond_block: ставит алмазный блок между ближайшим игроком и позицией (0, 0, 0) в 5 блоках от этого игрока.

/execute in (overworld|the_end|the_nether)

Изменяет измерение, в котором выполняется команда.

Пример:

/execute as @p in the_nether run teleport 0 64 0: телепортирует ближайшего игрока в Нижний мир на позицию (0, 64, 0).

/execute positioned <позиция>

Изменяет позицию выполнения команды на указанную позицию.

Пример:

/execute positioned 0 64 0 run setblock ~ ~ ~ diamond_block: ставит алмазный блок на позицию (0, 64, 0), однако измерение, в котором выполняется команда, сохраняется.

/execute positioned as <цели>

Изменяет позицию выполнения команды на такую же, что у целей. Если целей несколько, команда выполнится по разу с позицией каждой цели.

Пример:

/execute positioned as @p run setblock ~ ~ ~ diamond_block: ставит алмазный блок на позицию ближайшего игрока, однако измерение, в котором выполняется команда, сохраняется.

/execute rotated <поворот>

Изменяет поворот выполнения команды на указанный поворот.

Пример:

/execute at @p rotated ~30 0 run setblock ^ ^ ^4 diamond_block: ставит алмазный блок впереди ближайшего игрока, будто его поворот головы изменён на 30 градусов вправо, а наклон равен 0 градусам.

/execute rotated as <цели>

Изменяет поворот выполнения команды на такой же, что у целей. Если целей несколько, команда выполнится по разу с поворотом каждой цели.

Пример:

/execute at @p rotated as @e[type=cow,limit=1,sort=nearest] run setblock ^ ^ ^4 diamond_block: ставит алмазный блок впереди ближайшего игрока, будто его поворот головы такой же, что у ближайшей к нему коровы.

Аргументы

Аргумент

Тип

Описание

Свойства

<оси>

Оси

Комбинация букв x, y и z. Например: x,xz,zyx, yz.

—

(feet|eyes)

Литерал

Точка сущности, к которой привязываются локальные координаты (^ ^ ^):

Все приведённые ниже подкоманды содержат аргумент (if|unless).

if проверяет, является ли условие истинным. Если это так, цепь продолжается дальше.

unless проверяет, является ли условие ложным. Если это так, цепь продолжается дальше.

Помимо этого, подкоманды-условия можно использовать для получения возвращаемого значения.

Использование

Команда

Возвращаемое значение

result

success

/execute (if|unless) block <позиция> <блок>

Проверяет соответствие блока на позиции указанному.

Проверка:

if: проверяет нахождение на указанной позиции указанного блока.

unless: проверяет нахождение на указанной позиции любого блока, кроме указанного.

Примеры:

/execute if block 0 64 0 diamond_block run say Алмазный блок!: выводит в чат сообщение, если на координатах (0, 64, 0) найдет алмазный блок.

/execute as @a at @s unless block ~ ~-1 ~ air run say Не воздух!: относительно каждого игрока проверяется наличие воздуха под ним; если его нет, в чат выводится сообщение.

Проверяет соответствие области [начало → конец] и области-назначения.

Проверка:

if: проверяет полное соответствие областей.

unless: проверяет несоответствие областей.

Пример:

/execute if blocks 0 0 0 10 10 10 20 20 20 masked run say Полное соответствие!: выводит в чат сообщение, если область [(0, 0, 0) → (10, 10, 10)] полностью соответствует области [(20, 20, 20) → (30, 30, 30)].

if: условие выполнено — количество проверяемых блоков; иначе — 0.

unless: условие выполнено — 1; иначе — 0.

Условие выполнено — 1; иначе — 0.

/execute (if|unless) entity <сущность>

Проверяет существование сущности в прогруженных чанках.

Проверка:

if: проверяет существование хотя бы одной сущности из указанных.

unless: проверяет несуществование ни одной сущности из указанных.

Пример:

/execute if entity @e[type=cow] run say Корова!: выводит в чат сообщение, если в прогруженных чанках существует корова.

if: условие выполнено — количество найденных сущностей; иначе — 0.

Проверяет истинность сравнения указанным образом счёта цели в задаче-цели и счёта источника в задаче-источнике.

Проверка:

if: проверяет соответсвие выражения истине.

unless: проверяет соответсвие выражения лжи.

Пример:

/execute if score Alex obj < Steve obj run say Alex < Steve: выводит в чат сообщение, если счёт Alex в задаче obj меньше, чем счёт Steve в той же задаче.

success : записывает успешность выполнения команды.

Если команда выполнена неуспешно (success равен 0), result тоже будет равным 0.

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

Использование

Команда

/execute store (result|success) block <позиция> <путь> (byte|double|float|int|long|short) <множитель>

Записывает значение по указанному пути в NBT-данные блока-сущности, располагающегося на указанной позиции, в качестве умноженного на множитель числа с указанным типом.

Пример:

/execute store result block 0 65 0 RecordItem.Count byte 1.5 run scoreboard players get Alex obj: предполагая, что на (0, 65, 0) находится проигрыватель, изменяет количество вставленных в него предметов на значение счёта Alex в задаче obj, умноженное на 1,5.

/execute store (result|success) bossbar <ID> (value|max)

Записывает значение в текущее или максимальное значение боссбара с указанным ID.

Пример:

/execute store result bossbar foo:bar value run data get entity Alex Health: Записывает значение NBT-тега Health игрока Alex в текущее значение боссбара foo:bar.

/execute store (result|success) entity <цель> <путь> (byte|double|float|int|long|short) <множитель>

Записывает значение по указанному пути в NBT-данные цели в качестве умноженного на множитель числа с указанным типом.

Эта подкоманда не может изменять NBT-данные игроков. NBT-данные по пути «Inventory[индекс].tag» или «EnderItems[индекс].tag» являются исключением и могут быть изменены.

Пример:

/execute as @e[type=pig] at @s store success entity @s Saddle byte 1 if entity @p[distance=..5]: если в радиусе пяти блоков вокруг свиньи есть игрок, на неё наденется седло.

/execute store (result|success) score <цели> <задача>

Записывает значение в счёт целей в задаче.

Пример:

/execute store result score Свиней obj if entity @e[type=pig]: записывает в счёт «Свиней» задачи obj количество найденных свиней в прогруженных чанках.

Аргументы

Аргумент

Тип

Описание

Свойства

(result|success)

Литерал

Тип возвращаемого значение, которое нужно записать: