https://pastein.ru/t/oTV

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


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


collections.Iterable = Iterable


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


mc.setBlocks(pos.x, pos.y - 1, pos.z, pos.x + 110, pos.y - 1, pos.z + 200, 7)
x = pos.x
y = pos.y
z = pos.z
mc.setBlocks(x, y, z, x + 120, y + 20, z + 200, block.AIR.id)
# 11 - dom_N
# 12 - dom_S
# 13 - dom_E
# 14 - dom_W
# 21 - dom2_N
# 22 - dom2_S
# 3 - bashny
# 4 - most
d11 = [3, 0, 13, 13, 13, 13, 13, 0, 3, 0]
d21 = [22, 0, 14, 14, 14, 14, 14, 0, 21, 0]
d31 = [22, 0, 21, 0, 0, 0, 22, 0, 21, 0]
d41 = [22, 0, 21, 4, 22, 0, 21, 0]
d51 = [3, 0, 14, 14, 14, 14, 14, 0, 3, 0]
d61 = [22, 0, 13, 13, 13, 13, 13, 0, 21, 0]




def dom_N():
   sx = pos.x + 2 + 5 / 2  # центр по X


   sy = pos.y + 5 / 2  # центр по Y


   sz = pos.z + 5 / 2  # центр по Z


   mc.setBlocks(pos.x + 1, pos.y, pos.z, pos.x + 6, pos.y + 5, pos.z + 5, block.GOLD_BLOCK.id)


   mc.setBlocks(pos.x + 2, pos.y + 1, pos.z + 1, pos.x + 5, pos.y + 4, pos.z + 4, block.AIR.id)


   mc.setBlocks(sx - 1, pos.y + 1, pos.z, sx, pos.y + 2, pos.z, block.AIR.id)


   mc.setBlocks(sx + 1, sy + 1, pos.z, sx + 1, sy + 2, pos.z, block.GLASS.id)


   mc.setBlocks(sx - 2, sy + 1, pos.z, sx - 2, sy + 2, pos.z, block.GLASS.id)


   mc.setBlocks(pos.x + 1, sy + 1, sz + 2, pos.x + 1, sy + 2, sz + 2, block.GLASS.id)


   mc.setBlocks(pos.x + 1, sy + 1, sz - 1, pos.x + 1, sy + 2, sz - 1, block.GLASS.id)


   mc.setBlocks(pos.x + 6, sy + 1, sz + 2, pos.x + 6, sy + 2, sz + 2, block.GLASS.id)


   mc.setBlocks(pos.x + 6, sy + 1, sz - 1, pos.x + 6, sy + 2, sz - 1, block.GLASS.id)


   mc.setBlocks(pos.x + 1, pos.y + 6, pos.z, pos.x + 6, pos.y + 6, pos.z + 5, block.IRON_BLOCK.id)
   mc.setBlocks(pos.x + 2, pos.y + 7, pos.z, pos.x + 5, pos.y + 7, pos.z + 5, block.IRON_BLOCK.id)
   mc.setBlocks(pos.x + 3, pos.y + 8, pos.z, pos.x + 4, pos.y + 8, pos.z + 5, block.IRON_BLOCK.id)




def dom_S():
   sx = pos.x + 2 + 5 / 2  # центр по X


   sy = pos.y + 5 / 2  # центр по Y


   sz = pos.z + 5 / 2  # центр по Z


   mc.setBlocks(pos.x + 1, pos.y, pos.z, pos.x + 6, pos.y + 5, pos.z + 5, block.GOLD_BLOCK.id)


   mc.setBlocks(pos.x + 2, pos.y + 1, pos.z + 1, pos.x + 5, pos.y + 4, pos.z + 4, block.AIR.id)


   mc.setBlocks(sx - 1, pos.y + 1, pos.z + 5, sx, pos.y + 2, pos.z + 5, block.AIR.id)


   mc.setBlocks(sx + 1, sy + 1, pos.z + 5, sx + 1, sy + 2, pos.z + 5, block.GLASS.id)


   mc.setBlocks(sx - 2, sy + 1, pos.z + 5, sx - 2, sy + 2, pos.z + 5, block.GLASS.id)


   mc.setBlocks(pos.x + 1, sy + 1, sz + 2, pos.x + 1, sy + 2, sz + 2, block.GLASS.id)


   mc.setBlocks(pos.x + 1, sy + 1, sz - 1, pos.x + 1, sy + 2, sz - 1, block.GLASS.id)


   mc.setBlocks(pos.x + 6, sy + 1, sz + 2, pos.x + 6, sy + 2, sz + 2, block.GLASS.id)


   mc.setBlocks(pos.x + 6, sy + 1, sz - 1, pos.x + 6, sy + 2, sz - 1, block.GLASS.id)


   mc.setBlocks(pos.x + 1, pos.y + 6, pos.z, pos.x + 6, pos.y + 6, pos.z + 5, block.IRON_BLOCK.id)
   mc.setBlocks(pos.x + 2, pos.y + 7, pos.z, pos.x + 5, pos.y + 7, pos.z + 5, block.IRON_BLOCK.id)
   mc.setBlocks(pos.x + 3, pos.y + 8, pos.z, pos.x + 4, pos.y + 8, pos.z + 5, block.IRON_BLOCK.id)




def dom_E():
   sx = pos.x + 2 + 5 / 2  # центр по X


   sy = pos.y + 5 / 2  # центр по Y


   sz = pos.z + 5 / 2  # центр по Z


   mc.setBlocks(pos.x + 1, pos.y, pos.z, pos.x + 6, pos.y + 5, pos.z + 5, block.GOLD_BLOCK.id)


   mc.setBlocks(pos.x + 2, pos.y + 1, pos.z + 1, pos.x + 5, pos.y + 4, pos.z + 4, block.AIR.id)


   mc.setBlocks(pos.x + 6, pos.y + 1, sz, pos.x + 6, pos.y + 2, sz + 1, block.AIR.id)


   mc.setBlocks(pos.x + 6, sy + 1, sz + 2, pos.x + 6, sy + 2, sz + 2, block.GLASS.id)


   mc.setBlocks(pos.x + 6, sy + 1, sz - 1, pos.x + 6, sy + 2, sz - 1, block.GLASS.id)


   mc.setBlocks(sx - 1, sy + 1, pos.z, sx - 1, sy + 2, pos.z, block.GLASS.id)


   mc.setBlocks(sx + 1, sy + 1, pos.z, sx + 1, sy + 2, pos.z, block.GLASS.id)


   mc.setBlocks(sx - 1, sy + 1, pos.z + 5, sx - 1, sy + 2, pos.z + 5, block.GLASS.id)


   mc.setBlocks(sx + 1, sy + 1, pos.z + 5, sx + 1, sy + 2, pos.z + 5, block.GLASS.id)


   mc.setBlocks(pos.x + 1, pos.y + 6, pos.z, pos.x + 6, pos.y + 6, pos.z + 5, block.IRON_BLOCK.id)
   mc.setBlocks(pos.x + 1, pos.y + 7, pos.z + 1, pos.x + 6, pos.y + 7, pos.z + 4, block.IRON_BLOCK.id)
   mc.setBlocks(pos.x + 1, pos.y + 8, pos.z + 2, pos.x + 6, pos.y + 8, pos.z + 3, block.IRON_BLOCK.id)




def dom_W():
   sx = pos.x + 2 + 5 / 2  # центр по X


   sy = pos.y + 5 / 2  # центр по Y


   sz = pos.z + 5 / 2  # центр по Z


   mc.setBlocks(pos.x + 1, pos.y, pos.z, pos.x + 6, pos.y + 5, pos.z + 5, block.GOLD_BLOCK.id)


   mc.setBlocks(pos.x + 2, pos.y + 1, pos.z + 1, pos.x + 5, pos.y + 4, pos.z + 4, block.AIR.id)


   mc.setBlocks(pos.x + 1, pos.y + 1, sz, pos.x + 1, pos.y + 2, sz + 1, block.AIR.id)


   mc.setBlocks(pos.x + 1, sy + 1, sz + 2, pos.x + 1, sy + 2, sz + 2, block.GLASS.id)


   mc.setBlocks(pos.x + 1, sy + 1, sz - 1, pos.x + 1, sy + 2, sz - 1, block.GLASS.id)


   mc.setBlocks(sx - 1, sy + 1, pos.z, sx - 1, sy + 2, pos.z, block.GLASS.id)


   mc.setBlocks(sx + 1, sy + 1, pos.z, sx + 1, sy + 2, pos.z, block.GLASS.id)


   mc.setBlocks(sx - 1, sy + 1, pos.z + 5, sx - 1, sy + 2, pos.z + 5, block.GLASS.id)


   mc.setBlocks(sx + 1, sy + 1, pos.z + 5, sx + 1, sy + 2, pos.z + 5, block.GLASS.id)


   mc.setBlocks(pos.x + 1, pos.y + 6, pos.z, pos.x + 6, pos.y + 6, pos.z + 5, block.IRON_BLOCK.id)
   mc.setBlocks(pos.x + 1, pos.y + 7, pos.z + 1, pos.x + 6, pos.y + 7, pos.z + 4, block.IRON_BLOCK.id)
   mc.setBlocks(pos.x + 1, pos.y + 8, pos.z + 2, pos.x + 6, pos.y + 8, pos.z + 3, block.IRON_BLOCK.id)




def dom2_N():
   d1 = [1, 1, 1, 1, 1]
   d2 = [1, 2, 1, 2, 1]
   d3 = [1, 1, 0, 1, 1]


   # Строим два первых ряда со входом
   for j in range(2):
       for i in range(len(d3)):
           if d3[i] == 1:
               mc.setBlock(pos.x, pos.y, pos.z, 4)
           elif d3[i] == 0:
               mc.setBlock(pos.x, pos.y, pos.z, 0)
           pos.x = pos.x + 1
       pos.y = pos.y + 1
       pos.x = pos.x - 5


   # строим двасплошных ряда блоков
   for j in range(2):
       for i in range(len(d1)):
           if d1[i] == 1:
               mc.setBlock(pos.x, pos.y, pos.z, 4)
           elif d1[i] == 0:
               mc.setBlock(pos.x, pos.y, pos.z, 0)
           pos.x = pos.x + 1
       pos.y = pos.y + 1
       pos.x = pos.x - 5


   # строим ряд блоков с окнами
   for i in range(len(d2)):
       if d2[i] == 1:
           mc.setBlock(pos.x, pos.y, pos.z, 4)
       elif d2[i] == 2:
           mc.setBlock(pos.x, pos.y, pos.z, 20)
       pos.x = pos.x + 1
   pos.y = pos.y + 1
   pos.x = pos.x - 5


   # строим двасплошных ряда блоков
   for j in range(2):
       for i in range(len(d1)):
           if d1[i] == 1:
               mc.setBlock(pos.x, pos.y, pos.z, 4)
           elif d1[i] == 0:
               mc.setBlock(pos.x, pos.y, pos.z, 0)
           pos.x = pos.x + 1
       pos.y = pos.y + 1
       pos.x = pos.x - 5


   # строим ряд блоков с окнами       
   for i in range(len(d2)):
       if d2[i] == 1:
           mc.setBlock(pos.x, pos.y, pos.z, 4)
       elif d2[i] == 2:
           mc.setBlock(pos.x, pos.y, pos.z, 20)
       pos.x = pos.x + 1
   pos.y = pos.y + 1
   pos.x = pos.x - 5


   for i in range(len(d1)):
       if d1[i] == 1:
           mc.setBlock(pos.x, pos.y, pos.z, 4)
       elif d1[i] == 0:
           mc.setBlock(pos.x, pos.y, pos.z, 0)
       pos.x = pos.x + 1


   # строим вторую стену
   pos.y = pos.y - 8
   pos.x = pos.x - 1


   for j in range(4):
       for i in range(len(d1)):
           if d1[i] == 1:
               mc.setBlock(pos.x, pos.y, pos.z, 4)
           elif d1[i] == 0:
               mc.setBlock(pos.x, pos.y, pos.z, 0)
           pos.z = pos.z + 1
       pos.y = pos.y + 1
       pos.z = pos.z - 5


   for i in range(len(d2)):
       if d2[i] == 1:
           mc.setBlock(pos.x, pos.y, pos.z, 4)
       elif d2[i] == 2:
           mc.setBlock(pos.x, pos.y, pos.z, 20)
       pos.z = pos.z + 1
   pos.y = pos.y + 1
   pos.z = pos.z - 5


   for j in range(2):
       for i in range(len(d1)):
           if d1[i] == 1:
               mc.setBlock(pos.x, pos.y, pos.z, 4)
           elif d1[i] == 0:
               mc.setBlock(pos.x, pos.y, pos.z, 0)
           pos.z = pos.z + 1
       pos.y = pos.y + 1
       pos.z = pos.z - 5


   for i in range(len(d2)):
       if d2[i] == 1:
           mc.setBlock(pos.x, pos.y, pos.z, 4)
       elif d2[i] == 2:
           mc.setBlock(pos.x, pos.y, pos.z, 20)
       pos.z = pos.z + 1
   pos.y = pos.y + 1
   pos.z = pos.z - 5


   for i in range(len(d1)):
       if d1[i] == 1:
           mc.setBlock(pos.x, pos.y, pos.z, 4)
       elif d1[i] == 0:
           mc.setBlock(pos.x, pos.y, pos.z, 0)
       pos.z = pos.z + 1
   pos.y = pos.y + 1
   pos.z = pos.z - 5


   # строим третью стену
   pos.y = pos.y - 9
   pos.x = pos.x - 4


   for j in range(4):
       for i in range(len(d1)):
           if d1[i] == 1:
               mc.setBlock(pos.x, pos.y, pos.z, 4)
           elif d1[i] == 0:
               mc.setBlock(pos.x, pos.y, pos.z, 0)
           pos.z = pos.z + 1
       pos.y = pos.y + 1
       pos.z = pos.z - 5


   for i in range(len(d2)):
       if d2[i] == 1:
           mc.setBlock(pos.x, pos.y, pos.z, 4)
       elif d2[i] == 2:
           mc.setBlock(pos.x, pos.y, pos.z, 20)
       pos.z = pos.z + 1
   pos.y = pos.y + 1
   pos.z = pos.z - 5


   for j in range(2):
       for i in range(len(d1)):
           if d1[i] == 1:
               mc.setBlock(pos.x, pos.y, pos.z, 4)
           elif d1[i] == 0:
               mc.setBlock(pos.x, pos.y, pos.z, 0)
           pos.z = pos.z + 1
       pos.y = pos.y + 1
       pos.z = pos.z - 5


   for i in range(len(d2)):
       if d2[i] == 1:
           mc.setBlock(pos.x, pos.y, pos.z, 4)
       elif d2[i] == 2:
           mc.setBlock(pos.x, pos.y, pos.z, 20)
       pos.z = pos.z + 1
   pos.y = pos.y + 1
   pos.z = pos.z - 5


   for i in range(len(d1)):
       if d1[i] == 1:
           mc.setBlock(pos.x, pos.y, pos.z, 4)
       elif d1[i] == 0:
           mc.setBlock(pos.x, pos.y, pos.z, 0)
       pos.z = pos.z + 1


   # строим четвёртую стену
   pos.y = pos.y - 8
   mc.setBlocks(pos.x, pos.y, pos.z, pos.x + 4, pos.y + 8, pos.z, 4)


   # строим крышу
   mc.setBlocks(pos.x, pos.y + 9, pos.z, pos.x + 4, pos.y + 9, pos.z - 5, 20)




def dom2_S():
   d1 = [1, 1, 1, 1, 1]
   d2 = [1, 2, 1, 2, 1]
   d3 = [1, 1, 0, 1, 1]


   # Строим два первых ряда со входом
   for j in range(2):
       for i in range(len(d3)):
           if d3[i] == 1:
               mc.setBlock(pos.x, pos.y, pos.z + 5, 4)
           elif d3[i] == 0:
               mc.setBlock(pos.x, pos.y, pos.z + 5, 0)
           pos.x = pos.x + 1
       pos.y = pos.y + 1
       pos.x = pos.x - 5


   # строим двасплошных ряда блоков
   for j in range(2):
       for i in range(len(d1)):
           if d1[i] == 1:
               mc.setBlock(pos.x, pos.y, pos.z + 5, 4)
           elif d1[i] == 0:
               mc.setBlock(pos.x, pos.y, pos.z + 5, 0)
           pos.x = pos.x + 1
       pos.y = pos.y + 1
       pos.x = pos.x - 5


   # строим ряд блоков с окнами
   for i in range(len(d2)):
       if d2[i] == 1:
           mc.setBlock(pos.x, pos.y, pos.z + 5, 4)
       elif d2[i] == 2:
           mc.setBlock(pos.x, pos.y, pos.z + 5, 20)
       pos.x = pos.x + 1
   pos.y = pos.y + 1
   pos.x = pos.x - 5


   # строим двасплошных ряда блоков
   for j in range(2):
       for i in range(len(d1)):
           if d1[i] == 1:
               mc.setBlock(pos.x, pos.y, pos.z + 5, 4)
           elif d1[i] == 0:
               mc.setBlock(pos.x, pos.y, pos.z + 5, 0)
           pos.x = pos.x + 1
       pos.y = pos.y + 1
       pos.x = pos.x - 5


   # строим ряд блоков с окнами       
   for i in range(len(d2)):
       if d2[i] == 1:
           mc.setBlock(pos.x, pos.y, pos.z + 5, 4)
       elif d2[i] == 2:
           mc.setBlock(pos.x, pos.y, pos.z + 5, 20)
       pos.x = pos.x + 1
   pos.y = pos.y + 1
   pos.x = pos.x - 5


   for i in range(len(d1)):
       if d1[i] == 1:
           mc.setBlock(pos.x, pos.y, pos.z + 5, 4)
       elif d1[i] == 0:
           mc.setBlock(pos.x, pos.y, pos.z + 5, 0)
       pos.x = pos.x + 1


   # строим вторую стену
   pos.y = pos.y - 8
   pos.x = pos.x - 1


   for j in range(4):
       for i in range(len(d1)):
           if d1[i] == 1:
               mc.setBlock(pos.x, pos.y, pos.z, 4)
           elif d1[i] == 0:
               mc.setBlock(pos.x, pos.y, pos.z, 0)
           pos.z = pos.z + 1
       pos.y = pos.y + 1
       pos.z = pos.z - 5


   for i in range(len(d2)):
       if d2[i] == 1:
           mc.setBlock(pos.x, pos.y, pos.z, 4)
       elif d2[i] == 2:
           mc.setBlock(pos.x, pos.y, pos.z, 20)
       pos.z = pos.z + 1
   pos.y = pos.y + 1
   pos.z = pos.z - 5


   for j in range(2):
       for i in range(len(d1)):
           if d1[i] == 1:
               mc.setBlock(pos.x, pos.y, pos.z, 4)
           elif d1[i] == 0:
               mc.setBlock(pos.x, pos.y, pos.z, 0)
           pos.z = pos.z + 1
       pos.y = pos.y + 1
       pos.z = pos.z - 5


   for i in range(len(d2)):
       if d2[i] == 1:
           mc.setBlock(pos.x, pos.y, pos.z, 4)
       elif d2[i] == 2:
           mc.setBlock(pos.x, pos.y, pos.z, 20)
       pos.z = pos.z + 1
   pos.y = pos.y + 1
   pos.z = pos.z - 5


   for i in range(len(d1)):
       if d1[i] == 1:
           mc.setBlock(pos.x, pos.y, pos.z, 4)
       elif d1[i] == 0:
           mc.setBlock(pos.x, pos.y, pos.z, 0)
       pos.z = pos.z + 1
   pos.y = pos.y + 1
   pos.z = pos.z - 5


   # строим третью стену
   pos.y = pos.y - 9
   pos.x = pos.x - 4


   for j in range(4):
       for i in range(len(d1)):
           if d1[i] == 1:
               mc.setBlock(pos.x, pos.y, pos.z, 4)
           elif d1[i] == 0:
               mc.setBlock(pos.x, pos.y, pos.z, 0)
           pos.z = pos.z + 1
       pos.y = pos.y + 1
       pos.z = pos.z - 5


   for i in range(len(d2)):
       if d2[i] == 1:
           mc.setBlock(pos.x, pos.y, pos.z, 4)
       elif d2[i] == 2:
           mc.setBlock(pos.x, pos.y, pos.z, 20)
       pos.z = pos.z + 1
   pos.y = pos.y + 1
   pos.z = pos.z - 5


   for j in range(2):
       for i in range(len(d1)):
           if d1[i] == 1:
               mc.setBlock(pos.x, pos.y, pos.z, 4)
           elif d1[i] == 0:
               mc.setBlock(pos.x, pos.y, pos.z, 0)
           pos.z = pos.z + 1
       pos.y = pos.y + 1
       pos.z = pos.z - 5


   for i in range(len(d2)):
       if d2[i] == 1:
           mc.setBlock(pos.x, pos.y, pos.z, 4)
       elif d2[i] == 2:
           mc.setBlock(pos.x, pos.y, pos.z, 20)
       pos.z = pos.z + 1
   pos.y = pos.y + 1
   pos.z = pos.z - 5


   for i in range(len(d1)):
       if d1[i] == 1:
           mc.setBlock(pos.x, pos.y, pos.z, 4)
       elif d1[i] == 0:
           mc.setBlock(pos.x, pos.y, pos.z, 0)
       pos.z = pos.z + 1


   # строим четвёртую стену
   pos.y = pos.y - 8
   mc.setBlocks(pos.x, pos.y, pos.z - 5, pos.x + 4, pos.y + 8, pos.z - 5, 4)


   # строим крышу
   mc.setBlocks(pos.x, pos.y + 9, pos.z, pos.x + 4, pos.y + 9, pos.z - 5, 20)




def bashny():
   # Создаём первую опору башни
   for i in range(5):
       mc.setBlock(x + i, y + i, z, block.STONE.id)


   # Создаём вторую опору башни
   for i in range(5):
       mc.setBlock(x + 10 + i, y + 4 - i, z, block.STONE.id)


   # Создаём площадку на высоте y+5
   mc.setBlocks(x + 5, y + 5, z, x + 10, y + 5, z + 5, block.STONE.id)


   # Создаём третью опору
   for i in range(5):
       mc.setBlock(x + 10 + i, y + 4 - i, z + 5, block.STONE.id)


   # Создаём четвёртую опору   
   for i in range(5):
       mc.setBlock(x + i, y + i, z + 5, block.STONE.id)


   # Создаём четыре опоры на высоте y+5   
   for w in range(5):
       mc.setBlock(x + 5, y + 5 + w, z, block.STONE.id)
       mc.setBlock(x + 10, y + 5 + w, z, block.STONE.id)
       mc.setBlock(x + 5, y + 5 + w, z + 5, block.STONE.id)
       mc.setBlock(x + 10, y + 5 + w, z + 5, block.STONE.id)


   # создаём площадку на высоте y+10
   mc.setBlocks(x + 5, y + 10, z, x + 10, y + 10, z + 5, block.STONE.id)


   # Создаём две опоры для третьей площадки-крыши
   for i in range(3):
       mc.setBlock(x + 5 + i, y + 11 + i, z, block.STONE.id)
   for i in range(3):
       mc.setBlock(x + 8 + i, y + 13 - i, z, block.STONE.id)


   # Создание третьей площадки-крыши
   mc.setBlocks(x + 7, y + 13, z, x + 8, y + 13, z + 5, block.STONE.id)


   # Создание двух оставшихся опор от второй до третьей площадки
   for i in range(3):
       mc.setBlock(x + 5 + i, y + 11 + i, z + 5, block.STONE.id)
   for i in range(3):
       mc.setBlock(x + 8 + i, y + 13 - i, z + 5, block.STONE.id)


   # Создание в центре башни на второй площадке куба из Золотых и стеклянных блоков с центральным блоком - лава.   
   mc.setBlocks(x + 7, y + 6, z + 2, x + 8, y + 6, z + 3, block.GOLD_BLOCK.id)
   mc.setBlocks(x + 6, y + 7, z + 1, x + 9, y + 8, z + 4, block.GLASS.id)
   mc.setBlocks(x + 7, y + 7, z + 2, x + 8, y + 8, z + 3, block.LAVA_FLOWING.id)
   mc.setBlocks(x + 7, y + 9, z + 2, x + 8, y + 9, z + 3, block.GOLD_BLOCK.id)




def most():
   # Создание четырёх опор моста
   mc.setBlocks(x + 1, y, z, x + 1, y + 15, z, 98)
   mc.setBlocks(x + 6, y, z, x + 6, y + 15, z, 98)


   mc.setBlocks(x + 1, y, z + 30, x + 1, y + 15, z + 30, 98)
   mc.setBlocks(x + 6, y, z + 30, x + 6, y + 15, z + 30, 98)


   # Создание площадки моста
   mc.setBlocks(x + 1, y + 5, z, x + 6, y + 5, z + 30, 98)


   # Создание опор для каната
   for i in range(5, 30, 10):
       mc.setBlocks(x + 1, y + 5, z + i, x + 1, y + 10, z + i, 98)
   for i in range(10, 30, 10):
       mc.setBlocks(x + 1, y + 5, z + i, x + 1, y + 15, z + i, 45)
   for i in range(5, 30, 10):
       mc.setBlocks(x + 6, y + 5, z + i, x + 6, y + 10, z + i, 45)
   for i in range(10, 30, 10):
       mc.setBlocks(x + 6, y + 5, z + i, x + 6, y + 15, z + i, 98)


   # Создание каната с одной стороны моста
   for i in range(5):
       mc.setBlock(x + 1, y + 15 - i, z + i, 22)
   for i in range(5):
       mc.setBlock(x + 1, y + 11 + i, z + 5 + i, 22)
   for i in range(5):
       mc.setBlock(x + 1, y + 15 - i, z + 10 + i, 22)
   for i in range(5):
       mc.setBlock(x + 1, y + 11 + i, z + 15 + i, 22)
   for i in range(5):
       mc.setBlock(x + 1, y + 15 - i, z + +20 + i, 22)
   for i in range(5):
       mc.setBlock(x + 1, y + 11 + i, z + 25 + i, 22)


   # Создание каната с другой стороны моста
   for i in range(5):
       mc.setBlock(x + 6, y + 15 - i, z + i, 22)
   for i in range(5):
       mc.setBlock(x + 6, y + 11 + i, z + 5 + i, 22)
   for i in range(5):
       mc.setBlock(x + 6, y + 15 - i, z + 10 + i, 22)
   for i in range(5):
       mc.setBlock(x + 6, y + 11 + i, z + 15 + i, 22)
   for i in range(5):
       mc.setBlock(x + 6, y + 15 - i, z + +20 + i, 22)
   for i in range(5):
       mc.setBlock(x + 6, y + 11 + i, z + 25 + i, 22)


   # Продолжение канатов до земли
   for i in range(17):
       mc.setBlock(x + 6, y + 15 - i, z - 0.5 * i, 22)
   for i in range(17):
       mc.setBlock(x + 1, y + 15 - i, z - 0.5 * i, 22)
   for i in range(17):
       mc.setBlock(x + 6, y + 15 - i, z + 30 + 0.5 * i, 22)
   for i in range(17):
       mc.setBlock(x + 1, y + 15 - i, z + 30 + 0.5 * i, 22)


   # Создание лестниц на мост
   for i in range(5):
       mc.setBlocks(x + 1, y + i, z - 5 + i, x + 6, y + i, z - 5 + i, 35, 14)
   for i in range(5):
       mc.setBlocks(x + 1, y + i, z + 35 - i, x + 6, y + i, z + 35 - i, 35, 14)


   # Создание фрагмента реки
   mc.setBlocks(x - 10, y - 1, z + 3, x + 10, y - 1, z + 27, 8)




for k in range(len(d11)):
   if d11[k] == 3:
       bashny()
   elif d11[k] == 0:
       mc.setBlocks(pos.x, pos.y, pos.z, pos.x + 5, pos.y + 5, pos.x + 5, 0)
   elif d11[k] == 13:
       dom_E()
   pos.z = pos.z + 20
   x = pos.x
   y = pos.y
   z = pos.z
pos.z = pos.z - 20 * len(d11)
pos.x = pos.x + 15


for k in range(len(d21)):
   if d21[k] == 22:
       dom2_S()
       pos.z = pos.z - 5
   elif d21[k] == 14:
       dom_W()


   pos.z = pos.z + 20
   x = pos.x
   y = pos.y
   z = pos.z
pos.z = pos.z - 20 * len(d21)
pos.x = pos.x + 15


for k in range(len(d31)):
   if d31[k] == 22:
       dom2_S()
       pos.z = pos.z - 5
   elif d31[k] == 21:
       dom2_N()
       pos.z = pos.z - 5
   elif d31[k] == 0:
       mc.setBlocks(pos.x, pos.y, pos.z, pos.x + 5, pos.y + 5, pos.x + 5, 0)


   pos.z = pos.z + 20
   x = pos.x
   y = pos.y
   z = pos.z
pos.z = pos.z - 20 * len(d21)
pos.x = pos.x + 15


for k in range(len(d41)):
   if d41[k] == 22:
       dom2_S()
       pos.z = pos.z - 5
   elif d41[k] == 21:
       dom2_N()
       pos.z = pos.z - 5
   elif d41[k] == 0:
       mc.setBlocks(pos.x, pos.y, pos.z, pos.x + 5, pos.y + 5, pos.x + 5, 0)
   elif d41[k] == 4:
       most()
       pos.z = pos.z + 38


   pos.z = pos.z + 20
   x = pos.x
   y = pos.y
   z = pos.z
pos.z = pos.z - 20 * len(d21)
pos.x = pos.x + 15


for k in range(len(d31)):
   if d31[k] == 22:
       dom2_S()
       pos.z = pos.z - 5
   elif d31[k] == 21:
       dom2_N()
       pos.z = pos.z - 5
   elif d31[k] == 0:
       mc.setBlocks(pos.x, pos.y, pos.z, pos.x + 5, pos.y + 5, pos.x + 5, 0)


   pos.z = pos.z + 20
   x = pos.x
   y = pos.y
   z = pos.z
pos.z = pos.z - 20 * len(d31)
pos.x = pos.x + 15


for k in range(len(d61)):
   if d61[k] == 22:
       dom2_S()
       pos.z = pos.z - 5
   elif d61[k] == 13:
       dom_E()
   elif d61[k] == 0:
       mc.setBlocks(pos.x, pos.y, pos.z, pos.x + 5, pos.y + 5, pos.x + 5, 0)
   elif d61[k] == 21:
       dom2_N()
       pos.z = pos.z - 5
   pos.z = pos.z + 20
   x = pos.x
   y = pos.y
   z = pos.z
pos.z = pos.z - 20 * len(d21)


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


for k in range(len(d51)):
   if d51[k] == 3:
       bashny()
   elif d51[k] == 0:
       mc.setBlocks(pos.x, pos.y, pos.z, pos.x + 5, pos.y + 5, pos.x + 5, 0)
   elif d51[k] == 14:
       dom_W()
   pos.z = pos.z + 20
   x = pos.x
   y = pos.y
   z = pos.z