Fix redstone ore not calling on_punchnode callbacks

cora 2022-10-22 01:05:53 +02:00
parent d4b1e30b61
commit 724105bb61
2 changed files with 16 additions and 4 deletions

@ -88,10 +88,13 @@ minetest.register_node("mcl_core:stone_with_gold", {
}) })
local redstone_timer = 68.28 local redstone_timer = 68.28
local function redstone_ore_activate(pos) local function redstone_ore_activate(pos, node, puncher, pointed_thing)
minetest.swap_node(pos, {name="mcl_core:stone_with_redstone_lit"}) minetest.swap_node(pos, {name="mcl_core:stone_with_redstone_lit"})
local t = minetest.get_node_timer(pos) local t = minetest.get_node_timer(pos)
t:start(redstone_timer) t:start(redstone_timer)
if puncher and pointed_thing then
return minetest.node_punch(pos, node, puncher, pointed_thing)
end
end end
minetest.register_node("mcl_core:stone_with_redstone", { minetest.register_node("mcl_core:stone_with_redstone", {
description = S("Redstone Ore"), description = S("Redstone Ore"),
@ -126,9 +129,12 @@ minetest.register_node("mcl_core:stone_with_redstone", {
} }
}) })
local function redstone_ore_reactivate(pos) local function redstone_ore_reactivate(pos, node, puncher, pointed_thing)
local t = minetest.get_node_timer(pos) local t = minetest.get_node_timer(pos)
t:start(redstone_timer) t:start(redstone_timer)
if puncher and pointed_thing then
return minetest.node_punch(pos, node, puncher, pointed_thing)
end
end end
-- Light the redstone ore up when it has been touched -- Light the redstone ore up when it has been touched
minetest.register_node("mcl_core:stone_with_redstone_lit", { minetest.register_node("mcl_core:stone_with_redstone_lit", {

@ -116,15 +116,21 @@ end
local redstone_timer = 68.28 local redstone_timer = 68.28
local function redstone_ore_activate(pos) local function redstone_ore_activate(pos, node, puncher, pointed_thing)
minetest.swap_node(pos, { name = "mcl_deepslate:deepslate_with_redstone_lit" }) minetest.swap_node(pos, { name = "mcl_deepslate:deepslate_with_redstone_lit" })
local t = minetest.get_node_timer(pos) local t = minetest.get_node_timer(pos)
t:start(redstone_timer) t:start(redstone_timer)
if puncher and pointed_thing then
return minetest.node_punch(pos, node, puncher, pointed_thing)
end
end end
local function redstone_ore_reactivate(pos) local function redstone_ore_reactivate(pos, node, puncher, pointed_thing)
local t = minetest.get_node_timer(pos) local t = minetest.get_node_timer(pos)
t:start(redstone_timer) t:start(redstone_timer)
if puncher and pointed_thing then
return minetest.node_punch(pos, node, puncher, pointed_thing)
end
end end
minetest.register_node("mcl_deepslate:deepslate_with_redstone", { minetest.register_node("mcl_deepslate:deepslate_with_redstone", {