# Moduł 1 — Starter toru pozycja=player.position() x=pozycja.get_value(Axis.X) y=pozycja.get_value(Axis.Y) z=pozycja.get_value(Axis.Z) def tor(): blocks.fill(BEDROCK, world(x-10,y-1,z-2), world(x+10,y+10,z+35), FillOperation.HOLLOW) blocks.fill(SEA_LANTERN, world(x-9,y-1,z+3), world(x+9,y-1,z+5)) player.teleport(world(x, y, z)) player.execute("/clear") player.on_chat("start", tor) # Moduł 2 — Etap 1 def etap1(z): player.say("ETAP 1") 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)) 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 # Moduł 3 — Etap 2 def etap2(z): player.say("ETAP 2") 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)) for i in range(11): mobs.spawn(ZOMBIE, randpos(world(x-8,y+3,z+3), world(x+8,y+3,z+20))) def etap3(z): player.say("ETAP 3") # Nowy segment toru - zawsze ten sam schemat! blocks.fill(BEDROCK, world(x-10,y-1,z-2), world(x+10,y+10,z+35), FillOperation.HOLLOW) # Linia aktywacyjna - GLOWSTONE aktywuje etap 4 blocks.fill(GLOWSTONE, world(x-9,y-1,z+25), world(x+9,y-1,z+27)) # Przeszkoda: diamentowa podłoga - gracz wchodzi na diamenty blocks.fill(DIAMOND_BLOCK, world(x-9, y-1, z+3), world(x+9, y-1, z+20)) while True: if blocks.test_for_block(DIAMOND_BLOCK, pos(0, y-1, 0)): for i in range(11): mobs.spawn(PRIMED_TNT, randpos(world(x-8,y+3,z+3) ,world(x+8,y+3,z+20))) break # Moduł 4 — Aktywacje etapów def zniszczenie_bloku_e1(): pozycja=player.position() z=pozycja.get_value(Axis.Z) etap1(z) def zniszczenie_bloku_e2(): pozycja=player.position() z=pozycja.get_value(Axis.Z) etap2(z) def zniszczenie_bloku_e3(): pozycja=player.position() z=pozycja.get_value(Axis.Z) etap3(z) blocks.on_block_broken(SEA_LANTERN, zniszczenie_bloku_e1) blocks.on_block_broken(SPONGE, zniszczenie_bloku_e2) blocks.on_block_broken(GLASS, zniszczenie_bloku_e3)