core: Add dir_to_yaw and yaw_to_dir helpers
These are needed to go from things like entity yaw to a vector and vice versa.master
parent
2d7a6f2cc0
commit
7fc6719968
|
@ -147,6 +147,14 @@ function core.wallmounted_to_dir(wallmounted)
|
||||||
return wallmounted_to_dir[wallmounted]
|
return wallmounted_to_dir[wallmounted]
|
||||||
end
|
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)
|
function core.get_node_drops(nodename, toolname)
|
||||||
local drop = ItemStack({name=nodename}):get_definition().drop
|
local drop = ItemStack({name=nodename}):get_definition().drop
|
||||||
if drop == nil then
|
if drop == nil then
|
||||||
|
|
|
@ -2403,6 +2403,10 @@ and `minetest.auth_reload` call the authetification handler.
|
||||||
* Convert a vector to a wallmounted value, used for `paramtype2="wallmounted"`
|
* Convert a vector to a wallmounted value, used for `paramtype2="wallmounted"`
|
||||||
* `minetest.wallmounted_to_dir(wallmounted)`
|
* `minetest.wallmounted_to_dir(wallmounted)`
|
||||||
* Convert a wallmounted value back into a vector aimed directly out the "back" of a node
|
* 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)`
|
* `minetest.get_node_drops(nodename, toolname)`
|
||||||
* Returns list of item names.
|
* Returns list of item names.
|
||||||
* **Note**: This will be removed or modified in a future version.
|
* **Note**: This will be removed or modified in a future version.
|
||||||
|
|
Loading…
Reference in New Issue