Fix invalid rotations

This commit is contained in:
An0n3m0us 2020-02-09 22:21:49 +00:00
parent db632b67bf
commit c2520d8858

View file

@ -19,6 +19,23 @@ local function on_flood(pos, oldnode, newnode)
return false return false
end end
local function on_rotate(pos, node, user, _, new_param2)
if minetest.is_protected(pos, user:get_player_name()) then
minetest.record_protection_violation(pos, user:get_player_name())
return false
end
minetest.set_node(pos, {name = "air"})
if new_param2 == 0 then
minetest.set_node(pos, {name = "default:torch_ceiling", param2 = new_param2})
elseif new_param2 == 1 then
minetest.set_node(pos, {name = "default:torch", param2 = new_param2})
else
minetest.set_node(pos, {name = "default:torch_wall", param2 = new_param2})
end
return true
end
minetest.register_node("default:torch", { minetest.register_node("default:torch", {
description = S("Torch"), description = S("Torch"),
drawtype = "mesh", drawtype = "mesh",
@ -71,6 +88,7 @@ minetest.register_node("default:torch", {
end, end,
floodable = true, floodable = true,
on_flood = on_flood, on_flood = on_flood,
on_rotate = on_rotate
}) })
minetest.register_node("default:torch_wall", { minetest.register_node("default:torch_wall", {
@ -94,6 +112,7 @@ minetest.register_node("default:torch_wall", {
sounds = default.node_sound_wood_defaults(), sounds = default.node_sound_wood_defaults(),
floodable = true, floodable = true,
on_flood = on_flood, on_flood = on_flood,
on_rotate = on_rotate
}) })
minetest.register_node("default:torch_ceiling", { minetest.register_node("default:torch_ceiling", {
@ -117,6 +136,7 @@ minetest.register_node("default:torch_ceiling", {
sounds = default.node_sound_wood_defaults(), sounds = default.node_sound_wood_defaults(),
floodable = true, floodable = true,
on_flood = on_flood, on_flood = on_flood,
on_rotate = on_rotate
}) })
minetest.register_lbm({ minetest.register_lbm({