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 angelegt[B1.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öht[B1.2]. Wenn sie dann den Wert von 24000 erreicht[B1.3] (Ticks eines ganzen Tagesablaufes), wird zuerst die Variable wieder auf null zurückgesetzt[B1.4] um anschließend die Variable für die Tage um eins zu erhöhen[B1.5]. Als letztes wird der Tag in Form einer Schnellzugriffsleisten-Nachricht ausgegeben[B1.6] und auch als tellraw-Nachricht[B1.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öscht[B1.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ötigt[B2.1], welches für die zwei Variablen benötigt wird[B2.2][B2.3]. Diese Variablen bekommen durch einen Rüstungsständer[B2.4], welcher durch /stats-Befehle[B2.5][B2.6] die aktuellen Werte der Tageszeit ausgibt, die Werte. Die /stats-Befehle lesen dabei den Rüstungsständer aus[B2.7][B2.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 ist[B2.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-Nachricht[B2.10] und einmal als tellraw-Nachricht[B2.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öscht[B2.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öscht[B2.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 erstellt[B3.1], welche jeden Tick sich automatisch um eins erhöht. Anschließend werden vier Punktestand-Ziele ohne Statistik erstellt[B3.2][B3.3][B3.4][B3.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 Uhr[B3.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 hat[B3.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 gesetzt[B3.8]. Nun läuft das auch über die Minuten[B3.9][B3.10], über die Stunden[B3.11][B3.12] und Tage ab[B3.13][B3.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-Befehl[B3.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 entfernt[B3.16], welches in der Vorrunde einem gegeben wurde, falls man die Uhr ausgewählt hat[B3.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 spielt[B3.18]. Falls man die Konstruktion wieder ausschaltet, wird dafür gesorgt, das alle Punktestand-Ziele entfernt werden[B3.19][B3.20][B3.21][B3.22][B3.23]. Danach wird dafür gesorgt, das auch die Uhr aus dem Inventar verschwindet[B3.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-Ziel[B4.1], mit welchem gespeichert wird, um welchen Faktor die Geschwindigkeit des Tag-Nacht-Rhythmus verlangsamt werden soll. Nun werden zwei Variablen angelegt[B4.2][B4.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ählt[B4.4]. Dann erhalten alle Spieler in einem Radius von 25 Metern eine Uhr zum droppen[B4.5]. Abschließend wird der Tag-Nacht-Rhythmus gestoppt[B4.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 hat[B4.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 ist[B4.8], wenn das der Fall ist, wird ein bedingter Befehl danach dafür sorgen, das der Zähler wieder auf eins zurückgesetzt wird[B4.9]. Damit der Spieler der die Uhr gerade geworfen hat, auch weiß wie hoch der Faktor nun ist, erhält er eine tellraw-Nachricht[B4.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öscht[B4.11] und anschließend per Befehl[B4.12] wieder gegeben. Danach wird der Punktestand für das Werfen der Uhr wieder zurückgesetzt[B4.13], damit der Spieler nicht weiter erkannt wird. Nun folgt die eigentliche Verlangsamung. Zuerst wird von der Vergleichsvariable immer der Wert eins abgezogen[B4.14] und dann getestet ob der Vergleichswert bei null oder darunter befindet[B4.15]. Nur wenn das der Fall ist, wird die Vergleichsvariable wieder auf den Zählerwert zurückgesetzt[B4.16] und im gleichen Moment wird dann auch die Zeit um einen Tick nach vorne gezählt[B4.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öscht[B4.18][B4.19] was zur Folge hat, das auch alle Variablen automatisch gelöscht werden. Danach wird die Uhr aus dem Inventar des Spielers entfernt[B4.20] und als Abschluss sorgt der letzte Befehl[B4.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
/time add 1
/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
Promotional Content