Коротко: команди працюють лише з увімкненими читами, пишуться у чат після скісної риски, а половина підказок з інтернету не спрацьовує через те, що написана під іншу версію гри. Java і Bedrock відрізняються саме синтаксисом — не можливостями.
Команди в Minecraft — перший текстовий інтерфейс у житті більшості дітей. До них усе робилося мишею, тут уперше треба написати рядок без жодної помилки, інакше нічого не станеться. Досвід корисний рівно тим, чим дратує: гра не пробачає зайвого пробілу.
Спершу — чити
У новому світі треба поставити галочку «Дозволити чити» при створенні. Якщо світ уже створено, у Java допомагає відкриття світу для мережі з дозволом читів — до перезаходу. У Bedrock перемикач лежить у налаштуваннях світу й доступний у будь-який момент, але вмикання читів вимикає досягнення.
На сервері все інакше: там потрібні права оператора, і видає їх власник командою /op. Через це діти, які пробують команди на чужому сервері, бачать відмову й вирішують, що помилилися в написанні.
Координати: без них половина команд марна
У Java координати показує клавіша F3, у Bedrock їх вмикають у налаштуваннях світу. Три числа — X, Y, Z, де Y це висота. Саме Y посередині, і саме його плутають найчастіше.
Замість точних чисел можна писати відносні з тильдою: ~ ~5 ~ означає «тут же, але на п'ять блоків вище». Це рятує від постійного підглядання в координати й працює в обох версіях гри.
Чотирнадцять команд, якими користуються постійно
| Команда | Що робить |
|---|---|
/gamemode creative | творчий режим; також survival, adventure, spectator |
/tp @s 100 70 200 | телепорт до координат |
/give @p diamond 64 | видати предмет і кількість |
/time set day | ранок; також night, noon, midnight |
/weather clear | розігнати дощ; також rain, thunder |
/difficulty peaceful | прибрати ворожих мобів |
/gamerule keepInventory true | не губити речі після смерті |
/gamerule doDaylightCycle false | зупинити час |
/setblock 10 70 10 stone | поставити блок у точці |
/fill 0 70 0 10 70 10 glass | заповнити область блоками |
/summon cow | створити істоту поряд |
/kill @e[type=zombie] | прибрати всіх зомбі |
/xp add @p 100 | додати досвід |
/clear @p | очистити інвентар |
Найкорисніша з них довгий час лишається непоміченою — це /fill. Вона ставить тисячі блоків за мить, і саме з неї починається розуміння, що будувати можна не руками. Обмеження на кількість блоків за один виклик існує, і коли діти намагаються залити пів світу каменем, гра відмовляє.
Селектори: @p, @a, @s, @e, @r
Замість імені гравця зручніше писати селектор. @p — найближчий гравець, @a — усі, @s — той, хто виконує команду, @e — будь-які сутності, включно з мобами й предметами, @r — випадковий.
У квадратних дужках додаються уточнення: @e[type=cow] вибере лише корів, @a[distance=..10] — гравців у радіусі десяти блоків, @e[limit=1] обмежить вибір одним. Уточнення комбінуються через кому, і саме тут починається справжня гнучкість команд.
Саме тут ховається найчастіша неприємність. Команда /kill @e без уточнення прибирає геть усе разом із самим гравцем. Писати її варто тільки з типом у дужках.
На занятті ми спеціально даємо дітям помилитися з координатами й телепортуватися під землю. Виправляється це тим самим /tp, зате після такого жоден не плутає порядок X, Y, Z: Y — це висота, і вона посередині. Пояснення словами такого ефекту не дає.
Командні блоки: місток до програмування
Команду, написану в чат, можна покласти всередину командного блока — його видають через /give @p command_block. Далі починається найцікавіше: блоки спрацьовують від сигналу редстоуну, ланцюжком, за умовою.
Три режими командного блока — «імпульс», «ланцюг» і «повтор» — це вже справжня логіка виконання. Ланцюг спрацьовує після попереднього, повтор виконується щотік. Дитина, яка зібрала таку конструкцію, фактично написала програму, просто без жодного рядка коду.
Чотири помилки в написанні, які повторюються
- Велика літера в назві блока. Гра чекає
stone, а неStone: усі внутрішні імена пишуться малими літерами з підкресленням замість пробілу —oak_planks,iron_sword. - Пробіл у назві. «Dirt Block» — це назва з гри, внутрішнє ім'я інше. Підглянути справжнє можна тим самим F3 у Java, навівши приціл на блок.
- Кількість більша за стак.
/give @p diamond 500у Java видасть кілька стаків, а в Bedrock відмовиться — обмеження різні. - Зайва скісна риска. У чаті команда починається з одного знака, а в командному блоці його писати не треба взагалі.
Коли однієї команди замало
Команда /execute дозволяє виконати іншу команду від імені когось або в іншому місці. Запис /execute as @a run give @s apple видасть яблуко кожному гравцеві, а не тільки найближчому. Звучить складно, але саме з неї починаються справжні ігрові механіки на картах.
Дітям цю команду ми показуємо не одразу. Спершу має закріпитися звичка до селекторів і координат — інакше execute перетворюється на набір символів, які треба списати з дошки.
Java і Bedrock: чому підказка не працює
Версії відрізняються написанням, а не набором можливостей. У Bedrock режим можна скоротити до /gamemode c, у Java — ні. Ефекти в Java видаються через /effect give, у Bedrock — через /effect без додаткового слова. Назви блоків у Java пишуться з префіксом minecraft:, який у Bedrock зазвичай не потрібен.
Тому перше питання, коли команда «не працює», — не про помилку в написанні, а про те, яка це взагалі версія гри. Другий спосіб перевірити себе простіший: гра підсвічує частину команди червоним ще до натискання Enter, а в Java показує підказку з очікуваним аргументом.
Перед експериментами варто зберегтися
Команди міняють світ без запитань і без кнопки скасування. Випадковий /fill із переплутаними координатами перетворює будинок на скло за мить, і повернути його можна лише з копії.
У Java копія світу лежить у теці saves, і достатньо скопіювати потрібну теку до початку дослідів. У Bedrock світ експортується в окремий файл через меню редагування. Звичка робити копію перед великою командою — те, чого в іграх зазвичай не вчать, а в роботі з кодом вона знадобиться постійно.
Окремо варто знати межі. Командою не можна змінити правила генерації світу заднім числом, не можна видати предмет, якого немає у версії гри, і не можна повернути блок, зруйнований тридцять команд тому. Усе інше в межах світу — можна.
Від команд до коду
На курсі Minecraft для 10–14 років команди — не самоціль, а місток. Спочатку дитина пише їх у чат руками, потім ховає ту саму команду в командний блок, а далі з'ясовується, що блоки можна пов'язати в послідовність із умовами.
Молодша група 8–10 років зупиняється на цьому рівні, і цього цілком достатньо. Старші йдуть далі — до Python, який керує світом ззовні. Чим саме відрізняються ці два шляхи, ми розбирали в матеріалі Minecraft чи Python: у чому різниця.