summaryrefslogtreecommitdiff
path: root/init.lua
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 /init.lua
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.
Diffstat (limited to 'init.lua')
-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)