https://pastein.ru/t/uIV

  скопируйте уникальную ссылку для отправки


import mcpi.minecraft as minecraft

import mcpi.block as block
import random
import time

mc = minecraft.Minecraft.create()

pos = mc.player.getTilePos()
x = pos.x + 1
y = pos.y
z = pos.z

# Создаём ограниченную область из кирпича
mc.setBlocks(x, y, z, x + 15, y, z + 10, 45)
mc.setBlocks(x + 1, y, z + 1, x + 14, y, z + 9, 0)

# Создаём 10 лазуритов в случайном порядке расположения в области
for i in range(10):
    x1 = x + random.randint(1, 14)
    z1 = z + random.randint(1, 9)
    mc.setBlock(x1, y, z1, 22)

t = 0
l = 0
while True:
    pos = mc.player.getTilePos()
    if pos.x >= x and pos.x <= x + 15 and pos.z >= z and pos.z <= z + 10:
        mc.postToChat("До завершения осталось " + " t = " + str(10 - t))
        t = t + 0.1
    else:
        t = 0
    if t >= 15:
        mc.postToChat("Вы проиграли")
        break

    if mc.getBlock(pos.x + 1, pos.y, pos.z) == 22:
        mc.setBlock(pos.x + 1, pos.y, pos.z, 0)
        l = l + 1
        mc.postToChat("Вы собрали лазурита " + " l = " + str(l))

    elif mc.getBlock(pos.x - 1, pos.y, pos.z) == 22:
        mc.setBlock(pos.x - 1, pos.y, pos.z, 0)
        l = l + 1
        mc.postToChat("Вы собрали лазурита " + " l = " + str(l))

    elif mc.getBlock(pos.x, pos.y, pos.z - 1) == 22:
        mc.setBlock(pos.x, pos.y, pos.z - 1, 0)
        l = l + 1
        mc.postToChat("Вы собрали лазурита " + " l = " + str(l))

    elif mc.getBlock(pos.x - 1, pos.y, pos.z + 1) == 22:
        mc.setBlock(pos.x, pos.y, pos.z + 1, 0)
        l = l + 1
        mc.postToChat("Вы собрали лазурита " + " l = " + str(l))

    time.sleep(0.3)

    if l >= 10:
        mc.setBlocks(x - 20, y, z - 20, x + 20, y, z + 20, 0)
        mc.postToChat("Вы перешли на второй уровень ")
        break

pos = mc.player.getTilePos()
x = pos.x + 1
y = pos.y
z = pos.z
mc.setBlocks(x - 2, y, z, x + 5, y, z + 10, 5)
mc.setBlocks(x + 5, y + 1, z, x + 7, y + 1, z + 10, 5)
mc.setBlocks(x + 10, y + 1, z, x + 15, y + 1, z + 8, 5)
mc.setBlocks(x + 15, y + 2, z + 3, x + 25, y + 2, z + 5, 5)
mc.setBlocks(x + 25, y + 2, z + 3, x + 25, y + 2, z + 20, 5)
mc.setBlocks(x + 25, y + 3, z + 20, x + 35, y + 3, z + 20, 5)

for i in range(20):
    mc.setBlocks(x + 35, y + 3 + i, z + 20 + i, x + 35, y + 3 + i, z + 25 + i, 5)
    mc.setBlocks(x + 35, y + 3 + i, z + 23 + i, x + 35, y + 3 + i, z + 24 + i, 0)
    z = z + 3
    # y=y-1
for i in range(20):
    mc.setBlocks(x + 35 + i, y + 23 + i, z + 44, x + 36 + i, y + 23 + i, z + 44, 5)

mc.setBlocks(x + 55, y + 43, z + 44, x + 61, y + 43, z + 50, 5)
mc.setBlocks(x + 58, y + 44, z + 47, x + 59, y + 44, z + 48, 41)
while True:
    pos = mc.player.getTilePos()
    if mc.getBlock(pos.x, pos.y - 1, pos.z) == 41:
        x = pos.x - 58
        y = pos.y - 44
        z = pos.z - 48
        mc.player.setTilePos(pos.x - 58, pos.y - 44, pos.z - 48)
        mc.postToChat("Вы перешли на третий уровень ")
        mc.setBlocks(x - 40, y, z - 65, x + 60, y + 50, z + 65, 0)
        break