**Gruppe 2**
**Mitglieder: Magda, Lívia, Ava, Valérie, Noël**
**Projektidee:**
Bei unserem Projekt wollten wir einen Zoo mit verschiedenen Gehegen bauen. Um eine abwechslungsreiche Umgebung zu programmieren sollte jeder der Mitglieder ein eigenes Gehege mitsamt einem Special-effect programmieren.
**Objekte im Projekt:**
5 Gehege: Aquarium, Pilzkuh-Gehege,Lama-/Esel-/Pferdestall, Schaf-/Schweine-Gehege & Panda-Gehege.
1 Torbogen(Eingang)
1 Mauer um das gesamte Areal
**Schwierigkeiten:**
**-Lívia**
Problem:
beim Baum programmieren war mir nicht bewusst das der Stamm in die Baumkrone ragen muss. Ansonsten starben nämlich die Blätter des Baumes ab.
Lösung:Den Baumstamm um einige Blöcke verlängern.
**-Ava**
Problem:
Am Anfang hatte ich Probleme mit den Koordinaten.
Lösung:Livia hat es mir erklärt und mir geholfen.
**-Noël**
Problem:
Die Musik einzufügen, ich wusste nicht wie man "Klänge" in Minecraft programmiert.
Lösung: Lucas nach Rat gefragt.
**-Magda**
Problem:
Blumen random im Gehege einzufügen. Die Blumen waren immer in einer Linie oder es hat die Funktion teilweise gar nicht ausgeführt.
Lösung:Mithilfe von Frau Marro und Lucas hat es dann geklappt.
**-Valérie**
Problem: Unverständnis für Alles.
Lösung: Tutorials angeschaut und so die Basics erworben.
**Vorgehensweise:**
Am Anfang haben wir eine kleine Skizze von unserem Zoo angefertigt. Fortführend hat sich jeder ein Gehege ausgesucht. Um den Fortschritt festzuhalten haben wir auf Teams beim Scrumbboard To-Do's erstellt. Die Codes wurden je nachdem in den Chat geschickt, da viele die gleichen Haupt-Elemente brauchten wie der Zaun oder ein Baum. Jeder hat etwas gemacht und am Schluss haben wir die letzten Angleichungen aufgeteilt.
**Schaf-/Schweinegehege (Magda)**
**doppelter Zaun:**
def zaunI(x,y,z):
blocks.fill(BIRCH_FENCE, world(x,y,z), world(x+25,y,z+25), FillOperation.HOLLOW)
blocks.fill(AIR, world(x+1,y,z+1), world(x+24,y,z+24), FillOperation.HOLLOW)
zaunI(80,-60,20)
def zaunII(x,y,z):
blocks.fill(BIRCH_FENCE, world(x,y,z), world(x+25,y,z+25), FillOperation.HOLLOW)
blocks.fill(AIR, world(x+1,y,z+1), world(x+24,y,z+24), FillOperation.HOLLOW)
zaunII(80,-60,20)
**spawnen von Tieren:**
def spawn_tiere(x,y,z):
My_list = [PIG, SHEEP]
for i in range(4):
mobs.spawn(My_list[0],world(x+5,y,z+5))
mobs.spawn(My_list[1], world(x+5,y,z+5))
spawn_tiere(80,-60,20)
**spawnen von Blumen:**
def spawn_blumen(x_base,y_base,z_base):
blumen = [OXEYE_DAISY, PINK_TULIP, LILY_OF_THE_VALLEY, CORNFLOWER, ALLIUM]
for x in range(24):
for z in range(24):
if randint(0,5) == 0:
blocks.place(blumen[randint(0,4)], world(x_base + 1 + x, y_base, z_base + 1 + z))
spawn_blumen(80,-60,20)
**Baum:**
def baum(x,y,z):
blocks.fill(LEAVES_BIRCH, world(x + 6, y + 4, z + 6), world(x, y + 7, z), FillOperation.REPLACE)
blocks.fill(LOG_BIRCH, world(x + 3, y, z + 3), world(x + 3, y + 5, z + 3), FillOperation.REPLACE)
baum(80,-60,20)
** Kompletter Code:**
def zaunI(x,y,z):
blocks.fill(BIRCH_FENCE, world(x,y,z), world(x+25,y,z+25), FillOperation.HOLLOW)
blocks.fill(AIR, world(x+1,y,z+1), world(x+24,y,z+24), FillOperation.HOLLOW)
zaunI(80,-60,20)
def zaunII(x,y,z):
blocks.fill(BIRCH_FENCE, world(x,y,z), world(x+25,y,z+25), FillOperation.HOLLOW)
blocks.fill(AIR, world(x+1,y,z+1), world(x+24,y,z+24), FillOperation.HOLLOW)
zaunII(80,-60,20)
def spawn_tiere(x,y,z):
My_list = [PIG, SHEEP]
for i in range(4):
mobs.spawn(My_list[0],world(x+5,y,z+5))
mobs.spawn(My_list[1], world(x+5,y,z+5))
spawn_tiere(80,-60,20)
def spawn_blumen(x_base,y_base,z_base):
blumen = [OXEYE_DAISY, PINK_TULIP, LILY_OF_THE_VALLEY, CORNFLOWER, ALLIUM]
for x in range(24):
for z in range(24):
if randint(0,5) == 0:
blocks.place(blumen[randint(0,4)], world(x_base + 1 + x, y_base, z_base + 1 + z))
spawn_blumen(80,-60,20)
def baum(x,y,z):
blocks.fill(LEAVES_BIRCH, world(x + 6, y + 4, z + 6), world(x, y + 7, z), FillOperation.REPLACE)
blocks.fill(LOG_BIRCH, world(x + 3, y, z + 3), world(x + 3, y + 5, z + 3), FillOperation.REPLACE)
baum(80,-60,20)
**Pilzkuh-gehege (Ava)**
**doppelter Zaun:**
def zaunI(x, y, z):
blocks.fill(BIRCH_FENCE, world(x, y, z), world(x + 25, y, z + 25), FillOperation.HOLLOW)
blocks.fill(AIR, world(x + 1, y, z + 1), world(x + 24, y, z + 24), FillOperation.HOLLOW)
zaunI(-85, -60, -23)
def zaunII(x, y, z):
blocks.fill(BIRCH_FENCE, world(x, y, z), world(x + 25, y, z + 25), FillOperation.HOLLOW)
blocks.fill(AIR, world(x + 1, y, z + 1), world(x + 24, y, z + 24), FillOperation.HOLLOW)
zaunII(-110, -60, -2)
**Wasser:**
blocks.fill(WATER, world(-122, -61, 19), world(-125, -61, 22), FillOperation.HOLLOW)
**Baum:**
blocks.fill(LEAVES_SPRUCE, world(-118, -58, 18), world(-116, -56, 20), FillOperation.HOLLOW)
locks.fill(LOG_SPRUCE, world(-117, -60, 19), world(-117, -57, 19), FillOperation.HOLLOW)
Unterstand
blocks.fill(MOSSY_STONE_BRICKS, world(35, -60, -7), world(41, -58, -7), FillOperation.HOLLOW)
blocks.fill(MOSSY_STONE_BRICKS, world(35, -60, 2), world(41, -58, 2), FillOperation.HOLLOW)
blocks.fill(MOSSY_STONE_BRICKS, world(41, -60, 1), world(41, -58, -6), FillOperation.HOLLOW)
blocks.fill(PLANKS_SPRUCE, world(35, -57, -7), world(41, -57, 2), FillOperation.HOLLOW)
blocks.fill(MOSSY_STONE_BRICKS, world(-113, -60, 4), world(-113, -58, 0), FillOperation.HOLLOW)
blocks.fill(MOSSY_STONE_BRICKS, world(35, -60, 2), world(41, -58, 2), FillOperation.HOLLOW)
blocks.fill(MOSSY_STONE_BRICKS, world(41, -60, 1), world(41, -58, -6), FillOperation.HOLLOW)
blocks.fill(PLANKS_SPRUCE, world(35, -57, -7), world(41, -57, 2), FillOperation.HOLLOW)
**Unterstand:**
def wand(x,y,z):
blocks.fill(MOSSY_STONE_BRICKS, world(x, y, z), world(x, y+2, z-4), FillOperation.HOLLOW)
wand(-113, -60, 4)
wand(-123, -60, 4)
def wand2(x,y,z):
blocks.fill(MOSSY_STONE_BRICKS, world(x, y, z), world(x-8, y+2, z), FillOperation.HOLLOW)
wand2 (-114,-60,0)
def wand3(x,y,z):
blocks.fill(MOSSY_STONE_BRICKS, world(x, y, z), world(x-10, y, z+4), FillOperation.HOLLOW)
wand3(-113, -57, 0)
def hay(x,y,z):
blocks.fill(HAY_BLOCK, world(x, y, z), world(x+2, y, z), FillOperation.HOLLOW)
hay(-117, -60, 3)
**spawn von Tieren:**
def spawn_tiere(x,y,z):
My_list = [MUSHROOM_COW]
for i in range(1):
mobs.spawn (My_list[0],world(x,y,z))
spawn_tiere(-122, -60, 11)
**Kompletter Code:**
def zaunI(x, y, z):
blocks.fill(BIRCH_FENCE, world(x, y, z), world(x + 25, y, z + 25), FillOperation.HOLLOW)
blocks.fill(AIR, world(x + 1, y, z + 1), world(x + 24, y, z + 24), FillOperation.HOLLOW)
zaunI(-85, -60, -23)
def zaunII(x, y, z):
blocks.fill(BIRCH_FENCE, world(x, y, z), world(x + 25, y, z + 25), FillOperation.HOLLOW)
blocks.fill(AIR, world(x + 1, y, z + 1), world(x + 24, y, z + 24), FillOperation.HOLLOW)
zaunII(-110, -60, -2)
blocks.fill(WATER, world(-122, -61, 19), world(-125, -61, 22), FillOperation.HOLLOW)
blocks.fill(LEAVES_SPRUCE, world(-118, -58, 18), world(-116, -56, 20), FillOperation.HOLLOW)
blocks.fill(LOG_SPRUCE, world(-117, -60, 19), world(-117, -57, 19), FillOperation.HOLLOW)
blocks.fill(MOSSY_STONE_BRICKS, world(35, -60, -7), world(41, -58, -7), FillOperation.HOLLOW)
blocks.fill(MOSSY_STONE_BRICKS, world(35, -60, 2), world(41, -58, 2), FillOperation.HOLLOW)
blocks.fill(MOSSY_STONE_BRICKS, world(41, -60, 1), world(41, -58, -6), FillOperation.HOLLOW)
blocks.fill(PLANKS_SPRUCE, world(35, -57, -7), world(41, -57, 2), FillOperation.HOLLOW)
blocks.fill(MOSSY_STONE_BRICKS, world(-113, -60, 4), world(-113, -58, 0), FillOperation.HOLLOW)
blocks.fill(MOSSY_STONE_BRICKS, world(35, -60, 2), world(41, -58, 2), FillOperation.HOLLOW)
blocks.fill(MOSSY_STONE_BRICKS, world(41, -60, 1), world(41, -58, -6), FillOperation.HOLLOW)
blocks.fill(PLANKS_SPRUCE, world(35, -57, -7), world(41, -57, 2), FillOperation.HOLLOW)
def wand(x,y,z):
blocks.fill(MOSSY_STONE_BRICKS, world(x, y, z), world(x, y+2, z-4), FillOperation.HOLLOW)
wand(-113, -60, 4)
wand(-123, -60, 4)
def wand2(x,y,z):
blocks.fill(MOSSY_STONE_BRICKS, world(x, y, z), world(x-8, y+2, z), FillOperation.HOLLOW)
wand2 (-114,-60,0)
def wand3(x,y,z):
blocks.fill(MOSSY_STONE_BRICKS, world(x, y, z), world(x-10, y, z+4), FillOperation.HOLLOW)
wand3(-113, -57, 0)
def hay(x,y,z):
blocks.fill(HAY_BLOCK, world(x, y, z), world(x+2, y, z), FillOperation.HOLLOW)
hay(-117, -60, 3)
def spawn_tiere(x,y,z):
My_list = [MUSHROOM_COW]
for i in range(1):
mobs.spawn (My_list[0],world(x,y,z))
spawn_tiere(-122, -60, 11)
**Pferde-/Esel-/Alpakagehege (Lívia)**
**Zaun:**
def zaun(x,y,z):
blocks.fill(SPRUCE_FENCE, world(x, y, z), world(x-19, y+1, z-29), FillOperation.HOLLOW)
blocks.fill(AIR, world(x-1, y, z-1), world(x-18, y+1, z-28), FillOperation.HOLLOW)
zaun(-60, -60, -33)
**Unterstand:**
def unterstand(x,y,z):
blocks.fill(MOSSY_STONE_BRICKS, world(x, y, z), world(x+6, y+2, z), FillOperation.HOLLOW)
blocks.fill(MOSSY_STONE_BRICKS, world(x, y, z+9), world(x+6, y+2, z+9), FillOperation.HOLLOW)
blocks.fill(MOSSY_STONE_BRICKS, world(x+6, y, z+8), world(x+6, y+2, z+1), FillOperation.HOLLOW)
blocks.fill(PLANKS_SPRUCE, world(x, y+3, z), world(x+6, y+3, z+9), FillOperation.HOLLOW)
unterstand(-67, -60, -43)
**Teich:**
def teich(x,y,z):
blocks.fill(WATER, world(x, y, z), world(x+3, y, z-4), FillOperation.HOLLOW)
teich(-68, -61, -53)
**Baum:**
def baum(x,y,z):
blocks.fill(LEAVES_BIRCH, world(x, y, z), world(x+2, y+2, z-4), FillOperation.HOLLOW)
blocks.fill(LOG_BIRCH, world(x+1, y-4, z-2), world(x+1, y+1, z-2), FillOperation.HOLLOW)
baum(-74, -56, -57)
baum(-77, -56, -40)
baum(-71, -56, -45)
**Heu:**
def heu(x,y,z):
blocks.fill(HAY_BLOCK, world(x, y, z), world(x, y, z), FillOperation.HOLLOW)
heu(-73, -60, -37)
heu(-73, -60, -36)
heu(-62, -60, -40)
**Tiere**
def spawn_tiere(x,y,z):
My_list = [HORSE, DONKEY,LLAMA] # Erweiterungsmöglichkeit
for i in range(2):
mobs.spawn (My_list[0],world(x+3,y,z+3))
mobs.spawn(My_list[1], world(x+2,y,z+2))
mobs.spawn(My_list[2], world(x+2,y,z+2))
spawn_tiere(-74, -60, -52)
**Kompletter Code:**
def zaun(x,y,z):
blocks.fill(SPRUCE_FENCE, world(x, y, z), world(x-19, y+1, z-29), FillOperation.HOLLOW)
blocks.fill(AIR, world(x-1, y, z-1), world(x-18, y+1, z-28), FillOperation.HOLLOW)
zaun(-60, -60, -33)
def unterstand(x,y,z):
blocks.fill(MOSSY_STONE_BRICKS, world(x, y, z), world(x+6, y+2, z), FillOperation.HOLLOW)
blocks.fill(MOSSY_STONE_BRICKS, world(x, y, z+9), world(x+6, y+2, z+9), FillOperation.HOLLOW)
blocks.fill(MOSSY_STONE_BRICKS, world(x+6, y, z+8), world(x+6, y+2, z+1), FillOperation.HOLLOW)
blocks.fill(PLANKS_SPRUCE, world(x, y+3, z), world(x+6, y+3, z+9), FillOperation.HOLLOW)
unterstand(-67, -60, -43)
def teich(x,y,z):
blocks.fill(WATER, world(x, y, z), world(x+3, y, z-4), FillOperation.HOLLOW)
teich(-68, -61, -53)
def baum(x,y,z):
blocks.fill(LEAVES_BIRCH, world(x, y, z), world(x+2, y+2, z-4), FillOperation.HOLLOW)
blocks.fill(LOG_BIRCH, world(x+1, y-4, z-2), world(x+1, y+1, z-2), FillOperation.HOLLOW)
baum(-74, -56, -57)
baum(-77, -56, -40)
baum(-71, -56, -45)
def heu(x,y,z):
blocks.fill(HAY_BLOCK, world(x, y, z), world(x, y, z), FillOperation.HOLLOW)
heu(-73, -60, -37)
heu(-73, -60, -36)
heu(-62, -60, -40)
def spawn_tiere(x,y,z):
My_list = [HORSE, DONKEY,LLAMA] # Erweiterungsmöglichkeit
for i in range(2):
mobs.spawn (My_list[0],world(x+3,y,z+3))
mobs.spawn(My_list[1], world(x+2,y,z+2))
mobs.spawn(My_list[2], world(x+2,y,z+2))
spawn_tiere(-74, -60, -52)
**Aquarium Noël:**
**Kompletter Code: **
# Startkoordinaten: -105, -60, 0
#NM
def aquarium(x, y, z):
y_base = 0
bottom = 1
tunnelY = 2
tunnelHeight = 5
blocks.fill(GLASS, world(-104, -60, 1), world(-104 + x, -60 + y, 1 + z), FillOperation.HOLLOW)
blocks.fill(WATER, world(-104, -60, 1), world(-104 + x, -60 + y, 1 + z), FillOperation.KEEP)
for i in range(2, x + 1):
for k in range(2, z + 1):
thickness = randint(1, 3)
top_sand = bottom + thickness - 1
if randint(0, 25) == 1:
blocks.fill(SEA_LANTERN, world(-105 + i, -59, 0 + k), world(-105 + i, -59 + top_sand, 0 + k), FillOperation.REPLACE)
for f in range(2):
mobs.spawn(TROPICAL_FISH, world(-105 + i, -59 + top_sand + 2, 0 + k))
if randint(0, 35) == 1:
mobs.spawn(AXOLOTL, world(-105 + i, -59 + top_sand + 2, 0 + k))
mobs.spawn(GLOW_SQUID, world(-105 + i, -59 + top_sand + 2, 0 + k))
if randint(0, 5) == 1:
mobs.spawn(DROWNED, world(-105 + i, -59 + top_sand + 2, 0 + k))
else:
if randint(0, 10) == 1:
blocks.fill(GRAVEL, world(-105 + i, -59, 0 + k), world(-105 + i, -59 + top_sand, 0 + k), FillOperation.REPLACE)
else:
blocks.fill(SAND, world(-105 + i, -59, 0 + k), world(-105 + i, -59 + top_sand, 0 + k), FillOperation.REPLACE)
mid_x = (1 + x / 2)
blocks.fill(GLASS, world(-105 + mid_x - 2, -59 + tunnelY - 1, 1), world(-105 + mid_x + 2, -59 + tunnelHeight + 2, 1 + z), FillOperation.REPLACE)
blocks.fill(GLASS, world(-104, -59 + tunnelY - 1, 1 + mid_x - 2), world(-104 + x, -59 + tunnelHeight + 2, 1 + mid_x + 2), FillOperation.REPLACE)
blocks.fill(AIR, world(-104, -59 + tunnelHeight + 2, 1 + mid_x), world(-104 + x, -59 + tunnelHeight + 2, 1 + mid_x), FillOperation.REPLACE)
blocks.fill(AIR, world(-105 + mid_x, -59 + tunnelHeight + 2, 1), world(-105 + mid_x, -59 + tunnelHeight + 2, 1 + z), FillOperation.REPLACE)
blocks.fill(SEA_LANTERN, world(-104, -59 + tunnelHeight + 3, 1 + mid_x), world(-104 + x, -59 + tunnelHeight + 3, 1 + mid_x), FillOperation.REPLACE)
blocks.fill(SEA_LANTERN, world(-105 + mid_x, -59 + tunnelHeight + 3, 1), world(-105 + mid_x, -59 + tunnelHeight + 3, 1 + z), FillOperation.REPLACE)
blocks.fill(AIR, world(-105 + mid_x - 1, -60 + tunnelY, 1), world(-105 + mid_x + 1, -59 + tunnelHeight + 1, 1 + z), FillOperation.REPLACE)
blocks.fill(AIR, world(-104, -60 + tunnelY, 1 + mid_x - 1), world(-104 + x, -59 + tunnelHeight + 1, 1 + mid_x + 1), FillOperation.REPLACE)
aquarium(12, 12, 12)
**Panda-Gehege (Valerie)**
**Zaun**
def zaun (x,y,z):
blocks.fill(DARK_OAK_FENCE, world(x,y,z,), world(x+24,y,z+24), FillOperation.HOLLOW)
blocks.fill (AIR, world(x+1,y,z+1),world(x+23,y,z+23), FillOperation.HOLLOW)
zaun(-79,-60,-17)
** Bambus**
def Bambus (x,y,z):
blocks.fill(BAMBOO, world(x,y,z), world(x,y+4,z), FillOperation.REPLACE)
blocks.fill(BAMBOO, world(x,y,z+1), world(x,y+3,z+1), FillOperation.REPLACE)
blocks.fill(BAMBOO, world(x-1,y,z), world(x-1,y+2,z), FillOperation.REPLACE)
Bambus (-76,-60,-13)
Bambus (-76,-60,3)
Bambus (-74,-60,5)
Bambus (-60,-60,-11)
Bambus (-65,-60,-15)
Bambus (-71,-60,-3)
Bambus (-60,-60,3)
**Bambushaus**
def Bambushaus (x,y,z):
for i in range (4):
blocks.fill(BAMBOO_MOSAIC, world(x,y+i,z+i), world(x+6-i,y+i,z+i), FillOperation.HOLLOW)
blocks.fill(BAMBOO_MOSAIC, world(x+6-i,y+i,z+i), world(x+6-i,y+i,z+7-i), FillOperation.HOLLOW)
blocks.fill(BAMBOO_MOSAIC, world(x+6-i,y+i,z+7-i), world(x,y+i,z+7-i), FillOperation.HOLLOW)
Bambushaus (-69,-60,-11)
**Tiere**
def spawn_tiere(x,y,z):
My_list = [PANDA]
for i in range(1):
mobs.spawn (My_list[0], world(x,y,z))
spawn_tiere(-76,-60,-7)
spawn_tiere(-66,-60,-13)
spawn_tiere(-66,-60,-13)
spawn_tiere(-69,-60,0)
spawn_tiere(-66,-56,-8)
**Kompletter Code**
def zaun (x,y,z):
blocks.fill(DARK_OAK_FENCE, world(x,y,z,), world(x+24,y,z+24), FillOperation.HOLLOW)
blocks.fill (AIR, world(x+1,y,z+1),world(x+23,y,z+23), FillOperation.HOLLOW)
zaun(-79,-60,-17)
def Bambus (x,y,z):
blocks.fill(BAMBOO, world(x,y,z), world(x,y+4,z), FillOperation.REPLACE)
blocks.fill(BAMBOO, world(x,y,z+1), world(x,y+3,z+1), FillOperation.REPLACE)
blocks.fill(BAMBOO, world(x-1,y,z), world(x-1,y+2,z), FillOperation.REPLACE)
Bambus (-76,-60,-13)
Bambus (-76,-60,3)
Bambus (-74,-60,5)
Bambus (-60,-60,-11)
Bambus (-65,-60,-15)
Bambus (-71,-60,-3)
Bambus (-60,-60,3)
def Bambushaus (x,y,z):
for i in range (4):
blocks.fill(BAMBOO_MOSAIC, world(x,y+i,z+i), world(x+6-i,y+i,z+i), FillOperation.HOLLOW)
blocks.fill(BAMBOO_MOSAIC, world(x+6-i,y+i,z+i), world(x+6-i,y+i,z+7-i), FillOperation.HOLLOW)
blocks.fill(BAMBOO_MOSAIC, world(x+6-i,y+i,z+7-i), world(x,y+i,z+7-i), FillOperation.HOLLOW)
Bambushaus (-69,-60,-11)
def spawn_tiere(x,y,z):
My_list = [PANDA]
for i in range(1):
mobs.spawn (My_list[0], world(x,y,z))
spawn_tiere(-76,-60,-7)
spawn_tiere(-66,-60,-13)
spawn_tiere(-66,-60,-13)
spawn_tiere(-69,-60,0)
spawn_tiere(-66,-56,-8)
**Weg durch den Zoo (Livia)**
#Weg
def weg(x,y,z):
blocks.fill(STONE_BRICKS, world(x, y, z), world(x-4, y, z+98), FillOperation.HOLLOW)
weg(-82, -61, -66)
(Im endgültigen Code wurden bei def Funktionen die Initialen der verantwortlichen Person geschrieben.)
**Anweisungen und der komplette Code für die Testspieler:**
**Bei Spieleinstellungen muss man:**
-den Welttyp "flach" wählen
-sich zu einem operator machen
-"Kreaturen-spawn" ausschalten
-wenn man will auf "immer tag" stellen
**Kompletter Code um unsere Welt zu besuchen!**
player.execute("say Willkommen in unserer Welt! Finde den Eingang zum Zoo und dann viel Spass :D")
#mauer
def zoomauer(x,y,z):
blocks.fill(STONE_BRICKS, world(x, y, z), world(x-68, y+2, z+101), FillOperation.HOLLOW)
blocks.fill(AIR, world(x-1, y, z+1), world(x-67, y+2, z+100), FillOperation.HOLLOW)
zoomauer(-54, -60, -66)
#Eingangsbogen
def bogen(x,y,z):
blocks.fill(STONE_BRICKS, world(x, y, z), world(x-10, y+5, z), FillOperation.HOLLOW)
blocks.fill(AIR, world(x-1, y, z), world(x-9, y+4, z), FillOperation.HOLLOW)
blocks.fill(STONE_BRICKS, world(x-2, y+6, z), world(x-8, y+6, z), FillOperation.HOLLOW)
blocks.fill(STONE_BRICKS, world(x-4, y+7, z), world(x-6, y+7, z), FillOperation.HOLLOW)
bogen(-79, -60, -66)
#weg
def weg(x,y,z):
blocks.fill(STONE_BRICKS, world(x, y, z), world(x-4, y, z+98), FillOperation.HOLLOW)
weg(-82, -61, -66)
##Gehege Pferde, Esel, Alpaka
#Zaun
def zaunL(x,y,z):
blocks.fill(SPRUCE_FENCE, world(x, y, z), world(x-19, y+1, z-29), FillOperation.HOLLOW)
blocks.fill(AIR, world(x-1, y, z-1), world(x-18, y+1, z-28), FillOperation.HOLLOW)
zaunL(-60, -60, -33)
#Unterstand
def unterstandL(x,y,z):
blocks.fill(MOSSY_STONE_BRICKS, world(x, y, z), world(x+6, y+2, z), FillOperation.HOLLOW)
blocks.fill(MOSSY_STONE_BRICKS, world(x, y, z+9), world(x+6, y+2, z+9), FillOperation.HOLLOW)
blocks.fill(MOSSY_STONE_BRICKS, world(x+6, y, z+8), world(x+6, y+2, z+1), FillOperation.HOLLOW)
blocks.fill(PLANKS_SPRUCE, world(x, y+3, z), world(x+6, y+3, z+9), FillOperation.HOLLOW)
unterstandL(-67, -60, -43)
#Teich
def teichL(x,y,z):
blocks.fill(WATER, world(x, y, z), world(x+3, y, z-4), FillOperation.HOLLOW)
teichL(-68, -61, -53)
#Baum
def baumL(x,y,z):
blocks.fill(LEAVES_BIRCH, world(x, y, z), world(x+2, y+2, z-4), FillOperation.HOLLOW)
blocks.fill(LOG_BIRCH, world(x+1, y-4, z-2), world(x+1, y+1, z-2), FillOperation.HOLLOW)
baumL(-74, -56, -57)
baumL(-77, -56, -40)
baumL(-71, -56, -45)
# Heu
def heuL(x,y,z):
blocks.fill(HAY_BLOCK, world(x, y, z), world(x, y, z), FillOperation.HOLLOW)
heuL(-73, -60, -37)
heuL(-73, -60, -36)
heuL(-62, -60, -40)
#Tiere
def spawn_tiereL(x,y,z):
My_list = [HORSE, DONKEY,LLAMA] # Erweiterungsmöglichkeit
for i in range(2):
mobs.spawn (My_list[0],world(x+3,y,z+3))
mobs.spawn(My_list[1], world(x+2,y,z+2))
mobs.spawn(My_list[2], world(x+2,y,z+2))
spawn_tiereL(-74, -60, -52)
#kuhgehege
#Zaun
def zaunIA(x, y, z):
blocks.fill(BIRCH_FENCE, world(x, y, z), world(x + 25, y+1, z + 25), FillOperation.HOLLOW)
blocks.fill(AIR, world(x + 1, y, z + 1), world(x + 24, y+1, z + 24), FillOperation.HOLLOW)
zaunIA(-114, -60, -61)
#Wasser
def teichA(x,y,z):
blocks.fill(WATER, world(x, y, z), world(x+6, y, z+5), FillOperation.HOLLOW)
teichA(-97, -61, -44)
#Baum
def baumA(x,y,z):
blocks.fill(LEAVES_SPRUCE, world(x, y, z), world(x+2, y+2, z-4), FillOperation.HOLLOW)
blocks.fill(LOG_SPRUCE, world(x+1, y-4, z-2), world(x+1, y+1, z-2), FillOperation.HOLLOW)
baumA(-94, -56, -52)
baumA(-101, -56, -43)
baumA(-109, -56, -48)
#Unterstand
def wandA(x,y,z):
blocks.fill(MOSSY_STONE_BRICKS, world(x, y, z), world(x, y+2, z-4), FillOperation.HOLLOW)
wandA(-110, -60,-56)
wandA(-102, -60, -56)
def wand2A(x,y,z):
blocks.fill(MOSSY_STONE_BRICKS, world(x, y, z), world(x-8, y+2, z), FillOperation.HOLLOW)
wand2A(-102,-60,-60)
def dachA(x,y,z):
blocks.fill(MOSSY_STONE_BRICKS, world(x, y, z), world(x-8, y, z+4), FillOperation.HOLLOW)
dachA(-102, -57, -60)
def hayA(x,y,z):
blocks.fill(HAY_BLOCK, world(x, y, z), world(x+2, y, z), FillOperation.HOLLOW)
hayA(-106, -60, -59)
hayA(-108, -60, -41)
def spawn_tiereA(x,y,z):
My_list = [MUSHROOM_COW]
for i in range(4):
mobs.spawn (My_list[0],world(x,y,z))
spawn_tiereA(-102, -60, -52)
#pandagehege
def zaunV (x,y,z):
blocks.fill(DARK_OAK_FENCE, world(x,y,z,), world(x+24,y,z+24), FillOperation.HOLLOW)
blocks.fill (AIR, world(x+1,y,z+1),world(x+23,y,z+23), FillOperation.HOLLOW)
zaunV(-79,-60,-17)
def BambusV (x,y,z):
blocks.fill(BAMBOO, world(x,y,z), world(x,y+4,z), FillOperation.REPLACE)
blocks.fill(BAMBOO, world(x,y,z+1), world(x,y+3,z+1), FillOperation.REPLACE)
blocks.fill(BAMBOO, world(x-1,y,z), world(x-1,y+2,z), FillOperation.REPLACE)
BambusV (-76,-60,-13)
BambusV (-76,-60,3)
BambusV (-74,-60,5)
BambusV (-60,-60,-11)
BambusV (-65,-60,-15)
BambusV (-71,-60,-3)
BambusV (-60,-60,3)
def BambushausV (x,y,z):
for i in range (4):
blocks.fill(BAMBOO_MOSAIC, world(x,y+i,z+i), world(x+6-i,y+i,z+i), FillOperation.HOLLOW)
blocks.fill(BAMBOO_MOSAIC, world(x+6-i,y+i,z+i), world(x+6-i,y+i,z+7-i), FillOperation.HOLLOW)
blocks.fill(BAMBOO_MOSAIC, world(x+6-i,y+i,z+7-i), world(x,y+i,z+7-i), FillOperation.HOLLOW)
BambushausV (-69,-60,-11)
def spawn_tiereV(x,y,z):
My_list = [PANDA]
for i in range(1):
mobs.spawn (My_list[0], world(x,y,z))
spawn_tiereV(-76,-60,-7)
spawn_tiereV(-66,-60,-13)
spawn_tiereV(-66,-60,-13)
spawn_tiereV(-69,-60,0)
spawn_tiereV(-66,-56,-8)
#schweinegehege
def zaunIM(x,y,z):
blocks.fill(BIRCH_FENCE, world(x,y,z), world(x+25,y,z+25), FillOperation.HOLLOW)
blocks.fill(AIR, world(x+1,y,z+1), world(x+24,y,z+24), FillOperation.HOLLOW)
zaunIM(-113,-60,-29)
def zaunIIM(x,y,z):
blocks.fill(BIRCH_FENCE, world(x,y,z), world(x+25,y,z+25), FillOperation.HOLLOW)
blocks.fill(AIR, world(x+1,y,z+1), world(x+24,y,z+24), FillOperation.HOLLOW)
zaunIIM(-113,-59,-29)
def spawn_tiereM(x,y,z):
My_list = [PIG, SHEEP]
for i in range(4):
mobs.spawn(My_list[0],world(x+5,y,z+5))
mobs.spawn(My_list[1], world(x+5,y,z+5))
spawn_tiereM(-113,-60,-29)
def spawn_blumenM(x_base,y_base,z_base):
blumen = [OXEYE_DAISY, PINK_TULIP, LILY_OF_THE_VALLEY, CORNFLOWER, ALLIUM]
for x in range(23):
for z in range(23):
if randint(0,5) == 0:
blocks.place(blumen[randint(0,4)], world(x_base + 1 + x, y_base, z_base + 1 + z))
spawn_blumenM(-113,-60,-29)
def baumM(x,y,z):
blocks.fill(LEAVES_BIRCH, world(x + 6, y + 4, z + 6), world(x, y + 7, z), FillOperation.REPLACE)
blocks.fill(LOG_BIRCH, world(x + 3, y, z + 3), world(x + 3, y + 5, z + 3), FillOperation.REPLACE)
baumM(-113,-60,-29)
# Startkoordinaten: -105, -60, 0
#NM
def aquarium(x, y, z):
y_base = 0
bottom = 1
tunnelY = 2
tunnelHeight = 5
blocks.fill(GLASS, world(-104, -60, 1), world(-104 + x, -60 + y, 1 + z), FillOperation.HOLLOW)
blocks.fill(WATER, world(-104, -60, 1), world(-104 + x, -60 + y, 1 + z), FillOperation.KEEP)
for i in range(2, x + 1):
for k in range(2, z + 1):
thickness = randint(1, 3)
top_sand = bottom + thickness - 1
if randint(0, 25) == 1:
blocks.fill(SEA_LANTERN, world(-105 + i, -59, 0 + k), world(-105 + i, -59 + top_sand, 0 + k), FillOperation.REPLACE)
for f in range(2):
mobs.spawn(TROPICAL_FISH, world(-105 + i, -59 + top_sand + 2, 0 + k))
if randint(0, 35) == 1:
mobs.spawn(AXOLOTL, world(-105 + i, -59 + top_sand + 2, 0 + k))
mobs.spawn(GLOW_SQUID, world(-105 + i, -59 + top_sand + 2, 0 + k))
if randint(0, 5) == 1:
mobs.spawn(DROWNED, world(-105 + i, -59 + top_sand + 2, 0 + k))
else:
if randint(0, 10) == 1:
blocks.fill(GRAVEL, world(-105 + i, -59, 0 + k), world(-105 + i, -59 + top_sand, 0 + k), FillOperation.REPLACE)
else:
blocks.fill(SAND, world(-105 + i, -59, 0 + k), world(-105 + i, -59 + top_sand, 0 + k), FillOperation.REPLACE)
mid_x = (1 + x / 2)
blocks.fill(GLASS, world(-105 + mid_x - 2, -59 + tunnelY - 1, 1), world(-105 + mid_x + 2, -59 + tunnelHeight + 2, 1 + z), FillOperation.REPLACE)
blocks.fill(GLASS, world(-104, -59 + tunnelY - 1, 1 + mid_x - 2), world(-104 + x, -59 + tunnelHeight + 2, 1 + mid_x + 2), FillOperation.REPLACE)
blocks.fill(AIR, world(-104, -59 + tunnelHeight + 2, 1 + mid_x), world(-104 + x, -59 + tunnelHeight + 2, 1 + mid_x), FillOperation.REPLACE)
blocks.fill(AIR, world(-105 + mid_x, -59 + tunnelHeight + 2, 1), world(-105 + mid_x, -59 + tunnelHeight + 2, 1 + z), FillOperation.REPLACE)
blocks.fill(SEA_LANTERN, world(-104, -59 + tunnelHeight + 3, 1 + mid_x), world(-104 + x, -59 + tunnelHeight + 3, 1 + mid_x), FillOperation.REPLACE)
blocks.fill(SEA_LANTERN, world(-105 + mid_x, -59 + tunnelHeight + 3, 1), world(-105 + mid_x, -59 + tunnelHeight + 3, 1 + z), FillOperation.REPLACE)
blocks.fill(AIR, world(-105 + mid_x - 1, -60 + tunnelY, 1), world(-105 + mid_x + 1, -59 + tunnelHeight + 1, 1 + z), FillOperation.REPLACE)
blocks.fill(AIR, world(-104, -60 + tunnelY, 1 + mid_x - 1), world(-104 + x, -59 + tunnelHeight + 1, 1 + mid_x + 1), FillOperation.REPLACE)
aquarium(12, 12, 12)
#restliche deko
def dekobaum(x,y,z):
blocks.fill(LEAVES_OAK, world(x, y, z), world(x+2, y+2, z-4), FillOperation.HOLLOW)
blocks.fill(LOG_OAK, world(x+1, y-4, z-2), world(x+1, y+1, z-2), FillOperation.HOLLOW)
dekobaum(-65, -56, 28)
dekobaum(-74, -56, 21)
dekobaum(-67, -56, 15)
dekobaum(-111, -56, 27)
dekobaum(-98, -56, 20)