from mcpi.minecraft import Minecraft
from collections.abc import Iterable
import mcpi.block as block
import time
import collections
import random
collections.Iterable = Iterable
mc = Minecraft.create()
startPos = mc.player.getTilePos()
mc.setBlock(startPos.x, 150, startPos.z, block.GOLD_BLOCK.id)
mc.player.setTilePos(startPos.x, 152, startPos.z)
mc.postToChat("Игра начнется через 5 секунд")
time.sleep(5)
mc.postToChat("Удачи! Не стой на месте")
Blocks = []
Blocks.append([startPos.x, 150, startPos.z])
maxPos = 0
while True:
xr = random.randint(-3, 3)
yr = random.randint(-1, 1)
zr = random.randint(-3, 3)
d = mc.player.getTilePos()
d.x += xr
d.y += yr
d.z += zr
random_block = random.choice([block.GOLD_BLOCK, block.DIAMOND_BLOCK, block.GLOWSTONE_BLOCK])
mc.setBlock(d.x, d.y, d.z, random_block.id)
time.sleep(1)
Blocks.append([d.x, d.y, d.z])
if len(Blocks) > 4:
c = Blocks.pop(0)
mc.setBlock(c[0], c[1], c[2], block.AIR.id)
Pos = mc.player.getTilePos()
mc.postToChat("Высота: " + str(Pos.y))
if Pos.y > maxPos:
maxPos = Pos.y
if Pos.y < 150:
for c in Blocks:
mc.setBlock(c[0], c[1], c[2], block.AIR.id)
mc.postToChat("Игра окончена!")
mc.postToChat("Достигнутая высота: " + str(maxPos))
break