https://pastein.ru/t/lmi
скопируйте уникальную ссылку для отправки
Загрузка данных
import time
import random
import mcpi.block as block
import collections
from mcpi.minecraft import Minecraft
collections.Iterable = collections.abc.Iterable
mc = Minecraft.create()
resp = mc.player.getTilePos()
sh = 11
mc.setBlocks(resp.x, resp.y, resp.z, resp.x + sh + 1, resp.y + 5, resp.z + sh + 1, block.AIR.id)
mc.setBlocks(resp.x + 1, resp.y, resp.z + 1, resp.x + sh, resp.y + 5, resp.z + sh, block.STONE_BRICK.id)
mc.setBlocks(resp.x + 2, resp.y, resp.z + 2, resp.x + sh - 1, resp.y + 4, resp.z + sh - 1, block.AIR.id)
mc.setBlocks(resp.x + 1, resp.y - 1, resp.z + 1, resp.x + sh, resp.y - 1, resp.z + sh, block.SANDSTONE.id)
mc.setBlocks(resp.x + 6, resp.y, resp.z + 1, resp.x + 6, resp.y + 1, resp.z + 1, block.AIR.id)
mc.setBlocks(resp.x, resp.y + 5, resp.z, resp.x + sh + 1, resp.y + 5, resp.z + sh + 1, block.COBBLESTONE.id)
mc.setBlocks(resp.x + 1, resp.y + 6, resp.z + 1, resp.x + sh, resp.y + 6, resp.z + sh, block.COBBLESTONE.id)
mc.setBlocks(resp.x + 2, resp.y + 7, resp.z + 2, resp.x + sh - 1, resp.y + 7, resp.z + sh - 1, block.COBBLESTONE.id)
mc.setBlocks(resp.x + 3, resp.y + 8, resp.z + 3, resp.x + sh - 2, resp.y + 8, resp.z + sh - 2, block.COBBLESTONE.id)
x1 = resp.x
x2 = resp.x + sh + 2
z1 = resp.z
z2 = resp.z + sh + 2
game = True
completed = False
while game:
pos = mc.player.getTilePos()
if pos.x > x1 and pos.x < x2 and pos.z > z1 and pos.z < z2:
mc.postToChat("Пожалуйста, добро пожаловать в загадочный дом!")
time.sleep(2)
mc.setBlocks(resp.x + 6, resp.y, resp.z + 1, resp.x + 6, resp.y + 1, resp.z + 1, block.STONE_BRICK.id)
mc.postToChat("Мы тебе поможем спрятаться от огненного монстра. Собери 10 литров волшебной воды и огненный монстр будет побежден!")
time.sleep(3)
mission = True
liters = 0
total = 20
mc.postToChat("Вода скоро появится! Нужно её собрать!")
time.sleep(3)
mc.setBlocks(resp.x + 1, resp.y + 5, resp.z + 1, resp.x + sh, resp.y + 5, resp.z + sh, block.GLOWSTONE_BLOCK.id)
while mission:
xw = random.randint(resp.x + 2, resp.x + sh - 1)
yw = resp.y
zw = random.randint(resp.z + 2, resp.z + sh - 1)
w = block.WATER_STATIONARY.id
mc.setBlock(xw, yw, zw, w)
timer = 1
while timer > 0:
time.sleep(2)
pos = mc.player.getTilePos()
target = mc.getBlock(pos.x, pos.y, pos.z)
if target == w:
liters += 1
mc.postToChat("Ты собрал" + str(liters) + "л. воды. В источнике осталось - " + str(total))
timer = 0
timer -= 1
mc.setBlock(xw, yw, zw, block.AIR.id)
total -= 1
mc.postToChat("В источнике осталось - " + str(total) + "л.")
if liters == 10:
mc.postToChat("Ты собрал всю воду и мы смогли побудить огненного монстра!!! Можешь смело идти гулять. Заходи в гости, когда будет время :)")
mc.setBlocks(resp.x + 6, resp.y, resp.z + 1, resp.x + 6, resp.y + 1, resp.z + 1, block.AIR.id)
time.sleep(3)
mc.setBlocks(resp.x + 1, resp.y + 5, resp.z + 1, resp.x + sh, resp.y + 5, resp.z + sh, block.STONE_BRICK.id)
total = 20
mission = False
game = False
completed = True
if total == 0:
mc.postToChat("О нет! Мы не успели!!!")
mc.setBlocks(resp.x + 2, resp.y, resp.z + 2, resp.x + sh - 1, resp.y + 4, resp.z + sh - 1, block.FIRE.id)
time.sleep(1)
mc.postToChat("Нам конец!")
time.sleep(5)
mc.setBlocks(resp.x, resp.y, resp.z, resp.x + sh + 1, resp.y + 8, resp.z + sh + 1, block.AIR.id)
mc.setBlocks(resp.x, resp.y - 1, resp.z, resp.x + sh + 1, resp.y - 1, resp.z + sh + 1, block.GRASS.id)
mission = False
game = False
else:
time.sleep(0.5)
mc.setBlock(pos.x, pos.y, pos.z, block.FIRE.id)
while completed:
time.sleep(0.5)
mc.setBlocks(resp.x + 1, resp.y - 1, resp.z + 1, resp.x + sh, resp.y - 1, resp.z + sh, block.DIAMOND_BLOCK.id)
time.sleep(0.5)
mc.setBlocks(resp.x + 1, resp.y - 1, resp.z + 1, resp.x + sh, resp.y - 1, resp.z + sh, block.IRON_BLOCK.id)
time.sleep(0.5)
mc.setBlocks(resp.x + 1, resp.y - 1, resp.z + 1, resp.x + sh, resp.y - 1, resp.z + sh, block.GOLD_BLOCK.id)