Technik Wiki
Registrieren
Advertisement
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:v1luftschiff.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:v2luftschiff.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:v3luftschiff_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:v3luftschiff.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
Advertisement