Команда в Minecraft не розуміє слова «меч» чи «камінь». Їй потрібен ID — внутрішнє ім'я предмета, однакове в усіх мовах гри. Поки дитина пише команди з підказки на екрані, це не проблема. Проблема починається, коли вона хоче видати собі щось конкретне і не знає, як це «щось» називається всередині.

Нижче — ID, які справді потрібні на перших командах, розкладені за призначенням. Повного переліку тут немає навмисно: у грі кілька тисяч предметів, і довідник на три екрани ніхто не читає. Натомість у кінці є спосіб дізнатися будь-який ID прямо в грі, за дві секунди і без інтернету.

Як узагалі влаштований ID

Повне ім'я складається з двох частин, розділених двокрапкою: minecraft:diamond_sword. Перша частина — простір імен, тобто чия це річ. У ванільній грі він завжди minecraft, і саме тому його можна не писати: diamond_sword спрацює так само. З'являється він у поле зору тоді, коли на сервері стоять моди — у них свої простори імен, і тоді двокрапка стає обов'язковою.

Друга частина завжди записана маленькими латинськими літерами, а слова з'єднані нижнім підкресленням: не DiamondSword і не diamond sword, а саме diamond_sword. Пробіл усередині ID — найчастіша причина, чому команда не проходить: гра вважає, що ім'я закінчилося, і решту читає як наступний аргумент.

Блоки для забудови

БлокID
Каміньstone
Брущаткаcobblestone
Земляdirt
Блок травиgrass_block
Дубова колодаoak_log
Дубові дошкиoak_planks
Склоglass
Біла вовнаwhite_wool
Пісокsand
Обсидіанobsidian
Цеглаbricks
Світлокаміньglowstone

Кольорові блоки влаштовані за однією схемою: колір спереду, матеріал позаду. white_wool, red_wool, blue_concrete, green_terracotta. Знаючи цей шаблон, дитина сама вгадує ID будь-якого з шістнадцяти кольорів, а це вже не запам'ятовування, а правило.

Предмети та інструменти

ПредметID
Алмазний мечdiamond_sword
Алмазна кайлоdiamond_pickaxe
Залізна лопатаiron_shovel
Лукbow
Стрілаarrow
Щитshield
Алмазdiamond
Смарагдemerald
Залізний злитокiron_ingot
Хлібbread
Золоте яблукоgolden_apple
Елітраelytra
Перлина Ендуender_pearl
Ведроbucket

Інструменти теж складаються за шаблоном: матеріал, підкреслення, тип. wooden_, stone_, iron_, golden_, diamond_, netherite_ плюс _sword, _pickaxe, _axe, _shovel, _hoe. Єдиний виняток, на якому всі один раз спіткнулися: дерев'яний інструмент — wooden_axe, а не wood_axe.

Редстоун і механіка

Що цеID
Редстоуновий пилredstone
Редстоуновий факелredstone_torch
Редстоуновий блокredstone_block
Повторювачrepeater
Компараторcomparator
Поршеньpiston
Липкий поршеньsticky_piston
Натискна пластинаoak_pressure_plate
Важільlever
Роздавачdispenser
Воронкаhopper
Командний блокcommand_block

Командний блок у звичайному режимі не видається з інвентаря — тільки командою /give, і лише в креативі з увімкненими читами. Для занять це навіть зручно: дитина змушена один раз написати команду, перш ніж почати ставити блоки мишкою.

Моби

МобID
Зомбіzombie
Скелетskeleton
Кріперcreeper
Павукspider
Ендерменenderman
Короваcow
Вівцяsheep
Жительvillager

Моб — не предмет, тому /give з ним не працює. Для мобів своя команда: /summon zombie, за бажанням із координатами після імені. Переплутати ці дві команди — класика першого заняття, і повідомлення про помилку там, на жаль, не підказує, що саме не так.

Кому саме видати: селектори

ID відповідає на питання «що», а в команді є ще й питання «кому». Відповідь на нього — селектор, коротка позначка зі значком равлика. Їх чотири, і вони пояснюють більшу частину того, чому команда спрацювала не так, як дитина очікувала.

СелекторКого обирає
@sтого, хто виконує команду
@pнайближчого гравця
@aусіх гравців
@rвипадкового гравця
@eусі сутності, включно з мобами

Різниця між @s і @p помітна лише в двох випадках: коли команду виконує командний блок і коли на сервері більше однієї людини. У блоці «найближчий гравець» рахується від самого блока, а не від того, хто його поставив, — і подарунок може поїхати сусідові, що стоїть на два метри ближче. Для роздачі всім відразу є @a, і саме його варто ставити в командах, які вмикаються автоматично.

Окремо про @e: він захоплює взагалі все живе й неживе, що гра вважає сутністю — мобів, предмети на землі, стріли, навіть вагонетки. Команда /kill @e у світі дитини виглядає як апокаліпсис, і цей досвід у нас на курсі отримує майже кожен. Правильна форма звужує коло: /kill @e[type=zombie] прибере тільки зомбі.

Де саме: координати в командах

Більшість команд приймає координати після основних аргументів, і записуються вони трьома числами через пробіл: спочатку X, потім Y (висота), потім Z. Побачити свої можна, натиснувши F3 — вони в лівому верхньому куті.

Корисніше за абсолютні числа дві відносні форми. Значок хвилі означає «відносно мене»: /summon cow ~ ~ ~5 поставить корову за п'ять блоків по осі Z від того, хто пише. Три хвилі без чисел — це просто «тут». Значок даху означає «відносно напрямку погляду»: ^ ^ ^3 — три блоки вперед, куди б гравець не дивився.

Різницю між хвилею і дахом варто показати на одному досліді: поставити блок обома способами, повернутися на дев'яносто градусів і повторити. З хвилею блок з'явиться в тому самому місці, з дахом — в іншому. Після цього пояснювати словами вже не потрібно.

Де взяти ID, якого немає в таблиці

Найнадійніше джерело — сама гра, і працює воно без будь-яких довідників. Почніть писати команду в чаті, наберіть /give @p d і натисніть Tab: гра покаже всі предмети, що починаються з цієї літери, і дасть обрати потрібний зі списку. Промахнутися в написанні після цього майже неможливо.

Другий спосіб у Java-версії: натиснути F3 і H разом. Увімкнуться розширені підказки, і під назвою будь-якого предмета в інвентарі з'явиться його ID дрібним шрифтом. Навести курсор, прочитати, вимкнути тим самим F3 і H. Дитині варто показати обидва прийоми одразу — вони знімають потребу шукати таблиці в інтернеті, а разом з ними і половину помилок у командах.

Java чи Bedrock: де довідник розходиться

Сама назва предмета в обох версіях гри збігається — diamond_sword залишається мечем і там, і там. Розходиться все, що навколо назви, і про це варто знати заздалегідь, бо інструкція з інтернету майже ніколи не вказує, для якої версії написана.

Підказка F3 і H працює тільки в Java-версії: у Bedrock розширених підказок немає, залишається Tab у чаті. Частина команд існує лише в одному з видань, тому знайдена команда може бути цілком правильною і все одно не спрацювати — просто вона не з тієї гри. Education Edition, у якій ми ведемо заняття з молодшою групою, побудована на Bedrock, і це перше, що ми перевіряємо, коли в дитини «команда з відео не працює».

Найпростіша перевірка, яка не потребує знань: почати набирати команду і подивитися, чи підказує її гра. Якщо автодоповнення команду не знає — її в цій версії немає, і далі мучитися з написанням немає сенсу.

Три речі, через які команда не працює

Перша: числові ID. Раніше предмети позначалися числами, і в старих відео досі можна почути «дай сто тридцять сьомий блок». Ці номери з гри прибрали ще у версії 1.13, і будь-яка знайдена в мережі таблиця з числами сьогодні просто нічого не дасть. Якщо інструкція пропонує цифру замість імені — вона застаріла, і далі по ній іти не варто.

Друга: регістр і пробіли. Diamond_Sword не спрацює, diamond sword теж. Тільки маленькі літери і підкреслення.

Третя: синтаксис додаткових властивостей. Видати меч із зачаруванням однією командою можна, але саме цей запис у свіжих версіях гри змінився, і стара форма в новій версії видає помилку. Тут єдина надійна порада — не копіювати довгу команду з відео, а зібрати її через Tab: підказка завжди показує той формат, який розуміє саме ваша версія.

Коли ID перестають бути перешкодою, починається власне програмування: умови, лічильники, послідовності дій. Про те, з яких команд це складається, ми писали в довіднику команд, а командні блоки розібрані окремо — саме вони перетворюють набір команд на працюючий механізм.