player.execute("/gamerule spawnRadius 0") etap1 = False etap2 = False etap3 = False def parkour(): player.execute("/setworldspawn " + player.position()) builder.teleport_to(pos(5, 0, 0)) builder.face(EAST) builder.shift(70, 70, 0) builder.line(PURPUR_STAIRS) builder.mark() builder.shift(2, 0, -4) builder.fill(DIAMOND_BLOCK) player.on_chat("start", parkour) def etap_1_i_2(rodzaj_toru, rodzaj_checkpointu): for i in range(randint(10, 15)): przod = randint(2, 3) bok = randint(-1, 1) wysokosc = randint(-1, 1) dlugosc = randint(0, 3) builder.shift(przod, wysokosc, bok) builder.mark() builder.move(FORWARD, dlugosc) builder.line(rodzaj_toru) builder.mark() builder.shift(2, 0, -4) builder.fill(rodzaj_checkpointu) def etap_3(): koniec = 66 shapes.circle(SLIME_BLOCK, pos(4, -30, 0), 1, Axis.Y, ShapeOperation.REPLACE) builder.shift(4, -32, 0) builder.mark() builder.set_origin() builder.move(FORWARD, koniec) builder.line(NETHERRACK) builder.teleport_to_origin() builder.move(UP, 1) builder.set_origin() ogien = 0 while True: ogien += randint(3, 6) if(ogien <= koniec): builder.move(FORWARD, ogien) builder.place(FIRE) builder.teleport_to_origin() else: builder.move(FORWARD, koniec+1) break builder.mark() builder.shift(1, 0, -4) builder.fill(MOSS_STONE) #pętla sterująca ładowaniem etapów while True: if blocks.test_for_block(DIAMOND_BLOCK, pos(0, -1, 0)) and not etap1: player.execute("/setworldspawn " + player.position()) etap1 = True etap_1_i_2(STONE, GOLD_BLOCK) elif blocks.test_for_block(GOLD_BLOCK, pos(0, -1, 0)) and not etap2: player.execute("/setworldspawn " + player.position()) etap2 = True etap_1_i_2(GLOWSTONE, BEDROCK) elif blocks.test_for_block(BEDROCK, pos(0, -1, 0)) and not etap3: player.execute("/setworldspawn " + player.position()) etap3 = True etap_3()