forked from mtcontrib/display_modpack
commit
30af909da5
@ -191,26 +191,24 @@ function display_api.on_place(itemstack, placer, pointed_thing)
|
||||
local above = pointed_thing.above
|
||||
local under = pointed_thing.under
|
||||
local dir = {x = under.x - above.x,
|
||||
y = under.y - above.y,
|
||||
y = 0,
|
||||
z = under.z - above.z}
|
||||
|
||||
if ndef then
|
||||
if ndef.paramtype2 == "wallmounted" then
|
||||
|
||||
local wdir = minetest.dir_to_wallmounted(dir)
|
||||
|
||||
if wdir == 0 or wdir == 1 then
|
||||
-- If item is not placed on a wall, use the player's view direction instead
|
||||
if dir.x == 0 and dir.z == 0 then
|
||||
dir = placer:get_look_dir()
|
||||
dir.y = 0
|
||||
wdir = minetest.dir_to_wallmounted(dir)
|
||||
end
|
||||
|
||||
return minetest.item_place(itemstack, placer, pointed_thing, wdir)
|
||||
else
|
||||
return minetest.item_place(itemstack, placer, pointed_thing, minetest.dir_to_facedir(dir))
|
||||
local param2
|
||||
if ndef then
|
||||
if ndef.paramtype2 == "wallmounted" then
|
||||
param2 = minetest.dir_to_wallmounted(dir)
|
||||
elseif ndef.paramtype2 == "facedir" then
|
||||
param2 = minetest.dir_to_facedir(dir)
|
||||
end
|
||||
end
|
||||
|
||||
return minetest.item_place(itemstack, placer, pointed_thing, param2)
|
||||
end
|
||||
|
||||
--- On_construct callback for display_api items. Creates entities and update them.
|
||||
|
Loading…
Reference in New Issue
Block a user