Hacker News new | ask | show | jobs
by yreg 820 days ago
> The locations of the creatures are output in (x, z, y) format (don't ask me why the Minecraft devs did this)

It's the same in Unity and three.js. Probably so the first two coordinates mark axis on the plane the player is looking at (width and height; until they move), with the third one being "depth"?

Instead of the third one being height as one might expect.

2 comments

It’s just convention which axis represents up. Typically you don’t see the axis labels rearranged like in the OP but instead coordinate systems described as y-up or z-up. Similarly left and right handed.
Well, it's about the order. In vanilla Minecraft client you see height as the second coordinate out of the three.
Right because vanilla Minecraft uses y-up, so the second value ‘y’ represents height.
The comment is somewhat misleading.

Minecraft uses (x,y,z), and uses the 'y' coordinate for height (not 'z'). This is very common for exactly the reasons you outline.

Also, flipping two coordinates changes the handedness of the system. OpenGL uses left-handed coordinates while Minecraft uses right-handed. I'm not sure this is relevant here, it should be an internal conversion.

https://minecraft.fandom.com/wiki/Coordinates