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

Anlagen/Tageszeitwandler und -sensor (Befehle)

Aus Technik Wiki
Wechseln zu: Navigation, Suche
Gruppe: Grid Klebriger Kolben.png
Anlagen

Grid Roter Sand blass.png mit Mechaniken

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

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

Der Tageszeitwandler und -sensor kann nicht nur die Tageszeit exakt angeben, sondern auch sie ändern. Optional kann man auch die Tageszeit komplett festsetzen, in dem man den Befehl /gamerule doDaylightCycle benutzt.

Variante 1[Bearbeiten | Quelltext bearbeiten]

Anlagen Tageszeitwandler und -sensor (Befehle) Bild 1.1.png Anlagen Tageszeitwandler und -sensor (Befehle) Bild 1.2.png

Bei diesem Tageszeitmesser, werden die Tage unabhängig vom wirklichen Tagesablauf gezählt. Dadurch ist dieser Sensor unabhängiger, aber kann auch bei zu häufigen Benutzungen von dem /time-Befehl zu falschen Zeiten den nächsten Tag ankündigen. Zuerst wird ein Punktestand-Ziel angelegtBefehl 1.1 in denen ebenfalls wie in der vorigen Variante, zwei Variablen für das Zählen der Tage, sowie der Ticks benutzt werden. Nun wird die Tick-Variable jeden Tick um eins erhöhtBefehl 1.2. Wenn sie dann den Wert von 24000 erreichtBefehl 1.3 (Ticks eines ganzen Tagesablaufes), wird zuerst die Variable wieder auf null zurückgesetztBefehl 1.4 um anschließend die Variable für die Tage um eins zu erhöhenBefehl 1.5. Als letztes wird der Tag in Form einer Schnellzugriffsleisten-Nachricht ausgegebenBefehl 1.6 und auch als tellraw-NachrichtBefehl 1.7. Die Variable für den Tag wird mit dieser Anlage immer weiter hochgezählt und bleibt es, solange man nicht das Punktestand-Ziel durch das Umlegen des Hebels löschtBefehl 1.8.


Befehlsblöcke mit Befehlen:
scoreboard objectives add PZTagZWS:1 dummy


scoreboard players add #VarTagZWS:1Tick PZTagZWS:1 1
scoreboard players test #VarTagZWS:1Tick PZTagZWS:1 24000
scoreboard players set #VarTagZWS:1Tick PZTagZWS:1 0
scoreboard players add #VarTagZWS:1Tag PZTagZWS:1 1
title @a[r=50] title ["Zeitmesser:1 ",{"text":"Tag "},{"score":{"name":"#VarTagZWS:1Tag","objective":"PZTagZWS:1"} } ]
tellraw @a[r=50] ["Zeitmesser:1 ",{"text":"Der ","color":"yellow"},{"score":{"name":"#VarTagZWS:1Tag","objective":"PZTagZWS:1"} },{"text":". Tag ist angebrochen","color":"yellow"} ]


scoreboard objectives remove PZTagZWS:1

Variante 2[Bearbeiten | Quelltext bearbeiten]

Anlagen Tageszeitwandler und -sensor (Befehle) Bild 2.1.png Anlagen Tageszeitwandler und -sensor (Befehle) Bild 2.2.png

Mit dem Sensor lassen sich die Tage angeben. Immer wenn ein neuer Tag angebrochen ist, wird eine Meldung herausgegeben, die den aktuellen Tag ankündigt. Zuerst wird ein Punktestand-Ziel benötigtBefehl 2.1, welches für die zwei Variablen benötigt wirdBefehl 2.2Befehl 2.3. Diese Variablen bekommen durch einen RüstungsständerBefehl 2.4, welcher durch /stats-BefehleBefehl 2.5Befehl 2.6 die aktuellen Werte der Tageszeit ausgibt, die Werte. Die /stats-Befehle lesen dabei den Rüstungsständer ausBefehl 2.7Befehl 2.8. Hier wird der Tag und die Tageszeit ausgegeben. Die beiden /time-Befehle werden durch den Wiederhol-Befehlsblock permanent aktualisiert und man kann dann im nachfolgenden Ketten-Befehlsblock überprüfen ob ein kompletter Tageszyklus vorbei istBefehl 2.9. Dazu fragt man die Tick-Variable ab ob sie wieder bei null gelandet ist. Nur wenn genau das geschehen ist, wird der Ketten-Befehlsblock das erkennen und den dahinterliegenden bedingten Ketten-Befehlsblock durchschalten. Dieser gibt dem Spieler dann den aktuellen Tag aus. Dies geschieht einmal durch eine Titel-NachrichtBefehl 2.10 und einmal als tellraw-NachrichtBefehl 2.11. Um die Anlage auszuschalten, muss einfach ein Hebel am Befehlsblock wieder zurückgelegt werden, wodurch eine Redstone-Fackel aktiv wird und das Punktestand-Ziel löschtBefehl 2.12. Anschließend muss der Rüstungsständer, der mit dem Punktestand-Ziel verknüpft ist wieder davon befreit werden, dazu wird er einfach gelöschtBefehl 2.13. Wenn man diese Anlage in einer Welt aufstellt, kann sie aber nur dann Tage zählen wenn man nicht den Befehl /time set benutzt, denn sonst wird die Anzahl der vergangenen Tage wieder auf null zurückgesetzt.


Befehlsblöcke mit Befehlen:
scoreboard objectives add PZTagZWS:2 dummy
scoreboard players set #VarTagZWS:2Tag PZTagZWS:2 0
scoreboard players set #VarTagZWS:2Tick PZTagZWS:2 0
summon minecraft:armor_stand ~ ~ ~ {CustomName:"ObjTagZWS:2Zeitmesser",Small:true,Marker:true,Tags:["EtiTagZWS:2Alle"] }
stats entity @e[type=minecraft:armor_stand,name=ObjTagZWS:2Zeitmesser] set QueryResult #VarTagZWS:2Tag PZTagZWS:2
stats entity @e[type=minecraft:armor_stand,name=ObjTagZWS:2Zeitmesser] set QueryResult #VarTagZWS:2Tick PZTagZWS:2


execute @e[type=minecraft:armor_stand,name=ObjTagZWS:2Zeitmesser] ~ ~ ~ /time query day
execute @e[type=minecraft:armor_stand,name=ObjTagZWS:2Zeitmesser] ~ ~ ~ /time query daytime
scoreboard players test #VarTagZWS:2Tick PZTagZWS:2 0 0
execute @e[type=minecraft:armor_stand,name=ObjTagZWS:2Zeitmesser] ~ ~ ~ /title @a[r=50] title ["Zeitmesser:2 ",{"text":"Tag "},{"score":{"name":"#VarTagZWS:2Tag","objective":"PZTagZWS:2"} } ]
tellraw @a[r=50] ["Zeitmesser:2 ",{"text":"Der ","color":"yellow"},{"score":{"name":"#VarTagZWS:2Tag","objective":"PZTagZWS:2"} },{"text":". Tag ist angebrochen","color":"yellow"} ]


scoreboard objectives remove PZTagZWS:2
kill @e[type=minecraft:armor_stand,name=ObjTagZWS:2Zeitmesser]

Variante 3[Bearbeiten | Quelltext bearbeiten]

Anlagen Tageszeitwandler und -sensor (Befehle) Bild 3.1.png Anlagen Tageszeitwandler und -sensor (Befehle) Bild 3.2.png

Dieser Zeitmesser zeigt einem die Sekunden, Minuten, Stunden und Tage in Echtzeit an, wenn man die Uhr im Inventar ausgewählt hat. Beim Einschalten der Konstruktion, wird zuerst ein Punktestand-Ziel mit vorgegebener Statistik erstelltBefehl 3.1, welche jeden Tick sich automatisch um eins erhöht. Anschließend werden vier Punktestand-Ziele ohne Statistik erstelltBefehl 3.2Befehl 3.3Befehl 3.4Befehl 3.5, welche die Sekunden, die Minuten, die Stunden und die Tage abbilden, seit dem der Spieler den Zeitmesser aktiviert hat. Als letztes erhalten alle Spieler in einem Radius von 25 Metern eine UhrBefehl 3.6. Nun beginnt ein Wiederhol-Befehlsblock mit dem permanenten durchlaufen der Befehlskette und dabei wird in dieser Kette als erstes geprüft, ob der Punktestand der Ticks eines Spielers die 20 erreicht hatBefehl 3.7. Wenn das der Fall ist wird dem Spieler sein Wert von den Sekunden um eins erhöht. Danach wird die Tickzeit wieder auf null zurück gesetztBefehl 3.8. Nun läuft das auch über die MinutenBefehl 3.9Befehl 3.10, über die StundenBefehl 3.11Befehl 3.12 und Tage abBefehl 3.13Befehl 3.14. Dabei wird das alles intern berechnet und der Spieler bekommt davon nichts mit. Nun folgt der Teil, der dafür sorgt, das man sich die Uhrzeit jederzeit anzeigen lassen kann. Zuerst wird ein title-BefehlBefehl 3.15 ausgeführt, der einfach dafür sorgt, das ein eventuell von dem letzten Durchlauf erschienener Zeittitel verschwindet, falls man die Uhr nicht mehr auswählt. Danach wird einem ein Etikett entferntBefehl 3.16, welches in der Vorrunde einem gegeben wurde, falls man die Uhr ausgewählt hatBefehl 3.17. Alle Spieler die die Uhr ausgewählt haben, erhalten nun eine Titel-Nachricht, die einem anzeigt wie viele Sekunden, Minuten, Stunden und Tage man schon spieltBefehl 3.18. Falls man die Konstruktion wieder ausschaltet, wird dafür gesorgt, das alle Punktestand-Ziele entfernt werdenBefehl 3.19Befehl 3.20Befehl 3.21Befehl 3.22Befehl 3.23. Danach wird dafür gesorgt, das auch die Uhr aus dem Inventar verschwindetBefehl 3.24.


Befehlsblöcke mit Befehlen:
scoreboard objectives add PZTagZWS:3Tick stat.playOneMinute
scoreboard objectives add PZTagZWS:3Sek dummy
scoreboard objectives add PZTagZWS:3Min dummy
scoreboard objectives add PZTagZWS:3Stun dummy
scoreboard objectives add PZTagZWS:3Tag dummy
give @a[r=25] minecraft:clock 1 0 {display:{Name:"Zeitmesser:3",Lore:["Wähle diesen Gegenstand aus,","um dir die Zeit anzuzeigen"] } }


scoreboard players add @a[score_PZTagZWS:3Tick_min=20] PZTagZWS:3Sek 1
scoreboard players set @a[score_PZTagZWS:3Tick_min=20] PZTagZWS:3Tick 0
scoreboard players add @a[score_PZTagZWS:3Sek_min=60] PZTagZWS:3Min 1
scoreboard players set @a[score_PZTagZWS:3Sek_min=60] PZTagZWS:3Sek 0
scoreboard players add @a[score_PZTagZWS:3Min_min=60] PZTagZWS:3Stun 1
scoreboard players set @a[score_PZTagZWS:3Min_min=60] PZTagZWS:3Min 0
scoreboard players add @a[score_PZTagZWS:3Stun_min=24] PZTagZWS:3Tag 1
scoreboard players set @a[score_PZTagZWS:3Stun_min=24] PZTagZWS:3Stun 0
title @a[tag=EtiTagZWS:3ZeitAnzeige,r=50] actionbar [""]
scoreboard players tag @a[tag=EtiTagZWS:3ZeitAnzeige] remove EtiTagZWS:3ZeitAnzeige
scoreboard players tag @a[r=50] add EtiTagZWS:3ZeitAnzeige {SelectedItem:{id:"minecraft:clock"} }
execute @a[tag=EtiTagZWS:3ZeitAnzeige,r=50] ~ ~ ~ /title @p actionbar ["Zeitmesser:3 ",{"text":" Sekunde: ","color":"gold"},{"score":{"name":"@p","objective":"PZTagZWS:3Sek"} },{"text":"; Minute: ","color":"gold"},{"score":{"name":"@p","objective":"PZTagZWS:3Min"} },{"text":"; Stunde: ","color":"gold"},{"score":{"name":"@p","objective":"PZTagZWS:3Stun"} },{"text":"; Tag: ","color":"gold"},{"score":{"name":"@p","objective":"PZTagZWS:3Tag"} } ]


scoreboard objectives remove PZTagZWS:3Tick
scoreboard objectives remove PZTagZWS:3Sek
scoreboard objectives remove PZTagZWS:3Min
scoreboard objectives remove PZTagZWS:3Stun
scoreboard objectives remove PZTagZWS:3Tag
clear @a[r=25] minecraft:clock -1 9999 {display:{Name:"Zeitmesser:3"} }

Variante 4[Bearbeiten | Quelltext bearbeiten]

Anlagen Tageszeitwandler und -sensor (Befehle) Bild 4.1.png Anlagen Tageszeitwandler und -sensor (Befehle) Bild 4.2.png

Mit dieser Konstruktion kann man den Tag-Nacht-Rhythmus verlangsamen. Dazu werden beim Einschalten mehrere Befehle ausgelöst, der erste erzeugt das Punktestand-ZielBefehl 4.1, mit welchem gespeichert wird, um welchen Faktor die Geschwindigkeit des Tag-Nacht-Rhythmus verlangsamt werden soll. Nun werden zwei Variablen angelegtBefehl 4.2Befehl 4.3 die für den verlangsamten Tag-Nacht-Rhythmus verwendet werden. Nachfolgend wird ein weiteres Punktestand-Ziel erzeugt, das die Anzahl der Drops, bzw. das Rauswerfen einer Uhr zähltBefehl 4.4. Dann erhalten alle Spieler in einem Radius von 25 Metern eine Uhr zum droppenBefehl 4.5. Abschließend wird der Tag-Nacht-Rhythmus gestopptBefehl 4.6, damit nur die Konstruktion selbst diesen nun beeinflusst. Nun läuft auch der Wiederhol-Befehlsblock mit einer Befehlsblockkette an. Hier wird nun geprüft ob der Spieler die Uhr gedroppt hatBefehl 4.7. Wenn er sie mit Q fallen gelassen hat, wird sein Punktestand automatisch um eins erhöht und im Befehl abgefragt, wenn das zutrifft wird der Zeitrhythmus-Zähler um eins erhöht und auch angelegt, falls er noch nicht existiert. Damit der Tag-Nacht-Rhythmus nicht beliebig lang verzögert werden kann, wird anschließend überprüft ob der Wert des Zählers schon über 20 gekommen istBefehl 4.8, wenn das der Fall ist, wird ein bedingter Befehl danach dafür sorgen, das der Zähler wieder auf eins zurückgesetzt wirdBefehl 4.9. Damit der Spieler der die Uhr gerade geworfen hat, auch weiß wie hoch der Faktor nun ist, erhält er eine tellraw-NachrichtBefehl 4.10 mit Angabe des Faktors. Damit der Spieler die Uhr immer wieder werfen kann, wird, nach dem er sie als Drop fallen gelassen hat, erstmal gelöschtBefehl 4.11 und anschließend per BefehlBefehl 4.12 wieder gegeben. Danach wird der Punktestand für das Werfen der Uhr wieder zurückgesetztBefehl 4.13, damit der Spieler nicht weiter erkannt wird. Nun folgt die eigentliche Verlangsamung. Zuerst wird von der Vergleichsvariable immer der Wert eins abgezogenBefehl 4.14 und dann getestet ob der Vergleichswert bei null oder darunter befindetBefehl 4.15. Nur wenn das der Fall ist, wird die Vergleichsvariable wieder auf den Zählerwert zurückgesetztBefehl 4.16 und im gleichen Moment wird dann auch die Zeit um einen Tick nach vorne gezähltBefehl 4.17. Das ganze funktioniert so, das der Zählerwert die Ticks vorgibt, wie lange der Zeitbefehl warten soll. bevor er die Zeit um eins erhöht. Je nach Faktor wird dann die Zeit erst dann wieder erhöht. Mit dieser Konstruktion kann man nur die Zeit verlangsamen nicht aber beschleunigen. Wird die Konstruktion ausgeschaltet, so werden beide Punktestand-Ziele gelöschtBefehl 4.18Befehl 4.19 was zur Folge hat, das auch alle Variablen automatisch gelöscht werden. Danach wird die Uhr aus dem Inventar des Spielers entferntBefehl 4.20 und als Abschluss sorgt der letzte BefehlBefehl 4.21 dafür, das der normale Tag-Nacht-Rhythmus wieder einkehrt.


Befehlsblöcke mit Befehlen:
scoreboard objectives add PZTagZWS:4Sonne dummy
scoreboard players set #VarTagZWS:4Tick PZTagZWS:4Sonne 1
scoreboard players set #VarTagZWS:4Vergl PZTagZWS:4Sonne 0
scoreboard objectives add PZTagZWS:4Drop stat.drop.minecraft.clock
give @a[r=25] minecraft:clock 1 0 {display:{Name:"Zeitmesser:4",Lore:["Droppe den Gegenstand mit Q"] } }
gamerule doDaylightCycle false


execute @a[score_PZTagZWS:4Drop_min=1] ~ ~ ~ /scoreboard players add #VarTagZWS:4Zähler PZTagZWS:4Sonne 1
scoreboard players test #VarTagZWS:4Zähler PZTagZWS:4Sonne 21
scoreboard players set #VarTagZWS:4Zähler PZTagZWS:4Sonne 1
tellraw @a[score_PZTagZWS:4Drop_min=1] ["Zeitmesser:4 ",{"text":"Der Tag-Nacht-Rhytmus dauert "},{"score":{"name":"#VarTagZWS:4Zähler","objective":"PZTagZWS:4Sonne"} },{"text":" mal so lange."} ]
execute @a[score_PZTagZWS:4Drop_min=1] ~ ~ ~ /kill @e[type=minecraft:item,c=1]
give @a[score_PZTagZWS:4Drop_min=1] minecraft:clock 1 0 {display:{Name:"Zeitmesser:4",Lore:["Droppe den Gegenstand mit Q"] } }
scoreboard players reset @a[score_PZTagZWS:4Drop_min=1] PZTagZWS:4Drop
scoreboard players operation #VarTagZWS:4Vergl PZTagZWS:4Sonne -= #VarTagZWS:4Tick PZTagZWS:4Sonne
scoreboard players test #VarTagZWS:4Vergl PZTagZWS:4Sonne * 0
scoreboard players operation #VarTagZWS:4Vergl PZTagZWS:4Sonne = #VarTagZWS:4Zähler PZTagZWS:4Sonne


scoreboard objectives remove PZTagZWS:4Sonne
scoreboard objectives remove PZTagZWS:4Drop
clear @a[r=25] minecraft:clock -1 9999 {display:{Name:"Zeitmesser:4"} }
gamerule doDaylightCycle true


Disambig color.svg