https://pastein.ru/t/_aj

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

Загрузка данных


from mcpi.minecraft import Minecraft
from collections.abc import Iterable
import mcpi.block as block

import time
import collections

collections.Iterable = Iterable

mc = Minecraft.create()
pos = mc.player.getTilePos()

xp = pos.x
yp = pos.y + 50
zp = pos.z


def classics(x, y, z):
    mc.setBlocks(x - 1, y - 1, z, x + 1, y - 1, z + 6, block.IRON_BLOCK.id)

    mc.setBlock(x, y - 1, z + 1, block.DIAMOND_BLOCK.id)
    mc.setBlock(x - 1, y - 1, z + 2, block.DIAMOND_BLOCK.id)
    mc.setBlock(x + 1, y - 1, z + 2, block.DIAMOND_BLOCK.id)
    mc.setBlock(x, y - 1, z + 3, block.DIAMOND_BLOCK.id)
    mc.setBlock(x - 1, y - 1, z + 4, block.DIAMOND_BLOCK.id)
    mc.setBlock(x + 1, y - 1, z + 4, block.DIAMOND_BLOCK.id)
    mc.setBlock(x, y - 1, z + 5, block.DIAMOND_BLOCK.id)


mc.player.setTilePos(xp, yp + 2, zp)
classics(xp, yp, zp)

scores = 0
timer = 0
level = 1
diamonds = 7

mc.postToChat("Привет! Через 10 секунд начнется игра Классики!")
time.sleep(10)
mc.postToChat("Игра началась! Удачи!")

while True:
    time.sleep(1)
    timer += 1

    pos = mc.player.getTilePos()

    x = pos.x
    y = pos.y - 1
    z = pos.z

    b = mc.getBlock(x, y, z)

    if b == block.DIAMOND_BLOCK.id:
        scores += 1
        diamonds -= 1
        mc.setBlock(x, y, z, block.IRON_BLOCK.id)
        mc.postToChat("Scores: " + str(scores))
        mc.postToChat("Timer: " + str(int(timer)))
        mc.postToChat("Level: " + str(int(level)))
        mc.postToChat("Diamonds: " + str(diamonds))

    if b == block.IRON_BLOCK.id:
        scores -= 3
        mc.setBlock(x, y, z, block.AIR.id)
        mc.postToChat("Scores: " + str(scores))
        mc.postToChat("Timer: " + str(int(timer)))
        mc.postToChat("Level: " + str(int(level)))
        mc.postToChat("Diamonds: " + str(diamonds))

    if diamonds == 0:
        diamonds = 7
        level += 1
        mc.postToChat("Scores: " + str(scores))
        mc.postToChat("Timer: " + str(int(timer)))
        mc.postToChat("Level: " + str(int(level)))
        classics(xp, yp, zp)

    if y < yp - 1:
        mc.postToChat("Total:")
        mc.postToChat("Scores: " + str(scores))
        mc.postToChat("Timer: " + str(int(timer)))
        mc.postToChat("Level: " + str(int(level)))
        mc.setBlocks(xp - 1, yp - 1, zp, xp + 1, yp - 1, zp + 6, block.AIR.id)
        mc.postToChat("Game Over!!!")
        break