When the <x-rot> argument in /tp [target player] <x> <y> <z> [<y-rot> <x-rot>] is relative (has a ~ ), and is over 90, you look in the wrong direction.
to recreate:
look in the direction 0.0 / 80.0
run the command /tp @p ~ ~ ~ ~ ~-100
you will be looking in the direction -180.0 / 0.0 rather than the expected 0.0 / -20.0
The same thing happens with values under -90
the formula for the actual relative x-rot is (i think) f ( x ) = | x + 90 | - | x - 90 | - x where x = the relative x-rot, and f ( x ) = the actual amount rotated and if | x | > 90, y-rot changes by 180
I think what's happening is that the game looks at the relative /tp as exact, and thus makes it so that any relative value over 90 is changed to be within -90 to 90
Linked issues
Attachments
Comments 13
But both axes change.
The command /tp @p ~ ~ ~ ~1 ~ makes you look right one degree, and changes 0.0 / 0.0 to 1.0 / 0.0
The command /tp @p ~ ~ ~ ~ ~1 makes you look down one degree, and changes 0.0 / 0.0 to 0.0 / 1.0
The command /tp @p ~ ~ ~ ~ ~-120 then should make you look up 120 degrees. and should change 140.0 / 45.0 to 140.0 / -75.0 right? but instead it changes it to -40.0 / -60.0 notice that both numbers changed (the numbers here don't match my original because when i tested it just barely these are the number i got)
Another example, if you run the command tp @p ~ ~ ~ 0 90 you will be facing straight down and exactly south. Then run the command tp @p ~ ~ ~ ~ ~-100 and you will be facing ten degrees down, and exactly north aka, you spun 180 degrees around, and looked 80 degrees up. (0.0 / 90.0 turned into -180.0 / 10.0... and yes, I got all the negatives and positives right)
Oh, and I said x-rotation because /tp returns "Usage: /tp [target player] <destination player> OR /tp [target player] <x> <y> <z> [<y-rot> <x-rot>]
Minecraft doesn't do a 180 to try to face impossible directions. to show this face 0.0 / 90.0 and /tp @p ~ ~ ~ ~ 10 (to try to look too far down), nothing changes.
if you look straight down and south (90.0 / 0.0) then run the command
/tp @p ~ ~ ~ ~ ~100 you should be looking 10 degrees up from level and still south (0.0 / -10.0) and not cross -90 but you still incorrectly face -180.0 / 10.0. It's as if the /tp command thinks you can't rotate more than 90 vertically.
Remember, the angle thing is:
(left and right) / (up and down)
or (yaw / pitch)
test it out if you don't believe me.
if we try a different scenario,
Face in the direction 0.0 / 90.0 (straight down and south) then /tp @p ~ ~ ~ ~ ~-90. you will be facing in the direction 0.0 / 0.0 (perfectly level, and still south) as expected. but face straight down and south again (0.0/90.0), and then run /tp @p ~ ~ ~ ~ -91 you should face 0.0 / -1.0 (slightly up and south) but instead you face -180.0 / 1.0 (slightly down and north), but if you run the command /tp @p ~ ~ ~ 0 1 you face in the direction 0.0 / 1.0 . showing 0.0 / 1.0 isn't out of bounds (you don't need to do a 180 to look that way) just try it and you'll see it's broken.
sorry it's long... I was trying to cover every possible doubt with evidence. once again, try it and you'll see it's broken.
if 90/-90 is max, and you go to 100/-100, you move 180 degrees on the left-right rotation, and 10/-10 because it still has to get 10 lower/higher this seems very intended to me
oh, I think I see what your saying, i'm CHANGING the x-rot, not setting it to something. changes in the x-rot value over 90 are possible as long as you were looking in a negative direction before you rotated. 80.0 -120.0 = -40.0 aka the new direction you are supposed to be looking at. But the game sees that change of -120 as out of bounds when it's not, because you can look up by 120 degrees as long as you were looking 30 degrees down before you did,
If I have 80, I have to change it by -120 to get -40. but the game doesn't allow that -120 number to exist even though as a change in an angle, it is allowed. The game sees the -120 and turns it into -30, thinking it's drawing an arc over my head, when the 120 degree arc is actually in front of me.
so in other words, it is treating my relative x-rot as a literal x-rot when it comes to allowed numbers. which is wrong because the game only allows 90.0 to -90.0 and in order to go from straight up to straight down you need to change your x-rot by 180 degrees, which the game would just say is too big and would try to fix it.
ok, so here is how to prove it. look straight down, then look straight up using /tp ~ ~ ~ ~ ~? replacing the question mark with whatever you want.
If you give me a command using relative teleportation that brings you from looking straight down to looking straight up, then I'll say Minecraft is working right.
I'm not going to, I explained it enough, I made it work with every tp, and this has been resolved since the first comment (not even mentioning the e mail spam from you editing you comments/summary)
and i'm saying you can't. ~ = a change in that number. you can CHANGE your y-rot by more than 90 but minecraft doesn't let you. i'll stop commenting as soon as you give me a relative teleport that makes you go from straight down to straight up that works (it can't be done)
p.s. i'm sorry about the spam. i didn't know it was emailing you with every change
This is MC-77224
because you teleport over y, it's tp @p ~ ~ ~ ~x ~y not tp @p ~ ~ ~ ~y ~x
you teleport that your head rotates -120 degrees in the y axes