Gleisbrücken- und -tunnelbaumaschine (Befehle)
Gruppe: ![]() Schienenverkehrsanlagen |
![]() |
![]() |
Hier:![]() |
Verfügbar in:![]() |
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.
Inhaltsverzeichnis
Variante 1[Bearbeiten | Quelltext bearbeiten]
![]() | ||
---|---|---|
|
![]() | |
---|---|
|
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
- Befehl 1.1 Die Funktion technik_wiki:brueckenbauer/v1start wird aktiviert
- Wiederholen
Der Wiederhol-Befehlsblock führt jeden Tick die Zyklus-Funktion aus
- Befehl 1.2 die Funktion technik_wiki:brueckenbauer/v1zyklus wird jeden Tick erneut ausgeführt.
- Ausschalten
Sobald der Hebel wieder in Ausgangsstellung zurück gelegt wurde, wird die Stopp-Funktion aktiviert
- Befehl 1.3 Die Funktion technik_wiki:brueckenbauer/v1stopp wird einmal ausgeführt
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
![]() 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.
![]() 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.
![]() 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.
![]() 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
![]() 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.
![]() 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.
![]() 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.
![]() 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 |
![]() technik_wiki:brueckenbauer/v1berg_und_meeres_bloecke.json
|
{ "values": [ "minecraft:cave_air", "#minecraft:underwater_bonemeals", "minecraft:tall_seagrass", "minecraft:kelp", "minecraft:kelp_plant", "minecraft:bubble_column", "minecraft:water", "minecraft:lava", "minecraft:sand", "minecraft:red_sand", "minecraft:gravel", "minecraft:sand" ] } |
Variante 1: Stopp-Funktion
Die Stopp-Funktion löscht alle Punktestand-Ziele und entfernt die Gegenstände sowie den Brückenbauer
![]() 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]
![]() | ||
---|---|---|
|
![]() | |
---|---|
|
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
- Befehl 2.1 Die Funktion technik_wiki:brueckenbauer/v2start wird aktiviert
- Wiederholen
Der Wiederhol-Befehlsblock führt jeden Tick die Zyklus-Funktion aus
- Befehl 2.2 die Funktion technik_wiki:brueckenbauer/v2zyklus wird jeden Tick erneut ausgeführt.
- Ausschalten
Sobald der Hebel wieder in Ausgangsstellung zurück gelegt wurde, wird die Stopp-Funktion aktiviert
- Befehl 2.3 Die Funktion technik_wiki:brueckenbauer/v2stopp wird einmal ausgeführt
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
![]() 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.
![]() 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.
![]() 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
![]() 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]
![]() | ||
---|---|---|
|
![]() | |
---|---|
|
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
- Befehl 3.1 Die Funktion technik_wiki:brueckenbauer/v3start wird aktiviert
- Wiederholen
Der Wiederhol-Befehlsblock führt jeden Tick die Zyklus-Funktion aus
- Befehl 3.2 die Funktion technik_wiki:brueckenbauer/v3zyklus wird jeden Tick erneut ausgeführt.
- Ausschalten
Sobald der Hebel wieder in Ausgangsstellung zurück gelegt wurde, wird die Stopp-Funktion aktiviert
- Befehl 3.3 Die Funktion technik_wiki:brueckenbauer/v3stopp wird einmal ausgeführt
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.
![]() 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.
![]() 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.
![]() 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.
![]() 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
![]() 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.
![]() 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
![]() 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.
![]() 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 |
![]() technik_wiki:brueckenbauer/v3berg_und_meeres_bloecke.json
|
{ "values": [ "minecraft:cave_air", "#minecraft:underwater_bonemeals", "minecraft:tall_seagrass", "minecraft:kelp", "minecraft:kelp_plant", "minecraft:bubble_column", "minecraft:water", "minecraft:lava", "minecraft:sand", "minecraft:red_sand", "minecraft:gravel", "minecraft:sand" ] } |
Variante 3: Stopp-Funktion
Die Stopp-Funktion löscht alle Punktestand-Ziele, löscht alle Gegenstände und löscht alle Brückenbauer.
![]() 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"]} } }] |
|
![]() |
|
---|
![]() |
|
---|