mirror of
https://github.com/mt-mods/unifieddyes.git
synced 2024-11-29 19:03:50 +01:00
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.
This commit is contained in:
parent
aacb377f8c
commit
295cd027f2
17
init.lua
17
init.lua
@ -112,7 +112,7 @@ function unifieddyes.fix_rotation(pos, placer, itemstack, pointed_thing)
|
|||||||
end
|
end
|
||||||
|
|
||||||
-- use this when you have a "wallmounted" node that should never be oriented
|
-- 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)
|
function unifieddyes.fix_rotation_nsew(pos, placer, itemstack, pointed_thing)
|
||||||
local node = minetest.get_node(pos)
|
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 })
|
minetest.swap_node(pos, { name = node.name, param2 = fdir })
|
||||||
end
|
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)
|
function unifieddyes.select_node(pointed_thing)
|
||||||
local pos = pointed_thing.under
|
local pos = pointed_thing.under
|
||||||
local node = minetest.get_node_or_nil(pos)
|
local node = minetest.get_node_or_nil(pos)
|
||||||
|
Loading…
Reference in New Issue
Block a user