diff options
author | paramat <mat.gregory@virginmedia.com> | 2016-10-02 22:04:47 +0100 |
---|---|---|
committer | paramat <mat.gregory@virginmedia.com> | 2016-10-03 01:56:08 +0100 |
commit | 89dbc0a25d4e38d706f0fd3d604d4ac5ce57d240 (patch) | |
tree | e32d14d3bfd8e1327079f1628002547aa35af136 | |
parent | 2516c516bc018e2ff58c7d07c5f2ee8fd5f67167 (diff) | |
download | minetest-89dbc0a25d4e38d706f0fd3d604d4ac5ce57d240.tar.gz minetest-89dbc0a25d4e38d706f0fd3d604d4ac5ce57d240.tar.bz2 minetest-89dbc0a25d4e38d706f0fd3d604d4ac5ce57d240.zip |
Builtin/falling: Add fallback vector in case of nil 'wallmounted to dir'
The fallback vector is in case 'wallmounted to dir' is nil due
to voxelmanip placing a wallmounted node without resetting a
pre-existing param2 value that is out-of-range for wallmounted.
The fallback vector corresponds to param2 = 0.
-rw-r--r-- | builtin/game/falling.lua | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/builtin/game/falling.lua b/builtin/game/falling.lua index fa7ff24bc..4b16a0586 100644 --- a/builtin/game/falling.lua +++ b/builtin/game/falling.lua @@ -130,7 +130,11 @@ function check_attached_node(p, n) local def = core.registered_nodes[n.name] local d = {x = 0, y = 0, z = 0} if def.paramtype2 == "wallmounted" then - d = core.wallmounted_to_dir(n.param2) + -- The fallback vector here is in case 'wallmounted to dir' is nil due + -- to voxelmanip placing a wallmounted node without resetting a + -- pre-existing param2 value that is out-of-range for wallmounted. + -- The fallback vector corresponds to param2 = 0. + d = core.wallmounted_to_dir(n.param2) or {x = 0, y = 1, z = 0} else d.y = -1 end |