forked from VoxeLibre/VoxeLibre
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:
commit
18db66c431
|
@ -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,25 +198,11 @@ 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 = 12
|
||||||
p2 = 0
|
|
||||||
else
|
|
||||||
p2 = 12
|
|
||||||
end
|
|
||||||
elseif is_z then
|
elseif is_z then
|
||||||
if invert_wall then
|
p2 = 6
|
||||||
p2 = 0
|
|
||||||
else
|
|
||||||
p2 = 6
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
minetest.set_node(pos, {name = wield_name, param2 = p2})
|
minetest.set_node(pos, {name = wield_name, param2 = p2})
|
||||||
|
|
||||||
|
|
|
@ -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)
|
||||||
|
|
Loading…
Reference in New Issue