Technik Wiki
Keine Bearbeitungszusammenfassung
(In Downloadwelt enthalten: Mechanik-Welt 1.14a)
(9 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
{{Unterseite|
+
{{Unterseite|gruppe=Verkehrsanlagen|
{{Seitenkopf|dw=r}}
+
{{Seitenkopf|dw=m}}
  +
}}
  +
Ein '''Luftschiff''' (''auch Zeppelin'') ist eine schwebende Konstruktion die sich durch den Spieler steuern lässt. Hierbei lässt sich das Luftschiff durch den Tastendruck, die Position, den Blickwinkel oder durch das Werfen von Gegenständen beeinflussen. Das Luftschiff wird mit einem {{mcw|Konstruktionsblock}} geladen und kann sich in die vier Himmelsrichtungen sowie nach oben unten steuern lassen. Beim Steuern bewegt sich das Luftschiff einen Meter in die Richtung hinfort.
  +
  +
Das Luftschiff lässt sich in jeden Bereich und auch in eine beliebige Strecke manövieren. Das Luftschiff kann immer nur ein Spieler steuern und auch nur wird beim fahren mitbewegt.
  +
  +
== Variante 1 ==
  +
{{Voraussetzung|
  +
*[[Taktgeber (Befehle)]]
  +
*[[Impulsgeber (Befehle)]]
  +
*[[Inventar-Sensor (Befehle)]]
  +
*[[Blickwinkel-Sensor (Befehle)]]
  +
*[[Objekt-Steuerung (Befehle)]]
  +
*[[Automobil (Befehle)]]
  +
*{{mcw|Anzeigetafel}}
  +
*{{mcw|Funktion}}
  +
*{{mcw|Aliasdaten}}
 
|
 
|
  +
*{{Gridbild|Hebel|link}}
  +
*{{Gridbild|Redstone-Fackel|link}}
  +
*{{Gridbild|Befehlsblock|link}}
  +
*{{Gridbild|Wiederhol-Befehlsblock|link}}
 
}}
 
}}
  +
{{Bilderfolge|#1#2#3|Luftschiff (Befehle) Bild 1.|400px|list=1}}
   
  +
Mit dieser Variante kann man ein Luftschiff mit Hilfe von Chat-Befehlen in jede Himmelsrichtung fahren lassen. Man klickt auf die Richtung und die Neigung um zu bestimmen wo das Luftschiff hinfahren soll.
Ein '''Zeppelin''' (''auch Luftschiff'') kann sich mit Hilfe von Befehlen, die durch die drei verschiedenen Befehlsblock-Typen ausgeführt werden, frei vom Spieler steuern lassen, ohne direkte Einschränkungen. Mit dem {{b|/clone}}, der maßgeblich dazu beiträgt, dass man Zeppeline realisieren kann, hat nur die Einschränkung, dass man maximal 32768 Blöcke auf einmal verschieben kann. Wie auch schon das [[Straßenverkehrsanlagen/Automobil|Automobil]], nutzt der Zeppelin ähnliche Befehle, um sich fortzubewegen, darüber hinaus aber auch noch viele weitere. Hierbei ist jedoch die Funktionalität eine etwas andere. Denn man lenkt den Zeppelin direkt durch die Position des Spielers und ist nicht durch die Postion des Fahrzeug selbst abhängig. Aber auch die Blickrichtung ist entscheidet wie sich der Zeppelin verhält.
 
   
  +
;Einschalten
Dabei gibt es verschiedene Vorgehensweisen wie man einen funktionalen Zeppelin in Minecraft erstellen kann:
 
  +
*{{bb|1|1}} Wenn der Hebel umgelegt wird, wird die Start-Funktion gestartet.
*Zum einen kann man ein Konstrukt erbauen, dass alle wichtigen Funktionen in sich beherbergt und nur vom Spieler gesteuert werden muss, damit es sich in die entsprechende Richtung bewegt.
 
*Dann kann man aber auch die ganzen Funktionen außerhalb des Zeppelins aufbauen, sodass der Zeppelin von der stationären Basis aus seine Befehle erhält, jedoch trotzdem vom Spieler nur direkt beim Zeppelin gesteuert werden kann.
 
*Darauf aufbauend, kann man dann auch einen Zeppelin bauen, der mit sämtlichen Sensoren die Vorgaben des Spielers erfasst, sodass der Zeppelin sich von ganz alleine in die Richtung bewegt in die der Spieler beispielsweise schaut.
 
   
  +
;Wiederholen
Die Funktionen für die Steuerung wird mit jeweils einem Befehlsblock für eine bestimmte Richtung realisiert, so schneidet der {{b|/clone}} das Fahrzeug aus und setzt es je nach Geschwindigkeit einen oder mehrere Blöcke von seiner ursprünglichen Position voraus wieder hin und gleichzeitig wird der Spieler um die gleiche Anzahl an Block-Differenzen mit dem {{b|/tp}} teleportiert. Damit allerdings der Zeppelin nicht manipulativ eingesetzt werden kann, in dem man den Zeppelin verlässt und ihn einfach an einer neuen Postion weit ab des "alten" erstellen kann, wird dafür eine Sicherheitsvorkehrung unternommen um dies zu verhindern. Dafür wird ein Rüstungsständer erstellt der sich nur dann mit dem Spieler mit bewegt, wenn dieser sich auf dem Zeppelin befindet. Wird nun versucht, außerhalb des vorhandenen Zeppelins, ein weiteren Zeppelin zu erstellen, kann das nicht funktionieren, da die Kopierbefehle nur innerhalb des alten Zeppelin-Radius funktionieren. Denn man kann mit dem {{b|/execute}} dafür sorgen, dass bestimmte kopierte Bereiche genau beim Spieler enstehen und in Verschachtelung auch nur dann wenn sich ein bestimmtes Objekt in der Nähe befindet. So hat man die Möglichkeit zum Beispiel einen Zeppelin auf die Koordinaten eines bestimmten Spieler festzusetzen, der bestimmte Bedingungen erfüllt, beispielsweise im richtigen Team, auf dem entsprechenden Block steht usw. Zudem wird der Zeppelin erst dann startklar sein, wenn man ihn "aktiviert" das bedeutet, wenn der Spieler sich im Zeppelin befindet und der "Knopf" für das Starten aktiviert wurde und und nur dann, kann sich der Zeppelin in Bewegung setzen und die Befehle ausführen.
 
  +
*{{bb|1|2}} Beim Einschalten wird auch der Wiederhol-Befehlsblock gestartet, der jeden Tick die Zyklus-Funktion lädt.
   
  +
;Ausschalten
Damit der Zeppelin sich auch drehen kann, wird mit Hilfe des {{b|/testfor}} die Blickrichtung des Spielers ermittelt, welcher genau erkennt, in welche Richtung der Spieler blickt. Hierbei wird zusätzlich noch ein Holzschwert mit dem Namen Steuerkreuz für den Spieler bereitgestellt, sodass man den Zeppelin kontrolliert drehen kann, also dann wenn man es möchte. Entsprechende tellraw-Texte leiten einen dann an, was man gerade ausgeführt hat, oder in welche Richtung man denn schaut. Diese und weitere Hilfen, sorgen dafür, dass man den Zeppelin besser bedienen kann. Zusätzlich lassen sich auch TNT-Blöcke durch den {{b|/summon tnt ~ ~ ~ {Fuse:100} }} mit dem Zeppelin verschießen. Dabei kann man auf Zielscheiben das TNT aufprallen lassen und sehen wie gut man zielen kann. Wenn man dann genug vom Zeppelin hat, möchte man auch in der Lage sein, ihn wieder verschwinden zu lassen, dafür befindet sich auf jedem Zeppelin ein markierter Knopf, der, wenn aktiviert, alle erstellten Teams, das Steuerkreuz und den Zeppelin an sich löscht.
 
  +
*{{bb|1|3}} Wenn der Hebel wieder in Ausgangsstellung zurück gelegt wird, wird die Stopp-Funktion ausgelöst und schaltet alles wieder ab.
   
  +
{{Ausklappmenü|offen=1|{{bb}}|
== Variante 1 ==
 
  +
{{bb|1|1|i|4=function luftschiff:v1start}}
{{Voraussetzung|
 
  +
{{bb|1|2|w|4=function luftschiff:v1zyklus}}
*[[Schaltkreise/Taktgeber (Befehle)]]
 
  +
*[[Schaltkreise/Impulsgeber (Befehle)]]
 
  +
*[[Vorrichtungen/Gegenstandsensor (Befehle)]]
 
  +
{{bb|1|3|i|4=function luftschiff:v1stopp}}
*[[Vorrichtungen/Blickrichtungssensor (Befehle)]]
 
*[[Anlagen/Objekt-Steuerung (Befehle)]]
 
*[[Straßenverkehrsanlagen/Automobil (Befehle)]]
 
*{{de|Anzeigetafel|Teamzuweisung}}
 
*{{b|/give}}
 
*{{b|/tp}}
 
*{{b|/testfor}}
 
*{{b|/blockdata}}
 
*{{b|/setblock}}
 
*{{b|/fill}}
 
*{{b|/clone}}
 
*{{b|/execute}}
 
*{{b|/summon}}
 
*{{b|/kill}}
 
*{{b|/clear}}
 
|
 
* {{Gridbild|Eisenblock|link}}
 
* {{Gridbild|Goldblock|link}}
 
* {{Gridbild|Diamantblock|link}}
 
* {{Gridbild|Hebel|link}}
 
* {{Gridbild|Redstone|link}}
 
* {{Gridbild|Redstone-Fackel|link}}
 
* {{Gridbild|Redstone-Verstärker|link}}
 
* {{Gridbild|Redstone-Komparator|link}}
 
* {{Gridbild|Befehlsblock|link}}
 
* {{Gridbild|Wiederhol-Befehlsblock|link}}
 
* {{Gridbild|Ketten-Befehlsblock|link}}
 
 
}}
 
}}
{{Bilderfolge|#1#2#3|Verkehrsanlagen Luftschiff (Befehle) Bild 1.|400px|list=1}}
 
   
  +
{{fü|1|name=Start}}
Damit man einen steuerbaren Zeppelin bauen kann, benötigt man eine Vielzahl an Befehlen und die drei verschiedenen Befehlsblöcke. Die goldenen Kästen, in denen die Zeppeline stecken, dienen hier als ''Hangar''. Für jede Richtung gibt es einen separaten Zeppelin. Diese Variante des Zeppelins baut darauf auf, so unabhängig wie möglich von dem Hangar zu sein, das bedeutet, alle Befehle, die für das Fortbewegung notwendig sind, sind in dem Zeppelin selbst eingebaut. Eine Sache kann man aber nicht komplett unabhängig machen und das ist die Ausrichtung des Zeppelins. Wenn der Zeppelin einmal erstellt wurde, zum Beispiel nach Westen ausgerichtet, so kann man zwar theoretisch bis zum Weltende fliegen, ohne den Hangar zu benötigen, aber wenn man auf dem Weg dorthin die Ausrichtung ändern möchte, ist man wieder vom Hangar abhängig. Daher ist diese Variante nur bedingt unabhängig. Damit ein Zeppelin von nur einem Spieler gesteuert wird, sobald diese dafür bereit ist, wird zuerst ein Team erstellt, in welches der Spieler, beim Betätigen des Knopfes, hineingesetzt wird. Der Befehl{{bb|1|1}} erstellt das Team "Pilot1". Dahinter befinden sich zwei Ketten-Befehlsblöcke die eine Fehlermeldung ausgeben, falls der Zeppelin bereits in Benutzung ist{{bb|1|2}}{{bb|1|3}}. Wenn der Team-Erstellungs-Befehl erfolgreich war, erkennt dies ein Komparator und gibt das Signal an einen weiteren Befehlsblock weiter. Dieser setzt den Komparator wieder zurück{{bb|1|4}}. Der soeben aktivierte Befehlsblock leitet sein {{de|Befehlssignal}} an die nachfolgenden Ketten-Befehlsblöcke weiter. Der erste erstellt einen kleinen Rüstungsständer mit dem Namen "Zeppelin1"{{bb|1|5}}. Der nächste Ketten-Befehlsblock setzt unter dem Rüstungsständer einen Kolben, damit nachher der Spieler nicht herunter fällt {{bb|1|6}}.
 
  +
Die Start-Funktion erstellt ein Punktestand-Ziel und gibt dem Spieler im Team bereits einen Wert fürs Vorwärtsfahren, sodass das Luftschiff erscheinen kann.
   
  +
{{f|name=luftschiff:v1start|alias=v1start|1=
Nun wird der Spieler zum Rüstungsständer teleportiert, mit dem Befehl{{bb|1|7}}, und dann wird der Befehl{{bb|1|8}} aktiviert, der den Zeppelin aus dem Hangar (goldene Kästen) an die Postion des Rüstungsständers kopiert. Jetzt prüft wieder ein Komparator, ob bis dorthin die Ketten-Befehlsblockkette erfolgreich war, war das der Fall, wird er ein Redstone-Signal weiterleiten. Dabei wird der Befehlsblock der zurückgesetzt mit dem Befehl{{bb|1|9}}. Der Spieler erhält nun einen Holzschwert mit dem Namen ''Steuerkreuz1'' durch den Befehl{{bb|1|10}}. Damit ist es möglich, die Ausrichtung des Zeppelins zu ändern. Der Befehl{{bb|1|11}} setzt den Spieler, welcher in der Nähe des Rüstungsständer ist, in das Team "Pilot1". Nun gibt der Befehl{{bb|1|12}} und der Befehl{{bb|1|13}} aus was der Spieler jetzt erledigen kann. Der letzte Ketten-Befehlsblock löst den Befehl{{bb|1|14}} aus, der den Wiederhol-Befehlsblock dauerhaft aktiviert, der die weiteren Funktionen inne hat, um den Zeppelin neu auszurichten.
 
  +
# Das Auslöser-Punktestand-Ziel wird erstellt.
  +
scoreboard objectives add PZLuftS.1Wert trigger ["Luftschiff.1: ",{"text":"Auslöser für Nachrichten","bold":true}]
   
  +
# Das Team für Piloten wird erstellt und der nächstgelegene Spieler wird in dieses gesteckt.
Der Wiederhol-Befehlsblock hat den Befehl{{bb|1|15}} in sich und löst dabei eine say-Nachricht aus, die den Spieler warnt, wenn er zu tief fährt. Wenn nun der Spieler den Holzschwert auswählt, erhält man eine Nachricht durch den Befehl{{bb|1|16}}, dies wird durch den Befehl{{bb|1|17}} im Ketten-Befehlsblock nach dem Wiederhol-Befehlsblock festgestellt. Der nächste Ketten-Befehlsblock mit Befehl{{bb|1|18}} wird dann ausgelöst, wenn der Spieler sich dem Hanger bis zu 200 Metern entfernt. Der nachfolgende Ketten-Befehlsblock hat den Befehl{{bb|1|19}} inne und teleportiert den Rüstungsständer nur dann zum Spieler, wenn dieser auf Holzbrettern steht (Also sich im Zeppelin befindet). Im Anschluss wird ein Ketten-Befehlsblock im bedingten Modus aktiviert, mit dem Befehl{{bb|1|20}}, der den Rüstungsständer nach unten teleportiert, damit dieser nicht den Spieler stört.
 
  +
team add TMLuftS.1Pilot ["Luftschiff.1: ",{"text":"Piloten","bold":true}]
  +
team join TMLuftS.1Pilot @p[distance=..5,team=!TMLuftS.1Pilot]
   
  +
# Der Luftschiff-Rüstungsständer mit einem zweiten huckepack, wird 25 Meter über der Befehlsquelle erzeugt.
Ein Komparator prüft ob der Spieler das Steuerkreuz in der Hand hat und gibt dann ein Signal aus, wenn es zutrifft. Dabei wird dann ein Befehlsblock mit dem Befehl{{bb|1|21}} und ein Wiederhol-Befehlsblock mit dem Befehl{{bb|1|22}} aktiviert. Das Redstone-Signal des Komparators reicht dann noch weiter zu einer Redstone-Fackel und einem Verstärker, die Redstone-Fackel die in dem Moment ausgeschaltet wird. Wird sie wieder eingeschaltet, löst sie den Befehlsblock mit dem Befehl{{bb|1|23}} aus. Wird der Verstärker angesteuert, so werden Befehlsblöcke mit Befehlen für alle vier Himmelsrichtungen aktiv und testen, in welche Blickrichtung der Spieler gerade schaut.
 
  +
summon minecraft:armor_stand ~ ~25 ~ {Small:true,NoGravity:true,Invisible:true,CustomName:'{"text":"Westen","color":"gold","bold":true}',Tags:["EtiLuftS.1Alle","EtiLuftS.1Luftschiff","EtiLuftS.1Richtung"],Rotation:[90.0f,0.0f],Passengers:[{id:"minecraft:armor_stand",Small:true,NoGravity:true,Invisible:true,CustomName:'{"text":"Geradeaus","color":"aqua","bold":true}',Tags:["EtiLuftS.1Alle","EtiLuftS.1Neigung"]}]}
   
  +
# Einen Block unter dem Luftschiff-Rüstungsständer wird ein Eichenholzbrett platziert, damit der Spieler bei der Teleportation auf festen Untegrund steht.
Dabei erkennt der Befehl{{bb|1|24}} die Blickrichtung und löst entsprechend aus. Das bedeutet, der Zeppelin dreht sich nur beim Auswählen des Steuerkreuzes in die Richtung, in die der Spieler schaut. Hinter diesem Befehlsblock befinden sich zwei weitere Ketten-Befehlsblöcke im bedingten Modus mit dem Befehl{{bb|1|25}} und dem Befehl{{bb|1|26}}. Ist das Steuerkreuz für eine längere Zeit ausgewählt, passiert nichts mehr. Man muss, um den Zeppelin jetzt erneut zu drehen, das Steuerkreuz erneut auswählen. Um den Zeppelin nun auch in eine bestimmte Richtung zu steuern, betätigt man auf dem Kreuz, auf dem man sich befindet, den jeweiligen Hebel. Jeder Hebel steht für eine Richtung. Um beispielsweise nach vorne zu fahren, wird der Befehl{{bb|1|27}} durch das Signal des Hebels aktiviert und löst dann weitere Befehlsblöcke aus, die die eigentlichen Fortbewegungsbefehle in sich tragen.
 
  +
execute at @e[type=minecraft:armor_stand,tag=EtiLuftS.1Luftschiff] run setblock ~ ~-1 ~ minecraft:oak_planks replace
  +
execute at @e[type=minecraft:armor_stand,tag=EtiLuftS.1Luftschiff] run teleport @p[team=TMLuftS.1Pilot] ~ ~ ~
   
  +
# Der Spieler bekommt den Wert acht gesetzt. Das sorgt dafür, dass das Luftschiff einen Tick später erstellt wird.
Zuerst wird der Befehlsblock mit dem Befehl{{bb|1|28}} ausgelöst, der sich selbst wieder so umstellt, dass er Redstone benötigt, um aktiviert zu werden. Dann löst er zwei Ketten-Befehlsblöcke aus mit dem Befehl{{bb|1|29}} und dem Befehl{{bb|1|30}}. Diese sorgen zum einen, dass der Spieler in die gleiche Richtung wie der Zeppelin fortbewegt wird und zum anderen, dass der Zeppelin selbst um die vorgegebene Block-Differenz nach vorne bewegt wird. Dies funktioniert in alle Richtungen. Man kann auch den Zeppelin wieder entfernen, dies wird mit dem Knopf unten in der Mitte erzielt. Dabei wird wieder über einen blockdata-Befehl ein Befehlsblock angesteuert, der wiederum weitere Ketten-Befehlsblöcke aktiviert. So wird der Befehl{{bb|1|31}} ausgeführt, der den Wiederhol-Befehlsblock unten an der mit Diamantblöcken umrandete Anlage ausgeschaltet. Danach löst der Befehl{{bb|1|32}} aus, welcher das Team entfernt und der Befehl{{bb|1|33}}, der das Holzschwert mit dem Namen ''Steuerkreuz1'' im Inventar des Spielers entfernt. Dann folgt der Befehl{{bb|1|34}} und zum Schluss wird mit dem Befehl{{bb|1|35}} der Zeppelin entfernt. Wenn das geschehen ist, ist der Zeppelin wieder unten an der goldenen Zahl auswählbar, da nun das Team "Pilot1" wieder erstellt werden kann.
 
  +
scoreboard players set @p[team=TMLuftS.1Pilot] PZLuftS.1Wert 8
  +
}}
   
  +
{{fü|1|name=Zyklus}}
{{bb}}
 
  +
Die Zyklus-Funktion gibt dem Spieler in dem Chat-Bereich ein Steuerungsmenü, bei dem der Spieler die vier Himmelsrichtungen sowie nach oben oder unten anklicken um das Luftschiff in die gewünschte Richtung zu fahren.
{{bb|1|1||4=/scoreboard teams add Pilot1}}
 
  +
{{bb|1|2||4=/testforblock ~ ~1 ~ command_block -1 {SuccessCount:0} }}
 
  +
{{f|name=luftschiff:v1zyklus|alias=v1zyklus|1=
{{bb|1|3||4=/tellraw @a[r=10] {"text":"Dieser Zeppelin ist bereits in Benutzung, warte bis dieser wieder entfernt wurde, damit er wieder einsatzbereit ist.","color":"light_purple"} }}
 
  +
# Wenn der Spieler den Chat angeklickt hat und dabei für dne Auslöser den Wert eins bis vier hat, wird damit die entsprechende Richtung eingestellt.
{{bb|1|4||4=/blockdata ~2 ~ ~ {SuccessCount:0} }}
 
  +
execute as @e[type=minecraft:armor_stand,tag=EtiLuftS.1Luftschiff] at @s if entity @p[distance=..5,team=TMLuftS.1Pilot,scores={PZLuftS.1Wert=1}] run data merge entity @s {CustomName:'{"bold":true,"color":"blue","text":"Norden"}',Rotation:[180.0f,0.0f]}
{{bb|1|5||4=/summon armor_stand ~-30 ~30 ~ {CustomName:"Zeppelin1",NoGravity:1b,Rotation:[90f,0],Small:1b} }}
 
  +
execute as @e[type=minecraft:armor_stand,tag=EtiLuftS.1Luftschiff] at @s if entity @p[distance=..5,team=TMLuftS.1Pilot,scores={PZLuftS.1Wert=2}] run data merge entity @s {CustomName:'{"bold":true,"color":"gold","text":"Osten"}',Rotation:[270.0f,0.0f]}
{{bb|1|6||4=/execute @e[type=armor_stand,name=Zeppelin1] ~ ~ ~ /setblock ~ ~-1 ~ piston 1}}
 
  +
execute as @e[type=minecraft:armor_stand,tag=EtiLuftS.1Luftschiff] at @s if entity @p[distance=..5,team=TMLuftS.1Pilot,scores={PZLuftS.1Wert=3}] run data merge entity @s {CustomName:'{"bold":true,"color":"blue","text":"Süden"}',Rotation:[0.0f,0.0f]}
{{bb|1|7||4=/tp @p[r=10] @e[type=armor_stand,name=Zeppelin1] }}
 
  +
execute as @e[type=minecraft:armor_stand,tag=EtiLuftS.1Luftschiff] at @s if entity @p[distance=..5,team=TMLuftS.1Pilot,scores={PZLuftS.1Wert=4}] run data merge entity @s {CustomName:'{"bold":true,"color":"gold","text":"Westen"}',Rotation:[90.0f,0.0f]}
{{bb|1|8||4=/execute @e[type=armor_stand,name=Zeppelin1] ~ ~ ~ /clone 258 27 92 298 49 116 ~-20 ~-4 ~-12}}
 
  +
{{bb|1|9||4=/blockdata ~ ~ ~2 {SuccessCount:0} }}
 
  +
# Wenn der Spieler im Chat auf die Neiugung geklickt hat, wird der entsprechende Wert die Neigung einstellen.
{{bb|1|10||4=/execute @e[type=armor_stand,name=Zeppelin1] ~ ~ ~ /replaceitem entity @p[r=2] slot.hotbar.0 wooden_sword 1 0 {AttributeModifiers:[{AttributeName:generic.attackDamage,Amount:-1,Name:Extraschaden,Operation:0,UUIDLeast:1,UUIDMost:1,Slot:mainhand}],Unbreakable:1,ench:[],HideFlags:6,display:{Name:Steuerkreuz1} } }}
 
  +
execute at @e[type=minecraft:armor_stand,tag=EtiLuftS.1Luftschiff] if entity @p[distance=..5,team=TMLuftS.1Pilot,scores={PZLuftS.1Wert=5}] run data merge entity @e[distance=..2,type=minecraft:armor_stand,tag=EtiLuftS.1Neigung,sort=nearest,limit=1] {CustomName:'{"bold":true,"color":"green","text":"Oben"}'}
{{bb|1|11||4=/execute @e[type=armor_stand,name=Zeppelin1] ~ ~ ~ /scoreboard teams join Pilot1 @p[r=5] }}
 
  +
execute at @e[type=minecraft:armor_stand,tag=EtiLuftS.1Luftschiff] if entity @p[distance=..5,team=TMLuftS.1Pilot,scores={PZLuftS.1Wert=6}] run data merge entity @e[distance=..2,type=minecraft:armor_stand,tag=EtiLuftS.1Neigung,sort=nearest,limit=1] {CustomName:'{"bold":true,"color":"aqua","text":"Geradeaus"}'}
{{bb|1|12||4=/tellraw @p[team=Pilot1] {"text":"Mit dem Holzschwert kann der Zeppelin in alle Richtungen gesteuert werden","color":"green"} }}
 
  +
execute at @e[type=minecraft:armor_stand,tag=EtiLuftS.1Luftschiff] if entity @p[distance=..5,team=TMLuftS.1Pilot,scores={PZLuftS.1Wert=7}] run data merge entity @e[distance=..2,type=minecraft:armor_stand,tag=EtiLuftS.1Neigung,sort=nearest,limit=1] {CustomName:'{"bold":true,"color":"red","text":"Unten"}'}
{{bb|1|13||4=/tellraw @p[team=Pilot1] {"text":"Wähle das Steuerkreuz in der Schnellzugriffssleiste aus um den Zeppelin in eine andere Richtung zu drehen","color":"yellow"} }}
 
  +
{{bb|1|14||4=/blockdata 231 27 95 {auto:1b} }}
 
  +
# Falls der Spieler auf die Fahren-Option geklickt hat, wird die entsprechende Luftschiff-Funktion geladen
{{bb|1|15||4=/execute @p[team=Pilot1] ~ ~ ~ detect ~ ~-10 ~ sandstone 0 /say Achtung! du fährst zu tief, steig mit dem Zeppelin wieder auf!}}
 
  +
execute as @e[type=minecraft:armor_stand,tag=EtiLuftS.1Luftschiff] at @s if entity @p[distance=..5,team=TMLuftS.1Pilot,scores={PZLuftS.1Wert=8}] run function luftschiff:v1luftschiff
{{bb|1|16||4=/tellraw @p[team=Pilot1] {"text":"Das Steuerkreuz wurde in die Hand genommen, nun wird der Zeppelin in deine Blickrichtung gedreht","color":"red"} }}
 
  +
{{bb|1|17||4=/execute @e[type=armor_stand,name=Zeppelin1] ~ ~ ~ /testfor @a[team=Pilot1,r=5] {SelectedItem:{id:"minecraft:wooden_sword",tag:{display:{Name:"Steuerkreuz1"} } } } }}
 
  +
# Von der Position des Luftschiffs-Rüstungsständers wird nach einem Piloten gesucht und dieser darf nicht den Wert null besitzen, muss also den Auslöser betätigt haben. Dann erhält er im Chat alle Steuerungsoptionen des Luftschiffes.
{{bb|1|18||4=/tellraw @p[rm=190,r=210,team=Pilot1] {"text":"Achtung! Möglicherweise kann er nun nicht mehr gedreht werden!","color":"red"} }}
 
  +
execute at @e[type=minecraft:armor_stand,tag=EtiLuftS.1Luftschiff] as @p[distance=..5,team=TMLuftS.1Pilot] unless entity @s[scores={PZLuftS.1Wert=0}] run tellraw @s ["Luftschiff.1: ",{"text":"\nrichtung = ","bold":true,"hoverEvent":{"action":"show_text","value":{"text":"Tippe für Norden"} },"clickEvent":{"action":"run_command","value":"/trigger PZLuftS.1Wert set 1"} },{"text":"Norden","color":"gray","bold":true},{"text":"\nrichtung = ","bold":true,"hoverEvent":{"action":"show_text","value":{"text":"Tippe für Osten"} },"clickEvent":{"action":"run_command","value":"/trigger PZLuftS.1Wert set 2"} },{"text":"Osten","color":"gray","bold":true},{"text":"\nrichtung = ","bold":true,"hoverEvent":{"action":"show_text","value":{"text":"Tippe für Süden"} },"clickEvent":{"action":"run_command","value":"/trigger PZLuftS.1Wert set 3"} },{"text":"Süden","color":"gray","bold":true},{"text":"\nrichtung = ","bold":true,"hoverEvent":{"action":"show_text","value":{"text":"Tippe für Westen"} },"clickEvent":{"action":"run_command","value":"/trigger PZLuftS.1Wert set 4"} },{"text":"Westen","color":"gray","bold":true},{"text":"\nrichtung == ","bold":true},{"entity":"@e[type=minecraft:armor_stand,tag=EtiLuftS.1Richtung,sort=nearest,limit=1]","nbt":"CustomName","interpret":true},{"text":"\nneigung = ","bold":true,"hoverEvent":{"action":"show_text","value":{"text":"Tippe für Oben"} },"clickEvent":{"action":"run_command","value":"/trigger PZLuftS.1Wert set 5"} },{"text":"Oben","color":"gray","bold":true},{"text":"\nneigung = ","bold":true,"hoverEvent":{"action":"show_text","value":{"text":"Tippe für Geradeaus"} },"clickEvent":{"action":"run_command","value":"/trigger PZLuftS.1Wert set 6"} },{"text":"Geradeaus","color":"gray","bold":true},{"text":"\nneigung = ","bold":true,"hoverEvent":{"action":"show_text","value":{"text":"Tippe für Unten"} },"clickEvent":{"action":"run_command","value":"/trigger PZLuftS.1Wert set 7"} },{"text":"Unten","color":"gray","bold":true},{"text":"\nneigung == ","bold":true},{"entity":"@e[type=minecraft:armor_stand,tag=EtiLuftS.1Neigung,sort=nearest,limit=1]","nbt":"CustomName","interpret":true},{"text":"\nfahren(richtung,neigung)","color":"gray","bold":true,"hoverEvent":{"action":"show_text","value":{"text":"Luftschiff fahren"} },"clickEvent":{"action":"run_command","value":"/trigger PZLuftS.1Wert set 8"} }]
{{bb|1|19||4=/execute @p[team=Pilot1] ~ ~ ~ detect ~ ~-2 ~ planks -1 /tp @e[type=armor_stand,name=Zeppelin1] @p[team=Pilot1] }}
 
  +
{{bb|1|20||4=/tp @e[type=armor_stand,name=Zeppelin1] ~ ~-2 ~}}
 
  +
# Von der Position des Luftschiffs-Rüstungsständers erhält der Pilot die Erlaubnis den Auslöser wieder zu betätigen und sein Wert wird wieder auf null gesetzt.
{{bb|1|21||4=/tellraw @p[team=Pilot1] {"text":"Das Steuerkreuz wurde in die Hand genommen, nun wird der Zeppelin in deine Blickrichtung gedreht","color":"red"} }}
 
  +
execute at @e[type=minecraft:armor_stand,tag=EtiLuftS.1Luftschiff] as @p[distance=..5,team=TMLuftS.1Pilot] unless entity @s[scores={PZLuftS.1Wert=0}] run scoreboard players enable @s PZLuftS.1Wert
{{bb|1|22||4=/execute @e[type=armor_stand,name=Zeppelin1] ~ ~ ~ /tellraw @p[team=Pilot1,rm=15] {"text":"Kehre zum Zeppelin zurück oder beende die Anlage!","color":"red","bold":true} }}
 
  +
execute at @e[type=minecraft:armor_stand,tag=EtiLuftS.1Luftschiff] as @p[distance=..5,team=TMLuftS.1Pilot] unless entity @s[scores={PZLuftS.1Wert=0}] run scoreboard players set @s PZLuftS.1Wert 0
{{bb|1|23||4=/tellraw @p[team=Pilot1] {"text":"Damit der Zeppelin erneut gedreht werden kann, drehe dich in die neue Richtung und wähle erneut das Steuerkreuz aus","color":"green"} }}
 
  +
}}
{{bb|1|24||4=/execute @e[type=armor_stand,name=Zeppelin1] ~ ~ ~ /testfor @p[team=Pilot1,rym=45,ry=135,r=5] }}
 
  +
{{bb|1|25||4=/execute @p[team=Pilot1] ~ ~ ~ detect ~ ~-10 ~ air 0 /clone 258 27 84 298 49 103 ~-20 ~-4 ~-20}}
 
  +
{{fü|1|name=Luftschiff}}
{{bb|1|26||4=/execute @p[team=Pilot1] ~ ~ ~ /clone 258 27 104 298 49 124 ~-20 ~-4 ~}}
 
  +
Die Luftschiff-Funktion wird aufgerufen, wenn der Spieler auf fahren geklickt hat. Dann werden Reste des Luftschiffes die beim Fahren entstehen entfernt und das Luftschiff wird je nach dem neu ausgerichtet und neu platziert. Hierbei werden Blöcke die beim Ersetzen droppen zuerst durch Luft ersetzt, durch das Alias [[#luftschiff:v1drop-bloecke]].
{{bb|1|27||4=/blockdata ~3 ~6 ~7 {auto:1b} }}
 
  +
{{bb|1|28||4=/blockdata ~ ~ ~ {auto:0b} }}
 
  +
{{f|name=luftschiff:v1lusftschiff|1=
{{bb|1|29||4=/execute @p[team=Pilot1] ~ ~ ~ /tp @a[r=20] ~-2 ~ ~}}
 
  +
# Bevor das Luftschiff in die neue Richtung bewegt wird, werden alle Blöcke durch Luft ersetzt, die beim normalen Ersetzen droppen würden
{{bb|1|30||4=/execute @p[team=Pilot1] ~ ~ ~ /clone ~14 ~16 ~15 ~-14 ~-3 ~-17 ~-16 ~-3 ~-17 replace move}}
 
  +
fill ~15 ~15 ~15 ~-15 ~-15 ~-15 minecraft:air replace #luftschiff:v1drop-bloecke
{{bb|1|31||4=/blockdata 231 27 95 {auto:0b} }}
 
  +
{{bb|1|32||4=/scoreboard teams remove Pilot1}}
 
  +
# Wenn der Spieler das Luftschiff um 90° oder 180° dreht, würden manche Teile davon weiterhin in der Luft bleiben, diese werden überprüft und entfernt
{{bb|1|33||4=/clear @a wooden_sword 0 9999 {display:{Name:"Steuerkreuz1"} } }}
 
  +
execute rotated ~ 0 run fill ^-10 ^-1 ^-11 ^10 ^14 ^-14 minecraft:air replace
{{bb|1|34||4=/kill @e[type=armor_stand,name=Zeppelin1] }}
 
  +
execute rotated ~ 0 if block ^13 ^1 ^ minecraft:spruce_planks run fill ^13 ^1 ^-1 ^14 ^2 ^1 minecraft:air replace
{{bb|1|35||4=/execute @p[r=18] ~ ~ ~ /fill ~17 ~20 ~17 ~-17 ~-5 ~-17 air}}
 
  +
execute rotated ~ 0 if block ^-13 ^1 ^ minecraft:spruce_planks run fill ^-13 ^1 ^-1 ^-14 ^2 ^1 minecraft:air replace
  +
  +
# Der Luftschiff-Rüstungsständer wie auch der Spieler werden von ihrer Position um einen Meter nach vorne teleportiert.
  +
execute if entity @e[distance=..2,type=minecraft:armor_stand,tag=EtiLuftS.1Neigung,name="Oben"] run teleport @s ~ ~1 ~
  +
execute if entity @e[distance=..2,type=minecraft:armor_stand,tag=EtiLuftS.1Neigung,name="Geradeaus"] rotated ~ 0 run teleport @s ^ ^ ^1
  +
execute if entity @e[distance=..2,type=minecraft:armor_stand,tag=EtiLuftS.1Neigung,name="Unten"] run teleport @s ~ ~-1 ~
  +
execute rotated ~ 0 run teleport @p[distance=..10,team=TMLuftS.1Pilot] ^ ^ ^1
  +
  +
# Je nach Blickrichtung des Spielers wird ein Konstruktionsblock mit entsprechender Rotation platziert
  +
execute if entity @s[name="Westen"] run setblock ~ ~-4 ~ minecraft:structure_block{rotation:"NONE",mode:"LOAD",posX:-15,posY:0,posZ:-12,name:"luftschiff:v1luftschiff"} replace
  +
execute if entity @s[name="Norden"] run setblock ~ ~-4 ~ minecraft:structure_block{rotation:"CLOCKWISE_90",mode:"LOAD",posX:12,posY:0,posZ:-15,name:"luftschiff:v1luftschiff"} replace
  +
execute if entity @s[name="Osten"] run setblock ~ ~-4 ~ minecraft:structure_block{rotation:"CLOCKWISE_180",mode:"LOAD",posX:15,posY:0,posZ:12,name:"luftschiff:v1luftschiff"} replace
  +
execute if entity @s[name="Süden"] run setblock ~ ~-4 ~ minecraft:structure_block{rotation:"COUNTERCLOCKWISE_90",mode:"LOAD",posX:-12,posY:0,posZ:15,name:"luftschiff:v1luftschiff"} replace
  +
  +
# Neben dem Konstruktionsblock wird ein Redstone-Block platziert um diesen zu aktivieren
  +
setblock ~ ~-3 ~ minecraft:redstone_block replace
  +
}}
  +
{{JSON-Datei|name=luftschiff:v1drop-bloecke|type=alias|1=
  +
{
  +
"values":[
  +
"#minecraft:buttons",
  +
"#minecraft:signs",
  +
"#minecraft:wall_signs"
  +
]
  +
}
  +
}}
  +
  +
{{fü|1|name=Stopp}}
  +
Die Stopp-Funktion löscht das Punktestand-Ziel, das Team, die Rüstungsständer und das Luftschiff wird entfernt.
  +
  +
{{f|name=luftschiff:v1stopp|alias=v1stopp|1=
  +
# Das Punktestand-Ziel wird wieder gelöscht.
  +
scoreboard objectives remove PZLuftS.1Wert
  +
  +
# Das Team wird gelöscht.
  +
team remove TMLuftS.1Pilot
  +
  +
# Das Luftschiff an der Position des Luftschiffs-Rüstungsständers wird durch Luft ersetzt.
  +
execute at @e[type=minecraft:armor_stand,tag=EtiLuftS.1Luftschiff] run fill ~15 ~15 ~15 ~-15 ~-4 ~-15 minecraft:air replace #luftschiff:v1drop-bloecke
  +
execute at @e[type=minecraft:armor_stand,tag=EtiLuftS.1Luftschiff] run fill ~15 ~15 ~15 ~-15 ~-4 ~-15 minecraft:air replace
  +
  +
# Alle Rüstungsständer werden gelöscht.
  +
kill @e[type=minecraft:armor_stand,tag=EtiLuftS.1Alle]
  +
}}
   
 
== Variante 2 ==
 
== Variante 2 ==
 
{{Voraussetzung|
 
{{Voraussetzung|
*[[Schaltkreise/Taktgeber (Befehle)]]
+
*[[Taktgeber (Befehle)]]
*[[Schaltkreise/Impulsgeber (Befehle)]]
+
*[[Impulsgeber (Befehle)]]
*[[Vorrichtungen/Gegenstandsensor (Befehle)]]
+
*[[Inventar-Sensor (Befehle)]]
*[[Vorrichtungen/Blickrichtungssensor (Befehle)]]
+
*[[Blickwinkel-Sensor (Befehle)]]
*[[Anlagen/TNT-Kanone (Redstone)]]
+
*[[Objekt-Steuerung (Befehle)]]
*[[Anlagen/Objekt-Steuerung (Befehle)]]
+
*[[Automobil (Befehle)]]
  +
*{{mcw|Anzeigetafel}}
*[[Straßenverkehrsanlagen/Automobil (Befehle)]]
 
  +
*{{mcw|Funktion}}
*{{de|Anzeigetafel|Teamzuweisung}}
 
*{{b|/give}}
+
*{{mcw|Aliasdaten}}
*{{b|/tp}}
 
*{{b|/testfor}}
 
*{{b|/blockdata}}
 
*{{b|/setblock}}
 
*{{b|/fill}}
 
*{{b|/clone}}
 
*{{b|/execute}}
 
*{{b|/summon}}
 
*{{b|/kill}}
 
*{{b|/clear}}
 
 
|
 
|
* {{Gridbild|Eisenblock|link}}
+
*{{Gridbild|Hebel|link}}
* {{Gridbild|Goldblock|link}}
+
*{{Gridbild|Redstone-Fackel|link}}
* {{Gridbild|Diamantblock|link}}
+
*{{Gridbild|Befehlsblock|link}}
* {{Gridbild|Hebel|link}}
+
*{{Gridbild|Wiederhol-Befehlsblock|link}}
* {{Gridbild|Redstone|link}}
 
* {{Gridbild|Redstone-Fackel|link}}
 
* {{Gridbild|Redstone-Verstärker|link}}
 
* {{Gridbild|Redstone-Komparator|link}}
 
* {{Gridbild|Befehlsblock|link}}
 
* {{Gridbild|Wiederhol-Befehlsblock|link}}
 
* {{Gridbild|Ketten-Befehlsblock|link}}
 
 
}}
 
}}
{{Bilderfolge|#1#2#3|Verkehrsanlagen Luftschiff (Befehle) Bild 2.|400px|list=1}}
+
{{Bilderfolge|#1#2#3|Luftschiff (Befehle) Bild 2.|400px|list=1}}
   
  +
Bei diesem Luftschiff steuert man dieses in dem man einfach in die gewünschte Richtung läuft. Dabei wird das Luftschiff in die Richtung mitbewegt. Es sind alle vier Himmelsrichtungen möglich. auch das Fahren nach unten oder oben ist problemlos machbar in dem man nach unten oder oben indem Moment schaut.
Diese Variante des Zeppelins ist komplett abhängig von dem ''Hangar'' und sollte besser nicht zu weit entfernt davon gesteuert werden (wegen ungeladenen {{de|Chunk}}s). Das Prinzip dieses Zeppelins besteht darin, eine Kopie des Zeppelins immer genau an die Position des Spieler mit Hilfe eines Taktgebers zu platzieren. Das heißt, bewegt sich der Spieler zum Beispiel um einen Block nach vorne, so wird der gesamte Zeppelin ebenfalls um einen Block nach vorne kopiert. Auch hier wird beim Betätigen des Knopfes an der goldenen Zahl 2 zuerst ein Team erstellt (Team: ''Pilot2''){{bb|2|1}} und der Komparator löst aus, wenn das Team erstellt werden konnte. Falls der Zeppelin bereits in Benutzung ist, wird eine Meldung an den Spieler versand{{bb|2|2}}{{bb|2|3}}. Nun wird der Befehlsblock, der im nachfolgenden Befehlsblock ist, zurückgesetzt{{bb|2|4}}. Im Anschluss werden weitere Ketten-Befehlsblöcke aktiviert: Vier Befehle{{bb|2|5}}{{bb|2|6}}{{bb|2|7}}{{bb|2|8}} sorgen dafür, dass ein Rüstungsständer mit dem Namen "Zeppelin2" erstellt wird, unter ihm ein Kolben, damit dann der Spieler wenn er zu ihm teleportiert wird nicht herunter fällt. Dann wird der Zeppelin an die Stelle kopiert.
 
   
  +
;Einschalten
Wenn der Zeppelin kopiert wurde, löst ein weiterer Komparator aus und gibt das Signal an die nächste Befehlsblockkette weiter: Dabei wird der Befehl{{bb|2|9}} aktiviert, der dem Spieler ein Holzschwert mit dem Namen ''Steuerkreuz2'' gibt. Hier ist zu beachten, dass der Zeppelin sich schlagartig drehen wird, sobald der Spieler mit dem Holzschwert in der Hand seine Blickrichtung ändert. Der Spieler selbst wird in das Team durch den Befehl{{bb|2|10}} hineingesetzt. Nun erhält der Spieler noch die Nachrichten: Der Befehl{{bb|2|11}} und der Befehl{{bb|2|12}} geben diese aus. Danach wird der Rüstungsständer um zwei Blöcke nach unten in den Zeppelin hinein teleportiert, mit dem Befehl{{bb|2|13}}.
 
  +
*{{bb|2|1}} Wenn der Hebel umgelegt wird, wird die Start-Funktion gestartet.
   
  +
;Wiederholen
Nun muss der Spieler noch den Zeppelin "starten", also auf den Start-Knopf drücken. dadurch wird ein Redstone-Block unter einem Wiederhol-Befehlsblock gesetzt der den Befehl{{bb|2|14}} beherbergt. Dieser gibt sein {{de|Befehlssignal}} an weitere Ketten-Befehlsblöcke weiter: Der Befehl{{bb|2|15}} prüft ob der Spieler ein Steuerkreuz in den Händen hält, wenn das der Fall ist, löst ein angeschlossener Komparator aus. Der weitere Ketten-Befehlsblock mit dem Befehl{{bb|2|16}} prüft ob der Spieler noch im Zeppelin ist, denn dann teleportiert er den Rüstungsständer zu ihm und der Befehl{{bb|2|17}} setzt ihn dann noch zwei Blöcke unter ihn hin. Wenn der eben erwähnte Komparator auslöst, dann wird der Befehlsblock mit dem Befehl{{bb|2|18}} ausgelöst und zu dem wird ein Taktgeber aktiviert, der im unteren Text weiter beschrieben wird und es wird ein Wiederhol-Befehlsblock aktiviert, samt Ketten-Befehlsblöcken, die die Blickrichtung prüfen. Der Wiederhol-Befehlsblock hat dabei den Befehl{{bb|2|19}}. All diese Befehlsblöcke sind mit Komparatoren verbunden und sie lösen nun all die Befehlsblöcke aus, die den Zeppelin in die entsprechende Richtung platzieren, in die der Spieler zur Zeit schaut. Einer der Befehlsblockketten davon lautet: Der Befehl{{bb|2|20}} kopiert die linke Hälfte und der Befehl{{bb|2|21}} die rechte Hälfte des Zeppelins an die neue Postion des Spielers.
 
  +
*{{bb|2|2}} Beim Einschalten wird auch der Wiederhol-Befehlsblock gestartet, der jeden Tick die Zyklus-Funktion lädt.
   
  +
;Ausschalten
Jetzt kommt der Taktgeber ins Spiel, so löst dieser immer dann ein Signal pulsierend aus, wenn der Spieler das Steuerkreuz in der Schnellzugriffsleiste ausgewählt hat. Das Signal erhält der Befehlsblock mit dem Befehl{{bb|2|22}} der den Befehlsblock zurücksetzt. Es werden darauf folgend viele weitere Ketten-Befehlsblöcke ausgelöst. Diese können aber nur dann ausgelöst werden, wenn ein Komparator der die Blickrichtung miest auch diesen ansteuert. Davon besitzt einer den Befehl{{bb|2|23}}. Der Zeppelin wird beim Bewegen in eine Richtung an die Postion des Spielers angepasst, allerdings nur mit einem Befehl, da hier der Bereich des Zeppelins kleiner ist und so der neue Zeppelin nur den vorherigen Bereich abdecken muss, der Rest ist Luft. Wenn sich der Spieler jedoch dreht, so werden beim ersten Mal des Bewegens zwei Befehle ausgeführt, damit der komplette Bereich gelöscht wird in dem sich der anders ausgerichtete Zeppelin befand. So bleiben keine Reststücke übrig und man kann durch einen sauberen Himmel fahren. In der Befehlsblockkette befindet sich auch noch ein Ketten-Befehlsblock mit dem Befehl{{bb|2|24}} der dem Spieler warnt, sobald er sich dem Zeppelin zu weit entfernt.
 
  +
*{{bb|2|3}} Wenn der Hebel wieder in Ausgangsstellung zurück gelegt wird, wird die Stopp-Funktion ausgelöst und schaltet alles wieder ab.
   
  +
{{Ausklappmenü|offen=1|{{bb}}|
Möchte man den Zeppelin anhalten, so muss man einfach auf den rechten Knopf drücken, dabei wird der Befehl{{bb|2|25}} ausgeführt, der den Wiederhol-Befehlsblock an der Anlage ausschaltet. Man kann den Zeppelin auch komplett entfernen, dazu drückt man auf den Knopf hinten in der Mitte. Dann wird der komplette Bereich um den Spieler{{bb|2|26}} durch Luft ersetzt und der Zeppelin verschwindet. Das Team{{bb|2|27}}, sowie der Taktgeber werden ausgeschaltet. Zusätzlich wird der Rüstungsständer mit dem Befehl{{bb|2|28}} entfernt. Das Holzschwert wird entfernt{{bb|2|29}} und man kann den Zeppelin erneut unten an der goldenen Zahl auswählen.
 
  +
{{bb|2|1|i|4=function luftschiff:v2start}}
  +
{{bb|2|2|w|4=function luftschiff:v2zyklus}}
   
  +
{{bb}}
 
{{bb|2|1||4=/scoreboard teams add Pilot2}}
+
{{bb|2|3|i|4=function luftschiff:v2stopp}}
  +
}}
{{bb|2|2||4=/testforblock ~ ~1 ~ command_block -1 {SuccessCount:0} }}
 
  +
{{bb|2|3||4=/tellraw @a[r=10] {"text":"Dieser Zeppelin ist bereits in Benutzung, warte bis dieser wieder entfernt wurde, damit er wieder einsatzbereit ist.","color":"light_purple"} }}
 
  +
{{fü|2|name=Start}}
{{bb|2|4||4=/blockdata ~2 ~ ~ {SuccessCount:0} }}
 
  +
Die Start-Funktion erstellt das Team für Piloten. Es wird ein Rüstungständer für das Luftschiff erstellt und der Spieler wird einen Eichenholzbrett davor teleportiert, sodass das Luftschiff erstellt werden kann.
{{bb|2|5||4=/summon armor_stand ~-30 ~30 ~ {CustomName:"Zeppelin2",NoGravity:1b,Rotation:[90f,0],Small:1b} }}
 
  +
{{bb|2|6||4=/execute @e[type=armor_stand,name=Zeppelin2] ~ ~ ~ /setblock ~ ~-1 ~ piston 1}}
 
  +
{{f|name=luftschiff:v2start|alias=v2start|1=
{{bb|2|7||4=/tp @p[r=10] @e[type=armor_stand,name=Zeppelin2] }}
 
  +
# Das Team für Piloten wird erstellt und der nächstgelegene Spieler wird in dieses gesteckt.
{{bb|2|8||4=/execute @e[type=armor_stand,name=Zeppelin2] ~ ~ ~ /clone 258 27 138 298 49 162 ~-20 ~-4 ~-12}}
 
  +
team add TMLuftS.2Pilot ["Luftschiff.1: ",{"text":"Piloten","bold":true}]
{{bb|2|9||4=/execute @e[type=armor_stand,name=Zeppelin2] ~ ~ ~ /replaceitem entity @p[r=2] slot.hotbar.0 wooden_sword 1 0 {AttributeModifiers:[{AttributeName:generic.attackDamage,Amount:-1,Name:Extraschaden,Operation:0,UUIDLeast:1,UUIDMost:1,Slot:mainhand}],Unbreakable:1,ench:[],HideFlags:6,display:{Name:Steuerkreuz2} } }}
 
  +
team join TMLuftS.2Pilot @p[distance=..5,team=!TMLuftS.2Pilot]
{{bb|2|10||4=/execute @e[type=armor_stand,name=Zeppelin2] ~ ~ ~ /scoreboard teams join Pilot2 @p[r=2] }}
 
  +
{{bb|2|11||4=/tellraw @p[team=Pilot2] [{"text":"Schritt1: ","color":"black","bold":"true"},{"text":"Wähle das Steuerkreuz in der Schnellzugriffssleiste aus (Holzschwert)","color":"yellow"} ] }}
 
  +
# Der Luftschiff-Rüstungsständer mit einem zweiten huckepack, wird 25 Meter über der Befehlsquelle erzeugt.
{{bb|2|12||4=/tellraw @p[team=Pilot2] [{"text":"Schritt2: ","color":"black","bold":"true"},{"text":"Betätige den Knopf am Zeppelin zum starten, damit der Zeppelin startbereit ist","color":"yellow"} ] }}
 
  +
summon minecraft:armor_stand ~ ~25 ~ {Small:true,NoGravity:true,Invisible:true,CustomName:'{"text":"Westen","color":"gold","bold":true}',Tags:["EtiLuftS.2Alle","EtiLuftS.2Luftschiff","EtiLuftS.2Richtung"],Rotation:[90.0f,0.0f],Passengers:[{id:"minecraft:armor_stand",Small:true,NoGravity:true,Invisible:true,CustomName:'{"text":"Geradeaus","color":"aqua","bold":true}',Tags:["EtiLuftS.2Alle","EtiLuftS.2Neigung"]}]}
{{bb|2|13||4=/tp @e[type=armor_stand,name=Zeppelin2] ~ ~-2 ~}}
 
  +
{{bb|2|14||4=/execute @p[team=Pilot2] ~ ~ ~ detect ~ ~-10 ~ sandstone 0 say Achtung! du fährst zu tief, steig mit dem Zeppelin wieder auf!}}
 
  +
# Einen Block unter dem Luftschiff-Rüstungsständer wird ein Eichenholzbrett platziert, damit der Spieler bei der Teleportation auf festen Untegrund steht.
{{bb|2|15||4=/execute @e[type=armor_stand,name=Zeppelin2] ~ ~ ~ /testfor @a[team=Pilot2,r=5] {SelectedItem:{id:"minecraft:wooden_sword",tag:{display:{Name:"Steuerkreuz2"} } } } }}
 
  +
execute at @e[type=minecraft:armor_stand,tag=EtiLuftS.2Luftschiff] run setblock ~-1 ~-1 ~ minecraft:oak_planks replace
{{bb|2|16||4=/execute @p[team=Pilot2] ~ ~ ~ detect ~ ~-2 ~ wooden_slab -1 /tp @e[type=armor_stand,name=Zeppelin2] @p[team=Pilot2] }}
 
{{bb|2|17||4=/tp @e[type=armor_stand,name=Zeppelin2] ~ ~-2 ~}}
+
execute at @e[type=minecraft:armor_stand,tag=EtiLuftS.2Luftschiff] run teleport @p[team=TMLuftS.2Pilot] ~-1 ~ ~
  +
{{bb|2|18||4=/tellraw @p[team=Pilot2] {"text":"Das Steuerkreuz wurde in die Hand genommen, nun folgt dir der Zeppelin","color":"red"} }}
 
  +
# Dem Piloten wird ein Holzschwert mit dem Namen Steuerkreuz gegeben. Damit lässt sich das Luftschiff fahren.
{{bb|2|19||4=/testfor @p[team=Pilot2,rym=45,ry=135] }}
 
  +
replaceitem entity @p[team=TMLuftS.2Pilot] weapon.mainhand minecraft:wooden_sword{luftschiff:"v2gegenstand",AttributeModifiers:[{AttributeName:"generic.attackDamage",Amount:-1,Name:"Extraschaden",Operation:0,UUIDLeast:1,UUIDMost:1,Slot:"mainhand"}],Unbreakable:true,Enchantments:[{id:-1}],HideFlags:6,display:{Name:'{"text":"Steuerkreuz","color":"gold","bold":true}',Lore:['"Wähle das Steuerkreuz"','"aus, um das Luftschiff zu fahren"']} }
{{bb|2|20||4=/execute @e[type=armor_stand,name=Zeppelin2] ~ ~ ~ /execute @p[team=Pilot2,r=5] ~ ~ ~ detect ~ ~-10 ~ air 0 /clone 258 27 150 298 49 170 ~-20 ~-4 ~}}
 
  +
{{bb|2|21||4=/execute @e[type=armor_stand,name=Zeppelin2] ~ ~ ~ /execute @p[team=Pilot2,r=5] ~ ~ ~ detect ~ ~-10 ~ air 0 /clone 258 27 130 298 49 149 ~-20 ~-4 ~-20}}
 
  +
# Eine Nachricht an den Piloten, damit dieser weiss was er machen muss um das Luftschiff zu fahren.
{{bb|2|22||4=/blockdata ~-2 ~ ~-1 {SuccessCount:0} }}
 
  +
tellraw @p[team=TMLuftS.2Pilot] ["Luftschiff.2: ",{"text":"Wähle das Steuerkreuz aus und laufe in die gewünschte Richtung um das Luftschiff zu fahren.","bold":true}]
{{bb|2|23||4=/execute @e[type=armor_stand,name=Zeppelin2] ~ ~ ~ /execute @p[team=Pilot2,r=5] ~ ~ ~ detect ~ ~-10 ~ air 0 /clone 258 27 138 298 49 162 ~-20 ~-4 ~-12}}
 
  +
}}
{{bb|2|24||4=/execute @e[type=armor_stand,name=Zeppelin2] ~ ~ ~ /tellraw @p[rm=40,r=50,team=Pilot2] {"text":"Achtung, du hast dich zu weit vom Zeppelin entfernt, kehre zurück!","color":"red","bold":"true"} }}
 
  +
{{bb|2|25||4=/setblock 229 27 143 air}}
 
  +
{{fü|2|name=Zyklus}}
{{bb|2|26||4=/execute @a[r=10] ~ ~ ~ /fill ~17 ~20 ~17 ~-17 ~-5 ~-17 air}}
 
  +
Die Zyklus-Funktion prüft, in welche Richtung der Spieler gelaufen ist und speichert dies in dem Rüstungsständer um mit diesen Daten die Luftschiff-Funktion aufzurufen zu können. Hierbei wird geprüft ob der Spieler auf den Luftschiffblöcken steht, dies wird mit dem Alias [[#luftschiff:v2steuer]] realisiert.
{{bb|2|27||4=/scoreboard teams remove Pilot2}}
 
  +
{{bb|2|28||4=/kill @e[type=armor_stand,name=Zeppelin2] }}
 
  +
{{f|name=luftschiff:v2zyklus|alias=v2zyklus|1=
{{bb|2|29||4=/clear @a wooden_sword 0 9999 {display:{Name:"Steuerkreuz2"} } }}
 
  +
# Nur wenn der Spieler das Holzschwert ausgewählt hat, bekommt er ein Etikett.
  +
tag @a[team=TMLuftS.2Pilot,nbt={SelectedItem:{id:"minecraft:wooden_sword",tag:{luftschiff:"v2gegenstand"} } }] add EtiLuftS.2Steuer
  +
  +
# Nur wenn der Spieler sich etwas mehr als einen halben Meter vom Luftschiff-Rüstungsständer entfernt und dabei auf einem Steuerblock steht, wird dem Rüstungsständer ein Etikett gegeben.
  +
execute as @e[type=minecraft:armor_stand,tag=EtiLuftS.2Luftschiff] at @s at @p[distance=0.8..1.5,team=TMLuftS.2Pilot,tag=EtiLuftS.2Steuer] if block ~ ~-1 ~ #luftschiff:v2steuer run tag @s add EtiLuftS.2Fahren
  +
  +
# Je nach Blickwinkel des Spielers bekommt der Luftschiff-Rüstungsständer den Namen Oben, Geradeaus oder Unten.
  +
execute as @e[type=minecraft:armor_stand,tag=EtiLuftS.2Fahren] at @s if entity @p[distance=0.8..1.5,team=TMLuftS.2Pilot,tag=EtiLuftS.2Steuer,x_rotation=-90..-45] run data merge entity @e[distance=..2,type=minecraft:armor_stand,tag=EtiLuftS.2Neigung,sort=nearest,limit=1] {CustomName:'{"bold":true,"color":"green","text":"Oben"}'}
  +
execute as @e[type=minecraft:armor_stand,tag=EtiLuftS.2Fahren] at @s if entity @p[distance=0.8..1.5,team=TMLuftS.2Pilot,tag=EtiLuftS.2Steuer,x_rotation=-45..45] run data merge entity @e[distance=..2,type=minecraft:armor_stand,tag=EtiLuftS.2Neigung,sort=nearest,limit=1] {CustomName:'{"bold":true,"color":"aqua","text":"Geradeaus"}'}
  +
execute as @e[type=minecraft:armor_stand,tag=EtiLuftS.2Fahren] at @s if entity @p[distance=0.8..1.5,team=TMLuftS.2Pilot,tag=EtiLuftS.2Steuer,x_rotation=45..90] run data merge entity @e[distance=..2,type=minecraft:armor_stand,tag=EtiLuftS.2Neigung,sort=nearest,limit=1] {CustomName:'{"bold":true,"color":"red","text":"Unten"}'}
  +
  +
# Der Luftschiff-Rüstungsständer wird an der neuen Position des Spielers zentriert teleportiert, mit Blickrichtung.
  +
execute as @e[type=minecraft:armor_stand,tag=EtiLuftS.2Fahren] at @s at @p[distance=0.8..1.5,team=TMLuftS.2Pilot,tag=EtiLuftS.2Steuer] align xyz run teleport @s ~0.5 ~ ~0.5 ~ ~
  +
  +
# Wenn der Rüstungsständer in eine Richtung schaut in die er bisher noch nicht geschaut hat, wird er genau in die Himmelsrichtung ausgerichtet und bekommt als Namen den der Himmelsrichtung.
  +
execute as @e[type=minecraft:armor_stand,tag=EtiLuftS.2Fahren,name=!"Norden",y_rotation=135..-135] run data merge entity @s {CustomName:'{"bold":true,"color":"blue","text":"Norden"}',Rotation:[180.0f,0.0f]}
  +
execute as @e[type=minecraft:armor_stand,tag=EtiLuftS.2Fahren,name=!"Osten",y_rotation=-135..-45] run data merge entity @s {CustomName:'{"bold":true,"color":"gold","text":"Osten"}',Rotation:[270.0f,0.0f]}
  +
execute as @e[type=minecraft:armor_stand,tag=EtiLuftS.2Fahren,name=!"Süden",y_rotation=-45..45] run data merge entity @s {CustomName:'{"bold":true,"color":"blue","text":"Süden"}',Rotation:[0.0f,0.0f]}
  +
execute as @e[type=minecraft:armor_stand,tag=EtiLuftS.2Fahren,name=!"Westen",y_rotation=45..135] run data merge entity @s {CustomName:'{"bold":true,"color":"gold","text":"Westen"}',Rotation:[90.0f,0.0f]}
  +
  +
# Der Luftschiff-Rüstungsständer ruft die Luftschiff-Funktion auf, wenn der Spieler mit dem Luftschiff fahren will.
  +
execute as @e[type=minecraft:armor_stand,tag=EtiLuftS.2Fahren] at @s run function luftschiff:v2luftschiff
  +
  +
# Der Rüstungsständer wie auch der Spieler bekommen das jeweilige Etikett entfernt wenn sie es besaßsen.
  +
tag @e[type=minecraft:armor_stand,tag=EtiLuftS.2Fahren] remove EtiLuftS.2Fahren
  +
tag @a[tag=EtiLuftS.2Steuer] remove EtiLuftS.2Steuer
  +
}}
  +
{{JSON-Datei|name=luftschiff:v2steuer|type=alias|1=
  +
{
  +
"values":[
  +
"minecraft:note_block",
  +
"minecraft:stone_button",
  +
"minecraft:piston",
  +
"minecraft:piston_head",
  +
"minecraft:oak_slab",
  +
"minecraft:stripped_birch_log",
  +
"#minecraft:planks"
  +
]
  +
}
  +
}}
  +
  +
{{fü|2|name=Luftschiff}}
  +
Die Luftschiff-Funktion beseitigt alle Überreste des Luftschiffes und bewegt den Piloten sowie den Luftschiffs-Rüstungsständer nach oben oder unten wenn dies gewollt ist. Das Luftschiff mit gewünschter Richtung wird anschließend durch einen Konstruktionsblock erstellt. Damit bestimmte Blöcke nicht beim Ersetzen droppen, wird das Alias [[#luftschiff:v2drop-bloecke]] verwendet welches diese Blöcke durch Luft ersetzt.
  +
  +
{{f|name=luftschiff:v2lusftschiff|1=
  +
# Bevor das Luftschiff in die neue Richtung bewegt wird, werden alle Blöcke durch Luft ersetzt, die beim normalen Ersetzen droppen würden
  +
fill ~15 ~15 ~15 ~-15 ~-15 ~-15 minecraft:air replace #luftschiff:v2drop-bloecke
  +
  +
# Wenn der Spieler das Luftschiff um 90° oder 180° dreht, würden manche Teile davon weiterhin in der Luft bleiben, diese werden überprüft und entfernt
  +
execute rotated ~ 0 run fill ^-4 ^1 ^-15 ^4 ^15 ^-18 minecraft:air replace
  +
execute rotated ~ 0 unless block ^11 ^3 ^-1 minecraft:air run fill ^11 ^1 ^4 ^17 ^15 ^-6 minecraft:air replace
  +
execute rotated ~ 0 unless block ^-11 ^3 ^-1 minecraft:air run fill ^-11 ^1 ^4 ^-17 ^15 ^-6 minecraft:air replace
  +
  +
# Wenn der spieler nach oben oder unten geschaut hat, während er das Luftschiff in eine Richtung bewegt hatte, so wird dieser, wie auch der Luftschiff-Rüstungsständer in die Richtung mit teleportiert
  +
execute as @e[distance=..2,type=minecraft:armor_stand,tag=EtiLuftS.2Neigung,name=!"Geradeaus"] run tellraw @p[distance=..1.5,team=TMLuftS.2Pilot,tag=EtiLuftS.2Steuer] ["Luftschiff.2: ",{"selector":"@s"}]
  +
execute if entity @e[distance=..2,type=minecraft:armor_stand,tag=EtiLuftS.2Neigung,name="Oben"] as @p[distance=..1.5,team=TMLuftS.2Pilot,tag=EtiLuftS.2Steuer] at @s run teleport @s ~ ~1 ~
  +
execute if entity @e[distance=..2,type=minecraft:armor_stand,tag=EtiLuftS.2Neigung,name="Oben"] run teleport @s ~ ~1 ~
  +
execute if entity @e[distance=..2,type=minecraft:armor_stand,tag=EtiLuftS.2Neigung,name="Unten"] as @p[distance=..1.5,team=TMLuftS.2Pilot,tag=EtiLuftS.2Steuer] at @s run teleport @s ~ ~-1 ~
  +
execute if entity @e[distance=..2,type=minecraft:armor_stand,tag=EtiLuftS.2Neigung,name="Unten"] run teleport @s ~ ~-1 ~
  +
  +
# Je nach Blickrichtung des Spielers wird ein Konstruktionsblock mit entsprechender Rotation platziert
  +
execute at @s if entity @s[name="Westen"] run setblock ~ ~-3 ~ minecraft:structure_block{rotation:"NONE",mode:"LOAD",posX:-17,posY:0,posZ:-10,name:"luftschiff:v2luftschiff"} replace
  +
execute at @s if entity @s[name="Norden"] run setblock ~ ~-3 ~ minecraft:structure_block{rotation:"CLOCKWISE_90",mode:"LOAD",posX:10,posY:0,posZ:-17,name:"luftschiff:v2luftschiff"} replace
  +
execute at @s if entity @s[name="Osten"] run setblock ~ ~-3 ~ minecraft:structure_block{rotation:"CLOCKWISE_180",mode:"LOAD",posX:17,posY:0,posZ:10,name:"luftschiff:v2luftschiff"} replace
  +
execute at @s if entity @s[name="Süden"] run setblock ~ ~-3 ~ minecraft:structure_block{rotation:"COUNTERCLOCKWISE_90",mode:"LOAD",posX:-10,posY:0,posZ:17,name:"luftschiff:v2luftschiff"} replace
  +
  +
# Neben dem Konstruktionsblock wird ein Redstone-Block platziert um diesen zu aktivieren
  +
execute at @s run setblock ~ ~-3 ~1 minecraft:redstone_block replace
  +
}}
  +
{{JSON-Datei|name=luftschiff:v2drop-bloecke|type=alias|1=
  +
{
  +
"values":[
  +
"minecraft:ladder",
  +
"#minecraft:buttons",
  +
"#minecraft:signs",
  +
"#minecraft:wall_signs"
  +
]
  +
}
  +
}}
  +
  +
{{fü|2|name=Stopp}}
  +
Die Stopp-Funktion löscht das Team wieder. Das Luftschiff wird durch Luft ersetzt und die Rüstungsständer im Inventar als Drop oder Objekt werden entfernt.
  +
  +
{{f|name=luftschiff:v2stopp|alias=v2stopp|1=
  +
# Das Team wird gelöscht.
  +
team remove TMLuftS.2Pilot
  +
  +
# Das Luftschiff an der Position des Luftschiffs-Rüstungsständers wird durch Luft ersetzt.
  +
execute at @e[type=minecraft:armor_stand,tag=EtiLuftS.2Luftschiff] run fill ~17 ~15 ~17 ~-17 ~-4 ~-17 minecraft:air replace #luftschiff:v2drop-bloecke
  +
execute at @e[type=minecraft:armor_stand,tag=EtiLuftS.2Luftschiff] run fill ~17 ~15 ~17 ~-17 ~-4 ~-17 minecraft:air replace
  +
  +
# Das Holzschwert wird aus dem Inventar entfernt.
  +
clear @a minecraft:wooden_sword{luftschiff:"v2gegenstand"}
  +
  +
# Alle Rüstungsständer werden gelöscht.
  +
tag @e[type=minecraft:item,nbt={Item:{tag:{luftschiff:"v2gegenstand"} } }]
  +
kill @e[type=minecraft:armor_stand,tag=EtiLuftS.2Alle]
  +
}}
   
 
== Variante 3 ==
 
== Variante 3 ==
 
{{Voraussetzung|
 
{{Voraussetzung|
*[[Schaltkreise/Taktgeber (Befehle)]]
+
*[[Taktgeber (Befehle)]]
*[[Schaltkreise/Impulsgeber (Befehle)]]
+
*[[Impulsgeber (Befehle)]]
*[[Vorrichtungen/Gegenstandsensor (Befehle)]]
+
*[[Inventar-Sensor (Befehle)]]
*[[Vorrichtungen/Blickrichtungssensor (Befehle)]]
+
*[[Blickwinkel-Sensor (Befehle)]]
*[[Anlagen/TNT-Kanone (Redstone)]]
+
*[[Objekt-Steuerung (Befehle)]]
*[[Anlagen/Objekt-Steuerung (Befehle)]]
+
*[[Automobil (Befehle)]]
  +
*{{mcw|Anzeigetafel}}
*[[Straßenverkehrsanlagen/Automobil (Befehle)]]
 
  +
*{{mcw|Funktion}}
*{{de|Anzeigetafel|Teamzuweisung}}
 
*{{b|/give}}
+
*{{mcw|Aliasdaten}}
*{{b|/tp}}
 
*{{b|/testfor}}
 
*{{b|/blockdata}}
 
*{{b|/setblock}}
 
*{{b|/fill}}
 
*{{b|/clone}}
 
*{{b|/execute}}
 
*{{b|/summon}}
 
*{{b|/kill}}
 
*{{b|/clear}}
 
 
|
 
|
* {{Gridbild|Eisenblock|link}}
+
*{{Gridbild|Hebel|link}}
* {{Gridbild|Goldblock|link}}
+
*{{Gridbild|Redstone-Fackel|link}}
* {{Gridbild|Diamantblock|link}}
+
*{{Gridbild|Befehlsblock|link}}
* {{Gridbild|Hebel|link}}
+
*{{Gridbild|Wiederhol-Befehlsblock|link}}
* {{Gridbild|Redstone|link}}
 
* {{Gridbild|Redstone-Fackel|link}}
 
* {{Gridbild|Redstone-Verstärker|link}}
 
* {{Gridbild|Redstone-Komparator|link}}
 
* {{Gridbild|Befehlsblock|link}}
 
* {{Gridbild|Wiederhol-Befehlsblock|link}}
 
* {{Gridbild|Ketten-Befehlsblock|link}}
 
 
}}
 
}}
{{Bilderfolge|#1#2#3|Verkehrsanlagen Luftschiff (Befehle) Bild 3.|400px|list=1}}
+
{{Bilderfolge|#1#2#3|Luftschiff (Befehle) Bild 3.|400px|list=1}}
   
  +
Dieses Luftschiff lässt sich durch das Werfen von Holzschwertern steuern. Es kann in alle vier Himmelsrichtungen gefahren werden und nach oben oder unten. Dabei verbraucht man etwas Kohle und ohne diese kann es nicht mehr weiter gefahren werden. Beim Einschalten erhält man einen Rüstungsständer für das Platzieren eines Andockplatzes. Dort läuft man hin und bekommt ein Holzschwert und beim Wurf dessen, wird ein Luftschiff in großer Höhe erzeugt und der Spieler wird dort hineingesetzt. Mit einer Leine die er ebenfalls werfen muss kann er wieder beim Andockplatz unten gelangen. Das Luftschiff ist solange mit einer Ankerkette am Andockplatz angeleint.
Die dritte Variante des Zeppelins basiert darauf, allein mit der Blickrichtung den Zeppelin steuern zu können. Auch hier wird ein ''Hangar'' für das Original benötigt. Man drückt den Knopf von der goldenen Zahl und es wird zuerst ein Team erstellt mit dem Befehl{{bb|3|1}} und anschließend prüfen das zwei Ketten-Befehlsblöcke{{bb|3|2}}{{bb|3|3}}, denn wenn bereits ein Spieler mit dme Zeppelin fährt wird der Befehl nicht erfolgreich sein. Der Komparator der an dem Befehlsblock angeschlossen ist löst nach erfolgreicher Ausführung des Befehls aus. Dadurch wird ein Befehlsblock aktiviert, der den Befehlsblock davor zurücksetzt und er löst eine Kette an Ketten-Befehlsblöcken aus{{bb|3|4}}{{bb|3|5}}{{bb|3|6}}{{bb|3|7}}. Die Befehle sorgen für die Erstellung des Zeppelins und die richtige Positionierung des Spielers in diesem. Wenn der Zeppelin erfolgreich platziert wurde, löst ein weiterer Komparator aus, der den Befehl{{bb|3|8}} aktiviert und so den letzten Ketten-Befehlsblock zurücksetzt. Der Befehlsblock löst dann wieder eine Kette weiterer Ketten-Befehlsblöcke aus: Der Befehl{{bb|3|9}}, der Befehl{{bb|3|10}}, der Befehl{{bb|3|11}}, der Befehl{{bb|3|12}} und der Befehl{{bb|3|13}} kümmern sich darum, dass der Spieler in das Team "Pilot3" kommt und das Steuerkreuz erhält, sowie dass er die Nachrichten erhält.
 
   
  +
;Einschalten
Nun betätigt der Spieler den linken Knopf auf dem Notenblock, welcher den Zeppelin startet. Dabei wird der Wiederhol-Befehlsblock aktiviert, mit dem Befehl{{bb|3|14}} und er löst weitere Ketten-Befehlsblöcke aus: Der Befehl{{bb|3|15}} prüft ob der Spieler ein Steuerkreuz in der Hand hält und gibt ggf. durch einen Komparator ein Signal aus. Der Befehl{{bb|3|16}}, der Befehl{{bb|3|17}} und der Befehl{{bb|3|18}} sorgen dafür, dass zum einen der Spieler sich zu weit vom Zeppelin entfernt ohne gewarnt zu werden und zum anderen wird der Rüstungsständer immer unter den Spieler platziert, so lange er sich nicht von diesen zu weit entfernt. Das Signal des Komparators geht in einen Befehlsblock mit dem Befehl{{bb|3|19}} der dem Spieler ausgibt, dass er das Steuerkreuz in die Hand genommen hat und die Anlage nun darauf reagiert. Durch das Komparator-Signal wird dann noch ein Taktgeber aktiviert und ein weiterer Wiederhol-Befehlsblock mit dem Befehl{{bb|3|20}}. Dieser aktiviert weitere Ketten-Befehlsblöcke, die insgesamt für alle Blickrichtungen zuständig sind.
 
  +
*{{bb|3|1}} Wenn der Hebel umgelegt wird, wird die Start-Funktion gestartet.
   
  +
;Wiederholen
Ändert der Spieler seine Blickrichtung, so werden zuvor zwei Befehle aktiviert: Der Befehl{{bb|3|21}} und der Befehl{{bb|3|22}} die die zwei Zeppelin-Hälften aus dem Hanger an der Postion des Spielers setzen, vorausgesetzt, er befindet sich nicht zu weit vom Rüstungsständer. Nun löst der Taktgeber die entsprechend aktiverten Befehlsblöcke aus. Dabeit wird der Befehl{{bb|3|23}}, der Befehl{{bb|3|24}} und der Befehl{{bb|3|25}} aktiviert. Diese sorgen dafür, dass zuerst alle Redstone-Blöcke entfernt werden und dann nur genau dort wo die Ketten-Befehlsblöcke sind, die die neue Blickrichtung unterstützen die Redstone-Blöcke gesetzt werden. Einer dieser Ketten-Befehlsblöcke hat den Befehl{{bb|3|26}} und der nachfolgende den Befehl{{bb|3|27}}.
 
  +
*{{bb|3|2}} Beim Einschalten wird auch der Wiederhol-Befehlsblock gestartet, der jeden Tick die Zyklus-Funktion lädt.
   
  +
;Ausschalten
Nun fährt der Zeppelin in die Richtung in die man schaut. Möchte man den Zeppelin drehen, so wählt man das Holzschwert aus, während man in die Richtung schaut, in die sich der Zeppelin drehen soll. Soll sich der Zeppelin erneut drehen, so muss man zuerst das Holzschwert abwählen und dann erneut auswählen, dann wird sich der Zeppelin in die neue Richtung drehen. Man kann den Zeppelin auch ausschalten und dann für eine beliebig lange Zeit verlassen, man sollte aber zu ihm zurück kehren. Möchte man den Zeppelin komplett entfernen, so betätigt man den Knopf oben in der Mitte. Dann wird der Zeppelin samt Team{{bb|3|28}} und Holzschwert{{bb|3|29}} entfernt{{bb|3|30}}. Der Rüstungsständer wird durch den Befehl{{bb|3|31}} entfernt. Nun kann man den Zeppelin an der goldenen Zahl erneut auswählen.
 
  +
*{{bb|3|3}} Wenn der Hebel wieder in Ausgangsstellung zurück gelegt wird, wird die Stopp-Funktion ausgelöst und schaltet alles wieder ab.
   
  +
{{Ausklappmenü|offen=1|{{bb}}|
{{bb}}
 
{{bb|3|1||4=/scoreboard teams add Pilot3}}
+
{{bb|3|1|i|4=function luftschiff:v3start}}
{{bb|3|2||4=/testforblock ~ ~1 ~ command_block -1 {SuccessCount:0} }}
+
{{bb|3|2|w|4=function luftschiff:v3zyklus}}
  +
{{bb|3|3||4=/tellraw @a[r=10] {"text":"Dieser Zeppelin ist bereits in Benutzung, warte bis dieser wieder entfernt wurde, damit er wieder einsatzbereit ist.","color":"light_purple"} }}
 
  +
{{bb|3|4||4=/summon armor_stand ~-30 ~30 ~ {CustomName:"Zeppelin3",NoGravity:1b,Rotation:[90f,0],Small:1b} }}
 
  +
{{bb|3|3|i|4=function luftschiff:v3stopp}}
{{bb|3|5||4=/execute @e[type=armor_stand,name=Zeppelin3] ~ ~ ~ /setblock ~ ~-1 ~ piston 1}}
 
  +
}}
{{bb|3|6||4=/tp @p[r=5] @e[type=armor_stand,name=Zeppelin3] }}
 
  +
{{bb|3|7||4=/execute @e[type=armor_stand,name=Zeppelin3] ~ ~ ~ /clone 258 27 190 298 49 210 ~-20 ~-4 ~-6}}
 
  +
{{fü|3|name=Start}}
{{bb|3|8||4=/blockdata ~ ~ ~2 {SuccessCount:0} }}
 
  +
Die Start-Funktion erstellt die Punktestand-Ziele, das Team und gibt den Spielern einen Rüstungsständer, eine Leine und 64 Kohlestücke in die Hand.
{{bb|3|9||4=/execute @e[type=armor_stand,name=Zeppelin3] ~ ~ ~ /replaceitem entity @p[r=2] slot.hotbar.0 wooden_sword 1 0 {AttributeModifiers:[{AttributeName:generic.attackDamage,Amount:-1,Name:Extraschaden,Operation:0,UUIDLeast:1,UUIDMost:1,Slot:mainhand}],Unbreakable:1,ench:[],HideFlags:6,display:{Name:Steuerkreuz3} } }}
 
  +
{{bb|3|10||4=/execute @e[type=armor_stand,name=Zeppelin3] ~ ~ ~ /scoreboard teams join Pilot3 @p[r=2] }}
 
  +
{{f|name=luftschiff:v3start|alias=v3start|1=
{{bb|3|11||4=/tellraw @p[team=Pilot3] [{"text":"Schritt1: ","color":"black","bold":"true"},{"text":"Wähle das Steuerkreuz in der Schnellzugriffssleiste aus (Holzschwert)","color":"yellow"} ] }}
 
  +
# Punktestand-Ziele für das Droppen von Holzschwertern und Leinen werden erstellt.
{{bb|3|12||4=/tellraw @p[team=Pilot3] [{"text":"Schritt2: ","color":"black","bold":"true"},{"text":"Betätige den Knopf am Zeppelin zum starten, damit der Zeppelin startbereit ist","color":"yellow"} ] }}
 
  +
scoreboard objectives add PZLuftS.3Steuer minecraft.dropped:minecraft.wooden_sword ["Luftschiff.3: ",{"text":"Holzschwert droppen um Luftschiff zu fahren","bold":true}]
{{bb|3|13||4=/tp @e[type=armor_stand,name=Zeppelin3] ~ ~-2 ~}}
 
  +
scoreboard objectives add PZLuftS.3Leine minecraft.dropped:minecraft.lead ["Luftschiff.3: ",{"text":"Leine droppen um anzudocken","bold":true}]
{{bb|3|14||4=/execute @p[team=Pilot3] ~ ~ ~ detect ~ ~-10 ~ sandstone 0 say Achtung! du fährst zu tief, steig mit dem Zeppelin wieder auf!}}
 
  +
{{bb|3|15||4=/execute @e[type=armor_stand,name=Zeppelin3] ~ ~ ~ /testfor @a[team=Pilot3,r=5] {SelectedItem:{id:"minecraft:wooden_sword",tag:{display:{Name:"Steuerkreuz3"} } } } }}
 
  +
# Ein Team für Piloten wird erstellt.
{{bb|3|16||4=/execute @e[type=armor_stand,name=Zeppelin3] ~ ~ ~ /tellraw @p[rm=40,r=50,team=Pilot3] {"text":"Achtung, du hast dich zu weit vom Zeppelin entfernt, kehre zurück!","color":"red","bold":"true"} }}
 
  +
team add TMLuftS.3Pilot ["Luftschiff.3: ",{"text":"Piloten","bold":true}]
{{bb|3|17||4=/execute @p[team=Pilot3] ~ ~ ~ detect ~ ~-3 ~ planks -1 /tp @e[type=armor_stand,name=Zeppelin3] @p[team=Pilot3] }}
 
  +
{{bb|3|18||4=/tp @e[type=armor_stand,name=Zeppelin3] ~ ~-2 ~}}
 
  +
# Der nächstgelegene Spieler wird in den Überlebensmodus gesetzt.
{{bb|3|19||4=/tellraw @p[team=Pilot3] {"text":"Das Steuerkreuz wurde in die Hand genommen nun folgt der Zeppelin dir","color":"red"} }}
 
  +
gamemode survival @p[distance=..25,gamemode=!survival]
{{bb|3|20||4=/testfor @p[team=Pilot3,rym=45,ry=135] }}
 
  +
{{bb|3|21||4=/execute @e[type=armor_stand,name=Zeppelin3] ~ ~ ~ /execute @p[team=Pilot3,r=5] ~ ~ ~ /clone 258 27 196 298 49 216 ~-20 ~-4 ~}}
 
  +
# Dem nächstgelegenen Spieler werden ein Rüstungsständer, eine Leine und 64 Kohle ins Inventar gegeben.
{{bb|3|22||4=/execute @e[type=armor_stand,name=Zeppelin3] ~ ~ ~ /execute @p[team=Pilot3,r=5] ~ ~ ~ /clone 258 27 176 298 49 195 ~-20 ~-4 ~-20}}
 
  +
give @p[distance=..25] minecraft:armor_stand{luftschiff:"v3gegenstand",display:{Name:'{"text":"Andockplatz","bold":true}',Lore:['"Platziere den Rüstungsständer"','"um eine Landeplattform für"','"Luftschiffe zu erstellen"']},EntityTag:{Small:true,Invisible:true,Marker:true,NoGravity:true,CustomNameVisible:true,CustomName:'{"text":"Andockplatz","bold":true}',Tags:["EtiLuftS.3Alle","EtiLuftS.3Andockplatz","EtiLuftS.3Erstellen"]} }
{{bb|3|23||4=/tellraw @p[team=Pilot3] {"text":"Richtung Westen","color":"yellow"} }}
 
  +
give @p[distance=..25] minecraft:lead{luftschiff:"v3gegenstand",display:{Lore:['"Wirf die Leine mit Q um"','"zum Luftschiff oder"','"Andockplatz zu gelangen"'] } } 1
{{bb|3|24||4=/fill 232 29 190 233 34 190 air 0 replace redstone_block}}
 
  +
give @p[distance=..25] minecraft:coal{luftschiff:"v3gegenstand"} 64
{{bb|3|25||4=/fill 232 29 190 232 30 190 redstone_block 0 replace air}}
 
  +
}}
{{bb|3|26||4=/execute @e[type=armor_stand,name=Zeppelin3] ~ ~ ~ /execute @p[r=5,team=Pilot3] ~ ~ ~ /clone ~17 ~17 ~15 ~-15 ~-5 ~-15 ~-16 ~-5 ~-15 replace move}}
 
  +
{{bb|3|27||4=/execute @e[type=armor_stand,name=Zeppelin3] ~ ~ ~ /tp @p[r=20,team=Pilot3] ~-1 ~ ~}}
 
  +
{{fü|3|name=Zyklus}}
{{bb|3|28||4=/scoreboard teams remove Pilot3}}
 
  +
Die Zyklus-Funktion lässt die Luftschiff-Erstellen-Funktion aufrufen, wenn ein Spieler beim Andockplatz noch kein Luftschiff hat. Sie ruft die Luftschiff-Funktion auf, wenn der Spieler das Luftschiff steuert und sie erzeugt einen Andockplatz durch die gleichnamige Funktion, welche aufgerufen wird, wenn man einen Rüstungsständer dafür platziert hatte.
{{bb|3|29||4=/clear @a wooden_sword 0 9999 {display:{Name:"Steuerkreuz3"} } }}
 
  +
{{bb|3|30||4=/execute @p[r=12] ~ ~ ~ /fill ~17 ~20 ~17 ~-17 ~-5 ~-17 air}}
 
  +
{{f|name=luftschiff:v3zyklus|alias=v3zyklus|1=
{{bb|3|31||4=/kill @e[type=armor_stand,name=Zeppelin3] }}
 
  +
# Wenn ein Spieler vom Team Pilot in der Nähe des Andockplatzes ist und mindestens eine Kohle im Inventar besitzt, wird die Luftschiff-Erstellen-Funktion aufgerufen.
  +
execute at @e[type=minecraft:armor_stand,tag=EtiLuftS.3Andockplatz,tag=!EtiLuftS.3PilotVorhanden] as @p[distance=..10,team=TMLuftS.3Pilot,scores={PZLuftS.3Steuer=1..},nbt={Inventory:[{id:"minecraft:coal"}]}] run function luftschiff:v3luftschiff_erstellen
  +
  +
# Wenn der Spieler im Team Pilot ist und Kohle bei sich trägt und unter ihm in zehn Meter Luft ist und sich kein Andockplatz in der Nähe befindet wird die Luftschiff-Funktion aufgerufen.
  +
execute as @a[team=TMLuftS.3Pilot,scores={PZLuftS.3Steuer=1..},nbt={Inventory:[{id:"minecraft:coal"}]}] at @s if block ~ ~-10 ~ minecraft:air unless entity @e[distance=..10,tag=EtiLuftS.3Andockplatz] run function luftschiff:v3luftschiff
  +
  +
# Wenn der Spieler den Rüstungsständer für den Andockplatz erstellt hat, wird von diesem aus die Funktion Andockplatz-Erstellen aufgerufen.
  +
execute as @e[type=minecraft:armor_stand,tag=EtiLuftS.3Erstellen] at @s run function luftschiff:v3andockplatz_erstellen
  +
  +
# Wenn der Spieler sich in der Nähe des Andockplatzes befindet und noch nicht im Team Pilot ist, erhält er eine Anleitung im Chat-Bereich, bekommt er ein Holzschwert und wird ins Piloten-Team gesetzt.
  +
execute at @e[type=minecraft:armor_stand,tag=EtiLuftS.3Andockplatz] run tellraw @p[distance=..5,team=!TMLuftS.3Pilot] ["Luftschiff.3: ",{"text":"Wirf das Schwert mit Q um ein Luftschiff zu fahren. Du musst aber genug Kohlestücke dabei haben!","bold":true}]
  +
execute at @e[type=minecraft:armor_stand,tag=EtiLuftS.3Andockplatz] run give @p[distance=..5,team=!TMLuftS.3Pilot] minecraft:wooden_sword{luftschiff:"v3gegenstand",AttributeModifiers:[{AttributeName:"generic.attackDamage",Amount:-1,Name:"Extraschaden",Operation:0,UUIDLeast:1,UUIDMost:1,Slot:"mainhand"}],Unbreakable:true,Enchantments:[{id:-1}],HideFlags:6,display:{Name:'{"text":"Steuerkreuz","color":"gold"}',Lore:['"Wirf das Schwert mit Q"','"um ein Luftschiff zu fahren"']} }
  +
execute at @e[type=minecraft:armor_stand,tag=EtiLuftS.3Andockplatz] run team join TMLuftS.3Pilot @p[distance=..5,team=!TMLuftS.3Pilot]
  +
  +
# Wenn der Spieler die Leine mit Q geworfen hat, wird die Funktion Andocken aufgerufen, vorausgesetzt ein Andockplatz wie auch ein Luftschiff sind in der Nähe, ansonsten erhält er eine Fehlermeldung.
  +
execute as @a[team=TMLuftS.3Pilot,scores={PZLuftS.3Leine=1..}] at @s if entity @e[distance=..50,tag=EtiLuftS.3Andockplatz] if entity @e[distance=..50,tag=EtiLuftS.3Luftschiff] run function luftschiff:v3andocken
  +
execute as @a[team=TMLuftS.3Pilot,scores={PZLuftS.3Leine=1..}] at @s unless entity @e[distance=..50,tag=EtiLuftS.3Andockplatz] run tellraw @s ["Luftschiff.3: ",{"text":"Es befindet sich kein Andockplatz in der Nähe","bold":true}]
  +
execute as @a[team=TMLuftS.3Pilot,scores={PZLuftS.3Leine=1..}] at @s unless entity @e[distance=..50,tag=EtiLuftS.3Luftschiff] run tellraw @s ["Luftschiff.3: ",{"text":"Es befindet sich kein Luftschiff in der Nähe","bold":true}]
  +
  +
# Wenn der Spieler die Leine zum Andocken erfolgreich geworfen hat, besitzt er einen Wert von -20, dieser wird hoch bis 0 gezählt und dann bekommt er die Leine zurück.
  +
scoreboard players add @a[scores={PZLuftS.3Leine=..-1}] PZLuftS.3Leine 1
  +
scoreboard players set @a[team=TMLuftS.3Pilot,scores={PZLuftS.3Leine=1..}] PZLuftS.3Leine 0
  +
give @a[scores={PZLuftS.3Leine=-1}] minecraft:lead{luftschiff:"v3gegenstand",display:{Lore:['"Wirf die Leine mit Q um"','"zum Luftschiff oder"','"Andockplatz zu gelangen"']} } 1
  +
}}
  +
  +
{{fü|3|name=Luftschiff-Erstellen}}
  +
Die Luftschiff-Erstellen-Funktion platziert zuerst einen Block weiter oben um dann den Spieler dort hinzubefördern. Anschließend wird ein Luftschiff-Rüstungsständer erzeugt an dessen Position das Luftschiff sein wird.
  +
  +
{{f|name=luftschiff:v3lusftschiff_erstellen|1=
  +
# Es wird ein Eichenholzbrett 24 Meter über der aktuellen Position gesetzt, auf dem nachher der Spieler hinkommt, falls das Laden des Luftschiffes länger dauert.
  +
setblock ~ ~24 ~ minecraft:oak_planks replace
  +
  +
# Das Schwert, dass der Spieler geworfen hat, bekommt die Eigenschaft, dass es sofort wieder aufgehoben werden kann und es wird 25 Meter höher teleportiert, wie auch der Spieler selbst.
  +
data merge entity @e[distance=..5,type=minecraft:item,nbt={Item:{tag:{luftschiff:"v3gegenstand"} } },sort=nearest,limit=1] {PickupDelay:0s}
  +
teleport @e[distance=..5,type=minecraft:item,nbt={Item:{tag:{luftschiff:"v3gegenstand"} } },sort=nearest,limit=1] ~ ~25 ~
  +
teleport @s ~ ~25 ~
  +
  +
# Es wird der Rüstungsständer für das Luftschiff erstellt und er erhält den Wert 0, das später für das Fahren benutzt wird.
  +
summon minecraft:armor_stand ~ ~25 ~ {Small:true,NoGravity:true,Invisible:true,Tags:["EtiLuftS.3Alle","EtiLuftS.3Luftschiff"]}
  +
execute positioned ~ ~25 ~ run scoreboard players set @e[distance=..3,type=minecraft:armor_stand,tag=EtiLuftS.3Luftschiff,sort=nearest,limit=1] PZLuftS.3Steuer 0
  +
  +
# Der Name des Andockplatz-Rüstungsständers wird grau geförbt und er bekommt ein Etikett, um zu markieren, dass der Pilot an diesem gestartet ist.
  +
data merge entity @e[distance=..1,tag=EtiLuftS.3Andockplatz,tag=!EtiLuftS.3PilotVorhanden,sort=nearest,limit=1] {CustomName:'{"text":"Andockplatz","color":"gray","bold":true}'}
  +
tag @e[distance=..1,type=minecraft:armor_stand,tag=EtiLuftS.3Andockplatz,tag=!EtiLuftS.3PilotVorhanden] add EtiLuftS.3PilotVorhanden
  +
}}
  +
  +
{{fü|3|name=Luftschiff}}
  +
Die Luftschiff-Funktion räumt die Überbleibsel vom Luftschiff weg, berechnet wie viel Brennstoff noch das Luftschiff durch die Kohle hat und platziert das Luftschiff in die gewünschte Richtung. Für die droppenden Blöcke, wird das Alias [[#luftschiff:v3drop-bloecke]] verwendet, damit diese Blöcke bereits entfernt sind, sodass sie nicht mehr beim ersetzen droppen können.
  +
  +
{{f|name=luftschiff:v3lusftschiff|1=
  +
# Der Punktestand des Spielers wird wieder auf null gesetzt.
  +
scoreboard players set @s PZLuftS.3Steuer 0
  +
  +
# Das Holzschwert das geworfen wurde bekommt die Eigenschaft, dass es sofort wieder aufgehoben werden kann.
  +
data merge entity @e[distance=..3,type=item,nbt={Item:{tag:{luftschiff:"v3gegenstand"} } },sort=nearest,limit=1] {PickupDelay:0s}
  +
  +
# Bevor das Luftschiff in die neue Richtung bewegt wird, werden alle Blöcke durch Luft ersetzt, die beim normalen Ersetzen droppen würden.
  +
execute at @e[distance=..5,tag=EtiLuftS.3Luftschiff,sort=nearest,limit=1] run fill ~15 ~15 ~15 ~-15 ~-15 ~-15 minecraft:air replace #luftschiff:v3drop-bloecke
  +
  +
# Der Luftschiff-Rüstungsständer besitzt einen Wert welcher jedes mal um eins verringert wird und immer dann wenn er null erreicht wird der Wert wieder aufgefüllt und dem Spieler wird ein Kohlestück aus dem Inventar entfernt.
  +
scoreboard players remove @e[distance=..3,type=minecraft:armor_stand,tag=EtiLuftS.3Luftschiff,sort=nearest,limit=1,scores={PZLuftS.3Steuer=1..}] PZLuftS.3Steuer 1
  +
execute if entity @e[distance=..3,type=minecraft:armor_stand,tag=EtiLuftS.3Luftschiff,sort=nearest,limit=1,scores={PZLuftS.3Steuer=..0}] run clear @s minecraft:coal 1
  +
execute as @e[distance=..3,type=minecraft:armor_stand,tag=EtiLuftS.3Luftschiff,sort=nearest,limit=1,scores={PZLuftS.3Steuer=..0}] run scoreboard players set @s PZLuftS.3Steuer 28
  +
  +
# Wenn der Spieler das Luftschiff um 90° oder 180° dreht würden manche Teile davon weiterhin in der Luft einige Fetzen noch sichtbar bleiben, diese werden überprüft und entfernt.
  +
execute positioned as @e[distance=..5,tag=EtiLuftS.3Luftschiff,sort=nearest,limit=1] rotated ~ 0 if block ^-7 ^5 ^ minecraft:white_wool run fill ^-7 ^-2 ^4 ^-17 ^13 ^-6 minecraft:air replace
  +
execute positioned as @e[distance=..5,tag=EtiLuftS.3Luftschiff,sort=nearest,limit=1] rotated ~ 0 if block ^7 ^5 ^ minecraft:white_wool run fill ^7 ^-2 ^4 ^17 ^13 ^-6 minecraft:air replace
  +
execute positioned as @e[distance=..5,tag=EtiLuftS.3Luftschiff,sort=nearest,limit=1] rotated ~ 0 if block ^ ^7 ^-15 minecraft:white_wool run fill ^1 ^6 ^-15 ^-1 ^10 ^-20 minecraft:air replace
  +
  +
# Der Luftschiff-Rüstungsständer wie auch der Spieler werden von ihrer Position um einen Meter nach vorne teleportiert.
  +
execute rotated ~ 0 run teleport @e[distance=..5,tag=EtiLuftS.3Luftschiff,sort=nearest,limit=1] ^ ^ ^1
  +
execute rotated ~ 0 run teleport @s ^ ^ ^1
  +
  +
# Je nach Blickrichtung des Spielers wird ein Konstruktionsblock mit entsprechender Rotation platziert
  +
execute if entity @s[y_rotation=45..135] at @e[distance=..5,tag=EtiLuftS.3Luftschiff,sort=nearest,limit=1] run setblock ~ ~-3 ~ minecraft:structure_block{rotation:"NONE",mode:"LOAD",posX:-15,posY:0,posZ:-6,name:"luftschiff:v3luftschiff"} replace
  +
execute if entity @s[y_rotation=135..-135] at @e[distance=..5,tag=EtiLuftS.3Luftschiff,sort=nearest,limit=1] run setblock ~ ~-3 ~ minecraft:structure_block{rotation:"CLOCKWISE_90",mode:"LOAD",posX:6,posY:0,posZ:-15,name:"luftschiff:v3luftschiff"} replace
  +
execute if entity @s[y_rotation=-135..-45] at @e[distance=..5,tag=EtiLuftS.3Luftschiff,sort=nearest,limit=1] run setblock ~ ~-3 ~ minecraft:structure_block{rotation:"CLOCKWISE_180",mode:"LOAD",posX:15,posY:0,posZ:6,name:"luftschiff:v3luftschiff"} replace
  +
execute if entity @s[y_rotation=-45..45] at @e[distance=..5,tag=EtiLuftS.3Luftschiff,sort=nearest,limit=1] run setblock ~ ~-3 ~ minecraft:structure_block{rotation:"COUNTERCLOCKWISE_90",mode:"LOAD",posX:-6,posY:0,posZ:15,name:"luftschiff:v3luftschiff"} replace
  +
  +
# Neben dem Konstruktionsblock werden Redstone-Blöcke platziert, welche diesen aktivieren.
  +
execute at @s[team=TMLuftS.3Pilot] run fill ~1 ~-2 ~1 ~-1 ~-2 ~-1 minecraft:redstone_block replace
  +
}}
  +
{{JSON-Datei|name=luftschiff:v3drop-bloecke|type=alias|1=
  +
{
  +
"values":[
  +
"#minecraft:buttons",
  +
"#minecraft:signs",
  +
"#minecraft:wall_signs"
  +
]
  +
}
  +
}}
  +
  +
{{fü|3|name=Andockplatz-Erstellen}}
  +
Die Andockplatz-Erstellen-Funktion platziert einen Konstruktionsblock mit Redstone-Block damit der Andockplatz geladen wird und lässt den Rüstungsständer zwei Blöcke höher schweben, damit dessen Schrift für alle lesbar ist.
  +
  +
{{f|name=luftschiff:v3andockplatz_erstellen|1=
  +
# An der Position des Rüstungsständers wird ein Konstruktionsblock samt Redstone-Block platziert, wodurch der Andockplatz entsteht.
  +
setblock ~ ~ ~ minecraft:structure_block{mode:"LOAD",posX:-3,posY:0,posZ:-3,name:"luftschiff:v3andockplatz"} replace
  +
setblock ~ ~1 ~ minecraft:redstone_block replace
  +
  +
# Der Rüstungsständer wird um zwei Meter nach oben teleportiert und das Etikett wird entfernt.
  +
teleport @s ~ ~2 ~
  +
tag @s remove EtiLuftS.3Erstellen
  +
}}
  +
  +
{{fü|3|name=Andocken}}
  +
Die Andocken-Funktion wird aufgerufen wenn der Spieler die Leine weggeworfen hat. Befindet er sich dabei auf dem Luftschiff wird er zum nächsten Andockplatzt teleportiert. Umgekehrt wird er zum Luftschiff teleportiert.
  +
  +
{{f|name=luftschiff:v3andocken|1=
  +
# Je nach dem ob der Spieler beim Andockplatz oder beim Luftschiff ist bekommt der entsprechende Spieler ein Etikett um das zu vermerken.
  +
execute if entity @e[distance=..15,type=minecraft:armor_stand,tag=EtiLuftS.3Luftschiff,sort=nearest,limit=1] if entity @e[type=minecraft:armor_stand,tag=EtiLuftS.3Andockplatz,sort=nearest,limit=1] run tag @s add EtiLuftS.3AndockenAndockplatz
  +
execute if entity @e[distance=..15,type=minecraft:armor_stand,tag=EtiLuftS.3Andockplatz,sort=nearest,limit=1] if entity @e[type=minecraft:armor_stand,tag=EtiLuftS.3Luftschiff,sort=nearest,limit=1] run tag @s add EtiLuftS.3AndockenLuftschiff
  +
  +
# Wenn der Spieler auf dem Luftschiff war, wird er zum Andockplatz teleport, umgekehrt wird er zum Luftschiff teleportiert.
  +
execute at @e[type=minecraft:armor_stand,tag=EtiLuftS.3Andockplatz,sort=nearest,limit=1] run teleport @s[tag=EtiLuftS.3AndockenAndockplatz] ~ ~-1.5 ~1
  +
teleport @s[tag=EtiLuftS.3AndockenLuftschiff] @e[type=minecraft:armor_stand,tag=EtiLuftS.3Luftschiff,sort=nearest,limit=1]
  +
  +
# Wenn der Spieler vom Luftschiff zum Andockplatz gelangt wird noch eine Kette aus Zäunen bis zum Andockplatz erstellt, umgekehrt wird diese wieder entfernt wenn der Spieler zum Luftschiff will.
  +
execute if entity @s[tag=EtiLuftS.3AndockenAndockplatz] at @e[distance=..15,type=minecraft:armor_stand,tag=EtiLuftS.3Luftschiff,sort=nearest,limit=1] facing entity @e[type=minecraft:armor_stand,tag=EtiLuftS.3Andockplatz,sort=nearest,limit=1] eyes positioned ^ ^ ^2 run function luftschiff:v3andocken_kette
  +
execute if entity @s[tag=EtiLuftS.3AndockenLuftschiff] at @e[type=minecraft:area_effect_cloud,tag=EtiLuftS.3Kette] run fill ~ ~ ~ ~ ~1 ~ minecraft:air replace minecraft:oak_fence
  +
execute if entity @s[tag=EtiLuftS.3AndockenLuftschiff] run kill @e[type=minecraft:area_effect_cloud,tag=EtiLuftS.3Kette]
  +
  +
# Die beiden Etiketten werden wieder entfernt da sie nicht mehr benötigt werden.
  +
tag @s[tag=EtiLuftS.3AndockenAndockplatz] remove EtiLuftS.3AndockenAndockplatz
  +
tag @s[tag=EtiLuftS.3AndockenLuftschiff] remove EtiLuftS.3AndockenLuftschiff
  +
  +
# Damit der Spieler die Leine wieder bekommt wird ihm ein Wert -20 gegeben.
  +
scoreboard players set @s PZLuftS.3Leine -20
  +
  +
# Die geworfene Leine wird entfernt.
  +
kill @e[distance=..3,type=item,nbt={Item:{id:"minecraft:lead",tag:{luftschiff:"v3gegenstand"} } },sort=nearest,limit=1]
  +
}}
  +
  +
{{fü|3|name=Andocken-Ketten}}
  +
Die Andocken-Ketten-Funktion lässt eine Ankekette zum Andockplatzt entstehen. Sie platziert Zäune und Partikelwolken, diese werden benutzt um später die Ankerkette wieder zu entfernen.
  +
  +
{{f|name=luftschiff:v3andocken_kette|1=
  +
# Eine Partikelwolke wird an einer Luftstelle platziert, um später die gleiche Stelle wieder ausfindig machen zu könmnen. Zäune werden platziert und die Funktion wird selbst aufgerufen, solange noch nicht der Andockplatz erreicht wurde.
  +
execute if block ~ ~ ~ minecraft:air run summon minecraft:area_effect_cloud ~ ~ ~ {NoGravity:true,Duration:-1,Age:-2147483648,WaitTime:-2147483648,Particle:"minecraft:block minecraft:air",Tags:["EtiLuftS.3Alle","EtiLuftS.3Kette"]}
  +
fill ~ ~ ~ ~ ~1 ~ minecraft:oak_fence replace minecraft:air
  +
execute unless entity @e[distance=..1,type=minecraft:armor_stand,tag=EtiLuftS.3Andockplatz] positioned ^ ^ ^0.5 run function luftschiff:v3andocken_kette
  +
}}
  +
  +
{{fü|3|name=Stopp}}
  +
Die Stopp-Funktion löscht die Punktestand-Ziele wird, sowie das Team und das Luftschiff. Alle Gegenstände für das Luftschiff werden entfernt. Alle Rüstungsständer als Drop oder als Objekt werden entfernt.
  +
  +
{{f|name=luftschiff:v3stopp|alias=v3stopp|1=
  +
# Die Punktestand-Ziele werden entfernt.
  +
scoreboard objectives remove PZLuftS.3Steuer
  +
scoreboard objectives remove PZLuftS.3Leine
  +
  +
# Das Team wird entfernt.
  +
team remove TMLuftS.3Pilot
  +
  +
# Spieler die sich nicht im Kreativmodus befanden werden in diesen, in einem Umkreis von 25 Blöcken, gesetzt.
  +
gamemode creative @a[distance=..25,gamemode=!creative]
  +
  +
# Der Andockplatz, das Luftschiff wie auch die Andockleine werden entfernt.
  +
execute at @e[tag=EtiLuftS.3Andockplatz] run fill ~-3 ~-2 ~-3 ~3 ~ ~3 minecraft:air replace
  +
execute at @e[tag=EtiLuftS.3Luftschiff] run fill ~15 ~15 ~15 ~-15 ~-4 ~-15 minecraft:air replace #luftschiff:v3drop-bloecke
  +
execute at @e[tag=EtiLuftS.3Luftschiff] run fill ~15 ~15 ~15 ~-15 ~-4 ~-15 minecraft:air replace
  +
execute at @e[type=minecraft:area_effect_cloud,tag=EtiLuftS.3Kette] run fill ~ ~ ~ ~ ~1 ~ minecraft:air replace minecraft:oak_fence
  +
  +
# Alle Gegenstände für das Luftschiff werden aus dem Inventar der Spielers entfernt.
  +
clear @a minecraft:wooden_sword{luftschiff:"v3gegenstand"}
  +
clear @a minecraft:armor_stand{luftschiff:"v3gegenstand"}
  +
clear @a minecraft:coal{luftschiff:"v3gegenstand"}
  +
clear @a minecraft:lead{luftschiff:"v3gegenstand"}
  +
  +
# Falls ein Gegenstand auf den Boden gedroppt wurde, erhält das ein Etikett. Alle Objekte für das Luftschiff werden entfernt.
  +
tag @e[type=minecraft:item,nbt={Item:{tag:{luftschiff:"v3gegenstand"} } }] add EtiLuftS.3Alle
  +
kill @e[tag=EtiLuftS.3Alle]
  +
}}
   
 
{{Unterseite|
 
{{Unterseite|
  +
{{Technik-Familien|familie=fahrzeug}}
 
{{Navbox-Technik}}
 
{{Navbox-Technik}}
 
{{Navbox-Technik|Technik}}
 
{{Navbox-Technik|Technik}}

Version vom 2. März 2020, 11:24 Uhr

Gruppe: Grid Schleimblock
Verkehrsanlagen

Grid Roter Sand blass mit Mechaniken

Grid Redstone blass mit Redstone
                Hier:
Grid Befehlsblock mit Befehlen
Verfügbar in:
Wiki Mechanik-Welt Mechanik-Welt

Ein Luftschiff (auch Zeppelin) ist eine schwebende Konstruktion die sich durch den Spieler steuern lässt. Hierbei lässt sich das Luftschiff durch den Tastendruck, die Position, den Blickwinkel oder durch das Werfen von Gegenständen beeinflussen. Das Luftschiff wird mit einem Konstruktionsblock geladen und kann sich in die vier Himmelsrichtungen sowie nach oben unten steuern lassen. Beim Steuern bewegt sich das Luftschiff einen Meter in die Richtung hinfort.

Das Luftschiff lässt sich in jeden Bereich und auch in eine beliebige Strecke manövieren. Das Luftschiff kann immer nur ein Spieler steuern und auch nur wird beim fahren mitbewegt.

Variante 1

Luftschiff (Befehle) Bild 1.1 Luftschiff (Befehle) Bild 1.2 Luftschiff (Befehle) Bild 1.3

Mit dieser Variante kann man ein Luftschiff mit Hilfe von Chat-Befehlen in jede Himmelsrichtung fahren lassen. Man klickt auf die Richtung und die Neigung um zu bestimmen wo das Luftschiff hinfahren soll.

Einschalten
  • Befehl 1.1 Wenn der Hebel umgelegt wird, wird die Start-Funktion gestartet.
Wiederholen
  • Befehl 1.2 Beim Einschalten wird auch der Wiederhol-Befehlsblock gestartet, der jeden Tick die Zyklus-Funktion lädt.
Ausschalten
  • Befehl 1.3 Wenn der Hebel wieder in Ausgangsstellung zurück gelegt wird, wird die Stopp-Funktion ausgelöst und schaltet alles wieder ab.

Befehlsblöcke mit Befehlen:


Variante 1: Start-Funktion
Die Start-Funktion erstellt ein Punktestand-Ziel und gibt dem Spieler im Team bereits einen Wert fürs Vorwärtsfahren, sodass das Luftschiff erscheinen kann.

Editor Icon luftschiff:v1start.mcfunction
# Das Auslöser-Punktestand-Ziel wird erstellt.
scoreboard objectives add PZLuftS.1Wert trigger ["Luftschiff.1: ",{"text":"Auslöser für Nachrichten","bold":true}]

# Das Team für Piloten wird erstellt und der nächstgelegene Spieler wird in dieses gesteckt.
team add TMLuftS.1Pilot ["Luftschiff.1: ",{"text":"Piloten","bold":true}]
team join TMLuftS.1Pilot @p[distance=..5,team=!TMLuftS.1Pilot]

# Der Luftschiff-Rüstungsständer mit einem zweiten huckepack, wird 25 Meter über der Befehlsquelle erzeugt.
summon minecraft:armor_stand ~ ~25 ~ {Small:true,NoGravity:true,Invisible:true,CustomName:'{"text":"Westen","color":"gold","bold":true}',Tags:["EtiLuftS.1Alle","EtiLuftS.1Luftschiff","EtiLuftS.1Richtung"],Rotation:[90.0f,0.0f],Passengers:[{id:"minecraft:armor_stand",Small:true,NoGravity:true,Invisible:true,CustomName:'{"text":"Geradeaus","color":"aqua","bold":true}',Tags:["EtiLuftS.1Alle","EtiLuftS.1Neigung"]}]}

# Einen Block unter dem Luftschiff-Rüstungsständer wird ein Eichenholzbrett platziert, damit der Spieler bei der Teleportation auf festen Untegrund steht.
execute at @e[type=minecraft:armor_stand,tag=EtiLuftS.1Luftschiff] run setblock ~ ~-1 ~ minecraft:oak_planks replace
execute at @e[type=minecraft:armor_stand,tag=EtiLuftS.1Luftschiff] run teleport @p[team=TMLuftS.1Pilot] ~ ~ ~

# Der Spieler bekommt den Wert acht gesetzt. Das sorgt dafür, dass das Luftschiff einen Tick später erstellt wird.
scoreboard players set @p[team=TMLuftS.1Pilot] PZLuftS.1Wert 8

Variante 1: Zyklus-Funktion
Die Zyklus-Funktion gibt dem Spieler in dem Chat-Bereich ein Steuerungsmenü, bei dem der Spieler die vier Himmelsrichtungen sowie nach oben oder unten anklicken um das Luftschiff in die gewünschte Richtung zu fahren.

Editor Icon luftschiff:v1zyklus.mcfunction
# Wenn der Spieler den Chat angeklickt hat und dabei für dne Auslöser den Wert eins bis vier hat, wird damit die entsprechende Richtung eingestellt.
execute as @e[type=minecraft:armor_stand,tag=EtiLuftS.1Luftschiff] at @s if entity @p[distance=..5,team=TMLuftS.1Pilot,scores={PZLuftS.1Wert=1}] run data merge entity @s {CustomName:'{"bold":true,"color":"blue","text":"Norden"}',Rotation:[180.0f,0.0f]}
execute as @e[type=minecraft:armor_stand,tag=EtiLuftS.1Luftschiff] at @s if entity @p[distance=..5,team=TMLuftS.1Pilot,scores={PZLuftS.1Wert=2}] run data merge entity @s {CustomName:'{"bold":true,"color":"gold","text":"Osten"}',Rotation:[270.0f,0.0f]}
execute as @e[type=minecraft:armor_stand,tag=EtiLuftS.1Luftschiff] at @s if entity @p[distance=..5,team=TMLuftS.1Pilot,scores={PZLuftS.1Wert=3}] run data merge entity @s {CustomName:'{"bold":true,"color":"blue","text":"Süden"}',Rotation:[0.0f,0.0f]}
execute as @e[type=minecraft:armor_stand,tag=EtiLuftS.1Luftschiff] at @s if entity @p[distance=..5,team=TMLuftS.1Pilot,scores={PZLuftS.1Wert=4}] run data merge entity @s {CustomName:'{"bold":true,"color":"gold","text":"Westen"}',Rotation:[90.0f,0.0f]}

# Wenn der Spieler im Chat auf die Neiugung geklickt hat, wird der entsprechende Wert die Neigung einstellen.
execute at @e[type=minecraft:armor_stand,tag=EtiLuftS.1Luftschiff] if entity @p[distance=..5,team=TMLuftS.1Pilot,scores={PZLuftS.1Wert=5}] run data merge entity @e[distance=..2,type=minecraft:armor_stand,tag=EtiLuftS.1Neigung,sort=nearest,limit=1] {CustomName:'{"bold":true,"color":"green","text":"Oben"}'}
execute at @e[type=minecraft:armor_stand,tag=EtiLuftS.1Luftschiff] if entity @p[distance=..5,team=TMLuftS.1Pilot,scores={PZLuftS.1Wert=6}] run data merge entity @e[distance=..2,type=minecraft:armor_stand,tag=EtiLuftS.1Neigung,sort=nearest,limit=1] {CustomName:'{"bold":true,"color":"aqua","text":"Geradeaus"}'}
execute at @e[type=minecraft:armor_stand,tag=EtiLuftS.1Luftschiff] if entity @p[distance=..5,team=TMLuftS.1Pilot,scores={PZLuftS.1Wert=7}] run data merge entity @e[distance=..2,type=minecraft:armor_stand,tag=EtiLuftS.1Neigung,sort=nearest,limit=1] {CustomName:'{"bold":true,"color":"red","text":"Unten"}'}

# Falls der Spieler auf die Fahren-Option geklickt hat, wird die entsprechende Luftschiff-Funktion geladen
execute as @e[type=minecraft:armor_stand,tag=EtiLuftS.1Luftschiff] at @s if entity @p[distance=..5,team=TMLuftS.1Pilot,scores={PZLuftS.1Wert=8}] run function luftschiff:v1luftschiff

# Von der Position des Luftschiffs-Rüstungsständers wird nach einem Piloten gesucht und dieser darf nicht den Wert null besitzen, muss also den Auslöser betätigt haben. Dann erhält er im Chat alle Steuerungsoptionen des Luftschiffes.
execute at @e[type=minecraft:armor_stand,tag=EtiLuftS.1Luftschiff] as @p[distance=..5,team=TMLuftS.1Pilot] unless entity @s[scores={PZLuftS.1Wert=0}] run tellraw @s ["Luftschiff.1: ",{"text":"\nrichtung = ","bold":true,"hoverEvent":{"action":"show_text","value":{"text":"Tippe für Norden"} },"clickEvent":{"action":"run_command","value":"/trigger PZLuftS.1Wert set 1"} },{"text":"Norden","color":"gray","bold":true},{"text":"\nrichtung = ","bold":true,"hoverEvent":{"action":"show_text","value":{"text":"Tippe für Osten"} },"clickEvent":{"action":"run_command","value":"/trigger PZLuftS.1Wert set 2"} },{"text":"Osten","color":"gray","bold":true},{"text":"\nrichtung = ","bold":true,"hoverEvent":{"action":"show_text","value":{"text":"Tippe für Süden"} },"clickEvent":{"action":"run_command","value":"/trigger PZLuftS.1Wert set 3"} },{"text":"Süden","color":"gray","bold":true},{"text":"\nrichtung = ","bold":true,"hoverEvent":{"action":"show_text","value":{"text":"Tippe für Westen"} },"clickEvent":{"action":"run_command","value":"/trigger PZLuftS.1Wert set 4"} },{"text":"Westen","color":"gray","bold":true},{"text":"\nrichtung == ","bold":true},{"entity":"@e[type=minecraft:armor_stand,tag=EtiLuftS.1Richtung,sort=nearest,limit=1]","nbt":"CustomName","interpret":true},{"text":"\nneigung = ","bold":true,"hoverEvent":{"action":"show_text","value":{"text":"Tippe für Oben"} },"clickEvent":{"action":"run_command","value":"/trigger PZLuftS.1Wert set 5"} },{"text":"Oben","color":"gray","bold":true},{"text":"\nneigung = ","bold":true,"hoverEvent":{"action":"show_text","value":{"text":"Tippe für Geradeaus"} },"clickEvent":{"action":"run_command","value":"/trigger PZLuftS.1Wert set 6"} },{"text":"Geradeaus","color":"gray","bold":true},{"text":"\nneigung = ","bold":true,"hoverEvent":{"action":"show_text","value":{"text":"Tippe für Unten"} },"clickEvent":{"action":"run_command","value":"/trigger PZLuftS.1Wert set 7"} },{"text":"Unten","color":"gray","bold":true},{"text":"\nneigung == ","bold":true},{"entity":"@e[type=minecraft:armor_stand,tag=EtiLuftS.1Neigung,sort=nearest,limit=1]","nbt":"CustomName","interpret":true},{"text":"\nfahren(richtung,neigung)","color":"gray","bold":true,"hoverEvent":{"action":"show_text","value":{"text":"Luftschiff fahren"} },"clickEvent":{"action":"run_command","value":"/trigger PZLuftS.1Wert set 8"} }]

# Von der Position des Luftschiffs-Rüstungsständers erhält der Pilot die Erlaubnis den Auslöser wieder zu betätigen und sein Wert wird wieder auf null gesetzt.
execute at @e[type=minecraft:armor_stand,tag=EtiLuftS.1Luftschiff] as @p[distance=..5,team=TMLuftS.1Pilot] unless entity @s[scores={PZLuftS.1Wert=0}] run scoreboard players enable @s PZLuftS.1Wert
execute at @e[type=minecraft:armor_stand,tag=EtiLuftS.1Luftschiff] as @p[distance=..5,team=TMLuftS.1Pilot] unless entity @s[scores={PZLuftS.1Wert=0}] run scoreboard players set @s PZLuftS.1Wert 0

Variante 1: Luftschiff-Funktion
Die Luftschiff-Funktion wird aufgerufen, wenn der Spieler auf fahren geklickt hat. Dann werden Reste des Luftschiffes die beim Fahren entstehen entfernt und das Luftschiff wird je nach dem neu ausgerichtet und neu platziert. Hierbei werden Blöcke die beim Ersetzen droppen zuerst durch Luft ersetzt, durch das Alias #luftschiff:v1drop-bloecke.

Editor Icon luftschiff:v1lusftschiff.mcfunction
# Bevor das Luftschiff in die neue Richtung bewegt wird, werden alle Blöcke durch Luft ersetzt, die beim normalen Ersetzen droppen würden
fill ~15 ~15 ~15 ~-15 ~-15 ~-15 minecraft:air replace #luftschiff:v1drop-bloecke

# Wenn der Spieler das Luftschiff um 90° oder 180° dreht, würden manche Teile davon weiterhin in der Luft bleiben, diese werden überprüft und entfernt
execute rotated ~ 0 run fill ^-10 ^-1 ^-11 ^10 ^14 ^-14 minecraft:air replace
execute rotated ~ 0 if block ^13 ^1 ^ minecraft:spruce_planks run fill ^13 ^1 ^-1 ^14 ^2 ^1 minecraft:air replace
execute rotated ~ 0 if block ^-13 ^1 ^ minecraft:spruce_planks run fill ^-13 ^1 ^-1 ^-14 ^2 ^1 minecraft:air replace

# Der Luftschiff-Rüstungsständer wie auch der Spieler werden von ihrer Position um einen Meter nach vorne teleportiert.
execute if entity @e[distance=..2,type=minecraft:armor_stand,tag=EtiLuftS.1Neigung,name="Oben"] run teleport @s ~ ~1 ~
execute if entity @e[distance=..2,type=minecraft:armor_stand,tag=EtiLuftS.1Neigung,name="Geradeaus"] rotated ~ 0 run teleport @s ^ ^ ^1
execute if entity @e[distance=..2,type=minecraft:armor_stand,tag=EtiLuftS.1Neigung,name="Unten"] run teleport @s ~ ~-1 ~
execute rotated ~ 0 run teleport @p[distance=..10,team=TMLuftS.1Pilot] ^ ^ ^1

# Je nach Blickrichtung des Spielers wird ein Konstruktionsblock mit entsprechender Rotation platziert
execute if entity @s[name="Westen"] run setblock ~ ~-4 ~ minecraft:structure_block{rotation:"NONE",mode:"LOAD",posX:-15,posY:0,posZ:-12,name:"luftschiff:v1luftschiff"} replace
execute if entity @s[name="Norden"] run setblock ~ ~-4 ~ minecraft:structure_block{rotation:"CLOCKWISE_90",mode:"LOAD",posX:12,posY:0,posZ:-15,name:"luftschiff:v1luftschiff"} replace
execute if entity @s[name="Osten"] run setblock ~ ~-4 ~ minecraft:structure_block{rotation:"CLOCKWISE_180",mode:"LOAD",posX:15,posY:0,posZ:12,name:"luftschiff:v1luftschiff"} replace
execute if entity @s[name="Süden"] run setblock ~ ~-4 ~ minecraft:structure_block{rotation:"COUNTERCLOCKWISE_90",mode:"LOAD",posX:-12,posY:0,posZ:15,name:"luftschiff:v1luftschiff"} replace

# Neben dem Konstruktionsblock wird ein Redstone-Block platziert um diesen zu aktivieren
setblock ~ ~-3 ~ minecraft:redstone_block replace
JSON Icon luftschiff:v1drop-bloecke.json
{
  "values":[
  "#minecraft:buttons",
  "#minecraft:signs",
  "#minecraft:wall_signs"
  ]
}

Variante 1: Stopp-Funktion
Die Stopp-Funktion löscht das Punktestand-Ziel, das Team, die Rüstungsständer und das Luftschiff wird entfernt.

Editor Icon luftschiff:v1stopp.mcfunction
# Das Punktestand-Ziel wird wieder gelöscht.
scoreboard objectives remove PZLuftS.1Wert

# Das Team wird gelöscht.
team remove TMLuftS.1Pilot

# Das Luftschiff an der Position des Luftschiffs-Rüstungsständers wird durch Luft ersetzt.
execute at @e[type=minecraft:armor_stand,tag=EtiLuftS.1Luftschiff] run fill ~15 ~15 ~15 ~-15 ~-4 ~-15 minecraft:air replace #luftschiff:v1drop-bloecke
execute at @e[type=minecraft:armor_stand,tag=EtiLuftS.1Luftschiff] run fill ~15 ~15 ~15 ~-15 ~-4 ~-15 minecraft:air replace

# Alle Rüstungsständer werden gelöscht.
kill @e[type=minecraft:armor_stand,tag=EtiLuftS.1Alle]

Variante 2

Luftschiff (Befehle) Bild 2.1 Luftschiff (Befehle) Bild 2.2 Luftschiff (Befehle) Bild 2.3

Bei diesem Luftschiff steuert man dieses in dem man einfach in die gewünschte Richtung läuft. Dabei wird das Luftschiff in die Richtung mitbewegt. Es sind alle vier Himmelsrichtungen möglich. auch das Fahren nach unten oder oben ist problemlos machbar in dem man nach unten oder oben indem Moment schaut.

Einschalten
  • Befehl 2.1 Wenn der Hebel umgelegt wird, wird die Start-Funktion gestartet.
Wiederholen
  • Befehl 2.2 Beim Einschalten wird auch der Wiederhol-Befehlsblock gestartet, der jeden Tick die Zyklus-Funktion lädt.
Ausschalten
  • Befehl 2.3 Wenn der Hebel wieder in Ausgangsstellung zurück gelegt wird, wird die Stopp-Funktion ausgelöst und schaltet alles wieder ab.

Befehlsblöcke mit Befehlen:


Variante 2: Start-Funktion
Die Start-Funktion erstellt das Team für Piloten. Es wird ein Rüstungständer für das Luftschiff erstellt und der Spieler wird einen Eichenholzbrett davor teleportiert, sodass das Luftschiff erstellt werden kann.

Editor Icon luftschiff:v2start.mcfunction
# Das Team für Piloten wird erstellt und der nächstgelegene Spieler wird in dieses gesteckt.
team add TMLuftS.2Pilot ["Luftschiff.1: ",{"text":"Piloten","bold":true}]
team join TMLuftS.2Pilot @p[distance=..5,team=!TMLuftS.2Pilot]

# Der Luftschiff-Rüstungsständer mit einem zweiten huckepack, wird 25 Meter über der Befehlsquelle erzeugt.
summon minecraft:armor_stand ~ ~25 ~ {Small:true,NoGravity:true,Invisible:true,CustomName:'{"text":"Westen","color":"gold","bold":true}',Tags:["EtiLuftS.2Alle","EtiLuftS.2Luftschiff","EtiLuftS.2Richtung"],Rotation:[90.0f,0.0f],Passengers:[{id:"minecraft:armor_stand",Small:true,NoGravity:true,Invisible:true,CustomName:'{"text":"Geradeaus","color":"aqua","bold":true}',Tags:["EtiLuftS.2Alle","EtiLuftS.2Neigung"]}]}

# Einen Block unter dem Luftschiff-Rüstungsständer wird ein Eichenholzbrett platziert, damit der Spieler bei der Teleportation auf festen Untegrund steht.
execute at @e[type=minecraft:armor_stand,tag=EtiLuftS.2Luftschiff] run setblock ~-1 ~-1 ~ minecraft:oak_planks replace
execute at @e[type=minecraft:armor_stand,tag=EtiLuftS.2Luftschiff] run teleport @p[team=TMLuftS.2Pilot] ~-1 ~ ~

# Dem Piloten wird ein Holzschwert mit dem Namen Steuerkreuz gegeben. Damit lässt sich das Luftschiff fahren.
replaceitem entity @p[team=TMLuftS.2Pilot] weapon.mainhand minecraft:wooden_sword{luftschiff:"v2gegenstand",AttributeModifiers:[{AttributeName:"generic.attackDamage",Amount:-1,Name:"Extraschaden",Operation:0,UUIDLeast:1,UUIDMost:1,Slot:"mainhand"}],Unbreakable:true,Enchantments:[{id:-1}],HideFlags:6,display:{Name:'{"text":"Steuerkreuz","color":"gold","bold":true}',Lore:['"Wähle das Steuerkreuz"','"aus, um das Luftschiff zu fahren"']} }

# Eine Nachricht an den Piloten, damit dieser weiss was er machen muss um das Luftschiff zu fahren.
tellraw @p[team=TMLuftS.2Pilot] ["Luftschiff.2: ",{"text":"Wähle das Steuerkreuz aus und laufe in die gewünschte Richtung um das Luftschiff zu fahren.","bold":true}]

Variante 2: Zyklus-Funktion
Die Zyklus-Funktion prüft, in welche Richtung der Spieler gelaufen ist und speichert dies in dem Rüstungsständer um mit diesen Daten die Luftschiff-Funktion aufzurufen zu können. Hierbei wird geprüft ob der Spieler auf den Luftschiffblöcken steht, dies wird mit dem Alias #luftschiff:v2steuer realisiert.

Editor Icon luftschiff:v2zyklus.mcfunction
# Nur wenn der Spieler das Holzschwert ausgewählt hat, bekommt er ein Etikett.
tag @a[team=TMLuftS.2Pilot,nbt={SelectedItem:{id:"minecraft:wooden_sword",tag:{luftschiff:"v2gegenstand"} } }] add EtiLuftS.2Steuer

# Nur wenn der Spieler sich etwas mehr als einen halben Meter vom Luftschiff-Rüstungsständer entfernt und dabei auf einem Steuerblock steht, wird dem Rüstungsständer ein Etikett gegeben.
execute as @e[type=minecraft:armor_stand,tag=EtiLuftS.2Luftschiff] at @s at @p[distance=0.8..1.5,team=TMLuftS.2Pilot,tag=EtiLuftS.2Steuer] if block ~ ~-1 ~ #luftschiff:v2steuer run tag @s add EtiLuftS.2Fahren

# Je nach Blickwinkel des Spielers bekommt der Luftschiff-Rüstungsständer den Namen Oben, Geradeaus oder Unten.
execute as @e[type=minecraft:armor_stand,tag=EtiLuftS.2Fahren] at @s if entity @p[distance=0.8..1.5,team=TMLuftS.2Pilot,tag=EtiLuftS.2Steuer,x_rotation=-90..-45] run data merge entity @e[distance=..2,type=minecraft:armor_stand,tag=EtiLuftS.2Neigung,sort=nearest,limit=1] {CustomName:'{"bold":true,"color":"green","text":"Oben"}'}
execute as @e[type=minecraft:armor_stand,tag=EtiLuftS.2Fahren] at @s if entity @p[distance=0.8..1.5,team=TMLuftS.2Pilot,tag=EtiLuftS.2Steuer,x_rotation=-45..45] run data merge entity @e[distance=..2,type=minecraft:armor_stand,tag=EtiLuftS.2Neigung,sort=nearest,limit=1] {CustomName:'{"bold":true,"color":"aqua","text":"Geradeaus"}'}
execute as @e[type=minecraft:armor_stand,tag=EtiLuftS.2Fahren] at @s if entity @p[distance=0.8..1.5,team=TMLuftS.2Pilot,tag=EtiLuftS.2Steuer,x_rotation=45..90] run data merge entity @e[distance=..2,type=minecraft:armor_stand,tag=EtiLuftS.2Neigung,sort=nearest,limit=1] {CustomName:'{"bold":true,"color":"red","text":"Unten"}'}

# Der Luftschiff-Rüstungsständer wird an der neuen Position des Spielers zentriert teleportiert, mit Blickrichtung.
execute as @e[type=minecraft:armor_stand,tag=EtiLuftS.2Fahren] at @s at @p[distance=0.8..1.5,team=TMLuftS.2Pilot,tag=EtiLuftS.2Steuer] align xyz run teleport @s ~0.5 ~ ~0.5 ~ ~

# Wenn der Rüstungsständer in eine Richtung schaut in die er bisher noch nicht geschaut hat, wird er genau in die Himmelsrichtung ausgerichtet und bekommt als Namen den der Himmelsrichtung.
execute as @e[type=minecraft:armor_stand,tag=EtiLuftS.2Fahren,name=!"Norden",y_rotation=135..-135] run data merge entity @s {CustomName:'{"bold":true,"color":"blue","text":"Norden"}',Rotation:[180.0f,0.0f]}
execute as @e[type=minecraft:armor_stand,tag=EtiLuftS.2Fahren,name=!"Osten",y_rotation=-135..-45] run data merge entity @s {CustomName:'{"bold":true,"color":"gold","text":"Osten"}',Rotation:[270.0f,0.0f]}
execute as @e[type=minecraft:armor_stand,tag=EtiLuftS.2Fahren,name=!"Süden",y_rotation=-45..45] run data merge entity @s {CustomName:'{"bold":true,"color":"blue","text":"Süden"}',Rotation:[0.0f,0.0f]}
execute as @e[type=minecraft:armor_stand,tag=EtiLuftS.2Fahren,name=!"Westen",y_rotation=45..135] run data merge entity @s {CustomName:'{"bold":true,"color":"gold","text":"Westen"}',Rotation:[90.0f,0.0f]}

# Der Luftschiff-Rüstungsständer ruft die Luftschiff-Funktion auf, wenn der Spieler mit dem Luftschiff fahren will.
execute as @e[type=minecraft:armor_stand,tag=EtiLuftS.2Fahren] at @s run function luftschiff:v2luftschiff

# Der Rüstungsständer wie auch der Spieler bekommen das jeweilige Etikett entfernt wenn sie es besaßsen.
tag @e[type=minecraft:armor_stand,tag=EtiLuftS.2Fahren] remove EtiLuftS.2Fahren
tag @a[tag=EtiLuftS.2Steuer] remove EtiLuftS.2Steuer

Variante 2: Luftschiff-Funktion
Die Luftschiff-Funktion beseitigt alle Überreste des Luftschiffes und bewegt den Piloten sowie den Luftschiffs-Rüstungsständer nach oben oder unten wenn dies gewollt ist. Das Luftschiff mit gewünschter Richtung wird anschließend durch einen Konstruktionsblock erstellt. Damit bestimmte Blöcke nicht beim Ersetzen droppen, wird das Alias #luftschiff:v2drop-bloecke verwendet welches diese Blöcke durch Luft ersetzt.

Editor Icon luftschiff:v2lusftschiff.mcfunction
# Bevor das Luftschiff in die neue Richtung bewegt wird, werden alle Blöcke durch Luft ersetzt, die beim normalen Ersetzen droppen würden
fill ~15 ~15 ~15 ~-15 ~-15 ~-15 minecraft:air replace #luftschiff:v2drop-bloecke

# Wenn der Spieler das Luftschiff um 90° oder 180° dreht, würden manche Teile davon weiterhin in der Luft bleiben, diese werden überprüft und entfernt
execute rotated ~ 0 run fill ^-4 ^1 ^-15 ^4 ^15 ^-18 minecraft:air replace
execute rotated ~ 0 unless block ^11 ^3 ^-1 minecraft:air run fill ^11 ^1 ^4 ^17 ^15 ^-6 minecraft:air replace
execute rotated ~ 0 unless block ^-11 ^3 ^-1 minecraft:air run fill ^-11 ^1 ^4 ^-17 ^15 ^-6 minecraft:air replace

# Wenn der spieler nach oben oder unten geschaut hat, während er das Luftschiff in eine Richtung bewegt hatte, so wird dieser, wie auch der Luftschiff-Rüstungsständer in die Richtung mit teleportiert
execute as @e[distance=..2,type=minecraft:armor_stand,tag=EtiLuftS.2Neigung,name=!"Geradeaus"] run tellraw @p[distance=..1.5,team=TMLuftS.2Pilot,tag=EtiLuftS.2Steuer] ["Luftschiff.2: ",{"selector":"@s"}]
execute if entity @e[distance=..2,type=minecraft:armor_stand,tag=EtiLuftS.2Neigung,name="Oben"] as @p[distance=..1.5,team=TMLuftS.2Pilot,tag=EtiLuftS.2Steuer] at @s run teleport @s ~ ~1 ~
execute if entity @e[distance=..2,type=minecraft:armor_stand,tag=EtiLuftS.2Neigung,name="Oben"] run teleport @s ~ ~1 ~
execute if entity @e[distance=..2,type=minecraft:armor_stand,tag=EtiLuftS.2Neigung,name="Unten"] as @p[distance=..1.5,team=TMLuftS.2Pilot,tag=EtiLuftS.2Steuer] at @s run teleport @s ~ ~-1 ~
execute if entity @e[distance=..2,type=minecraft:armor_stand,tag=EtiLuftS.2Neigung,name="Unten"] run teleport @s ~ ~-1 ~

# Je nach Blickrichtung des Spielers wird ein Konstruktionsblock mit entsprechender Rotation platziert
execute at @s if entity @s[name="Westen"] run setblock ~ ~-3 ~ minecraft:structure_block{rotation:"NONE",mode:"LOAD",posX:-17,posY:0,posZ:-10,name:"luftschiff:v2luftschiff"} replace
execute at @s if entity @s[name="Norden"] run setblock ~ ~-3 ~ minecraft:structure_block{rotation:"CLOCKWISE_90",mode:"LOAD",posX:10,posY:0,posZ:-17,name:"luftschiff:v2luftschiff"} replace
execute at @s if entity @s[name="Osten"] run setblock ~ ~-3 ~ minecraft:structure_block{rotation:"CLOCKWISE_180",mode:"LOAD",posX:17,posY:0,posZ:10,name:"luftschiff:v2luftschiff"} replace
execute at @s if entity @s[name="Süden"] run setblock ~ ~-3 ~ minecraft:structure_block{rotation:"COUNTERCLOCKWISE_90",mode:"LOAD",posX:-10,posY:0,posZ:17,name:"luftschiff:v2luftschiff"} replace

# Neben dem Konstruktionsblock wird ein Redstone-Block platziert um diesen zu aktivieren
execute at @s run setblock ~ ~-3 ~1 minecraft:redstone_block replace
JSON Icon luftschiff:v2drop-bloecke.json
{
  "values":[
  "minecraft:ladder",
  "#minecraft:buttons",
  "#minecraft:signs",
  "#minecraft:wall_signs"
  ]
}

Variante 2: Stopp-Funktion
Die Stopp-Funktion löscht das Team wieder. Das Luftschiff wird durch Luft ersetzt und die Rüstungsständer im Inventar als Drop oder Objekt werden entfernt.

Editor Icon luftschiff:v2stopp.mcfunction
# Das Team wird gelöscht.
team remove TMLuftS.2Pilot

# Das Luftschiff an der Position des Luftschiffs-Rüstungsständers wird durch Luft ersetzt.
execute at @e[type=minecraft:armor_stand,tag=EtiLuftS.2Luftschiff] run fill ~17 ~15 ~17 ~-17 ~-4 ~-17 minecraft:air replace #luftschiff:v2drop-bloecke
execute at @e[type=minecraft:armor_stand,tag=EtiLuftS.2Luftschiff] run fill ~17 ~15 ~17 ~-17 ~-4 ~-17 minecraft:air replace

# Das Holzschwert wird aus dem Inventar entfernt.
clear @a minecraft:wooden_sword{luftschiff:"v2gegenstand"}

# Alle Rüstungsständer werden gelöscht.
tag @e[type=minecraft:item,nbt={Item:{tag:{luftschiff:"v2gegenstand"} } }]
kill @e[type=minecraft:armor_stand,tag=EtiLuftS.2Alle]

Variante 3

Luftschiff (Befehle) Bild 3.1 Luftschiff (Befehle) Bild 3.2 Luftschiff (Befehle) Bild 3.3

Dieses Luftschiff lässt sich durch das Werfen von Holzschwertern steuern. Es kann in alle vier Himmelsrichtungen gefahren werden und nach oben oder unten. Dabei verbraucht man etwas Kohle und ohne diese kann es nicht mehr weiter gefahren werden. Beim Einschalten erhält man einen Rüstungsständer für das Platzieren eines Andockplatzes. Dort läuft man hin und bekommt ein Holzschwert und beim Wurf dessen, wird ein Luftschiff in großer Höhe erzeugt und der Spieler wird dort hineingesetzt. Mit einer Leine die er ebenfalls werfen muss kann er wieder beim Andockplatz unten gelangen. Das Luftschiff ist solange mit einer Ankerkette am Andockplatz angeleint.

Einschalten
  • Befehl 3.1 Wenn der Hebel umgelegt wird, wird die Start-Funktion gestartet.
Wiederholen
  • Befehl 3.2 Beim Einschalten wird auch der Wiederhol-Befehlsblock gestartet, der jeden Tick die Zyklus-Funktion lädt.
Ausschalten
  • Befehl 3.3 Wenn der Hebel wieder in Ausgangsstellung zurück gelegt wird, wird die Stopp-Funktion ausgelöst und schaltet alles wieder ab.

Befehlsblöcke mit Befehlen:


Variante 3: Start-Funktion
Die Start-Funktion erstellt die Punktestand-Ziele, das Team und gibt den Spielern einen Rüstungsständer, eine Leine und 64 Kohlestücke in die Hand.

Editor Icon luftschiff:v3start.mcfunction
# Punktestand-Ziele für das Droppen von Holzschwertern und Leinen werden erstellt.
scoreboard objectives add PZLuftS.3Steuer minecraft.dropped:minecraft.wooden_sword ["Luftschiff.3: ",{"text":"Holzschwert droppen um Luftschiff zu fahren","bold":true}]
scoreboard objectives add PZLuftS.3Leine minecraft.dropped:minecraft.lead ["Luftschiff.3: ",{"text":"Leine droppen um anzudocken","bold":true}]

# Ein Team für Piloten wird erstellt.
team add TMLuftS.3Pilot ["Luftschiff.3: ",{"text":"Piloten","bold":true}]

# Der nächstgelegene Spieler wird in den Überlebensmodus gesetzt.
gamemode survival @p[distance=..25,gamemode=!survival]

# Dem nächstgelegenen Spieler werden ein Rüstungsständer, eine Leine und 64 Kohle ins Inventar gegeben.
give @p[distance=..25] minecraft:armor_stand{luftschiff:"v3gegenstand",display:{Name:'{"text":"Andockplatz","bold":true}',Lore:['"Platziere den Rüstungsständer"','"um eine Landeplattform für"','"Luftschiffe zu erstellen"']},EntityTag:{Small:true,Invisible:true,Marker:true,NoGravity:true,CustomNameVisible:true,CustomName:'{"text":"Andockplatz","bold":true}',Tags:["EtiLuftS.3Alle","EtiLuftS.3Andockplatz","EtiLuftS.3Erstellen"]} }
give @p[distance=..25] minecraft:lead{luftschiff:"v3gegenstand",display:{Lore:['"Wirf die Leine mit Q um"','"zum Luftschiff oder"','"Andockplatz zu gelangen"'] } } 1
give @p[distance=..25] minecraft:coal{luftschiff:"v3gegenstand"} 64

Variante 3: Zyklus-Funktion
Die Zyklus-Funktion lässt die Luftschiff-Erstellen-Funktion aufrufen, wenn ein Spieler beim Andockplatz noch kein Luftschiff hat. Sie ruft die Luftschiff-Funktion auf, wenn der Spieler das Luftschiff steuert und sie erzeugt einen Andockplatz durch die gleichnamige Funktion, welche aufgerufen wird, wenn man einen Rüstungsständer dafür platziert hatte.

Editor Icon luftschiff:v3zyklus.mcfunction
# Wenn ein Spieler vom Team Pilot in der Nähe des Andockplatzes ist und mindestens eine Kohle im Inventar besitzt, wird die Luftschiff-Erstellen-Funktion aufgerufen.
execute at @e[type=minecraft:armor_stand,tag=EtiLuftS.3Andockplatz,tag=!EtiLuftS.3PilotVorhanden] as @p[distance=..10,team=TMLuftS.3Pilot,scores={PZLuftS.3Steuer=1..},nbt={Inventory:[{id:"minecraft:coal"}]}] run function luftschiff:v3luftschiff_erstellen

# Wenn der Spieler im Team Pilot ist und Kohle bei sich trägt und unter ihm in zehn Meter Luft ist und sich kein Andockplatz in der Nähe befindet wird die Luftschiff-Funktion aufgerufen.
execute as @a[team=TMLuftS.3Pilot,scores={PZLuftS.3Steuer=1..},nbt={Inventory:[{id:"minecraft:coal"}]}] at @s if block ~ ~-10 ~ minecraft:air unless entity @e[distance=..10,tag=EtiLuftS.3Andockplatz] run function luftschiff:v3luftschiff

# Wenn der Spieler den Rüstungsständer für den Andockplatz erstellt hat, wird von diesem aus die Funktion Andockplatz-Erstellen aufgerufen.
execute as @e[type=minecraft:armor_stand,tag=EtiLuftS.3Erstellen] at @s run function luftschiff:v3andockplatz_erstellen

# Wenn der Spieler sich in der Nähe des Andockplatzes befindet und noch nicht im Team Pilot ist, erhält er eine Anleitung im Chat-Bereich, bekommt er ein Holzschwert und wird ins Piloten-Team gesetzt.
execute at @e[type=minecraft:armor_stand,tag=EtiLuftS.3Andockplatz] run tellraw @p[distance=..5,team=!TMLuftS.3Pilot] ["Luftschiff.3: ",{"text":"Wirf das Schwert mit Q um ein Luftschiff zu fahren. Du musst aber genug Kohlestücke dabei haben!","bold":true}]
execute at @e[type=minecraft:armor_stand,tag=EtiLuftS.3Andockplatz] run give @p[distance=..5,team=!TMLuftS.3Pilot] minecraft:wooden_sword{luftschiff:"v3gegenstand",AttributeModifiers:[{AttributeName:"generic.attackDamage",Amount:-1,Name:"Extraschaden",Operation:0,UUIDLeast:1,UUIDMost:1,Slot:"mainhand"}],Unbreakable:true,Enchantments:[{id:-1}],HideFlags:6,display:{Name:'{"text":"Steuerkreuz","color":"gold"}',Lore:['"Wirf das Schwert mit Q"','"um ein Luftschiff zu fahren"']} }
execute at @e[type=minecraft:armor_stand,tag=EtiLuftS.3Andockplatz] run team join TMLuftS.3Pilot @p[distance=..5,team=!TMLuftS.3Pilot]

# Wenn der Spieler die Leine mit Q geworfen hat, wird die Funktion Andocken aufgerufen, vorausgesetzt ein Andockplatz wie auch ein Luftschiff sind in der Nähe, ansonsten erhält er eine Fehlermeldung.
execute as @a[team=TMLuftS.3Pilot,scores={PZLuftS.3Leine=1..}] at @s if entity @e[distance=..50,tag=EtiLuftS.3Andockplatz] if entity @e[distance=..50,tag=EtiLuftS.3Luftschiff] run function luftschiff:v3andocken
execute as @a[team=TMLuftS.3Pilot,scores={PZLuftS.3Leine=1..}] at @s unless entity @e[distance=..50,tag=EtiLuftS.3Andockplatz] run tellraw @s ["Luftschiff.3: ",{"text":"Es befindet sich kein Andockplatz in der Nähe","bold":true}]
execute as @a[team=TMLuftS.3Pilot,scores={PZLuftS.3Leine=1..}] at @s unless entity @e[distance=..50,tag=EtiLuftS.3Luftschiff] run tellraw @s ["Luftschiff.3: ",{"text":"Es befindet sich kein Luftschiff in der Nähe","bold":true}]

# Wenn der Spieler die Leine zum Andocken erfolgreich geworfen hat, besitzt er einen Wert von -20, dieser wird hoch bis 0 gezählt und dann bekommt er die Leine zurück.
scoreboard players add @a[scores={PZLuftS.3Leine=..-1}] PZLuftS.3Leine 1
scoreboard players set @a[team=TMLuftS.3Pilot,scores={PZLuftS.3Leine=1..}] PZLuftS.3Leine 0
give @a[scores={PZLuftS.3Leine=-1}] minecraft:lead{luftschiff:"v3gegenstand",display:{Lore:['"Wirf die Leine mit Q um"','"zum Luftschiff oder"','"Andockplatz zu gelangen"']} } 1

Variante 3: Luftschiff-Erstellen-Funktion
Die Luftschiff-Erstellen-Funktion platziert zuerst einen Block weiter oben um dann den Spieler dort hinzubefördern. Anschließend wird ein Luftschiff-Rüstungsständer erzeugt an dessen Position das Luftschiff sein wird.

Editor Icon luftschiff:v3lusftschiff_erstellen.mcfunction
# Es wird ein Eichenholzbrett 24 Meter über der aktuellen Position gesetzt, auf dem nachher der Spieler hinkommt, falls das Laden des Luftschiffes länger dauert.
setblock ~ ~24 ~ minecraft:oak_planks replace

# Das Schwert, dass der Spieler geworfen hat, bekommt die Eigenschaft, dass es sofort wieder aufgehoben werden kann und es wird 25 Meter höher teleportiert, wie auch der Spieler selbst.
data merge entity @e[distance=..5,type=minecraft:item,nbt={Item:{tag:{luftschiff:"v3gegenstand"} } },sort=nearest,limit=1] {PickupDelay:0s}
teleport @e[distance=..5,type=minecraft:item,nbt={Item:{tag:{luftschiff:"v3gegenstand"} } },sort=nearest,limit=1] ~ ~25 ~
teleport @s ~ ~25 ~

# Es wird der Rüstungsständer für das Luftschiff erstellt und er erhält den Wert 0, das später für das Fahren benutzt wird.
summon minecraft:armor_stand ~ ~25 ~ {Small:true,NoGravity:true,Invisible:true,Tags:["EtiLuftS.3Alle","EtiLuftS.3Luftschiff"]}
execute positioned ~ ~25 ~ run scoreboard players set @e[distance=..3,type=minecraft:armor_stand,tag=EtiLuftS.3Luftschiff,sort=nearest,limit=1] PZLuftS.3Steuer 0

# Der Name des Andockplatz-Rüstungsständers wird grau geförbt und er bekommt ein Etikett, um zu markieren, dass der Pilot an diesem gestartet ist.
data merge entity @e[distance=..1,tag=EtiLuftS.3Andockplatz,tag=!EtiLuftS.3PilotVorhanden,sort=nearest,limit=1] {CustomName:'{"text":"Andockplatz","color":"gray","bold":true}'}
tag @e[distance=..1,type=minecraft:armor_stand,tag=EtiLuftS.3Andockplatz,tag=!EtiLuftS.3PilotVorhanden] add EtiLuftS.3PilotVorhanden

Variante 3: Luftschiff-Funktion
Die Luftschiff-Funktion räumt die Überbleibsel vom Luftschiff weg, berechnet wie viel Brennstoff noch das Luftschiff durch die Kohle hat und platziert das Luftschiff in die gewünschte Richtung. Für die droppenden Blöcke, wird das Alias #luftschiff:v3drop-bloecke verwendet, damit diese Blöcke bereits entfernt sind, sodass sie nicht mehr beim ersetzen droppen können.

Editor Icon luftschiff:v3lusftschiff.mcfunction
# Der Punktestand des Spielers wird wieder auf null gesetzt.
scoreboard players set @s PZLuftS.3Steuer 0

# Das Holzschwert das geworfen wurde bekommt die Eigenschaft, dass es sofort wieder aufgehoben werden kann.
data merge entity @e[distance=..3,type=item,nbt={Item:{tag:{luftschiff:"v3gegenstand"} } },sort=nearest,limit=1] {PickupDelay:0s}

# Bevor das Luftschiff in die neue Richtung bewegt wird, werden alle Blöcke durch Luft ersetzt, die beim normalen Ersetzen droppen würden.
execute at @e[distance=..5,tag=EtiLuftS.3Luftschiff,sort=nearest,limit=1] run fill ~15 ~15 ~15 ~-15 ~-15 ~-15 minecraft:air replace #luftschiff:v3drop-bloecke

# Der Luftschiff-Rüstungsständer besitzt einen Wert welcher jedes mal um eins verringert wird und immer dann wenn er null erreicht wird der Wert wieder aufgefüllt und dem Spieler wird ein Kohlestück aus dem Inventar entfernt.
scoreboard players remove @e[distance=..3,type=minecraft:armor_stand,tag=EtiLuftS.3Luftschiff,sort=nearest,limit=1,scores={PZLuftS.3Steuer=1..}] PZLuftS.3Steuer 1
execute if entity @e[distance=..3,type=minecraft:armor_stand,tag=EtiLuftS.3Luftschiff,sort=nearest,limit=1,scores={PZLuftS.3Steuer=..0}] run clear @s minecraft:coal 1
execute as @e[distance=..3,type=minecraft:armor_stand,tag=EtiLuftS.3Luftschiff,sort=nearest,limit=1,scores={PZLuftS.3Steuer=..0}] run scoreboard players set @s PZLuftS.3Steuer 28

# Wenn der Spieler das Luftschiff um 90° oder 180° dreht würden manche Teile davon weiterhin in der Luft einige Fetzen noch sichtbar bleiben, diese werden überprüft und entfernt.
execute positioned as @e[distance=..5,tag=EtiLuftS.3Luftschiff,sort=nearest,limit=1] rotated ~ 0 if block ^-7 ^5 ^ minecraft:white_wool run fill ^-7 ^-2 ^4 ^-17 ^13 ^-6 minecraft:air replace
execute positioned as @e[distance=..5,tag=EtiLuftS.3Luftschiff,sort=nearest,limit=1] rotated ~ 0 if block ^7 ^5 ^ minecraft:white_wool run fill ^7 ^-2 ^4 ^17 ^13 ^-6 minecraft:air replace
execute positioned as @e[distance=..5,tag=EtiLuftS.3Luftschiff,sort=nearest,limit=1] rotated ~ 0 if block ^ ^7 ^-15 minecraft:white_wool run fill ^1 ^6 ^-15 ^-1 ^10 ^-20 minecraft:air replace

# Der Luftschiff-Rüstungsständer wie auch der Spieler werden von ihrer Position um einen Meter nach vorne teleportiert.
execute rotated ~ 0 run teleport @e[distance=..5,tag=EtiLuftS.3Luftschiff,sort=nearest,limit=1] ^ ^ ^1
execute rotated ~ 0 run teleport @s ^ ^ ^1

# Je nach Blickrichtung des Spielers wird ein Konstruktionsblock mit entsprechender Rotation platziert
execute if entity @s[y_rotation=45..135] at @e[distance=..5,tag=EtiLuftS.3Luftschiff,sort=nearest,limit=1] run setblock ~ ~-3 ~ minecraft:structure_block{rotation:"NONE",mode:"LOAD",posX:-15,posY:0,posZ:-6,name:"luftschiff:v3luftschiff"} replace
execute if entity @s[y_rotation=135..-135] at @e[distance=..5,tag=EtiLuftS.3Luftschiff,sort=nearest,limit=1] run setblock ~ ~-3 ~ minecraft:structure_block{rotation:"CLOCKWISE_90",mode:"LOAD",posX:6,posY:0,posZ:-15,name:"luftschiff:v3luftschiff"} replace
execute if entity @s[y_rotation=-135..-45] at @e[distance=..5,tag=EtiLuftS.3Luftschiff,sort=nearest,limit=1] run setblock ~ ~-3 ~ minecraft:structure_block{rotation:"CLOCKWISE_180",mode:"LOAD",posX:15,posY:0,posZ:6,name:"luftschiff:v3luftschiff"} replace
execute if entity @s[y_rotation=-45..45] at @e[distance=..5,tag=EtiLuftS.3Luftschiff,sort=nearest,limit=1] run setblock ~ ~-3 ~ minecraft:structure_block{rotation:"COUNTERCLOCKWISE_90",mode:"LOAD",posX:-6,posY:0,posZ:15,name:"luftschiff:v3luftschiff"} replace

# Neben dem Konstruktionsblock werden Redstone-Blöcke platziert, welche diesen aktivieren.
execute at @s[team=TMLuftS.3Pilot] run fill ~1 ~-2 ~1 ~-1 ~-2 ~-1 minecraft:redstone_block replace
JSON Icon luftschiff:v3drop-bloecke.json
{
  "values":[
  "#minecraft:buttons",
  "#minecraft:signs",
  "#minecraft:wall_signs"
  ]
}

Variante 3: Andockplatz-Erstellen-Funktion
Die Andockplatz-Erstellen-Funktion platziert einen Konstruktionsblock mit Redstone-Block damit der Andockplatz geladen wird und lässt den Rüstungsständer zwei Blöcke höher schweben, damit dessen Schrift für alle lesbar ist.

Editor Icon luftschiff:v3andockplatz_erstellen.mcfunction
# An der Position des Rüstungsständers wird ein Konstruktionsblock samt Redstone-Block platziert, wodurch der Andockplatz entsteht.
setblock ~ ~ ~ minecraft:structure_block{mode:"LOAD",posX:-3,posY:0,posZ:-3,name:"luftschiff:v3andockplatz"} replace
setblock ~ ~1 ~ minecraft:redstone_block replace

# Der Rüstungsständer wird um zwei Meter nach oben teleportiert und das Etikett wird entfernt.
teleport @s ~ ~2 ~
tag @s remove EtiLuftS.3Erstellen

Variante 3: Andocken-Funktion
Die Andocken-Funktion wird aufgerufen wenn der Spieler die Leine weggeworfen hat. Befindet er sich dabei auf dem Luftschiff wird er zum nächsten Andockplatzt teleportiert. Umgekehrt wird er zum Luftschiff teleportiert.

Editor Icon luftschiff:v3andocken.mcfunction
# Je nach dem ob der Spieler beim Andockplatz oder beim Luftschiff ist bekommt der entsprechende Spieler ein Etikett um das zu vermerken.
execute if entity @e[distance=..15,type=minecraft:armor_stand,tag=EtiLuftS.3Luftschiff,sort=nearest,limit=1] if entity @e[type=minecraft:armor_stand,tag=EtiLuftS.3Andockplatz,sort=nearest,limit=1] run tag @s add EtiLuftS.3AndockenAndockplatz
execute if entity @e[distance=..15,type=minecraft:armor_stand,tag=EtiLuftS.3Andockplatz,sort=nearest,limit=1] if entity @e[type=minecraft:armor_stand,tag=EtiLuftS.3Luftschiff,sort=nearest,limit=1] run tag @s add EtiLuftS.3AndockenLuftschiff

# Wenn der Spieler auf dem Luftschiff war, wird er zum Andockplatz teleport, umgekehrt wird er zum Luftschiff teleportiert.
execute at @e[type=minecraft:armor_stand,tag=EtiLuftS.3Andockplatz,sort=nearest,limit=1] run teleport @s[tag=EtiLuftS.3AndockenAndockplatz] ~ ~-1.5 ~1
teleport @s[tag=EtiLuftS.3AndockenLuftschiff] @e[type=minecraft:armor_stand,tag=EtiLuftS.3Luftschiff,sort=nearest,limit=1]

# Wenn der Spieler vom Luftschiff zum Andockplatz gelangt wird noch eine Kette aus Zäunen bis zum Andockplatz erstellt, umgekehrt wird diese wieder entfernt wenn der Spieler zum Luftschiff will.
execute if entity @s[tag=EtiLuftS.3AndockenAndockplatz] at @e[distance=..15,type=minecraft:armor_stand,tag=EtiLuftS.3Luftschiff,sort=nearest,limit=1] facing entity @e[type=minecraft:armor_stand,tag=EtiLuftS.3Andockplatz,sort=nearest,limit=1] eyes positioned ^ ^ ^2 run function luftschiff:v3andocken_kette
execute if entity @s[tag=EtiLuftS.3AndockenLuftschiff] at @e[type=minecraft:area_effect_cloud,tag=EtiLuftS.3Kette] run fill ~ ~ ~ ~ ~1 ~ minecraft:air replace minecraft:oak_fence
execute if entity @s[tag=EtiLuftS.3AndockenLuftschiff] run kill @e[type=minecraft:area_effect_cloud,tag=EtiLuftS.3Kette]

# Die beiden Etiketten werden wieder entfernt da sie nicht mehr benötigt werden.
tag @s[tag=EtiLuftS.3AndockenAndockplatz] remove EtiLuftS.3AndockenAndockplatz
tag @s[tag=EtiLuftS.3AndockenLuftschiff] remove EtiLuftS.3AndockenLuftschiff

# Damit der Spieler die Leine wieder bekommt wird ihm ein Wert -20 gegeben.
scoreboard players set @s PZLuftS.3Leine -20

# Die geworfene Leine wird entfernt.
kill @e[distance=..3,type=item,nbt={Item:{id:"minecraft:lead",tag:{luftschiff:"v3gegenstand"} } },sort=nearest,limit=1]

Variante 3: Andocken-Ketten-Funktion
Die Andocken-Ketten-Funktion lässt eine Ankekette zum Andockplatzt entstehen. Sie platziert Zäune und Partikelwolken, diese werden benutzt um später die Ankerkette wieder zu entfernen.

Editor Icon luftschiff:v3andocken_kette.mcfunction
# Eine Partikelwolke wird an einer Luftstelle platziert, um später die gleiche Stelle wieder ausfindig machen zu könmnen. Zäune werden platziert und die Funktion wird selbst aufgerufen, solange noch nicht der Andockplatz erreicht wurde.
execute if block ~ ~ ~ minecraft:air run summon minecraft:area_effect_cloud ~ ~ ~ {NoGravity:true,Duration:-1,Age:-2147483648,WaitTime:-2147483648,Particle:"minecraft:block minecraft:air",Tags:["EtiLuftS.3Alle","EtiLuftS.3Kette"]}
fill ~ ~ ~ ~ ~1 ~ minecraft:oak_fence replace minecraft:air
execute unless entity @e[distance=..1,type=minecraft:armor_stand,tag=EtiLuftS.3Andockplatz] positioned ^ ^ ^0.5 run function luftschiff:v3andocken_kette

Variante 3: Stopp-Funktion
Die Stopp-Funktion löscht die Punktestand-Ziele wird, sowie das Team und das Luftschiff. Alle Gegenstände für das Luftschiff werden entfernt. Alle Rüstungsständer als Drop oder als Objekt werden entfernt.

Editor Icon luftschiff:v3stopp.mcfunction
# Die Punktestand-Ziele werden entfernt.
scoreboard objectives remove PZLuftS.3Steuer
scoreboard objectives remove PZLuftS.3Leine

# Das Team wird entfernt.
team remove TMLuftS.3Pilot

# Spieler die sich nicht im Kreativmodus befanden werden in diesen, in einem Umkreis von 25 Blöcken, gesetzt.
gamemode creative @a[distance=..25,gamemode=!creative]

# Der Andockplatz, das Luftschiff wie auch die Andockleine werden entfernt.
execute at @e[tag=EtiLuftS.3Andockplatz] run fill ~-3 ~-2 ~-3 ~3 ~ ~3 minecraft:air replace
execute at @e[tag=EtiLuftS.3Luftschiff] run fill ~15 ~15 ~15 ~-15 ~-4 ~-15 minecraft:air replace #luftschiff:v3drop-bloecke
execute at @e[tag=EtiLuftS.3Luftschiff] run fill ~15 ~15 ~15 ~-15 ~-4 ~-15 minecraft:air replace
execute at @e[type=minecraft:area_effect_cloud,tag=EtiLuftS.3Kette] run fill ~ ~ ~ ~ ~1 ~ minecraft:air replace minecraft:oak_fence

# Alle Gegenstände für das Luftschiff werden aus dem Inventar der Spielers entfernt.
clear @a minecraft:wooden_sword{luftschiff:"v3gegenstand"}
clear @a minecraft:armor_stand{luftschiff:"v3gegenstand"}
clear @a minecraft:coal{luftschiff:"v3gegenstand"}
clear @a minecraft:lead{luftschiff:"v3gegenstand"}

# Falls ein Gegenstand auf den Boden gedroppt wurde, erhält das ein Etikett. Alle Objekte für das Luftschiff werden entfernt.
tag @e[type=minecraft:item,nbt={Item:{tag:{luftschiff:"v3gegenstand"} } }] add EtiLuftS.3Alle
kill @e[tag=EtiLuftS.3Alle]


Disambig color