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

Матеріал з Minecraft Wiki
Перейти до: навігація, пошук
Командний блок
Command Block.gifChain Command Block.gifRepeating Command Block.gif
Conditional Impulse Command Block.gifConditional Chain Command Block.gifConditional Repeating Command Block.gif
Командний блокЛанцюговий командний блокПовторюючий командний блок
Тип

Твердий блок

Прозорість

Ні

Висвітлення

Ні

Діє гравітація

Ні

Вибухостійкість

18,000,000

Міцність

-1

Інструмент

?

Поновлюваний

Ні

Складається

Так (64)

Займистий

Ні

Дроп

Ні

Перші появи

Див. Історію

Номер

dec: ? hex: ? bin: ?

Текстовий
ідентифікатор

command_block

Цей блок буде здатний виконувати команди по сигналу червоної пилюки. З відповідними командами багато речей можуть бути автоматизовані.
Jeb про командний блоці[1]

Командний блок (англ. Command Block) — це блок, який здатний виконувати команди. Цей блок можна отримати без використання читів, тому в основному він використовується на серверах для створення особливих механізмів.

Отримання

Щоб видати себе командний блок, потрібно використовувати команду /give @s command_block (@a-всі гравці, @p-найближчий гравець, @s-ви) або /give Ваш_нік command_block. Щоб відразу поставити командний блок, можна використовувати команду /setblock координати 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 в зворотному випадку), за замовчуванням — <cpde>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: кількість успішних виконань (по аналогії з компаратором см. Збір інформації з командного блоку, але не обмежена значенням 15).
  • AffectedBlocks: кількість блоків, на які вплинула команда.
  • AffectedEntities: кількість сутностей, на які вплинула команда.
  • AffectedItems: кількість предметів, на які вплинула команда.
  • QueryResult: значення, повернений командою.

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

Керівництво

Покажчик на сутність може мати прив'язку до конкретного типу сутності. Задається ця прив'язка аргументом

  • type — Як приклад, команда /kill @e[type=Skeleton] вб'є всіх скелетів, а команда /kill @e[type=!Player] вб'є всі сутності, які не є гравцем.

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

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

Ось розташування командних блоків щодо сторін світла:

Значення

ID блоку

Блок Назва ID блоку/предмету
Командний блок minecraft:command_block 137
Циклічний командний блок minecraft:repeating_command_block 210
Ланцюговий командний блок minecraft:chain_command_block 211


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

Байти Значення
0x1 Встановлюється, якщо командний блок був активований раніше.
0x2
0x4
0x8
(Не використовується)


Стан блоку

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


Галерея

Історія

Java Edition
27 липня 2012Джеб в своєму твіттері опублікував інформацію про блок, призначеному для режиму Пригоди. Він почав розміщувати ідеї, фотографії та натяки на ті функції, які блок буде виконувати.
31 липня 2012Під час AMA Notch натякнув, що блок буде додано до 1.4.
1.4.2 12w32a Impulse Command Block Revision 1.png Командний блок був доданий в гру.
1.5 13w03a Успіх виконання команди в командному блоці тепер може привести активувати компаратор.
13w04a Командні блоки, перейменовані за допомогою ковадла, тепер використовують власне ім'я замість @ в чаті.
1.6.1 13w19a Командні блоки більше не можуть бути здобуті у виживанні.
Командні блоки тепер більше не можуть бути зламані вибухами, крім синіх черепів висушувача.
1.7.2 13w37a Додана панель, яка показує попередній висновок командних блоків.
Ліміт символів при вставці команди в командний блок тепер збільшено з 256 до 16 369. Використання стороннього редактора дозволяє гравцю набрати 32 767 символів.
1.8 14w07a Роздавачі тепер будуть розставляти командні блоки, а не стріляти ними.
14w20a Обмеження на кількість символів в грі 16 369 було прибрано, що дозволило отримати повний доступ до 32 767 символів.
14w27a Доданий NBT-тег CommandStats.
1.8.6 Роздавачі більше не розміщують командні блоки.[4]
1.9 15w33a Обмеження символів для командних блоків тепер становить 32 500 замість 32 767.
15w34a Chain Command Block Revision 1.png Repeating Command Block Revision 1.png Доданий ланцюговий командний блок та повторюючий командний блок.
Додана облицювання блоків для командних блоків.
Impulse Command Block Revision 2.png Текстура командного блоку оновлена.
15w34b Доданий умовний режим всередині командних блоків.
Додана підтримка завершення вкладки всередині командних блоків.
15w35a Impulse Command Block.png Chain Command Block.png Repeating Command Block.png Оновлена текстура всіх трьох командних блоків.
Додано «Завжди активно» і потрібні параметри редстоуну для командних блоків.
Доданий NBT-тег auto для управління параметрами редстоуну в командних блоках.
Коли командні блоки встановлені на умовні, задня частина текстури стрілки вигнута.
15w36a Гравці тепер не можуть використовувати команди, такі як /give, в командних блоках.
Гравці, які не можуть використовувати команди, більше не можуть розміщувати командні блоки.
15w36d Кожен тип командного блоку тепер буде відображатися на картах різними кольорами.
16w02a Запуск /help в командному блоці тепер буде випадковим чином використовувати одну з різних гумористичних фраз як попереднього висновку.
16w04a Запуск «Searge» в якості команди в командному блоці без попереднього «/» тепер буде встановлено попередній вихід на «#itzlipofutzli».
1.11 16w32a Ідентифікатор блок-суті змінюється з Control на command_block.
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.0 Командний блок тепер має ім'я за замовчуванням «!» замість «@».
1.12.0 Додана табуляція в командні блоки.
Додана опція затримки для командних блоків, яка дозволяє додавати затримку в поле затримки червоного тика.
Legacy Console Edition
TU19CU71.12Patch 1Impulse Command Block Revision 1.png Додані командні блоки.
Командні блоки не мають ніякої функціональності і можуть бути отримані тільки за допомогою модифікацій.

Помилки

Питання, що стосуються «Командний блок», ведуться в сховищі звітів про помилки. Повідомте про проблеми там.

Цікаві факти

  • Якщо під час пересування на вагонетці зайти в командний блок, то минувши кілька блоків, ви автоматично вийдіть з нього.
  • Командний блок з командою /kill @p, який активується при натисканні на важіль, кнопку або натискну пластину, часто можна зустріти на картах на проходження, і гравці нерідко називають його смертоблоком за аналогією зі смертоблокамі з гри AVGN Adventures, дотик до яких миттєво вбивало персонажа.

Примітки