As part of the Unified Community Platform project, your wiki will be migrated to the new platform in the next few weeks. Read more here.

Руководство по команде execute

Материал из Minecraft Wiki
Перейти к: навигация, поиск

Execute — команда, позволяющая выполнить другую команду относительно какой-либо сущности. Аргумент detect позволяет выполнить команду только при наличии определённого блока относительно сущности.

Синтаксис[править | править код]

/execute <Игрок|Селектор> <x> <y> <z> <Команда>
/execute <Игрок|Селектор> <x> <y> <z> detect <x1> <y1> <z1> <Блок> <тип блока|-1[1]> <Команда>

x, y, z — Координаты, относительно которых будет выполнена команда. Могут быть точными или относительными. Относительные координаты воспринимаются от сущности, а не от места исполнения команды.

x1, y1, z1 — Координаты блока для проверки. Могут быть точными или относительными. Относительные координаты воспринимаются от сущности, а не от места исполнения команды.

Использование[править | править код]

/execute Alexander ~ ~-1 ~ setblock ~ ~ ~ lava

Поставит под игроком Alexander блок лавы.

/execute @p[c=-5] ~ ~ ~ detect ~ ~-1 ~ grass 0 fill ~ ~1 ~ ~ ~10 ~ gravel

Поставит 10 блоков гравия над 5 самыми дальними игроками, которые стоят на траве.

/execute @e[type=Skeleton] ~ ~ ~ detect ~ ~-1 ~ minecraft:log -1 summon Enderman ~ ~ ~ {CustomName:"Ендермен"}

Заспаунит странников Края рядом со всеми скелетами, которые стоят на любом блоке дерева (Учитываются только блоки дерева с идентификатором minecraft: log — это дуб, береза, ель и тропическое дерево).

Очень полезным свойством команды /execute является то, что она может выполнять сама себя. Так можно проверять большие структуры на целостность всего одним командным блоком, не выстраивая огромные цепочки с командой /testforblock.
Для удобства чтения такая команда разделена на 3 строки, и вписывать её нужно в командный блок.

execute @e[type=armor_stand,name=structure] ~ ~ ~ detect ~ ~-1 ~ diamond_block 0 
execute @e[type=armor_stand,name=structure] ~ ~ ~ detect ~ ~2 ~ iron_block 0
execute @e[type=armor_stand,name=structure] ~ ~ ~ detect ~ ~3 ~ coal_block 0 setblock ~ ~4 ~ redstone_block

Данная команда установит блок красного камня над угольным блоком, если найдет стойку для брони с именем «structure», причем под этой стойкой должен быть алмазный блок, над стойкой — блок железа, а над ним блок угля.

Примечания[править | править код]

  1. При указании типа блока -1, команда будет искать блок с указанным id любого типа.