• Es freut uns dass du in unser Minecraft Forum gefunden hast. Hier kannst du mit über 130.000 Minecraft Fans über Minecraft diskutieren, Fragen stellen und anderen helfen. In diesem Minecraft Forum kannst du auch nach Teammitgliedern, Administratoren, Moderatoren , Supporter oder Sponsoren suchen. Gerne kannst du im Offtopic Bereich unseres Minecraft Forums auch über nicht Minecraft spezifische Themen reden. Wir hoffen dir gefällt es in unserem Minecraft Forum!

komische yaw Werte mit PaperMc

Multiagent117

Minecrafter
Registriert
1 Mai 2012
Beiträge
3
Diamanten
0
Hallo erstmal,

kurz gesagt, ich habe ein Problem(?) beim auslesen des Yaw-Wertes einer Playerlocation:

Wenn ich mich normal mit WASD bewege, dann passt die Ausgabe zu der definition, wie sie im javadoc der getYaw Funktion angegeben ist(sprich irgendwas zwischen 0 und 360), aber wenn ich mich drehe, dann wird, unabhängig von dem eigentlichen Wert, ein Wert ausgegeben, der immer größer bzw. kleiner wird, je nachdem in welche Richtung ich mich drehe

Wenn ich mich daraufhin bewege, wird der richtige Yaw-Wert ausgegeben, aber wenn ich mich wieder drehe, dann wird dieser alternative Yaw-Wert tausgegeben.


Ist das irgendein spezielles Feature, von dem ich den Sinn nicht verstanden habe oder ist es einfach nur ein Bug?
=> Und wenn es ein Feature ist, welchen Sinn hat dann das ganze?



Mein Code sieht wie folgt aus:

Java:
 @EventHandler
    public void onMove(PlayerMoveEvent event) {
        Player player = event.getPlayer();
        Location location = event.getTo();

        System.out.println(location.getYaw());
    }

Was dabei die Console ausspuckt:

Code:
[03:48:02 INFO]: 67.89551
....
[03:48:02 INFO]: 67.89551
[03:48:02 INFO]: 2588.4827
[03:48:02 INFO]: 2588.9524
[03:48:02 INFO]: 2589.1873
[03:48:02 INFO]: 2589.3047
[03:48:02 INFO]: 2611.2798
[03:48:02 INFO]: 2628.6719
[03:48:02 INFO]: 2646.064
[03:48:03 INFO]: 2664.865
[03:48:03 INFO]: 2685.0752
[03:48:03 INFO]: 2704.816
[03:48:03 INFO]: 2720.2114
[03:48:03 INFO]: 2731.8438
[03:48:03 INFO]: 211.84375
[03:48:03 INFO]: 211.84375
....
[03:48:03 INFO]: 211.84375

Anmerkung dazu:
Ich habe es in der PaperMC Version der 1.16.1 sowie in der neusten Version probiert.
Eingebunden habe ich das ganze über Maven bzw. über die Intellij-Vorlage.
 

Chrisliebär❤️

nur echt mit ❤️
Moderator
Registriert
19 Mai 2014
Beiträge
1.675
Diamanten
830
Die Javadoc sagt dazu
Gets the yaw of this location, measured in degrees.
Da steht nirgendwo, dass der Wertebereich zwischen 0 und 360 geclampt wird. Also insofern ist das immer noch ein korrekter Winkel und du solltest damit umgehen können.

Wenn das aber nur in PaperMC passiert, dann würde ich fast vermuten, dass das mit dem gefilterten Movement Events zusammen hängt. Du könntest mal noch gucken, ob ältere Versionen auch dieses Verhalten zeigen, aber da die API Doc diesen Wert nicht einschränkt, dürfte das auch von PaperMC nicht als Bug gehandhabt werden.
 

Multiagent117

Minecrafter
Registriert
1 Mai 2012
Beiträge
3
Diamanten
0
Ich schaue mir das ganze später mal genauer an und prüfe mal verschiedene Versionen und ob das nur bei PaperMC oder auch bei Spigot auftritt.

Mir ist auch mittlerweile ein Weg eingefallen, wie ich das Problem bei mir beheben kann, aber mich hat trotzdem noch gewundert, dass dabei solche Werte rauskommen.
 

Chrisliebär❤️

nur echt mit ❤️
Moderator
Registriert
19 Mai 2014
Beiträge
1.675
Diamanten
830
Das wär auf jeden Fall hilfreich. Wenn du das Verhalten nur mit PaperMC nachstellen kannst, dann wäre es zumindest einen Bugreport bei PaperMC wert.

Ich versteh aber nicht, wieso das für dich ein Problem ist, wenn du mit Winkeln arbeitest, dann funktioniert die Mathematik eigentlich auch mit Winkeln größer als 360° und eigentlich will man eh lieber mit Vektoren arbeiten, da man hier weniger aufwändige Berechnungen mit Sinus und Cosinus braucht.
 

Multiagent117

Minecrafter
Registriert
1 Mai 2012
Beiträge
3
Diamanten
0
Also ich habe mir das ganze mal genauer angesehen und habe festgestellt, dass ein ähnliches Verhalten auch bei der 1.15 aufgetreten ist. Es hat auch keinen Unterschied gemacht, ob ich Craftbukkit, Spigot oder PaperMC benutzt habe.
Es scheint also so gewollt zu sein.

Ich hatte damit auch kein wirkliches Problem, sonders mir ist es nur zufällig aufgefallen, als eine kleine, auf die schnelle programmierte Testfunktion nicht das gemacht hat, was sie sollte.
 
Oben