Untitled

mail@pastecode.io avatar
unknown
python
3 years ago
2.2 kB
2
Indexable
#funkcja tworząca zamek 
#minimalna długość murów to 20 przy mniejszych wartościach schody nie generują się poprawnie
#liczba określająca długość murów musi być PARZYSTA żeby wierzchołki się poprawnie wygenerowały
#zalecana wysokość muru to 4, tylko wtedy creppery będą mogły się aktywować i wybuchnąć

def zamekKonstruktor(mur,wysokosc):
    dlMuru = mur
    dlMuruKopia = dlMuru / 2
    wysokoscMuru = wysokosc
    builder.teleport_to(pos(-5, 0, 5))
    builder.set_origin()
    builder.mark()
    i = 0
    #pętla tworząca 3 warstwowe mury dookoła gracza
    while i < 3:
        j = 0
        while j < 4:
            builder.move(FORWARD, dlMuru)
            builder.raise_wall(MOSSY_STONE_BRICKS, wysokoscMuru)
            builder.turn(RIGHT_TURN)
            j += 1
        dlMuru += -2
        builder.move(RIGHT, 1)
        builder.move(FORWARD, 1)
        builder.mark()
        i += 1
    builder.move(UP, wysokoscMuru - 1)
    builder.face(WEST)
    builder.move(BACK, 15)
    builder.mark()
    i = 0
    #pętla tworząca schody
    while i < wysokoscMuru - 1:
        builder.shift(1, -1, 0)
        builder.line(STONE_BRICK_STAIRS)
        i += 1
    builder.teleport_to_origin()
    builder.move(UP, wysokoscMuru)
    builder.face(NORTH)
    builder.mark()
    i = 0
    #pętla tworząca wierzchołki
    while i < 4:
        j = 0
        while j < dlMuruKopia:
            builder.place(SEA_LANTERN)
            builder.move(FORWARD, 2)
            j += 1
        builder.turn(RIGHT_TURN)
        i += 1
player.on_chat("zamek", zamekKonstruktor)


def ekwipunek():
    #tworzymy listę według schematu: podajemy co chcemy otrzymać i w jakiej ilości
    przedmioty = [IRON_SWORD,1,IRON_AXE, 1,BOW, 1,ARROW, 64,TRIDENT, 1, FIREBALL, 10, LAVA_BUCKET, 5,IRON_HELMET, 1, IRON_CHESTPLATE, 1,
    IRON_LEGGINGS, 1,IRON_BOOTS, 1, SPRUCE_DOOR, 30, TORCH, 30, LADDER, 64, ENCHANTED_APPLE, 2]
    #pętla przypisująca dla i tylko przedmioty(id), przeskok co 2
    for i in range(0,len(przedmioty), 2):
        mobs.give(mobs.target(NEAREST_PLAYER), przedmioty[i],przedmioty[i+1])

player.on_chat("ekwipunek", ekwipunek)