Minecraft Wiki
Register
Advertisement

Виконує команду з додатковими функціями.

Java Edition[]

Команда /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 anchored (feet|eyes)
  • Змінює точку прив'язки локальних координат виконавця ^ ^ ^.
Приклад:
/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) Літерал Точка сутності, до якої прив'язуються локальні координати (^ ^ ^):
  • eyes: «очі»
  • feet: «ноги»
<цілі> Селектор
  • Тип: сутності
  • Кількість: декілька
(overworld|the_end|the_nether) Літерал Вимір:
  • overworld: звичайний світ
  • the_end: Край
  • the_nether: Нижній світ
<позиція> Координати
<поворот> Кути Кути поворота і наклону
Умова

Всі наведені нижче підкоманди містять аргумент (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 Не повітря!: щодо кожного гравця перевіряється наявність повітря під ним; якщо його немає, в чат виводиться повідомлення.
Умова виконана — 1; інакше — 0. Умова виконана — 1; інакше — 0.
/execute (if|unless) blocks <початок> <кінець> <призначення> (all|masked)
  • Перевіряє відповідність області [початок → кінець] і області-призначення.
Перевірка:
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.

unless: умова виконана — 1; інакше — 0.

Умова виконена — 1; інакше — 0.
/execute (if|unless) score <ціль> <завдання-ціль> (<|<=|=|>=|>) <джерело> <завдання-джерело>
  • Перевіряє істинність порівняння зазначеним чином рахунку цілі в завданню-цілі і рахунку джерела в завданню-джерелі.
Перевірка:
if: перевіряє відповідність вираження істини.
unless: перевіряє відповідність вираження брехні.
Приклад:
/execute if score Alex obj < Steve obj run say Alex < Steve: виводить в чат повідомлення, якщо рахунок Alex в завданні obj менше, ніж рахунок Steve в тій же задачі.
Умова виконано — 1; інакше — 0. Умова виконано — 1; інакше — 0.
/execute (if|unless) score <ціль> <завдання-ціль> matches <діапазон>
  • Перевіряє входження в діапазон рахунку цілі в завданню-цілі.
Перевірка:
if: перевіряє знаходження рахунку в діапазоні.
unless:перевіряє знаходження рахунку поза діапазоном.
Приклад:
/execute if score Alex obj matches 1.. run say Натуральне число!: виводить в чат повідомлення, якщо рахунок Alex в завданні obj не менш 1.
Умова виконано — 1; інакше — 0. Умова виконано — 1; інакше — 0.
Аргументи
Аргумент Тип Опис Властивості
(if|unless) Літерал Тип умови:
  • if: якщо …, то
  • unless: якщо не …, то
<блок> Блок
<позиція>, <початок>, <кінець>, <призначення> Координати
(all|masked) Літерал Метод перевірки області:
  • all: перевірка відповідності всіх блоків.
  • masked: перевірка відповідності всіх блоків, крім повітря.
<сутності> Селектор
  • Тип: сутність
  • Кількість: декілька
<ціль>, <джерело> Лічильник
  • Кількість: один
<завдання-ціль>, <завдання-джерело> Завдання Назва завдання для перевірки.
(<|<=|=|>=|>) Літерал Оператор, який використовується для тесту.
<діапазон> Діапазон
Запис
  • result: записує результат виконання команди.
  • 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) Літерал Тип, що повертається значення, яке потрібно записати:
  • result: результат виконання команди.
  • susccess: успішність виконання команди.
<позиція> Координати
<шлях> NBT-шлях
(byte|double|float|int|long|short) Літерал Тип записуваного значення. Див. Java#Примітивні типи.
<множник> Дійсне число Множник повертаємого значення
<ID> Боссбар Ідентифікатор боссбара
(value|max) Літерал Тип значення боссбара, в яке потрібно записати інше:
  • value: поточне значення
  • max: максимальне значення
<цель> Селектор
  • Тип: сутність
  • Кількість: один
<цілі> Лічильник
  • Кількість: декілька
<завдання> Завдання

Bedrock Edition[]

Використання[]

execute <origin: target> <position: x y z> <command: string>
Наступне використання дозволяє виконати команду тільки при виявленні певного блоку:
execute <origin: target> <position: x y z> detect <detectPos: x y z> <detectBlock: string> <detectData: int> <command: string>

Колір був доданий для полегшення читання.

Аргументи[]

origin: target
Повне ім'я або селектор, якого необхідно призначити виконавцем команди. Якщо вказано більше однієї мети, команда виконається щодо кожної.
position: x y z
Позиція, з якої виконується команда. Відносні координати вказуються щодо мети.
command: string
Команда, що належить виконанню
detectPos: x y z
Координати, на яких йде пошук блоку. Відносні координати вказуються щодо position: x y z.
detectBlock: string
Ідентифікатор блоку, що підлягає пошуку на координатах detectPos: x y z.
detectData: int
Дані блоку, що підлягає пошуку. -1 — будь-який тип блоку.

Результат[]

Чи не виконується, якщо невірно вказані аргументи.
Чи не виконується, якщо ціль не знайдено.
Чи не виконується, якщо певний блок не знайдений на зазначених координатах.
Чи не виконується, якщо не вдалося виконати команду.
У разі успіху виконує команду стосовно зазначеної цілі зі статусом оператора на зазначених координатах.

Приклади[]

Створення такої кількості блискавок на координатах (0, 64, 0), скільки існує кріпер на момент виконання команди:
execute @e[type=creeper] 0 64 0 summon lightning_bolt
Створення блискавки на координатах всіх існуючих на момент виконання команди кріперів, що стоять на будь-якому вигляді піску:
execute @e[type=creeper] ~ ~ ~ detect ~ ~-1 ~ minecraft:sand -1 summon lightning_bolt
Переміщення всіх гравців, у яких в радіусі 10-ти блоків є кріпер, до найближчого кріпера.
execute @e[type=creeper] ~ ~ ~ execute @a[r=10] ~ ~ ~ tp @s @e[type=creeper,c=1]

Історія[]

Java Edition
1.814w07aДодана команда /execute.
14w08aКоманди запускаються з використанням /execute коли передається їх значення успіху назад в командний блок, який їх запускає.
1.1116w32aДодана підтримка стану блоку в /execute.
1.1317w45aСинтаксис /execute був виділений.
17w45bПереработаний /execute store.
18w02aДодані нові підкоманди до /execute щоб забезпечити більший контроль над командами.
18w05aДоданий /execute store.
1.1418w43aДоданий /execute (if|unless) data.
1.1519w38aДоданий /execute if predicate.
Доданий /execute store storage.
Pocket Edition Alpha
0.16.0build 1Додана команда /execute.
Функціональність майже еквівалентна використанню Java Edition 1.10, за винятком того, що мета об'єкта є необов'язковою в /execute.
Advertisement