diff options
author | Vanessa Ezekowitz <vanessaezekowitz@gmail.com> | 2017-02-18 13:00:06 -0500 |
---|---|---|
committer | Vanessa Ezekowitz <vanessaezekowitz@gmail.com> | 2017-02-18 13:00:06 -0500 |
commit | 295cd027f288e48c0809a9b6d4c3626e15f1b993 (patch) | |
tree | 1faf981f70945dfe5fb68671e8a4ccbca891595a /init.lua | |
parent | aacb377f8c3549958cc5cb0133e258b8cba3916a (diff) | |
download | unifieddyes-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.lua | 17 |
1 files changed, 16 insertions, 1 deletions
@@ -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) |