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

Blickwinkel-Sensor (Befehle)

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

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.
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.

Der Blickwinkel-Sensor kann die Blickwinkel des Spielers sowie die von anderen Objekten erfassen. Dabei werden die Richtung (horizontal) und die Neigung (vertikal) erfasst und ausgewertet. Dies wiederum ermöglicht auch die grundsätzliche Abfrage, ob die Maus bewegt wurde und dadurch ein Ereignis ausgelöst werden soll. Zudem ist es manchmal notwendig von dem Blickwinkel aus ein Ereignis in Blickrichtung des Spielers auszulösen, dazu kann auch ein Blickwinkel-Sensor verwendet werden.

Variante 1[Bearbeiten | Quelltext bearbeiten]

Blickwinkel-Sensor (Befehle) Bild 1.1.png Blickwinkel-Sensor (Befehle) Bild 1.2.png

Der Blickwinkel-Sensor gibt die Richtung sowie die Neigung des Spielers über den /title-Befehl aus. Weil die Titel in kurzer Zeit aktiviert werden und permanent aktualisiert werden, muss zuvor die Erscheinungszeit der Titel von allen Spielern die diese Titel-Nachrichten erhalten sollen, auf null verkürzt werdenBefehl 1.1. Nun kann es mit dem eigentlichen Sensor losgehen. Zuerst wird die Himmelsrichtung abgefragt, dazu werden immer vier /title-Befehle ausgelöst, wovon immer nur einer bei einem Spieler auslösen kannBefehl 1.2Befehl 1.3Befehl 1.4Befehl 1.5. Je nach Blickrichtung wird dann ein Titel abgespielt. Damit auch gleichzeitig die Neigung abgefragt werden kann und auch dargestellt werden kann, wird diese in einem Untertitel angezeigt. Dazu werden zwei Befehle ausgelöst, die einmal die Neigung des Spielers von der Mitte nach unten und einmal nach oben testenBefehl 1.6Befehl 1.7. Dann wird der Untertitel direkt unter der Titel-Nachricht erscheinen. Wenn man den Hebel am Wiederhol-Befehlsblock umlegt, wird die Vorrichtung ausgeschaltet und die Erscheinungszeit von Titeln wieder zurückgesetztBefehl 1.8.


Befehlsblöcke mit Befehlen:
title @a[r=25] times 0 20 0


title @a[rym=-45,ry=45,r=25] title ["",{"text":"[ ","color":"gold"},{"text":"Süden","color":"red","bold":"true"},{"text":" ]","color":"gold"} ]
title @a[rym=45,ry=135,r=25] title ["",{"text":"[ ","color":"gold"},{"text":"Westen","color":"red","bold":"true"},{"text":" ]","color":"gold"} ]
title @a[rym=135,ry=-135,r=25] title ["",{"text":"[ ","color":"gold"},{"text":"Norden","color":"red","bold":"true"},{"text":" ]","color":"gold"} ]
title @a[rym=-135,ry=-45,r=25] title ["",{"text":"[ ","color":"gold"},{"text":"Osten","color":"red","bold":"true"},{"text":" ]","color":"gold"} ]
title @p[rx=0,rxm=90,r=25] subtitle ["",{"text":"[ ","color":"gold"},{"text":"Oben","color":"red","bold":"true"},{"text":" ]","color":"gold"} ]
title @p[rx=-90,rxm=0,r=25] subtitle ["",{"text":"[ ","color":"gold"},{"text":"Unten","color":"red","bold":"true"},{"text":" ]","color":"gold"} ]


title @a[r=25] reset

Variante 2[Bearbeiten | Quelltext bearbeiten]

Blickwinkel-Sensor (Befehle) Bild 2.1.png Blickwinkel-Sensor (Befehle) Bild 2.2.png

Dieser Blickwinkel-Sensor erkennt ob man die Maus in eine der vier möglichen Richtungen bewegt. Dies wird dann sofort erfasst und dann als Titel-Nachricht ausgegeben. Dazu werden drei Punktestand-Ziele benötigtBefehl 2.1Befehl 2.2Befehl 2.3, die für die Richtung, die Neigung und als Vergleichswert dienen werden. Zuerst wird der letzte Richtungswert vom Spieler auf den Vergleichswert des gleichen Spielers gespeichertBefehl 2.4, damit erst dann die neue Blickrichtung im Anschluss erkannt werden kannBefehl 2.5Befehl 2.6Befehl 2.7Befehl 2.8Befehl 2.9Befehl 2.10Befehl 2.11Befehl 2.12. Hierbei wird um dem Spieler in acht Blickbereichen geprüft wohin der Spieler gerade schaut und je nach Richtung ein bestimmter Wert gegeben. Wenn er nicht die Maus bewegt, wird das immer der gleiche Wert sein, welcher dann auch wie vorhin beschrieben als Vergleichswert ebenfalls angelegt wird. Nun wird vom Vergleichswert die aktuelle Blickrichtung abgezogenBefehl 2.13. Wenn dann null herauskommt, hat sich der Spieler nicht bewegt, sonst jedoch schon. Dann werden die Titel-Nachrichten aktiv, welche die Richtung anzeigenBefehl 2.14Befehl 2.15. Für die Neigung wird die gleiche Methode benutzt. Zuerst wird die zuletzt gespeicherte Neigung des Spielers in den Vergleichswert gespeichertBefehl 2.16 und dann wird die neue Neigung als Wert dem Spieler zugewiesenBefehl 2.17Befehl 2.18Befehl 2.19Befehl 2.20. Die Neigungsbereiche sind hier in vier Bereiche eingeteilt. Anschließend wird vom Vergleichswert der aktuelle Neigungswert abgezogenBefehl 2.21, wenn auch hier der Wert null beträgt, geschieht nichts, sonst wird die aktuelle Neigung als Untertitel angezeigtBefehl 2.22Befehl 2.23. Der Vergleichswert des Spielers wird in diesem Beispiel für die Richtung und die Neigung verwendet, das könnte auch in zwei Punktestand-Zielen eingeteilt werden, da aber nach dem Vergleichen dieser nicht weiter benötigt wird, wurde er für beide Blickwinkel benutzt. Wenn man die Vorrichtung wieder ausschaltet, so werden alle drei Punktestand-Ziele wieder gelöschtBefehl 2.24Befehl 2.25Befehl 2.26.


Befehlsblöcke mit Befehlen:
scoreboard objectives add PZBlWS:2Richt dummy
scoreboard objectives add PZBlWS:2Neig dummy
scoreboard objectives add PZBlWS:2Vergl dummy


execute @a ~ ~ ~ /scoreboard players operation @p PZBlWS:2Vergl = @p PZBlWS:2Richt
scoreboard players set @a[rym=0,ry=45] PZBlWS:2Richt 1
scoreboard players set @a[rym=45,ry=90] PZBlWS:2Richt 2
scoreboard players set @a[rym=90,ry=135] PZBlWS:2Richt 3
scoreboard players set @a[rym=135,ry=180] PZBlWS:2Richt 4
scoreboard players set @a[rym=180,ry=-135] PZBlWS:2Richt 5
scoreboard players set @a[rym=-135,ry=-90] PZBlWS:2Richt 6
scoreboard players set @a[rym=-90,ry=-45] PZBlWS:2Richt 7
scoreboard players set @a[rym=-45,ry=0] PZBlWS:2Richt 8
execute @a ~ ~ ~ /scoreboard players operation @p PZBlWS:2Vergl -= @p PZBlWS:2Richt
title @a[score_PZBlWS:2Vergl_min=1,score_PZBlWS:2Vergl=7] title ["",{"text":"[ ","color":"gold"},{"text":"←","color":"red","bold":"true"},{"text":" ]","color":"gold"} ]
title @a[score_PZBlWS:2Vergl_min=-7,score_PZBlWS:2Vergl=-1] title ["",{"text":"[ ","color":"gold"},{"text":"→","color":"green","bold":"true"},{"text":" ]","color":"gold"} ]


execute @a ~ ~ ~ /scoreboard players operation @p PZBlWS:2Vergl = @p PZBlWS:2Neig
scoreboard players set @a[rx=90,rxm=45] PZBlWS:2Neig 1
scoreboard players set @a[rx=45,rxm=0] PZBlWS:2Neig 2
scoreboard players set @a[rx=0,rxm=-45] PZBlWS:2Neig 3
scoreboard players set @a[rx=-45,rxm=-90] PZBlWS:2Neig 4
execute @a ~ ~ ~ /scoreboard players operation @p PZBlWS:2Vergl -= @p PZBlWS:2Neig
title @a[score_PZBlWS:2Vergl_min=1,score_PZBlWS:2Vergl=3] subtitle ["",{"text":"[ ","color":"gold"},{"text":"↓","color":"red","bold":"true"},{"text":" ]","color":"gold"} ]
title @a[score_PZBlWS:2Vergl_min=-3,score_PZBlWS:2Vergl=-1] subtitle ["",{"text":"[ ","color":"gold"},{"text":"↑","color":"green","bold":"true"},{"text":" ]","color":"gold"} ]


scoreboard objectives remove PZBlWS:2Richt
scoreboard objectives remove PZBlWS:2Neig
scoreboard objectives remove PZBlWS:2Vergl

Variante 3[Bearbeiten | Quelltext bearbeiten]

Blickwinkel-Sensor (Befehle) Bild 3.1.png Blickwinkel-Sensor (Befehle) Bild 3.2.png

Mit dieser Vorrichtung ist es möglich ein Objekt, hier im Beispiel ein gleitender Rüstungsständer, in die Richtung zu leiten, in die ein bestimmtes Objekt hinschaut. Prinzipiell könnte man sehr viele Befehle verwenden um jeden Blickwinkel abzudecken und dann für jeweils diese Winkel eine bestimmte Bewegungsenergie dem zu bewegenden Objekt übergeben, dies wird dann aber zu sehr viel Aufwand führen, daher bedienen wir uns hier eines Tricks. Statt für jeden Blickwinkel einen extra Befehl anzulegen, wird der zu bewegende Rüstungsständer mit einer Elytren ausgestattet und bekommt die Eigenschaft, das er damit einmal fliegen kann. Dann wird er an die Position des Objektes teleportiert das die Blickrichtung vorgibt. Dadurch übernimmt der Elytren-Rüstungsständer die Blickrichtung und fliegt dieser entlang. Dazu wird ein einfacher Rüstungsständer benötigt, der nicht der Gravitation ausgesetzt istBefehl 3.1. Anschließend wird ein Wiederhol-Befehlsblock aktiv, der nun diesen Rüstungsständer permanent etwas drehtBefehl 3.2. Nun wird der Elytren-Rüstungsständer an dessen Position erschaffen, welcher klein und ohne Hitbox ausgestattet istBefehl 3.3. Nun wird er an die Position und an den Blickwinkel angepasst, in dem er zum Rüstungsständer teleportiert wirdBefehl 3.4. Damit der Elytren-Rüstungsständer immer nur ein einziges mal zum Rüstungsständer teleportiert wird, bekommt im Anschluss nach der Teleportation ein EtikettBefehl 3.5, das weitere Teleportationen blockiert. Nun wird dieser Vorgang so lange wiederholt, solange der Wiederhol-Befehlsblock aktiv ist. Dadurch kann sich auf einer ebenen Fläche um diesen Rüstungsständer herum ein richtiger Kreis durch die Elytren-Rüstungsständer bilden. Legt man den Hebel wieder um, so werden alle Rüstungsständer gelöschtBefehl 3.6.


Befehlsblöcke mit Befehlen:
summon minecraft:armor_stand ~ ~ ~ {CustomName:"ObjBlWS:3Richtung",Tags:["ObjBlWS:3Alle"],ShowArms:true,NoGravity:true}


teleport @e[type=minecraft:armor_stand,name=ObjBlWS:3Richtung,c=1] ~ ~4 ~ ~1 ~
execute @e[type=minecraft:armor_stand,name=ObjBlWS:3Richtung,c=1] ~ ~ ~ /summon minecraft:armor_stand ~ ~2 ~ {CustomName:"ObjBlWS:3Blick",Tags:["ObjBlWS:3Alle"],FallFlying:true,Small:true,Marker:true,ArmorItems:[{},{},{id:"minecraft:elytra",Count:1b},{} ] }
execute @e[type=minecraft:armor_stand,name=ObjBlWS:3Richtung,c=1] ~ ~ ~ /teleport @e[type=minecraft:armor_stand,name=ObjBlWS:3Blick,tag=!EtiBlWS:3Richtung,c=1] ~ ~2 ~ ~ ~
scoreboard players tag @e[type=minecraft:armor_stand,name=ObjBlWS:3Blick,tag=!EtiBlWS:3Richtung] add EtiBlWS:3Richtung


kill @e[type=minecraft:armor_stand,tag=ObjBlWS:3Alle]


Disambig color.svg
Grid Grasblock.png
Auch im Minecraft Wiki wird das Thema dieser Technik behandelt:
Blickwinkel