Fix torches breaking placeholders.

These need to be treated in the same way as other "breakable" nodes
here, so, retain meta on removal.
This commit is contained in:
Auke Kok 2019-11-08 21:17:16 -08:00
parent d9b5622049
commit 162e8d11c1
2 changed files with 4 additions and 2 deletions

View File

@ -166,7 +166,7 @@ local on_place_breakable = function(itemstack, placer, pointed_thing)
end end
end end
local function after_dig_node_breakable(pos, oldnode, oldmetadata, digger) function nodes.after_dig_node_breakable(pos, oldnode, oldmetadata, digger)
-- preserve metadata -- preserve metadata
minetest.set_node(pos, {name = "nodes:placeholder"}) minetest.set_node(pos, {name = "nodes:placeholder"})
if not oldmetadata.fields or not oldmetadata.fields.placeable then if not oldmetadata.fields or not oldmetadata.fields.placeable then
@ -1805,7 +1805,7 @@ for name, def in pairs(minetest.registered_nodes) do
description = desc .. "\n" .. toolinfo, description = desc .. "\n" .. toolinfo,
on_place = on_place_breakable, on_place = on_place_breakable,
on_destruct = on_destruct_breakable, on_destruct = on_destruct_breakable,
after_dig_node = after_dig_node_breakable, after_dig_node = nodes.after_dig_node_breakable,
node_placement_prediction = "", node_placement_prediction = "",
}) })
end end

View File

@ -59,6 +59,7 @@ minetest.register_node("torches:torch", {
sounds = sounds.wood, sounds = sounds.wood,
drop = "torches:torch", drop = "torches:torch",
on_timer = nodes.placeholder_particles, on_timer = nodes.placeholder_particles,
after_dig_node = nodes.after_dig_node_breakable,
selection_box = { selection_box = {
type = "wallmounted", type = "wallmounted",
wall_bottom = {-1/8, -1/2, -1/8, 1/8, 2/16, 1/8}, wall_bottom = {-1/8, -1/2, -1/8, 1/8, 2/16, 1/8},
@ -126,6 +127,7 @@ minetest.register_node("torches:torch_wall", {
sounds = sounds.wood, sounds = sounds.wood,
drop = "torches:torch", drop = "torches:torch",
on_timer = nodes.placeholder_particles, on_timer = nodes.placeholder_particles,
after_dig_node = nodes.after_dig_node_breakable,
selection_box = { selection_box = {
type = "wallmounted", type = "wallmounted",
wall_side = {-1/2, -1/2, -1/8, -1/8, 1/8, 1/8}, wall_side = {-1/2, -1/2, -1/8, -1/8, 1/8, 1/8},