Das offizielle Minecraft Wiki twittert hier: Wiki-Twitter  –  Chatte im Wiki-Discord  – Noch keinen Server gefunden? Es gibt einen Wiki-Server

Hello there! We are conducting a survey to better understand the user experience in making a first edit. If you have ever made an edit on Gamepedia, please fill out the survey. Thank you!

Uhren-Anzeige (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.
Redstone-Schaltkreise Symbol.png
Überarbeitete oder neue Varianten dieser Technik existieren bereits in der aktuellen Redstone-Welt.
Hier fehlt noch die Dokumentation dieser Varianten, diese müssen noch nachgetragen 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]

Uhren-Anzeige (Befehle) Bild 1.1.png Uhren-Anzeige (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 erstellt Befehl 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 speichern Befehl 1.2, Befehl 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 gespannt Befehl 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 Erzeugen Befehl 1.5, Befehl 1.6, Befehl 1.7, Befehl 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 beginnt Befehl 1.9.

Nun läuft auch der Zähler an, der jeden Tick ständig sich um eins erhöht Befehl 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 befindet Befehl 1.11 und nur dann wird der Konstruktionsblock an dem Rüstungsständer für die Doppelpunkte platziert Befehl 1.12. In der zweiten Hälfte der Sekunde Befehl 1.13, werden die platzierten Punkte auch wieder entfernt Befehl 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 platziert Befehl 1.15. Dies geschieht bei den neun weiteren Ziffern genauso Befehl 1.16, Befehl 1.17, Befehl 1.18, Befehl 1.19, Befehl 1.20, Befehl 1.21, Befehl 1.22, Befehl 1.23, Befehl 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ückgesetzt Befehl 1.26. Dies wird genutzt um die vorher platzierten Konstruktionsblöcke mit Redstone-Signale mit Hilfe von Redstone-Blöcken zu versorgen Befehl 1.27, danach werden sie wieder entfernt Befehl 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öht Befehl 1.29. Hierbei wird direkt im Anschluss geprüft ob er den Wert zehn erreicht hat Befehl 1.30, denn wenn das der Fall ist, dann wird der Sekunden-Rüstungsständer für die Zehner-Stellen um eins erhöht Befehl 1.31 und auch hierbei wird wieder geprüft ob dieser schon die 60 erreicht hat Befehl 1.32, denn dann muss auch der Minuten-Rüstungsständer hochgezählt werden Befehl 1.33. Dies geht dann so immer weiter bis alle Rüstungsständer erreicht wurden {{bb|1|34}, Befehl 1.35, Befehl 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-Ziel Befehl 1.37, sowie die Ziffern Befehl 1.38 wie auch die Rüstungsständer Befehl 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]