Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
| gf2:projekte:2024:minecraft:2d1gruppe5 [2025/03/31 14:33] – braeggerd | gf2:projekte:2024:minecraft:2d1gruppe5 [2025/05/18 13:43] (aktuell) – glocknerl | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| - | Gruppe 5 | + | Thornveil – die Stadt des Blütenstaubes |
| + | |||
| + | Gruppe 5 | ||
| Projekt Idee: | Projekt Idee: | ||
| Zeile 29: | Zeile 31: | ||
| Anleitung: | Anleitung: | ||
| - | Es ist wichtig, dass nach dem Ausführen des Codes gewartet wird, bis die Musik ertönt, bis die Welt betreten werden kann! Es darf sich nicht bewegt werden | + | |
| - | Code: | + | Eine Flache Welt muss erstellt werden, in dieser Welt kann unabhängig von der Spielerposition der Code ausgeführt werden. |
| + | In diese Welt muss per " | ||
| + | Um das Dorf erscheinen zu lassen muss das Word " | ||
| + | Es ist wichtig, dass nach dem Ausführen des Codes gewartet | ||
| + | Damit wilkommen in Thornveil der Stadt des Blütenstaubes und viel Spass. | ||
| + | |||
| + | <code python> | ||
| + | mauerlaenge=0# | ||
| + | mauerbreite=0# | ||
| + | BigHouseWidth=0# | ||
| + | loading=1 | ||
| + | list=[BARREL, | ||
| + | def Stadtmauer(laenge, | ||
| + | global mauerlaenge | ||
| + | mauerlaenge=laenge | ||
| + | global mauerbreite | ||
| + | mauerbreite=breite | ||
| + | blocks.fill(STONE_BRICKS, | ||
| + | blocks.fill(AIR, | ||
| + | blocks.fill(STONE_BRICKS, | ||
| + | if laenge%2==0:# | ||
| + | blocks.fill(AIR, | ||
| + | else: | ||
| + | blocks.fill(AIR, | ||
| + | def Pfad(laenge, | ||
| + | if laenge%2==0: | ||
| + | blocks.fill(GRASS_PATH, | ||
| + | else: | ||
| + | blocks.fill(GRASS_PATH, | ||
| + | |||
| + | def Signal(): #Musik welche das Signal zur fertigstellung des Programms gibt.#Leo | ||
| + | music.change_tempo_by(300) | ||
| + | music.play_note(Note.C4, 0) | ||
| + | music.play_note(Note.D4, | ||
| + | music.play_note(Note.E4, | ||
| + | music.play_note(Note.F4, | ||
| + | music.play_note(Note.B3, | ||
| + | music.play_note(Note.C4, | ||
| + | music.play_note(Note.D4, | ||
| + | music.play_note(Note.E4, | ||
| + | music.play_note(Note.C5, | ||
| + | |||
| + | def Musik():# | ||
| + | music.set_volume(255) | ||
| + | music.play_music(MusicDisc.PIGSTEP) | ||
| + | |||
| + | def BuildHouse(LAENGE, | ||
| + | blocks.fill(PLANKS_BIRCH, | ||
| + | blocks.place(OAK_DOOR, | ||
| + | fenster_hoehe_start = 1 | ||
| + | fenster_hoehe_end = 2 | ||
| + | for h in range(fenster_hoehe_start, | ||
| + | blocks.place(GLASS, | ||
| + | blocks.place(GLASS, | ||
| + | blocks.place(GLASS, | ||
| + | blocks.place(GLASS, | ||
| + | for h in range(fenster_hoehe_start, | ||
| + | blocks.place(GLASS, | ||
| + | blocks.place(GLASS, | ||
| + | blocks.place(GLASS, | ||
| + | blocks.place(GLASS, | ||
| + | dach_hoehe = HOEHE // 2 + 2 | ||
| + | for i in range(dach_hoehe): | ||
| + | blocks.fill(PLANKS_BIRCH, | ||
| + | blocks.place(BED, | ||
| + | blocks.place(list[randint(0, | ||
| + | def ScatterBoneMeal(breite):# | ||
| + | agent.set_item(BONE_MEAL, | ||
| + | agent.set_assist(PLACE_ON_MOVE, | ||
| + | agent.set_assist(DESTROY_OBSTACLES, | ||
| + | agent.set_slot(1) | ||
| + | agent.teleport_to_player() | ||
| + | agent.move(FORWARD, | ||
| + | agent.move(RIGHT, | ||
| + | for i in range ((breite-BigHouseWidth)/ | ||
| + | agent.place(DOWN) | ||
| + | agent.move(LEFT, | ||
| + | agent.place(DOWN) | ||
| + | agent.move(FORWARD, | ||
| + | agent.move(RIGHT, | ||
| + | agent.teleport(pos(0, | ||
| + | |||
| + | def Detection(laenge, | ||
| + | x1 = player.position().get_value(Axis.X) | ||
| + | y1 = player.position().get_value(Axis.Y) | ||
| + | z1 = player.position().get_value(Axis.Z) | ||
| + | |||
| + | x = player.position().get_value(Axis.X) | ||
| + | y = player.position().get_value(Axis.Y) | ||
| + | z = player.position().get_value(Axis.Z) | ||
| + | |||
| + | def on_forever(): | ||
| + | |||
| + | x = player.position().get_value(Axis.X) | ||
| + | y = player.position().get_value(Axis.Y) | ||
| + | z = player.position().get_value(Axis.Z) | ||
| + | |||
| + | if(x-laenge/ | ||
| + | | ||
| + | gameplay.time_set(12000) | ||
| + | | ||
| + | ScatterBoneMeal(breite) | ||
| + | loops.forever(on_forever) | ||
| + | |||
| + | def Umrandung(laenge, | ||
| + | Stadtmauer(laenge, | ||
| + | Pfad(laenge, | ||
| + | Detection(laenge, | ||
| + | |||
| + | def BigHouse(length, | ||
| + | Xoffset=mauerlaenge/ | ||
| + | Zoffset=mauerbreite-width*2 | ||
| + | global BigHouseWidth | ||
| + | BigHouseWidth=width | ||
| + | #Boden | ||
| + | blocks.fill(WOOL, | ||
| + | for h in range(height):# | ||
| + | blocks.fill(PLANKS_SPRUCE, | ||
| + | blocks.fill(PLANKS_SPRUCE, | ||
| + | blocks.fill(MOSSY_STONE_BRICKS, | ||
| + | blocks.fill(MOSSY_STONE_BRICKS, | ||
| + | #Tür | ||
| + | blocks.fill(AIR, | ||
| + | blocks.place(DARK_OAK_DOOR, | ||
| + | for h in range(1, 3):# | ||
| + | for x in range(7, length + 5, 4): | ||
| + | blocks.place(GLASS, | ||
| + | blocks.place(GLASS, | ||
| + | for z in range(12, width + 10, 4): | ||
| + | blocks.place(GLASS, | ||
| + | blocks.place(GLASS, | ||
| + | roof_height = height // 2 + 2 | ||
| + | for i in range(roof_height):# | ||
| + | blocks.fill(MOSSY_STONE_BRICKS, | ||
| + | blocks.place(BED, | ||
| + | blocks.place(BED, | ||
| + | def Tree(x, y, z, | ||
| + | for i in range(4):# | ||
| + | blocks.place(LOG_OAK, | ||
| + | for dx in range(-2, 3):# | ||
| + | for dz in range(-2, 3): | ||
| + | for dy in range(3, 6): | ||
| + | if abs(dx) + abs(dz) < 3: #Verhindert zu eckige Form | ||
| + | blocks.place(LEAVES_OAK, | ||
| + | |||
| + | def Fire(Xoffset, | ||
| + | blocks.place(CAMPFIRE, | ||
| + | |||
| + | def Villagers(x, | ||
| + | mobs.spawn(VILLAGER, | ||
| + | |||
| + | def Loading(): | ||
| + | def on_forever(): | ||
| + | if loading==1: | ||
| + | gameplay.title(mobs.target(NEAREST_PLAYER), | ||
| + | gameplay.title(mobs.target(NEAREST_PLAYER), | ||
| + | loops.pause(1000) | ||
| + | else: | ||
| + | loops.pause(infinity) | ||
| + | loops.forever(on_forever) | ||
| + | |||
| + | def Loaded():# | ||
| + | def on_forever(): | ||
| + | global loading | ||
| + | loading=2 | ||
| + | loops.forever(on_forever) | ||
| + | |||
| + | def fin():#End Nachricht# | ||
| + | for i in range (2): | ||
| + | gameplay.title(mobs.target(NEAREST_PLAYER), | ||
| + | gameplay.title(mobs.target(NEAREST_PLAYER), | ||
| + | loops.pause(1500) | ||
| + | |||
| + | def BuildFountain(x, | ||
| + | # Unterer Brunnen | ||
| + | blocks.fill(STONE_BRICKS, | ||
| + | blocks.fill(AIR, | ||
| + | blocks.fill(TORCH, | ||
| + | blocks.fill(WATER, | ||
| + | center_x = start_x + x/2-1 | ||
| + | center_z = start_z + z/2-1 | ||
| + | blocks.fill(STONE_BRICKS, | ||
| + | blocks.place(WATER, | ||
| + | |||
| + | def Ausführen():# | ||
| + | Loading() | ||
| + | Umrandung(40, | ||
| + | BigHouse(12, | ||
| + | Tree(10, | ||
| + | Tree(10, | ||
| + | Tree(10, | ||
| + | Tree(10, | ||
| + | Tree(10, | ||
| + | Tree(10, | ||
| + | Tree(10, | ||
| + | Tree(10, | ||
| + | Tree(10, | ||
| + | Tree(10, | ||
| + | Tree(10, | ||
| + | Tree(10, | ||
| + | BuildHouse(5, | ||
| + | BuildHouse(5, | ||
| + | BuildHouse(5, | ||
| + | BuildHouse(5, | ||
| + | BuildHouse(5, | ||
| + | BuildFountain(5, | ||
| + | Villagers(10, | ||
| + | Villagers(31, | ||
| + | Villagers(22, | ||
| + | Villagers(16, | ||
| + | Fire(34, | ||
| + | Fire(34, | ||
| + | Fire(17, | ||
| + | Loaded()# | ||
| + | Signal()# | ||
| + | fin()# | ||
| + | player.on_chat(" | ||
| + | </ | ||