Merge pull request 'Changes in mcl_util.rotate_axis_and_place and bamboo on_place callback' (#4123) from JoseDouglas26/MineClone2:bamboo_rotation into master

Reviewed-on: MineClone2/MineClone2#4123
Reviewed-by: the-real-herowl <the-real-herowl@noreply.git.minetest.land>
This commit is contained in:
the-real-herowl 2024-01-08 07:14:12 +00:00
commit 18db66c431
2 changed files with 5 additions and 43 deletions

View File

@ -160,7 +160,7 @@ function mcl_util.rotate_axis_and_place(itemstack, placer, pointed_thing, infini
return return
end end
local undef = minetest.registered_nodes[unode.name] local undef = minetest.registered_nodes[unode.name]
if undef and undef.on_rightclick then if undef and undef.on_rightclick and not invert_wall then
undef.on_rightclick(pointed_thing.under, unode, placer, undef.on_rightclick(pointed_thing.under, unode, placer,
itemstack, pointed_thing) itemstack, pointed_thing)
return return
@ -198,26 +198,12 @@ function mcl_util.rotate_axis_and_place(itemstack, placer, pointed_thing, infini
local p2 local p2
if is_y then if is_y then
if invert_wall then p2 = 0
if fdir == 3 or fdir == 1 then
p2 = 12
else
p2 = 6
end
end
elseif is_x then elseif is_x then
if invert_wall then
p2 = 0
else
p2 = 12 p2 = 12
end
elseif is_z then elseif is_z then
if invert_wall then
p2 = 0
else
p2 = 6 p2 = 6
end end
end
minetest.set_node(pos, {name = wield_name, param2 = p2}) minetest.set_node(pos, {name = wield_name, param2 = p2})
if not infinitestacks then if not infinitestacks then

View File

@ -280,31 +280,7 @@ local bamboo_block_def = {
_mcl_blast_resistance = 3, _mcl_blast_resistance = 3,
_mcl_hardness = 2, _mcl_hardness = 2,
_mcl_stripped_variant = "mcl_bamboo:bamboo_block_stripped", -- this allows us to use the built in Axe's strip block. _mcl_stripped_variant = "mcl_bamboo:bamboo_block_stripped", -- this allows us to use the built in Axe's strip block.
on_place = function(itemstack, placer, pointed_thing) on_place = mcl_util.rotate_axis,
if not pointed_thing then
return itemstack
end
if pointed_thing.type ~= "node" then -- make sure that pointed_thing is not null and is pointing at a node.
return itemstack
end
local pos = pointed_thing.under
if mcl_bamboo.is_protected(pos, placer) then
return
end
-- Use pointed node's on_rightclick function first, if present
local node = minetest.get_node(pointed_thing.under)
if placer and not placer:get_player_control().sneak then
if minetest.registered_nodes[node.name] and minetest.registered_nodes[node.name].on_rightclick then
return minetest.registered_nodes[node.name].on_rightclick(pointed_thing.under, node, placer, itemstack) or itemstack
end
end
return minetest.item_place(itemstack, placer, pointed_thing, minetest.dir_to_facedir(vector.direction(pointed_thing.above, pointed_thing.under)))
end,
} }
minetest.register_node("mcl_bamboo:bamboo_block", bamboo_block_def) minetest.register_node("mcl_bamboo:bamboo_block", bamboo_block_def)