Diese Seite stammt ursprünglich aus de.minecraft.wiki und wurde von der Quelle abweichend verändert.
|
Gruppe: Anlagen |
mit Mechaniken |
mit Redstone |
Hier: mit Befehlen |
Verfügbar in: Redstone-Welt |
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[]
Folgende Voraussetzungen werden benötigt: | ||
---|---|---|
|
Folgende Materialien werden benötigt: | |
---|---|
|
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
- Befehl 1.1 Auf dem Wiederhol-Befehlsblock befindet sich ein Hebel. Legt man ihn um, wird zuerst der Befehlsblock mit der Start-Funktion tuer-_und_toranlage:v1start aktiviert.
- Wiederholen
- Befehl 1.2 Gleichzeitig wird auch der Wiederhol-Befehlsblock mit der Zyklus-Funktion tuer-_und_toranlage:v1zyklus aktiv.
- Ausschalten
- Befehl 1.3 der Befehlsblock löst die Funktion tuer-_und_toranlage:v1stopp aus.
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.
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.
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.
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.
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.
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.
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[]
Folgende Voraussetzungen werden benötigt: | ||
---|---|---|
|
Folgende Materialien werden benötigt: | |
---|---|
|
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
- Befehl 2.1 Auf dem Wiederhol-Befehlsblock befindet sich ein Hebel. Legt man ihn um, wird zuerst der Befehlsblock mit der Start-Funktion tuer-_und_toranlage:v2start aktiviert.
- Wiederholen
- Befehl 2.2 Gleichzeitig wird auch der Wiederhol-Befehlsblock mit der Zyklus-Funktion tuer-_und_toranlage:v2zyklus aktiv.
- Ausschalten
- Befehl 2.3 der Befehlsblock löst die Funktion tuer-_und_toranlage:v2stopp aus.
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.
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.
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.
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.
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.
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.
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[]
Folgende Voraussetzungen werden benötigt: | ||
---|---|---|
|
Folgende Materialien werden benötigt: | |
---|---|
|
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
- Befehl 3.1 Auf dem Wiederhol-Befehlsblock befindet sich ein Hebel. Legt man ihn um, wird zuerst der Befehlsblock mit der Start-Funktion tuer-_und_toranlage:v3start aktiviert.
- Wiederholen
- Befehl 3.2 Gleichzeitig wird auch der Wiederhol-Befehlsblock mit der Zyklus-Funktion tuer-_und_toranlage:v3zyklus aktiv.
- Ausschalten
- Befehl 3.3 der Befehlsblock löst die Funktion tuer-_und_toranlage:v3stopp aus.
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.
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.
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.
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.
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.
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[]
Folgende Voraussetzungen werden benötigt: | ||
---|---|---|
|
Folgende Materialien werden benötigt: | |
---|---|
|
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
- Befehl 4.1 Auf dem Wiederhol-Befehlsblock befindet sich ein Hebel. Legt man ihn um, wird zuerst der Befehlsblock mit der Start-Funktion tuer-_und_toranlage:v4start aktiviert.
- Wiederholen
- Befehl 4.2 Gleichzeitig wird auch der Wiederhol-Befehlsblock mit der Zyklus-Funktion tuer-_und_toranlage:v4zyklus aktiv.
- Ausschalten
- Befehl 4.3 der Befehlsblock löst die Funktion tuer-_und_toranlage:v4stopp aus.
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.
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.
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.
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.
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.
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] |
|
Block-Tauschanlage => Redstone; Block-Transportanlage => Redstone; Block-Speicher => Redstone; Einfachauswahl => Redstone, Befehle; Mehrfachauswahl => Redstone, Befehle; Benutzerschnittstelle => Befehle; Benutzeroberfläche => Befehle; Lichtanlage => Redstone; Leuchtfeueranlage => Redstone; Musikanlage => Redstone; Musikgenerator => Redstone; Musik-Walzenspieler => Redstone; Tür- und Toranlage => Mechanik, Redstone (erweitert), Befehle; Schleusentür => Redstone; Schießanlage => Redstone (erweitert); TNT-Kanone => Redstone (erweitert); Ambossspender => Mechanik, Redstone; Standort-Markierung => Befehle; Zonen-Markierung => Befehle; Sperrzone => Befehle; Käfigzone => Befehle; Objekt-Steuerung => Befehle; Tageszeitwandler und -sensor => Befehle; Wetterwandler und -sensor => Befehle; Parcours-Element => Befehle; Parcours => Befehle; Bestenliste => Befehle; Mannschaftsverteiler => Befehle; Labyrinth- und Irrgartengenerator => Befehle; Konstruktionsgerüst => Befehle;
|
|