Хотите сделать мод на големов в игре «Майнкрафт»? Легко! В этом поможет язык Python. Предлагаем начинающим мододелам использовать его по представленной инструкции, чтобы разобраться, как создать игру «Армия големов».
«Дети не умеют писать код». «Им это не интересно». «IT – не детская, а взрослая тема». Это ложные установки, хотя они и имеют место. Мы в школе Pixel считаем, что детей, увлеченных геймингом, нетрудно сделать начинающими программистами: на примере популярной игровой вселенной Minecraft это возможно благодаря языку Python. С его помощью даже младшие школьники (8-9 лет и старше) могут создавать собственные моды для популярной инди-игры в жанре песочницы.
А мы предлагаем нашим читателям разобраться, как создать собственный проект на «Питоне» и запустить его в Minecraft. Будет просто и интересно: нами подготовлена краткая инструкция, а в конце представлен видеоролик, в котором наглядно и с примерами описаны основные шаги.
Приступим?
Программирование на Python во вселенной «Майнкрафт»: создаем мод «Армия железных големов»
Давайте представим, что на нашу виртуальную деревню хотят напасть враги. Чтобы защититься, нам необходимо создать армию мобов в виде големов. Давайте начнем!
Информация для новичков.
Если вы только начинаете делать первые шаги в программировании и пока не установили Minecraft и Python на ПК, предварительно посмотрите вводные ролики. Вот видео для пользователей компьютеров с Windows и с MacOS.
1. Задаем основные условия
Первых и последующих врагов будем спавнить в лесу: данная локация станет стартовой точкой.
А еще сделаем ночь: так будет интереснее и немного страшнее. Основные шаги:
Обращаемся к командной строке сервера и вводим команду time set night.
Дополнительно пишем gamerule doDayLightCycle true. Эта команда установит запрет на изменение времени суток.
2. Создаем врагов и големов, дополнительные объекты, а также программируем их действия
Создать врагов просто: достаточно использовать внутренние средства, предназначенные для спавна. А еще предлагаем добавить огонь, с чем поможет инструмент «Зажигалка». Применим его, чтобы поджечь деревья в лесу.
Для создания големов из блоков железа нам понадобится:
Создать Python-файл. Давайте назовем его army_golems.
Импортировать 3 модуля, предназначенных для Minecraft, создания блоков и остановки времени.
Объявить переменные. В mc поместим команду для проведения операций в игре. Далее создадим pos для определения позиции одного персонажа.
Создать переменные X, Y, Z. Они потребуются для обращения к координатам персонажей. К X прибавим единицу: это нужно, чтобы новые объекты не появлялись в уже созданных големах.
Теперь нам нужно применить переменную work. Она отвечает за работу цикла. Не допускается значение в виде False: в этом случае программа перестанет работать. Поэтому поместим в переменную True.
Установим остановку цикла на 0,1 секунды. Объявим переменную chat и поместим в нее команду, предназначенную для считывания сообщений из внутреннего чата. Для этого дополнительно потребуется применить цикл for.
Механизм, который нам нужно реализовать перед тем, как сделать полноценных големов в игре «Майнкрафт», прост: поместим в переменную M сообщение, отправленное в чат. Дополнительно задействуем функцию int для преобразования текста в числовые данные. Это важно: количество повторов зависит от цифр, которые мы будем указывать в чате.
Есть нюанс: наш мод для игры Minecraft на Python устроен так, что один моб-защитник – это голем из четырех блоков и тыквы. Для его создания разместим один железный слиток в нижней центральной части, а остальные – так, чтобы они напоминали тело и руки. Тыква же станет моделью головы, которую мы поставим сверху.
Для определения железных блоков используем следующую команду: block.IRON_BLOCK.id. В отношении тыквы потребуется вписать цифру 86: она указывает на соответствующий объект.
Вот какой код должен получиться:
3. Проверяем, как работает мод на Python для игры «Майнкрафт»
Давайте попробуем добавить одного голема. Если все получилось, значит программа работает корректно. Затем создадим 10 и 100 мобов. Удалось? Если да, то мы стали командирами бесконечной армии големов.
4. Завершаем программу
Итак, мы разобрались, как создать голема во вселенной «Майнкрафт» и клонировать его для получения полноценной армии. Но программа еще не завершена: нужно прописать условие перед циклом for, чтобы мобы начинали появляться и исчезать автоматически. Используем break для выхода из циклической конструкции, отвечающей за прочтение чата, и попробуем закрыть программу.
Бонус: код для мода и обучающее видео
Если не получилось разобраться, как построить голема в игре «Майнкрафт» и создать полноценную армию, не переживайте: ниже представлен код. Достаточно скопировать его, чтобы все получилось.
import mcpi.minecraft as minecraft
import mcpi.block as block
import time
mc = minecraft.Minecraft.create()
pos = mc.player.getTilePos()
x = pos.x + 1
y = pos.y
z = pos.z
work = True
while work:
time.sleep(0.1)
chat = mc.events.pollChatPosts()
for c in chat:
m = int(c.message)
if m == 0:
work = False
break
for i in range(m):
mc.setBlock(x, y, z, block.IRON_BLOCK.id)
mc.setBlock(x, y + 1, z, block.IRON_BLOCK.id)
mc.setBlock(x - 1, y + 1, z, block.IRON_BLOCK.id)
mc.setBlock(x + 1, y + 1, z, block.IRON_BLOCK.id)
mc.setBlock(x, y + 2, z, 86)
А еще рекомендуем посмотреть обучающий ролик: в нем преподаватель рассказывает и показывает, как действовать. Даже новичок сможет справиться и научиться делать собственные моды для Minecraft на примере проекта «Армия големов». Обязательно смотрите видео и программируйте свой мир в Minecraft на Python вместе с нами! Мы уверены, что у вас все получится.
Хотим подвести итог и подчеркнуть, что использование Python в игре «Майнкрафт» – отличный способ обучения детей программированию. Это возможно благодаря игровому формату: изучение основ написания кода на примере создания маленьким игроком собственных модов – стимул и мотив с точки зрения вовлечения в процесс.
Мы в школе Pixel вместе с юными учениками программируем на Python в Minecraft и успешно делаем более сложные вещи именно благодаря геймификации. Поэтому при условии, что ребенок – геймер, его увлечение можно направить в правильное русло. Предложенный урок поможет в этом. Если вы хотите углубиться в это направление, приходите на наши курсы.
В завершение хотим уточнить: удалось ли вам разобраться, как создать мод для игры «Майнкрафт» на Python? Если нет, то какие возникли трудности? А еще вопрос к родителям: как считаете, уроки программирования на Python в Minecraft подходят для детей? Или лучше погружение в написание кода с помощью другого языка, скажем, Scratch?
Комментарии (4)
Octabun
18.09.2024 20:12удалось ли вам разобраться, как создать мод для игры «Майнкрафт» на Python?
Мне не удалось. Потому что у меня не стоит Майнкрафт, а куда совать файлы на Python и на что это будет влиять - в статье не написано.
Я бы на это не жаловался, если бы не мысль - не слишком ли жёстко требовать сначала поставить Майнкрафт и Python (кстати, я даже не понимаю почему "и" - Майнкрафт рискует работать с незнамо каким системным интерпретатором Python?), что подразумевает сначала купить ребёнку комп, потом начать учить его программированию, и потом, может быть, убедиться что это пустая трата времени.
У ребёнка точно есть смартфон. На смартфоне точно можно, даже не ставя Termux в будущее которого я убеждённо верю в смысле отсутствия такового, поиметь Python, Lua и Lisp. Вполне возможно, что можно и ещё что-то, в зависимости от ОС и региона, с этим вроде как обязан разобраться желающий обучать. Самому проверять лень, но сильно похоже что уже этого достаточно чтобы начать преподавать фуллстек. Может быть начинать обучение с этим, если пойдёт - купить клавиатуру и вывести экран на телевизор? А если есть планшет, то и телевизор не особо нужен. Компьютер же покупать только тогда, когда есть уверенность в его необходимости.
С точки зрения обучающего - это резкое расширение охвата, в России продаётся какое-то смешное количество компьютеров и сложно представить что заметная их часть в руках у детей. А увидев результат, родитель с высокой вероятностью всё сделает чтобы снабдить ребёнка компом. А снабдив компом, на курсы точно денег не пожалеет, чем сложнее ему было комп достать - тем больше и не пожалеет.
Или я что-то упускаю?
Qlavrt
18.09.2024 20:12+1Мне не удалось.
Согласен, в статье маловато нужной информации...
что подразумевает сначала купить ребёнку комп
Если в каких-то семьях нет компа (пусть даже в большом количестве семей), это же не значит, что не надо писать обучающую статью для тех у кого он есть и чьи дети уже играют в майнкрафт.
поиметь Python, Lua и Lisp ... начать преподавать фуллстек. Может быть начинать обучение с этим ... А увидев результат ...
К сожалению таким способом обучения заинтересуется только очень редкий необычный ребенок с особенностями умственного развития (в положительном смысле), который смог не подсесть на зависимость от листания видосиков в ТикТоке и т.п. Детям (да и взрослым, чо уж!) нужен видимый интерес в результате своих трудов, поэтому написание мода для майнкрафта выдает порцию дофамина, вплоть до вау-эффекта.
Вот кстати, зачем "школа", в которой работает авторка сей статьи, обучает писать моды для Майнкрафта на Питоне, когда "родной" язык Майнкрафта - Java!? Предполагаю что реальная причина проста: "Питон" раскручен на слух и служит для привлечения... Только вот его нарочитая "простота" потом играет злую шутку с обучившимися (не буду развивать эту тему, пусть останется просто моим мнением).
Qlavrt
18.09.2024 20:12/ Или лучше погружение в написание кода с помощью другого языка, скажем, Scratch?
Так Scratch вообще-то не про написание кода! Там некуда погружаться. После осознания обучающимися, что такое алгоритм, понимания циклов, событий, переменных и т.п. придется переходиться на какой-то "язык" :)
Sasa111222333
да, но начать лучше со скретча. мы пока только там сидим и питон считаем тяжелым. ребенку 9