Das offizielle Minecraft Wiki twittert hier: Wiki-Twitter  –  Chatte im Wiki-Discord  – Noch keinen Server gefunden? Es gibt einen Wiki-Server
Aktuell: Hilf mit, das Technik Wiki auf 1.13 zu bringen => HIER

Schaltwerke/Uhrenanzeige (Befehle)

Aus Technik Wiki
Wechseln zu: Navigation, Suche
Gruppe: Grid Redstone-Komparator.png
Schaltwerke

Grid Roter Sand blass.png mit Mechaniken

Grid Redstone.png mit Redstone
                Hier:
Grid Befehlsblock.png mit Befehlen

Die vorgestellte Technik kann in der Redstone-Welt angesehen werden.

Die Uhrenanzeige kann die reale Spielzeit anzeigen, wenn man sie zu exakten Zeit startet. So kann man sich dann beispielsweise auf Minecraft-Servern die Uhrzeit anzeigen lassen. Ähnlich dazu gibt es auch einen Tageszeitsensor welcher die Zeit dem Spieler direkt im Chat-Bereich anzeigt.

Inhaltsverzeichnis

Variante 1[Bearbeiten | Quelltext bearbeiten]

Schaltwerke Uhrenanzeige (Befehle) Bild 1.1.png Schaltwerke Uhrenanzeige (Befehle) Bild 1.2.png

Diese Uhrenanzeige wird mit Konstruktionsblöcken betrieben, welche alle zehn Ziffern gespeichert haben und je Zeitangabe abgerufen werden. Um die Uhrenanzeige zu starten, legt man den Hebel um, welcher an den drei Befehlsblocksäulen befindet. Zuallererst wird ein Punktestand-Ziel erstelltBefehl 1.1, welches genutzt wird um die Zeit in Ticks zu speichern. Danach werden die Konstruktionsblöcke mit einem kurzen Redstone-Signal mit Hilfe von Redstone-Blöcken angesteuert, damit sie die zehn Ziffern speichernBefehl 1.2Befehl 1.3. Hiernach werden unsichtbare Rüstungsständer erzeugt, welche an ihrer Position später die einzelnen Ziffern mit Hilfe der Konstruktionsblöcke erscheinen lassen. Dazu wird ein Rüstungsständer relativ vom Befehlsblock mit etwas Abstand gespawntBefehl 1.4, dieser besitzt einen Namen und ein Etikett, das auch alle anderen Rüstungsständer besitzen werden. Ausgehend von diesem Rüstungsständer werden jetzt weitere Rüstungsständer erzeugt relativ zu diesem, falls man die Position des ersten Rüstungsständers ändert, änder Sicht gleichwohl auch die der anderen beim ErzeugenBefehl 1.5Befehl 1.6Befehl 1.7Befehl 1.8. Die Ziffern der Uhrenanzeige werden abhängig von dem jeweiligen Punktestand der Rüstungsständer angezeigt, daher wird allen noch der Wert 0 übergeben, damit die Uhr bei 00:00 beginntBefehl 1.9.

Nun läuft auch der Zähler an, der jeden Tick ständig sich um eins erhöhtBefehl 1.10, hierbei entsprechen 20 Ticks einer Sekunde. Der Wert wird dabei in einer Variable gespeichert, auf die in der ganzen Welt zugegriffen werden kann. Dies wird auch direkt genutzt um die zwei Punkte die zwischen den Sekunden und Minuten sich befinden ständig blinken. Hierauf wird geprüft ob sich der Punktestand der Variable in der ersten Hälfte der Sekunde befindetBefehl 1.11 und nur dann wird der Konstruktionsblock an dem Rüstungsständer für die Doppelpunkte platziertBefehl 1.12. In der zweiten Hälfte der SekundeBefehl 1.13, werden die platzierten Punkte auch wieder entferntBefehl 1.14. Nun geht es zu den eigentlichen Ziffern über. Pro zu erscheinende Ziffer, wird der gleiche Punktestand der Rüstungsständer überprüft, nur wenn dieser übereinstimmt, wird ein Konstruktionsblock mit der entsprechenden Ziffer unter dem Rüstungsständer platziertBefehl 1.15. Dies geschieht bei den neun weiteren Ziffern genausoBefehl 1.16Befehl 1.17Befehl 1.18Befehl 1.19Befehl 1.20Befehl 1.21Befehl 1.22Befehl 1.23Befehl 1.24.

Im Anschluss wird geprüft ob die Variable über zwanzig istBefehl 1.25, denn alle zwanzig Ticks wird sie dann wieder auf null zurückgesetztBefehl 1.26. Dies wird genutzt um die vorher platzierten Konstruktionsblöcke mit Redstone-Signale mit Hilfe von Redstone-Blöcken zu versorgenBefehl 1.27, danach werden sie wieder entferntBefehl 1.28. Jetzt folgt die Hochzählung der Punktestände der einzelnen Rüstungsständer. Der Sekunden-Rüstungsständer, der auch solch einen Namen trägt wird alle zwanzig Ticks um eins erhöhtBefehl 1.29. Hierbei wird direkt im Anschluss geprüft ob er den Wert zehn erreicht hatBefehl 1.30, denn wenn das der Fall ist, dann wird der Sekunden-Rüstungsständer für die Zehner-Stellen um eins erhöhtBefehl 1.31 und auch hierbei wird wieder geprüft ob dieser schon die 60 erreicht hatBefehl 1.32, denn dann muss auch der Minuten-Rüstungsständer hochgezählt werdenBefehl 1.33. Dies geht dann so immer weiter bis alle Rüstungsständer erreicht wurdenBefehl 1.34Befehl 1.35Befehl 1.36. Damit lässt sich insgesamt eine Stunde abbilden. Um mehrere Stunden oder sogar Tage abbilden zu können, müssen nur weitere Rüstungsständer erzeugt werden und nach dem gleichen Schema hochgezählt werden. Wenn man die Uhrenanzeige wieder ausschalten will, so legt man den Hebel einfach wieder um und das Punktestand-ZielBefehl 1.37, sowie die ZiffernBefehl 1.38 wie auch die RüstungsständerBefehl 1.39 werden dann gelöscht.


Befehlsblöcke mit Befehlen:
scoreboard objectives add PZUhr:1Zeit dummy
fill ~-3 ~-1 ~3 ~-3 ~-1 ~13 minecraft:redstone_block
fill ~-3 ~-2 ~3 ~-3 ~-2 ~13 minecraft:air
summon minecraft:armor_stand ~3 ~-1 ~ {CustomName:"ObjUhr:1Sekunden",Invisible:true,NoGravity:true,Tags:["EtiUhr:1Alle"]}
execute @e[type=minecraft:armor_stand,name=ObjUhr:1Sekunden,c=1] ~4 ~ ~ /summon minecraft:armor_stand ~ ~ ~ {CustomName:"ObjUhr:1SekundenZehner",Invisible:true,NoGravity:true,Tags:["EtiUhr:1Alle"]}
execute @e[type=minecraft:armor_stand,name=ObjUhr:1Sekunden,c=1] ~7 ~ ~ /summon minecraft:armor_stand ~ ~ ~ {CustomName:"ObjUhr:1Punkte",Invisible:true,NoGravity:true,Tags:["EtiUhr:1Alle"]}
execute @e[type=minecraft:armor_stand,name=ObjUhr:1Sekunden,c=1] ~10 ~ ~ /summon minecraft:armor_stand ~ ~ ~ {CustomName:"ObjUhr:1Minuten",Invisible:true,NoGravity:true,Tags:["EtiUhr:1Alle"]}
execute @e[type=minecraft:armor_stand,name=ObjUhr:1Sekunden,c=1] ~14 ~ ~ /summon minecraft:armor_stand ~ ~ ~ {CustomName:"ObjUhr:1MinutenZehner",Invisible:true,NoGravity:true,Tags:["EtiUhr:1Alle"]}
scoreboard players set @e[type=minecraft:armor_stand,name=!ObjUhr:1Punkte,tag=EtiUhr:1Alle] PZUhr:1Zeit 0


scoreboard players add #VarUhr:1Tick PZUhr:1Zeit 1
scoreboard players test #VarUhr:1Tick PZUhr:1Zeit 0 9
execute @e[type=minecraft:armor_stand,name=ObjUhr:1Punkte,tag=EtiUhr:1Alle] ~ ~ ~ /setblock ~ ~-1 ~ minecraft:structure_block mode=load keep {posX:-1,posY:5,posZ:0,mode:"LOAD",name:"ks_uhrenanzeige_1punkte"}
scoreboard players test #VarUhr:1Tick PZUhr:1Zeit 10 19
execute @e[type=minecraft:armor_stand,name=ObjUhr:1Punkte,tag=EtiUhr:1Alle] ~ ~ ~ /fill ~ ~4 ~ ~ ~6 ~ minecraft:air
execute @e[type=minecraft:armor_stand,tag=EtiUhr:1Alle,score_PZUhr:1Zeit_min=0,score_PZUhr:1Zeit=0] ~ ~ ~ /setblock ~ ~-1 ~ minecraft:structure_block mode=load keep {posX:-1,posY:5,posZ:0,mode:"LOAD",name:"ks_uhrenanzeige_1zahl0"}
execute @e[type=minecraft:armor_stand,tag=EtiUhr:1Alle,score_PZUhr:1Zeit_min=1,score_PZUhr:1Zeit=1] ~ ~ ~ /setblock ~ ~-1 ~ minecraft:structure_block mode=load keep {posX:-1,posY:5,posZ:0,mode:"LOAD",name:"ks_uhrenanzeige_1zahl1"}
execute @e[type=minecraft:armor_stand,tag=EtiUhr:1Alle,score_PZUhr:1Zeit_min=2,score_PZUhr:1Zeit=2] ~ ~ ~ /setblock ~ ~-1 ~ minecraft:structure_block mode=load keep {posX:-1,posY:5,posZ:0,mode:"LOAD",name:"ks_uhrenanzeige_1zahl2"}
execute @e[type=minecraft:armor_stand,tag=EtiUhr:1Alle,score_PZUhr:1Zeit_min=3,score_PZUhr:1Zeit=3] ~ ~ ~ /setblock ~ ~-1 ~ minecraft:structure_block mode=load keep {posX:-1,posY:5,posZ:0,mode:"LOAD",name:"ks_uhrenanzeige_1zahl3"}
execute @e[type=minecraft:armor_stand,tag=EtiUhr:1Alle,score_PZUhr:1Zeit_min=4,score_PZUhr:1Zeit=4] ~ ~ ~ /setblock ~ ~-1 ~ minecraft:structure_block mode=load keep {posX:-1,posY:5,posZ:0,mode:"LOAD",name:"ks_uhrenanzeige_1zahl4"}
execute @e[type=minecraft:armor_stand,tag=EtiUhr:1Alle,score_PZUhr:1Zeit_min=5,score_PZUhr:1Zeit=5] ~ ~ ~ /setblock ~ ~-1 ~ minecraft:structure_block mode=load keep {posX:-1,posY:5,posZ:0,mode:"LOAD",name:"ks_uhrenanzeige_1zahl5"}
execute @e[type=minecraft:armor_stand,tag=EtiUhr:1Alle,score_PZUhr:1Zeit_min=6,score_PZUhr:1Zeit=6] ~ ~ ~ /setblock ~ ~-1 ~ minecraft:structure_block mode=load keep {posX:-1,posY:5,posZ:0,mode:"LOAD",name:"ks_uhrenanzeige_1zahl6"}
execute @e[type=minecraft:armor_stand,tag=EtiUhr:1Alle,score_PZUhr:1Zeit_min=7,score_PZUhr:1Zeit=7] ~ ~ ~ /setblock ~ ~-1 ~ minecraft:structure_block mode=load keep {posX:-1,posY:5,posZ:0,mode:"LOAD",name:"ks_uhrenanzeige_1zahl7"}
execute @e[type=minecraft:armor_stand,tag=EtiUhr:1Alle,score_PZUhr:1Zeit_min=8,score_PZUhr:1Zeit=8] ~ ~ ~ /setblock ~ ~-1 ~ minecraft:structure_block mode=load keep {posX:-1,posY:5,posZ:0,mode:"LOAD",name:"ks_uhrenanzeige_1zahl8"}
execute @e[type=minecraft:armor_stand,tag=EtiUhr:1Alle,score_PZUhr:1Zeit_min=9,score_PZUhr:1Zeit=9] ~ ~ ~ /setblock ~ ~-1 ~ minecraft:structure_block mode=load keep {posX:-1,posY:5,posZ:0,mode:"LOAD",name:"ks_uhrenanzeige_1zahl9"}


scoreboard players test #VarUhr:1Tick PZUhr:1Zeit 21
scoreboard players set #VarUhr:1Tick PZUhr:1Zeit 0
execute @e[type=minecraft:armor_stand,tag=EtiUhr:1Alle] ~ ~ ~ /setblock ~ ~-2 ~ minecraft:redstone_block
execute @e[type=minecraft:armor_stand,tag=EtiUhr:1Alle] ~ ~ ~ /fill ~ ~-1 ~ ~ ~-2 ~ minecraft:air
scoreboard players add @e[type=minecraft:armor_stand,name=ObjUhr:1Sekunden,tag=EtiUhr:1Alle] PZUhr:1Zeit 1
scoreboard players set @e[type=minecraft:armor_stand,name=ObjUhr:1Sekunden,tag=EtiUhr:1Alle,score_PZUhr:1Zeit_min=10] PZUhr:1Zeit 0
scoreboard players add @e[type=minecraft:armor_stand,name=ObjUhr:1SekundenZehner,tag=EtiUhr:1Alle] PZUhr:1Zeit 1
scoreboard players set @e[type=minecraft:armor_stand,name=ObjUhr:1SekundenZehner,tag=EtiUhr:1Alle,score_PZUhr:1Zeit_min=6] PZUhr:1Zeit 0
scoreboard players add @e[type=minecraft:armor_stand,name=ObjUhr:1Minuten,tag=EtiUhr:1Alle] PZUhr:1Zeit 1
scoreboard players set @e[type=minecraft:armor_stand,name=ObjUhr:1Minuten,tag=EtiUhr:1Alle,score_PZUhr:1Zeit_min=10] PZUhr:1Zeit 0
scoreboard players add @e[type=minecraft:armor_stand,name=ObjUhr:1MinutenZehner,tag=EtiUhr:1Alle] PZUhr:1Zeit 1
scoreboard players set @e[type=minecraft:armor_stand,name=ObjUhr:1MinutenZehner,tag=EtiUhr:1Alle,score_PZUhr:1Zeit_min=6] PZUhr:1Zeit 0


scoreboard objectives remove PZUhr:1Zeit
execute @e[type=minecraft:armor_stand,tag=EtiUhr:1Alle] ~ ~ ~ /fill ~-1 ~-2 ~ ~1 ~6 ~ minecraft:air
kill @e[type=minecraft:armor_stand,tag=EtiUhr:1Alle]
Promotional Content