Untitled
unknown
python
3 years ago
5.4 kB
6
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) # zamek 20 4
# funkcja ewkipunek
def eq():
# LISTY w PYTHON
# zmienna przechowuje -> 1 wartość
# lista jest to zmienna która przechowuje wiele wartości
# JAK TWORZYC LISTE W PYTHON?
# nazwaListy = [wartosc0, wartosc1, wartosc2, wartosc3]
# lista z ekwipunkiem = [przedmiot,ilosc,przedmiot1,ilosc1]
listaEq = [ LADDER, 64, STONE_BRICKS, 64,
OBSIDIAN, 64, NETHERITE_SWORD, 2,
TORCH, 64, NETHER_BRICK, 64,
NETHERITE_CHESTPLATE, 2, NETHERITE_LEGGINGS, 2,
NETHERITE_BOOTS, 2, NETHERITE_HELMET, 2,
NETHERITE_PICKAXE, 2, NETHERITE_HOE, 2,
ENCHANTED_APPLE, 2, TNT, 64,
REDSTONE, 64, SPRUCE_DOOR, 64,
BOW, 1, ARROW, 128,
WATER_BUCKET, 2, LAVA_BUCKET, 2,
CARROT, 64, BOAT, 2, PINK_SHULKER_BOX, 64]
# petla for ktora rozda przedmioty
# petla for od 0 do konca listyEq, co 2 kroki
for i in range(0, len(listaEq), 2):
# przedmiot do przekazania
przedmiot = listaEq[i]
# ilosc przedmiotu do przekazania
ilosc = listaEq[i + 1]
mobs.give(mobs.target(NEAREST_PLAYER), przedmiot, ilosc)
player.on_chat("eq", eq) # przypinam do czatu
def zaczarowanyLuk():
# czaruje łuk na maksymalne obrazenia
mobs.enchant(mobs.target(NEAREST_PLAYER), "Power", 5)
# czaruje plonace strzaly
mobs.enchant(mobs.target(NEAREST_PLAYER), "Flame", 1)
player.on_chat("luk", zaczarowanyLuk)
# SUPER ATAKI
# ATAK NEPTUN ->
def neptun():
# 1. Zmieniam pogodę na burza
gameplay.set_weather(THUNDER)
# 2. DOSTAJE TROJZAB
mobs.give(mobs.target(NEAREST_PLAYER), TRIDENT, 1)
# 3. DODAJE ENCHANT "Unbreaking" "Channeling",
mobs.enchant(mobs.target(NEAREST_PLAYER), "Unbreaking", 1)
mobs.enchant(mobs.target(NEAREST_PLAYER), "Channeling", 1)
# 4. Dodaje pauze na czas tego ataku
loops.pause(30000)
# 5. Czyszcze pogodę
gameplay.set_weather(CLEAR)
# 6. Podpiac super atak
player.on_chat("n",neptun)
# Atak mobów
#funkcja z parametrem do spawnu mobow wywołam na czacie-> atak 10 --> 10 x rodzaj potwora
def atakMobow(iloscMobow):
# 1. Przestaw tryb na survival
gameplay.set_game_mode(SURVIVAL, mobs.target(NEAREST_PLAYER))
# 2. Ustaw czas na noc
gameplay.time_set(DayTime.NIGHT)
# 3. Stworz liste - listaMobow -> 1 rodzaj to 1 poziom
listaMobow = [ ZOMBIE, SKELETON, SPIDER, CREEPER, PIG_ZOMBIE, DROWNED, ENDERMAN, WOLF]
# 4. Petla for dla listaMobow ->
for i in range(len(listaMobow)):
# 5. Petla for dla ilosciMobow do spawnu ->
for j in range(iloscMobow):
# 6. Spawn mobo w randpos(pos(25,0,25),pos(30,0,30)) ->
mobs.spawn(listaMobow[i],randpos(pos(25,0,25),pos(30,0,30)))
# 7. Pauza na poziom np. 60s loops.pause(60000)
loops.pause(60000)
# 8. Dopisz do czatu atak
player.on_chat("atak", atakMobow)
# Super Ataki
# Deszcz TNT lub strzał
def superAtak(rodzajAtaku):
# 1. Sprawdz jaki rodzaj ataku -> if rodzajAtaku == 0:
if rodzajAtaku == 0:
# 2. Dla parametru 0 daj strzały rodzajAtaku = ARROW_PROJECTILE_MOB
rodzajAtaku = ARROW_PROJECTILE_MOB
# 3. Dla kazdego innego -> else:
else:
# 4. Dla kazdego innego daj TNT rodzajAtaku = PRIMED_TNT
rodzajAtaku = PRIMED_TNT
# 5. Odpal salwe 4 x 20 strzalów wybranym pociskem for i in range(20):
for i in range(4):
for i in range(20):
# 6. Spawn rodzajAtaku mobs.spawn(rodzajAtaku, randpos(pos(0,0,15), pos(0,0,25)))
mobs.spawn(rodzajAtaku, randpos(pos(0,0,15), pos(0,0,25)))
loops.pause(1000) # pauza 1s
# 7. Przypisanie do czatu player.on_chat("s",superAtak)
player.on_chat("s",superAtak)
Editor is loading...