#po uruchomieniu programu pobieramy współrzędne gracza które #będą wykorzystane w całym projekcie, będziemy jedynie aktualizować współrzędną "z" gracza żeby odpowiednio dobudowywać etapy pozycja=player.position() x=pozycja.get_value(Axis.X) y=pozycja.get_value(Axis.Y) z=pozycja.get_value(Axis.Z) #funkcja ta przygotowuje pierwszy segment toru def tor(): #tworzymy bryłe toru ze skały macierzystej blocks.fill(BEDROCK, world(x-10,y-1,z-2),world(x+10,y+10,z+35),FillOperation.HOLLOW) #pierwsza linia uruchamiająca etap 1 blocks.fill(SEA_LANTERN, world(x-9,y-1,z+3),world(x+9,y-1,z+5)) #gameplay.set_game_mode(SURVIVAL, mobs.target(NEAREST_PLAYER)) #teleport gracza do pozycji startowej player.teleport(world(x, y, z)) #wyczyszczenie EQ player.execute("/clear") # Kod odpowiedzialny za ładowanie pierwszego z etapów def zniszczenie_bloku_e1(): pozycja= player.position() z= pozycja.get_value(Axis.Z) etap1(z) blocks.on_block_broken(SEA_LANTERN, zniszczenie_bloku_e1) player.on_chat("start", tor) def etap1(z): player.say("ETAP 1") #tworzymy nowyd segment toru blocks.fill(BEDROCK, world(x-10, y-1, z-2), world(x+10, y+10, z+35), FillOperation.HOLLOW) blocks.fill(SPONGE, world(x-9, y-1, z+25), world(x+9, y-1, z+27)) #przeszkody I etapu blocks.fill(IRON_BARS, world(x-9, y-1, z+3), world(x+9, y-1, z+20)) while True: if blocks.test_for_block(IRON_BARS, pos(0, -1, 0)): mobs.give(mobs.target(NEAREST_PLAYER), DIAMOND_AXE, 1) for i in range(6): mobs.spawn(CREEPER, randpos(world(x-8, y+1, z+3), world(x+8, y+1, z+20 ))) break def etap2(z): player.say("ETAP 2") #dodajemy kolejny segment toru blocks.fill(BEDROCK, world(x-10,y-1,z-2),world(x+10,y+10,z+35), FillOperation.HOLLOW) blocks.fill(GLASS, world(x-9,y-1,z+25),world(x+9,y-1,z+27)) #przeszkody II etapu for i in range(11): mobs.spawn(ZOMBIE, randpos(world(x-8,y+3,z+3), world(x+8,y+3,z+20))) def zniszczenie_bloku_e2(): pozycja=player.position() z=pozycja.get_value(Axis.Z) etap2(z) blocks.on_block_broken(SPONGE, zniszczenie_bloku_e2)