summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVanessa Ezekowitz <vanessaezekowitz@gmail.com>2017-02-18 13:00:06 -0500
committerVanessa Ezekowitz <vanessaezekowitz@gmail.com>2017-02-18 13:00:06 -0500
commit295cd027f288e48c0809a9b6d4c3626e15f1b993 (patch)
tree1faf981f70945dfe5fb68671e8a4ccbca891595a
parentaacb377f8c3549958cc5cb0133e258b8cba3916a (diff)
downloadunifieddyes-295cd027f288e48c0809a9b6d4c3626e15f1b993.tar
unifieddyes-295cd027f288e48c0809a9b6d4c3626e15f1b993.tar.gz
unifieddyes-295cd027f288e48c0809a9b6d4c3626e15f1b993.tar.bz2
unifieddyes-295cd027f288e48c0809a9b6d4c3626e15f1b993.tar.xz
unifieddyes-295cd027f288e48c0809a9b6d4c3626e15f1b993.zip
add on_rotate handler
to correct rotation for "fake wallmounted" nodes so that they always appear to be on the floor, pointing at one of the four NSEW directions.
-rw-r--r--init.lua17
1 files changed, 16 insertions, 1 deletions
diff --git a/init.lua b/init.lua
index bc8234f..6b5ed13 100644
--- a/init.lua
+++ b/init.lua
@@ -112,7 +112,7 @@ function unifieddyes.fix_rotation(pos, placer, itemstack, pointed_thing)
end
-- use this when you have a "wallmounted" node that should never be oriented
--- to floor or ceiling
+-- to floor or ceiling...
function unifieddyes.fix_rotation_nsew(pos, placer, itemstack, pointed_thing)
local node = minetest.get_node(pos)
@@ -122,6 +122,21 @@ function unifieddyes.fix_rotation_nsew(pos, placer, itemstack, pointed_thing)
minetest.swap_node(pos, { name = node.name, param2 = fdir })
end
+-- ... and use this one to force that kind of node off of floor/ceiling
+-- orientation after the screwdriver rotates it.
+
+function unifieddyes.fix_after_screwdriver_nsew(pos, node, user, mode, new_param2)
+ local new_fdir = new_param2 % 8
+ local color = new_param2 - new_fdir
+ print(new_fdir)
+
+ if new_fdir < 2 then
+ new_fdir = 2
+ minetest.swap_node(pos, { name = node.name, param2 = new_fdir + color })
+ return true
+ end
+end
+
function unifieddyes.select_node(pointed_thing)
local pos = pointed_thing.under
local node = minetest.get_node_or_nil(pos)