Найти в Дзене
Всë про игры

Что такое Командный Блок и как его использовать?

Моё почтение! В этой статье я расскажу, что такое командный блок и как его использовать в Minecraft. Этот блок будет способен выполнять команды по сигналу красного камня. С подходящими командами многие вещи могут быть автоматизированы.— Jeb о командном блоке Эта статья — о командном блоке. О том, как использовать команды. Командный блок (англ. Command Block) — это блок, который способен выполнять команды. Этот блок нельзя получить без использования читов, поэтому в основном он используется на серверах для создания особых механизмов. (root) - корневой тег блока-сущности. Раньше чтобы выдать себе командный блок, нужно было использовать команду /give @s command_block (@a-все игроки, @p-ближайший игрок, @s-вы) или /give Ваш_ник command_block. Но в снапшоте 22w44a была добавлена возможность взять командный блок из меню творческого режима, с 1.19.3 появляется в творческом инвентаре только с включенной опцией "Вкладка оператора" в меню «Управление». Чтобы сразу поставить командный блок, можн
Оглавление

Моё почтение! В этой статье я расскажу, что такое командный блок и как его использовать в Minecraft.

Командный Блок
Командный Блок
Цепной Командный Блок
Цепной Командный Блок
Цикличный Командный блок
Цикличный Командный блок

Этот блок будет способен выполнять команды по сигналу красного камня. С подходящими командами многие вещи могут быть автоматизированы.Jeb о командном блоке

Эта статья — о командном блоке. О том, как использовать команды.

Командный блок (англ. Command Block) — это блок, который способен выполнять команды. Этот блок нельзя получить без использования читов, поэтому в основном он используется на серверах для создания особых механизмов.

NBT данные

(root) - корневой тег блока-сущности.

  • powered - запитан ли блок редстоуном.
  • auto - всегда активен или нужен сигнал для активации.
  • TrackOutput - включен ли вывод (в интерфейсе блока).
  • conditionMet - (точное предназначение неизвестно) вероятно, отвечает за проверку, выполнено ли условие для выполнения команды.
  • SuccessCount - общее количество успешно выполненых команд.
  • UpdateLastExecution - (точное предназначение неизвестно) определяет, обновлялся ли командный блок (его данные, в плане изменения через интерфейс) или до, или после последней выполненой команды.
  • CustomName - устанавливает пользовательское имя командного блока (которое будет отображаться в чате, например), представляет собой JSON-строку. Пример значения: "color":"gold","text":"Command Block".
  • Command - исполняемая команда в виде обычной строки.
  • x - позиция блока-сущности по оси X, устанавливается автоматически.
  • y - позиция блока-сущности по оси Y, устанавливается автоматически.
  • z - позиция блока-сущности по оси Z, устанавливается автоматически.
  • id - идентефикатор (ID) блока-сущности, автоматически устанавливается в значение minecraft:command_block.

Получение

Раньше чтобы выдать себе командный блок, нужно было использовать команду /give @s command_block (@a-все игроки, @p-ближайший игрок, @s-вы) или /give Ваш_ник command_block. Но в снапшоте 22w44a была добавлена возможность взять командный блок из меню творческого режима, с 1.19.3 появляется в творческом инвентаре только с включенной опцией "Вкладка оператора" в меню «Управление». Чтобы сразу поставить командный блок, можно использовать команду /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», командный блок сменит свой тип.

  • Impulse Цвет текстуры: оранжевый. Выполняет команду лишь единожды при активации.
  • Chain Цвет текстуры: аквамарин (голубовато-зелёный). Активируется только если включён, и при этом активировался первый блок цепочки (цепочка составляется из одного командного блока типа «Импульсный» или «Цикличный» и неограниченного количества блоков типа «Цепной», направленных друг на друга по цепочке). Выполняет команду когда до него доходит очередь (если предыдущие командные блоки цепочки уже попытались выполнить свои команды). Если блок, состоящий в цепочке, оказывается выключен, цепочка не прерывается и следующим свою команду пытается выполнить следующий не выключенный блок цепочки.
  • Repeat Цвет текстуры: фиолетовый. Выполняет команду каждый игровой такт (двадцать раз в секунду) пока включён.

Условный/Безусловный

При нажатии на кнопку «Conditional/Unconditional» меняется поведение блока.

  • Conditional или «Условный» командный блок будет пытаться выполнить команду только в случае, если последняя попытка выполнить свою команду стоящего «сзади» командного блока была успешной.
  • Unconditional или «Безусловный» командный блок будет выполнять команду при стандартных условиях выполнения команды для командных блоков своего типа.

По умолчанию — «Unconditional»

Нужен Редстоун-сигнал/Всегда включён

Нажав кнопку «Always active/Needs Redstone», можно переключать зависимость командного блока от сигнала красного камня.

  • Needs Redstone: командный блок в этом режиме не будет выполнять команд, пока не получит сигнал красного камня.
  • Always active: командный блок в этом режиме не будет требовать сигнала красного камня (будет постоянно включённым).

По умолчанию у импульсного и цикличного — Needs Redstone, у цепного — Always active.

Принять/Отменить

При нажатии на кнопку «Done» в интерфейсе командного блока или кнопку «принять» (↵ Enter) клавиатуры, тот закрывается и сохраняет все внесённые в него изменения.

При нажатии на кнопку «Cancel» в интерфейсе командного блока или кнопку «отменить» (Esc) клавиатуры, тот закрывается, не сохраняя внесённые в него изменения.

Сбор информации из командного блока

Есть несколько способов собрать данные с командного блока после его попытки выполнить команду:

Компаратор

Если поставить компаратор лицевой стороной от командного блока, он будет выдавать сигнал с силой, соответствующей успешности выполнения команды (0/1 — «не удалось выполнить»/«выполнено успешно» соответственно или 0-15 — найдено соответствующее количество сущностей/блоков, удовлетворяющих команде. Если таких более 15, выдаётся максимальный (сила 15) сигнал).

Компаратор выдаёт сигнал, соответствующий результату крайнего выполнения команды, даже если после этого командный блок был выключен.

Сообщение

Выводимые командным блоком сообщения уведомляют об успешном выполнении команды или о невозможности её выполнения. Отчёты командных блоков появляются в следующих местах:

Строка выводаПротокол крайнего выполнения команды находится в строке вывода, которую можно увидеть, открыв интерфейс самого командного блока, если вывод не был отключён (см. строка вывода).ЧатСообщение о результате выполнения команды командным блоком присылаются в чат игроку в одиночной игре и операторам сервера в сетевой, если ранее не была прописана команда /gamerule commandBlockOutput false. Некоторые команды направлены на написание текста в чат (/me, /say и /tell). На такой текст вышеуказанная команда не действует.Журнал сервераСообщение о результате выполнения команды командным блоком записываются в журнал (лог) сервера, если не была прописана команда /gamerule logAdminCommands false.

Статистика командного блока

Командные блоки могут записывать различные результаты успешного выполнения команд в списки задач, такие как:

  • SuccessCount: количество успешных выполнений (по аналогии с компаратором см. cбор информации из командного блока, но не ограничено значением 15).
  • AffectedBlocks: количество блоков, на которые подействовала команда.
  • AffectedEntities: количество сущностей, на которые подействовала команда.
  • AffectedItems: количество предметов, на которые подействовала команда.
  • QueryResult: значение, возвращённое командой.

Цели, которые необходимо отслеживать, можно указать, выполнив команду /stats или непосредственно изменив данные NBT-тега командного блока с помощью команды /blockdata.

Руководство

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

  • type — Как пример, команда /kill @e[type=Skeleton] убьёт всех скелетов, а команда /kill @e[type=!Player] убьёт все сущности, не являющиеся игроком.

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

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

Расположение командных блоков относительно источника питания
Расположение командных блоков относительно источника питания
Вывод командных блоков
Вывод командных блоков

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

Юг
Юг
Запад
Запад
Север
Север
Восток
Восток

Значения

ID блока

Java Edition

НазваниеИдентификаторТеги предмета (JE)ФормаКлюч переводаКомандный блокcommand_blockdragon_immune
wither_immuneБлок и предметblock.minecraft.command_blockЦепной командный блокchain_command_blockdragon_immune
wither_immuneБлок и предметblock.minecraft.chain_command_blockЦикличный командный блокrepeating_command_blockdragon_immune
wither_immuneБлок и предметblock.minecraft.repeating_command_blockНазвание
ИдентификаторБлок-сущностьcommand_block

Bedrock Edition

НазваниеИдентификаторЧисловой IDФормаКлюч переводаКомандный блокcommand_block137Блок и предметtile.command_block.nameЦепной командный блокchain_command_block189Блок и предметtile.chain_command_block.nameЦикличный командный блокrepeating_command_block188Блок и предметtile.repeating_command_block.nameНазваниеИдентификаторБлок-сущностьCommandBlock

Нумерация данных

Основная статья: Нумерация данных

БайтыЗначения0x1Устанавливается, если командный блок был активирован ранее.0x2
0x4
0x8(Не используется)

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

Основная статья: Состояния блоков

НазваниеЗначениеОписание conditionaltrue
falsetrue, если командный блок находится в условном режиме.
 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Снова обновлены текстуры командного блока. Добавлены новые опции для командного блока: Всегда активен и/или Нуждается в настройках красного камня.

1.1217w16aУлучшена производительность у цепного командного блока.17w18aПроведена оптимизация ошибочных условий в командных блоках.

1.12-pre6Авто-завершение команды с помощью Tab ↹ в командных блоках больше не добавляет / перед командой.

1.1318w21aИзменён цвет всплывающей подсказки у командного блока и его разновидностей.1.13-pre1Исправлена ошибка, которая гласит, что "Завершение табуляции команд в командных блоках не работает".

1.1418w47bИзменены текстуры командного блока и цикличного командного блока.[]Pocket Edition1.0.5build 1Командный блок добавлен в игру.[]Bedrock Edition1.8beta

1.8.0.8Командный блок теперь имеет имя по умолчанию «!» вместо «@».

1.12beta 1.12.0.2Добавлено авто-завершение команды с помощью Tab ↹ в командных блоках.Добавлена опция «Задержка» для командного блока, реализующая задержку между выполнениями команд в количестве тактов красного камня, указанном в значении данного поля.

Проблемы

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

Java Edition

  • MC-252865 – Powering the command block at the chunk boundary does not save the powered state
  • MC-206109 – Repeating command blocks with giving the blindness effect causes flashing lights
  • MC-271847 – Getting data with /data command from a block/chest with a large amount of data can cause the game to crash
  • MC-114240 – clone command does not copy blocks requiring a non solid block above successfully
  • MC-129017 – Commands and structure blocks cannot properly create a moving piston block (no block entity created)
  • MC-158515 – Command block chain errors still appear after disabling command blocks
  • MC-206180 – Command block track output button narration might not be helpful
  • MC-252368 – If a Command Block replaces itself with a block entity, the block will not have its properties applied until the world is reloaded
  • MC-254567 – Inserting item that is repeatedly replaced by command block into 'Destroy Item' slot prevents it from appearing again
  • MC-264912 – Narrator freezes the game when quickly changing chat suggestions within a command block

Bedrock Edition

  • MCPE-37479 – Command blocks fail to recognize their power state changed for 3 ticks
  • MCPE-42990 – Command block minecart entity is still blue despite item being orange now
  • MCPE-43619 – Sign, command block, book, and lectern GUIs brighten the screen instead of dimming it
  • MCPE-62252 – Block directional placement is asymmetrical for command blocks when certain coordinates are negative
  • MCPE-83961 – Piglins are angered when breaking blocks with commands or creative mode
  • MCPE-94650 – Some blocks that changed name didn't change on commands
  • MCPE-102591 – No ? button in command block for both screens
  • MCPE-111632 – Moving blocks auto-saved saved before crash or copied by /clone command do not revert to regular blocks
  • MCPE-121996 – Command Block UTF-8 slicing error
  • MCPE-136411 – Half the delay of repeating command blocks when loading structures

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

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

Надеюсь вам понравилась мря статья! Если понравилась статья ставь лайк и подпишись! Пока!

P.S. Мне надо набрать 10 подписчиков. Заходи в мой тг канал ссылка в описании канала.