Technik Wiki
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

Ein Zufallsgenerator wählt ein zufälliges Objekt und löst dort etwas aus. Er kann auch Zufallszahlen ausgeben, mit denen man weiter rechnen kann.

Variante 1

Zufallsgenerator (Befehle) Bild 1.1

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.
  • Befehl 1.11 Alle Rüstungsständer werden gelöscht.

Befehlsblöcke mit Befehlen:
scoreboard objectives add PZZufG.1Wert trigger ["Zufallsgenerator.1: ",{"text":"Zufallswert","bold":true}]
summon minecraft:falling_block ~ ~2 ~ {Time:0,Tags:["EtiZufG.1Alle"],Passengers:[{id:"minecraft:armor_stand",Tags:["EtiZufG.1Alle"]},{id:"minecraft:armor_stand",Tags:["EtiZufG.1Alle"]},{id:"minecraft:armor_stand",Tags:["EtiZufG.1Alle"]},{id:"minecraft:armor_stand",Tags:["EtiZufG.1Alle"] } ] }
execute at @e[type=minecraft:falling_block,tag=EtiZufG.1Alle] run spreadplayers ~ ~ 5 10 false @e[type=minecraft:armor_stand,tag=EtiZufG.1Alle]


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"} }]
execute as @a[distance=..25] unless entity @s[scores={PZZufG.1Wert=0}] run scoreboard players enable @s PZZufG.1Wert
execute as @a[distance=..25] unless entity @s[scores={PZZufG.1Wert=0}] run scoreboard players set @s PZZufG.1Wert 0


scoreboard objectives remove PZZufG.1Wert
execute at @e[type=minecraft:armor_stand,tag=EtiZufG.1Alle] run setblock ~ ~ ~ minecraft:air replace
kill @e[tag=EtiZufG.1Alle]

Variante 2

Zufallsgenerator (Befehle) Bild 1.2

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.

Befehlsblöcke mit Befehlen:
scoreboard objectives add PZZufG.2Wert trigger ["Zufallsgenerator.2: ",{"text":"Zufallswert","bold":true}]
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 as @a[distance=..25] unless entity @s[scores={PZZufG.2Wert=0}] run scoreboard players enable @s PZZufG.2Wert
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"} }]
execute as @a[distance=..25] unless entity @s[scores={PZZufG.2Wert=0}] run scoreboard players set @s PZZufG.2Wert 0


scoreboard objectives remove PZZufG.2Wert
execute at @e[type=minecraft:armor_stand,tag=EtiZufG.2Alle] run setblock ~ ~ ~ minecraft:air replace
tag @e[type=minecraft:item,nbt={Item:{tag:{zufallsgenerator:"v2gegenstand"} } }] add EtiZufG.2Alle
kill @e[tag=EtiZufG.2Alle]
clear @a minecraft:armor_stand{zufallsgenerator:"v2gegenstand"}

Variante 3

Zufallsgenerator (Befehle) Bild 2.1 Zufallsgenerator (Befehle) Bild 2.2

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.

Befehlsblöcke mit Befehlen:
scoreboard objectives add PZZufG.3Wert trigger ["Zufallsgenerator.3: ",{"text":"Wert der Variablen","bold":true}]
execute store success score VarZufG.3Zufallszahl PZZufG.3Wert run scoreboard players set VarZufG.3Modulus PZZufG.3Wert 100


execute if entity @p[distance=..25,scores={PZZufG.3Wert=1}] run summon minecraft:area_effect_cloud ~ ~ ~ {Duration:1,Tags:["EtiZufG.3Alle"]}
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 entity @p[distance=..25,scores={PZZufG.3Wert=1}] run scoreboard players operation VarZufG.3Zufallszahl PZZufG.3Wert %= VarZufG.3Modulus PZZufG.3Wert
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}]
execute as @a[distance=..25] unless entity @s[scores={PZZufG.3Wert=0}] run scoreboard players enable @s PZZufG.3Wert
execute as @a[distance=..25] unless entity @s[scores={PZZufG.3Wert=0}] run scoreboard players set @s PZZufG.3Wert 0


scoreboard objectives remove PZZufG.3Wert
Advertisement