====== Arbeitsvorgang ======
[[archiv:gf:gf2020_2021:minecraft:projekt:start|Minecraft-Projektseite]] /
[[archiv:gf:gf2020_2021:minecraft:projekt:2d1:juliabenedikt:start|Zurück]]
==== Information: ====
Das hier sind nur Notizen, welche wir uns während dem Projekt gemacht haben. Der Vollständigkeit halber fügen wir sie hier auch an, allerdings können gelegentliche Fehler oder Unregelmässigkeiten vorkommen.
=== Idee ===
Wir hatten die Idee, das Spiel "The Floor is Lava" in Minecraft nachzubauen. Dies sollte mit unseren Möglichkeiten umsetzbar sein
=== Umsetzung ===
Natürlich haben wir so wenig wie möglich selbst gebaut, was auch immer möglich war wurde mit Codes erledigt
- Spielarena vorbereitet (soll ein Zylinder sein) --> shapes.circle, blocks.fill
- Spielarena gestaltet (Hindernisse, Hilfsmittel) --> blocks.clone, shapes.circle, blocks.replace
- Code für Reset der Spielarena entwickelt
=== Verlauf ===
**21.1.21** Wir haben festgestellt, dass unsere alte Welt gelöscht wurde. Wir haben eine neue erstellt, dieses Mal machen wir Backups. Was noch zu tun ist:
* Lava steigt viiiiiel zu langsam, trotzdem muss aber am Anfang Zeit gegeben werden
* Spieler brauchen Essen (sind im Survival Modus -> für den Notfall)
* Letzte Ebene beenden & Ziel bauen
* Werkzeuge und Waffen für Spieler verstecken (?)
* Löcher in Wänden flicken
h=30
blocks.clone(world(-27, 8, 25), world(3, 8+h,55), world(-74, 3, 25), CloneMask.REPLACE, CloneMode.NORMAL)
player.say("Arena kopiert")
mobs.teleport_to_position(mobs.target(ALL_PLAYERS), world(-66, 5, 50))
gameplay.set_game_mode(SURVIVAL, mobs.target(ALL_PLAYERS))
player.say("alle Spieler in Arena teleportiert")
gameplay.set_game_mode(CREATIVE, mobs.target(NEAREST_PLAYER))
player.teleport(pos(0,50,0))
player.say("Admin auf position teleportiert")
#Gameplay beginnt
for i in range(0,h,1):
player.say("loop gestartet")
gameplay.title(mobs.target(ALL_PLAYERS), "Achtung", "Die Lava steigt in 30 Sekunden")
loops.pause(30000)
blocks.replace(LAVA, WATER, world(-44, 4+i, 25), world(-74, 4+i, 55))
blocks.replace(LAVA, AIR, world(-44, 4+i, 25), world(-74, 4+i, 55))
blocks.replace(LAVA, TALLGRASS, world(-44, 4+i, 25), world(-74, 4+i, 55))
player.say("Spiel beendet")
blocks.clone(world(-27, 8, 25), world(3, 8+h,55), world(-74, 3, 25), CloneMask.REPLACE, CloneMode.NORMAL)
player.say("Arena kopiert")
gameplay.set_game_mode(CREATIVE, mobs.target(ALL_PLAYERS))
**28.1.21**
Heute gemacht:
* Code verändert: Am Anfang mehr Zeit bis die Lava steigt (zum Zurechtfinden), danach steigt die Lava schneller.
* Wüstenebene beendet + neue Ebene angefangen
* Code gibt Essen
Noch zu tun:
* Mehr Ebenen
* Ziel
* Werkzeuge/Waffen für Spieler
h=50
blocks.clone(world(-27, 8, 25), world(3, 8+h,55), world(-74, 3, 25), CloneMask.REPLACE, CloneMode.NORMAL)
player.say("Arena kopiert")
#mobs.teleport_to_position(mobs.target(ALL_PLAYERS), world(-66, 5, 50))
#gameplay.set_game_mode(SURVIVAL, mobs.target(ALL_PLAYERS))
player.say("alle Spieler in Arena teleportiert")
gameplay.set_game_mode(CREATIVE, mobs.target(NEAREST_PLAYER))
player.teleport(pos(0,50,0))
player.say("Admin auf position teleportiert")
#Gameplay beginnt
gameplay.title(mobs.target(ALL_PLAYERS), "Die Lava wird in 60 Sekunden steigen","")
mobs.give(mobs.target(ALL_PLAYERS), COOKED_BEEF, 64)
loops.pause(50000)
for i in range(0,h,1):
player.say("Die Lava wird in 10 Sekunden steigen.")
player.say("Höhe:")
player.say(i)
loops.pause(10000)
blocks.replace(LAVA, WATER, world(-44, 4+i, 25), world(-74, 4+i, 55))
blocks.replace(LAVA, AIR, world(-44, 4+i, 25), world(-74, 4+i, 55))
blocks.replace(LAVA, TALLGRASS, world(-44, 4+i, 25), world(-74, 4+i, 55))
gameplay.title(mobs.target(ALL_PLAYERS), "Das Spiel ist zu Ende.","")
blocks.clone(world(-27, 8, 25), world(3, 8+h,55), world(-74, 3, 25), CloneMask.REPLACE, CloneMode.NORMAL)
player.say("Arena kopiert")
gameplay.set_game_mode(CREATIVE, mobs.target(ALL_PLAYERS))
**4.2.21**
Heute gemacht:
* Neue Ebene
* Commandblock für Nachtsicht -> keine Fackeln oder ähnliches in dem fensterlosen Gebilde nötig, um etwas sehen zu können
* Zielebene gebaut
Zu tun:
* Tutorial/Starbereich
* Werkzeuge
* Feinschliff
h=75
blocks.clone(world(-27, 8, 25), world(3, 8+h,55), world(-74, 3, 25), CloneMask.REPLACE, CloneMode.NORMAL)
player.say("Arena kopiert")
mobs.teleport_to_position(mobs.target(ALL_PLAYERS), world(-66, 5, 50))
gameplay.set_game_mode(ADVENTURE, mobs.target(ALL_PLAYERS))
player.say("alle Spieler in Arena teleportiert")
gameplay.set_game_mode(CREATIVE, mobs.target(NEAREST_PLAYER))
player.teleport(pos(0,50,0))
player.say("Admin auf position teleportiert")
#Gameplay beginnt
gameplay.title(mobs.target(ALL_PLAYERS), "Die Lava wird in 60 Sekunden steigen","")
mobs.give(mobs.target(ALL_PLAYERS), COOKED_BEEF, 64)
mobs.apply_effect(SPEED, mobs.target(NEAREST_PLAYER))
loops.pause(50000)
for i in range(0,h-5,1):
player.say("Die Lava wird in 7 Sekunden steigen.")
player.say("Höhe:")
player.say(i)
loops.pause(7000)
blocks.replace(LAVA, WATER, world(-44, 4+i, 25), world(-74, 4+i, 55))
blocks.replace(LAVA, AIR, world(-44, 4+i, 25), world(-74, 4+i, 55))
blocks.replace(LAVA, TALLGRASS, world(-44, 4+i, 25), world(-74, 4+i, 55))
gameplay.title(mobs.target(ALL_PLAYERS), "Das Spiel ist zu Ende.","")
blocks.clone(world(-27, 8, 25), world(3, 8+h,55), world(-74, 3, 25), CloneMask.REPLACE, CloneMode.NORMAL)
player.say("Arena kopiert")
gameplay.set_game_mode(CREATIVE, mobs.target(ALL_PLAYERS))
Heute gemacht:
* Ebenen fertig
* Konzept für Spielende
* Zuschauerplatz für Admin
* Werkzeug für Spieler bereitgestellt
Noch zu tun:
* Tutorial/Start
h=75
blocks.clone(world(-27, 8, 25), world(3, 8+h,55), world(-74, 3, 25), CloneMask.REPLACE, CloneMode.NORMAL)
player.say("Arena kopiert")
mobs.teleport_to_position(mobs.target(ALL_PLAYERS), world(-66, 5, 50))
gameplay.set_game_mode(ADVENTURE, mobs.target(ALL_PLAYERS))
player.say("alle Spieler in Arena teleportiert")
gameplay.set_game_mode(CREATIVE, mobs.target(NEAREST_PLAYER))
player.teleport(world(-42,5,40))
player.say("Admin auf position teleportiert")
#Gameplay beginnt
gameplay.title(mobs.target(ALL_PLAYERS), "Die Lava wird in 60 Sekunden steigen","")
mobs.give(mobs.target(ALL_PLAYERS), COOKED_BEEF, 64)
loops.pause(53000)
for i in range(0,h-5,1):
player.say("Die Lava wird in 7 Sekunden steigen.")
player.say("Höhe:")
player.say(i)
loops.pause(7000)
blocks.replace(LAVA, WATER, world(-44, 4+i, 25), world(-74, 4+i, 55))
blocks.replace(LAVA, AIR, world(-44, 4+i, 25), world(-74, 4+i, 55))
blocks.replace(LAVA, TALLGRASS, world(-44, 4+i, 25), world(-74, 4+i, 55))
gameplay.title(mobs.target(ALL_PLAYERS), "Das Spiel ist zu Ende.","")
blocks.clone(world(-27, 8, 25), world(3, 8+h,55), world(-74, 3, 25), CloneMask.REPLACE, CloneMode.NORMAL)
player.say("Arena kopiert")
gameplay.set_game_mode(CREATIVE, mobs.target(ALL_PLAYERS))
Heute gemacht:
* Spielanleitung geschrieben
* Lobby für Wartende gebaut
* Kleineres am Code: Spieler werden am Schluss alle getötet, damit sie ihr Inventar verlieren.
* Die Arena wird am Schluss nicht mehr zurückgesetzt, dies passiert nur noch am Anfang.
Noch zu tun:
* Tutorial
* Feinschliff Lobby
#Vorbereitung
h=75
player.say("Arena wird kopiert...")
blocks.clone(world(-27, 8, 25), world(3, 8+h,55), world(-74, 3, 25), CloneMask.REPLACE, CloneMode.NORMAL)
player.say("Arena kopiert.")
mobs.teleport_to_position(mobs.target(ALL_PLAYERS), world(-66, 5, 50))
gameplay.set_game_mode(ADVENTURE, mobs.target(ALL_PLAYERS))
gameplay.set_game_mode(CREATIVE, mobs.target(NEAREST_PLAYER))
player.teleport(world(-42,5,40))
player.say("Alle Spieler auf Positionen teleportiert.")
#Gameplay beginnt
gameplay.title(mobs.target(ALL_PLAYERS), "Die Lava wird in 60 Sekunden steigen","")
mobs.give(mobs.target(ALL_PLAYERS), COOKED_BEEF, 64)
loops.pause(53000)
for i in range(0,h-5,1):
player.say("Die Lava wird in 7 Sekunden steigen.")
player.say("Auf Höhe:")
player.say(i)
loops.pause(7000)
blocks.replace(LAVA, WATER, world(-44, 4+i, 25), world(-74, 4+i, 55))
blocks.replace(LAVA, AIR, world(-44, 4+i, 25), world(-74, 4+i, 55))
blocks.replace(LAVA, TALLGRASS, world(-44, 4+i, 25), world(-74, 4+i, 55))
#Nach Spielende
gameplay.title(mobs.target(ALL_PLAYERS), "Das Spiel ist zu Ende.","")
loops.pause(5000)
player.say("Die Spieler werden nun zurückgesetzt")
gameplay.set_game_mode(ADVENTURE, mobs.target(ALL_PLAYERS))
mobs.kill(mobs.target(ALL_PLAYERS))