diff --git a/mods/ITEMS/REDSTONE/mesecons_button/init.lua b/mods/ITEMS/REDSTONE/mesecons_button/init.lua index 2812b2758..4e6463767 100644 --- a/mods/ITEMS/REDSTONE/mesecons_button/init.lua +++ b/mods/ITEMS/REDSTONE/mesecons_button/init.lua @@ -66,9 +66,11 @@ local function on_button_place(itemstack, placer, pointed_thing) groups = def.groups end - -- Only allow placement on full-cube solid opaque nodes - if (not groups) or (not groups.solid) or (not groups.opaque) or (def.node_box and def.node_box.type ~= "regular") then - return itemstack + -- Only allow placement on full-cube solid opaque nodes, and ice! + if (not groups) or (not groups.solid) or (def.node_box and def.node_box.type ~= "regular") or (not groups.ice) then + if (not groups.opaque) then + return itemstack + end end local above = pointed_thing.above @@ -193,6 +195,10 @@ function mesecon.register_button(basename, description, texture, recipeitem, sou mesecon.receptor_off(pos, button_get_output_rules(node)) end end, + on_destruct = function(pos) -- Ensure redstone circuit turns off if button is destroyed + local node = minetest.get_node(pos) + mesecon.receptor_off(pos, button_get_output_rules(node)) + end, _mcl_blast_resistance = 0.5, _mcl_hardness = 0.5,