Technik Wiki
Registrieren
Advertisement
Gruppe: Grid Redstone-Fackel
Schaltkreise

Grid Roter Sand blass mit Mechaniken

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

Grid Redstone-Block mehr Redstone

Taktgeber mit Befehlen (engl. Command Clock) sind extrem schnell und lassen sich überall verwenden, wo man bestimmte Ereignisse in einer bestimmten Zeit erneut auslösen möchte. Dabei können maximal bis zu 20 Takte pro Sekunde (20 Ticks = 1 Sekunde) durchgeführt werden. Die Takte können dabei variieren. Ein Takt kann in einer bestimmten Zeit wiederkehren, so zum Beispiel jede Sekunde einmal, er kann aber auch so eingestellt sein, dass er für jeden Takt eine zufällige Zeit verstreichen lässt bevor er erneut durchgeführt wird. Man kann das auch noch weiter treiben, sodass beispielsweise alle 20 Ticks drei Takte nacheinander ablaufen und dann wird erst wieder gewartet, bis 20 Ticks vorbei sind. Im Gegensatz dazu kann man auch mehrere Takte innerhalb eines Ticks durchführen lassen, dazu wird dann eine Schleifen-Einheit verwendet.

Variante 1[]

Taktgeber (Befehle) Bild 1.1 Taktgeber (Befehle) Bild 1.2

Der Taktgeber zählt jeden Tick eine Variable hoch. Der Wert erhöht sich dabei um eins. Die Taktfolge kann über eine Titel-Nachricht angesehen werden. Der Wert der Variable erhöht sich dabei ständig, solange der Hebel eingeschaltet bleibt.

Einschalten
  • Befehl 1.1 Das Punkte-Ziel wird erstellt, damit die Takte gezählt werden können.
  • Befehl 1.2 Es wird eine Variable für die Ticks erstellt.
Wiederholen
  • Befehl 1.3 Der Wert der Variable wird jeden Tick um eins erhöht.
  • Befehl 1.4 Alle Spieler die sich im Umkreis von 15 Blöcken befinden, erhalten eine Titel-Nachricht über der Schnellleiste. Dort wird die Anzahl der Takte die bisher stattfanden angezeigt.
Ausschalten
  • Befehl 1.5 Das Punkte-Ziel wird gelöscht und somit auch die Variable für die Ticks.

Befehlsblöcke mit Befehlen:
scoreboard objectives add PZTaktG.1Wert dummy ["Taktgeber.1: ",{"text":"Wert der Variablen","bold":true}]
scoreboard players set VarTaktG.1Tick PZTaktG.1Wert 0


scoreboard players add VarTaktG.1Tick PZTaktG.1Wert 1
title @a[distance=..15] actionbar ["",{"score":{"name":"VarTaktG.1Tick","objective":"PZTaktG.1Wert"},"color":"dark_purple","bold":true},{"text":" Takte","color":"gray","bold":true}]


scoreboard objectives remove PZTaktG.1Wert

Variante 2[]

Taktgeber (Befehle) Bild 2.1 Taktgeber (Befehle) Bild 2.2 Taktgeber (Befehle) Bild 2.3

Diese Variante des Taktgebers, gibt jede Sekunde genau einen Takt ab. Dies wird damit bewerkstelligt, in dem eine Tick-Variable ständig hochgezählt wird und wenn sie dann 20 erreicht hat, wird ein Takt abgegeben. Den kompletten Vorgang können Spieler mit Hilfe des Titel-Befehls sehen.

Einschalten
  • Befehl 2.1 Das Punkte-Ziel wird erstellt. Damit können Variablen für das Zählen der Takte erstellt werden.
  • Befehl 2.2 Die Variablen Tick und Sekunde werden auf null gesetzt. Dies geschieht automatisch, wenn eine Rechenoperation stattfindet.
Wiederholen
  • Befehl 2.3 Der Wert der Tick-Variable wird jeden Tick um eins erhöht.
  • Befehl 2.4 Wenn der Wert der Tick-Variable 20 erreicht, wird die Sekunden-Variable um eins erhöht.
  • Befehl 2.5 Wenn die Tick-Variable den Wert 20 erreicht wird sie wieder auf null gesetzt.
  • Befehl 2.6 Alle Spieler im Umkreis von 15 Blöcken bekommen eine Titel-Nachricht. In dieser sieht man den aktuellen Wert der Tick- und Sekunden-Variable. Dabei zeigt die Sekunden-Variable die Takte an.
Ausschalten
  • Befehl 2.7 Das Punkte-Ziel wird gelöscht und mit ihm alle Variablen die darauf beruhen.

Befehlsblöcke mit Befehlen:
scoreboard objectives add PZTaktG.2Wert dummy ["Taktgeber.2: ",{"text":"Wert der Variablen","bold":true}]
scoreboard players operation VarTaktG.2Tick PZTaktG.2Wert = VarTaktG.2Sekunde PZTaktG.2Wert


scoreboard players add VarTaktG.2Tick PZTaktG.2Wert 1
execute if score VarTaktG.2Tick PZTaktG.2Wert matches 20.. run scoreboard players add VarTaktG.2Sekunde PZTaktG.2Wert 1
execute if score VarTaktG.2Tick PZTaktG.2Wert matches 20.. run scoreboard players set VarTaktG.2Tick PZTaktG.2Wert 0
title @a[distance=..15] actionbar ["",{"score":{"name":"VarTaktG.2Tick","objective":"PZTaktG.2Wert"},"color":"yellow","bold":true},{"text":" Ticks, ","color":"gray","bold":true},{"score":{"name":"VarTaktG.2Sekunde","objective":"PZTaktG.2Wert"},"color":"dark_purple","bold":true},{"text":" Takte","color":"gray","bold":true}]


scoreboard objectives remove PZTaktG.2Wert

Variante 3[]

Taktgeber (Befehle) Bild 3.1 Taktgeber (Befehle) Bild 3.2 Taktgeber (Befehle) Bild 3.3

Dieser Taktgeber gibt seine Takte in unterschiedlichen und zufälligen Zeitabständen ab. Eine Tick-Variable wird ständig hochgezählt und immer dann wenn sie den Zeitabstand erreicht, wird ein neuer zufälliger Zeitabstand errechnet und abgelaufen. Die Ticks, die Takte und die Abstände können dabei über die Titel-Nachricht gesehen werden.

Einschalten
  • Befehl 3.1 Es wird ein Punkte-Ziel erstellt, mit dessen Hilfe weitere Variablen für die Takte erstellt werden können.
  • Befehl 3.2 Es wird eine Konstante mit dem Wert 100 erzeugt und eine Variable mit dem Wert eins die den Zeitabstand zwischen zwei Takten speichert.
Wiederholen
  • Befehl 3.3 Jeden Tick wird die Tick-Variable um eins erhöht.
  • Befehl 3.4 Wenn die Tick-Variable größer ist, als der Wert der Abstands-Variable, wird eine Partikelwolke erzeugt, die nur für einen Tick existiert. Dabei wird auch der Wert der Takt-Variable um eins erhöht[B3.5] und der Wert von Tick auf null gesetzt[B3.6].
  • Befehl 3.7 Von der Partikelwolke wird die erste Zahl von vieren aus der UUID ausgelesen und in ihren Punktestand gespeichert.
  • Befehl 3.8 Anschließend wird der Wert der Partikelwolke mit modulo 100 verrechnet, sodass die Zufallszahl nur noch zwischen null und 99 liegen kann und dieser wert wird in die Abstands-Variable gespeichert.
  • Befehl 3.9 Spieler die im Umkreis von 15 Blöcken sind, erhalten eine Titel-Nachricht, die ihnen die Ticks, die Takte und den Zeitabstand zeigen.
Ausschalten
  • Befehl 3.10 Das Punkte-Ziel wird wieder entfernt und somit auch alle Variablen und Konstanten.

Befehlsblöcke mit Befehlen:
scoreboard objectives add PZTaktG.3Wert dummy ["Taktgeber.3: ",{"text":"Wert der Variablen","bold":true}]
execute store success score VarTaktG.3Abstand PZTaktG.3Wert run scoreboard players set KonstTaktG.3HUNDERT PZTaktG.3Wert 100


scoreboard players add VarTaktG.3Tick PZTaktG.3Wert 1
execute if score VarTaktG.3Tick PZTaktG.3Wert > VarTaktG.3Abstand PZTaktG.3Wert run summon minecraft:area_effect_cloud ~ ~ ~ {Duration:1,Tags:["EtiTaktG.3Alle"]}
execute if score VarTaktG.3Tick PZTaktG.3Wert > VarTaktG.3Abstand PZTaktG.3Wert run scoreboard players add VarTaktG.3Takt PZTaktG.3Wert 1
execute if score VarTaktG.3Tick PZTaktG.3Wert > VarTaktG.3Abstand PZTaktG.3Wert run scoreboard players set VarTaktG.3Tick PZTaktG.3Wert 0
execute as @e[type=minecraft:area_effect_cloud,tag=EtiTaktG.3Alle,sort=nearest,limit=1] store result score @s PZTaktG.3Wert run data get entity @s UUID[0] 1
execute as @e[type=minecraft:area_effect_cloud,tag=EtiTaktG.3Alle,sort=nearest,limit=1] store result score VarTaktG.3Abstand PZTaktG.3Wert run scoreboard players operation @s PZTaktG.3Wert %= KonstTaktG.3HUNDERT PZTaktG.3Wert
title @a[distance=..15] actionbar ["",{"score":{"name":"VarTaktG.3Tick","objective":"PZTaktG.3Wert"},"color":"yellow","bold":true},{"text":" Ticks, ","color":"gray","bold":true},{"score":{"name":"VarTaktG.3Takt","objective":"PZTaktG.3Wert"},"color":"dark_purple","bold":true},{"text":" Takte, ","color":"gray","bold":true},{"score":{"name":"VarTaktG.3Abstand","objective":"PZTaktG.3Wert"},"color":"gold","bold":true},{"text":" Abstand","color":"gray","bold":true}]


scoreboard objectives remove PZTaktG.3Wert

Variante 4[]

Taktgeber (Befehle) Bild 4.1 Taktgeber (Befehle) Bild 4.2 Taktgeber (Befehle) Bild 4.3

Mit Hilfe dieses Taktgebers lassen sich Takte in einer selbst definierten Zeit ausführen. So kann man im Chat auf Schaltflächen klicken um den Zeitabstand einzustellen und um den Taktgeber zu starten. Dann werden per Titel-Nachricht, die Ticks, die Takte und der selbst eingestellte Zeitabstand angezeigt.

Einschalten
  • Befehl 4.1 Es wird ein Punkte-Ziel erzeugt, dass für die Variablen verwendet wird.
  • Befehl 4.2 Es wird ein Markierer erzeugt, der in seinem Namen die Wahrheitswerte speichern kann. Zusätzlich wird eine Abstands-Variable mit dem Wert eins erzeugt.
Wiederholen
  • Befehl 4.3 Jeden Tick wird die Tick-Variable um eins erhöht.
  • Befehl 4.4 Wenn die Tick-Variable den Abstands-Wert erreicht, wird die Takt-Variable um eins erhöht.
  • Befehl 4.5 Wenn die Tick-Variable die Abstands-Variable erreicht hat, wird sie selbst wieder auf null gesetzt.
  • Befehl 4.6 Wenn der Markierer den Namen "wahr" besitzt, wird den Spielern im Umkreis von 15 Blöcken die Titel-Nachricht angezeigt, die beinhaltet die Ticks, den Takt und den Abstand.
  • Befehl 4.7 Wenn der Spieler den Wert eins besitzt, wird dem Markierer der Name wahr gegeben.
  • Befehl 4.8 Wenn der Spieler den Wert zwei besitzt, wird dem Markierer der Name auf falsch gesetzt.
  • Befehl 4.9 Wenn der Spieler den Wert drei besitzt, wird die Abstands-Variable um eins erhöht.
  • Befehl 4.10 Wenn der Markierer existiert und die Spieler nicht den Wert null besitzen, erhalten sie eine Chat-Nachricht, in der sie den Taktgeber einschalten und den Zeitabstand frei einstellen können.
  • Befehl 4.11 Wenn der Spieler auf eine Schaltfläche im Chat geklickt hat, erhält er erneut die Berechtigung eine Schaltfläche auslösen zu dürfen.
  • Befehl 4.12 Spieler die eine Schaltfläche ausgelöst haben bekommen ihren Wert wieder auf null gesetzt.
Ausschalten

Befehlsblöcke mit Befehlen:
scoreboard objectives add PZTaktG.4Wert trigger ["Taktgeber.4: ",{"text":"Wert der Variablen","bold":true}]
execute store success score VarTaktG.4Abstand PZTaktG.4Wert run summon minecraft:marker ~ ~1 ~ {CustomName:'{"text":"falsch","color":"red","bold":true}',Tags:["EtiTaktG.4Alle","EtiTaktG.4Bool"]}


scoreboard players add VarTaktG.4Tick PZTaktG.4Wert 1
execute if score VarTaktG.4Tick PZTaktG.4Wert > VarTaktG.4Abstand PZTaktG.4Wert run scoreboard players add VarTaktG.4Takt PZTaktG.4Wert 1
execute if score VarTaktG.4Tick PZTaktG.4Wert > VarTaktG.4Abstand PZTaktG.4Wert run scoreboard players set VarTaktG.4Tick PZTaktG.4Wert 0
execute if entity @e[type=minecraft:marker,tag=EtiTaktG.4Bool,name="wahr",sort=nearest,limit=1] run title @a[distance=..15] actionbar ["",{"score":{"name":"VarTaktG.4Tick","objective":"PZTaktG.4Wert"},"color":"yellow","bold":true},{"text":" Ticks, ","color":"gray","bold":true},{"score":{"name":"VarTaktG.4Takt","objective":"PZTaktG.4Wert"},"color":"dark_purple","bold":true},{"text":" Takte, ","color":"gray","bold":true},{"score":{"name":"VarTaktG.4Abstand","objective":"PZTaktG.4Wert"},"color":"gold","bold":true},{"text":" Abstand","color":"gray","bold":true}]
execute if entity @a[distance=..15,scores={PZTaktG.4Wert=1}] run data merge entity @e[type=minecraft:marker,tag=EtiTaktG.4Bool,sort=nearest,limit=1] {CustomName:'{"bold":true,"color":"green","text":"wahr"}'}
execute if entity @a[distance=..15,scores={PZTaktG.4Wert=2}] store success score VarTaktG.4Abstand PZTaktG.4Wert run data merge entity @e[type=minecraft:marker,tag=EtiTaktG.4Bool,sort=nearest,limit=1] {CustomName:'{"bold":true,"color":"red","text":"falsch"}'}
execute if entity @a[distance=..25,scores={PZTaktG.4Wert=3}] run scoreboard players add VarTaktG.4Abstand PZTaktG.4Wert 1
execute if entity @e[type=minecraft:marker,tag=EtiTaktG.4Bool,sort=nearest,limit=1] as @a[distance=..15] unless entity @s[scores={PZTaktG.4Wert=0}] run tellraw @s ["Taktgeber.4:\n",{"text":"bool = ","bold":true},{"text":"wahr","color":"gray","bold":true,"underlined":true,"hoverEvent":{"action":"show_text","contents":{"text":"Tippe für Wert wahr"} },"clickEvent":{"action":"run_command","value":"/trigger PZTaktG.4Wert set 1"} },"\n",{"text":"bool = ","bold":true},{"text":"falsch","color":"gray","bold":true,"underlined":true,"hoverEvent":{"action":"show_text","contents":{"text":"Tippe für Wert falsch"} },"clickEvent":{"action":"run_command","value":"/trigger PZTaktG.4Wert set 2"} },"\n",{"text":"bool == ","bold":true},{"entity":"@e[type=minecraft:marker,tag=EtiTaktG.4Bool,sort=nearest,limit=1]","nbt":"CustomName","interpret":true},"\n",{"text":"abstand = ","bold":true},{"text":"abstand + 1","color":"gray","bold":true,"underlined":true,"hoverEvent":{"action":"show_text","contents":{"text":"Tippe für Zeitabstand + 1"} },"clickEvent":{"action":"run_command","value":"/trigger PZTaktG.4Wert set 3"} },"\n",{"text":"abstand == ","bold":true},{"score":{"name":"VarTaktG.4Abstand","objective":"PZTaktG.4Wert"},"color":"dark_purple","bold":true},"\n",{"text":"solange(bool) takt(abstand)","color":"gray","bold":true} ]
execute as @a[distance=..15] unless entity @s[scores={PZTaktG.4Wert=0}] run scoreboard players enable @s PZTaktG.4Wert
execute as @a[distance=..15] unless entity @s[scores={PZTaktG.4Wert=0}] run scoreboard players set @s PZTaktG.4Wert 0


scoreboard objectives remove PZTaktG.4Wert
kill @e[type=minecraft:marker,tag=EtiTaktG.4Alle]

Variante 5[]

Taktgeber (Befehle) Bild 5.1 Taktgeber (Befehle) Bild 5.2 Taktgeber (Befehle) Bild 5.3

Der Taktgeber wird mit Hilfe von Zeitplan-Funktionen realisiert. Hierbei klickt der Spieler im Chat auf eine Schaltfläche und startet so die Zeitplan-Funktion. Die Funktion ruft sich dabei alle 20 Ticks erneut auf und gibt dann eine Titel-Nachricht aus.

Einschalten
  • Befehl 5.1 Auf dem Wiederhol-Befehlsblock befindet sich ein Hebel. Legt man ihn um, wird zuerst der Befehlsblock mit der Start-Funktion taktgeber:v5start aktiviert.
Wiederholen
Ausschalten

Befehlsblöcke mit Befehlen:


Datenpaket



Variante 5: Start-Funktion
Die Start-Funktion erstellt das Punkte-Ziel und erzeugt einen Markierer, der im Namen Wahrheitswerte speichert.

Editor Icon taktgeber:v5start.mcfunction
# Das Punkte-Ziel wird erstellt.
scoreboard objectives add PZTaktG.5Wert trigger ["Taktgeber.5: ",{"text":"Wert der Variablen","bold":true}]

# Ein Markierer der in seinem Namen die Wahrheitswerte "wahr" und "falsch" speichern kann, wird erzeugt.
summon minecraft:marker ~ ~1 ~ {CustomName:'{"text":"falsch","color":"red","bold":true}',Tags:["EtiTaktG.5Alle","EtiTaktG.5Bool"]}


Variante 5: Zyklus-Funktion
Die Zyklus-Funktion reagiert auf die angeklickten Schaltflächen und ermöglicht die Schaltflächen im Chat.

Editor Icon taktgeber:v5zyklus.mcfunction
# Wenn der Spieler auf wahr geklickt hat und somit den Wert eins besitzt, wird der Markierer mit den Namen wahr ausgestattet und die Zeitplan-Funktion wird aufgerufen für in 20 Ticks.
execute if entity @p[distance=..15,scores={PZTaktG.5Wert=1}] run data merge entity @e[type=minecraft:marker,tag=EtiTaktG.5Bool,sort=nearest,limit=1] {CustomName:'{"bold":true,"color":"green","text":"wahr"}'}
execute if entity @p[distance=..15,scores={PZTaktG.5Wert=1}] run schedule function taktgeber:v5takt 20t replace

# Wenn der Spieler auf falsch geklickt hat und somit den Wert zwei besitzt, wird der Name des Markierers auf falsch gesetzt und die Takt-Variable auf null. Ebenfalls wird eine Zeitplan-Funktion die noch läuft beendet.
execute if entity @p[distance=..15,scores={PZTaktG.5Wert=2}] run data merge entity @e[type=minecraft:marker,tag=EtiTaktG.5Bool,sort=nearest,limit=1] {CustomName:'{"bold":true,"color":"red","text":"falsch"}'}
execute if entity @p[distance=..15,scores={PZTaktG.5Wert=2}] run scoreboard players set VarTaktG.5Takt PZTaktG.5Wert 0
execute if entity @p[distance=..15,scores={PZTaktG.5Wert=2}] run schedule clear taktgeber:v5takt

# Wenn der Markierer existiert und Spieler im Umkreis von 15 Blöcken eine Schaltfläche angeklickt haben, wird ihnen im Chat das Menü angezeigt.
execute if entity @e[type=minecraft:marker,tag=EtiTaktG.5Bool,sort=nearest,limit=1] as @a[distance=..15] unless entity @s[scores={PZTaktG.5Wert=0}] run tellraw @s ["Taktgeber.5:\n",{"text":"bool = ","bold":true},{"text":"wahr","color":"gray","bold":true,"underlined":true,"hoverEvent":{"action":"show_text","contents":{"text":"Tippe für Wert wahr"} },"clickEvent":{"action":"run_command","value":"/trigger PZTaktG.5Wert set 1"} },"\n",{"text":"bool = ","bold":true},{"text":"falsch","color":"gray","bold":true,"underlined":true,"hoverEvent":{"action":"show_text","contents":{"text":"Tippe für Wert falsch"} },"clickEvent":{"action":"run_command","value":"/trigger PZTaktG.5Wert set 2"} },"\n",{"text":"bool == ","bold":true},{"entity":"@e[type=minecraft:marker,tag=EtiTaktG.5Bool,sort=nearest,limit=1]","nbt":"CustomName","interpret":true},"\n",{"text":"solange(bool) takt(20)","color":"gray","bold":true} ]

# Den Spielern wird die Berechtigung erneut gegeben und der Wert wird auf null gesetzt.
execute as @a[distance=..15] unless entity @s[scores={PZTaktG.5Wert=0}] run scoreboard players enable @s PZTaktG.5Wert
execute as @a[distance=..15] unless entity @s[scores={PZTaktG.5Wert=0}] run scoreboard players set @s PZTaktG.5Wert 0


Variante 5: Takt-Funktion
Die Takt-Funktion zeigt den Spielern per Titel-Nachricht die Takte an und ruft sich um 20 Ticks verzögert erneut auf, wenn die Bedingungen stimmen.

Editor Icon taktgeber:v5takt.mcfunction
# Die Takt-Variable wird um eins erhöht und anschließend wird den Spielern im Umkreis von 15 Blöcken um den Markierer eine Titel-Nachricht ausgegeben.
scoreboard players add VarTaktG.5Takt PZTaktG.5Wert 1
execute at @e[type=minecraft:marker,tag=EtiTaktG.5Bool,name="wahr",sort=nearest,limit=1] run title @a[distance=..15] actionbar ["",{"score":{"name":"VarTaktG.5Takt","objective":"PZTaktG.5Wert"},"color":"dark_purple","bold":true},{"text":" Takte","color":"gray","bold":true}]

# Nur wenn der Markierer den Namen wahr besitzt, wird die Funktion in 20 Ticks erneut aufgerufen.
execute if entity @e[type=minecraft:marker,tag=EtiTaktG.5Bool,name="wahr",sort=nearest,limit=1] run schedule function taktgeber:v5takt 20t replace


Variante 5: Stopp-Funktion
Die Stopp-Funktion löscht das Punkte-Ziel und löscht den Markierer. Falls eine Zeitplan-Funktion noch läuft, wird sie gestoppt.

Editor Icon taktgeber:v5stopp.mcfunction
# Das Punkte-Ziel wird gelöscht.
scoreboard objectives remove PZTaktG.5Wert

# Der Markierer wird entfernt.
kill @e[type=minecraft:marker,tag=EtiTaktG.5Alle]

# Falls eine Funktion laut Zeitplan noch laufen würde, wird dies gestoppt.
schedule clear taktgeber:v5takt

Variante 6[]

Taktgeber (Befehle) Bild 6.1 Taktgeber (Befehle) Bild 6.2 Taktgeber (Befehle) Bild 6.3

Dieser Taktgeber arbeitet mit Zeitplan-Funktionen, die zeitlich dicht hinter einander liegen und ausgeführt werden. So kann der Spieler auf eine Schaltfläche im Chat klicken und es wird dreimal die gleiche Funktion in einem Abstand von jeweils einen Tick alle 20 Ticks aufgerufen. Das hat zur Folge, dass nach 20 Ticks drei Ticks lang die Titel-Nachricht ausgeführt wird.

Einschalten
  • Befehl 6.1 Auf dem Wiederhol-Befehlsblock befindet sich ein Hebel. Legt man ihn um, wird zuerst der Befehlsblock mit der Start-Funktion taktgeber:v6start aktiviert.
Wiederholen
Ausschalten

Befehlsblöcke mit Befehlen:


Datenpaket



Variante 6: Start-Funktion
Die Start-Funktion erstellt das Punkte-Ziel und erzeugt einen Markierer, der im Namen Wahrheitswerte speichert.

Editor Icon taktgeber:v6start.mcfunction
# Das Punkte-Ziel wird erstellt.
scoreboard objectives add PZTaktG.6Wert trigger ["Taktgeber.6: ",{"text":"Wert der Variablen","bold":true}]

# Ein Markierer der in seinem Namen die Wahrheitswerte "wahr" und "falsch" speichern kann, wird erzeugt.
summon minecraft:marker ~ ~1 ~ {CustomName:'{"text":"falsch","color":"red","bold":true}',Tags:["EtiTaktG.6Alle","EtiTaktG.6Bool"]}


Variante 6: Zyklus-Funktion
Die Zyklus-Funktion reagiert auf die angeklickten Schaltflächen und ermöglicht die Schaltflächen im Chat.

Editor Icon taktgeber:v6zyklus.mcfunction
# Wenn der Spieler auf wahr geklickt hat, wird der Name des Markierers auf wahr gesetzt und die Takt-Funktion wird dreimal in einem Abstand von einen Tick als Zeitplan-Funktion aufgerufen.
execute if entity @p[distance=..15,scores={PZTaktG.6Wert=1}] run data merge entity @e[type=minecraft:marker,tag=EtiTaktG.6Bool,sort=nearest,limit=1] {CustomName:'{"bold":true,"color":"green","text":"wahr"}'}
execute if entity @p[distance=..15,scores={PZTaktG.6Wert=1}] run schedule function taktgeber:v6takt 20t replace
execute if entity @p[distance=..15,scores={PZTaktG.6Wert=1}] run schedule function taktgeber:v6takt 21t append
execute if entity @p[distance=..15,scores={PZTaktG.6Wert=1}] run schedule function taktgeber:v6takt 22t append

# Wenn der Spieler auf falsch geklickt hat, bekommt der Markierer diesen Namen und die Takt-Variable wird auf null gesetzt. Ebenfalls werden alle Zeitplan-Funktionen gestoppt.
execute if entity @p[distance=..15,scores={PZTaktG.6Wert=2}] run data merge entity @e[type=minecraft:marker,tag=EtiTaktG.6Bool,sort=nearest,limit=1] {CustomName:'{"bold":true,"color":"red","text":"falsch"}'}
execute if entity @p[distance=..15,scores={PZTaktG.6Wert=2}] run scoreboard players set VarTaktG.6Takt PZTaktG.6Wert 0
execute if entity @p[distance=..15,scores={PZTaktG.6Wert=2}] run schedule clear taktgeber:v6takt

# Wenn der Markierer existiert und Spieler im Umkreis von 15 Blöcken eine Schaltfläche angeklickt haben, wird ihnen im Chat das Menü angezeigt.
execute if entity @e[type=minecraft:marker,tag=EtiTaktG.6Bool,sort=nearest,limit=1] as @a[distance=..25] unless entity @s[scores={PZTaktG.6Wert=0}] run tellraw @s ["Taktgeber.6:\n",{"text":"bool = ","bold":true},{"text":"wahr","color":"gray","bold":true,"underlined":true,"hoverEvent":{"action":"show_text","contents":{"text":"Tippe für Wert wahr"} },"clickEvent":{"action":"run_command","value":"/trigger PZTaktG.6Wert set 1"} },"\n",{"text":"bool = ","bold":true},{"text":"falsch","color":"gray","bold":true,"underlined":true,"hoverEvent":{"action":"show_text","contents":{"text":"Tippe für Wert falsch"} },"clickEvent":{"action":"run_command","value":"/trigger PZTaktG.6Wert set 2"} },"\n",{"text":"bool == ","bold":true},{"entity":"@e[type=minecraft:marker,tag=EtiTaktG.6Bool,sort=nearest,limit=1]","nbt":"CustomName","interpret":true},"\n",{"text":"solange(bool) takt(20,3)","color":"gray","bold":true} ]

# Den Spielern wird die Berechtigung erneut gegeben und der Wert wird auf null gesetzt.
execute as @a[distance=..15] unless entity @s[scores={PZTaktG.6Wert=0}] run scoreboard players enable @s PZTaktG.6Wert
execute as @a[distance=..15] unless entity @s[scores={PZTaktG.6Wert=0}] run scoreboard players set @s PZTaktG.6Wert 0


Variante 6: Takt-Funktion
Die Takt-Funktion zeigt den Spielern per Titel-Nachricht die Takte an und ruft sich um 20 Ticks verzögert erneut auf, wenn die Bedingungen stimmen.

Editor Icon taktgeber:v6takt.mcfunction
# Die Takt-Variable wird um eins erhöht und anschließend wird den Spielern im Umkreis von 15 Blöcken um den Markierer eine Titel-Nachricht ausgegeben.
scoreboard players add VarTaktG.6Tick PZTaktG.6Wert 1
execute at @e[type=minecraft:marker,tag=EtiTaktG.6Bool,name="wahr",sort=nearest,limit=1] run title @a[distance=..15] actionbar ["",{"score":{"name":"VarTaktG.6Tick","objective":"PZTaktG.6Wert"},"color":"dark_purple","bold":true},{"text":" Takte","color":"gray","bold":true}]

# Nur wenn der Markierer den Namen wahr besitzt, wird die Funktion in 20 Ticks erneut aufgerufen.
execute if entity @e[type=minecraft:marker,tag=EtiTaktG.6Bool,name="wahr",sort=nearest,limit=1] run schedule function taktgeber:v6takt 20t append


Variante 6: Stopp-Funktion
Die Stopp-Funktion löscht das Punkte-Ziel und löscht den Markierer. Falls eine Zeitplan-Funktion noch läuft, wird sie gestoppt.

Editor Icon taktgeber:v6stopp.mcfunction
# Das Punkte-Ziel wird gelöscht.
scoreboard objectives remove PZTaktG.6Wert

# Der Markierer wird entfernt.
kill @e[type=minecraft:marker,tag=EtiTaktG.6Alle]

# Falls eine Funktion laut Zeitplan noch laufen würde, wird dies gestoppt.
schedule clear taktgeber:v6takt
Advertisement