Руководство по команде setblock
**Setblock** (от англ. *set* — «установить», *block* — «блок») — команда, которая размещает блок.

## Варианты команды

- Обычная команда:

`/setblock <`

*позиция*> <*блок*> [replace|destroy|keep]

- Команда с указанием состояний блока:

`/setblock <`

*позиция*> <*блок*[*состояние_1*=*значение_1*,*состояние_2*=*значение_2*]> [replace|destroy|keep]

- Команда с указанием NBT данных:

`/setblock <`

*позиция*> <*блок*{"*nbt 1*":"*значение 1*", "*nbt 2*":"*значение 2*"}> [replace|destroy|keep]

- Команда с указанием состояний блока и NBT данных:

`/setblock <`

*позиция*> <*блок*[*состояние_1*=*значение_1*]{"*nbt 1*":"*значение 1*"}> [replace|destroy|keep]

При указании NBT данных обязательно нужно заключать *nbt* и *значение* в кавычки, если они состоят из нескольких слов.

## Название блока

Название блока записывается строчными латинскими буквами. Если в названии несколько слов, то они разделяются знаком подчеркивания " _ ".

Названия блоков можно предварять пространством имён `minecraft:`

, а можно и нет. Для блоков из модификации пространством имён, обычно, является название модификации.

- Примеры

`minecraft:sandstone`

— песчаник;`minecraft:stone_slab`

— каменная плита;`minecraft:stone_pressure_plate`

— каменная нажимная пластина;`white_wool`

— белая шерсть.

## Состояния блоков

Состояния блока определяют некоторые параметры блока.

- Примеры состояний

*Компаратор*направлен в одну из 4 сторон (`facing=north|south|east|west`

).*Повторитель*имеет задержку (`delay=1|2|3|4`

) и может быть активирован (`powered=true`

) или неактивирован (`powered=false`

).*Ступени*имеет различную форму (`shape=inner_left|inner_right|outer_left|outer_right|straight`

).

Несколько возможных значений разделены вертикальной чертой `|`

.

- Примеры команд

`/setblock ~ ~ ~1 chest[facing=north]`

— установит перед игроком, который смотрит на юг, сундук, который направлен на север.`/setblock ~ ~ ~1 repeater[delay=2, powered=true]`

— установит перед игроком активированный повторитель с задержкой 2.

## Настройка размещения блока

`replace`

— заменяет старый блок новым.`destroy`

— подобен`replace`

, но выбрасывает старый блок и его содержимое, как если бы он был добыт инструментом без чар.`keep`

— заменяет только воздух указанным блоком.

По умолчанию `replace`

.

- Примеры

Условие: Игрок стоит на открытом воздухе

`/setblock ~ ~2 ~ stone keep`

— установит камень над игроком.`/setblock ~ ~2 ~ sandstone destroy`

— установит песчаник над игроком.`/setblock ~ ~2 ~ yellow_wool replace`

— установит жёлтую шерсть над игроком.

Условие: Игрок стоит в узком каменном коридоре высотой в два блока

`/setblock ~ ~2 ~ stone keep`

— выведет сообщение о неудачном размещении блока.`/setblock ~ ~2 ~ sandstone destroy`

— установит над игроком песчаник, заменяя камень; выпадет булыжник.`/setblock ~ ~2 ~ red_wool replace`

— установит над игроком красную шерсть, заменяя камень.

## NBT-данные

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

-
**CustomName**— название блока (отображается при открытии интерфейса блока). Для командного блока имя будет заменено с использованием*@*.

-
**Lock**— если значение не пустое, то, чтобы открыть интерфейс блока нужно взять определённый предмет с именем, указанным в этом параметре

-
**Items**— число объектов в стойке. Всего есть 4 слота от 0 до 3. ID смотри в статье*Структура объектов***BrewTime**— число тактов зелий

-
**Items**— список объектов в сундуке. Всего есть 27 слотов от 0 до 26. Первый слот находится слева сверху. ID см. в*Структура объектов (англ.)*

-
**OutputSignal**— определяет направление выходного сигнала. Используется потому, что сам блок использует четыре бита метаданных: вращение, состояние питания и состояние режима вычитания. Также, компаратор может содержать определённое количество энергии даже в цепях без красной пыли.

-
**Command**— команда, помещённая в командный блок**SuccessCount**— количество успешных запусков команд. Счётчик обновляется только если командный блок был запущен красной пылью**LastOutput**— последняя выходная запись блока. Записывается всегда, даже при установке аргумента*commandBlockOutput*у команды*gamerule*в значение ложь (0). Также можно посмотреть, если открыть интерфейс командного блока**TrackOutput**— неизвестно, принимает значения 0/1 (ложь/правда)


- Примеры

`/setblock ~ ~2 ~ command_block{Command:"say @a Привет"}`

— установит над игроком командный блок с командой`say @a Привет`

.`/setblock ~ ~2 ~ chest{Items:[{id:"diamond_sword",Count:1,Slot:0}]}`

— установит над игроком сундук, в первом слоте которого лежит алмазный меч.`/setblock ~1 ~ ~1 chest[facing=west]{Items:[{id:"diamond_sword",Count:1,Slot:0}]}`

— установит около игрока сундук, который направлен на запад и содержит алмазный меч.