diff --git a/mods/ITEMS/mcl_portals/portal_nether.lua b/mods/ITEMS/mcl_portals/portal_nether.lua index 7e23a9f7..50258b40 100644 --- a/mods/ITEMS/mcl_portals/portal_nether.lua +++ b/mods/ITEMS/mcl_portals/portal_nether.lua @@ -76,8 +76,11 @@ local function destroy_nether_portal(pos) local check_remove = function(pos, orientation) local node = minetest.get_node(pos) if node and (node.name == "mcl_portals:portal" and (orientation == nil or (node.param2 == orientation))) then - minetest.log("action", "[mcl_portal] Destroying Nether portal at " .. minetest.pos_to_string(pos)) - return minetest.remove_node(pos) + local timer = minetest.get_node_timer(pos) + if not timer:is_started() then + minetest.log("action", "[mcl_portal] Queuing Nether portal for destruction at " .. minetest.pos_to_string(pos)) + timer:start(0.05) + end end end if obsidian then -- check each of 6 sides of it and destroy every portal: @@ -154,6 +157,10 @@ minetest.register_node("mcl_portals:portal", { }, groups = {portal=1, not_in_creative_inventory = 1}, on_destruct = destroy_nether_portal, + on_timer = function(pos, elapsed) + minetest.remove_node(pos) + return false + end, _mcl_hardness = -1, _mcl_blast_resistance = 0,