Technik Wiki
Advertisement
Gruppe: Grid Schiene
Schienenverkehrsanlagen

Grid Roter Sand blass mit Mechaniken

Grid Redstone mit Redstone
                Hier:
Grid Befehlsblock mit Befehlen
Verfügbar in:
Wiki Schienen-Welt Schienen-Welt
Wiki Schienen-Welt
Überarbeitete oder neue Varianten dieser Technik existieren bereits in der aktuellen Schienen-Welt.
Hier fehlt noch die Dokumentation dieser Varianten, diese müssen noch nachgetragen werden.

Das Schnellgleis gibt die Möglichkeit, schneller mit einer Lore über Schienen zu fahren, als es eigentlich technisch von Minecraft her möglich ist. Man kann Loren auf zwei Arten ohne eigenen Kontakt beschleunigen, zum einen mit dem Befehl /data merge entity und zum anderen mit dem Befehl /tp. Beides hat seine Vor- und Nachteile. Diese Antriebstechniken kommen auch beim Lorenaufzug zum Einsatz. Allerdings werden beim Schnellgleis beide Befehle kombiniert, wodurch ihre Nachteile gegenseitig aufgehoben werden.

So werden die Loren beim Schnellgleis stark beschleunigt und teleportiert, dadurch nimmt man keine ruckartigen Bewegungen wahr (tp) und ist nicht an die Maximalgeschwindigkeit gebunden (data). Je nachdem wo man solche Antriebe aufbaut, kann es sinnvoll sein, sie entweder an Ort und Stelle wo sich auch die Strecke befindet zu betreiben, oder sie zentral und weit ab von der eigentlichen Strecke von einem Punkt aus zu steuern. Die Erfassung der Loren erfolgt entweder durch den Ort, das heißt, nur Loren die sich in einem bestimmten Bereich aufhalten, werden beschleunigt, oder durch deren Bezeichnung. So werden alle Loren, die beispielsweise Osten heißen, Richtung Osten beschleunigt.

Variante 1

Schnellgleis (Befehle) Bild 1.1 Schnellgleis (Befehle) Bild 1.2

Das Schnellgleis besteht aus einem Wiederhol-Befehlsblock, der mit weiteren Ketten-Befehlsblöcken verbunden ist. Pro Streckenabschnitt, der kerzengerade verläuft, benötigt man drei grundlegende Befehle. In diesem Beispiel sorgen die zwei Befehlsblöcke mit dem BefehlBefehl 1.1 und dem BefehlBefehl 1.2 dafür, dass die Loren, die sich auf der Strecke Richtung Osten befinden, rasant Richtung Osten sausen unter der Bedingung, das ein Spieler in der Lore sitzt. Sonst wird die Lore nur sehr gering beschleunigt, mit dem BefehlBefehl 1.3. Die Befehle sorgen dann dafür, dass man den anderen Ort sehr schnell erreicht. Für die Rückstrecke werden ebenfalls aktiv zwei Befehle benötigt. Der BefehlBefehl 1.4 und der BefehlBefehl 1.5 sorgen dafür, dass die Lore von Osten aus nach Westen beschleunigt wird. Auch nach Westen wird die Lore, wenn sie nicht besetzt ist, nur ganz schwach beschleunigt, mit dem BefehlBefehl 1.6. Hierbei fährt die Lore nur in diese beiden Richtungen, weshalb man insgesamt sechs Befehlsblöcke benötigt. Würde man mehrere Streckenabschnitte bauen wollen, müsste man für jeden Abschnitt sechs weitere Befehlsblöcke aufstellen. Damit man das jedoch umgehen kann, wird in der nächsten Variante gezeigt, wie man zentral alle Loren auf einer Welt mit nur wenigen Befehlsblöcken ansteuern kann. Bei der Strecke, die man hier im Beispiel sieht, handelt es sich um eine 200 Meter lange Strecke von ganz links bis ganz rechts.


Befehlsblöcke mit Befehlen:
execute at @p[x=-85,y=27,z=328,dx=200,dy=0,dz=0] as @e[distance=..1,type=minecraft:minecart] at @s if block ~1 ~ ~ #minecraft:rails run teleport @s ~2 ~ ~
execute at @p[x=-85,y=27,z=328,dx=200,dy=0,dz=0] as @e[distance=..1,type=minecraft:minecart] at @s if block ~1 ~ ~ #minecraft:rails run data merge entity @s {Motion:[10.0d,0.0d,0.0d]}
execute as @e[type=minecraft:minecart,x=-85,y=27,z=328,dx=200,dy=0,dz=0] at @s if block ~1 ~ ~ #minecraft:rails run data merge entity @s {Motion:[0.2d,0.0d,0.0d]}
execute at @p[x=-85,y=27,z=326,dx=200,dy=0,dz=0] as @e[distance=..1,type=minecraft:minecart] at @s if block ~-1 ~ ~ #minecraft:rails run teleport @s ~-2 ~ ~
execute at @p[x=-85,y=27,z=326,dx=200,dy=0,dz=0] as @e[distance=..1,type=minecraft:minecart] at @s if block ~-1 ~ ~ #minecraft:rails run data merge entity @s {Motion:[-10.0d,0.0d,0.0d]}
execute as @e[type=minecart,x=-85,y=27,z=326,dy=0,dz=0] at @s if block ~-1 ~ ~ #minecraft:rails run data merge entity @s {Motion:[-0.2d,0.0d,0.0d]}

Variante 2

Schnellgleis (Befehle) Bild 2.1 Schnellgleis (Befehle) Bild 2.2

Bei dieser Variante wird dafür gesorgt, dass man sich komplett von den absoluten Koordinaten lösen kann. Dazu wird zuerst eine ganze Reihe an Rüstungsständern entlang der Strecke gespawnt, die nun den Bezug zur Strecke übernehmen und die Loren beschleunigen. Dazu betätigt man den Knopf auf dem Goldblock, dieser löst zum einen den Befehlsblock mit dem BefehlBefehl 2.1 aus, der einen kleinen Rüstungsständer mit dem Namen "Verteiler1" spawnt. Zum anderen wird ein Wiederhol-Befehlsblock aktiviert mit dem BefehlBefehl 2.2 der an jede Stelle wo der erste Rüstungsständer hin teleportiert wird einen neuen Rüstungsständer mit dem Namen "Antrieb1" spawnt. Der Ketten-Befehlsblock teleportiert den Rüstungsständer immer 10 Blöcke weiter Befehl 2.3. Nun kann die eigentliche Anlage gestartet werden: Der Hebel wird umgelegt und startet so den Wiederhol-Befehlsblock mit dem BefehlBefehl 2.4, der dafür sorgt, dass nur in der Nähe des Rüstungsständer die Loren angetrieben werden, aber das auch nur wenn der Spieler sich in der Lore befindet und diese auf der Schiene. Das gleiche wird auch bei dem angeschlossenen Ketten-Befehlsblock geprüft, nur dass hier die Lore durch den data-Befehl beschleunigt wird und der Spieler nicht drin sitzen mussBefehl 2.5. Damit die Lore maximal beschleunigt wird, muss sich jedoch der Spieler in der Lore befinden, dazu wird ein dritter Ketten-Befehlsblock aktiviert: Der BefehlBefehl 2.6 prüft in der Nähe des Rüstungsständers sich in dem richtigen Bereich ein Spieler aufhält, ist das der Fall, wird geprüft ob eine Lore dicht bei ihm ist, ist auch das der Fall wird getestet ob sich vor der Lore noch eine Schiene befindet, wenn auch das stimmt, wird die Lore beschleunigt. Dies geschieht bis zum Ende der strecke wo die Lore dann wieder zurückfährt. Dazu sind dann drei weitere Befehle nötig: BefehlBefehl 2.7, der BefehlBefehl 2.8 und der BefehlBefehl 2.9 sorgen dafür, dass die gleichen Bedingungen auch für die Rückfahrt gelten.

{{Ausklappmenü|offen=1|
Befehlsblöcke mit Befehlen:
|

summon armor_stand ~8 ~ ~ {CustomName:Verteiler1,Small:1b,NoGravity:1b}
execute @e[type=armor_stand,name=Verteiler1] ~ ~ ~ /summon armor_stand ~1 ~1 ~ {CustomName:Antrieb1,Small:1b,NoGravity:1b}
tp @e[type=armor_stand,name=Verteiler1] ~10 ~ ~
execute @e[type=armor_stand,name=Antrieb1] ~-4 ~ ~1 /execute @p[,,,dx=9,dy=-1,dz=0] ~ ~ ~ /execute @e[type=minecart,distance=..1] ~ ~ ~ detect ~1 ~ ~ rail -1 /tp @e[type=minecart,c=1] ~2 ~ ~
execute @e[type=armor_stand,name=Antrieb1] ~-9 ~ ~1 /execute @e[,,,dx=18,dy=-1,dz=0,type=minecart] ~ ~ ~ detect ~1 ~ ~ rail -1 /data merge entity @e[type=minecart,c=1] {Motion:[0.2,0.0,0.0] }
execute @e[type=armor_stand,name=Antrieb1] ~-4 ~ ~1 /execute @p[,,,dx=9,dy=-1,dz=0] ~ ~ ~ /execute @e[type=minecart,distance=..1] ~ ~ ~ detect ~1 ~ ~ rail -1 /data merge entity @e[type=minecart,c=1] {Motion:[10.0,0.0,0.0] }
execute @e[type=armor_stand,name=Antrieb1] ~-4 ~ ~-1 /execute @p[,,,dx=9,dy=-1,dz=0] ~ ~ ~ /execute @e[type=minecart,distance=..1] ~ ~ ~ detect ~-1 ~ ~ rail -1 /tp @e[type=minecart,c=1] ~-2 ~ ~
execute @e[type=armor_stand,name=Antrieb1] ~-9 ~ ~-1 /execute @e[,,,dx=18,dy=-1,dz=0,type=minecart] ~ ~ ~ detect ~-1 ~ ~ rail -1 /data merge entity @e[type=minecart,c=1] {Motion:[-0.2,0.0,0.0] }
execute @e[type=armor_stand,name=Antrieb1] ~-4 ~ ~-1 /execute @p[,,,dx=9,dy=-1,dz=0] ~ ~ ~ /execute @e[type=minecart,distance=..1] ~ ~ ~ detect ~-1 ~ ~ rail -1 /data merge entity @e[type=minecart,c=1] {Motion:[-10.0,0.0,0.0] }

Variante 3

Datei:Schnellgleis (Befehle) Bild 3.1.png Datei:Schnellgleis (Befehle) Bild 3.2.png

Dieses Schnellgleis ist eher für Server gedacht, da diese Beschleunigungsmethode weniger Leistung verbraucht, denn es werden höchstens acht Befehlsblöcke für die gesamte Welt benötigt, die permanent mit Redstone-Signalen angesteuert werden. Die zentrale Ansteuerung der Loren erfolgt durch die Erfassung ihrer Namen. So müssen Loren, die ein Schnellgleis anfordern, erst durch den Befehlsblock der sich an dem Gleisbett befindet mit dem BefehlBefehl 3.1 umbenannt werden. Der Befehlsblock wird durch eine Sensorschiene aktiviert. In diesem Fall Osten, da sie Richtung Osten fahren sollen. Nun erfassen zwei der acht Befehlsblöcke die entsprechende Lore oder Loren, die den Namen Osten tragen. Der BefehlBefehl 3.2 teleportiert nun die Lore jeden Tick 2 Blöcke Richtung Osten, während der BefehlBefehl 3.3 die Lore auf die Maximalgeschwindigkeit bringt, wenn sich ein Spieler in der Lore befindet. Durch diese Kombination sieht es so aus, als ob die Lore die gesamte Strecke fahrend zurücklegt, obwohl sie permanent teleportiert wird. Am Ende der Strecke befindet sich eine Sensorschiene mit Befehlsblock, die die Lore abbremsen, sodass sie keinen Namen mehr tragen, wodurch sie nicht mehr von den Befehlsblöcken, die den Geschwindigkeitsboost ausgeben, erfasst wird. Der BefehlBefehl 3.4 sorgt für die Umbenennung. Nun muss die Lore einfach über eine weitere Sensorschiene fahren, um wieder einen Namen zu tragen damit sie wieder beschleunigt werden kann. Oder sie hat ihr Ziel erreicht und der Spieler kann aussteigen.


Befehlsblöcke mit Befehlen:
data merge entity @e[type=minecart,distance=..3,limit=1] {CustomName:"Osten"}


data merge entity @e[type=minecart,distance=..4] {CustomName:""}

Die Befehle für alle Himmelsrichtungen lauten: Für Osten:

execute as @p ~ ~ ~ /execute at @e[name=Osten1,type=minecart,distance=..1] if block ~1 ~ ~ rail -1 run tp @e[name=Osten1,type=minecart,c=1] ~2 ~ ~
execute as @p ~ ~ ~ /execute at @e[name=Osten1,type=minecart,distance=..1] if block ~1 ~ ~ rail -1 run data merge entity @e[name=Osten1,type=minecart,c=1] {Motion:[10.0,0.0,0.0] }

Für Süden:

execute as @p ~ ~ ~ /execute at @e[name=Sueden1,type=minecart,distance=..1] if block ~ ~ ~1 rail -1 run tp @e[name=Sueden1,type=minecart,c=1] ~ ~ ~2
execute as @p ~ ~ ~ /execute at @e[name=Sueden1,type=minecart,distance=..1] if block ~ ~ ~1 rail -1 run data merge entity @e[name=Sueden1,type=minecart,c=1] {Motion:[0.0,0.0,10.0] }

Für Westen:

execute as @p ~ ~ ~ /execute at @e[name=Westen1,type=minecart,distance=..1] if block ~-1 ~ ~ rail -1 run tp @e[name=Westen1,type=minecart,c=1] ~-2 ~ ~
execute as @p ~ ~ ~ /execute at @e[name=Westen1,type=minecart,distance=..1] if block ~-1 ~ ~ rail -1 run data merge entity @e[name=Westen1,type=minecart,c=1] {Motion:[-10.0,0.0,0.0] }

Für Norden:

execute as @p ~ ~ ~ /execute at @e[name=Norden1,type=minecart,distance=..1] if block ~ ~ ~1 rail -1 run tp @e[name=Norden1,type=minecart,c=1] ~ ~ ~-2
execute as @p ~ ~ ~ /execute at @e[name=Norden1,type=minecart,distance=..1] if block ~ ~ ~1 rail -1 run data merge entity @e[name=Norden1,type=minecart,c=1] {Motion:[0.0,0.0,-10.0] }

Variante 4

Datei:Schnellgleis (Befehle) Bild 4.1.png Datei:Schnellgleis (Befehle) Bild 4.2.png

Mit dieser Variante kann man auf Server bestens arbeiten da auch sie zentral alle Loren durch bestimmte Eigenschaften die sie nur durch die spezifischen Strecken erhalten erfassen. Dabei wird einfach die gesamte Strecke mit der hier im Beispiel genommen magenta gefärbten Keramik gebaut. Die Farbe der Keramik gibt an in welche Richtung die Lore beschleunigt werden soll. Wird nun der Wiederhol-Befehlsblock aktiviert, so löst er jeden Tick den BefehlBefehl 4.1 aus. Der testet ob sich ein Spieler auf der magenta gefärbten Keramik befindet, dabei muss sich der Spieler schon in der Lore befinden und nur dann wird auch getestet ob vor der Lore eine Schiene ist, ist auch das der Fall, wird die Lore um zwei Meter nach vorne teleportiert. Der nächste BefehlBefehl 4.2 der durch den Ketten-Befehlsblock ausgelöst wird, beschleunigt die Lore nur ganz schwach, damit auch bei leerer Fahrgastanzahl die Strecke stehts in Bewegung ist. Wenn sich aber ein Spieler in der Lore befindet, wird der BefehlBefehl 4.3 dies erkennen und die Lore maximal beschleunigen. Das einzige was zu beachten ist, dass wenn eine Kurve kommt, man mindestens so viele Meter ohne gefärbte Keramik vor der Kurve baut wie viele Meter die Lore teleportiert wird, in dem Beispiel zwei Meter vorher. Für die Rückrichtung (Westen) wurde gelb gefärbte Keramik genommen: Der BefehlBefehl 4.4, der BefehlBefehl 4.5 und der BefehlBefehl 4.6 sorgen dann für die erfolgreiche Rückfahrt.


Befehlsblöcke mit Befehlen:
execute at @p if block ~ ~ ~ stained_hardened_clay 2 as @e[type=minecart,distance=..1] at @s if block ~1 ~ ~ rail -1 run tp @s ~5 ~ ~
execute at @e[type=minecart] if block ~ ~-1 ~ stained_hardened_clay 2 as @e[type=minecart] at @s if block ~1 ~ ~ rail -1 run data merge entity @s {Motion:[0.2,0.0,0.0] }
execute at @p if block ~ ~ ~ stained_hardened_clay 2 as @e[type=minecart] at @s if block ~1 ~ ~ rail -1 run data merge entity @s {Motion:[10.0,0.0,0.0] }
execute at @p if block ~ ~ ~ stained_hardened_clay 4 as @e[type=minecart,distance=..1] at @s if block ~-1 ~ ~ rail -1 run tp @s ~-5 ~ ~
execute at @e[type=minecart] at @s if block ~ ~-1 ~ stained_hardened_clay 4 as @e[type=minecart] at @s if block ~-1 ~ ~ rail -1 run data merge entity @s {Motion:[-0.2,0.0,0.0] }
execute at @p if block ~ ~ ~ stained_hardened_clay 4 as @e[type=minecart] at @s if block ~-1 ~ ~ rail -1 run data merge entity @s {Motion:[-10.0,0.0,0.0] }


Disambig color
Advertisement