Mit diesem Zufallsgenerator werden vier Rüstungsständer erzeugt bei dem einer zufällig den Redstone-Block platziert bekommt. Bei einem weiteren Klick auf den Auslöser wird wieder ein zufälliger davon ausgewählt und dort der Redstone-Block platziert.
Einschalten
Befehl 1.1 Das Punktestand-Ziel, welches den Auslöser beinhaltet, wird als trigger erstellt.
Befehl 1.2 Es wird ein fallender Block erzeugt, auf dem vier Rüstungsständer reiten. Der fallende Block verschwindet nach einem Tick rückstandslos.
Befehl 1.3 Bevor der fallende Block jedoch verschwindet, wird er als Zentrum des spreadplayers-Befehl verwendet, um die vier Rüstungsständer in einem Umkreis von zehn Metern um ihn herum zu verteilen.
Wiederholen
Befehl 1.4 Wenn der Spieler den Auslöser aktiviert hatte, wird bei allen Rüstungsständern ein eventuell vorhandener Redstone-Block durch Luft ersetzt.
Befehl 1.5 Ebenfalls wird dann ein zufälliger Rüstungsständer ausgewählt an dessen Position ein neue Redstone-Block platziert wird.
Befehl 1.6 Wenn es mindestens einen Rüstungsständer gibt, wird in einem Umkreis von 25 Metern nach Spielern gesucht die nicht den Wert null des Auslöser besitzen. Diese erhalten eine tellraw-Nachricht, bei der sie auf die Zufallsfunktion klicken können, damit an einer zufälligen Rüstungsständer-Position ein Redstone-Block entsteht.
Befehl 1.7 Wenn ein Spieler nicht den Wert null besitzt, dann hatte er den Auslöser betätigt und bekommt erneut das Recht den Auslöser ein weiteres mal zu aktivieren.
Befehl 1.8 Ebenfalls wird diesen Spielern auch der Wert wieder auf null gesetzt.
Ausschalten
Befehl 1.9 Das Punktestand-Ziel wird wieder gelöscht.
Befehl 1.10 Der Redstone-Block wird durch Luft ersetzt.
execute if entity @a[distance=..25,scores={PZZufG.1Wert=1}] at @e[type=minecraft:armor_stand,tag=EtiZufG.1Alle] run setblock ~ ~ ~ minecraft:air replace
execute if entity @a[distance=..25,scores={PZZufG.1Wert=1}] at @e[type=minecraft:armor_stand,tag=EtiZufG.1Alle,sort=random,limit=1] run setblock ~ ~ ~ minecraft:redstone_block replace
execute if entity @e[type=minecraft:armor_stand,tag=EtiZufG.1Alle] as @a[distance=..25] unless entity @s[scores={PZZufG.1Wert=0}] run tellraw @a[distance=..25] ["Zufallsgenerator.1: ",{"text":"\nzufallsobjekt()","bold":true,"hoverEvent":{"action":"show_text","value":{"text":"Tippe für einen zufällig ausgewählten Standort für den Redstone-Block"} },"clickEvent":{"action":"run_command","value":"/trigger PZZufG.1Wert set 1"} }]
Mit diesem Zufallsgenerator kann man selbst bestimmen wo die Rüstungsständer platziert sein sollen. Man kann den Auslöser betätigen und an einem der Rüstungsständer wird zufällig ein Redstone-Block platziert.
Einschalten
Befehl 2.1 Das Punktestand-Ziel mit der Auslöser-Funktion wird erstellt.
Befehl 2.2 Spielern im Umkreis von 15 Metern erhalten 16 Rüstungsständer, den man platzieren kann
Wiederholen
Befehl 2.3 Zuerst wird der Spieler für den Auslöser freigeschaltet. Wenn dies geschieht, erhält er automatisch, wenn er noch keinen Wert hatte, den Wert 0.
Befehl 2.4 Wenn der Spieler den Auslöser aktiviert hatte, wird bei allen Rüstungsständern ein eventuell vorhandener Redstone-Block durch Luft ersetzt.
Befehl 2.5 Ebenfalls wird dann ein zufälliger Rüstungsständer ausgewählt an dessen Position ein neue Redstone-Block platziert wird.
Befehl 2.6 In einem Umkreis von 25 Metern wird nach Spielern gesucht die nicht den Wert null des Auslöser besitzen. Diese erhalten eine tellraw-Nachricht, bei der sie auf die Zufallsfunktion klicken können, damit an einer zufälligen Rüstungsständer-Position ein Redstone-Block entsteht.
Befehl 2.7 Wenn ein Spieler nicht den Wert null besitzt, dann hatte er den Auslöser betätigt, dann wird der Wert wieder auf null gesetzt.
Ausschalten
Befehl 2.8 Das Punktestand-Ziel wird wieder gelöscht.
Befehl 2.9 Der Redstone-Block an einer der Rüstungsständer-Positionen wird gelöscht.
Befehl 2.10 Falls man die Rüstungsständer auf den Boden geworfen hat, erhalten diese Drops ein Etikett.
Befehl 2.11 Alle Objekte mit dem bestimmten Etikett werden entfernt.
Befehl 2.12 Die Rüstungsständer die ins Inventar gelegt wurden, werden wieder gelöscht.
give @a[distance=..15] minecraft:armor_stand{zufallsgenerator:"v2gegenstand",display:{Lore:['"Platziere den Rüstungsständer"','"um an seiner Position"','"zufällig einen Redstone-Block"','"erscheinen zu lassen"']},EntityTag:{Tags:["EtiZufG.2Alle"]} } 16
execute if entity @a[distance=..25,scores={PZZufG.2Wert=1}] at @e[type=minecraft:armor_stand,tag=EtiZufG.2Alle] run setblock ~ ~ ~ minecraft:air replace
execute if entity @a[distance=..25,scores={PZZufG.2Wert=1}] at @e[type=minecraft:armor_stand,tag=EtiZufG.2Alle,sort=random,limit=1] run setblock ~ ~ ~ minecraft:redstone_block replace
execute if entity @e[type=minecraft:armor_stand,tag=EtiZufG.2Alle] as @a[distance=..25] unless entity @s[scores={PZZufG.2Wert=0}] run tellraw @a[distance=..25] ["Zufallsgenerator.2: ",{"text":"\nzufallsobjekt()","bold":true,"hoverEvent":{"action":"show_text","value":{"text":"Tippe für einen zufällig ausgewählten Standort für den Redstone-Block"} },"clickEvent":{"action":"run_command","value":"/trigger PZZufG.2Wert set 1"} }]
Mit diesem Zufallsgenerator lassen sich zuverlässig Zufallszahlen erzeugen. Dies wird mittels des Auslesen der UUID einer Partikelwolke bewerkstelligt, welche beim erzeugen immer eine zufällige und sehr lange Nummer besitzt. Diese wird ausgelesen und zurechtgestutzt, sodass sie nur zwischen 0 und 99 groß ist.
Einschalten
Befehl 3.1 Das Punktestand-Ziel mit der Auslöser-Funktion wird erstellt.
Befehl 3.2 Die Modulus-Variable wird mit dem Wert 100 erstellt und dieser Befehl wird auf Erfolg geprüft und das Ergebnis als Wert davon wird in die Zufallszahl-Variable gespeichert, welche somit den Wert 1 erhält.
Wiederholen
Befehl 3.3 Wenn der Auslöser von einem Spieler im Umkreis von 25 Metern aktiviert wurde, wird eine Partikelwolke erzeugt, die einen Tick lang existiert. Für den Zweck reicht es vollkommen.
Befehl 3.4 Wenn der Auslöser aktiviert wurde, wird jetzt von der Partikelwolke die UUID mit einem Exponentenfaktor -10 multipliziert, sodass aus der sehr großen UUID-Zahl ein deutlich kleinere wird.
Befehl 3.5 Als letztes, nach dem der Auslöser aktivier wurde, wird die Zufallszahl modulus 100 genommen, sodass sie maximal 99 ergeben kann.
Befehl 3.6 Wenn die Modulus-Variable bereits existiert, wird in einem Umkreis von 25 Metern nach Spielern gesucht die nicht den Wert null des Auslöser besitzen. Diese erhalten eine tellraw-Nachricht, bei der sie auf die Zufallsfunktion klicken können, damit der Zufallszahlenwert erzeugt wird.
Befehl 3.7 Spieler die den Auslöser aktiviert haben oder noch keinen Wert besitzen haben nicht den Wert 0 und werden so für den Auslöser freigeschaltet.
Befehl 3.8 Wenn ein Spieler nicht den Wert null besitzt, dann hatte er den Auslöser betätigt, dann wird der Wert wieder auf null gesetzt.
Ausschalten
Befehl 3.9 Das Punktestand-Ziel für den Auslöser wird wieder gelöscht.
execute if entity @p[distance=..25,scores={PZZufG.3Wert=1}] store result score VarZufG.3Zufallszahl PZZufG.3Wert run data get entity @e[type=minecraft:area_effect_cloud,tag=EtiZufG.3Alle,sort=nearest,limit=1] UUIDLeast 0.0000000001
execute if score VarZufG.3Modulus PZZufG.3Wert matches 0.. as @a[distance=..25] unless entity @s[scores={PZZufG.3Wert=0}] run tellraw @a[distance=..25] ["Zufallsgenerator.3: ",{"text":"\nvar = ","bold":true,"hoverEvent":{"action":"show_text","value":{"text":"Tippe für eine Zufallszahl"} },"clickEvent":{"action":"run_command","value":"/trigger PZZufG.3Wert set 1"} },{"score":{"name":"VarZufG.3Zufallszahl","objective":"PZZufG.3Wert"},"color":"dark_purple","bold":true}]