Das offizielle Minecraft Wiki twittert hier: Wiki-Twitter  –  Chatte im Wiki-Discord  – Noch keinen Server gefunden? Es gibt einen Wiki-Server

Hi Gamepedia users and contributors! Please complete this survey to help us learn how to better meet your needs in the future. We have one for editors and readers. This should only take about 7 minutes!

Gleisbrücken- und -tunnelbaumaschine (Befehle)

Aus Technik Wiki
(Weitergeleitet von Brückenbauer (Befehle))
Wechseln zu: Navigation, Suche
Gruppe: Grid Schiene.png
Schienenverkehrsanlagen

Grid Roter Sand blass.png mit Mechaniken

Grid Redstone blass.png mit Redstone
                Hier:
Grid Befehlsblock.png mit Befehlen

Die vorgestellte Technik kann in der Schienen-Welt angesehen werden.

Derr Brückenbauer basiert auf einen Gleisverleger und vereinfacht das Bauen von Gleisbrücken, Gleistunnels, ebenen Gleisstrecken und in besonderen Fällen auch das Bauen von Gleisrampen. Hierbei muss man das Material für den Bau solcher Konstruktionen bei sich tragen und der Brückenbauer entnimmt dann dieses für den Bau. Wenn man damit Brücken konstruiert, werden nach einem bestimmten Abstand Pfeiler platziert, welche genau so lang sind wie die Schlucht tief ist. Falls die Brücke im Ozean oder Lavaozean errichtet wird, so werden die Pfeiler ab dem Meeresspiegel breiter und gehen bis auf den Grund. Unterwasserbrücken wie Tunnel sind auch möglich, hierbei wird eine schützende Glasfasse für die Gleise errichtet.

Es gibt auch Varianten für die Eisenbahn, welche genauso arbeitet wie für Gleisstrecken, nur dass die Brücken und Tunnel entsprechend an Eisenbahnen angepasst sind.

Variante 1[Bearbeiten | Quelltext bearbeiten]

Gleisbrücken- und -tunnelbaumaschine (Befehle) Bild 2.1.png Gleisbrücken- und -tunnelbaumaschine (Befehle) Bild 2.2.png Gleisbrücken- und -tunnelbaumaschine (Befehle) Bild 2.3.png Gleisbrücken- und -tunnelbaumaschine (Befehle) Bild 2.4.png

Dieser Brückenbauer benötigt Material für den Bau von Brücken, Tunnels, ebene Gleisstrecken oder Gleisrampen, weshalb man dieses immer bei sich tragen muss. Wenn man in der Nähe von ihm schleicht, fängt er an zu bauen. Man kann bestimmte Gegenstände wie den Rüstungsständer, Andesit, Steine oder Schienen zu ihm werfen, sodass er Rasterfrei, diagonal nach oben oder unten fährt oder zweispurig wird.

Einschalten

Wird der Hebel umgelegt, startet der Befehlsblock und führt die Start-Funktion einmal aus

Wiederholen

Der Wiederhol-Befehlsblock führt jeden Tick die Zyklus-Funktion aus

Ausschalten

Sobald der Hebel wieder in Ausgangsstellung zurück gelegt wurde, wird die Stopp-Funktion aktiviert


Befehlsblöcke mit Befehlen:



Variante 1: Start-Funktion
Die Start-Funktion erstellt alle Punktestand-Ziele, so fürs Schleichen und alle Materialien und gibt den Spieler den Brückenbauer in Form eines Rüstungsständers

Editor Icon.png technik_wiki:brueckenbauer/v1start.mcfunction
# Die Punktestand-Ziele für die Schleichzeit und für die Materialien werden erstellt
scoreboard objectives add PZBruB.1Schl minecraft.custom:minecraft.sneak_time ["Brückenbauer.1: ",{"text":"Schleichzeit","bold":true}]
scoreboard objectives add PZBruB.1Gleis dummy ["Brückenbauer.1: ",{"text":"Schienen für den Verleger","bold":true}]
scoreboard objectives add PZBruB.1Andes dummy ["Brückenbauer.1: ",{"text":"Andesit für den Verleger","bold":true}]
scoreboard objectives add PZBruB.1Stein dummy ["Brückenbauer.1: ",{"text":"Steine für den Verleger","bold":true}]
scoreboard objectives add PZBruB.1Richt dummy ["Brückenbauer.1: ",{"text":"Richtung des Verleger","bold":true}]

# Der Spieler erhält einen Rüstungsständer, welcher platziert einen Brückenbauer erstellt
give @a[distance=..25] minecraft:armor_stand{display:{Name:"{\"text\":\"Brückenbauer\"}",Lore:["Brückenbauer.1"]},EntityTag:{Invisible:true,Small:true,NoGravity:true,CustomNameVisible:true,CustomName:"{\"text\":\"Brückenbauer\"}",Tags:["EtiBruB.1Alle","EtiBruB.1Verleger","EtiBruB.1Erstellen"],ArmorItems:[{},{},{},{id:"minecraft:magenta_glazed_terracotta",Count:1b} ],Pose:{Head:[0.0f,0.0f,180.0f] } } } 16


Variante 1: Zyklus-Funktion
Die Zyklus-Funktion ruft die Funktionen für das Erstellen des Brückenbauers, wenn der Rüstungsständer platziert wurde. Funktionen für das Ausrichten und das Bauen der Gleiswege und für den Pfeiler werden ebenfalls geladen und die Schleichzeit des Spielers wird bei Einsatz zurückgesetzt.

Editor Icon.png technik_wiki:brueckenbauer/v1zyklus.mcfunction
# Wenn ein Rüstungsständer platziert wird, welcher das entsprechende Etikett besitzt, so wird die Erstellen-Funktion geladen
execute as @e[type=minecraft:armor_stand,tag=EtiBruB.1Erstellen] at @s run function technik_wiki:brueckenbauer/v1erstellen

# Wenn sich ein Spieler im Umkreis von zehn Blöcken um den Brückenbauer befindet, wird dieser entsprechend ausgerichtet
execute as @e[type=minecraft:armor_stand,tag=EtiBruB.1Verleger] at @s if entity @p[distance=..10] rotated ~ 0 run function technik_wiki:brueckenbauer/v1ausrichtung

# Wenn der Spieler im Umkreis schleicht und auf dem Boden steht, wird die Funktion geladen, die den Bau der Brücke startet
execute as @e[type=minecraft:armor_stand,tag=EtiBruB.1Verleger] at @s if entity @p[distance=..10,scores={PZBruB.1Schl=3..},nbt={OnGround:true}] rotated ~180 0 run function technik_wiki:brueckenbauer/v1bruecke

# Falls beim Bau der Brücke ein Pfeiler (Rüstungsständer) erstellt wurde, wird die Pfeiler-Funktion geladen
execute as @e[type=armor_stand,tag=EtiBruB.1Pfeiler] at @s run function technik_wiki:brueckenbauer/v1pfeiler

# Falls der Spieler mindestens drei Ticks lang geschlichen ist, wird ihm die Schleichzeit zurückgesetzt
scoreboard players reset @a[scores={PZBruB.1Schl=3..}] PZBruB.1Schl


Variante 1: Erstellen-Funktion
Die Erstellen-Funktion gibt dem Spieler alle benötigten Materialien, entfernt alle anderen Brückenbauer und visualisiert die Blöcke die bei dem Bau der Gleisstrecken platziert werden.

Editor Icon.png technik_wiki:brueckenbauer/v1erstellen.mcfunction
# Der Spieler erhält die benötigten Materialien, für den Bau der Brücken
give @p[distance=..10] minecraft:rail{display:{Lore:["Brückenbauer.1"] } } 64
give @p[distance=..10] minecraft:andesite{display:{Lore:["Brückenbauer.1"] } } 64
give @p[distance=..10] minecraft:stone{display:{Lore:["Brückenbauer.1"] } } 256

# Alle bisherigen Brückenbauer werden gelöscht, wenn ein neuer Brückenbauer erstellt wird
kill @e[distance=0.9..,tag=EtiBruB.1Alle]

# Rüstungsständer mit einem bestimmten Block im Kopfslot werden erstellt, um die Brücken-Blöcke anschaulich zu machen
summon minecraft:armor_stand ~ ~ ~ {Invisible:true,Small:true,NoGravity:true,Marker:true,Tags:["EtiBruB.1Alle","EtiBruB.1Gleis1","EtiBruB.1Gleis","EtiBruB.1EineSpur"],ArmorItems:[{},{},{},{id:"minecraft:rail",Count:1b}]}
summon minecraft:armor_stand ~ ~ ~ {Invisible:true,Small:true,NoGravity:true,Marker:true,Tags:["EtiBruB.1Alle","EtiBruB.1Gleisbett1","EtiBruB.1Gleisbett","EtiBruB.1EineSpur"],ArmorItems:[{},{},{},{id:"minecraft:andesite",Count:1b}]}
summon minecraft:armor_stand ~ ~ ~ {Invisible:true,Small:true,NoGravity:true,Marker:true,Tags:["EtiBruB.1Alle","EtiBruB.1Rechts1","EtiBruB.1Gleisspur","EtiBruB.1EineSpur"],ArmorItems:[{},{},{},{id:"minecraft:smooth_stone",Count:1b}]}
summon minecraft:armor_stand ~ ~ ~ {Invisible:true,Small:true,NoGravity:true,Marker:true,Tags:["EtiBruB.1Alle","EtiBruB.1Links1","EtiBruB.1Gleisspur","EtiBruB.1EineSpur"],ArmorItems:[{},{},{},{id:"minecraft:smooth_stone",Count:1b}]}

# Falls der Brückenbauer Zweigleisig ist, werden weitere Rüstungsständer mit entsprechenden Block im Kopfslot erstellt
execute if entity @s[tag=EtiBruB.1ZweiSpuren] run summon minecraft:armor_stand ~ ~ ~ {Invisible:true,Small:true,NoGravity:true,Marker:true,Tags:["EtiBruB.1Alle","EtiBruB.1Gleis2","EtiBruB.1Gleis"],ArmorItems:[{},{},{},{id:"minecraft:rail",Count:1b}]}
execute if entity @s[tag=EtiBruB.1ZweiSpuren] run summon minecraft:armor_stand ~ ~ ~ {Invisible:true,Small:true,NoGravity:true,Marker:true,Tags:["EtiBruB.1Alle","EtiBruB.1Gleisbett2","EtiBruB.1Gleisbett"],ArmorItems:[{},{},{},{id:"minecraft:andesite",Count:1b}]}
execute if entity @s[tag=EtiBruB.1ZweiSpuren] run summon minecraft:armor_stand ~ ~ ~ {Invisible:true,Small:true,NoGravity:true,Marker:true,Tags:["EtiBruB.1Alle","EtiBruB.1Rechts2","EtiBruB.1Gleisspur"],ArmorItems:[{},{},{},{id:"minecraft:smooth_stone",Count:1b}]}

# Zuletzt wird vom Gleisverleger die Richtung auf null gesetzt und das Etikett entfernt
scoreboard players set @s[tag=EtiBruB.1Erstellen] PZBruB.1Richt 0
tag @s remove EtiBruB.1Erstellen


Variante 1: Ausrichtung-Funktion
Die Ausrichtung-Funktion lässt den Brückenbauer in eine der vier Himmelsrichtungen blicken und positioniert die Rüstungsständer die die Blöcke visualisieren entsprechend und ermöglicht das Einstellen des Rasters, diagonal nach oben oder unten zu fahren und ob der Brückenbauer zweispurig sein soll.

Editor Icon.png technik_wiki:brueckenbauer/v1ausrichtung.mcfunction
# Der Brückenbauer schaut zum Spieler
teleport @s ~ ~ ~ facing entity @p feet

# Falls die Raster-Eigenschaft aktiviert ist, wird der Brückenbauer in eine der vier Himmelsrichtungen schauen
execute if entity @s[tag=!EtiBruB.1KeinRaster,y_rotation=135..-135] rotated 180 0 run teleport @s ~ ~ ~ 180 ~
execute if entity @s[tag=!EtiBruB.1KeinRaster,y_rotation=-135..-45] rotated -90 0 run teleport @s ~ ~ ~ -90 ~
execute if entity @s[tag=!EtiBruB.1KeinRaster,y_rotation=-45..45] rotated 0 0 run teleport @s ~ ~ ~ 0 ~
execute if entity @s[tag=!EtiBruB.1KeinRaster,y_rotation=45..135] rotated 90 0 run teleport @s ~ ~ ~ 90 ~

# Die Rüstungsständer mit entsprechenden Block im Kopfslot werden von dem Blickwinkel des Brückenbauers entsprechend ausgerichtet
teleport @e[type=minecraft:armor_stand,tag=EtiBruB.1Gleis1,sort=nearest,limit=1] ^ ^0.5 ^1 facing entity @p feet
teleport @e[type=minecraft:armor_stand,tag=EtiBruB.1Gleisbett1,sort=nearest,limit=1] ^ ^ ^1 facing entity @p feet
teleport @e[type=minecraft:armor_stand,tag=EtiBruB.1Rechts1,sort=nearest,limit=1] ^1 ^ ^1 facing entity @p feet
teleport @e[type=minecraft:armor_stand,tag=EtiBruB.1Links1,sort=nearest,limit=1] ^-1 ^ ^1 facing entity @p feet

# Falls der Brückenbauer für zwei Gleise aktiviert wurde, werden auch die weiteren Rüstungsständer anhand des Blickwinkels entsprechend positioniert
execute if entity @s[tag=EtiBruB.1ZweiSpuren] run teleport @e[type=minecraft:armor_stand,tag=EtiBruB.1Gleis2,sort=nearest,limit=1] ^-2 ^0.5 ^1 facing entity @p feet
execute if entity @s[tag=EtiBruB.1ZweiSpuren] run teleport @e[type=minecraft:armor_stand,tag=EtiBruB.1Gleisbett2,sort=nearest,limit=1] ^-2 ^ ^1 facing entity @p feet
execute if entity @s[tag=EtiBruB.1ZweiSpuren] run teleport @e[type=minecraft:armor_stand,tag=EtiBruB.1Rechts2,sort=nearest,limit=1] ^-3 ^ ^1 facing entity @p feet

# Wenn der Spieler eine Schiene vor den Brückenbauer wirft, wird diese gelöscht und der Brückenbauer wird für zwei Gleise aktiviert
execute if entity @p[distance=1.5..10] run tag @e[distance=..2,type=minecraft:item,tag=!EtiBruB.1ZweiSpuren,nbt={Item:{id:"minecraft:rail",Count:1b} } ] add EtiBruB.1ZweiSpuren
execute if entity @e[distance=..2,type=minecraft:item,tag=EtiBruB.1ZweiSpuren] run tag @s add EtiBruB.1Erstellen
execute if entity @e[distance=..2,type=minecraft:item,tag=EtiBruB.1ZweiSpuren] run tag @s add EtiBruB.1ZweiSpuren
execute if entity @e[distance=..2,type=minecraft:item,tag=EtiBruB.1ZweiSpuren] run tellraw @a[distance=..10] ["Brückenbauer.1: ",{"text":"Der Brückenbauer platziert nun zwei Gleisspuren","bold":true}]
kill @e[distance=..2,type=minecraft:item,tag=EtiBruB.1ZweiSpuren]

# Wenn der Spieler Stein vor den Brückenbauer wirft, so baut der Brückenbauer im weiteren Verlauf die Segmente nach unten
execute if entity @p[distance=1.5..10] run tag @e[distance=..2,type=minecraft:item,tag=!EtiBruB.1NachUnten,nbt={Item:{id:"minecraft:stone",Count:1b} } ] add EtiBruB.1NachUnten
execute if entity @e[distance=..2,type=minecraft:item,tag=EtiBruB.1NachUnten] run scoreboard players remove @s[scores={PZBruB.1Richt=-1..}] PZBruB.1Richt 1
execute if entity @s[scores={PZBruB.1Richt=-2}] if entity @e[distance=..2,type=minecraft:item,tag=EtiBruB.1NachUnten] run tellraw @a[distance=..10] ["Brückenbauer.1: ",{"text":"Der Brückenbauer bewegt sich nun je nach Gelände nach ","bold":true},{"text":"oben, vorwärts oder nach unten","color":"yellow","bold":true}]
execute if entity @s[scores={PZBruB.1Richt=-1}] if entity @e[distance=..2,type=minecraft:item,tag=EtiBruB.1NachUnten] run tellraw @a[distance=..10] ["Brückenbauer.1: ",{"text":"Der Brückenbauer bewegt sich nun nach ","bold":true},{"text":"unten","color":"gold","bold":true}]
execute if entity @s[scores={PZBruB.1Richt=0}] if entity @e[distance=..2,type=minecraft:item,tag=EtiBruB.1NachUnten] run tellraw @a[distance=..10] ["Brückenbauer.1: ",{"text":"Der Brückenbauer bewegt sich nun ","bold":true},{"text":"vorwärts","color":"green","bold":true}]
kill @e[distance=..2,type=minecraft:item,tag=EtiBruB.1NachUnten]

# Wirft der Spieler Andesit vor den Brückenbauer, so baut er weitere Segmente nach oben
execute if entity @p[distance=1.5..10] run tag @e[distance=..2,type=minecraft:item,tag=!EtiBruB.1NachOben,nbt={Item:{id:"minecraft:andesite",Count:1b} } ] add EtiBruB.1NachOben
execute if entity @e[distance=..2,type=minecraft:item,tag=EtiBruB.1NachOben] run scoreboard players add @s[scores={PZBruB.1Richt=..0}] PZBruB.1Richt 1
execute if entity @s[scores={PZBruB.1Richt=1}] if entity @e[distance=..2,type=minecraft:item,tag=EtiBruB.1NachOben] run tellraw @a[distance=..10] ["Brückenbauer.1: ",{"text":"Der Brückenbauer bewegt sich nun nach ","bold":true},{"text":"oben","color":"blue","bold":true}]
execute if entity @s[scores={PZBruB.1Richt=0}] if entity @e[distance=..2,type=minecraft:item,tag=EtiBruB.1NachOben] run tellraw @a[distance=..10] ["Brückenbauer.1: ",{"text":"Der Brückenbauer bewegt sich nun ","bold":true},{"text":"vorwärts","color":"green","bold":true}]
execute if entity @s[scores={PZBruB.1Richt=-1}] if entity @e[distance=..2,type=minecraft:item,tag=EtiBruB.1NachOben] run tellraw @a[distance=..10] ["Brückenbauer.1: ",{"text":"Der Brückenbauer bewegt sich nun nach ","bold":true},{"text":"unten","color":"gold","bold":true}]
kill @e[distance=..2,type=minecraft:item,tag=EtiBruB.1NachOben]

# Das Raster wird der Brückenbauer los, wenn man einen Rüstungsständer vor ihn wirft
execute if entity @p[distance=1.5..10] run tag @e[distance=..2,type=minecraft:item,tag=!EtiBruB.1KeinRaster,nbt={Item:{id:"minecraft:armor_stand",Count:1b} } ] add EtiBruB.1KeinRaster
execute if entity @e[distance=..2,type=minecraft:item,tag=EtiBruB.1KeinRaster] run tag @s add EtiBruB.1KeinRaster
execute if entity @e[distance=..2,type=minecraft:item,tag=EtiBruB.1KeinRaster] run tellraw @a[distance=..10] ["Brückenbauer.1: ",{"text":"Der Brückenbauer ist nicht mehr am Raster gebunden und kann nun auch diagonale Gleisspuren verlegen","bold":true}]
kill @e[distance=..2,type=minecraft:item,tag=EtiBruB.1KeinRaster]


Variante 1: Brücke-Funktion
Die Brücken-Funktion prüft ob der Spieler das benötigte Material bei sich trägt und nur dann wird die Brücken-Verlegen-1-Funktion geladen, ansonsten erhält der Spieler eine Fehlermeldung

Editor Icon.png technik_wiki:brueckenbauer/v1bruecke.mcfunction
# Um den Spieler einfacher erkennen zu können, wird ihm zeitweilig ein Etikett gegeben
tag @p[distance=..10,scores={PZBruB.1Schl=1..}] add EtiBruB.1Spieler

# Jedes Material des Spielers wird ausgelesen und in ein Punktestand-Ziel gespeichert
execute as @p[distance=..10,tag=EtiBruB.1Spieler] store result score @s PZBruB.1Gleis run clear @s minecraft:rail 0
execute as @p[distance=..10,tag=EtiBruB.1Spieler] store result score @s PZBruB.1Andes run clear @s minecraft:andesite 0
execute as @p[distance=..10,tag=EtiBruB.1Spieler] store result score @s PZBruB.1Stein run clear @s minecraft:stone 0

# Wenn die Anzahl der Materialien ausreichend ist, wird ihm die entsprechende Anzahl entfernt
clear @p[distance=..10,tag=EtiBruB.1Spieler,scores={PZBruB.1Gleis=2..,PZBruB.1Andes=2..,PZBruB.1Stein=10..}] minecraft:rail 1
clear @p[distance=..10,tag=EtiBruB.1Spieler,scores={PZBruB.1Gleis=2..,PZBruB.1Andes=2..,PZBruB.1Stein=10..}] minecraft:andesite 1
clear @p[distance=..10,tag=EtiBruB.1Spieler,scores={PZBruB.1Gleis=2..,PZBruB.1Andes=2..,PZBruB.1Stein=10..}] minecraft:stone 6

# Wenn der Brückenbauer für zwei Fahrspuren aktiviert wurde, werden weitere Materialien abgezogen
execute if entity @s[tag=EtiBruB.1ZweiSpuren] run clear @p[distance=..10,tag=EtiBruB.1Spieler,scores={PZBruB.1Gleis=2..,PZBruB.1Andes=2..,PZBruB.1Stein=10..}] minecraft:rail 1
execute if entity @s[tag=EtiBruB.1ZweiSpuren] run clear @p[distance=..10,tag=EtiBruB.1Spieler,scores={PZBruB.1Gleis=2..,PZBruB.1Andes=2..,PZBruB.1Stein=10..}] minecraft:stone 4

# Hat der Spieler genug Materialien bei sich gehabt, so wird die Funktion für das Brücken verlegen aufgerufen
execute if entity @p[tag=EtiBruB.1Spieler,scores={PZBruB.1Gleis=2..,PZBruB.1Andes=2..,PZBruB.1Stein=10..}] run function technik_wiki:brueckenbauer/v1bruecke_verlegen_1
execute as @p[distance=..10,tag=EtiBruB.1Spieler] unless entity @s[scores={PZBruB.1Gleis=2..,PZBruB.1Andes=2..,PZBruB.1Stein=10..}] run tellraw @s ["Brückenbauer.1 ",{"text":"Du hast zu wenig Blöcke bei dir!","bold":true}]

# Zu guter letzt wird das Etikett zur vereinfachten Erkennung des Spielers wieder entfernt
tag @p[distance=..10,tag=EtiBruB.1Spieler] remove EtiBruB.1Spieler


Variante 1: Brücke-Verlegen-1-Funktion
Die Brücken-Verlegen-1-Funktion platziert die Brückensegmente sowie im Meer die Glasfassade und ruft alle vierzehn Blöcke die Brücken-Verlegen-2-Funktion auf.

Editor Icon.png technik_wiki:brueckenbauer/v1bruecke_verlegen_1.mcfunction
# Die Brückensegmente, die Gleisfahrspur und das Gleisbett werden platziert. Zuvor wird, falls der Brückenbauer sich im Untergrund befindet, ein Luftraum erstellt und ggf. verglast, damit keine Flüssigkeiten eindringen
execute at @e[distance=..5,type=minecraft:armor_stand,tag=EtiBruB.1Gleisbett,sort=nearest,limit=2] align xyz positioned ~0.5 ~0.5 ~0.5 rotated ~ 0 run fill ^2 ^ ^1 ^-2 ^4 ^-4 minecraft:light_gray_stained_glass replace #technik_wiki:brueckenbauer/v1berg_und_meeres_bloecke
execute at @e[distance=..5,type=minecraft:armor_stand,tag=EtiBruB.1Gleisbett,sort=nearest,limit=2] align xyz positioned ~0.5 ~0.5 ~0.5 rotated ~ 0 run fill ^1 ^1 ^ ^-1 ^3 ^-1 minecraft:air replace
execute at @e[distance=..5,type=minecraft:armor_stand,tag=EtiBruB.1Gleisbett,sort=nearest,limit=2] rotated ~ 0 run fill ~ ~-1 ~ ~ ~-2 ~ minecraft:smooth_stone replace
execute at @e[distance=..5,type=minecraft:armor_stand,tag=EtiBruB.1Gleisbett,sort=nearest,limit=2] rotated ~ 0 run setblock ~ ~ ~ minecraft:andesite replace
execute at @e[distance=..5,type=minecraft:armor_stand,tag=EtiBruB.1Gleisspur,sort=nearest,limit=3] rotated ~ 0 run fill ~ ~ ~ ~ ~-1 ~ minecraft:smooth_stone replace
execute at @e[distance=..5,type=minecraft:armor_stand,tag=EtiBruB.1Gleis,sort=nearest,limit=2] rotated ~ 0 run setblock ~ ~1 ~ minecraft:rail replace

# Jeder Meter wird gezählt und wenn der Brückenbauer vierzehn Blöcke weit ist, wird die Funktion geladen. Falls der Brückenverleger in Richtung diagonal nach oben fährt, wird der Wert schon bei sechs Metern auf vierzehn gesetzt, damit ebenfalls die Funktion ausgeführt wird.
scoreboard players add @s PZBruB.1Schl 1
scoreboard players set @s[scores={PZBruB.1Richt=1,PZBruB.1Schl=6..}] PZBruB.1Schl 14
execute if entity @s[scores={PZBruB.1Schl=14..}] run function technik_wiki:brueckenbauer/v1bruecke_verlegen_2
scoreboard players set @s[scores={PZBruB.1Schl=14..}] PZBruB.1Schl 0

# Der Brückenbauer wird horizontal einen Block nach von vorne teleportiert
execute rotated ~ 0 run teleport @s ^ ^ ^1

# Falls der Brückenbauer die Richtungseinstellung -2 besitzt, dann wird er je nach Gelände entsprechend angepasst und teleportiert
execute at @s[scores={PZBruB.1Richt=-2}] rotated ~ 0 unless block ^ ^ ^1 minecraft:air unless block ^ ^ ^1 #minecraft:rails run teleport @s ~ ~1 ~
execute at @s[scores={PZBruB.1Richt=-2}] rotated ~ 0 if block ^ ^-1 ^1 minecraft:air run teleport @s ~ ~-1 ~
execute at @s[scores={PZBruB.1Richt=-2}] rotated ~ 0 if block ^ ^-1 ^-1 #minecraft:rails run teleport @s ~ ~-1 ~

# Falls der Brückenbauer nach unten oder nach oben fahren soll, wird er entsprechend neu positioniert
execute at @s[scores={PZBruB.1Richt=-1}] rotated ~ 0 run teleport @s ~ ~-1 ~
execute at @s[scores={PZBruB.1Richt=1}] rotated ~ 0 run teleport @s ~ ~1 ~


Variante 1: Brücke-Verlegen-2-Funktion
Die Brücken-Verlegen-2-Funktion platziert die Oberleitung und erzeugt einen Rüstungsständer für die Pfeiler-Funktion.

Editor Icon.png technik_wiki:brueckenbauer/v1bruecke_verlegen_2.mcfunction
# Die Oberleitung wird erstellt
setblock ^1 ^ ^-1 minecraft:stone_bricks replace
setblock ^1 ^1 ^-1 minecraft:spruce_fence replace
setblock ^1 ^2 ^-1 minecraft:spruce_planks replace
setblock ^ ^1 ^-1 minecraft:powered_rail replace

# Je nach Blickrichtung, wird die Redstone-Fackel entsprechend ausgerichtet platziert
execute if entity @s[y_rotation=135..-135] run setblock ^ ^2 ^-1 minecraft:redstone_wall_torch[facing=west] replace
execute if entity @s[y_rotation=-135..-45] run setblock ^ ^2 ^-1 minecraft:redstone_wall_torch[facing=north] replace
execute if entity @s[y_rotation=-45..45] run setblock ^ ^2 ^-1 minecraft:redstone_wall_torch[facing=east] replace
execute if entity @s[y_rotation=45..135] run setblock ^ ^2 ^-1 minecraft:redstone_wall_torch[facing=south] replace

# Falls der Brückenbauer für zwei Gleisspuren ausgelegt wurde, wird für das zweite Gleis ebenfalls eine Redstone-Fackel samt Antriebsschiene platziert
execute if entity @s[tag=EtiBruB.1ZweiSpuren] run setblock ^2 ^1 ^-1 minecraft:powered_rail replace
execute if entity @s[tag=EtiBruB.1ZweiSpuren,y_rotation=135..-135] run setblock ^2 ^2 ^-1 minecraft:redstone_wall_torch[facing=east] replace
execute if entity @s[tag=EtiBruB.1ZweiSpuren,y_rotation=-135..-45] run setblock ^2 ^2 ^-1 minecraft:redstone_wall_torch[facing=south] replace
execute if entity @s[tag=EtiBruB.1ZweiSpuren,y_rotation=-45..45] run setblock ^2 ^2 ^-1 minecraft:redstone_wall_torch[facing=west] replace
execute if entity @s[tag=EtiBruB.1ZweiSpuren,y_rotation=45..135] run setblock ^2 ^2 ^-1 minecraft:redstone_wall_torch[facing=north] replace

# Falls der Brückenbauer sich unterm Meer befindet, wurden Glasblöcke platziert. Manche davon werden nun durch Steinziegel ersetzt, um daraus einen Ring zu bilden, der die Glasfassade hält
execute at @e[distance=..5,type=minecraft:armor_stand,tag=EtiBruB.1Gleisbett,sort=nearest,limit=2] align xyz positioned ~0.5 ~0.5 ~0.5 rotated ~ 0 run fill ^2 ^ ^ ^-2 ^4 ^ minecraft:stone_bricks replace minecraft:light_gray_stained_glass

# Ein Rüstungsständer, der den Pfeiler konstruieren wird, wird platziert und falls der Brückenbauer zwei Spuren hat, wird der Pfeiler mittig zentriert
execute align y run summon minecraft:armor_stand ^ ^-2 ^-1 {Small:true,Invulnerable:true,NoGravity:true,Tags:["EtiBruB.1Alle","EtiBruB.1Pfeiler"]}
execute align y if entity @s[tag=EtiBruB.1ZweiSpuren] run teleport @e[type=minecraft:armor_stand,tag=EtiBruB.1Pfeiler] ^1 ^-2 ^-1


Variante 1: Pfeiler-Funktion
Die Pfeiler-Funktion wird jeden Tick von der Zyklus-Funktion aufgerufen, wenn ein Rüstungsständer mit entsprechenden Etikett existiert. Pfeiler werden damit Meter für Meter von der Brücke aus nach unten verlegt.

Editor Icon.png technik_wiki:brueckenbauer/v1pfeiler.mcfunction
# Pro Ebene wird ein 3x3 Bereich mit glatten Stein ausgefüllt. Falls der Pfeiler in eine Flüssigkeit eintaucht, wird der Sockel breiter
fill ~-1 ~ ~-1 ~1 ~1 ~1 minecraft:smooth_stone replace minecraft:air
teleport @s ~ ~-1 ~
execute if block ~ ~-1 ~ minecraft:water run fill ~-2 ~ ~-2 ~2 ~ ~2 minecraft:smooth_stone replace #technik_wiki:brueckenbauer/v1berg_und_meeres_bloecke
execute at @s unless block ~ ~ ~ minecraft:air unless block ~ ~ ~ #technik_wiki:brueckenbauer/v1berg_und_meeres_bloecke run fill ~-2 ~3 ~-2 ~2 ~-10 ~2 minecraft:smooth_stone replace #technik_wiki:brueckenbauer/v1berg_und_meeres_bloecke
execute at @s unless block ~ ~ ~ minecraft:air unless block ~ ~ ~ #technik_wiki:brueckenbauer/v1berg_und_meeres_bloecke run kill @s

Variante 1: Stopp-Funktion
Die Stopp-Funktion löscht alle Punktestand-Ziele und entfernt die Gegenstände sowie den Brückenbauer

Editor Icon.png technik_wiki:brueckenbauer/v1stopp.mcfunction
# Die Punktestand-Ziele werden gelöscht
scoreboard objectives remove PZBruB.1Schl
scoreboard objectives remove PZBruB.1Gleis
scoreboard objectives remove PZBruB.1Andes
scoreboard objectives remove PZBruB.1Stein
scoreboard objectives remove PZBruB.1Richt

# Alle Gegenstände für den Brückenbauer werden wieder entfernt
clear @a[distance=..25] minecraft:armor_stand{display:{Lore:["Brückenbauer.1"] } }
clear @a[distance=..25] minecraft:rail{display:{Lore:["Brückenbauer.1"] } }
clear @a[distance=..25] minecraft:stone{display:{Lore:["Brückenbauer.1"] } }
clear @a[distance=..25] minecraft:andesite{display:{Lore:["Brückenbauer.1"] } }

# Der Brückenbauer, wie auch Gegenstände die auf dem Boden liegen werden entfernt
kill @e[tag=EtiBruB.1Alle]
kill @e[type=minecraft:item,nbt={tag:{display:{Lore:["Brückenbauer.1"] } } } ]

Variante 2[Bearbeiten | Quelltext bearbeiten]

Gleisbrücken- und -tunnelbaumaschine (Befehle) Bild 1.1.png Gleisbrücken- und -tunnelbaumaschine (Befehle) Bild 1.2.png Gleisbrücken- und -tunnelbaumaschine (Befehle) Bild 1.3.png Gleisbrücken- und -tunnelbaumaschine (Befehle) Bild 1.4.png

Mit diesem Brückenbauer lassen sich per Hand und ohne Materialkosten Brücken errichten. Man erhält drei Rüstungsständer, diese platziert man um einen Teil der Brücke zu bauen. So kann man den Pfeilersockel, einen Teil des Pfeilers und die Gleisbrücke selbst damit platzieren. Je nach Blickrichtung wird die Gleisbrücke hierbei positioniert. Unebene Gelände können mit diesen Brücken ausgeglichen werden, jedoch sind keine Brückenrampen oder ähnliches möglich.

Einschalten

Wird der Hebel umgelegt, startet der Befehlsblock und führt die Start-Funktion einmal aus

Wiederholen

Der Wiederhol-Befehlsblock führt jeden Tick die Zyklus-Funktion aus

Ausschalten

Sobald der Hebel wieder in Ausgangsstellung zurück gelegt wurde, wird die Stopp-Funktion aktiviert


Befehlsblöcke mit Befehlen:



Variante 2: Start-Funktion
Die Start-Funktion gibt dem Spieler drei Rüstungsständer für das Bauen der Gleisbrücke

Editor Icon.png technik_wiki:brueckenbauer/v2start.mcfunction
# Dem Spieler werden drei Rüstungsständer gegeben die bestimmte Brückenbauteile erzeugen
give @a[distance=..25] minecraft:armor_stand{Brueckenbauer.2:true,display:{Name:"{\"text\":\"Brückenstrecke\"}"},EntityTag:{Tags:["EtiBruB.2Alle","EtiBruB.2Bauwerk","EtiBruB.2Brueckenstrecke"]} } 1
give @a[distance=..25] minecraft:armor_stand{Brueckenbauer.2:true,display:{Name:"{\"text\":\"Pfeilersockel\"}"},EntityTag:{Tags:["EtiBruB.2Alle","EtiBruB.2Bauwerk","EtiBruB.2Pfeilersockel"]} } 1
give @a[distance=..25] minecraft:armor_stand{Brueckenbauer.2:true,display:{Name:"{\"text\":\"Pfeiler\"}"},EntityTag:{Tags:["EtiBruB.2Alle","EtiBruB.2Bauwerk","EtiBruB.2Pfeiler"]} } 1


Variante 2: Zyklus-Funktion
Die Zyklus-Funktion prüft ob einer der drei Rüstungsständer platziert wurde und platziert dann einen Konstruktionsblock, der danach aktiviert wird und das Brückensegment lädt. Danach wird der Rüstungsständer gelöscht.

Editor Icon.png technik_wiki:brueckenbauer/v2zyklus.mcfunction
# Sobald der Rüstungsständer platziert ist, wird für diesen die entsprechende Funktion aufgerufen
execute as @e[type=minecraft:armor_stand,tag=EtiBruB.2Brueckenstrecke] at @s run function technik_wiki:brueckenbauer/v2bruecke

# Falls einer der entsprechenden Rüstungsständer platziert wird, wird ein Konstruktionsblock platziert, der später mit dem Redstone-Block die Konstruktion lädt
execute as @e[type=minecraft:armor_stand,tag=EtiBruB.2Pfeilersockel] at @s run setblock ~ ~ ~ minecraft:structure_block{rotation:"NONE",mode:"LOAD",posX:-1,posY:0,posZ:-1,name:"technik_wiki:brueckenbauer/v2pfeilersockel"} replace
execute as @e[type=minecraft:armor_stand,tag=EtiBruB.2Pfeiler] at @s run setblock ~ ~ ~ minecraft:structure_block{rotation:"NONE",mode:"LOAD",posX:-1,posY:0,posZ:-1,name:"technik_wiki:brueckenbauer/v2pfeiler"} replace

# Sobald einer der Rüstungsständer platziert wurde, wird ein Redstone-Block einen Block nebendran platziert um die Konstruktion zu laden
execute at @e[type=minecraft:armor_stand,tag=EtiBruB.2Bauwerk] run setblock ~ ~ ~1 minecraft:redstone_block replace

# Der platzierte Rüstungsständer wird anschließend gelöscht
kill @e[type=minecraft:armor_stand,tag=EtiBruB.2Bauwerk]


Variante 2: Brücke-Funktion
Die Brücken-Funktion platziert je nach Blickrichtung des Spielers das Brückensegment, indem ein Konstruktionsblock platziert wird.

Editor Icon.png technik_wiki:brueckenbauer/v2bruecke.mcfunction
# Je nach Blickwinkel des Spielers wird der entsprechende Konstruktionsblock platziert
execute as @p if entity @s[y_rotation=135..45] unless entity @s[y_rotation=-135..-45] run setblock ~ ~ ~ minecraft:structure_block{rotation:"NONE",mode:"LOAD",posX:-1,posY:0,posZ:-1,name:"technik_wiki:brueckenbauer/v2brueckenstrecke"} replace
execute as @p if entity @s[y_rotation=-135..135] unless entity @s[y_rotation=-45..45] run setblock ~ ~ ~ minecraft:structure_block{rotation:"CLOCKWISE_90",mode:"LOAD",posX:1,posY:0,posZ:-1,name:"technik_wiki:brueckenbauer/v2brueckenstrecke"} replace


Variante 2: Stopp-Funktion
Die Stopp-Funktion löscht alle Rüstungsständer im Inventar und auf dem Boden liegende

Editor Icon.png technik_wiki:brueckenbauer/v2stopp.mcfunction
# Löscht alle Gegenstände aus dem Inventar
clear @a[distance=..25] minecraft:armor_stand{Brueckenbauer.2:true}

# Gegenstände für den Brückenbauer erhalten das Etikett, welches im Anschluss auch für alle anderen Brückenbauer verwendet wird um sie zu löschen
tag @e[type=minecraft:item,nbt={Item:{tag:{Brueckenbauer.2:true} } }] add EtiBruB.2Alle
kill @e[tag=EtiBruB.2Alle]

Variante 3[Bearbeiten | Quelltext bearbeiten]

Gleisbrücken- und -tunnelbaumaschine (Befehle) Bild 3.1.png Gleisbrücken- und -tunnelbaumaschine (Befehle) Bild 3.2.png Gleisbrücken- und -tunnelbaumaschine (Befehle) Bild 3.3.png Gleisbrücken- und -tunnelbaumaschine (Befehle) Bild 3.4.png

Mit diesem Brückenbauer lassen sich Gleisbrücken, Gleistunnels und ebene Gleisstrecken für die Eisenbahn errichten. Das Material dafür muss man bei sich tragen und es sind keine Gleisrampen möglich. Man baut Meter für Meter durch das Schleichen in der Nähe des Brückenbauers.

Einschalten

Wird der Hebel umgelegt, startet der Befehlsblock und führt die Start-Funktion einmal aus

Wiederholen

Der Wiederhol-Befehlsblock führt jeden Tick die Zyklus-Funktion aus

Ausschalten

Sobald der Hebel wieder in Ausgangsstellung zurück gelegt wurde, wird die Stopp-Funktion aktiviert


Befehlsblöcke mit Befehlen:



Variante 3: Start-Funktion
Die Start-Funktion erstellt die Punktestand-Ziele für das Schleichen sowie alle benötigten Materialien. Außerdem wird dem Spieler ein Rüstungsständer gegeben der als Brückenbauer fungiert.

Editor Icon.png technik_wiki:brueckenbauer/v3start.mcfunction
# Die Punktestand-Ziele für das Schleichen wie auch für alle Materialien werden erstellt
scoreboard objectives add PZBruB.3Schl minecraft.custom:minecraft.sneak_time ["Brückenbauer.3: ",{"text":"Schleichzeit","bold":true}]
scoreboard objectives add PZBruB.3Schien dummy ["Brückenbauer.3: ",{"text":"Schienen für den Verleger","bold":true}]
scoreboard objectives add PZBruB.3Schwel dummy ["Brückenbauer.3: ",{"text":"Schwellen für den Verleger","bold":true}]
scoreboard objectives add PZBruB.3Stein dummy ["Brückenbauer.3: ",{"text":"Stein für den Verleger","bold":true}]
scoreboard objectives add PZBruB.3Andes dummy ["Brückenbauer.3: ",{"text":"Andesit für den Verleger","bold":true}]
scoreboard objectives add PZBruB.3Pfeil dummy ["Brückenbauer.3: ",{"text":"Pfeilblöcke für den Verleger","bold":true}]

# Der Rüstungsständer der als Brückenabuer verwendet werden kann wird den Spielern gegeben
give @a[distance=..25] minecraft:armor_stand{display:{Name:"{\"text\":\"Brückenbauer\"}",Lore:["Brückenbauer.3"]},EntityTag:{Invisible:true,Small:true,NoGravity:true,CustomNameVisible:true,CustomName:"{\"text\":\"Brückenbauer\"}",Tags:["EtiBruB.3Alle","EtiBruB.3Verleger","EtiBruB.3Erstellen"],ArmorItems:[{},{},{},{id:"minecraft:magenta_glazed_terracotta",Count:1b} ],Pose:{Head:[0.0f,0.0f,180.0f] } } } 1


Variante 3: Zyklus-Funktion
Die Zyklus-Funktion ruft Funktionen auf, für das Erstellen, für die Ausrichtung sowie für den Bau der Brücken samt Pfeiler. Wenn der Spieler geschlichen ist, wird seine Schleichzeit wieder zurückgesetzt.

Editor Icon.png technik_wiki:brueckenbauer/v3zyklus.mcfunction
# Wenn ein Rüstungsständer mit entsprechenden Etikett platziert wurde, wird für diesen die Erstellen-Funktion geladen
execute as @e[type=minecraft:armor_stand,tag=EtiBruB.3Erstellen] at @s run function technik_wiki:brueckenbauer/v3erstellen

# Wenn sich in einem Umkreis von maximal zehn Blöcken ein Spieler aufhält, wird die Ausrichtungs-Funktion geladen
execute as @e[type=minecraft:armor_stand,tag=EtiBruB.3Verleger] at @s if entity @p[distance=..10] rotated ~ 0 run function technik_wiki:brueckenbauer/v3ausrichtung

# Wenn der Spieler im Umkreis ist und auch dabei auf dem Boden schleicht, wird die Brücken-Funktion geladen
execute as @e[type=minecraft:armor_stand,tag=EtiBruB.3Verleger] at @s if entity @p[distance=..10,scores={PZBruB.3Schl=3..},nbt={OnGround:true}] rotated ~180 0 run function technik_wiki:brueckenbauer/v3bruecke

# Wenn beim Bau der Brücke ein Rüstungsständer mit dem Pfeiler-Etikett erschienen ist, wird dieser mit der Funktion den Pfeiler errichten
execute as @e[type=armor_stand,tag=EtiBruB.3Pfeiler] at @s run function technik_wiki:brueckenbauer/v3pfeiler

# Zuletzt werden alle Spieler, die mindestens drei Ticks lang geschlichen sind wieder zurück gesetzt
scoreboard players reset @a[scores={PZBruB.3Schl=3..}] PZBruB.3Schl


Variante 3: Erstellen-Funktion
Die Erstellen-Funktion gibt dem Spieler alle Materialien, entfernt alle anderen Brückenbauer und macht alle Blöcke die beim Bau platziert werden sichtbar durch Rüstungsständer die diese Blöcke im Kopfslot tragen.

Editor Icon.png technik_wiki:brueckenbauer/v3erstellen.mcfunction
# Dem Spieler werden alle Materialien gegeben die er für den Bau der Brücken und Tunnel benötigt
give @p[distance=..10] minecraft:stone_brick_stairs{display:{Lore:["Brückenbauer.3"]} } 128
give @p[distance=..10] minecraft:spruce_slab{display:{Lore:["Brückenbauer.3"]} } 192
give @p[distance=..10] minecraft:stone{display:{Lore:["Brückenbauer.3"]} } 896
give @p[distance=..10] minecraft:andesite{display:{Lore:["Brückenbauer.3"]} } 256
give @p[distance=..10] minecraft:magenta_glazed_terracotta{display:{Lore:["Brückenbauer.3"]} } 64

# Alle anderen Brückenbauer werden entfernt
kill @e[distance=0.9..,tag=EtiBruB.3Alle]

# Damit die Blöcke die der Brückenbauer platziert auch schon vorher zu erahnen sind, werden Rüstungsständer mit dem entsprechenden Block im Kopfslot gespawnt
summon minecraft:armor_stand ~ ~ ~ {Invisible:true,Small:true,NoGravity:true,Marker:true,Tags:["EtiBruB.3Alle","EtiBruB.3SchieneRechts","EtiBruB.3Gleis1","EtiBruB.3EineSpur"],ArmorItems:[{},{},{},{id:"minecraft:stone_brick_stairs",Count:1b}]}
summon minecraft:armor_stand ~ ~ ~ {Invisible:true,Small:true,NoGravity:true,Marker:true,Tags:["EtiBruB.3Alle","EtiBruB.3SchieneLinks","EtiBruB.3Gleis1","EtiBruB.3EineSpur"],ArmorItems:[{},{},{},{id:"minecraft:stone_brick_stairs",Count:1b}]}

summon minecraft:armor_stand ~ ~ ~ {Invisible:true,Small:true,NoGravity:true,Marker:true,Tags:["EtiBruB.3Alle","EtiBruB.3Rechts1","EtiBruB.3Gleisspur","EtiBruB.3EineSpur"],ArmorItems:[{},{},{},{id:"minecraft:smooth_stone",Count:1b}]}
summon minecraft:armor_stand ~ ~ ~ {Invisible:true,Small:true,NoGravity:true,Marker:true,Tags:["EtiBruB.3Alle","EtiBruB.3Links1","EtiBruB.3Gleisspur","EtiBruB.3EineSpur"],ArmorItems:[{},{},{},{id:"minecraft:smooth_stone",Count:1b}]}

summon minecraft:armor_stand ~ ~ ~ {Invisible:true,Small:true,NoGravity:true,Marker:true,Tags:["EtiBruB.3Alle","EtiBruB.3SchwelleRechts1","EtiBruB.3Schwelle","EtiBruB.3EineSpur"],ArmorItems:[{},{},{},{id:"minecraft:spruce_slab",Count:1b}]}
summon minecraft:armor_stand ~ ~ ~ {Invisible:true,Small:true,NoGravity:true,Marker:true,Tags:["EtiBruB.3Alle","EtiBruB.3SchwelleMitte1","EtiBruB.3Schwelle","EtiBruB.3EineSpur"],ArmorItems:[{},{},{},{id:"minecraft:spruce_slab",Count:1b}]}
summon minecraft:armor_stand ~ ~ ~ {Invisible:true,Small:true,NoGravity:true,Marker:true,Tags:["EtiBruB.3Alle","EtiBruB.3SchwelleLinks1","EtiBruB.3Schwelle","EtiBruB.3EineSpur"],ArmorItems:[{},{},{},{id:"minecraft:spruce_slab",Count:1b}]}

summon minecraft:armor_stand ~ ~ ~ {Invisible:true,Small:true,NoGravity:true,Marker:true,Tags:["EtiBruB.3Alle","EtiBruB.3Schotter1","EtiBruB.3Gleisbett1","EtiBruB.3EineSpur"],ArmorItems:[{},{},{},{id:"minecraft:andesite",Count:1b}]}
summon minecraft:armor_stand ~ ~ ~ {Invisible:true,Small:true,NoGravity:true,Marker:true,Tags:["EtiBruB.3Alle","EtiBruB.3Schotter2","EtiBruB.3Gleisbett1","EtiBruB.3EineSpur"],ArmorItems:[{},{},{},{id:"minecraft:andesite",Count:1b}]}
summon minecraft:armor_stand ~ ~ ~ {Invisible:true,Small:true,NoGravity:true,Marker:true,Tags:["EtiBruB.3Alle","EtiBruB.3Schotter3","EtiBruB.3Gleisbett1","EtiBruB.3EineSpur"],ArmorItems:[{},{},{},{id:"minecraft:andesite",Count:1b}]}
summon minecraft:armor_stand ~ ~ ~ {Invisible:true,Small:true,NoGravity:true,Marker:true,Tags:["EtiBruB.3Alle","EtiBruB.3Schotter4","EtiBruB.3Gleisbett1","EtiBruB.3EineSpur"],ArmorItems:[{},{},{},{id:"minecraft:andesite",Count:1b}]}

# Damit diese Funktion nicht erneut aufgerufen wird, wird das Etikett entfernt
tag @s remove EtiBruB.3Erstellen


Variante 3: Ausrichtung-Funktion
Die Ausrichtung-Funktion lässt den Brückenbauer in exakt eine der vier Himmelsrichtungen blicken und positioniert die Rüstungsständer mit den Blöcken im Kopfslot entsprechend.

Editor Icon.png technik_wiki:brueckenbauer/v3ausrichtung.mcfunction
# Der Brückenbauer schaut immer zum Spieler
teleport @s ~ ~ ~ facing entity @p feet

# Anschließend wird er dann auf eine der vier Himmelsrichtungen ausgerichtet
execute if entity @s[y_rotation=135..-135] rotated 180 0 run teleport @s ~ ~ ~ 180 ~
execute if entity @s[y_rotation=-135..-45] rotated -90 0 run teleport @s ~ ~ ~ -90 ~
execute if entity @s[y_rotation=-45..45] rotated 0 0 run teleport @s ~ ~ ~ 0 ~
execute if entity @s[y_rotation=45..135] rotated 90 0 run teleport @s ~ ~ ~ 90 ~

# Alle Rüstungsständer mit dem entsprechenden Block im Kopfslot werden so ausgerichtet und positioniert, dass sie die mögliche Gleisspur anzeigen
teleport @e[type=minecraft:armor_stand,tag=EtiBruB.3SchieneRechts,sort=nearest,limit=1] ^1 ^0.5 ^1 facing entity @p feet
teleport @e[type=minecraft:armor_stand,tag=EtiBruB.3SchieneLinks,sort=nearest,limit=1] ^-1 ^0.5 ^1 facing entity @p feet

teleport @e[type=minecraft:armor_stand,tag=EtiBruB.3Rechts1,sort=nearest,limit=1] ^3 ^ ^1 facing entity @p feet
teleport @e[type=minecraft:armor_stand,tag=EtiBruB.3Links1,sort=nearest,limit=1] ^-3 ^ ^1 facing entity @p feet

teleport @e[type=minecraft:armor_stand,tag=EtiBruB.3SchwelleRechts1,sort=nearest,limit=1] ^2 ^0.5 ^1 facing entity @p feet
teleport @e[type=minecraft:armor_stand,tag=EtiBruB.3SchwelleMitte1,sort=nearest,limit=1] ^ ^0.5 ^1 facing entity @p feet
teleport @e[type=minecraft:armor_stand,tag=EtiBruB.3SchwelleLinks1,sort=nearest,limit=1] ^-2 ^0.5 ^1 facing entity @p feet

teleport @e[type=minecraft:armor_stand,tag=EtiBruB.3Schotter1,sort=nearest,limit=1] ^2 ^ ^1 facing entity @p feet
teleport @e[type=minecraft:armor_stand,tag=EtiBruB.3Schotter2,sort=nearest,limit=1] ^1 ^ ^1 facing entity @p feet
teleport @e[type=minecraft:armor_stand,tag=EtiBruB.3Schotter3,sort=nearest,limit=1] ^-1 ^ ^1 facing entity @p feet
teleport @e[type=minecraft:armor_stand,tag=EtiBruB.3Schotter4,sort=nearest,limit=1] ^-2 ^ ^1 facing entity @p feet


Variante 3: Brücke-Funktion
Die Brücken-Funktion liest die vorhandenen Materialien des Spielers aus und lädt dann die Brücke-Verlegen-1-Funktion, wenn er genug bei sich trägt, ansonsten wird ihm eine Fehlermeldung ausgegeben

Editor Icon.png technik_wiki:brueckenbauer/v3bruecke.mcfunction
# Damit der Spieler einfacher zu selektieren ist, wird im ein Etikett gegeben
tag @p[distance=..10,scores={PZBruB.3Schl=1..}] add EtiBruB.3Spieler

# Die aktuelle Anzahl der Materialien die der Spieler bei sich trägt wird ausgelesen und in seinem Punktestand gespeichert
execute as @p[distance=..10,tag=EtiBruB.3Spieler] store result score @s PZBruB.3Schien run clear @s minecraft:stone_brick_stairs 0
execute as @p[distance=..10,tag=EtiBruB.3Spieler] store result score @s PZBruB.3Schwel run clear @s minecraft:spruce_slab 0
execute as @p[distance=..10,tag=EtiBruB.3Spieler] store result score @s PZBruB.3Stein run clear @s minecraft:stone 0
execute as @p[distance=..10,tag=EtiBruB.3Spieler] store result score @s PZBruB.3Andes run clear @s minecraft:andesite 0
execute as @p[distance=..10,tag=EtiBruB.3Spieler] store result score @s PZBruB.3Pfeil run clear @s minecraft:magenta_glazed_terracotta 0

# Wenn der Spieler genug von allen Materielien bei sich trug, werden ihm die benötigten Güter entfernt
clear @p[distance=..10,tag=EtiBruB.3Spieler,scores={PZBruB.3Schien=2..,PZBruB.3Schwel=3..,PZBruB.3Stein=14..,PZBruB.3Andes=4..,PZBruB.3Pfeil=1..}] minecraft:stone_brick_stairs 2
clear @p[distance=..10,tag=EtiBruB.3Spieler,scores={PZBruB.3Schien=2..,PZBruB.3Schwel=3..,PZBruB.3Stein=14..,PZBruB.3Andes=4..,PZBruB.3Pfeil=1..}] minecraft:spruce_slab 3
clear @p[distance=..10,tag=EtiBruB.3Spieler,scores={PZBruB.3Schien=2..,PZBruB.3Schwel=3..,PZBruB.3Stein=14..,PZBruB.3Andes=4..,PZBruB.3Pfeil=1..}] minecraft:stone 14
clear @p[distance=..10,tag=EtiBruB.3Spieler,scores={PZBruB.3Schien=2..,PZBruB.3Schwel=3..,PZBruB.3Stein=14..,PZBruB.3Andes=4..,PZBruB.3Pfeil=1..}] minecraft:andesite 4
clear @p[distance=..10,tag=EtiBruB.3Spieler,scores={PZBruB.3Schien=2..,PZBruB.3Schwel=3..,PZBruB.3Stein=14..,PZBruB.3Andes=4..,PZBruB.3Pfeil=1..}] minecraft:magenta_glazed_terracotta 1

# Wenn er genug Material bei sich trug, wird die Funktion für das Brücken verlegen aufgerufen, ansonsten erhält der Spieler eine Fehlermeldung
execute if entity @p[tag=EtiBruB.3Spieler,scores={PZBruB.3Schien=2..,PZBruB.3Schwel=3..,PZBruB.3Stein=14..,PZBruB.3Andes=4..,PZBruB.3Pfeil=1..}] run function technik_wiki:brueckenbauer/v3bruecke_verlegen_1
execute as @p[distance=..10,tag=EtiBruB.3Spieler] unless entity @s[scores={PZBruB.3Schien=2..,PZBruB.3Schwel=3..,PZBruB.3Stein=14..,PZBruB.3Andes=4..,PZBruB.3Pfeil=1..}] run tellraw @s ["Brückenbauer.3 ",{"text":"Du hast zu wenig Blöcke bei dir!","bold":true}]

# Das Etikett wird anschließend wieder entfernt
tag @p[distance=..10,tag=EtiBruB.3Spieler] remove EtiBruB.3Spieler


Variante 3: Brücke-Verlegen-1-Funktion
Die Brücken-Verlegen-1-Funktion platziert die Gleisstrecke Meter für Meter und ggf. auch eine Glasfassade unter dem Meer und ruft alle vierzehn Meter die Brücken-Verlegen-2-Funktion auf.

Editor Icon.png technik_wiki:brueckenbauer/v3bruecke_verlegen_1.mcfunction
# Die Blöcke für das Gleisbett und die Brücke werden platziert, zuvor wird noch ein Hohlraum mit Verglasung erzeugt, falls man sich im Meer oder in einer Höhle befindet
execute rotated ~ 0 run fill ^4 ^ ^1 ^-4 ^11 ^-1 minecraft:light_gray_stained_glass replace #technik_wiki:brueckenbauer/v3berg_und_meeres_bloecke
execute rotated ~ 0 run fill ^3 ^1 ^-1 ^-3 ^10 ^-1 minecraft:air replace
execute rotated ~ 0 run fill ^3 ^-2 ^-1 ^-3 ^ ^-1 minecraft:smooth_stone replace
execute rotated ~ 0 run setblock ^3 ^-2 ^-1 minecraft:air replace
execute rotated ~ 0 run setblock ^-3 ^-2 ^-1 minecraft:air replace
execute at @e[distance=..5,type=minecraft:armor_stand,tag=EtiBruB.3Gleisbett1,sort=nearest,limit=4] rotated ~ 0 rotated ~ 0 run setblock ~ ~ ~ minecraft:andesite replace

# Je nach Blickrichtung des Brückenbauers werden die Gleise entsprechend ausgerichtet platziert
execute if entity @s[y_rotation=135..-135] rotated 180 0 run setblock ^1 ^1 ^1 minecraft:stone_brick_stairs[facing=west] replace
execute if entity @s[y_rotation=135..-135] rotated 180 0 run setblock ^-1 ^1 ^1 minecraft:stone_brick_stairs[facing=east] replace
execute if entity @s[y_rotation=-135..-45] rotated -90 0 run setblock ^1 ^1 ^1 minecraft:stone_brick_stairs[facing=north] replace
execute if entity @s[y_rotation=-135..-45] rotated -90 0 run setblock ^-1 ^1 ^1 minecraft:stone_brick_stairs[facing=south] replace
execute if entity @s[y_rotation=-45..45] rotated 0 0 run setblock ^1 ^1 ^1 minecraft:stone_brick_stairs[facing=east] replace
execute if entity @s[y_rotation=-45..45] rotated 0 0 run setblock ^-1 ^1 ^1 minecraft:stone_brick_stairs[facing=west] replace
execute if entity @s[y_rotation=45..135] rotated 90 0 run setblock ^1 ^1 ^1 minecraft:stone_brick_stairs[facing=south] replace
execute if entity @s[y_rotation=45..135] rotated 90 0 run setblock ^-1 ^1 ^1 minecraft:stone_brick_stairs[facing=north] replace

# In dem Gleisbett wird glasierte Keramik eingebettet die mit ihrem Pfeil die Richtung des Gleises anzeigen wird
execute if entity @s[y_rotation=135..-135] rotated 180 0 run setblock ^ ^ ^1 minecraft:magenta_glazed_terracotta[facing=north] replace
execute if entity @s[y_rotation=-135..-45] rotated -90 0 run setblock ^ ^ ^1 minecraft:magenta_glazed_terracotta[facing=east] replace
execute if entity @s[y_rotation=-45..45] rotated 0 0 run setblock ^ ^ ^1 minecraft:magenta_glazed_terracotta[facing=south] replace
execute if entity @s[y_rotation=45..135] rotated 90 0 run setblock ^ ^ ^1 minecraft:magenta_glazed_terracotta[facing=west] replace

# Alle zwei Blöcke wird eine Schwelle platziert und dazu wird der Zähler immer bis zwei hochgezählt
scoreboard players add @s PZBruB.3Schl 1
execute if entity @s[scores={PZBruB.3Schl=2..}] at @e[distance=..5,type=minecraft:armor_stand,tag=EtiBruB.3Schwelle,sort=nearest,limit=3] rotated ~ 0 run setblock ~ ~1 ~ minecraft:spruce_slab replace
scoreboard players set @s[scores={PZBruB.3Schl=2..}] PZBruB.3Schl 0

# Alle vierzehn Blöcke wird ein Oberleitungsmast durch die geladene Funktion platziert, dazu wird ein Zähler bis vierzehn hochzählen
scoreboard players add @s PZBruB.3Pfeil 1
execute if entity @s[scores={PZBruB.3Pfeil=14..}] run function technik_wiki:brueckenbauer/v3bruecke_verlegen_2
scoreboard players set @s[scores={PZBruB.3Pfeil=14..}] PZBruB.3Pfeil 0

# Anschließend wird der Brückenverleger exakt geradeaus von seiner Blickrichtung nach vorne teleportiert
execute if entity @s[y_rotation=135..-135] rotated 180 0 run teleport @s ^ ^ ^-1
execute if entity @s[y_rotation=-135..-45] rotated -90 0 run teleport @s ^ ^ ^-1
execute if entity @s[y_rotation=-45..45] rotated 0 0 run teleport @s ^ ^ ^-1
execute if entity @s[y_rotation=45..135] rotated 90 0 run teleport @s ^ ^ ^-1


Variante 3: Brücke-Verlegen-2-Funktion
Die Brücken-Verlegen-2-Funktion platziert den Oberleitungsmasten und erzeugt einen Rüstungsständer für die Pfeiler

Editor Icon.png technik_wiki:brueckenbauer/v3bruecke_verlegen_2.mcfunction
# Der Oberleitungsmast wird platziert
fill ^3 ^ ^-1 ^3 ^ ^-3 minecraft:stone_bricks replace
fill ^3 ^1 ^-2 ^3 ^4 ^-2 minecraft:cobblestone_wall replace
fill ^3 ^5 ^-2 ^3 ^6 ^-2 minecraft:spruce_fence replace
fill ^3 ^7 ^-2 ^3 ^10 ^-2 minecraft:cobblestone_wall replace

# Ganz oben beim Masten werden je nach Blickrichtung die Isolatoren platziert
execute if entity @s[y_rotation=135..-135] run fill ^2 ^10 ^-2 ^ ^10 ^-2 minecraft:spruce_fence_gate[facing=north] replace
execute if entity @s[y_rotation=-135..-45] run fill ^2 ^10 ^-2 ^ ^10 ^-2 minecraft:spruce_fence_gate[facing=east] replace
execute if entity @s[y_rotation=-45..45] run fill ^2 ^10 ^-2 ^ ^10 ^-2 minecraft:spruce_fence_gate[facing=south] replace
execute if entity @s[y_rotation=45..135] run fill ^2 ^10 ^-2 ^ ^10 ^-2 minecraft:spruce_fence_gate[facing=west] replace

# Dort wo der Oberleitungsmast platziert wird, werden die glatten Steine durch Steinziegel ersetzt
execute rotated ~ 0 run fill ^4 ^ ^-2 ^-4 ^11 ^-2 minecraft:stone_bricks replace minecraft:light_gray_stained_glass

# Als letztes wird ein Rüstungsständer platziert, der die Pfeiler erzeugt
execute align y run summon minecraft:armor_stand ^ ^-2 ^-2 {Small:true,Invulnerable:true,NoGravity:true,Tags:["EtiBruB.3Alle","EtiBruB.3Pfeiler"]}


Variante 3: Pfeiler-Funktion
Die Pfeiler-Funktion wird durch die Zyklus-Funktion jeden Tick aktiviert und platziert Meter für Meter nach unten den Pfeiler. Bei Flüssigkeitskontakt wird der Pfeiler breiter.

Editor Icon.png technik_wiki:brueckenbauer/v3pfeiler.mcfunction
# In einer Ebene wird ein Teil des Pfeilers platziert, solange der Rüstungsständer nicht auf den Boden angekommen ist
fill ~-1 ~ ~-1 ~1 ~1 ~1 minecraft:smooth_stone replace minecraft:air
teleport @s ~ ~-1 ~
execute if block ~ ~-1 ~ minecraft:water run fill ~-2 ~ ~-2 ~2 ~ ~2 minecraft:smooth_stone replace #technik_wiki:brueckenbauer/v3berg_und_meeres_bloecke
execute at @s unless block ~ ~ ~ minecraft:air unless block ~ ~ ~ #technik_wiki:brueckenbauer/v3berg_und_meeres_bloecke run fill ~-2 ~3 ~-2 ~2 ~-10 ~2 minecraft:smooth_stone replace #technik_wiki:brueckenbauer/v3berg_und_meeres_bloecke
execute at @s unless block ~ ~ ~ minecraft:air unless block ~ ~ ~ #technik_wiki:brueckenbauer/v3berg_und_meeres_bloecke run kill @s

Variante 3: Stopp-Funktion
Die Stopp-Funktion löscht alle Punktestand-Ziele, löscht alle Gegenstände und löscht alle Brückenbauer.

Editor Icon.png technik_wiki:brueckenbauer/v3stopp.mcfunction
# Alle Punktestand-Ziele werden gelöscht
scoreboard objectives remove PZBruB.3Schl
scoreboard objectives remove PZBruB.3Schien
scoreboard objectives remove PZBruB.3Schwel
scoreboard objectives remove PZBruB.3Stein
scoreboard objectives remove PZBruB.3Andes
scoreboard objectives remove PZBruB.3Pfeil

# alle Gegenstände für den Brückenbauer werden gelöscht
clear @a[distance=..25] minecraft:armor_stand{display:{Lore:["Brückenbauer.3"] } }
clear @a[distance=..25] minecraft:stone_brick_stairs{display:{Lore:["Brückenbauer.3"] } }
clear @a[distance=..25] minecraft:spruce_slab{display:{Lore:["Brückenbauer.3"] } }
clear @a[distance=..25] minecraft:andesite{display:{Lore:["Brückenbauer.3"] } }
clear @a[distance=..25] minecraft:magenta_glazed_terracotta{display:{Lore:["Brückenbauer.3"]} }

# Gegenstände die gedroppt wurden und der Brückenbauer selbst werden entfernt
kill @e[tag=EtiBruB.3Alle]
kill @e[type=minecraft:item,nbt={tag:{display:{Lore:["Brückenbauer.3"]} } }]


Disambig color.svg