Technik Wiki
K (Bot: Vorlage korrigiert, de -> mcw)
(In Downloadwelt enthalten: Redstone-Welt 1.15a)
 
(9 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
{{Unterseite|
+
{{Unterseite|gruppe=Anlagen|
 
{{Seitenkopf|dw=r|me=1|re=1|rep=1}}
 
{{Seitenkopf|dw=r|me=1|re=1|rep=1}}
|
 
 
}}
 
}}
  +
Mit Befehlen und Funktionen lassen sich '''Tür- und Toranlagen''' in beliebigen Größen und mit verschiedenen Blöcken konstruieren. Die Tore und die Torrahmen können durch einen {{mcw|Konstruktionsblock}} gespeichert sein und werden dort durch einen Konstruktionsblock geladen, wo man sie einsetzen möchte. Die Tore sind an beliebigen Orten platzierbar und nicht von bestimmten {{mcw|Koordinaten}} abhängig. Die Tore öffnen sich automatisch, sobald man in einem Mindestabstand zu diesen sich befindet.
Es lassen sich mit Befehlsblöcken großartige '''Tür- und Toranlagen''' konstruieren. Dabei können diese Tore aus beliebigen Blöcken bestehen, welche auf und zu gehen oder aber aus Objekte bestehen, die den Anschein von Blöcken haben. Man kann dabei auf absolute {{mcw|Koordinaten}} oder relative zurückgreifen, wobei es zu empfehlen ist, wenn man eine Sorte von Tor an vielen Stellen bauen möchte, man lieber relative Koordinaten nutzen sollte, da man dann in den Befehlen diese nicht ändern muss.
 
 
== Blockkonstruktion ==
 
   
=== Variante 1 ===
+
== Variante 1 ==
 
{{Voraussetzung|
 
{{Voraussetzung|
*[[Schaltkreise/Logikgatter (Befehle)]]
+
*[[Logikgatter (Befehle)]]
*[[Schaltkreise/Impulsgeber (Befehle)]]
+
*[[Impulsgeber (Befehle)]]
*[[Vorrichtungen/Standortsensor (Befehle)]]
+
*[[Standort-Sensor (Befehle)]]
*{{b|/testfor}}
+
*{{mcw|Blickwinkel}}
*{{b|/summon}}
+
*{{mcw|Funktion}}
*{{b|/kill}}
 
*{{b|/execute}}
 
*{{b|/clone}}
 
 
|
 
|
* {{Gridbild|Eisenblock|link}}
+
*{{Gridbild|Hebel|link}}
* {{Gridbild|Goldblock|link}}
+
*{{Gridbild|Redstone-Fackel|link}}
* {{Gridbild|Diamantblock|link}}
+
*{{Gridbild|Befehlsblock|link|stapel=2}}
* {{Gridbild|Hebel|link}}
+
*{{Gridbild|Wiederhol-Befehlsblock|link}}
* {{Gridbild|Redstone|link}}
 
* {{Gridbild|Redstone-Fackel|link}}
 
* {{Gridbild|Redstone-Verstärker|link}}
 
* {{Gridbild|Redstone-Komparator|link}}
 
* {{Gridbild|Befehlsblock|link}}
 
* {{Gridbild|Wiederhol-Befehlsblock|link}}
 
* {{Gridbild|Ketten-Befehlsblock|link}}
 
 
}}
 
}}
{{Bilderfolge|#1#2#3#4#5#4#3#2|Anlagen Tür- und Toranlage (Befehle) Animation 1.1.|400px}}
+
{{Bilderfolge|#1|Tür- und Toranlage (Befehle) Bild 1.|400px|list=1}}
{{Bilderfolge|#2|Anlagen Tür- und Toranlage (Befehle) Bild 1.|400px|list=1}}
+
{{Bilderfolge|#1#2#3#4#3#2|Tür- und Toranlage (Befehle) Animation 1.1.|400px}}
   
  +
Dieses Tor öffnet sich wie eine Schiebetür. Beide Tore bewegen sich von der Mitte nach außen. Das Tor samt Torrahmen kann durch einen speziellen Rüstungsständer, den man erhält, erstellt werden. Das Tor kann in alle vier Himmelsrichtungen ausgerichtet werden und es öffnet sich automatisch, sobald ein Spieler sich in der Nähe befindet. Es schließt sich, sobald kein Spieler mehr in der Nähe ist.
Dieses Tor öffnet seine zwei Türen so, dass diese in die Wand hineinfahren. Dann kann man hindurch schreiten und bei genügend großen Abstand schließt es sich wieder. Um es einzuschalten muss nur der Hebel umgelegt werden. Dabei wird ein Wiederhol-Befehlsblock aktiv{{bb|1|1}} der an der Stelle eines neu gespawnten Rüstungsständers{{bb|1|2}} prüft ob sich dort Spieler aufhalten. Für die Türen werden zwei weitere Rüstungsständer gespawnt mit dessen Hilfe dann relativ zur deren Postion die Türen geöffnet oder geschlossen werden können{{bb|1|3}}{{bb|1|4}}. Wenn der Wiederhol-Befehlsblock Spieler in der Nähe des Tores entdeckt, so wird ein Komparator ausgelöst, welcher einem Impulsgeber ein Redstone-Signal abgibt. Dieses sorgt dafür, dass das Tor nun geöffnet wird{{bb|1|5}}{{bb|1|6}}. Dabei durchläuft das Tor eine Animation, bis das komplett geöffnete Tor zu sehen ist. Wenn jetzt der Spieler weiter weg geht und der Wiederhol-Befehlsblock den Spieler nicht mehr findet, so wird das Signal des Komparators invertiert und lässt das Tor nun zufallen. Wird die Anlage ausgeschaltet, so werden alle gespawnten Rüstungsständer wieder gelöscht{{bb|1|7}}.
 
  +
  +
;Einschalten
  +
* {{bb|1|1}} Auf dem Wiederhol-Befehlsblock befindet sich ein Hebel. Legt man ihn um, wird zuerst der Befehlsblock mit der Start-Funktion {{f|link=v1start}} aktiviert.
  +
  +
;Wiederholen
  +
* {{bb|1|2}} Gleichzeitig wird auch der Wiederhol-Befehlsblock mit der Zyklus-Funktion {{f|link=v1zyklus}} aktiv.
  +
  +
;Ausschalten
  +
* {{bb|1|3}} der Befehlsblock löst die Funktion {{f|link=v1stopp}} aus.
   
 
{{Ausklappmenü|offen=1|{{bb}}|
 
{{Ausklappmenü|offen=1|{{bb}}|
  +
{{bb|1|1|i|4=function tuer-_und_toranlage:v1start}}
{{bb|1|1|w|4=/execute @e[type=armor_stand,name=Tor1,tag=Tor1] ~ ~ ~ /testfor @p[r=8]}}
 
  +
{{bb|1|2|w|4=function tuer-_und_toranlage:v1zyklus}}
   
   
  +
{{bb|1|3|i|4=function tuer-_und_toranlage:v1stopp}}
{{bb|1|2|i|4=/summon armor_stand ~11 ~ ~-3 {CustomName:Tor1,NoGravity:1b,Invisible:1b,Tags:[Tor1]} }}
 
  +
}}
{{bb|1|3|k|4=/summon armor_stand ~6 ~-3 ~-16 {CustomName:Tor1a,NoGravity:1b,Invisible:1b,Tags:[Tor1]} }}
 
{{bb|1|4|k|4=/summon armor_stand ~11 ~-4 ~-15 {CustomName:Tor1b,NoGravity:1b,Invisible:1b,Tags:[Tor1]} }}
 
   
  +
{{fü|1|name=Start}}
  +
Die Start-Funktion erstellt die Punkte-Ziele für die Tor-Öffnungszustände und für das Messen der Zeit in Ticks. Darüber hinaus wird den Spielern ein Rüstungsständer gegeben, den man an einer beliebigen Position platzieren kann, um dort ein Tor zu erzeugen.
   
  +
{{f|name=tuer-_und_toranlage:v1start|alias=v1start|1=
{{bb|1|5|i|4=/execute @e[type=armor_stand,name=Tor1b,tag=Tor1] ~ ~ ~ /clone ~ ~ ~ ~5 ~5 ~ ~ ~1 ~12 masked}}
 
  +
# Die Punkte-Ziele werden erstellt.
  +
scoreboard objectives add PZTuTor.1Tor dummy ["Tür- und Toranlage.1: ",{"text":"Wert wie weit Tor offen ist","bold":true}]
  +
scoreboard objectives add PZTuTor.1Zeit dummy ["Tür- und Toranlage.1: ",{"text":"Zeit in Ticks","bold":true}]
   
  +
# Den Spielern in einem Umkreis von 15 Blöcken wird der Rüstungsständer für das Tor gegeben.
  +
give @a[distance=..15] minecraft:armor_stand{EigTuTor.1Alle:true,Enchantments:[{id:-1}],display:{Name:'{"text":"Schiebetor"}',Lore:['"Platziere den Rüstungsständer"','"um das Tor zu erstellen"']},EntityTag:{Small:true,Marker:true,Invisible:true,NoGravity:true,Tags:["EtiTuTor.1Alle","EtiTuTor.1Erstellen"]} } 16
  +
}}
  +
  +
  +
{{fü|1|name=Zyklus}}
  +
Die Zyklus-Funktion erstellt den Torrahmen bei Bedarf, zählt in Ticks die Zeit in welchen Zeitabständen sich das Tor öffnen soll und erfasst Spieler in der Nähe des Tors.
  +
  +
{{f|name=tuer-_und_toranlage:v1zyklus|alias=v1zyklus|1=
  +
# Wenn der Spieler den Rüstungsständer platziert hat, so wird die Erstellen-Funktion durch diesen aufgerufen.
  +
execute as @e[type=minecraft:armor_stand,tag=EtiTuTor.1Erstellen] at @s run function tuer-_und_toranlage:v1erstellen
  +
  +
# Jeden Tick wird der Wert des Rüstungsständers um eins hochgezählt und nur wenn er den Wert zehn erreicht wird er wieder auf null gesetzt.
  +
execute as @e[type=minecraft:armor_stand,tag=EtiTuTor.1Torrahmen] store result score @s PZTuTor.1Zeit run scoreboard players add @s[scores={PZTuTor.1Zeit=..10}] PZTuTor.1Zeit 1
  +
  +
# Einmal nach zehn Ticks wird geprüft kein Spieler sich im Umkreis von acht Blöcken am Tor befindet und nur dann wird das Etikett entfernt.
  +
execute as @e[type=minecraft:armor_stand,tag=EtiTuTor.1SpielerBeimTor,scores={PZTuTor.1Zeit=1}] at @s unless entity @p[distance=..8,gamemode=!spectator] run tag @s remove EtiTuTor.1SpielerBeimTor
  +
  +
# Es wird geprüft ob sich ein Spieler im Umkreis von acht Blöcken am Tor befindet, nur dann wird dem Rüstungsständer ein Etikett gegeben und sein Wert für die Zeit auf eins gesetzt.
  +
execute as @e[type=minecraft:armor_stand,tag=EtiTuTor.1Torrahmen,tag=!EtiTuTor.1SpielerBeimTor] at @s if entity @p[distance=..8,gamemode=!spectator] store success score @s PZTuTor.1Zeit run tag @s add EtiTuTor.1SpielerBeimTor
  +
  +
# Einmal alle zehn Ticks wird vom Rüstungsständer aus die Tor-Funktion aufgerufen.
  +
execute as @e[type=minecraft:armor_stand,tag=EtiTuTor.1Torrahmen,scores={PZTuTor.1Zeit=1}] at @s positioned ~ ~1 ~ run function tuer-_und_toranlage:v1tor
  +
}}
  +
  +
  +
{{fü|1|name=Erstellen}}
  +
Die Erstellen-Funktion prüft die Blickrichtung des platzierten Rüstungsständers und richtet ihn Himmelsrichtungsbezogen neu aus und platziert den Torrahmen für das Tor.
  +
  +
{{f|name=tuer-_und_toranlage:v1erstellen|1=
  +
# Je nach dem ob der Rüstungsständer in Richtung der Pole oder dem Äquator schaut, wird er entsprechend ausgerichtet und er bekommt neue Etikette.
  +
execute if entity @s[y_rotation=-135..135] unless entity @s[y_rotation=-45..45] run data merge entity @s {Rotation:[90.0f,0.0f],Tags:["EtiTuTor.1Alle","EtiTuTor.1Torrahmen","EtiTuTor.1Aequator"]}
  +
execute if entity @s[y_rotation=135..45] unless entity @s[y_rotation=-135..-45] run data merge entity @s {Rotation:[0.0f,0.0f],Tags:["EtiTuTor.1Alle","EtiTuTor.1Torrahmen","EtiTuTor.1Pole"]}
  +
  +
# Je nach Richtung wird ein entsprechender Konstruktionsblock platziert, der den Torrahmen lädt.
  +
execute if entity @s[tag=EtiTuTor.1Aequator] run setblock ~ ~ ~ minecraft:structure_block{mode:"LOAD",rotation:"NONE",posX:-2,posY:0,posZ:-4,name:"tuer-_und_toranlage:v1torrahmen"} replace
  +
execute if entity @s[tag=EtiTuTor.1Pole] run setblock ~ ~ ~ minecraft:structure_block{mode:"LOAD",rotation:"CLOCKWISE_90",posX:4,posY:0,posZ:-2,name:"tuer-_und_toranlage:v1torrahmen"} replace
  +
  +
# Der Redstone-Block aktiviert den Konstruktionsblock.
  +
setblock ~1 ~ ~ minecraft:redstone_block replace
  +
  +
# Der Wert für die Tor-Öffnungszustände wird auf null gesetzt.
  +
scoreboard players set @s PZTuTor.1Tor 0
  +
}}
  +
  +
  +
{{fü|1|name=Tor}}
  +
Die Tor-Funktion leitet das eigentliche Öffnen und Schließen des Tores ein. Mit Punkte-Werten wird berechnet wie weit sich das Tor öffnen oder schließen muss. Sie platziert beide Tore und ruft abwechselnd die Tor-Bewegen-Funktion auf welche die Tore schlussendlich bewegt.
  +
  +
{{f|name=tuer-_und_toranlage:v1tor|1=
  +
# Je nach dem ob das Tor geöffnet oder geschlossen werden soll, wird für diesen Rüstungsständer der Wert hoch oder runtergezählt.
  +
scoreboard players remove @s[tag=!EtiTuTor.1SpielerBeimTor,scores={PZTuTor.1Tor=1..}] PZTuTor.1Tor 1
  +
scoreboard players add @s[tag=EtiTuTor.1SpielerBeimTor,scores={PZTuTor.1Tor=..2}] PZTuTor.1Tor 1
  +
  +
# Abhängig von der Richtung des Rüstungsständers wird ein Konstruktionsblock mit dem ausgerichteten ersten Tor platziert.
  +
execute if entity @s[tag=EtiTuTor.1Aequator,scores={PZTuTor.1Tor=1..}] run setblock ~ ~ ~1 minecraft:structure_block{mode:"LOAD",rotation:"NONE",posX:0,posY:0,posZ:-1,name:"tuer-_und_toranlage:v1tor_1"} replace
  +
execute if entity @s[tag=EtiTuTor.1Pole,scores={PZTuTor.1Tor=1..}] run setblock ~1 ~ ~ minecraft:structure_block{mode:"LOAD",rotation:"CLOCKWISE_90",posX:2,posY:0,posZ:0,name:"tuer-_und_toranlage:v1tor_2"} replace
  +
execute if entity @s[scores={PZTuTor.1Tor=1..}] run setblock ~ ~ ~ minecraft:redstone_block replace
  +
  +
# Die Variable für die Tor-Öffnungsstufe wird auf null gesetzt und danach wird die Tor-Bewegen-Funktion geladen.
  +
scoreboard players set VarTuTor.1Stufe PZTuTor.1Tor 0
  +
execute if score @s PZTuTor.1Tor matches 1.. run function tuer-_und_toranlage:v1tor_bewegen
  +
  +
# Das zweite Tor auf der gegenüberliegenden Seite wird gelaen, solange der Wert für die Tor-Öffnungsstufe nicht bei null liegt.
  +
execute if entity @s[tag=EtiTuTor.1Aequator,scores={PZTuTor.1Tor=1..}] run setblock ~ ~ ~-1 minecraft:structure_block{mode:"LOAD",rotation:"NONE",posX:0,posY:0,posZ:-2,name:"tuer-_und_toranlage:v1tor_2"} replace
  +
execute if entity @s[tag=EtiTuTor.1Pole,scores={PZTuTor.1Tor=1..}] run setblock ~-1 ~ ~ minecraft:structure_block{mode:"LOAD",rotation:"CLOCKWISE_90",posX:1,posY:0,posZ:0,name:"tuer-_und_toranlage:v1tor_1"} replace
  +
  +
# Wenn das Tor verschlossen sein soll und den Wert dafür hat, wird das verschlossene Tor geladen.
  +
execute if entity @s[tag=EtiTuTor.1Aequator,scores={PZTuTor.1Tor=0}] run setblock ~ ~1 ~ minecraft:structure_block{mode:"LOAD",rotation:"NONE",posX:0,posY:-1,posZ:-3,name:"tuer-_und_toranlage:v1tor"} replace
  +
execute if entity @s[tag=EtiTuTor.1Pole,scores={PZTuTor.1Tor=0}] run setblock ~ ~1 ~ minecraft:structure_block{mode:"LOAD",rotation:"CLOCKWISE_90",posX:3,posY:-1,posZ:0,name:"tuer-_und_toranlage:v1tor"} replace
  +
  +
# Der Redstone-Block aktiviert den Konstruktionsblock.
  +
setblock ~ ~ ~ minecraft:redstone_block replace
  +
  +
# Die Variable für die Tor-Öffnungsstufe wird erneut auf null gesetzt und die Tor-Bewegen-Funktion wird geladen.
  +
tag @s add EtiTuTor.1Tor2
  +
scoreboard players set VarTuTor.1Stufe PZTuTor.1Tor 0
  +
execute if score @s PZTuTor.1Tor matches 1.. run function tuer-_und_toranlage:v1tor_bewegen
  +
tag @s remove EtiTuTor.1Tor2
  +
}}
  +
  +
  +
{{fü|1|name=Tor-Bewegen}}
  +
Die Tor-Bewegen-Funktion verschiebt das Tor immer genau um einen Block. Damit das Tor immer so weit geöffnet ist, wie es der Punkte-Wert vorgibt, ruft sich diese Funktion so oft selbst auf, sodass das Tor immer weiter um einen Block verschoben wird, bis es den Wert erreicht hat.
  +
  +
{{f|name=tuer-_und_toranlage:v1tor_bewegen|1=
  +
# Das erste Tor wird um einen Block zur Seite verschoben.
  +
execute if entity @s[tag=EtiTuTor.1Aequator,tag=!EtiTuTor.1Tor2] run clone ~ ~ ~ ~ ~6 ~2 ~ ~ ~1 replace move
  +
execute if entity @s[tag=EtiTuTor.1Pole,tag=!EtiTuTor.1Tor2] run clone ~ ~ ~ ~2 ~6 ~ ~1 ~ ~ replace move
  +
  +
# Das zweite Tor wird um einen Block zur Seite verschoben.
  +
execute if entity @s[tag=EtiTuTor.1Aequator,tag=EtiTuTor.1Tor2] run clone ~ ~ ~ ~ ~6 ~-2 ~ ~ ~-3 replace move
  +
execute if entity @s[tag=EtiTuTor.1Pole,tag=EtiTuTor.1Tor2] run clone ~ ~ ~ ~-2 ~6 ~ ~-3 ~ ~ replace move
  +
  +
# Die Tor-Öffnungsstufe wird um eins erhöht und die Tor-Bewegen-Funktion wird erneut aufgerufen, wenn die Tor-Stufe kleiner ist, als das Tor geöffnet sein soll.
  +
scoreboard players add VarTuTor.1Stufe PZTuTor.1Tor 1
  +
execute if score VarTuTor.1Stufe PZTuTor.1Tor < @s PZTuTor.1Tor run function tuer-_und_toranlage:v1tor_bewegen
  +
}}
  +
  +
  +
{{fü|1|name=Stopp}}
  +
Die Stopp-Funktion löscht die Punkte-Ziele, das Tor samt Torrahmen und den Rüstungsständer in der Hand und davon platzierte.
  +
  +
{{f|name=tuer-_und_toranlage:v1stopp|alias=v1stopp|1=
  +
# Die Punkte-Ziele werden entfernt.
  +
scoreboard objectives remove PZTuTor.1Tor
  +
scoreboard objectives remove PZTuTor.1Zeit
   
  +
# Der Rüstungsständer wird aus dem Inventar entfernt.
{{bb|1|6|i|4=/execute @e[type=armor_stand,name=Tor1a,tag=Tor1] ~ ~ ~ /clone ~ ~ ~ ~5 ~5 ~ ~ ~1 ~13 masked}}
 
  +
clear @a minecraft:armor_stand{EigTuTor.1Alle:true}
   
  +
# Das Tor inklusivem Torrahmen wird durch Luft ersetzt.
  +
execute at @e[type=minecraft:armor_stand,tag=EtiTuTor.1Torrahmen] run fill ^-4 ^ ^-2 ^4 ^8 ^2 minecraft:air replace
   
  +
# Alle Gegenstände und Rüstungsständer werden entfernt.
{{bb|1|7|i|4=/kill @e[type=armor_stand,tag=Tor1] }}
 
  +
tag @e[type=minecraft:item,nbt={Item:{tag:{EigTuTor.1Alle:true} } }] add EtiTuTor.1Alle
  +
kill @e[tag=EtiTuTor.1Alle]
 
}}
 
}}
   
=== Variante 2 ===
+
== Variante 2 ==
 
{{Voraussetzung|
 
{{Voraussetzung|
*[[Schaltkreise/Logikgatter (Befehle)]]
+
*[[Logikgatter (Befehle)]]
*[[Schaltkreise/Impulsgeber (Befehle)]]
+
*[[Impulsgeber (Befehle)]]
*[[Vorrichtungen/Standortsensor (Befehle)]]
+
*[[Standort-Sensor (Befehle)]]
*{{b|/testfor}}
+
*{{mcw|Blickwinkel}}
*{{b|/summon}}
+
*{{mcw|Funktion}}
*{{b|/kill}}
 
*{{b|/execute}}
 
*{{b|/clone}}
 
 
|
 
|
* {{Gridbild|Eisenblock|link}}
+
*{{Gridbild|Hebel|link}}
* {{Gridbild|Goldblock|link}}
+
*{{Gridbild|Redstone-Fackel|link}}
* {{Gridbild|Diamantblock|link}}
+
*{{Gridbild|Befehlsblock|link|stapel=2}}
* {{Gridbild|Hebel|link}}
+
*{{Gridbild|Wiederhol-Befehlsblock|link}}
* {{Gridbild|Redstone|link}}
 
* {{Gridbild|Redstone-Fackel|link}}
 
* {{Gridbild|Redstone-Verstärker|link}}
 
* {{Gridbild|Redstone-Komparator|link}}
 
* {{Gridbild|Befehlsblock|link}}
 
* {{Gridbild|Wiederhol-Befehlsblock|link}}
 
* {{Gridbild|Ketten-Befehlsblock|link}}
 
 
}}
 
}}
{{Bilderfolge|#1#2#3#4#5#6#5#4#3#2|Anlagen Tür- und Toranlage (Befehle) Animation 2.1.|400px}}
+
{{Bilderfolge|#1|Tür- und Toranlage (Befehle) Bild 2.|400px|list=1}}
{{Bilderfolge|#2|Anlagen Tür- und Toranlage (Befehle) Bild 2.|400px|list=1}}
+
{{Bilderfolge|#1#2#3#4#3#2|Tür- und Toranlage (Befehle) Animation 2.1.|400px}}
   
  +
Man erhält einen Rüstungsständer, mit dem man das Burgtor in allen vier Himmelsrichtungen platzieren kann. Wenn man sich dem Tor nähert öffnet es sich automatisch und schließt sich wieder, wenn sich kein Spieler mehr dort befindet.
Dieses Tor öffnet sich wie ein Burgtor und zwar wird das Tor nach oben gezogen, sobald sich ein Spieler in der Nähe dieses Tores befindet. Wenn man den Hebel am Wiederhol-Befehlsblock umlegt, so wird dieser aktiv{{bb|2|1}} und sucht Spieler in der Nähe des Rüstungsständers. Dabei werden zwei Rüstungsständer gespawnt{{bb|2|2}}{{bb|2|3}}. Die Rüstungsständer sind nur dazu da, damit man dieses Tor relativ zu seiner Position überall aufbauen kann. Natürlich kann man auch die Rüstungsständer weglassen, dann muss man aber immer absolute Koordinaten nehmen. Findet nun der Wiederhol-Befehlsblock einen Spieler in der Nähe des Burgtores, so löst dieser mit dem Komparator aus und gibt einem Impuklsgeber ein Signal, welcher die Animation des Tores aktiviert{{bb|2|4}}, bis das Tor komplett geöffnet ist{{bb|2|5}}. Wenn der Spieler hindurch gelaufen ist und außer Reichweite ist, wird das erlischende Signal des Komparators invertiert und an die Befehlsblöcke weitergeleitet die für die Animation zuständig sind. Wird die Anlage ausgeschaltet, so werden alle Rüstungsständer gelöscht{{bb|2|6}}.
 
  +
  +
;Einschalten
  +
* {{bb|2|1}} Auf dem Wiederhol-Befehlsblock befindet sich ein Hebel. Legt man ihn um, wird zuerst der Befehlsblock mit der Start-Funktion {{f|link=v2start}} aktiviert.
  +
  +
;Wiederholen
  +
* {{bb|2|2}} Gleichzeitig wird auch der Wiederhol-Befehlsblock mit der Zyklus-Funktion {{f|link=v2zyklus}} aktiv.
  +
  +
;Ausschalten
  +
* {{bb|2|3}} der Befehlsblock löst die Funktion {{f|link=v2stopp}} aus.
   
 
{{Ausklappmenü|offen=1|{{bb}}|
 
{{Ausklappmenü|offen=1|{{bb}}|
  +
{{bb|2|1|i|4=function tuer-_und_toranlage:v2start}}
{{bb|2|1|w|4=/execute @e[type=armor_stand,name=Tor2,tag=Tor2] ~ ~ ~ /testfor @p[r=8] }}
 
  +
{{bb|2|2|w|4=function tuer-_und_toranlage:v2zyklus}}
   
   
  +
{{bb|2|3|i|4=function tuer-_und_toranlage:v2stopp}}
{{bb|2|2|i|4=/summon armor_stand ~11 ~ ~-3 {CustomName:Tor2,NoGravity:1b,Invisible:1b,Tags:[Tor2]} }}
 
  +
}}
{{bb|2|3|k|4=/summon armor_stand ~6 ~7 ~-15 {CustomName:Tor2a,NoGravity:1b,Invisible:1b,Tags:[Tor2] } }}
 
   
  +
{{fü|2|name=Start}}
  +
Die Start-Funktion erstellt die Punkte-Ziele für die Tor-Öffnungszustände und für das Messen der Zeit in Ticks. Darüber hinaus wird den Spielern ein Rüstungsständer gegeben, den man an einer beliebigen Position platzieren kann, um dort ein Tor zu erzeugen.
   
  +
{{f|name=tuer-_und_toranlage:v2start|alias=v2start|1=
{{bb|2|4|i|4=/execute @e[type=armor_stand,name=Tor2a,tag=Tor2] ~ ~ ~ /clone ~ ~1 ~ ~6 ~9 ~-1 ~ ~-9 ~12}}
 
  +
# Die Punkte-Ziele werden erstellt.
  +
scoreboard objectives add PZTuTor.2Tor dummy ["Tür- und Toranlage.2: ",{"text":"Wert wie weit Tor offen ist","bold":true}]
  +
scoreboard objectives add PZTuTor.2Zeit dummy ["Tür- und Toranlage.2: ",{"text":"Zeit in Ticks","bold":true}]
   
  +
# Den Spielern in einem Umkreis von 15 Blöcken wird der Rüstungsständer für das Tor gegeben.
  +
give @a[distance=..15] minecraft:armor_stand{EigTuTor.2Alle:true,Enchantments:[{id:-1}],display:{Name:'{"text":"Burgtor"}',Lore:['"Platziere den Rüstungsständer"','"um das Tor zu erstellen"']},EntityTag:{Small:true,Marker:true,Invisible:true,NoGravity:true,Tags:["EtiTuTor.2Alle","EtiTuTor.2Erstellen"]} } 16
  +
}}
  +
  +
  +
{{fü|2|name=Zyklus}}
  +
Die Zyklus-Funktion erstellt den Torrahmen bei Bedarf, zählt in Ticks die Zeit in welchen Zeitabständen sich das Tor öffnen soll und erfasst Spieler in der Nähe des Tors.
  +
  +
{{f|name=tuer-_und_toranlage:v2zyklus|alias=v2zyklus|1=
  +
# Wenn der Spieler den Rüstungsständer platziert hat, so wird die Erstellen-Funktion durch diesen aufgerufen.
  +
execute as @e[type=minecraft:armor_stand,tag=EtiTuTor.2Erstellen] at @s run function tuer-_und_toranlage:v2erstellen
  +
  +
# Jeden Tick wird der Wert des Rüstungsständers um eins hochgezählt und nur wenn er den Wert fünf erreicht wird er wieder auf null gesetzt.
  +
execute as @e[type=minecraft:armor_stand,tag=EtiTuTor.2Torrahmen] store result score @s PZTuTor.2Zeit run scoreboard players add @s[scores={PZTuTor.2Zeit=..5}] PZTuTor.2Zeit 1
  +
  +
# Einmal nach fünf Ticks wird geprüft kein Spieler sich im Umkreis von acht Blöcken am Tor befindet und nur dann wird das Etikett entfernt.
  +
execute as @e[type=minecraft:armor_stand,tag=EtiTuTor.2SpielerBeimTor,scores={PZTuTor.2Zeit=1}] at @s unless entity @p[distance=..10,gamemode=!spectator] run tag @s remove EtiTuTor.2SpielerBeimTor
  +
  +
# Es wird geprüft ob sich ein Spieler im Umkreis von acht Blöcken am Tor befindet, nur dann wird dem Rüstungsständer ein Etikett gegeben und sein Wert für die Zeit auf eins gesetzt.
  +
execute as @e[type=minecraft:armor_stand,tag=EtiTuTor.2Torrahmen,tag=!EtiTuTor.2SpielerBeimTor] at @s if entity @p[distance=..10,gamemode=!spectator] store success score @s PZTuTor.2Zeit run tag @s add EtiTuTor.2SpielerBeimTor
  +
  +
# Einmal alle fünf Ticks wird vom Rüstungsständer aus die Tor-Funktion aufgerufen.
  +
execute as @e[type=minecraft:armor_stand,tag=EtiTuTor.2Torrahmen,scores={PZTuTor.2Zeit=1}] at @s positioned ~ ~1 ~ run function tuer-_und_toranlage:v2tor
  +
}}
  +
  +
  +
{{fü|2|name=Erstellen}}
  +
Die Erstellen-Funktion prüft die Blickrichtung des platzierten Rüstungsständers und richtet ihn Himmelsrichtungsbezogen neu aus und platziert den Torrahmen für das Tor.
  +
  +
{{f|name=tuer-_und_toranlage:v2erstellen|1=
  +
# Je nach dem ob der Rüstungsständer in Richtung der Pole oder dem Äquator schaut, wird er entsprechend ausgerichtet und er bekommt neue Etikette.
  +
execute if entity @s[y_rotation=-135..135] unless entity @s[y_rotation=-45..45] run data merge entity @s {Rotation:[90.0f,0.0f],Tags:["EtiTuTor.2Alle","EtiTuTor.2Torrahmen","EtiTuTor.2Aequator"]}
  +
execute if entity @s[y_rotation=135..45] unless entity @s[y_rotation=-135..-45] run data merge entity @s {Rotation:[0.0f,0.0f],Tags:["EtiTuTor.2Alle","EtiTuTor.2Torrahmen","EtiTuTor.2Pole"]}
  +
  +
# Je nach Richtung wird ein entsprechender Konstruktionsblock platziert, der den Torrahmen lädt.
  +
execute if entity @s[tag=EtiTuTor.2Aequator] run setblock ~ ~ ~ minecraft:structure_block{mode:"LOAD",rotation:"NONE",posX:-2,posY:0,posZ:-5,name:"tuer-_und_toranlage:v2torrahmen"} replace
  +
execute if entity @s[tag=EtiTuTor.2Pole] run setblock ~ ~ ~ minecraft:structure_block{mode:"LOAD",rotation:"CLOCKWISE_90",posX:5,posY:0,posZ:-2,name:"tuer-_und_toranlage:v2torrahmen"} replace
  +
  +
# Der Redstone-Block aktiviert den Konstruktionsblock.
  +
setblock ~1 ~ ~ minecraft:redstone_block replace
  +
  +
# Der Wert für die Tor-Öffnungszustände wird auf null gesetzt.
  +
scoreboard players set @s PZTuTor.2Tor 0
  +
}}
  +
  +
  +
{{fü|2|name=Tor}}
  +
Die Tor-Funktion speichert die aktuelle Öffnung des Tores und lädt mit Konstruktionsblöcken das Burgtor. Das Burgtor wird anhand eines Punkte-Wertes entsprechend weit geöffnet, in dem die Tor-Bewegen-Funktion aufgerufen wird.
  +
  +
{{f|name=tuer-_und_toranlage:v2tor|1=
  +
# Je nach dem ob das Tor geöffnet oder geschlossen werden soll, wird für diesen Rüstungsständer der Wert hoch oder runtergezählt.
  +
scoreboard players remove @s[tag=!EtiTuTor.2SpielerBeimTor,scores={PZTuTor.2Tor=1..}] PZTuTor.2Tor 1
  +
scoreboard players add @s[tag=EtiTuTor.2SpielerBeimTor,scores={PZTuTor.2Tor=..6}] PZTuTor.2Tor 1
  +
  +
# Je nach Himmelsrichtung, wird das entsprechende Tor durch den Konstruktionsblock geladen und platziert.
  +
execute if entity @s[tag=EtiTuTor.2Aequator] run setblock ~ ~ ~ minecraft:structure_block{mode:"LOAD",rotation:"NONE",posX:0,posY:0,posZ:-3,name:"tuer-_und_toranlage:v2tor"} replace
  +
execute if entity @s[tag=EtiTuTor.2Pole] run setblock ~ ~ ~ minecraft:structure_block{mode:"LOAD",rotation:"CLOCKWISE_90",posX:3,posY:0,posZ:0,name:"tuer-_und_toranlage:v2tor"} replace
  +
setblock ~ ~1 ~ minecraft:redstone_block replace
  +
  +
# Falls das Tor geschlossen werden soll, wird es um einen Block nach unten bewegt.
  +
execute if entity @s[tag=EtiTuTor.2Aequator,scores={PZTuTor.2Tor=0}] run clone ~ ~1 ~-3 ~ ~9 ~3 ~ ~ ~-3 replace move
  +
execute if entity @s[tag=EtiTuTor.2Pole,scores={PZTuTor.2Tor=0}] run clone ~-3 ~1 ~ ~3 ~9 ~ ~-3 ~ ~ replace move
  +
  +
# Die Variable für die Tor-Öffnungsstufe wird auf eins gesetzt um anschließend in der geladenen Tor-Bewegen-Funktion verwendet zu werden.
  +
scoreboard players set VarTuTor.2Stufe PZTuTor.2Tor 1
  +
execute if score @s PZTuTor.2Tor matches 2.. run function tuer-_und_toranlage:v2tor_bewegen
  +
}}
  +
  +
  +
{{fü|2|name=Tor-Bewegen}}
  +
Die Tor-Bewegen-Funktion bewegt das Tor einen Block nach oben und ruft sich selbst solange wieder auf, wie weit das Tor geöffnet werden soll.
  +
  +
{{f|name=tuer-_und_toranlage:v2tor_bewegen|1=
  +
# Je nach Himmelsrichtung wird das Tor entsprechend um einen Block nach oben bewegt.
  +
execute if entity @s[tag=EtiTuTor.2Aequator] run clone ~ ~ ~-3 ~ ~8 ~3 ~ ~1 ~-3 replace move
  +
execute if entity @s[tag=EtiTuTor.2Pole] run clone ~-3 ~ ~ ~3 ~8 ~ ~-3 ~1 ~ replace move
  +
  +
# Die Tor-Öffnungsstufe wird um eins erhöht und die Tor-Bewegen-Funktion wird erneut aufgerufen, wenn die Tor-Stufe kleiner ist, als das Tor geöffnet sein soll.
  +
scoreboard players add VarTuTor.2Stufe PZTuTor.2Tor 1
  +
execute if score VarTuTor.2Stufe PZTuTor.2Tor < @s PZTuTor.2Tor run function tuer-_und_toranlage:v2tor_bewegen
  +
}}
  +
  +
  +
{{fü|2|name=Stopp}}
  +
Die Stopp-Funktion löscht die Punkte-Ziele, das Tor samt Torrahmen und den Rüstungsständer in der Hand und davon platzierte.
  +
  +
{{f|name=tuer-_und_toranlage:v2stopp|alias=v2stopp|1=
  +
# Die Punkte-Ziele werden entfernt.
  +
scoreboard objectives remove PZTuTor.2Tor
  +
scoreboard objectives remove PZTuTor.2Zeit
   
  +
# Der Rüstungsständer wird aus dem Inventar entfernt.
{{bb|2|5|i|4=/execute @e[type=armor_stand,name=Tor2a,tag=Tor2] ~ ~ ~ /clone ~ ~-4 ~ ~6 ~4 ~-1 ~ ~-9 ~12}}
 
  +
clear @a minecraft:armor_stand{EigTuTor.2Alle:true}
   
  +
# Das Tor inklusivem Torrahmen wird durch Luft ersetzt.
  +
execute at @e[type=minecraft:armor_stand,tag=EtiTuTor.2Torrahmen] run fill ^-5 ^ ^-2 ^5 ^11 ^2 minecraft:air replace
   
  +
# Alle Gegenstände und Rüstungsständer werden entfernt.
{{bb|2|6|i|4=/kill @e[type=armor_stand,tag=Tor2] }}
 
  +
tag @e[type=minecraft:item,nbt={Item:{tag:{EigTuTor.2Alle:true} } }] add EtiTuTor.2Alle
  +
kill @e[tag=EtiTuTor.2Alle]
 
}}
 
}}
   
=== Variante 3 ===
+
== Variante 3 ==
 
{{Voraussetzung|
 
{{Voraussetzung|
*[[Schaltkreise/Logikgatter (Befehle)]]
+
*[[Logikgatter (Befehle)]]
*[[Schaltkreise/Impulsgeber (Befehle)]]
+
*[[Impulsgeber (Befehle)]]
*[[Vorrichtungen/Standortsensor (Befehle)]]
+
*[[Standort-Sensor (Befehle)]]
*{{b|/testfor}}
+
*{{mcw|Blickwinkel}}
*{{b|/summon}}
+
*{{mcw|Funktion}}
*{{b|/kill}}
 
*{{b|/execute}}
 
*{{b|/clone}}
 
 
|
 
|
* {{Gridbild|Eisenblock|link}}
+
*{{Gridbild|Hebel|link}}
* {{Gridbild|Goldblock|link}}
+
*{{Gridbild|Redstone-Fackel|link}}
* {{Gridbild|Diamantblock|link}}
+
*{{Gridbild|Befehlsblock|link|stapel=2}}
* {{Gridbild|Hebel|link}}
+
*{{Gridbild|Wiederhol-Befehlsblock|link}}
* {{Gridbild|Redstone|link}}
 
* {{Gridbild|Redstone-Fackel|link}}
 
* {{Gridbild|Redstone-Verstärker|link}}
 
* {{Gridbild|Redstone-Komparator|link}}
 
* {{Gridbild|Befehlsblock|link}}
 
* {{Gridbild|Wiederhol-Befehlsblock|link}}
 
* {{Gridbild|Ketten-Befehlsblock|link}}
 
 
}}
 
}}
{{Bilderfolge|#1#2#3#4#3#2|Anlagen Tür- und Toranlage (Befehle) Animation 3.1.|400px}}
+
{{Bilderfolge|#1|Tür- und Toranlage (Befehle) Bild 3.|400px|list=1}}
{{Bilderfolge|#2|Anlagen Tür- und Toranlage (Befehle) Bild 3.|400px|list=1}}
+
{{Bilderfolge|#1#2#3#4#5#4#3#2|Tür- und Toranlage (Befehle) Animation 3.1.|400px}}
   
  +
Dieses Aufklapptor öffnet die Tore so, dass sie dem Spieler entgegenkommen. Man kann das Tor platzieren, in dem man den Rüstungsständer an einen beliebigen Ort hinstellt. Wenn man sich dem Tor nähert, öffnet es sich automatisch und es schließt sich auch wieder, wenn kein Spieler mehr in der Nähe ist.
Dieses Tor öffnet sich wie eine Tür. Die Tore gehen zur Seite auf und befinden sich dann parallel zur Eingangsrichtung. Wenn man den Hebel umlegt, so wird ein Wiederhol-Befehlsblock aktiv, der nach einem Spieler in der Nähe des Tores sucht{{bb|3|1}}. Die dafür benötigten Rüstungsständer werden ebenfalls beim einschalten gespawnt{{bb|3|2}}{{bb|3|3}}. Wenn sich ein Spieler dem Tor nähert, so erkennt das der Wiederhol-Befehlsblock und löst den angeschlossenen Komparator an seiner Seite aus. Dieser gibt durch einen Impulsgeber ein Signal an die Befehlsblöcke ab, die für die Animation verantwortlich sind. Die Animation besteht aus vier Befehlen{{bb|3|4}}{{bb|3|5}}{{bb|3|6}}{{bb|3|7}}. Entfernt sich der Spieler vom Tor, so wird das invertierte Signal des Komparators an der gegenüberliegende Seite der Befehlsblöcke aktiv, welche die Animation einfach rückwärts abspielen. Dadurch schließt sich das Tor wieder und es befindet sich wieder in Ausgangsstellung. Schaltet man die Anlage ab, so werden die Rüstungsständer wieder gelöscht, in dem eine an der hinteren Seite des Wiederhol-Befehlsblockes befindliche Redstone-Fackel aktiv wird{{bb|3|8}}.
 
  +
  +
;Einschalten
  +
* {{bb|3|1}} Auf dem Wiederhol-Befehlsblock befindet sich ein Hebel. Legt man ihn um, wird zuerst der Befehlsblock mit der Start-Funktion {{f|link=v3start}} aktiviert.
  +
  +
;Wiederholen
  +
* {{bb|3|2}} Gleichzeitig wird auch der Wiederhol-Befehlsblock mit der Zyklus-Funktion {{f|link=v3zyklus}} aktiv.
  +
  +
;Ausschalten
  +
* {{bb|3|3}} der Befehlsblock löst die Funktion {{f|link=v3stopp}} aus.
   
 
{{Ausklappmenü|offen=1|{{bb}}|
 
{{Ausklappmenü|offen=1|{{bb}}|
  +
{{bb|3|1|i|4=function tuer-_und_toranlage:v3start}}
{{bb|3|1|w|4=/execute @e[type=armor_stand,name=Tor3,tag=Tor3] ~ ~ ~ /testfor @p[r=8] }}
 
  +
{{bb|3|2|w|4=function tuer-_und_toranlage:v3zyklus}}
   
   
  +
{{bb|3|3|i|4=function tuer-_und_toranlage:v3stopp}}
{{bb|3|2|i|4=/summon armor_stand ~11 ~ ~-3 {CustomName:Tor3,NoGravity:1b,Invisible:1b,Tags:[Tor3] } }}
 
  +
}}
{{bb|3|3|k|4=/summon armor_stand ~6 ~-3 ~-15 {CustomName:Tor3a,NoGravity:1b,Invisible:1b,Tags:[Tor3] } }}
 
   
  +
{{fü|3|name=Start}}
  +
Die Start-Funktion erstellt die Punkte-Ziele für die Tor-Öffnungszustände und für das Messen der Zeit in Ticks. Darüber hinaus wird den Spielern ein Rüstungsständer gegeben, den man an einer beliebigen Position platzieren kann, um dort ein Tor zu erzeugen.
   
  +
{{f|name=tuer-_und_toranlage:v3start|alias=v3start|1=
{{bb|3|4|i|4=/execute @e[type=armor_stand,name=Tor3a,tag=Tor3] ~ ~ ~ /clone ~ ~ ~ ~10 ~5 ~-5 ~ ~1 ~7}}
 
  +
# Die Punkte-Ziele werden erstellt.
  +
scoreboard objectives add PZTuTor.3Tor dummy ["Tür- und Toranlage.3: ",{"text":"Wert wie weit Tor offen ist","bold":true}]
  +
scoreboard objectives add PZTuTor.3Zeit dummy ["Tür- und Toranlage.3: ",{"text":"Zeit in Ticks","bold":true}]
   
  +
# Den Spielern in einem Umkreis von 15 Blöcken wird der Rüstungsständer für das Tor gegeben.
  +
give @a[distance=..15] minecraft:armor_stand{EigTuTor.3Alle:true,Enchantments:[{id:-1}],display:{Name:'{"text":"Aufklapptor"}',Lore:['"Platziere den Rüstungsständer"','"um das Tor zu erstellen"']},EntityTag:{Small:true,Marker:true,Invisible:true,NoGravity:true,Tags:["EtiTuTor.3Alle","EtiTuTor.3Erstellen"]} } 16
  +
}}
   
{{bb|3|5|i|4=/execute @e[type=armor_stand,name=Tor3a,tag=Tor3] ~ ~ ~ /clone ~ ~ ~-6 ~10 ~5 ~-11 ~ ~1 ~7}}
 
   
  +
{{fü|3|name=Zyklus}}
  +
Die Zyklus-Funktion erstellt den Torrahmen bei Bedarf, zählt in Ticks die Zeit in welchen Zeitabständen sich das Tor öffnen soll und erfasst Spieler in der Nähe des Tors.
   
  +
{{f|name=tuer-_und_toranlage:v3zyklus|alias=v3zyklus|1=
{{bb|3|6|i|4=/execute @e[type=armor_stand,name=Tor3a,tag=Tor3] ~ ~ ~ /clone ~ ~ ~-12 ~10 ~5 ~-17 ~ ~1 ~7}}
 
  +
# Wenn der Spieler den Rüstungsständer platziert hat, so wird die Erstellen-Funktion durch diesen aufgerufen.
  +
execute as @e[type=minecraft:armor_stand,tag=EtiTuTor.3Erstellen] at @s run function tuer-_und_toranlage:v3erstellen
   
  +
# Jeden Tick wird der Wert des Rüstungsständers um eins hochgezählt und nur wenn er den Wert zehn erreicht wird er wieder auf null gesetzt.
  +
execute as @e[type=minecraft:armor_stand,tag=EtiTuTor.3Torrahmen] store result score @s PZTuTor.3Zeit run scoreboard players add @s[scores={PZTuTor.3Zeit=..10}] PZTuTor.3Zeit 1
   
  +
# Einmal nach zehn Ticks wird geprüft kein Spieler sich im Umkreis von acht Blöcken am Tor befindet und nur dann wird das Etikett entfernt.
{{bb|3|7|i|4=/execute @e[type=armor_stand,name=Tor3a,tag=Tor3] ~ ~ ~ /clone ~ ~ ~-18 ~10 ~5 ~-23 ~ ~1 ~7}}
 
  +
execute as @e[type=minecraft:armor_stand,tag=EtiTuTor.3SpielerBeimTor,scores={PZTuTor.3Zeit=1}] at @s unless entity @p[distance=..10,gamemode=!spectator] run tag @s remove EtiTuTor.3SpielerBeimTor
   
  +
# Es wird geprüft ob sich ein Spieler im Umkreis von acht Blöcken am Tor befindet, nur dann wird dem Rüstungsständer ein Etikett gegeben und sein Wert für die Zeit auf eins gesetzt.
  +
execute as @e[type=minecraft:armor_stand,tag=EtiTuTor.3Torrahmen,tag=!EtiTuTor.3SpielerBeimTor] at @s if entity @p[distance=..10,gamemode=!spectator] store success score @s PZTuTor.3Zeit run tag @s add EtiTuTor.3SpielerBeimTor
   
  +
# Einmal alle zehn Ticks wird vom Rüstungsständer aus die Tor-Funktion aufgerufen.
{{bb|3|8|i|4=/kill @e[type=armor_stand,tag=Tor3] }}
 
  +
execute as @e[type=minecraft:armor_stand,tag=EtiTuTor.3Torrahmen,scores={PZTuTor.3Zeit=1}] at @s positioned ~ ~1 ~ run function tuer-_und_toranlage:v3tor
 
}}
 
}}
   
  +
<!--== Phantomblock-Projektion ==
 
  +
{{fü|3|name=Erstellen}}
  +
Die Erstellen-Funktion prüft in welche Richtung der platzierte Rüstungsständer schaut und platziert basierend auf der Himmelsrichtung den Torrahmen entsprechend.
  +
  +
{{f|name=tuer-_und_toranlage:v3erstellen|1=
  +
# Es wird getestet in welche der vier Himmelsrichtungen der Rüstungsständer schaut und danach wird er entsprechend ausgerichtet und erhält neue Etiketten.
  +
data merge entity @s[y_rotation=135..-135] {Rotation:[0.0f,0.0f],Tags:["EtiTuTor.3Alle","EtiTuTor.3Torrahmen","EtiTuTor.3Sueden"]}
  +
data merge entity @s[y_rotation=-135..-45,tag=EtiTuTor.3Erstellen] {Rotation:[90.0f,0.0f],Tags:["EtiTuTor.3Alle","EtiTuTor.3Torrahmen","EtiTuTor.3Westen"]}
  +
data merge entity @s[y_rotation=-45..45,tag=EtiTuTor.3Erstellen] {Rotation:[180.0f,0.0f],Tags:["EtiTuTor.3Alle","EtiTuTor.3Torrahmen","EtiTuTor.3Norden"]}
  +
data merge entity @s[y_rotation=45..135,tag=EtiTuTor.3Erstellen] {Rotation:[270.0f,0.0f],Tags:["EtiTuTor.3Alle","EtiTuTor.3Torrahmen","EtiTuTor.3Osten"]}
  +
  +
# Ein Konstruktionsblock wird gesetzt.
  +
setblock ~ ~ ~ minecraft:structure_block{mode:"LOAD"} replace
  +
  +
# Je nach Himmelsrichtung bekommt der Konstruktionsblock entsprechende Daten übermittelt um den Torrahmen entsprechend zu laden.
  +
execute if entity @s[tag=EtiTuTor.3Sueden] run data merge block ~ ~ ~ {rotation:"COUNTERCLOCKWISE_90",posX:-5,posY:0,posZ:3,name:"tuer-_und_toranlage:v3torrahmen"}
  +
execute if entity @s[tag=EtiTuTor.3Westen] run data merge block ~ ~ ~ {rotation:"NONE",posX:-3,posY:0,posZ:-5,name:"tuer-_und_toranlage:v3torrahmen"}
  +
execute if entity @s[tag=EtiTuTor.3Norden] run data merge block ~ ~ ~ {rotation:"CLOCKWISE_90",posX:5,posY:0,posZ:-3,name:"tuer-_und_toranlage:v3torrahmen"}
  +
execute if entity @s[tag=EtiTuTor.3Osten] run data merge block ~ ~ ~ {rotation:"CLOCKWISE_180",posX:3,posY:0,posZ:5,name:"tuer-_und_toranlage:v3torrahmen"}
  +
  +
# Ein Redstone-Block wird gesetzt um den Konstruktionsblock zu aktivieren.
  +
setblock ~1 ~ ~ minecraft:redstone_block replace
  +
  +
# Der Wert für die Tor-Öffnungszustände wird auf null gesetzt.
  +
scoreboard players set @s PZTuTor.3Tor 0
  +
}}
  +
  +
  +
{{fü|3|name=Tor}}
  +
Die Tor-Funktion speichert die Tor-Öffnungszustände und lädt mit Konstruktionsblöcken verschiedene Tor-Konstruktionen die dem aktuellen Tor-Öffnungs-Winkel entsprechen.
  +
  +
{{f|name=tuer-_und_toranlage:v3tor|1=
  +
# Je nach dem ob das Tor geöffnet oder geschlossen werden soll, wird für diesen Rüstungsständer der Wert hoch oder runtergezählt.
  +
scoreboard players remove @s[tag=!EtiTuTor.3SpielerBeimTor,scores={PZTuTor.3Tor=1..}] PZTuTor.3Tor 1
  +
scoreboard players add @s[tag=EtiTuTor.3SpielerBeimTor,scores={PZTuTor.3Tor=..3}] PZTuTor.3Tor 1
  +
  +
# Zwei Konstruktionsblöcke werden an den Seiten platziert, um dort die beiden Tore zu laden.
  +
setblock ^3 ^ ^ minecraft:structure_block{mode:"LOAD",mirror:"NONE",name:"tuer-_und_toranlage:v3tor_1"} replace
  +
setblock ^-3 ^ ^ minecraft:structure_block{mode:"LOAD",mirror:"FRONT_BACK",name:"tuer-_und_toranlage:v3tor_1"} replace
  +
execute if entity @s[scores={PZTuTor.3Tor=3..4}] run data merge block ^3 ^ ^ {mirror:"LEFT_RIGHT"}
  +
execute if entity @s[scores={PZTuTor.3Tor=3..4}] run data merge block ^-3 ^ ^ {mirror:"NONE"}
  +
  +
# Je nach Ausrichtung des Torrahmens, werden die Konstruktionsblöcke mit entsprechenden Daten ausgestattet. Auch die Tor-Öffnungsstufe wird berücksichtigt.
  +
execute if entity @s[tag=EtiTuTor.3Sueden] run data merge block ^3 ^ ^ {rotation:"COUNTERCLOCKWISE_90",posX:-3,posY:0,posZ:3}
  +
execute if entity @s[tag=EtiTuTor.3Sueden] run data merge block ^-3 ^ ^ {rotation:"CLOCKWISE_90",posX:3,posY:0,posZ:3}
  +
execute if entity @s[tag=EtiTuTor.3Sueden,scores={PZTuTor.3Tor=3..4}] run data merge block ^3 ^ ^ {rotation:"NONE"}
  +
execute if entity @s[tag=EtiTuTor.3Sueden,scores={PZTuTor.3Tor=3..4}] run data merge block ^-3 ^ ^ {rotation:"CLOCKWISE_180"}
  +
  +
execute if entity @s[tag=EtiTuTor.3Westen] run data merge block ^3 ^ ^ {rotation:"NONE",posX:-3,posY:0,posZ:-3}
  +
execute if entity @s[tag=EtiTuTor.3Westen] run data merge block ^-3 ^ ^ {rotation:"CLOCKWISE_180",posX:-3,posY:0,posZ:3}
  +
execute if entity @s[tag=EtiTuTor.3Westen,scores={PZTuTor.3Tor=3..4}] run data merge block ^3 ^ ^ {rotation:"CLOCKWISE_90"}
  +
execute if entity @s[tag=EtiTuTor.3Westen,scores={PZTuTor.3Tor=3..4}] run data merge block ^-3 ^ ^ {rotation:"COUNTERCLOCKWISE_90"}
  +
  +
execute if entity @s[tag=EtiTuTor.3Norden] run data merge block ^3 ^ ^ {rotation:"CLOCKWISE_90",posX:3,posY:0,posZ:-3}
  +
execute if entity @s[tag=EtiTuTor.3Norden] run data merge block ^-3 ^ ^ {rotation:"COUNTERCLOCKWISE_90",posX:-3,posY:0,posZ:-3}
  +
execute if entity @s[tag=EtiTuTor.3Norden,scores={PZTuTor.3Tor=3..4}] run data merge block ^3 ^ ^ {rotation:"CLOCKWISE_180"}
  +
execute if entity @s[tag=EtiTuTor.3Norden,scores={PZTuTor.3Tor=3..4}] run data merge block ^-3 ^ ^ {rotation:"NONE"}
  +
  +
execute if entity @s[tag=EtiTuTor.3Osten] run data merge block ^3 ^ ^ {rotation:"CLOCKWISE_180",posX:3,posY:0,posZ:3}
  +
execute if entity @s[tag=EtiTuTor.3Osten] run data merge block ^-3 ^ ^ {rotation:"NONE",posX:3,posY:0,posZ:-3}
  +
execute if entity @s[tag=EtiTuTor.3Osten,scores={PZTuTor.3Tor=3..4}] run data merge block ^3 ^ ^ {rotation:"COUNTERCLOCKWISE_90"}
  +
execute if entity @s[tag=EtiTuTor.3Osten,scores={PZTuTor.3Tor=3..4}] run data merge block ^-3 ^ ^ {rotation:"CLOCKWISE_90"}
  +
  +
# Je nach Tor-Öffnung wird ein anderes Tor geladen, damit das Tor die entsprechende Tor-Animation durchläuft.
  +
execute if entity @s[scores={PZTuTor.3Tor=1..3}] run data merge block ^3 ^ ^ {name:"tuer-_und_toranlage:v3tor_2"}
  +
execute if entity @s[scores={PZTuTor.3Tor=1..3}] run data merge block ^-3 ^ ^ {name:"tuer-_und_toranlage:v3tor_2"}
  +
  +
execute if entity @s[scores={PZTuTor.3Tor=2}] run data merge block ^3 ^ ^ {name:"tuer-_und_toranlage:v3tor_3"}
  +
execute if entity @s[scores={PZTuTor.3Tor=2}] run data merge block ^-3 ^ ^ {name:"tuer-_und_toranlage:v3tor_3"}
  +
  +
# Es wird eine Reihe an Redstone-Blöcken platziert, die beide Konstruktionsblöcke aktiviert.
  +
fill ^2 ^ ^ ^-2 ^ ^ minecraft:redstone_block replace
  +
}}
  +
  +
  +
{{fü|3|name=Stopp}}
  +
Die Stopp-Funktion löscht die Punkte-Ziele, das Tor samt Torrahmen und den Rüstungsständer in der Hand und davon platzierte.
  +
  +
{{f|name=tuer-_und_toranlage:v3stopp|alias=v3stopp|1=
  +
# Die Punkte-Ziele werden entfernt.
  +
scoreboard objectives remove PZTuTor.3Tor
  +
scoreboard objectives remove PZTuTor.3Zeit
  +
  +
# Der Rüstungsständer wird aus dem Inventar entfernt.
  +
clear @a minecraft:armor_stand{EigTuTor.3Alle:true}
  +
  +
# Das Tor inklusivem Torrahmen wird durch Luft ersetzt.
  +
execute at @e[type=minecraft:armor_stand,tag=EtiTuTor.3Torrahmen] run fill ^-5 ^ ^-2 ^5 ^8 ^3 minecraft:air replace
  +
  +
# Alle Gegenstände und Rüstungsständer werden entfernt.
  +
tag @e[type=minecraft:item,nbt={Item:{tag:{EigTuTor.3Alle:true} } }] add EtiTuTor.3Alle
  +
kill @e[tag=EtiTuTor.3Alle]
  +
}}
  +
  +
== Variante 4 ==
 
{{Voraussetzung|
 
{{Voraussetzung|
*[[Schaltkreise/Logikgatter (Befehle)]]
+
*[[Logikgatter (Befehle)]]
*[[Schaltkreise/Impulsgeber (Befehle)]]
+
*[[Impulsgeber (Befehle)]]
*[[Vorrichtungen/Standortsensor (Befehle)]]
+
*[[Standort-Sensor (Befehle)]]
*{{b|/testfor}}
+
*{{mcw|Blickwinkel}}
*{{b|/summon}}
+
*{{mcw|Funktion}}
*{{b|/kill}}
 
*{{b|/execute}}
 
*{{b|/clone}}
 
 
|
 
|
* {{Gridbild|Eisenblock|link}}
+
*{{Gridbild|Hebel|link}}
* {{Gridbild|Goldblock|link}}
+
*{{Gridbild|Redstone-Fackel|link}}
* {{Gridbild|Diamantblock|link}}
+
*{{Gridbild|Befehlsblock|link|stapel=2}}
* {{Gridbild|Hebel|link}}
+
*{{Gridbild|Wiederhol-Befehlsblock|link}}
  +
}}
* {{Gridbild|Redstone|link}}
 
  +
{{Bilderfolge|#1|Tür- und Toranlage (Befehle) Bild 4.|400px|list=1}}
* {{Gridbild|Redstone-Fackel|link}}
 
  +
{{Bilderfolge|#1#2#3#4#5#4#3#2|Tür- und Toranlage (Befehle) Animation 4.1.|400px}}
* {{Gridbild|Redstone-Verstärker|link}}
 
  +
* {{Gridbild|Redstone-Komparator|link}}
 
  +
Dieses Tor öffnet sich, in dem die Tor-Blöcke, welche fallende Blöcke auf Rüstungsständer sind, sich nach allen Richtungen nach außen bewegen, bis sie komplett verschwinden. Wenn es sich schließt bewegen sich alle Tor-Blöcke Richtung Zentrum, bis diese wieder komplett solide sind. Man kann das Tor in allen vier Himmelsrichtungen platzieren und man platziert es durch einen speziellen Rüstungsständer.
* {{Gridbild|Befehlsblock|link}}
 
  +
* {{Gridbild|Wiederhol-Befehlsblock|link}}
 
  +
;Einschalten
* {{Gridbild|Ketten-Befehlsblock|link}}
 
  +
* {{bb|4|1}} Auf dem Wiederhol-Befehlsblock befindet sich ein Hebel. Legt man ihn um, wird zuerst der Befehlsblock mit der Start-Funktion {{f|link=v4start}} aktiviert.
  +
  +
;Wiederholen
  +
* {{bb|4|2}} Gleichzeitig wird auch der Wiederhol-Befehlsblock mit der Zyklus-Funktion {{f|link=v4zyklus}} aktiv.
  +
  +
;Ausschalten
  +
* {{bb|4|3}} der Befehlsblock löst die Funktion {{f|link=v4stopp}} aus.
  +
  +
{{Ausklappmenü|offen=1|{{bb}}|
  +
{{bb|4|1|i|4=function tuer-_und_toranlage:v4start}}
  +
{{bb|4|2|w|4=function tuer-_und_toranlage:v4zyklus}}
  +
  +
  +
{{bb|4|3|i|4=function tuer-_und_toranlage:v4stopp}}
  +
}}
  +
  +
{{fü|4|name=Start}}
  +
Die Start-Funktion erstellt die Punkte-Ziele für die Tor-Öffnungszustände und für das Messen der Zeit in Ticks. Darüber hinaus wird den Spielern ein Rüstungsständer gegeben, den man an einer beliebigen Position platzieren kann, um dort ein Tor zu erzeugen.
  +
  +
{{f|name=tuer-_und_toranlage:v4start|alias=v4start|1=
  +
# Die Punkte-Ziele werden erstellt.
  +
scoreboard objectives add PZTuTor.4Tor dummy ["Tür- und Toranlage.4: ",{"text":"Wert wie weit Tor offen ist","bold":true}]
  +
scoreboard objectives add PZTuTor.4Zeit dummy ["Tür- und Toranlage.4: ",{"text":"Zeit in Ticks","bold":true}]
  +
  +
# Den Spielern in einem Umkreis von 15 Blöcken wird der Rüstungsständer für das Tor gegeben.
  +
give @a[distance=..15] minecraft:armor_stand{EigTuTor.4Alle:true,Enchantments:[{id:-1}],display:{Name:'{"text":"Auflösetor"}',Lore:['"Platziere den Rüstungsständer"','"um das Tor zu erstellen"']},EntityTag:{Small:true,Marker:true,Invisible:true,NoGravity:true,Tags:["EtiTuTor.4Alle","EtiTuTor.4Erstellen"]} } 16
  +
}}
  +
  +
  +
{{fü|4|name=Zyklus}}
  +
Die Zyklus-Funktion erstellt den Torrahmen bei Bedarf, zählt in Ticks die Zeit in welchen Zeitabständen sich das Tor öffnen soll und erfasst Spieler in der Nähe des Tors.
  +
  +
{{f|name=tuer-_und_toranlage:v4zyklus|alias=v4zyklus|1=
  +
# Wenn der Spieler den Rüstungsständer platziert hat, so wird die Erstellen-Funktion durch ihn aufgerufen.
  +
execute as @e[type=minecraft:armor_stand,tag=EtiTuTor.4Erstellen] at @s run function tuer-_und_toranlage:v4erstellen
  +
  +
# Jeden Tick wird der Wert des Rüstungsständers um eins hochgezählt und nur wenn er den Wert vier erreicht wird er wieder auf null gesetzt.
  +
execute as @e[type=minecraft:armor_stand,tag=EtiTuTor.4Torrahmen] store result score @s PZTuTor.4Zeit run scoreboard players add @s[scores={PZTuTor.4Zeit=..4}] PZTuTor.4Zeit 1
  +
  +
# Einmal nach vier Ticks wird geprüft kein Spieler sich im Umkreis von acht Blöcken am Tor befindet und nur dann wird das Etikett entfernt.
  +
execute as @e[type=minecraft:armor_stand,tag=EtiTuTor.4SpielerBeimTor,scores={PZTuTor.4Zeit=1}] at @s unless entity @p[distance=..8,gamemode=!spectator] run tag @s remove EtiTuTor.4SpielerBeimTor
  +
  +
# Es wird geprüft ob sich ein Spieler im Umkreis von acht Blöcken am Tor befindet, nur dann wird dem Rüstungsständer ein Etikett gegeben und sein Wert für die Zeit auf eins gesetzt.
  +
execute as @e[type=minecraft:armor_stand,tag=EtiTuTor.4Torrahmen,tag=!EtiTuTor.4SpielerBeimTor] at @s if entity @p[distance=..8,gamemode=!spectator] store success score @s PZTuTor.4Zeit run tag @s add EtiTuTor.4SpielerBeimTor
  +
  +
# Einmal alle vier Ticks wird vom Rüstungsständer aus die Tor-Funktion aufgerufen.
  +
execute as @e[type=minecraft:armor_stand,tag=EtiTuTor.4Torrahmen,scores={PZTuTor.4Zeit=1}] at @s positioned ~ ~1 ~ run function tuer-_und_toranlage:v4tor
  +
}}
  +
  +
  +
{{fü|4|name=Erstellen}}
  +
Die Erstellen-Funktion prüft in welche Richtung der platzierte Rüstungsständer schaut und platziert basierend auf der Himmelsrichtung den Torrahmen entsprechend. Es werden ebenfalls neun Rüstungsständer für das bewegende Tor erzeugt.
  +
  +
{{f|name=tuer-_und_toranlage:v4erstellen|1=
  +
# Je nach dem ob der Rüstungsständer in Richtung der Pole oder dem Äquator schaut, wird er entsprechend ausgerichtet und er bekommt neue Etikette.
  +
execute if entity @s[y_rotation=-135..135] unless entity @s[y_rotation=-45..45] run data merge entity @s {Rotation:[90.0f,0.0f],Tags:["EtiTuTor.4Alle","EtiTuTor.4Torrahmen","EtiTuTor.4Aequator"]}
  +
execute if entity @s[y_rotation=135..45] unless entity @s[y_rotation=-135..-45] run data merge entity @s {Rotation:[0.0f,0.0f],Tags:["EtiTuTor.4Alle","EtiTuTor.4Torrahmen","EtiTuTor.4Pole"]}
  +
  +
# Je nach Richtung wird ein entsprechender Konstruktionsblock platziert, der den Torrahmen lädt.
  +
execute if entity @s[tag=EtiTuTor.4Aequator] run setblock ~ ~ ~ minecraft:structure_block{mode:"LOAD",rotation:"NONE",posX:-1,posY:0,posZ:-3,name:"tuer-_und_toranlage:v4torrahmen"} replace
  +
execute if entity @s[tag=EtiTuTor.4Pole] run setblock ~ ~ ~ minecraft:structure_block{mode:"LOAD",rotation:"CLOCKWISE_90",posX:3,posY:0,posZ:-1,name:"tuer-_und_toranlage:v4torrahmen"} replace
  +
  +
# Der Redstone-Block aktiviert den Konstruktionsblock.
  +
setblock ~1 ~ ~ minecraft:redstone_block replace
  +
  +
# Der Wert für die Tor-Öffnungszustände wird auf null gesetzt.
  +
scoreboard players set @s PZTuTor.4Tor 0
  +
  +
# Es werden neun unsichtbare Rüstungsständer erzeugt, von denen aus sich die Tor-Blöcke bewegen sollen.
  +
summon minecraft:armor_stand ~ ~ ~ {Small:true,Invisible:true,NoGravity:true,Tags:["EtiTuTor.4Alle","EtiTuTor.4TorPosition"]}
  +
summon minecraft:armor_stand ^1 ^ ^ {Small:true,Invisible:true,NoGravity:true,Tags:["EtiTuTor.4Alle","EtiTuTor.4TorPosition"]}
  +
summon minecraft:armor_stand ^-1 ^ ^ {Small:true,Invisible:true,NoGravity:true,Tags:["EtiTuTor.4Alle","EtiTuTor.4TorPosition"]}
  +
  +
summon minecraft:armor_stand ~ ~1 ~ {Small:true,Invisible:true,NoGravity:true,Tags:["EtiTuTor.4Alle","EtiTuTor.4TorPosition","EtiTuTor.4TorMitte"]}
  +
summon minecraft:armor_stand ^1 ^1 ^ {Small:true,Invisible:true,NoGravity:true,Tags:["EtiTuTor.4Alle","EtiTuTor.4TorPosition"]}
  +
summon minecraft:armor_stand ^-1 ^1 ^ {Small:true,Invisible:true,NoGravity:true,Tags:["EtiTuTor.4Alle","EtiTuTor.4TorPosition"]}
  +
  +
summon minecraft:armor_stand ~ ~2 ~ {Small:true,Invisible:true,NoGravity:true,Tags:["EtiTuTor.4Alle","EtiTuTor.4TorPosition"]}
  +
summon minecraft:armor_stand ^1 ^2 ^ {Small:true,Invisible:true,NoGravity:true,Tags:["EtiTuTor.4Alle","EtiTuTor.4TorPosition"]}
  +
summon minecraft:armor_stand ^-1 ^2 ^ {Small:true,Invisible:true,NoGravity:true,Tags:["EtiTuTor.4Alle","EtiTuTor.4TorPosition"]}
  +
}}
  +
  +
  +
{{fü|4|name=Tor}}
  +
Die Tor-Funktion erzeugt je nach Bedarf fallende Blöcke und bewegt diese nach außen oder innen. Dadurch öffnet sich das Tor wenn Spieler durchgehen wollen und es schließt wieder, wenn kein Spieler mehr anwesend ist.
  +
  +
{{f|name=tuer-_und_toranlage:v4tor|1=
  +
# Je nach dem ob das Tor geöffnet oder geschlossen werden soll, wird für diesen Rüstungsständer der Wert hoch oder runtergezählt.
  +
scoreboard players remove @s[tag=!EtiTuTor.4SpielerBeimTor,scores={PZTuTor.4Tor=1..}] PZTuTor.4Tor 1
  +
scoreboard players add @s[tag=EtiTuTor.4SpielerBeimTor,scores={PZTuTor.4Tor=..9}] PZTuTor.4Tor 1
  +
  +
# Wenn das Tor sich schließen soll, werden an den Positionen der Tor-Rüstungsständer fallende Blöcke erzeugt, die sich von der Mitte aus um 1.6 Blöcke weit entfernt befinden.
  +
execute if entity @s[tag=!EtiTuTor.4SpielerBeimTor,scores={PZTuTor.4Tor=9}] at @e[distance=..10,type=minecraft:armor_stand,tag=EtiTuTor.4TorPosition] facing entity @e[tag=EtiTuTor.4TorMitte,sort=nearest,limit=1] feet run summon minecraft:armor_stand ^ ^ ^-1.6 {Invisible:true,NoGravity:true,Tags:["EtiTuTor.4Alle","EtiTuTor.4Tor","EtiTuTor.4TorBewegen"],Passengers:[{id:"minecraft:falling_block",NoGravity:true,Time:-2147483648,Tags:["EtiTuTor.4Alle","EtiTuTor.4Tor"],BlockState:{Name:"minecraft:diamond_block"} } ] }
  +
  +
# Wenn das Tor sich öffnen soll, werden fallende Blöcke auf Rüstungsständer an der Tor-Position erezugt.
  +
execute if entity @s[tag=EtiTuTor.4SpielerBeimTor,scores={PZTuTor.4Tor=1}] at @e[distance=..10,type=minecraft:armor_stand,tag=EtiTuTor.4TorPosition] run summon minecraft:armor_stand ~ ~ ~ {Invisible:true,NoGravity:true,Tags:["EtiTuTor.4Alle","EtiTuTor.4Tor","EtiTuTor.4TorBewegen"],Passengers:[{id:"minecraft:falling_block",NoGravity:true,Time:-2147483648,Tags:["EtiTuTor.4Alle","EtiTuTor.4Tor"],BlockState:{Name:"minecraft:diamond_block"} } ] }
  +
  +
# Wurde das Tor gerade verschlossen oder komplett geöffnet, werden die fallenden Blöcke entfernt.
  +
execute if entity @s[tag=!EtiTuTor.4SpielerBeimTor,scores={PZTuTor.4Tor=0}] run kill @e[distance=..5,tag=EtiTuTor.4Tor]
  +
execute if entity @s[tag=EtiTuTor.4SpielerBeimTor,scores={PZTuTor.4Tor=10}] run kill @e[distance=..5,tag=EtiTuTor.4Tor]
  +
  +
# Wenn das Tor verschlossen sein soll, werden Diamantblöcke erzeugt und wenn es offen sein soll, wird Luft platziert.
  +
execute if entity @s[scores={PZTuTor.4Tor=0}] run fill ^-1 ^ ^ ^1 ^2 ^ minecraft:diamond_block replace
  +
execute if entity @s[scores={PZTuTor.4Tor=1}] run fill ^-1 ^ ^ ^1 ^2 ^ minecraft:air replace
  +
  +
# Je nach dem ob das Tor sich öffnen oder schließen soll, werden die fallenden Blöcke nach außen oder nach innen bewegt.
  +
execute if entity @s[tag=EtiTuTor.4SpielerBeimTor,scores={PZTuTor.4Tor=1..9}] as @e[distance=..3,type=minecraft:armor_stand,tag=EtiTuTor.4Tor] at @s run teleport @s ^ ^ ^-0.2 facing entity @e[tag=EtiTuTor.4TorMitte,sort=nearest,limit=1] feet
  +
execute if entity @s[tag=!EtiTuTor.4SpielerBeimTor,scores={PZTuTor.4Tor=1..9}] as @e[distance=..5,type=minecraft:armor_stand,tag=EtiTuTor.4Tor] at @s run teleport @s ^ ^ ^0.2 facing entity @e[tag=EtiTuTor.4TorMitte,sort=nearest,limit=1] feet
  +
}}
  +
  +
  +
{{fü|4|name=Stopp}}
  +
Die Stopp-Funktion löscht die Punkte-Ziele, das Tor samt Torrahmen und den Rüstungsständer in der Hand und davon platzierte.
  +
  +
{{f|name=tuer-_und_toranlage:v4stopp|alias=v4stopp|1=
  +
# Die Punkte-Ziele werden entfernt.
  +
scoreboard objectives remove PZTuTor.4Tor
  +
scoreboard objectives remove PZTuTor.4Zeit
  +
  +
# Der Rüstungsständer wird aus dem Inventar entfernt.
  +
clear @a minecraft:armor_stand{EigTuTor.4Alle:true}
  +
  +
# Das Tor inklusivem Torrahmen wird durch Luft ersetzt.
  +
execute at @e[type=minecraft:armor_stand,tag=EtiTuTor.4Torrahmen] run fill ^-3 ^ ^-1 ^3 ^5 ^1 minecraft:air replace
  +
  +
# Alle Gegenstände und Rüstungsständer werden entfernt.
  +
tag @e[type=minecraft:item,nbt={Item:{tag:{tuer-_und_toranlage:"v1gegenstand"} } }] add EtiTuTor.4Alle
  +
kill @e[tag=EtiTuTor.4Alle]
 
}}
 
}}
   
Man kann mit Hilfe von fallenden Blöcken auch Tore erbauen, die aus diesen bestehen und nur für den Spieler so aussehen, als seien sie echte Blöcke. Dadurch kann man die Tore auf so eine kuriose Art öffnen lassen wie man es sonst von Blockkonstruktionen nicht gewöhnt ist. -->
 
   
 
{{Unterseite|
 
{{Unterseite|

Aktuelle Version vom 23. August 2020, 14:31 Uhr

Gruppe: Grid Klebriger Kolben
Anlagen

Grid Roter Sand mit Mechaniken

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

Grid Redstone-Block mehr Redstone

Mit Befehlen und Funktionen lassen sich Tür- und Toranlagen in beliebigen Größen und mit verschiedenen Blöcken konstruieren. Die Tore und die Torrahmen können durch einen Konstruktionsblock gespeichert sein und werden dort durch einen Konstruktionsblock geladen, wo man sie einsetzen möchte. Die Tore sind an beliebigen Orten platzierbar und nicht von bestimmten Koordinaten abhängig. Die Tore öffnen sich automatisch, sobald man in einem Mindestabstand zu diesen sich befindet.

Variante 1

Tür- und Toranlage (Befehle) Bild 1.1 Tür- und Toranlage (Befehle) Animation 1.1.1 Tür- und Toranlage (Befehle) Animation 1.1.2 Tür- und Toranlage (Befehle) Animation 1.1.3 Tür- und Toranlage (Befehle) Animation 1.1.4 Tür- und Toranlage (Befehle) Animation 1.1.3 Tür- und Toranlage (Befehle) Animation 1.1.2

Dieses Tor öffnet sich wie eine Schiebetür. Beide Tore bewegen sich von der Mitte nach außen. Das Tor samt Torrahmen kann durch einen speziellen Rüstungsständer, den man erhält, erstellt werden. Das Tor kann in alle vier Himmelsrichtungen ausgerichtet werden und es öffnet sich automatisch, sobald ein Spieler sich in der Nähe befindet. Es schließt sich, sobald kein Spieler mehr in der Nähe ist.

Einschalten
Wiederholen
Ausschalten

Befehlsblöcke mit Befehlen:


Variante 1: Start-Funktion
Die Start-Funktion erstellt die Punkte-Ziele für die Tor-Öffnungszustände und für das Messen der Zeit in Ticks. Darüber hinaus wird den Spielern ein Rüstungsständer gegeben, den man an einer beliebigen Position platzieren kann, um dort ein Tor zu erzeugen.

Editor Icon tuer-_und_toranlage:v1start.mcfunction
# Die Punkte-Ziele werden erstellt.
scoreboard objectives add PZTuTor.1Tor dummy ["Tür- und Toranlage.1: ",{"text":"Wert wie weit Tor offen ist","bold":true}]
scoreboard objectives add PZTuTor.1Zeit dummy ["Tür- und Toranlage.1: ",{"text":"Zeit in Ticks","bold":true}]

# Den Spielern in einem Umkreis von 15 Blöcken wird der Rüstungsständer für das Tor gegeben.
give @a[distance=..15] minecraft:armor_stand{EigTuTor.1Alle:true,Enchantments:[{id:-1}],display:{Name:'{"text":"Schiebetor"}',Lore:['"Platziere den Rüstungsständer"','"um das Tor zu erstellen"']},EntityTag:{Small:true,Marker:true,Invisible:true,NoGravity:true,Tags:["EtiTuTor.1Alle","EtiTuTor.1Erstellen"]} } 16


Variante 1: Zyklus-Funktion
Die Zyklus-Funktion erstellt den Torrahmen bei Bedarf, zählt in Ticks die Zeit in welchen Zeitabständen sich das Tor öffnen soll und erfasst Spieler in der Nähe des Tors.

Editor Icon tuer-_und_toranlage:v1zyklus.mcfunction
# Wenn der Spieler den Rüstungsständer platziert hat, so wird die Erstellen-Funktion durch diesen aufgerufen.
execute as @e[type=minecraft:armor_stand,tag=EtiTuTor.1Erstellen] at @s run function tuer-_und_toranlage:v1erstellen

# Jeden Tick wird der Wert des Rüstungsständers um eins hochgezählt und nur wenn er den Wert zehn erreicht wird er wieder auf null gesetzt.
execute as @e[type=minecraft:armor_stand,tag=EtiTuTor.1Torrahmen] store result score @s PZTuTor.1Zeit run scoreboard players add @s[scores={PZTuTor.1Zeit=..10}] PZTuTor.1Zeit 1

# Einmal nach zehn Ticks wird geprüft kein Spieler sich im Umkreis von acht Blöcken am Tor befindet und nur dann wird das Etikett entfernt.
execute as @e[type=minecraft:armor_stand,tag=EtiTuTor.1SpielerBeimTor,scores={PZTuTor.1Zeit=1}] at @s unless entity @p[distance=..8,gamemode=!spectator] run tag @s remove EtiTuTor.1SpielerBeimTor

# Es wird geprüft ob sich ein Spieler im Umkreis von acht Blöcken am Tor befindet, nur dann wird dem Rüstungsständer ein Etikett gegeben und sein Wert für die Zeit auf eins gesetzt.
execute as @e[type=minecraft:armor_stand,tag=EtiTuTor.1Torrahmen,tag=!EtiTuTor.1SpielerBeimTor] at @s if entity @p[distance=..8,gamemode=!spectator] store success score @s PZTuTor.1Zeit run tag @s add EtiTuTor.1SpielerBeimTor

# Einmal alle zehn Ticks wird vom Rüstungsständer aus die Tor-Funktion aufgerufen.
execute as @e[type=minecraft:armor_stand,tag=EtiTuTor.1Torrahmen,scores={PZTuTor.1Zeit=1}] at @s positioned ~ ~1 ~ run function tuer-_und_toranlage:v1tor


Variante 1: Erstellen-Funktion
Die Erstellen-Funktion prüft die Blickrichtung des platzierten Rüstungsständers und richtet ihn Himmelsrichtungsbezogen neu aus und platziert den Torrahmen für das Tor.

Editor Icon tuer-_und_toranlage:v1erstellen.mcfunction
# Je nach dem ob der Rüstungsständer in Richtung der Pole oder dem Äquator schaut, wird er entsprechend ausgerichtet und er bekommt neue Etikette.
execute if entity @s[y_rotation=-135..135] unless entity @s[y_rotation=-45..45] run data merge entity @s {Rotation:[90.0f,0.0f],Tags:["EtiTuTor.1Alle","EtiTuTor.1Torrahmen","EtiTuTor.1Aequator"]}
execute if entity @s[y_rotation=135..45] unless entity @s[y_rotation=-135..-45] run data merge entity @s {Rotation:[0.0f,0.0f],Tags:["EtiTuTor.1Alle","EtiTuTor.1Torrahmen","EtiTuTor.1Pole"]}

# Je nach Richtung wird ein entsprechender Konstruktionsblock platziert, der den Torrahmen lädt.
execute if entity @s[tag=EtiTuTor.1Aequator] run setblock ~ ~ ~ minecraft:structure_block{mode:"LOAD",rotation:"NONE",posX:-2,posY:0,posZ:-4,name:"tuer-_und_toranlage:v1torrahmen"} replace
execute if entity @s[tag=EtiTuTor.1Pole] run setblock ~ ~ ~ minecraft:structure_block{mode:"LOAD",rotation:"CLOCKWISE_90",posX:4,posY:0,posZ:-2,name:"tuer-_und_toranlage:v1torrahmen"} replace

# Der Redstone-Block aktiviert den Konstruktionsblock.
setblock ~1 ~ ~ minecraft:redstone_block replace

# Der Wert für die Tor-Öffnungszustände wird auf null gesetzt.
scoreboard players set @s PZTuTor.1Tor 0


Variante 1: Tor-Funktion
Die Tor-Funktion leitet das eigentliche Öffnen und Schließen des Tores ein. Mit Punkte-Werten wird berechnet wie weit sich das Tor öffnen oder schließen muss. Sie platziert beide Tore und ruft abwechselnd die Tor-Bewegen-Funktion auf welche die Tore schlussendlich bewegt.

Editor Icon tuer-_und_toranlage:v1tor.mcfunction
# Je nach dem ob das Tor geöffnet oder geschlossen werden soll, wird für diesen Rüstungsständer der Wert hoch oder runtergezählt.
scoreboard players remove @s[tag=!EtiTuTor.1SpielerBeimTor,scores={PZTuTor.1Tor=1..}] PZTuTor.1Tor 1
scoreboard players add @s[tag=EtiTuTor.1SpielerBeimTor,scores={PZTuTor.1Tor=..2}] PZTuTor.1Tor 1

# Abhängig von der Richtung des Rüstungsständers wird ein Konstruktionsblock mit dem ausgerichteten ersten Tor platziert.
execute if entity @s[tag=EtiTuTor.1Aequator,scores={PZTuTor.1Tor=1..}] run setblock ~ ~ ~1 minecraft:structure_block{mode:"LOAD",rotation:"NONE",posX:0,posY:0,posZ:-1,name:"tuer-_und_toranlage:v1tor_1"} replace
execute if entity @s[tag=EtiTuTor.1Pole,scores={PZTuTor.1Tor=1..}] run setblock ~1 ~ ~ minecraft:structure_block{mode:"LOAD",rotation:"CLOCKWISE_90",posX:2,posY:0,posZ:0,name:"tuer-_und_toranlage:v1tor_2"} replace
execute if entity @s[scores={PZTuTor.1Tor=1..}] run setblock ~ ~ ~ minecraft:redstone_block replace

# Die Variable für die Tor-Öffnungsstufe wird auf null gesetzt und danach wird die Tor-Bewegen-Funktion geladen.
scoreboard players set VarTuTor.1Stufe PZTuTor.1Tor 0
execute if score @s PZTuTor.1Tor matches 1.. run function tuer-_und_toranlage:v1tor_bewegen

# Das zweite Tor auf der gegenüberliegenden Seite wird gelaen, solange der Wert für die Tor-Öffnungsstufe nicht bei null liegt.
execute if entity @s[tag=EtiTuTor.1Aequator,scores={PZTuTor.1Tor=1..}] run setblock ~ ~ ~-1 minecraft:structure_block{mode:"LOAD",rotation:"NONE",posX:0,posY:0,posZ:-2,name:"tuer-_und_toranlage:v1tor_2"} replace
execute if entity @s[tag=EtiTuTor.1Pole,scores={PZTuTor.1Tor=1..}] run setblock ~-1 ~ ~ minecraft:structure_block{mode:"LOAD",rotation:"CLOCKWISE_90",posX:1,posY:0,posZ:0,name:"tuer-_und_toranlage:v1tor_1"} replace

# Wenn das Tor verschlossen sein soll und den Wert dafür hat, wird das verschlossene Tor geladen.
execute if entity @s[tag=EtiTuTor.1Aequator,scores={PZTuTor.1Tor=0}] run setblock ~ ~1 ~ minecraft:structure_block{mode:"LOAD",rotation:"NONE",posX:0,posY:-1,posZ:-3,name:"tuer-_und_toranlage:v1tor"} replace
execute if entity @s[tag=EtiTuTor.1Pole,scores={PZTuTor.1Tor=0}] run setblock ~ ~1 ~ minecraft:structure_block{mode:"LOAD",rotation:"CLOCKWISE_90",posX:3,posY:-1,posZ:0,name:"tuer-_und_toranlage:v1tor"} replace

# Der Redstone-Block aktiviert den Konstruktionsblock.
setblock ~ ~ ~ minecraft:redstone_block replace

# Die Variable für die Tor-Öffnungsstufe wird erneut auf null gesetzt und die Tor-Bewegen-Funktion wird geladen.
tag @s add EtiTuTor.1Tor2
scoreboard players set VarTuTor.1Stufe PZTuTor.1Tor 0
execute if score @s PZTuTor.1Tor matches 1.. run function tuer-_und_toranlage:v1tor_bewegen
tag @s remove EtiTuTor.1Tor2


Variante 1: Tor-Bewegen-Funktion
Die Tor-Bewegen-Funktion verschiebt das Tor immer genau um einen Block. Damit das Tor immer so weit geöffnet ist, wie es der Punkte-Wert vorgibt, ruft sich diese Funktion so oft selbst auf, sodass das Tor immer weiter um einen Block verschoben wird, bis es den Wert erreicht hat.

Editor Icon tuer-_und_toranlage:v1tor_bewegen.mcfunction
# Das erste Tor wird um einen Block zur Seite verschoben.
execute if entity @s[tag=EtiTuTor.1Aequator,tag=!EtiTuTor.1Tor2] run clone ~ ~ ~ ~ ~6 ~2 ~ ~ ~1 replace move
execute if entity @s[tag=EtiTuTor.1Pole,tag=!EtiTuTor.1Tor2] run clone ~ ~ ~ ~2 ~6 ~ ~1 ~ ~ replace move

# Das zweite Tor wird um einen Block zur Seite verschoben.
execute if entity @s[tag=EtiTuTor.1Aequator,tag=EtiTuTor.1Tor2] run clone ~ ~ ~ ~ ~6 ~-2 ~ ~ ~-3 replace move
execute if entity @s[tag=EtiTuTor.1Pole,tag=EtiTuTor.1Tor2] run clone ~ ~ ~ ~-2 ~6 ~ ~-3 ~ ~ replace move

# Die Tor-Öffnungsstufe wird um eins erhöht und die Tor-Bewegen-Funktion wird erneut aufgerufen, wenn die Tor-Stufe kleiner ist, als das Tor geöffnet sein soll.
scoreboard players add VarTuTor.1Stufe PZTuTor.1Tor 1
execute if score VarTuTor.1Stufe PZTuTor.1Tor < @s PZTuTor.1Tor run function tuer-_und_toranlage:v1tor_bewegen


Variante 1: Stopp-Funktion
Die Stopp-Funktion löscht die Punkte-Ziele, das Tor samt Torrahmen und den Rüstungsständer in der Hand und davon platzierte.

Editor Icon tuer-_und_toranlage:v1stopp.mcfunction
# Die Punkte-Ziele werden entfernt.
scoreboard objectives remove PZTuTor.1Tor
scoreboard objectives remove PZTuTor.1Zeit

# Der Rüstungsständer wird aus dem Inventar entfernt.
clear @a minecraft:armor_stand{EigTuTor.1Alle:true}

# Das Tor inklusivem Torrahmen wird durch Luft ersetzt.
execute at @e[type=minecraft:armor_stand,tag=EtiTuTor.1Torrahmen] run fill ^-4 ^ ^-2 ^4 ^8 ^2 minecraft:air replace

# Alle Gegenstände und Rüstungsständer werden entfernt.
tag @e[type=minecraft:item,nbt={Item:{tag:{EigTuTor.1Alle:true} } }] add EtiTuTor.1Alle
kill @e[tag=EtiTuTor.1Alle]

Variante 2

Tür- und Toranlage (Befehle) Bild 2.1 Tür- und Toranlage (Befehle) Animation 2.1.1 Tür- und Toranlage (Befehle) Animation 2.1.2 Tür- und Toranlage (Befehle) Animation 2.1.3 Tür- und Toranlage (Befehle) Animation 2.1.4 Tür- und Toranlage (Befehle) Animation 2.1.3 Tür- und Toranlage (Befehle) Animation 2.1.2

Man erhält einen Rüstungsständer, mit dem man das Burgtor in allen vier Himmelsrichtungen platzieren kann. Wenn man sich dem Tor nähert öffnet es sich automatisch und schließt sich wieder, wenn sich kein Spieler mehr dort befindet.

Einschalten
Wiederholen
Ausschalten

Befehlsblöcke mit Befehlen:


Variante 2: Start-Funktion
Die Start-Funktion erstellt die Punkte-Ziele für die Tor-Öffnungszustände und für das Messen der Zeit in Ticks. Darüber hinaus wird den Spielern ein Rüstungsständer gegeben, den man an einer beliebigen Position platzieren kann, um dort ein Tor zu erzeugen.

Editor Icon tuer-_und_toranlage:v2start.mcfunction
# Die Punkte-Ziele werden erstellt.
scoreboard objectives add PZTuTor.2Tor dummy ["Tür- und Toranlage.2: ",{"text":"Wert wie weit Tor offen ist","bold":true}]
scoreboard objectives add PZTuTor.2Zeit dummy ["Tür- und Toranlage.2: ",{"text":"Zeit in Ticks","bold":true}]

# Den Spielern in einem Umkreis von 15 Blöcken wird der Rüstungsständer für das Tor gegeben.
give @a[distance=..15] minecraft:armor_stand{EigTuTor.2Alle:true,Enchantments:[{id:-1}],display:{Name:'{"text":"Burgtor"}',Lore:['"Platziere den Rüstungsständer"','"um das Tor zu erstellen"']},EntityTag:{Small:true,Marker:true,Invisible:true,NoGravity:true,Tags:["EtiTuTor.2Alle","EtiTuTor.2Erstellen"]} } 16


Variante 2: Zyklus-Funktion
Die Zyklus-Funktion erstellt den Torrahmen bei Bedarf, zählt in Ticks die Zeit in welchen Zeitabständen sich das Tor öffnen soll und erfasst Spieler in der Nähe des Tors.

Editor Icon tuer-_und_toranlage:v2zyklus.mcfunction
# Wenn der Spieler den Rüstungsständer platziert hat, so wird die Erstellen-Funktion durch diesen aufgerufen.
execute as @e[type=minecraft:armor_stand,tag=EtiTuTor.2Erstellen] at @s run function tuer-_und_toranlage:v2erstellen

# Jeden Tick wird der Wert des Rüstungsständers um eins hochgezählt und nur wenn er den Wert fünf erreicht wird er wieder auf null gesetzt.
execute as @e[type=minecraft:armor_stand,tag=EtiTuTor.2Torrahmen] store result score @s PZTuTor.2Zeit run scoreboard players add @s[scores={PZTuTor.2Zeit=..5}] PZTuTor.2Zeit 1

# Einmal nach fünf Ticks wird geprüft kein Spieler sich im Umkreis von acht Blöcken am Tor befindet und nur dann wird das Etikett entfernt.
execute as @e[type=minecraft:armor_stand,tag=EtiTuTor.2SpielerBeimTor,scores={PZTuTor.2Zeit=1}] at @s unless entity @p[distance=..10,gamemode=!spectator] run tag @s remove EtiTuTor.2SpielerBeimTor

# Es wird geprüft ob sich ein Spieler im Umkreis von acht Blöcken am Tor befindet, nur dann wird dem Rüstungsständer ein Etikett gegeben und sein Wert für die Zeit auf eins gesetzt.
execute as @e[type=minecraft:armor_stand,tag=EtiTuTor.2Torrahmen,tag=!EtiTuTor.2SpielerBeimTor] at @s if entity @p[distance=..10,gamemode=!spectator] store success score @s PZTuTor.2Zeit run tag @s add EtiTuTor.2SpielerBeimTor

# Einmal alle fünf Ticks wird vom Rüstungsständer aus die Tor-Funktion aufgerufen.
execute as @e[type=minecraft:armor_stand,tag=EtiTuTor.2Torrahmen,scores={PZTuTor.2Zeit=1}] at @s positioned ~ ~1 ~ run function tuer-_und_toranlage:v2tor


Variante 2: Erstellen-Funktion
Die Erstellen-Funktion prüft die Blickrichtung des platzierten Rüstungsständers und richtet ihn Himmelsrichtungsbezogen neu aus und platziert den Torrahmen für das Tor.

Editor Icon tuer-_und_toranlage:v2erstellen.mcfunction
# Je nach dem ob der Rüstungsständer in Richtung der Pole oder dem Äquator schaut, wird er entsprechend ausgerichtet und er bekommt neue Etikette.
execute if entity @s[y_rotation=-135..135] unless entity @s[y_rotation=-45..45] run data merge entity @s {Rotation:[90.0f,0.0f],Tags:["EtiTuTor.2Alle","EtiTuTor.2Torrahmen","EtiTuTor.2Aequator"]}
execute if entity @s[y_rotation=135..45] unless entity @s[y_rotation=-135..-45] run data merge entity @s {Rotation:[0.0f,0.0f],Tags:["EtiTuTor.2Alle","EtiTuTor.2Torrahmen","EtiTuTor.2Pole"]}

# Je nach Richtung wird ein entsprechender Konstruktionsblock platziert, der den Torrahmen lädt.
execute if entity @s[tag=EtiTuTor.2Aequator] run setblock ~ ~ ~ minecraft:structure_block{mode:"LOAD",rotation:"NONE",posX:-2,posY:0,posZ:-5,name:"tuer-_und_toranlage:v2torrahmen"} replace
execute if entity @s[tag=EtiTuTor.2Pole] run setblock ~ ~ ~ minecraft:structure_block{mode:"LOAD",rotation:"CLOCKWISE_90",posX:5,posY:0,posZ:-2,name:"tuer-_und_toranlage:v2torrahmen"} replace

# Der Redstone-Block aktiviert den Konstruktionsblock.
setblock ~1 ~ ~ minecraft:redstone_block replace

# Der Wert für die Tor-Öffnungszustände wird auf null gesetzt.
scoreboard players set @s PZTuTor.2Tor 0


Variante 2: Tor-Funktion
Die Tor-Funktion speichert die aktuelle Öffnung des Tores und lädt mit Konstruktionsblöcken das Burgtor. Das Burgtor wird anhand eines Punkte-Wertes entsprechend weit geöffnet, in dem die Tor-Bewegen-Funktion aufgerufen wird.

Editor Icon tuer-_und_toranlage:v2tor.mcfunction
# Je nach dem ob das Tor geöffnet oder geschlossen werden soll, wird für diesen Rüstungsständer der Wert hoch oder runtergezählt.
scoreboard players remove @s[tag=!EtiTuTor.2SpielerBeimTor,scores={PZTuTor.2Tor=1..}] PZTuTor.2Tor 1
scoreboard players add @s[tag=EtiTuTor.2SpielerBeimTor,scores={PZTuTor.2Tor=..6}] PZTuTor.2Tor 1

# Je nach Himmelsrichtung, wird das entsprechende Tor durch den Konstruktionsblock geladen und platziert.
execute if entity @s[tag=EtiTuTor.2Aequator] run setblock ~ ~ ~ minecraft:structure_block{mode:"LOAD",rotation:"NONE",posX:0,posY:0,posZ:-3,name:"tuer-_und_toranlage:v2tor"} replace
execute if entity @s[tag=EtiTuTor.2Pole] run setblock ~ ~ ~ minecraft:structure_block{mode:"LOAD",rotation:"CLOCKWISE_90",posX:3,posY:0,posZ:0,name:"tuer-_und_toranlage:v2tor"} replace
setblock ~ ~1 ~ minecraft:redstone_block replace

# Falls das Tor geschlossen werden soll, wird es um einen Block nach unten bewegt.
execute if entity @s[tag=EtiTuTor.2Aequator,scores={PZTuTor.2Tor=0}] run clone ~ ~1 ~-3 ~ ~9 ~3 ~ ~ ~-3 replace move
execute if entity @s[tag=EtiTuTor.2Pole,scores={PZTuTor.2Tor=0}] run clone ~-3 ~1 ~ ~3 ~9 ~ ~-3 ~ ~ replace move

# Die Variable für die Tor-Öffnungsstufe wird auf eins gesetzt um anschließend in der geladenen Tor-Bewegen-Funktion verwendet zu werden.
scoreboard players set VarTuTor.2Stufe PZTuTor.2Tor 1
execute if score @s PZTuTor.2Tor matches 2.. run function tuer-_und_toranlage:v2tor_bewegen


Variante 2: Tor-Bewegen-Funktion
Die Tor-Bewegen-Funktion bewegt das Tor einen Block nach oben und ruft sich selbst solange wieder auf, wie weit das Tor geöffnet werden soll.

Editor Icon tuer-_und_toranlage:v2tor_bewegen.mcfunction
# Je nach Himmelsrichtung wird das Tor entsprechend um einen Block nach oben bewegt.
execute if entity @s[tag=EtiTuTor.2Aequator] run clone ~ ~ ~-3 ~ ~8 ~3 ~ ~1 ~-3 replace move
execute if entity @s[tag=EtiTuTor.2Pole] run clone ~-3 ~ ~ ~3 ~8 ~ ~-3 ~1 ~ replace move

# Die Tor-Öffnungsstufe wird um eins erhöht und die Tor-Bewegen-Funktion wird erneut aufgerufen, wenn die Tor-Stufe kleiner ist, als das Tor geöffnet sein soll.
scoreboard players add VarTuTor.2Stufe PZTuTor.2Tor 1
execute if score VarTuTor.2Stufe PZTuTor.2Tor < @s PZTuTor.2Tor run function tuer-_und_toranlage:v2tor_bewegen


Variante 2: Stopp-Funktion
Die Stopp-Funktion löscht die Punkte-Ziele, das Tor samt Torrahmen und den Rüstungsständer in der Hand und davon platzierte.

Editor Icon tuer-_und_toranlage:v2stopp.mcfunction
# Die Punkte-Ziele werden entfernt.
scoreboard objectives remove PZTuTor.2Tor
scoreboard objectives remove PZTuTor.2Zeit

# Der Rüstungsständer wird aus dem Inventar entfernt.
clear @a minecraft:armor_stand{EigTuTor.2Alle:true}

# Das Tor inklusivem Torrahmen wird durch Luft ersetzt.
execute at @e[type=minecraft:armor_stand,tag=EtiTuTor.2Torrahmen] run fill ^-5 ^ ^-2 ^5 ^11 ^2 minecraft:air replace

# Alle Gegenstände und Rüstungsständer werden entfernt.
tag @e[type=minecraft:item,nbt={Item:{tag:{EigTuTor.2Alle:true} } }] add EtiTuTor.2Alle
kill @e[tag=EtiTuTor.2Alle]

Variante 3

Tür- und Toranlage (Befehle) Bild 3.1 Tür- und Toranlage (Befehle) Animation 3.1.1 Tür- und Toranlage (Befehle) Animation 3.1.2 Tür- und Toranlage (Befehle) Animation 3.1.3 Tür- und Toranlage (Befehle) Animation 3.1.4 Tür- und Toranlage (Befehle) Animation 3.1.5 Tür- und Toranlage (Befehle) Animation 3.1.4 Tür- und Toranlage (Befehle) Animation 3.1.3 Tür- und Toranlage (Befehle) Animation 3.1.2

Dieses Aufklapptor öffnet die Tore so, dass sie dem Spieler entgegenkommen. Man kann das Tor platzieren, in dem man den Rüstungsständer an einen beliebigen Ort hinstellt. Wenn man sich dem Tor nähert, öffnet es sich automatisch und es schließt sich auch wieder, wenn kein Spieler mehr in der Nähe ist.

Einschalten
Wiederholen
Ausschalten

Befehlsblöcke mit Befehlen:


Variante 3: Start-Funktion
Die Start-Funktion erstellt die Punkte-Ziele für die Tor-Öffnungszustände und für das Messen der Zeit in Ticks. Darüber hinaus wird den Spielern ein Rüstungsständer gegeben, den man an einer beliebigen Position platzieren kann, um dort ein Tor zu erzeugen.

Editor Icon tuer-_und_toranlage:v3start.mcfunction
# Die Punkte-Ziele werden erstellt.
scoreboard objectives add PZTuTor.3Tor dummy ["Tür- und Toranlage.3: ",{"text":"Wert wie weit Tor offen ist","bold":true}]
scoreboard objectives add PZTuTor.3Zeit dummy ["Tür- und Toranlage.3: ",{"text":"Zeit in Ticks","bold":true}]

# Den Spielern in einem Umkreis von 15 Blöcken wird der Rüstungsständer für das Tor gegeben.
give @a[distance=..15] minecraft:armor_stand{EigTuTor.3Alle:true,Enchantments:[{id:-1}],display:{Name:'{"text":"Aufklapptor"}',Lore:['"Platziere den Rüstungsständer"','"um das Tor zu erstellen"']},EntityTag:{Small:true,Marker:true,Invisible:true,NoGravity:true,Tags:["EtiTuTor.3Alle","EtiTuTor.3Erstellen"]} } 16


Variante 3: Zyklus-Funktion
Die Zyklus-Funktion erstellt den Torrahmen bei Bedarf, zählt in Ticks die Zeit in welchen Zeitabständen sich das Tor öffnen soll und erfasst Spieler in der Nähe des Tors.

Editor Icon tuer-_und_toranlage:v3zyklus.mcfunction
# Wenn der Spieler den Rüstungsständer platziert hat, so wird die Erstellen-Funktion durch diesen aufgerufen.
execute as @e[type=minecraft:armor_stand,tag=EtiTuTor.3Erstellen] at @s run function tuer-_und_toranlage:v3erstellen

# Jeden Tick wird der Wert des Rüstungsständers um eins hochgezählt und nur wenn er den Wert zehn erreicht wird er wieder auf null gesetzt.
execute as @e[type=minecraft:armor_stand,tag=EtiTuTor.3Torrahmen] store result score @s PZTuTor.3Zeit run scoreboard players add @s[scores={PZTuTor.3Zeit=..10}] PZTuTor.3Zeit 1

# Einmal nach zehn Ticks wird geprüft kein Spieler sich im Umkreis von acht Blöcken am Tor befindet und nur dann wird das Etikett entfernt.
execute as @e[type=minecraft:armor_stand,tag=EtiTuTor.3SpielerBeimTor,scores={PZTuTor.3Zeit=1}] at @s unless entity @p[distance=..10,gamemode=!spectator] run tag @s remove EtiTuTor.3SpielerBeimTor

# Es wird geprüft ob sich ein Spieler im Umkreis von acht Blöcken am Tor befindet, nur dann wird dem Rüstungsständer ein Etikett gegeben und sein Wert für die Zeit auf eins gesetzt.
execute as @e[type=minecraft:armor_stand,tag=EtiTuTor.3Torrahmen,tag=!EtiTuTor.3SpielerBeimTor] at @s if entity @p[distance=..10,gamemode=!spectator] store success score @s PZTuTor.3Zeit run tag @s add EtiTuTor.3SpielerBeimTor

# Einmal alle zehn Ticks wird vom Rüstungsständer aus die Tor-Funktion aufgerufen.
execute as @e[type=minecraft:armor_stand,tag=EtiTuTor.3Torrahmen,scores={PZTuTor.3Zeit=1}] at @s positioned ~ ~1 ~ run function tuer-_und_toranlage:v3tor


Variante 3: Erstellen-Funktion
Die Erstellen-Funktion prüft in welche Richtung der platzierte Rüstungsständer schaut und platziert basierend auf der Himmelsrichtung den Torrahmen entsprechend.

Editor Icon tuer-_und_toranlage:v3erstellen.mcfunction
# Es wird getestet in welche der vier Himmelsrichtungen der Rüstungsständer schaut und danach wird er entsprechend ausgerichtet und erhält neue Etiketten.
data merge entity @s[y_rotation=135..-135] {Rotation:[0.0f,0.0f],Tags:["EtiTuTor.3Alle","EtiTuTor.3Torrahmen","EtiTuTor.3Sueden"]}
data merge entity @s[y_rotation=-135..-45,tag=EtiTuTor.3Erstellen] {Rotation:[90.0f,0.0f],Tags:["EtiTuTor.3Alle","EtiTuTor.3Torrahmen","EtiTuTor.3Westen"]}
data merge entity @s[y_rotation=-45..45,tag=EtiTuTor.3Erstellen] {Rotation:[180.0f,0.0f],Tags:["EtiTuTor.3Alle","EtiTuTor.3Torrahmen","EtiTuTor.3Norden"]}
data merge entity @s[y_rotation=45..135,tag=EtiTuTor.3Erstellen] {Rotation:[270.0f,0.0f],Tags:["EtiTuTor.3Alle","EtiTuTor.3Torrahmen","EtiTuTor.3Osten"]}

# Ein Konstruktionsblock wird gesetzt.
setblock ~ ~ ~ minecraft:structure_block{mode:"LOAD"} replace

# Je nach Himmelsrichtung bekommt der Konstruktionsblock entsprechende Daten übermittelt um den Torrahmen entsprechend zu laden.
execute if entity @s[tag=EtiTuTor.3Sueden] run data merge block ~ ~ ~ {rotation:"COUNTERCLOCKWISE_90",posX:-5,posY:0,posZ:3,name:"tuer-_und_toranlage:v3torrahmen"}
execute if entity @s[tag=EtiTuTor.3Westen] run data merge block ~ ~ ~ {rotation:"NONE",posX:-3,posY:0,posZ:-5,name:"tuer-_und_toranlage:v3torrahmen"}
execute if entity @s[tag=EtiTuTor.3Norden] run data merge block ~ ~ ~ {rotation:"CLOCKWISE_90",posX:5,posY:0,posZ:-3,name:"tuer-_und_toranlage:v3torrahmen"}
execute if entity @s[tag=EtiTuTor.3Osten] run data merge block ~ ~ ~ {rotation:"CLOCKWISE_180",posX:3,posY:0,posZ:5,name:"tuer-_und_toranlage:v3torrahmen"}

# Ein Redstone-Block wird gesetzt um den Konstruktionsblock zu aktivieren.
setblock ~1 ~ ~ minecraft:redstone_block replace

# Der Wert für die Tor-Öffnungszustände wird auf null gesetzt.
scoreboard players set @s PZTuTor.3Tor 0


Variante 3: Tor-Funktion
Die Tor-Funktion speichert die Tor-Öffnungszustände und lädt mit Konstruktionsblöcken verschiedene Tor-Konstruktionen die dem aktuellen Tor-Öffnungs-Winkel entsprechen.

Editor Icon tuer-_und_toranlage:v3tor.mcfunction
# Je nach dem ob das Tor geöffnet oder geschlossen werden soll, wird für diesen Rüstungsständer der Wert hoch oder runtergezählt.
scoreboard players remove @s[tag=!EtiTuTor.3SpielerBeimTor,scores={PZTuTor.3Tor=1..}] PZTuTor.3Tor 1
scoreboard players add @s[tag=EtiTuTor.3SpielerBeimTor,scores={PZTuTor.3Tor=..3}] PZTuTor.3Tor 1

# Zwei Konstruktionsblöcke werden an den Seiten platziert, um dort die beiden Tore zu laden.
setblock ^3 ^ ^ minecraft:structure_block{mode:"LOAD",mirror:"NONE",name:"tuer-_und_toranlage:v3tor_1"} replace
setblock ^-3 ^ ^ minecraft:structure_block{mode:"LOAD",mirror:"FRONT_BACK",name:"tuer-_und_toranlage:v3tor_1"} replace
execute if entity @s[scores={PZTuTor.3Tor=3..4}] run data merge block ^3 ^ ^ {mirror:"LEFT_RIGHT"}
execute if entity @s[scores={PZTuTor.3Tor=3..4}] run data merge block ^-3 ^ ^ {mirror:"NONE"}

# Je nach Ausrichtung des Torrahmens, werden die Konstruktionsblöcke mit entsprechenden Daten ausgestattet. Auch die Tor-Öffnungsstufe wird berücksichtigt.
execute if entity @s[tag=EtiTuTor.3Sueden] run data merge block ^3 ^ ^ {rotation:"COUNTERCLOCKWISE_90",posX:-3,posY:0,posZ:3}
execute if entity @s[tag=EtiTuTor.3Sueden] run data merge block ^-3 ^ ^ {rotation:"CLOCKWISE_90",posX:3,posY:0,posZ:3}
execute if entity @s[tag=EtiTuTor.3Sueden,scores={PZTuTor.3Tor=3..4}] run data merge block ^3 ^ ^ {rotation:"NONE"}
execute if entity @s[tag=EtiTuTor.3Sueden,scores={PZTuTor.3Tor=3..4}] run data merge block ^-3 ^ ^ {rotation:"CLOCKWISE_180"}

execute if entity @s[tag=EtiTuTor.3Westen] run data merge block ^3 ^ ^ {rotation:"NONE",posX:-3,posY:0,posZ:-3}
execute if entity @s[tag=EtiTuTor.3Westen] run data merge block ^-3 ^ ^ {rotation:"CLOCKWISE_180",posX:-3,posY:0,posZ:3}
execute if entity @s[tag=EtiTuTor.3Westen,scores={PZTuTor.3Tor=3..4}] run data merge block ^3 ^ ^ {rotation:"CLOCKWISE_90"}
execute if entity @s[tag=EtiTuTor.3Westen,scores={PZTuTor.3Tor=3..4}] run data merge block ^-3 ^ ^ {rotation:"COUNTERCLOCKWISE_90"}

execute if entity @s[tag=EtiTuTor.3Norden] run data merge block ^3 ^ ^ {rotation:"CLOCKWISE_90",posX:3,posY:0,posZ:-3}
execute if entity @s[tag=EtiTuTor.3Norden] run data merge block ^-3 ^ ^ {rotation:"COUNTERCLOCKWISE_90",posX:-3,posY:0,posZ:-3}
execute if entity @s[tag=EtiTuTor.3Norden,scores={PZTuTor.3Tor=3..4}] run data merge block ^3 ^ ^ {rotation:"CLOCKWISE_180"}
execute if entity @s[tag=EtiTuTor.3Norden,scores={PZTuTor.3Tor=3..4}] run data merge block ^-3 ^ ^ {rotation:"NONE"}

execute if entity @s[tag=EtiTuTor.3Osten] run data merge block ^3 ^ ^ {rotation:"CLOCKWISE_180",posX:3,posY:0,posZ:3}
execute if entity @s[tag=EtiTuTor.3Osten] run data merge block ^-3 ^ ^ {rotation:"NONE",posX:3,posY:0,posZ:-3}
execute if entity @s[tag=EtiTuTor.3Osten,scores={PZTuTor.3Tor=3..4}] run data merge block ^3 ^ ^ {rotation:"COUNTERCLOCKWISE_90"}
execute if entity @s[tag=EtiTuTor.3Osten,scores={PZTuTor.3Tor=3..4}] run data merge block ^-3 ^ ^ {rotation:"CLOCKWISE_90"}

# Je nach Tor-Öffnung wird ein anderes Tor geladen, damit das Tor die entsprechende Tor-Animation durchläuft.
execute if entity @s[scores={PZTuTor.3Tor=1..3}] run data merge block ^3 ^ ^ {name:"tuer-_und_toranlage:v3tor_2"}
execute if entity @s[scores={PZTuTor.3Tor=1..3}] run data merge block ^-3 ^ ^ {name:"tuer-_und_toranlage:v3tor_2"}

execute if entity @s[scores={PZTuTor.3Tor=2}] run data merge block ^3 ^ ^ {name:"tuer-_und_toranlage:v3tor_3"}
execute if entity @s[scores={PZTuTor.3Tor=2}] run data merge block ^-3 ^ ^ {name:"tuer-_und_toranlage:v3tor_3"}

# Es wird eine Reihe an Redstone-Blöcken platziert, die beide Konstruktionsblöcke aktiviert.
fill ^2 ^ ^ ^-2 ^ ^ minecraft:redstone_block replace


Variante 3: Stopp-Funktion
Die Stopp-Funktion löscht die Punkte-Ziele, das Tor samt Torrahmen und den Rüstungsständer in der Hand und davon platzierte.

Editor Icon tuer-_und_toranlage:v3stopp.mcfunction
# Die Punkte-Ziele werden entfernt.
scoreboard objectives remove PZTuTor.3Tor
scoreboard objectives remove PZTuTor.3Zeit

# Der Rüstungsständer wird aus dem Inventar entfernt.
clear @a minecraft:armor_stand{EigTuTor.3Alle:true}

# Das Tor inklusivem Torrahmen wird durch Luft ersetzt.
execute at @e[type=minecraft:armor_stand,tag=EtiTuTor.3Torrahmen] run fill ^-5 ^ ^-2 ^5 ^8 ^3 minecraft:air replace

# Alle Gegenstände und Rüstungsständer werden entfernt.
tag @e[type=minecraft:item,nbt={Item:{tag:{EigTuTor.3Alle:true} } }] add EtiTuTor.3Alle
kill @e[tag=EtiTuTor.3Alle]

Variante 4

Tür- und Toranlage (Befehle) Bild 4.1 Tür- und Toranlage (Befehle) Animation 4.1.1 Tür- und Toranlage (Befehle) Animation 4.1.2 Tür- und Toranlage (Befehle) Animation 4.1.3 Tür- und Toranlage (Befehle) Animation 4.1.4 Tür- und Toranlage (Befehle) Animation 4.1.5 Tür- und Toranlage (Befehle) Animation 4.1.4 Tür- und Toranlage (Befehle) Animation 4.1.3 Tür- und Toranlage (Befehle) Animation 4.1.2

Dieses Tor öffnet sich, in dem die Tor-Blöcke, welche fallende Blöcke auf Rüstungsständer sind, sich nach allen Richtungen nach außen bewegen, bis sie komplett verschwinden. Wenn es sich schließt bewegen sich alle Tor-Blöcke Richtung Zentrum, bis diese wieder komplett solide sind. Man kann das Tor in allen vier Himmelsrichtungen platzieren und man platziert es durch einen speziellen Rüstungsständer.

Einschalten
Wiederholen
Ausschalten

Befehlsblöcke mit Befehlen:


Variante 4: Start-Funktion
Die Start-Funktion erstellt die Punkte-Ziele für die Tor-Öffnungszustände und für das Messen der Zeit in Ticks. Darüber hinaus wird den Spielern ein Rüstungsständer gegeben, den man an einer beliebigen Position platzieren kann, um dort ein Tor zu erzeugen.

Editor Icon tuer-_und_toranlage:v4start.mcfunction
# Die Punkte-Ziele werden erstellt.
scoreboard objectives add PZTuTor.4Tor dummy ["Tür- und Toranlage.4: ",{"text":"Wert wie weit Tor offen ist","bold":true}]
scoreboard objectives add PZTuTor.4Zeit dummy ["Tür- und Toranlage.4: ",{"text":"Zeit in Ticks","bold":true}]

# Den Spielern in einem Umkreis von 15 Blöcken wird der Rüstungsständer für das Tor gegeben.
give @a[distance=..15] minecraft:armor_stand{EigTuTor.4Alle:true,Enchantments:[{id:-1}],display:{Name:'{"text":"Auflösetor"}',Lore:['"Platziere den Rüstungsständer"','"um das Tor zu erstellen"']},EntityTag:{Small:true,Marker:true,Invisible:true,NoGravity:true,Tags:["EtiTuTor.4Alle","EtiTuTor.4Erstellen"]} } 16


Variante 4: Zyklus-Funktion
Die Zyklus-Funktion erstellt den Torrahmen bei Bedarf, zählt in Ticks die Zeit in welchen Zeitabständen sich das Tor öffnen soll und erfasst Spieler in der Nähe des Tors.

Editor Icon tuer-_und_toranlage:v4zyklus.mcfunction
# Wenn der Spieler den Rüstungsständer platziert hat, so wird die Erstellen-Funktion durch ihn aufgerufen.
execute as @e[type=minecraft:armor_stand,tag=EtiTuTor.4Erstellen] at @s run function tuer-_und_toranlage:v4erstellen

# Jeden Tick wird der Wert des Rüstungsständers um eins hochgezählt und nur wenn er den Wert vier erreicht wird er wieder auf null gesetzt.
execute as @e[type=minecraft:armor_stand,tag=EtiTuTor.4Torrahmen] store result score @s PZTuTor.4Zeit run scoreboard players add @s[scores={PZTuTor.4Zeit=..4}] PZTuTor.4Zeit 1

# Einmal nach vier Ticks wird geprüft kein Spieler sich im Umkreis von acht Blöcken am Tor befindet und nur dann wird das Etikett entfernt.
execute as @e[type=minecraft:armor_stand,tag=EtiTuTor.4SpielerBeimTor,scores={PZTuTor.4Zeit=1}] at @s unless entity @p[distance=..8,gamemode=!spectator] run tag @s remove EtiTuTor.4SpielerBeimTor

# Es wird geprüft ob sich ein Spieler im Umkreis von acht Blöcken am Tor befindet, nur dann wird dem Rüstungsständer ein Etikett gegeben und sein Wert für die Zeit auf eins gesetzt.
execute as @e[type=minecraft:armor_stand,tag=EtiTuTor.4Torrahmen,tag=!EtiTuTor.4SpielerBeimTor] at @s if entity @p[distance=..8,gamemode=!spectator] store success score @s PZTuTor.4Zeit run tag @s add EtiTuTor.4SpielerBeimTor

# Einmal alle vier Ticks wird vom Rüstungsständer aus die Tor-Funktion aufgerufen.
execute as @e[type=minecraft:armor_stand,tag=EtiTuTor.4Torrahmen,scores={PZTuTor.4Zeit=1}] at @s positioned ~ ~1 ~ run function tuer-_und_toranlage:v4tor


Variante 4: Erstellen-Funktion
Die Erstellen-Funktion prüft in welche Richtung der platzierte Rüstungsständer schaut und platziert basierend auf der Himmelsrichtung den Torrahmen entsprechend. Es werden ebenfalls neun Rüstungsständer für das bewegende Tor erzeugt.

Editor Icon tuer-_und_toranlage:v4erstellen.mcfunction
# Je nach dem ob der Rüstungsständer in Richtung der Pole oder dem Äquator schaut, wird er entsprechend ausgerichtet und er bekommt neue Etikette.
execute if entity @s[y_rotation=-135..135] unless entity @s[y_rotation=-45..45] run data merge entity @s {Rotation:[90.0f,0.0f],Tags:["EtiTuTor.4Alle","EtiTuTor.4Torrahmen","EtiTuTor.4Aequator"]}
execute if entity @s[y_rotation=135..45] unless entity @s[y_rotation=-135..-45] run data merge entity @s {Rotation:[0.0f,0.0f],Tags:["EtiTuTor.4Alle","EtiTuTor.4Torrahmen","EtiTuTor.4Pole"]}

# Je nach Richtung wird ein entsprechender Konstruktionsblock platziert, der den Torrahmen lädt.
execute if entity @s[tag=EtiTuTor.4Aequator] run setblock ~ ~ ~ minecraft:structure_block{mode:"LOAD",rotation:"NONE",posX:-1,posY:0,posZ:-3,name:"tuer-_und_toranlage:v4torrahmen"} replace
execute if entity @s[tag=EtiTuTor.4Pole] run setblock ~ ~ ~ minecraft:structure_block{mode:"LOAD",rotation:"CLOCKWISE_90",posX:3,posY:0,posZ:-1,name:"tuer-_und_toranlage:v4torrahmen"} replace

# Der Redstone-Block aktiviert den Konstruktionsblock.
setblock ~1 ~ ~ minecraft:redstone_block replace

# Der Wert für die Tor-Öffnungszustände wird auf null gesetzt.
scoreboard players set @s PZTuTor.4Tor 0

# Es werden neun unsichtbare Rüstungsständer erzeugt, von denen aus sich die Tor-Blöcke bewegen sollen.
summon minecraft:armor_stand ~ ~ ~ {Small:true,Invisible:true,NoGravity:true,Tags:["EtiTuTor.4Alle","EtiTuTor.4TorPosition"]}
summon minecraft:armor_stand ^1 ^ ^ {Small:true,Invisible:true,NoGravity:true,Tags:["EtiTuTor.4Alle","EtiTuTor.4TorPosition"]}
summon minecraft:armor_stand ^-1 ^ ^ {Small:true,Invisible:true,NoGravity:true,Tags:["EtiTuTor.4Alle","EtiTuTor.4TorPosition"]}

summon minecraft:armor_stand ~ ~1 ~ {Small:true,Invisible:true,NoGravity:true,Tags:["EtiTuTor.4Alle","EtiTuTor.4TorPosition","EtiTuTor.4TorMitte"]}
summon minecraft:armor_stand ^1 ^1 ^ {Small:true,Invisible:true,NoGravity:true,Tags:["EtiTuTor.4Alle","EtiTuTor.4TorPosition"]}
summon minecraft:armor_stand ^-1 ^1 ^ {Small:true,Invisible:true,NoGravity:true,Tags:["EtiTuTor.4Alle","EtiTuTor.4TorPosition"]}

summon minecraft:armor_stand ~ ~2 ~ {Small:true,Invisible:true,NoGravity:true,Tags:["EtiTuTor.4Alle","EtiTuTor.4TorPosition"]}
summon minecraft:armor_stand ^1 ^2 ^ {Small:true,Invisible:true,NoGravity:true,Tags:["EtiTuTor.4Alle","EtiTuTor.4TorPosition"]}
summon minecraft:armor_stand ^-1 ^2 ^ {Small:true,Invisible:true,NoGravity:true,Tags:["EtiTuTor.4Alle","EtiTuTor.4TorPosition"]}


Variante 4: Tor-Funktion
Die Tor-Funktion erzeugt je nach Bedarf fallende Blöcke und bewegt diese nach außen oder innen. Dadurch öffnet sich das Tor wenn Spieler durchgehen wollen und es schließt wieder, wenn kein Spieler mehr anwesend ist.

Editor Icon tuer-_und_toranlage:v4tor.mcfunction
# Je nach dem ob das Tor geöffnet oder geschlossen werden soll, wird für diesen Rüstungsständer der Wert hoch oder runtergezählt.
scoreboard players remove @s[tag=!EtiTuTor.4SpielerBeimTor,scores={PZTuTor.4Tor=1..}] PZTuTor.4Tor 1
scoreboard players add @s[tag=EtiTuTor.4SpielerBeimTor,scores={PZTuTor.4Tor=..9}] PZTuTor.4Tor 1

# Wenn das Tor sich schließen soll, werden an den Positionen der Tor-Rüstungsständer fallende Blöcke erzeugt, die sich von der Mitte aus um 1.6 Blöcke weit entfernt befinden.
execute if entity @s[tag=!EtiTuTor.4SpielerBeimTor,scores={PZTuTor.4Tor=9}] at @e[distance=..10,type=minecraft:armor_stand,tag=EtiTuTor.4TorPosition] facing entity @e[tag=EtiTuTor.4TorMitte,sort=nearest,limit=1] feet run summon minecraft:armor_stand ^ ^ ^-1.6 {Invisible:true,NoGravity:true,Tags:["EtiTuTor.4Alle","EtiTuTor.4Tor","EtiTuTor.4TorBewegen"],Passengers:[{id:"minecraft:falling_block",NoGravity:true,Time:-2147483648,Tags:["EtiTuTor.4Alle","EtiTuTor.4Tor"],BlockState:{Name:"minecraft:diamond_block"} } ] }

# Wenn das Tor sich öffnen soll, werden fallende Blöcke auf Rüstungsständer an der Tor-Position erezugt.
execute if entity @s[tag=EtiTuTor.4SpielerBeimTor,scores={PZTuTor.4Tor=1}] at @e[distance=..10,type=minecraft:armor_stand,tag=EtiTuTor.4TorPosition] run summon minecraft:armor_stand ~ ~ ~ {Invisible:true,NoGravity:true,Tags:["EtiTuTor.4Alle","EtiTuTor.4Tor","EtiTuTor.4TorBewegen"],Passengers:[{id:"minecraft:falling_block",NoGravity:true,Time:-2147483648,Tags:["EtiTuTor.4Alle","EtiTuTor.4Tor"],BlockState:{Name:"minecraft:diamond_block"} } ] }

# Wurde das Tor gerade verschlossen oder komplett geöffnet, werden die fallenden Blöcke entfernt.
execute if entity @s[tag=!EtiTuTor.4SpielerBeimTor,scores={PZTuTor.4Tor=0}] run kill @e[distance=..5,tag=EtiTuTor.4Tor]
execute if entity @s[tag=EtiTuTor.4SpielerBeimTor,scores={PZTuTor.4Tor=10}] run kill @e[distance=..5,tag=EtiTuTor.4Tor]

# Wenn das Tor verschlossen sein soll, werden Diamantblöcke erzeugt und wenn es offen sein soll, wird Luft platziert.
execute if entity @s[scores={PZTuTor.4Tor=0}] run fill ^-1 ^ ^ ^1 ^2 ^ minecraft:diamond_block replace
execute if entity @s[scores={PZTuTor.4Tor=1}] run fill ^-1 ^ ^ ^1 ^2 ^ minecraft:air replace

# Je nach dem ob das Tor sich öffnen oder schließen soll, werden die fallenden Blöcke nach außen oder nach innen bewegt.
execute if entity @s[tag=EtiTuTor.4SpielerBeimTor,scores={PZTuTor.4Tor=1..9}] as @e[distance=..3,type=minecraft:armor_stand,tag=EtiTuTor.4Tor] at @s run teleport @s ^ ^ ^-0.2 facing entity @e[tag=EtiTuTor.4TorMitte,sort=nearest,limit=1] feet
execute if entity @s[tag=!EtiTuTor.4SpielerBeimTor,scores={PZTuTor.4Tor=1..9}] as @e[distance=..5,type=minecraft:armor_stand,tag=EtiTuTor.4Tor] at @s run teleport @s ^ ^ ^0.2 facing entity @e[tag=EtiTuTor.4TorMitte,sort=nearest,limit=1] feet


Variante 4: Stopp-Funktion
Die Stopp-Funktion löscht die Punkte-Ziele, das Tor samt Torrahmen und den Rüstungsständer in der Hand und davon platzierte.

Editor Icon tuer-_und_toranlage:v4stopp.mcfunction
# Die Punkte-Ziele werden entfernt.
scoreboard objectives remove PZTuTor.4Tor
scoreboard objectives remove PZTuTor.4Zeit

# Der Rüstungsständer wird aus dem Inventar entfernt.
clear @a minecraft:armor_stand{EigTuTor.4Alle:true}

# Das Tor inklusivem Torrahmen wird durch Luft ersetzt.
execute at @e[type=minecraft:armor_stand,tag=EtiTuTor.4Torrahmen] run fill ^-3 ^ ^-1 ^3 ^5 ^1 minecraft:air replace

# Alle Gegenstände und Rüstungsständer werden entfernt.
tag @e[type=minecraft:item,nbt={Item:{tag:{tuer-_und_toranlage:"v1gegenstand"} } }] add EtiTuTor.4Alle
kill @e[tag=EtiTuTor.4Alle]


Disambig color