Minecraft Wiki
Advertisement

Der Blickwinkel ist die Richtung, in die ein Objekt schaut. Bei Kreaturen und Spielern ergibt sich dadurch, was dieses Wesen sieht, aber auch Objekte ohne Augen (z. B. Boote) haben einen Blickwinkel. Der Blickwinkel setzt sich zusammen aus Richtung und Neigung. Wesen bleiben immer senkrecht im Raum, nur ihr Kopf kann sich neigen. Objekte ohne Kopf können sich manchmal komplett im Raum neigen (Loren).

Blickwinkel

Die Blickwinkel

Objektdaten[]

Der Blickwinkel wird in den Objektdaten als Rotation mit zwei Werten gespeichert. Der erste Wert beschreibt die Rotation des Objektes im Uhrzeigersinn um seine Y-Achse (0° = Blick nach Süden). Der zweite beschreibt die Neigung gegen den Horizont (0° = Blick geradeaus).

Debug-Bildschirm[]

Blickrichtung

Blickwinkel eines Schweins

Mit F3+B sieht man den Blickwinkel aller Objekte als blauen Strahl.

Den eigenen Blickwinkel kann man im Debug-Bildschirm unter Facing ablesen. Zuerst werden Himmelsrichtung und Achse genannt, dann folgen die beiden Winkel für Richtung und Kopfneigung.

Blöcke platzieren[]

Der Blickwinkel wirkt sich bei einigen Blöcken auf die Platzierung aus: Je nachdem, wie man schaut, wird beispielsweise ein Banner oder ein Schild entsprechend rotiert platziert. Auch bei der Platzierung von Treppen spielt der Blickwinkel eine Rolle.

Zielauswahl[]

Mit Eigenschaften der Zielauswahl kann man Objekte auswählen, die einen bestimmten Blickwinkel haben:

y_rotation Blickrichtungswinkel
x_rotation Kopfneigungswinkel

Winkelbereiche werden mit zwei Punkten angegeben, z. B. 43..47.

/title @a[y_rotation=<Blickrichtungswinkel>] actionbar {"text":"Blickrichtung (Himmelsrichtung)"}
/title @a[x_rotation=<Kopfneigungswinkel>] actionbar {"text":"Kopfneigung (Hochrunter)"}

Beispiele für die Himmelsrichtungen:

/execute if entity @s[y_rotation=135.0..-135.0] run say Norden
/execute if entity @s[y_rotation=-135.0..-45.0] run say Osten
/execute if entity @s[y_rotation=-45.0..45.0] run say Süden
/execute if entity @s[y_rotation=45.0..135.0] run say Westen

Speichern[]

Man kann die Blinkwinkel auslesen und in ein Punktestand speichern: Dazu legt man für die Richtung und die Neigung jeweils ein Punktestand-Ziel an.

/scoreboard objectives add wiki.richtung dummy
/scoreboard objectives add wiki.neigung dummy

Anschließend ließt man über den Befehl /data die Richtung und Neigung aus und speichert sie in den jeweiligen Punktestand.

/execute as @a store result score @s wiki.richtung run data get entity @s Rotation[0]
/execute as @a store result score @s wiki.neigung run data get entity @s Rotation[1]

Festlegen[]

Mit dem Befehl /teleport lässt sich der Blickwinkel von Spielern und Kreaturen festlegen. Natürlich können sich die Wesen nach der Teleportation frei bewegen, starten aber mit dem festgelegten Blickwinkel.

Zusätzlich lassen sich alle Objekte außer Spieler mit dem Befehl /data über die Rotation-Eigenschaft neu ausrichten.

Ausrichten[]

Beispiel 1[]

Möchte man den Spieler, Kreaturen oder Objekte ausrichten, so kann man deren Blickwinkel (Richtung und Neigung) erfassen um den neuen Blickwinkel fest zu legen. Hierbei werden die 360° der Blickrichtung auf die vier Himmelsrichtungen ausgerichtet. Führt man diese Befehle aus so schaut das betroffene Objekt exakt in eine Himmelsrichtung.

teleport @s[y_rotation=135.0..-135.0] ~ ~ ~ 180 0
teleport @s[y_rotation=-135.0..-45.0] ~ ~ ~ -90 0
teleport @s[y_rotation=-45.0..45.0] ~ ~ ~ 0 0
teleport @s[y_rotation=45.0..135.0] ~ ~ ~ 90 0

Beispiel 2[]

Möchte man stattdessen das Ausrichten auf mehr als vier Richtungen anheben, kann man entweder so viele Befehle schreiben wie es Richtungen gibt, in die das Objekt schauen soll, oder man kann mit den Blickwinkeln rechnen, sodass n beliebig viele Richtungen möglich sind. Hierzu wurde ein Beispiel gemacht, dass dies verdeutlichen soll:

/scoreboard objectives add wiki.blickwinkel dummy
/scoreboard players set richtungen wiki.blickwinkel <Trage einen Wert>
/scoreboard players set kreis wiki.blickwinkel 3600
/scoreboard players set zahl2 wiki.blickwinkel 2

/scoreboard players operation winkel wiki.blickwinkel = kreis wiki.blickwinkel
/scoreboard players operation winkel wiki.blickwinkel /= richtungen wiki.blickwinkel

/scoreboard players operation mitte wiki.blickwinkel = winkel wiki.blickwinkel
/scoreboard players operation mitte wiki.blickwinkel /= zahl2 wiki.blickwinkel

/summon minecraft:armor_stand ~ ~ ~ {Tags:["wiki.objekt"]}
/execute as @e[type=minecraft:armor_stand,tag=wiki.objekt,limit=1] at @s rotated as @p run teleport @s ~ ~ ~ ~ ~


Es wird ein Punkte-Ziel erstellt dass die Daten in Variablen speichert. Für die Variable richtungen kann ein beliebiger Wert eingesetzt werden. Zum Beispiel der Wert 4 um die vier Himmelsrichtungen zu erhalten. Es werden die Variablen richtungen und kreis benutzt um den winkel zu berechnen, in dem sich das Objekt nachher ausrichten lassen soll. Hierbei beträgt der Wert von kreis 3600 da bei der späteren Kommazahl-Berechnung eine Nachkommastelle mit in die Ganzzahl-Berechnung einbezogen wird. Die Variable mitte wird verwendet, damit das Objekt in der Mitte vom winkel ausgerichtet ist. Beispiel: winkel hat den wert 45.0 dann ist die Mitte davon 22.5.

Anschließend wird ein Rüstungsständer erzeugt, den man nach belieben modifizieren kann. In diesem Beispiel wird seine Ausrichtung an die des Spielers angepasst.

execute store result score richtung wiki.blickwinkel run data get entity @e[type=minecraft:armor_stand,tag=wiki.objekt,limit=1] Rotation[0] 10

scoreboard players add richtung wiki.blickwinkel 1800
scoreboard players operation richtung wiki.blickwinkel += mitte wiki.blickwinkel
scoreboard players operation richtung wiki.blickwinkel %= kreis wiki.blickwinkel

scoreboard players operation richtung wiki.blickwinkel /= winkel wiki.blickwinkel
scoreboard players operation richtung wiki.blickwinkel *= winkel wiki.blickwinkel

execute store result entity @e[type=minecraft:armor_stand,tag=wiki.objekt,limit=1] Rotation[0] float 0.1 run scoreboard players remove richtung wiki.blickwinkel 1800


Zuerst wird die Richtung des Rüstungsständers ausgelesen. Weil Punktestände nur ganzzahlig sein können, wird der Wert mal 10 genommen um die eine Kommaziffer mit zu nehmen. Da der Wertebereich bei -180..180 liegt, muss die Richtung um 180° aufsummiert werden, damit man den Bereich 0..360 hat. Denn macht man das nicht, bekommt man bei den negativen Zahlen Berechnungs-Probleme. Nun addiert man die Hälfte des Winkel dazu, damit die Ausrichtung mittig ist. Weil durch diese Aufsummierung der maximale Richtungs-Wert über 360° liegen kann, muss sie mit dem Modulo-Operator (%) auf diesen Bereich gekürzt werden.

Nun folgt der eigentliche Schritt. Die richtung wird durch den winkel ganzzahlig geteilt (Ergebnis enthält keine Kommazahl) und anschließend wieder mal genommen. Das Ergebnis davon ist ein Wert der mittig liegt. Anschließend muss dieser Wert um die 180° wieder reduziert werden. Danach wird der Wert in die Daten des Rüstungsständers zurück gespeichert. Hierbei wird aber mal 0.1 (geteilt durch 10) gerechnet, da der Wert von richtung wieder eine Kommazahl werden muss.

Koordinaten[]

Zirkumflexe (^) erlauben es in Befehlen mit Positionsangaben, abhängig von der Rotation eines Objektes, die Position festzulegen.

Technik[]

Geschichte[]

Versionsgeschichte der Java Edition
Vollversion 1.8
14w03a
  • Mit dem Befehl /teleport können Rotations-Angaben getätigt werden, welche dabei absolut oder relativ sein können.
14w07a
  • Der Blickwinkel von Spielern kann über die Zielauswahl erfasst werden.
14w25a
  • Die Hitboxen von Objekten zeigen auch die Blickrichtung an.
Vollversion 1.13
17w45a
  • Die Eigenschaften der Zielauswahl für die Blickwinkel werden geändert.
17w50a
  • Koordinaten-Angaben können Kamera-bezogen sein, dabei werden die Positionen relativ zum Objekt und abhängig vom Blickwinkel berechnet.
18w01a
  • Mit dem Befehl /teleport @p facing können Objekte ihren Blickwinkel zu anderen Objekten ausrichten.
18w02a
Vollversion 1.17 (20w45a)
  • Die Richtungsdaten von Kreaturen und Objekten werden einheitlich in Bezug auf die Befehls-Argumente gespeichert: Von 0..360 zu -180..180 geändert.

Advertisement