from mcpi.minecraft import Minecraft
mc = Minecraft.create();
import time
import math
import random

t = 0

curPlayerPos = mc.player.getTilePos()
randX = random.randint(curPlayerPos.x-100, curPlayerPos.x+100)
randZ = random.randint(curPlayerPos.z-100, curPlayerPos.z+100)
randY = mc.getHeight(randX, randZ)

mc.postToChat("")

print(randX, randY, randZ)
mc.setBlock(randX, randY, randZ, 57)
mc.postToChat("Алмазный блок спрятан.")

curPlayerPos = mc.player.getTilePos()
mc.setBlock(curPlayerPos.x + 1, curPlayerPos.y, curPlayerPos.z + 1, 42)
mc.postToChat("Чтобы остановить игру, сломай железный блок,")
mc.postToChat("установленный рядом с тобой.")
mc.postToChat("Приятной игры!")

mc.postToChat("")

win = False

while (not win):

    pauseBlock = mc.getBlock(curPlayerPos.x + 1, curPlayerPos.y, curPlayerPos.z + 1)
    if (int(pauseBlock) == 0):
        print("Игра была остановлена пользователем.")
        mc.postToChat("Игра была остановлена.")

        #Удаление блока
        time.sleep(2)
        mc.setBlock(randX, randY, randZ, 0)
        mc.setBlock(curPlayerPos.x + 1, curPlayerPos.y, curPlayerPos.z + 1, 0)
        
        break
    
    pos = mc.player.getPos()
    dist = math.sqrt((pos.x - randX) ** 2 + (pos.z - randZ) ** 2)
    if dist < 3:

        if (pos.y > randY):
            mc.postToChat("Спустись вниз!")
            time.sleep(2)

        if (pos.y < randY):
            mc.postToChat("Поднимись наверх!")
            time.sleep(2)
        
        mc.postToChat("Молодец, ты выиграл! Блок найден за " + str(t) + " секунд.")
        mc.postToChat("Через 7 секунд блок исчезнет.")
        
        #Удаление блока
        time.sleep(7)
        mc.setBlock(randX, randY, randZ, 0)
        mc.setBlock(curPlayerPos.x + 1, curPlayerPos.y, curPlayerPos.z + 1, 0)
        
        win = True
    
    if dist > 100: mc.postToChat("Очень холодно - заморозишься!")
    elif dist > 50: mc.postToChat("Холодно...")
    elif dist > 25: mc.postToChat("Тепло")
    elif dist > 12: mc.postToChat("Горячо...")
    elif dist > 6: mc.postToChat("Кипяток - обожжёшься!")
    #else: print("Чё-то пошоло не так...")
    t = t+1
    time.sleep(1)

print("Завершено.")
input("Нажмите любую клавишу для закрытия программы...")
