Онлайн-школа программирования “Пиксель” делится бесплатным уроком по созданию деревьев в Майнкрафт с помощью языка программирования Python. В этом материале мы поделимся, как построить отдельное дерево, а также целый лес в Майнкрафт без модов.
Если вы еще не знаете, как установить необходимое программное обеспечение для управления Minecraft с помощью Python,то видео на эту тему вы сможете найти на нашем YouTube-канале.
Для удобства в конце этой статьи мы добавим видео, в которой можно наглядно увидеть все действия и результат.
Начало программирования на Python

Для того,чтобы создать наш лес, нам в первую очередь необходимо импортировать библиотеку mcpi:
import mcpi.minecraft as minecraft
Затем объявим переменную, в которую поместим команду для проведения операций в игре, а также переменную, в которой будут содержаться координаты нашего персонажа:
mc=minecraft.Minecraft.create()
pos=mc.player.getTilePos()
Далее создадим переменные, в которых будут содержаться id необходимых нам блоков:
trunk=17
leaves=18
Затем объявим переменные, которые будут содержать координаты нашего персонажа по разным направлениям, это позволит создавать лес близко к нам. Для того чтобы при создании леса наш персонаж появлялся не внутри строения, а рядом с ним, сделаем сдвиг на 5 единиц по оси x:
x=pos.x+5
y=pos.y
z=pos.z
Если вы хотите использовать для строительства своего дома другие блоки, но не знаете их id, то исправить это можно следующим образом: переходим в папку Minecraft Tools и находим там архив minecraftPythonAPI.Открываем этот архив, переходим в папку mcpi и находим там файл block. Затем копируем этот файл из архива в любую удобную для вас папку и открываем его. Теперь вы можете увидеть id интересующих вас блоков.
Перед тем как построить лес, создадим сначала одно дерево. Для этого будем пользоваться функций setBlocks(). Данная функция принимает 7 аргументов. Первые три аргумента задают координаты первой точки, вторые три — второй, а седьмой аргумент принимает id блока. Между двумя точками создаются блоки, указанные в седьмом аргументе.
Сначала создадим ствол дерева:
mc.setBlocks(x,y,z,x,y+5,z,trunk)
В данном случае изменится только координата y, чтобы появившиеся блоки представляли собой вертикальную линию.
Далее создадим два двумерных слоя листьев, в которых координата y будет неизменной, а x и z будут меняться, чтобы слои представляли собой неизменные по высоте двумерные плоскости. Второй слой сделаем меньше первого:
mc.setBlocks(x-2,y+6,z-2,x+2,y+6,z+2,leaves)
mc.setBlocks(x-1,y+7,z-1,x+1,y+7,z+1,leaves)
Запустим нашу программу и посмотрим на результат. Мы можем увидеть, что наше дерево появилось в игре.

Строительства нескольких деревьев в Майнкрафт
Теперь научимся создавать несколько деревьев сразу.
Для начала создадим функцию tree() ,аргументами которой будут являться координаты x, y, z. В эту функцию поместим ранее написанный нами код для создания дерева. Теперь мы можем создавать дерево в Minecraft при помощи одного лишь написания слова tree().
def tree(x,y,z):
mc.setBlocks(x,y,z,x,y+5,z,trunk)
mc.setBlocks(x-2,y+6,z-2,x+2,y+6,z+2,leaves)
mc.setBlocks(x-1,y+7,z-1,x+1,y+7,z+1,leaves)
Сделаем это и посмотрим на результат:
tree(x,y,z)

Мы можем увидеть, что наше дерево появилось.
Далее определим функцию row(), аргументами которой будут являться координаты x, y, z и количество создаваемых деревьев. В функции row с помощью цикла for будем вызывать переменную tree столько раз, сколько мы изначально укажем в аргументе. Обратите внимание, что после вызова функции trees к переменной x прибавляется единица. Это делается для того, чтобы наши деревья находились на некотором расстоянии друг от друга:
def row(x,y,z,number_of_trees):
for i in range(number_of_trees):
tree(x,y,z)
x=x+6
Попробуем создать два дерева с помощью функции row. Для этого аргументами функции поставим координаты x, y и z, а также количество создаваемых нами деревьев, то есть 2:
row(x,y,z,2)
Запустим программу и посмотрим на результат. Мы можем наблюдать 2 появившихся дерева.

Как сделать полноценный лес в Майнкрафт
Теперь перейдем к финальному этапу нашего урока: строению леса.
Для этого создадим цикл for i in range(), где в скобках переменной range будем указывать количество рядов деревьев, которое мы хотим получить. Мы поставим число 2, чтобы получить 2 ряда деревьев. Вы же можете поэкспериментировать и выбрать любое другое число.
def row(x,y,z,number_of_trees):
for i in range(number_of_trees):
tree(x,y,z)
x=x+6
Запустим программу и посмотрим на результат.

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

Надеемся, что вам понравилось строить в Minecraft с помощью языка Python. Помимо леса, вы можете также возвести дом, сделать улицу, добавить машину или самолет и так далее. Благодаря программированию строительство в Майнкрафт станет в разы увлекательнее.
Чтобы лучше разобраться в управлении Minecraft с помощью Python, приходите на онлайн-занятия в школе “Пиксель”. Наши опытные педагоги обучают программированию с нуля. В ходе курса дети учатся создавать различные проекты в Майнкрафт и приобретают необходимые навыки, чтобы реализовывать собственные уникальные игровые карты.