archiv:ef:ef2020_2022:minecraft:projekt:tiborleandrodandanil:start

Tibor, Leandro, Danil

Unsere Idee besteht darin, einige architektonische Bauwerke auf Knopfdruck errichten zu lassen.

Tibor:

Ich habe an zwei Projekten gearbeitet:

  • Die Fassade vom Gebäude B und C von Gambach
  • Das VAB (Vehicle Assembly Building) Gebäude der NASA

Die Fassade von Gambach wurde hauptsächlich mit While-Schleifen gebaut. Es platziert mit block.place() jedes einzelne Block. Für das VAB hingegen habe ich die viel effizientere Blocks.fill() Funktion benutzt die es ermöglicht schneller, effizienter und grösser zu bauen.

Die Idee mit dem VAB fand ich gut, da es ein grosses Gebäude ist und dementsprechend so Details eingabaut werden können. Hinzu kommt, dass das Gebäude mit geometrischen Formen nachbaubar ist und so für Minecraft und Python gut geeignet ist. Der grosse Weisse Teil vom Hauptgebäude entspricht den Proportionen vom echten Gebäude. Der Rest ist nicht Massstabsgetreu, ich habe dazu keine Angaben gefunden und so nur mit Augenmass gearbeitet.

Gambach

#Gambach
def on_on_chat():
    Build_Gambach()
player.on_chat("Gambach", on_on_chat)

def Build_Gambach():
    a=0
    b=0
    #Fassade
    blocks.fill(BLOCK_OF_QUARTZ, pos(5, 0, 0), pos(5, 16, 19))
    #Eingangsausschnitt
    b=4
    while b<20:
        a=0
        while a<3:
            blocks.place(AIR, pos(5, a, b))
            a=a+1
        b=b+1
    #Eingang
    c=1
    while c<5:

        b=1
        while b<(4+(c*4)):
            a=0
            while a<3:
                blocks.place(BLACK_CONCRETE, pos(5+c, a, b))
                a=a+1
            b=b+1
        c=c+1
    #Eingang esthetik
    c=0
    while c<5:
        b=0
        while b<20:
            blocks.place(BLOCK_OF_QUARTZ, pos(5+c, 3, b))
            b=b+1
        c=c+1
    
    #fenster
    c=0
    while c<3:
        b=4
        while b<10:
            a=0
            while a<2:
                blocks.place(AIR, pos(5, 4+(c*3)+a, b))
                a=a+1
            b=b+1
        c=c+1
    
    #fenster2
    c=0
    while c<3:
        b=11
        while b<18:
            a=0
            while a<2:
                blocks.place(AIR, pos(5, 5+(c*3)+a, b))
                a=a+1
            b=b+1
        c=c+1
    
    #fensterhintergrund
    c=0
    while c<3:
        b=4
        while b<10:
            a=0
            while a<2:
                blocks.place(LIGHT_GRAY_TERRACOTTA, pos(6, 4+(c*3)+a, b))
                a=a+1
            b=b+1
        c=c+1
    
    #fenster2hintergrund
    c=0
    while c<3:
        b=11
        while b<18:
            a=0
            while a<2:
                blocks.place(LIGHT_GRAY_TERRACOTTA, pos(6, 5+(c*3)+a, b))
                a=a+1
            b=b+1
        c=c+1
    
    #fensterscheiben
    c=0
    while c<3:
        b=4
        while b<10:
            a=0
            while a<2:
                blocks.place(GLASS, pos(5, 4+(c*3)+a, b))
                a=a+1
            b=b+1
        c=c+1
    
    #fenster2scheiben
    c=0
    while c<3:
        b=11
        while b<18:
            a=0
            while a<2:
                blocks.place(GLASS, pos(5, 5+(c*3)+a, b))
                a=a+1
            b=b+1
        c=c+1

    #Dach1
    c=0
    while c<4:
        b=0
        while b<(2+(c*2)):
            a=0
            while a<3:
                blocks.place(AIR, pos(5, 14+c, b))
                a=a+1
            b=b+1
        c=c+1
        
    #Dach2
    c=0
    while c<3:
        shapes.line(AIR, pos(5, 16-c, 8+(c*4)), pos(5, 16-c, 20))
        c=c+1

VAB Funktion
def on_on_chat():
    build_it()
player.on_chat("build", on_on_chat)
 
def build_it():
    #Weisser Körper und schwarze Hangartüren
    blocks.fill(BLOCK_OF_QUARTZ, pos(15, 0, 0), pos(15, 80, 80)) #Vorderwand
    blocks.fill(BLOCK_OF_QUARTZ, pos(125, 0, 0), pos(125, 80, 80)) #Hinterwand
    blocks.fill(BLOCK_OF_QUARTZ, pos(15, 0, 0), pos(125, 80, 0)) #Seitenwand links
    blocks.fill(BLOCK_OF_QUARTZ, pos(15, 0, 80), pos(125, 80, 80)) #Seitenwand rechts
    blocks.fill(BLOCK_OF_QUARTZ, pos(15, 80, 0), pos(125, 80, 80)) #Deckel
    a=0
    #Tor links
    while a<8:
        blocks.fill(BLACK_WOOL, pos(15, 0+(a*10), 10), pos(15-a, 10+(a*10), 30))
        a=a+1
 
 
    a=0
    #Tor rechts
    while a<8:
        blocks.fill(BLACK_WOOL, pos(15, 0+(a*10), 50), pos(15-a, 10+(a*10), 70))
        a=a+1
 
    #Grauer rahmen
    blocks.fill(LIGHT_GRAY_CONCRETE, pos(50, 80, 0), pos(90, 70, 0))
    blocks.fill(LIGHT_GRAY_CONCRETE, pos(50, 80, 0), pos(54, 0, 0))
    blocks.fill(LIGHT_GRAY_CONCRETE, pos(90, 80, 0), pos(86, 0, 0))
 
 
 
    #Amerikanische Flagge
    blocks.fill(BLUE_CONCRETE, pos(120, 76, 0), pos(107, 61, 0)) #Blaues viereck
    blocks.fill(RED_CONCRETE, pos(120, 60, 0), pos(119, 37, 0)) #Streifen 1
    blocks.fill(RED_CONCRETE, pos(116, 60, 0), pos(115, 37, 0)) #Streifen 2
    blocks.fill(RED_CONCRETE, pos(112, 60, 0), pos(111, 37, 0)) #Streifen 3
    blocks.fill(RED_CONCRETE, pos(108, 60, 0), pos(107, 37, 0)) #Streifen 4
    #Lange Streifen
    blocks.fill(RED_CONCRETE, pos(104, 76, 0), pos(103, 37, 0)) #Streifen 5
    blocks.fill(RED_CONCRETE, pos(100, 76, 0), pos(99, 37, 0)) #Streifen 6
    blocks.fill(RED_CONCRETE, pos(96, 76, 0), pos(95, 37, 0)) #Streifen 7
 
    #BIG BLUE SQUARE
    blocks.fill(LIGHT_BLUE_TERRACOTTA, pos(80, 0, 0), pos(60, 60, 0)) 
 
 
    #Nasa Logo circle
    shapes.circle(BLUE_CONCRETE, pos(32, 55, 0), 12, Axis.Z, ShapeOperation.REPLACE)
 
    #RED LINE 
    shapes.line(RED_CONCRETE, pos(44, 50, 0), pos(21, 63, 0))
    shapes.line(RED_CONCRETE, pos(44, 43, 0), pos(21, 63, 0))
 
    #NASA Schrift
 
    #BUCHSTABE A (nasA)
    blocks.fill(BLOCK_OF_QUARTZ, pos(23, 53, 0), pos(23, 56, 0))
    blocks.fill(BLOCK_OF_QUARTZ, pos(26, 53, 0), pos(26, 56, 0))
    blocks.fill(BLOCK_OF_QUARTZ, pos(24, 57, 0), pos(25, 57, 0))
    blocks.fill(BLOCK_OF_QUARTZ, pos(24, 54, 0), pos(25, 54, 0))
 
    #BUCHSTABE A (nAsa)
    blocks.fill(BLOCK_OF_QUARTZ, pos(33, 53, 0), pos(33, 56, 0))
    blocks.fill(BLOCK_OF_QUARTZ, pos(36, 53, 0), pos(36, 56, 0))
    blocks.fill(BLOCK_OF_QUARTZ, pos(34, 57, 0), pos(35, 57, 0))
    blocks.fill(BLOCK_OF_QUARTZ, pos(34, 54, 0), pos(35, 54, 0))
 
    #BUCHSTABE A (Nasa)
    blocks.fill(BLOCK_OF_QUARTZ, pos(38, 53, 0), pos(38, 57, 0))
    blocks.fill(BLOCK_OF_QUARTZ, pos(41, 53, 0), pos(41, 57, 0))
    blocks.fill(BLOCK_OF_QUARTZ, pos(40, 55, 0), pos(40, 56, 0))
    blocks.fill(BLOCK_OF_QUARTZ, pos(39, 54, 0), pos(39, 55, 0))
 
    #BUCHSTABE S (naSa)
    blocks.fill(BLOCK_OF_QUARTZ, pos(29, 53, 0), pos(31, 53, 0))
    blocks.fill(BLOCK_OF_QUARTZ, pos(28, 57, 0), pos(30, 57, 0))
    blocks.fill(BLOCK_OF_QUARTZ, pos(29, 55, 0), pos(30, 55, 0))
    blocks.place(BLOCK_OF_QUARTZ, pos(31, 56, 0))
    blocks.place(BLOCK_OF_QUARTZ, pos(28, 54, 0))
 
    #BIG WHITE CUBE
    blocks.fill(BLOCK_OF_QUARTZ, pos(85, 0, -30), pos(55, 30, 0))
    #SMALL BLUE SQUARE
    blocks.fill(LIGHT_BLUE_TERRACOTTA, pos(80, 0, -30), pos(60, 25, -30)) 
Leandro:

Mein Projekt ist ein Riesenrad. Ich habe den Code so geschrieben, dass durch das eintippen von „run“ im Chat, ein Riesenrad gebaut wird.

Ich habe vor allem die Funktionen shapes.circle() und blocks.fill() benutzt.

Die Dächer der Kutschen haben eine zufällig generierte Farbe welche ich in einer Liste definiert habe.

Da ich den code mit der Position des Spielers als Ausgangspunkt bestimmt habe, darf sich der Spieler während der Konstruktionsphase nicht bewegen. Dies stelle ich mit einem Glaskäfig sicher. Dieser Glaskäfig wird nach der Konstruktion wieder abgebaut, sodass der Spieler sich wieder Bewegen kann.

#Variables
posX1=20
posX2=posX1+6
 
i=5
 
heightFW=22
 
FWFillRadius=20
FWCarveRadius=FWFillRadius-2
 
#GondelaRoof List
GondelaRoofList = (RED_WOOL, BLUE_WOOL, GREEN_WOOL, YELLOW_WOOL, LIGHT_BLUE_WOOL, CYAN_WOOL)
GondelaRoofBlock = GondelaRoofList[randint(0, i)]
 
def on_chat():
    glasscage()
    player.say("Construction sequence initiated. Don't move.")
    circle()
    supportlegs()
    supportbeams()
    gondela()
    destroyglasscage()
    player.say("Construction complete. You can move now.")
player.on_chat("run", on_chat)
 
def circle():
    #Front Wheel
    shapes.circle(IRON_BLOCK, pos(posX1, heightFW, 0), FWFillRadius, Axis.X, ShapeOperation.REPLACE)
    shapes.circle(AIR, pos(posX1, heightFW, 0), FWCarveRadius, Axis.X, ShapeOperation.REPLACE)
    shapes.circle(IRON_BLOCK, pos(posX1-1, heightFW, 0), FWFillRadius-1, Axis.X, ShapeOperation.REPLACE)    
    shapes.circle(AIR, pos(posX1-1, heightFW, 0), FWCarveRadius-1, Axis.X, ShapeOperation.REPLACE)
 
    #Back Wheel
    shapes.circle(IRON_BLOCK, pos(posX2, heightFW, 0), FWFillRadius, Axis.X, ShapeOperation.REPLACE)
    shapes.circle(AIR, pos(posX2, heightFW, 0), FWCarveRadius, Axis.X, ShapeOperation.REPLACE)
    shapes.circle(IRON_BLOCK, pos(posX2+1, heightFW, 0), FWFillRadius-1, Axis.X, ShapeOperation.REPLACE)
    shapes.circle(AIR, pos(posX2+1, heightFW, 0), FWCarveRadius-1, Axis.X, ShapeOperation.REPLACE)
 
def supportbeams():
    #Middle Beam
    blocks.fill(IRON_BLOCK, pos(posX1-4, heightFW, 0), pos(posX2+4, heightFW, 0))
    #Horizontal Beams
    blocks.fill(STONE, pos(posX1, heightFW, -18), pos(posX1, heightFW, 18)) #1
    blocks.fill(STONE, pos(posX2, heightFW, -18), pos(posX2, heightFW, 18)) #2
    #Vertical Beams
    blocks.fill(STONE, pos(posX1, 40, 0), pos(posX1, 4, 0)) #1
    blocks.fill(STONE, pos(posX2, 40, 0), pos(posX2, 4, 0)) #2
    #Diagonal Beam Right to Left
    shapes.line(STONE, pos(posX1, 10, -12), pos(posX1, 34, 12)) #1
    shapes.line(STONE, pos(posX2, 10, -12), pos(posX2, 34, 12)) #2
    #Diagonal Beam Left to Right
    shapes.line(STONE, pos(posX1, 34, -12), pos(posX1, 10, 12)) #1
    shapes.line(STONE, pos(posX2, 34, -12), pos(posX2, 10, 12)) #2
 
def supportlegs():
    #Front Support Leg
    shapes.line(STONE, pos(posX1-4, 0, -12), pos(posX1-2, 23, 0)) #Left
    shapes.line(STONE, pos(posX1-4, 0, -12), pos(posX1-2, 22, 0)) #Left
    shapes.line(STONE, pos(posX1-4, 0, 12), pos(posX1-2, 23, 0)) #Right
    shapes.line(STONE, pos(posX1-4, 0, 12), pos(posX1-2, 22, 0)) #Right
 
    #Back Support Leg
    shapes.line(STONE, pos(posX2+4, 0, -12), pos(posX2+2, 23, 0)) #Left
    shapes.line(STONE, pos(posX2+4, 0, -12), pos(posX2+2, 22, 0)) #Left
    shapes.line(STONE, pos(posX2+4, 0, 12), pos(posX2+2, 23, 0)) #Right
    shapes.line(STONE, pos(posX2+4, 0, 12), pos(posX2+2, 22, 0)) #Right
 
def gondela():
    #Gondela 30'
    blocks.fill(BLOCK_OF_QUARTZ, pos(posX1+1, -1, -2), pos(posX1+5, -1, 2))
    blocks.fill(GondelaRoofList[randint(0, i)], pos(posX1+1, 3, -2), pos(posX1+5, 3, 2))
    blocks.fill(AIR, pos(posX1+1, -1, -2), pos(posX1+1, 3, -2))
    blocks.fill(AIR, pos(posX1+1, -1, 2), pos(posX1+1, 3, 2))
    blocks.fill(AIR, pos(posX1+5, -1, -2), pos(posX1+5, 3, -2))    
    blocks.fill(AIR, pos(posX1+5, -1, 2), pos(posX1+5, 3, 2))
    blocks.fill(GLASS, pos(posX1+2, 0, -1), pos(posX1+4, 2, 1))
 
    #Gondela 0'
    blocks.fill(BLOCK_OF_QUARTZ, pos(posX1+1, 37, -2), pos(posX1+5, 37, 2))
    blocks.fill(GondelaRoofList[randint(0, i)], pos(posX1+1, 41, -2), pos(posX1+5, 41, 2))
    blocks.fill(AIR, pos(posX1+1, 37, -2), pos(posX1+1, 41, -2))
    blocks.fill(AIR, pos(posX1+1, 37, 2), pos(posX1+1, 41, 2))
    blocks.fill(AIR, pos(posX1+5, 37, -2), pos(posX1+5, 41, -2))    
    blocks.fill(AIR, pos(posX1+5, 37, 2), pos(posX1+5, 41, 2))
    blocks.fill(GLASS, pos(posX1+2, 38, -1), pos(posX1+4, 40, 1))
 
    #Gondela 45'
    blocks.fill(BLOCK_OF_QUARTZ, pos(posX1+1, 18, -21), pos(posX1+5, 18, -17))
    blocks.fill(GondelaRoofList[randint(0, i)], pos(posX1+1, 22, -21), pos(posX1+5, 22, -17))
    blocks.fill(AIR, pos(posX1+1, 18, -21), pos(posX1+1, 22, -21))
    blocks.fill(AIR, pos(posX1+1, 18, -17), pos(posX1+1, 22, -17))
    blocks.fill(AIR, pos(posX1+5, 18, -21), pos(posX1+5, 22, -21))    
    blocks.fill(AIR, pos(posX1+5, 18, -17), pos(posX1+5, 22, -17))
    blocks.fill(GLASS, pos(posX1+2, 19, -20), pos(posX1+4, 21, -18))
 
    #Gondela 15'
    blocks.fill(BLOCK_OF_QUARTZ, pos(posX1+1, 18, 21), pos(posX1+5, 18, 17))
    blocks.fill(GondelaRoofList[randint(0, i)], pos(posX1+1, 22, 21), pos(posX1+5, 22, 17))
    blocks.fill(AIR, pos(posX1+1, 18, 21), pos(posX1+1, 22, 21))
    blocks.fill(AIR, pos(posX1+1, 18, 17), pos(posX1+1, 22, 17))
    blocks.fill(AIR, pos(posX1+5, 18, 21), pos(posX1+5, 22, 21))    
    blocks.fill(AIR, pos(posX1+5, 18, 17), pos(posX1+5, 22, 17))
    blocks.fill(GLASS, pos(posX1+2, 19, 20), pos(posX1+4, 21, 18))
 
    #Gondela 7'30''
    blocks.fill(BLOCK_OF_QUARTZ, pos(posX1+1, 31, 15), pos(posX1+5, 31, 11))
    blocks.fill(GondelaRoofList[randint(0, i)], pos(posX1+1, 35, 15), pos(posX1+5, 35, 11))
    blocks.fill(AIR, pos(posX1+1, 31, 15), pos(posX1+1, 35, 15))
    blocks.fill(AIR, pos(posX1+1, 31, 11), pos(posX1+1, 35, 11))
    blocks.fill(AIR, pos(posX1+5, 31, 15), pos(posX1+5, 35, 15))    
    blocks.fill(AIR, pos(posX1+5, 31, 11), pos(posX1+5, 35, 11))
    blocks.fill(GLASS, pos(posX1+2, 32, 14), pos(posX1+4, 34, 12))
 
    #Gondela 52'30''
    blocks.fill(BLOCK_OF_QUARTZ, pos(posX1+1, 31, -15), pos(posX1+5, 31, -11))
    blocks.fill(GondelaRoofList[randint(0, i)], pos(posX1+1, 35, -15), pos(posX1+5, 35, -11))
    blocks.fill(AIR, pos(posX1+1, 31, -15), pos(posX1+1, 35, -15))
    blocks.fill(AIR, pos(posX1+1, 31, -11), pos(posX1+1, 35, -11))
    blocks.fill(AIR, pos(posX1+5, 31, -15), pos(posX1+5, 35, -15))    
    blocks.fill(AIR, pos(posX1+5, 31, -11), pos(posX1+5, 35, -11))
    blocks.fill(GLASS, pos(posX1+2, 32, -14), pos(posX1+4, 34, -12))
 
    #Gondela 22'30'' 
    blocks.fill(BLOCK_OF_QUARTZ, pos(posX1+1, 4, 15), pos(posX1+5, 4, 11))
    blocks.fill(GondelaRoofList[randint(0, i)], pos(posX1+1, 8, 15), pos(posX1+5, 8, 11))
    blocks.fill(AIR, pos(posX1+1, 4, 15), pos(posX1+1, 8, 15))
    blocks.fill(AIR, pos(posX1+1, 4, 11), pos(posX1+1, 8, 11))
    blocks.fill(AIR, pos(posX1+5, 4, 15), pos(posX1+5, 8, 15))    
    blocks.fill(AIR, pos(posX1+5, 4, 11), pos(posX1+5, 8, 11))
    blocks.fill(GLASS, pos(posX1+2, 5, 14), pos(posX1+4, 7, 12))
 
    #Gondela 37'30''
    blocks.fill(BLOCK_OF_QUARTZ, pos(posX1+1, 4, -15), pos(posX1+5, 4, -11))
    blocks.fill(GondelaRoofList[randint(0, i)], pos(posX1+1, 8, -15), pos(posX1+5, 8, -11))
    blocks.fill(AIR, pos(posX1+1, 4, -15), pos(posX1+1, 8, -15))
    blocks.fill(AIR, pos(posX1+1, 4, -11), pos(posX1+1, 8, -11))
    blocks.fill(AIR, pos(posX1+5, 4, -15), pos(posX1+5, 8, -15))    
    blocks.fill(AIR, pos(posX1+5, 4, -11), pos(posX1+5, 8, -11))
    blocks.fill(GLASS, pos(posX1+2, 5, -14), pos(posX1+4, 7, -12))
 
def glasscage():
    blocks.fill(GLASS, pos(1, 0, -1), pos(-1, 2, 1))
    blocks.fill(AIR, pos(0, 0, 0), pos(0, 1, 0))
 
def destroyglasscage():
    blocks.fill(AIR, pos(1, 0, -1), pos(-1, 2, 1))
Danil:

Für die aztekische Pyramide habe ich am Anfang eine while loop für die Grundpyramide gemacht. Danach habe ich das shapes.line für Treppen benutzt. Zum Schluss habe ich noch das obere Teil hingetan und in der Mitte der Pyramide einen teil mit Luft gefüllt, da die Azteken viele Fallen in ihre Pyramiden einbauten.

x=5
y=0
z=5
m=60
n=1
p=0
 
#pyramid base
while m>32:
    blocks.fill(MOSSY_STONE_BRICKS, pos(x+p, y, z+p), pos(x+m, y+n, z+m))
    m=m-2
    n=n+2
    p=p+2
 
#stairs front
shapes.line(CHISELED_STONE_BRICKS, pos(x+30, y, z-1), pos(x+30, y+27, z+26))
shapes.line(CHISELED_STONE_BRICKS, pos(x+30, y, z-2), pos(x+30, y+27, z+25))
shapes.line(CHISELED_STONE_BRICKS, pos(x+29, y, z-1), pos(x+29, y+27, z+26))
shapes.line(CHISELED_STONE_BRICKS, pos(x+29, y, z-2), pos(x+29, y+27, z+25))
shapes.line(CHISELED_STONE_BRICKS, pos(x+31, y, z-1), pos(x+31, y+27, z+26))
shapes.line(CHISELED_STONE_BRICKS, pos(x+31, y, z-2), pos(x+31, y+27, z+25))
 
#stairs right
shapes.line(CHISELED_STONE_BRICKS, pos(x-1, y, z+30), pos(x+26, y+27, z+30))
shapes.line(CHISELED_STONE_BRICKS, pos(x-2, y, z+30), pos(x+25, y+27, z+30))
shapes.line(CHISELED_STONE_BRICKS, pos(x-1, y, z+29), pos(x+26, y+27, z+29))
shapes.line(CHISELED_STONE_BRICKS, pos(x-2, y, z+29), pos(x+25, y+27, z+29))
shapes.line(CHISELED_STONE_BRICKS, pos(x-1, y, z+31), pos(x+26, y+27, z+31))
shapes.line(CHISELED_STONE_BRICKS, pos(x-2, y, z+31), pos(x+25, y+27, z+31))
 
#stairs left
shapes.line(CHISELED_STONE_BRICKS, pos(x+61, y, z+30), pos(x+34, y+27, z+30))
shapes.line(CHISELED_STONE_BRICKS, pos(x+62, y, z+30), pos(x+35, y+27, z+30))
shapes.line(CHISELED_STONE_BRICKS, pos(x+61, y, z+29), pos(x+34, y+27, z+29))
shapes.line(CHISELED_STONE_BRICKS, pos(x+62, y, z+29), pos(x+35, y+27, z+29))
shapes.line(CHISELED_STONE_BRICKS, pos(x+61, y, z+31), pos(x+34, y+27, z+31))
shapes.line(CHISELED_STONE_BRICKS, pos(x+62, y, z+31), pos(x+35, y+27, z+31))
 
#stairs back
shapes.line(CHISELED_STONE_BRICKS, pos(x+30, y, z+61), pos(x+30, y+27, z+34))
shapes.line(CHISELED_STONE_BRICKS, pos(x+30, y, z+62), pos(x+30, y+27, z+35))
shapes.line(CHISELED_STONE_BRICKS, pos(x+29, y, z+61), pos(x+29, y+27, z+34))
shapes.line(CHISELED_STONE_BRICKS, pos(x+29, y, z+62), pos(x+29, y+27, z+35))
shapes.line(CHISELED_STONE_BRICKS, pos(x+31, y, z+61), pos(x+31, y+27, z+34))
shapes.line(CHISELED_STONE_BRICKS, pos(x+31, y, z+62), pos(x+31, y+27, z+35))
 
#top of the pyramid
blocks.fill(CHISELED_STONE_BRICKS, pos(x+27, y+28, z+27), pos(x+33, y+34, z+33))
blocks.fill(BLACK_CONCRETE, pos(x+28, y+28, z+28), pos(x+32, y+33, z+32))
blocks.fill(AIR, pos(x+27, y+28, z+29), pos(x+27, y+32, z+31))
blocks.fill(AIR, pos(x+29, y+28, z+27), pos(x+31, y+32, z+27))
blocks.fill(AIR, pos(x+33, y+28, z+29), pos(x+33, y+32, z+31))
blocks.fill(AIR, pos(x+29, y+28, z+33), pos(x+31, y+32, z+33))
 
#inside of pyramid
blocks.fill(AIR, pos(x+27, y, z+27), pos(x+33, y+27, z+33))
  • archiv/ef/ef2020_2022/minecraft/projekt/tiborleandrodandanil/start.txt
  • Zuletzt geändert: 2022/08/27 18:13
  • von lehmannr