Только для Java Edition и Bedrock Edition |
Тип | |
---|---|
Действует ли гравитация | |
Прозрачность | |
Светимость | |
Взрывоустойчивость | |
Прочность | |
Инструмент | |
Дроп | |
Возобновляемый | |
Складываемый | |
Воспламеняемый | |
Первое появление | |
Значения данных | |
Текстовый идентификатор | command_block |
“ |
| „ | |
— Jeb о командном блоке[1] |
Командный блок (англ. Command Block) — это блок, который способен выполнять команды. Этот блок нельзя получить без использования читов, поэтому в основном он используется на серверах для создания особых механизмов.
Чтобы выдать себе командный блок, нужно использовать команду /give @s command_block
(@a-все игроки, @p-ближайший игрок, @s-вы)
или /give Ваш_ник command_block
. Чтобы сразу поставить командный блок, можно использовать команду /setblock координаты command_block
или /fill начало конец command_block
.
Как и другие блоки, этот блок хранит NBT данные; СКМ+Ctrl будет копировать командный блок вместе с командой и другими параметрами.
Командные блоки недоступны в инвентаре Творчества и не могут быть сломаны в Выживании. Командный блок не горит и не может быть сдвинут поршнем.
Командный блок может выполнять команды консоли, записанные в него, когда активирован редстоун-сигналом. С версии 1.9 может работать без сигнала (если установлена настройка «Всегда включён» или «Always active»). Он всегда имеет высший уровень доступа, а значит, может исполнять все доступные в игре команды, кроме большинства серверных (/stop
, /ban
, /kick
и т. д.), а также /debug
, /publish
и /reload
.
Добавлять и изменять код в командном блоке можно через его интерфейс (открывается использованием кнопки «Использовать предмет» на командном блоке). Игрок может открыть интерфейс только находясь в режиме Творчества. Для использования командного блока на сервере, в файле server.properties должны быть установлены следующие значения:
enable-command-block
должно иметь значение true
op-permission-level
должно иметь значение 2
и более (по умолчанию 4)На сервере его могут открывать только игроки со статусом оператора.
Команды вводятся в верхнюю строку интерфейса. Максимальное количество символов, умещающихся в одном командном блоке — 32 500, но строка может показывать только первые несколько десятков. Прокручивать текст можно с помощью кнопок ← и →, если зажать Ctrl при прокрутке, она значительно ускорится. Автоподстановка команд производится кнопкой Tab ↹ (пример: /to
+ Tab ↹ → /toggledownfall
).
Подстановка символа /
перед вводом команды необязательна, он не влияет на выполнение команды.
Под командной строкой находятся подсказки по выбору целей для команд консоли.
В нижней строке интерфейса выводится последний результат выполнения команды данным командным блоком при успешном выполнении, или отчёт об ошибке при невозможности выполнения. Изначально эта строка пуста. Текст в ней не редактируется игроком.
Кнопка справа от строки вывода определяет, должен ли отчёт быть сохранён и отображён (O
когда включено сохранение и отображение отчёта, и X
в обратном случае), по умолчанию — O
. Командный блок, отображающий отчёт и беспрерывно исполняющий команду, будет постоянно обновляться. Если 64 командных блока будут обновляться в одном и том же чанке, произойдёт обновление этого чанка и, возможно, некоторых соседних, что может значительно понизить количество кадров в секунду (FPS) для игроков, поэтому рекомендуется отключать вывод отчёта при возможности.
Нажав на кнопку «Impulse/Chain/Repeat», командный блок сменит свой тип.
При нажатии на кнопку «Conditional/Unconditional» меняется поведение блока.
По умолчанию — «Unconditional»
Нажав кнопку «Always active/Needs Redstone», можно переключать зависимость командного блока от сигнала красного камня.
По умолчанию у импульсного и цикличного — Needs Redstone, у цепного — Always active.
При нажатии на кнопку «Done» в интерфейсе командного блока или кнопку «принять» (↵ Enter) клавиатуры, тот закрывается и сохраняет все внесённые в него изменения.
При нажатии на кнопку «Cancel» в интерфейсе командного блока или кнопку «отменить» (Esc) клавиатуры, тот закрывается, не сохраняя внесённые в него изменения.
Есть несколько способов собрать данные с командного блока после его попытки выполнить команду:
Если поставить компаратор лицевой стороной от командного блока, он будет выдавать сигнал с силой, соответствующей успешности выполнения команды (0/1 — «не удалось выполнить»/«выполнено успешно» соответственно или 0-15 — найдено соответствующее количество сущностей/блоков, удовлетворяющих команде. Если таких более 15, выдаётся максимальный (сила 15) сигнал).
Компаратор выдаёт сигнал, соответствующий результату крайнего выполнения команды, даже если после этого командный блок был выключен.
Выводимые командным блоком сообщения уведомляют об успешном выполнении команды или о невозможности её выполнения. Отчёты командных блоков появляются в следующих местах:
/gamerule commandBlockOutput false
. Некоторые команды направлены на написание текста в чат (/me
, /say
и /tell
). На такой текст вышеуказанная команда не действует./gamerule logAdminCommands false
.Командные блоки могут записывать различные результаты успешного выполнения команд в списки задач, такие как:
Цели, которые необходимо отслеживать, можно указать, выполнив команду /stats
или непосредственно изменив данные NBT-тега командного блока с помощью команды /blockdata
.
Указатель на сущность может иметь привязку к конкретному типу сущности. Задаётся эта привязка аргументом
type
— Как пример, команда /kill @e[type=Skeleton]
убьёт всех скелетов, а команда /kill @e[type=!Player]
убьёт все сущности, не являющиеся игроком.Также если командный блок переименовать на наковальне и ввести в него команду /say
, то при активации в чат выведется вписанное сообщение. Но перед сообщением вместо символа @ появится имя, которое было дано командному блоку.
Также были замечены особенности, в расположении командных блоков и порядком исполнения команд, при подключении нескольких блоков к одному источнику питания:
Вот расположение командных блоков относительно сторон света:
Название | Идентификатор | Теги предмета (JE) | Форма | Ключ перевода |
---|---|---|---|---|
Командный блок | command_block | dragon_immune wither_immune | Блок и предмет | block.minecraft.command_block |
Цепной командный блок | chain_command_block | dragon_immune wither_immune | Блок и предмет | block.minecraft.chain_command_block |
Цикличный командный блок | repeating_command_block | dragon_immune wither_immune | Блок и предмет | block.minecraft.repeating_command_block |
Название | Идентификатор |
---|---|
Блок-сущность | command_block |
Название | Идентификатор | Числовой ID | Форма | Ключ перевода |
---|---|---|---|---|
Командный блок | command_block | 137 | Блок и предмет | tile.command_block.name |
Цепной командный блок | chain_command_block | 189 | Блок и предмет | tile.chain_command_block.name |
Цикличный командный блок | repeating_command_block | 188 | Блок и предмет | tile.repeating_command_block.name |
Название | Идентификатор |
---|---|
Блок-сущность | CommandBlock |
Байты | Значения |
---|---|
0x1 | Устанавливается, если командный блок был активирован ранее. |
0x2 0x4 0x8 | (Не используется) |
Название | Значение | Описание |
---|---|---|
conditional | true false | true , если командный блок находится в условном режиме. |
facing | north south east west up down | Направление, куда указывает командный блок. |
Официальный выпуск Java Edition | |||||
---|---|---|---|---|---|
27 июля 2012 | Джеб в своём твиттере опубликовал информацию о блоке, предназначенном для режима Приключения. Он начал размещать идеи, фотографии и намеки на те функции, которые блок будет выполнять. | ||||
Во время AMA Нотч намекнул, что блок будет добавлен в 1.4. | |||||
1.4 | 12w32a | Командный блок был добавлен в игру. | |||
12w38a | Был добавлен расширенный синтаксис указания цели. | ||||
1.7.2 | 13w37a | Появилась возможность ставить блоки с помощью команды setblock. | |||
13w39a | Была добавлена вагонетка с командным блоком. | ||||
Возможна ошибка с тем, что командный блок не увидит компаратор. | |||||
1.8 | 14w07a | Раздатчики могут устанавливать командные блоки. | |||
1.9 | 15w34a | Была переработана текстура командного блока. Теперь командный блок можно настроить на выполнение трёх функций: Impulse (активирует командный блок), Chain (активирует командные блоки по цепочке) и Repeat (повторяет заданную команду несколько раз в секунду, не останавливаясь). Командные блоки также имеют направление, как и поршни. | |||
15w34b | Добавлены две новые функции: Условная и Безусловная. При функции «Условная» командный блок выполнит команду только если команда предыдущего блока была успешно выполнена. | ||||
15w35a | Снова обновлены текстуры командного блока. Добавлены новые опции для командного блока: Всегда активен и/или Нуждается в настройках красного камня. | ||||
1.12 | 17w16a | Улучшена производительность у цепного командного блока. | |||
17w18a | Проведена оптимизация ошибочных условий в командных блоках. | ||||
1.12-pre6 | Авто-завершение команды с помощью Tab ↹ в командных блоках больше не добавляет / перед командой. | ||||
1.13 | 18w21a | Изменён цвет всплывающей подсказки у командного блока и его разновидностей. | |||
1.13-pre1 | Исправлена ошибка, которая гласит, что "Завершение табуляции команд в командных блоках не работает". | ||||
1.14 | 18w47b | Изменены текстуры командного блока и цикличного командного блока. | |||
Официальный выпуск Pocket Edition | |||||
1.0.5 | build 1 | Командный блок добавлен в игру. | |||
Официальный выпуск Bedrock Edition | |||||
1.8 | beta 1.8.0.8 | Командный блок теперь имеет имя по умолчанию «!» вместо «@». | |||
1.12 | beta 1.12.0.2 | Добавлено авто-завершение команды с помощью Tab ↹ в командных блоках. | |||
Добавлена опция «Задержка» для командного блока, реализующая задержку между выполнениями команд в количестве тактов красного камня, указанном в значении данного поля. |