summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--builtin/game/item.lua8
-rw-r--r--doc/lua_api.txt4
2 files changed, 12 insertions, 0 deletions
diff --git a/builtin/game/item.lua b/builtin/game/item.lua
index bf456a4e0..e51da6d6b 100644
--- a/builtin/game/item.lua
+++ b/builtin/game/item.lua
@@ -147,6 +147,14 @@ function core.wallmounted_to_dir(wallmounted)
return wallmounted_to_dir[wallmounted]
end
+function core.dir_to_yaw(dir)
+ return -math.atan2(dir.x, dir.z)
+end
+
+function core.yaw_to_dir(yaw)
+ return {x = -math.sin(yaw), y = 0, z = math.cos(yaw)}
+end
+
function core.get_node_drops(nodename, toolname)
local drop = ItemStack({name=nodename}):get_definition().drop
if drop == nil then
diff --git a/doc/lua_api.txt b/doc/lua_api.txt
index 31a1daefb..62a7b81f7 100644
--- a/doc/lua_api.txt
+++ b/doc/lua_api.txt
@@ -2403,6 +2403,10 @@ and `minetest.auth_reload` call the authetification handler.
* Convert a vector to a wallmounted value, used for `paramtype2="wallmounted"`
* `minetest.wallmounted_to_dir(wallmounted)`
* Convert a wallmounted value back into a vector aimed directly out the "back" of a node
+* `minetest.dir_to_yaw(dir)`
+ * Convert a vector into a yaw (angle)
+* `minetest.yaw_to_dir(yaw)`
+ * Convert yaw (angle) to a vector
* `minetest.get_node_drops(nodename, toolname)`
* Returns list of item names.
* **Note**: This will be removed or modified in a future version.