Командный блок

Командный блок
Импульсный командный блок.gifЦепной командный блок.gifЦикличный командный блок.gif
Условный импульсный командный блок.gifУсловный цепной командный блок.gifУсловный цикличный командный блок.gif
Командный блокЦепной командный блокЦикличный командный блок
Тип Твёрдый блок
Действует ли
гравитация
Нет
Прозрачность Нет
Светимость Нет
Взрывоустойчивость 3 600 000
Прочность -1
Инструмент Нет
Дроп Нет
Возобновляемый Нет
Складываемый Да (64)
Воспламеняемый Нет
Первое появление См. Историю
Значения данных См. Значения
Текстовый
идентификатор
command_block
Аватар Jeb в Twitter.jpg
Этот блок будет способен выполнять команды по сигналу красного камня. С подходящими командами многие вещи могут быть автоматизированы.
Jeb о командном блоке[1]
Disambig color.svg Эта статья — о командном блоке. О том, как использовать команды, см. Команды консоли.

Командный блок (англ. 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 должны быть установлены следующие значения:

На сервере его могут открывать только игроки со статусом оператора.

Интерфейс командного блока

Интерфейс командного блока

Интерфейс командного блока с выполненной командой

Командная строка

Команды вводятся в верхнюю строку интерфейса. Максимальное количество символов, умещающихся в одном командном блоке — 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.

Руководство

Указатель на сущность может иметь привязку к конкретному типу сущности. Задаётся эта привязка аргументом

Также если командный блок переименовать на наковальне и ввести в него команду /say, то при активации в чат выведется вписанное сообщение. Но перед сообщением вместо символа @ появится имя, которое было дано командному блоку.

Также были замечены особенности, в расположении командных блоков и порядком исполнения команд, при подключении нескольких блоков к одному источнику питания:

Вот расположение командных блоков относительно сторон света:

Значения

ID блока

Java Edition

Название Идентификатор Теги предмета (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
Bedrock Edition
Название Идентификатор Числовой 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
(Не используется)

Состояния блока

Основная статья: Состояния блоков
Название Значение Описание
 conditionaltrue
false
true, если командный блок находится в условном режиме.
 facingnorth
south
east
west
up
down
Направление, куда указывает командный блок.

Галерея

История

Официальный выпуск Java Edition
27 июля 2012Джеб в своём твиттере опубликовал информацию о блоке, предназначенном для режима Приключения. Он начал размещать идеи, фотографии и намеки на те функции, которые блок будет выполнять.
Во время AMA Нотч намекнул, что блок будет добавлен в 1.4.
1.412w32aКомандный блок был добавлен в игру.
12w38aБыл добавлен расширенный синтаксис указания цели.
1.7.213w37aПоявилась возможность ставить блоки с помощью команды setblock.
13w39aБыла добавлена вагонетка с командным блоком.
Возможна ошибка с тем, что командный блок не увидит компаратор.
1.814w07aРаздатчики могут устанавливать командные блоки.
1.915w34aБыла переработана текстура командного блока. Теперь командный блок можно настроить на выполнение трёх функций: Impulse (активирует командный блок), Chain (активирует командные блоки по цепочке) и Repeat (повторяет заданную команду несколько раз в секунду, не останавливаясь). Командные блоки также имеют направление, как и поршни.
15w34bДобавлены две новые функции: Условная и Безусловная. При функции «Условная» командный блок выполнит команду только если команда предыдущего блока была успешно выполнена.
15w35aКомандный блок.pngЦепной командный блок.pngЦикличный командный блок.pngСнова обновлены текстуры командного блока. Добавлены новые опции для командного блока: Всегда активен и/или Нуждается в настройках красного камня.
1.1217w16aУлучшена производительность у цепного командного блока.
17w18aПроведена оптимизация ошибочных условий в командных блоках.
1.12-pre6Авто-завершение команды с помощью Tab ↹ в командных блоках больше не добавляет / перед командой.
1.1318w21aИзменён цвет всплывающей подсказки у командного блока и его разновидностей.
1.13-pre1Исправлена ошибка, которая гласит, что "Завершение табуляции команд в командных блоках не работает".
1.1418w47bИзменены текстуры командного блока и цикличного командного блока.
Официальный выпуск Pocket Edition
1.0.5build 1Командный блок добавлен в игру.
Официальный выпуск Bedrock Edition
1.8beta 1.8.0.8Командный блок теперь имеет имя по умолчанию «!» вместо «@».
1.12beta 1.12.0.2Добавлено авто-завершение команды с помощью Tab ↹ в командных блоках.
Добавлена опция «Задержка» для командного блока, реализующая задержку между выполнениями команд в количестве тактов красного камня, указанном в значении данного поля.

Проблемы

Отчёты об ошибках, связанных с «Командный блок», поддерживаются в системе отслеживания ошибок Mojira. Сообщайте о найденных ошибках там (на английском языке).

Интересные факты

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

Примечания

В данной статье используются материалы из статьи «Командный блок» с вики-сайта Minecraft Wiki, расположенного на Фэндоме, и они распространяются согласно лицензии Creative Commons Attribution-NonCommercial-ShareAlike 3.0. Авторы статьи.